AucTeX

De ArchwikiFR


Installation

Emacs

AucTeX est un plug-in GNU conçu pour Emacs et écrit en elisp. Il intégré par défaut dans xemacs. Si vous utilisez GNU Emacs il faudra l’installer:

pacman -S auctex

puis ajouter dans votre .emacs:

(load "auctex.el" nil t t)

Si vous souhaitez en plus utiliser le mode de prévisualisation, ajoutez:

(load "preview-latex.el" nil t t)

Vim

Les utilisateurs de vim peuvent trouver une adaptation de ce plugin sur AUR: vim-auctex.

Pour la suite de l’article, nous utiliserons les raccourcis-claviers emacs.

Fonctionnalités

En plus des fonctions standards (coloration syntaxique, indentation, etc.) AucTeX offre de multiples fonctionnalités. Celles-ci sont bien documentées:

info auctex

Je résume les principales.

Insertion de macros

AucTeX dispose d’une large gamme d’insertion de fonction. Les raccourcis claviers spécifiés ci-dessous lancent des fonctions interactives: l’utilisateur remplit dans le minibuffer le nom de la macro souhaitée. Nous adoptons la notation standard pour emacs: C-c signifie Contrôle+C, M-x Meta+X (i.e. Alt-x ou Esc+x).

Astuce : Le mini-buffer d’AucTeX accepte l’autocomplétion avec TAB et garde en mémoire les entrées précédentes (utiliser les flèches). Taper directement ENTRÉE permet d’insérer l’environnement par défaut.
  • C-c C-s insère \section{}, \subsection{}…
  • C-c C-e insère un environnement
  • C-c C-c C-e change l’environnement courant
  • M-<entrée> insère un \item
  • C-c ~ bascule en mode mathématique
  • C-c ] ferme l’environnement courant. Très pratique pour le débogage.

Ces fonctions d’insertion sont aussi accessibles depuis la barre de menu.

Compilation

La fonction TeX-command s’adapte à l’édition du fichier. Si celui-ci a été modifié, la compilation est proposée par défaut (LaTeX). Sinon, AucTeX ouvre le lecteur pdf ou dvi (View) prédéfini

  • C-c C-c compile tout le document
  • C-c C-b compile le tampon avec le préambule du document-maître
  • C-c C-r compile la région active avec le préambule du document-maître
  • C-c ` va à l’erreur suivante
  • C-c C-t C-p bascule en mode dvi/pdf

Configuration

Options utiles

Comme tous les programmes en elisp, AucTeX est hautement configurable. Voici quelques options standard à ajouter dans votre .emacs Pour activer les fonctions d’actualisation en direct d’AucTeX:

(setq TeX-auto-save t
     TeX-parse-self t)

Pour qu’AucTeX demande à chaque ouverture de fichier le nom du fichier maître:

(setq-default TeX-master nil)

Pour bénéficier de la gestion automatisée des références:

(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(setq reftex-plug-into-AUCTeX t)
(setq reftex-enable-partial-scans t)

Pour une gestion dynamique des pdf au moyen de synctex:

(add-hook 'LaTeX-mode-hook' 'TeX-source-correlate-mode)
(setq TeX-source-correlate-method 'synctex)
     TeX-source-correlate-mode t)

Pour définir les viewers utilisés par TeXview (C-c C-c):

(setq TeX-view-program-selection  '(
       ((output-dvi style-pstricks) "dvips and gv")
       (output-dvi "xdvi")
       (output-pdf "xdg-open")
       (output-html "xdg-open")
       ))

Abbréviations

Par défaut, AucTeX utilise les abbréviations du mode texte. Cela a un inconvénient, car si l’on introduit des abbréviations calibrées pour LaTeX, celles-ci vont interférer avec celles du mode texte. Une solution est de créer une table d’abbrévation dédiée à LaTeX et de l’associer au mode majeur auctex.

(add-hook 'LaTeX-mode-hook (lambda ()
   (define-abbrev-table 'LaTeX-mode-abbrev-table ())
   (setq local-abbrev-table LaTeX-mode-abbrev-table)
))


Options de compilation

Pour produire un pdf par défaut:

(setq TeX-PDF-mode t)

Pour utiliser un autre moteur de compilation, il faut utiliser les configurations en fin de fichier. Dans ce cas d’un fichier s’achevant avec les lignes:

\end{document}
%%% Local Variables: 
%%% coding: utf-8
%%% mode: latex
%%% TeX-engine: xetex
%%% TeX-master: t
%%% End: 

la compilation se fera au moyen du moteur xelatex.

Pour gagner du temps

Si vous vous lassez des C-c C-c C-e, vous pouvez télécharger le paquet emacs-cdlatex-mode (AUR) qui utilise intensivement TAB et les abbréviations. Par exemple, il suffit de taper

equ<TAB>

pour obtenir

\begin{equation}
\label{eq:1}
_
\end{equation}

Une autre solution est de configurer ses propres abbréviations, en utilisant le skeleton-mode ou un équivalent. Ainsi, en mettant

(add-hook 'LaTeX-mode-hook (lambda ()
  (define-skeleton latex-skeleton-block
   "Inserts a LaTeX block environment"
   "titre du block: "
   "\n \\begin{block}{"str"} \n "_" \n \\end{block} \n")
  (define-abbrev LaTeX-mode-abbrev-table "bl" ""
   'latex-skeleton-block)
))

dans votre .emacs, si vous tapez "bl" puis un espace ou un élément de ponctuation, un environnement block sera automatiquement inséré, avec un titre et le curseur dans l’environnement.

Pour en savoir plus sur l’utilisation des abbréviations sur emacs:

info autotype

Grâce à la macro electric-escape, il suffit de taper \ pour se voir proposer une insertion d’environnement. Pour l’activer:

(setq TeX-electric-escape t)