Je veux que auto-complete
(ac) fonctionne lorsque je suis en AucTeX
mode intérieur . J'obtiens tous les packages de MELPA par installation de packages.
Voici mon code pertinent dans le init.el
fichier:
(require 'package)
(package-initialize)
(require 'auto-complete-config)
(ac-config-default)
(global-auto-complete-mode t)
comme vous pouvez le voir, bien que je définisse ac
globalement, il n'apparaît pas dans AucTeX
. Cependant, en suivant les instructions de cet emacswiki , le ac
mode était affiché dans la barre d'état dans AucTeX
mais ne fonctionnait pas, pas de saisie automatique en tapant des caractères.
Notes
Emacs 24.4 sous Windows 7 32 bits et les packages ont été mis à jour.
latex
auctex
auto-complete-mode
doctorat
la source
la source
ac
bien faire avecauctex
. Je l'ai mentionnéyasnippet
parce que je l'utilise également pour avoir des extraits définis par l'utilisateur en latex. Donc, jusqu'à ce que vous fournissiez votre code, je ne peux pas dire siyas
cela entraveraac
.yasnippet
pour voir si la saisie semi-automatique et AUCTeX fonctionnent ensemble comme l'a suggéré @giordano. Si oui, le problème est lié à l'inclusion deyasnippet
. Si c'est le cas, c'est probablement votre configuration de saisie semi-automatique.yasnippet
je l'ai supprimé de mon init.el. Le problème se situe très probablement dans la configuration deauctex
etac
.Réponses:
Après avoir fait une longue recherche sur le web et un examen minutieux de la
ac
documentation avec beaucoup d'essais sur ma machine pour examiner le code ligne par ligne, j'ai trouvé cette solution qui peut aussiyasnippet
fonctionner (optioinal) sans aucun conflit.mettez cela dans votre séquence
init.el
ou en.emacs
prenant soin de:Remarques:
comme mentionné dans la documentation de
ac
, l'ajout àac-modes
et les crochets doivent être effectués avant le chargement(ac-config-default)
.Certains ont suggéré de mettre du code à jouer avec une
TAB
clé dont je n'avais pas besoin et que je ne recommande pas car cela détruirait quelque chose d'autre plus tard. Cependant, j'ai vu des gens mettre quelque chose comme ça à la fin juste avantglobal-auto-complete
:Jusqu'à ce que j'ajoute l'
(ac-flyspell-workaround)
auto-complétion était trop lent pour penser à l'utiliser dans Auctex depuis que j'utilise flyspell. Ce bug a également été mentionné dans la documentation. Merci!Bonus
J'ai été heureux de savoir à partir de la documentation, mais pas très clairement comment, que l'on peut ajouter un ou des dictionnaires définis par l'utilisateur! J'ai essayé cela et j'ai bien fonctionné.
ajoutez ces deux lignes juste après la
require-auto-complete
ligne ci-dessus:Maintenant, dans votre
.txt
dossier, ajoutez vos candidats préférés pour l'achèvement. Sauvez-vous des candidats de moins de 4 lettres, ils n'en valent pas la peine! Mettez simplement vos mots séparés par un saut de ligne ouRET
.Exemple du contenu du
.txt
fichier:Profitez de l'auto-complétion dans LaTeX / AUCTeX avec Emacs!
la source
elisp
fonction pour jeter n'importe quel mot marqué dans un tampon tout en écrivant dans ce.txt
dictioinary à la volée et l'ajouter sans trop d'effort!Comme je l'ai dit dans mon commentaire ci-dessus, le package
auto-complete-auctex
peut également résoudre le problème. J'ai testé les deux, et ils fonctionnent tous les deux très bien. Il serait intéressant de comparer la solution de @doctorate et le package ci-dessus en donnant des captures d'écran. Si j'écris$\sig$
, le code du doctorat donne quelque chose comme çaet celui du paquet
auto-complete-auctex
donne quelque chose comme çaAjouté: Je dois mentionner que la solution de @giordano fonctionne aussi bien, voici une capture d'écran:
la source
auto-complete
devrait être le package principal tout enauto-complete-auctex
ayant des fonctionnalités supplémentaires. Je vais l'essayer et faire un rapport si nécessaire. MerciVoici ma
auto-complete
configuration associée:Comme vous pouvez le voir, il n'y a rien de spécial pour AUCTeX, c'est la configuration standard de
auto-complete
. La configuration deac-math
est décrite sur son site Web. Si vous n'utilisez pasac-math
, la seule différence sensible avec votre configuration est(add-to-list 'ac-modes 'latex-mode)
.la source
package-initialize
. Cela peut ne pas vous plaire, mais veuillez ne pas recommander de mauvaises pratiques telles que laload-path
gestion manuelle dans vos réponses.package-initialize
toute façon plus tard.