Quiero que auto-complete(ac) funcione cuando estoy dentro del AucTeXmodo. Recibo todos los paquetes de MELPA mediante la instalación del paquete.
Este es mi código relevante en el init.elarchivo:
(require 'package)
(package-initialize)
(require 'auto-complete-config)
(ac-config-default)
(global-auto-complete-mode t)
como puede ver, aunque estoy configurando acglobalmente, no aparece en AucTeX. Sin embargo, siguiendo las instrucciones en este emacswiki , el acmodo se mostró en la barra de estado AucTeXpero no funciona, no se completa automáticamente escribiendo caracteres.
Notas
Emacs 24.4 bajo Windows 7 de 32 bits y se actualizaron los paquetes.
latex
auctex
auto-complete-mode
doctorado
fuente
fuente

achacerlo bienauctex. Mencionéyasnippetporque también lo uso para tener algunos fragmentos definidos por el usuario en látex. Entonces, hasta que proporcione su código, no puedo decir siyasse interpondrá en el caminoac.yasnippetpara ver si el autocompletado y AUCTeX funcionan juntos como sugirió @giordano. Si es así, entonces el problema es con la inclusión deyasnippet. Si es así, probablemente sea su configuración de autocompletar.yasnippetque lo eliminé de mi init.el. El problema probablemente esté en la configuración deauctexyac.Respuestas:
Después de una larga investigación en la web y un examen cuidadoso de la
acdocumentación con muchas pruebas en mi máquina para examinar el código línea por línea, se me ocurrió esta solución que también puedeyasnippetfuncionar (optioinal) sin ningún tipo de conflicto.pon esto en tu
init.elo.emacscuidando la secuencia:Notas:
como se menciona en la documentación de
ac, la adiciónac-modesy los ganchos deben realizarse antes de cargar(ac-config-default).Algunos sugirieron poner un código para jugar con la
TABclave que no necesitaba y no recomiendo, ya que de alguna manera destruirá algo más más tarde. Sin embargo, vi a personas poner algo como esto al final justo antesglobal-auto-complete:Hasta que agregué
(ac-flyspell-workaround)la finalización automática fue demasiado lenta para pensar en usarla en Auctex ya que uso flyspell. Este error también se mencionó en la documentación. ¡Gracias!Bono ¡
Me alegra saber de la documentación, aunque no está muy claro cómo, que uno puede agregar uno o más diccionarios definidos por el usuario! Intenté esto y funcionó bien.
agregue estas dos líneas justo después de la
require-auto-completelínea de arriba:Ahora en su
.txtarchivo agregue sus candidatos favoritos para completar. Ahórrese de candidatos de menos de 4 letras, ¡no valen la pena! Simplemente ponga palabras de su gusto separadas por un salto de línea oRET.Ejemplo de los contenidos en el
.txtarchivo:¡Disfrute de la finalización automática en LaTeX / AUCTeX con Emacs!
fuente
elispfunción para tirar cualquier palabra marcada en un búfer mientras escribía en ese.txtdictioinario sobre la marcha y agregarlo sin mucho esfuerzo!Como dije en mi comentario anterior, el paquete
auto-complete-auctextambién puede resolver el problema. Probé ambos, y ambos funcionan muy bien. Sería bueno comparar la solución de @doctorate y el paquete anterior haciendo capturas de pantalla. Si escribo$\sig$, el código de doctorado da algo como estoy el del paquete
auto-complete-auctexda algo como estoAgregado: Debo mencionar que la solución de @giordano también funciona, aquí una captura de pantalla:
fuente
auto-completedebería ser el paquete principal, aunqueauto-complete-auctexpodría tener algunas características adicionales. Lo intentaré e informaré si es necesario. GraciasLa siguiente es mi
auto-completeconfiguración relacionada:Como puede ver, no hay nada especial para AUCTeX, es la configuración estándar de
auto-complete. La configuración deac-mathse describe en su sitio web. Si no lo usaac-math, la única diferencia sensata con su configuración es(add-to-list 'ac-modes 'latex-mode).fuente
package-initialize. Es posible que no le guste, pero no recomiende las malas prácticas como laload-pathgestión manual en sus respuestas.package-initializemás tarde de todos modos.