Thibault a écrit : ↑mercredi 15 juin 2022, 09:58
Vous devinerez ma question... À quoi sert ce -interaction=nonstopmode et dois-je le mettre aussi dans ma commande xelatex ?
P.S. j'utilise emacs comme éditeur.
Si tu utilise AUCTeX/Emacs, je ne trouve pas très judicieux de modifier les commandes de compilation <en dur>. Il est plus pratique de les modifier « à la volée » suivant les besoins du document en cours d'édition.
Pour opter entre les différents moteurs de compilation, j'ai composé trois petites commandes qui font le travail puis je les affectes à des combinaisons de touches : C-c C-t d pour le moteur de compilation par défaut, C-c C-t l pour LuaTeX et C-c C-t x pour XeTeX . (On peut bien sûr les activer par M-x comme toutes les commandes)
à placer dans son fichier de configuration :
Code : Tout sélectionner
(defun TeX-engine-default ()
"Active la compilation par défaut"
(interactive)
(TeX-engine-set 'default)
(message "TeX engine : %s" 'default))
(defun TeX-engine-xetex ()
"Active la compilation XeTeX"
(interactive)
(TeX-engine-set 'xetex)
(message "TeX engine : %s" 'xetex))
(defun TeX-engine-luatex ()
"Active la compilation LuaTeX"
(interactive)
(TeX-engine-set 'luatex)
(message "TeX engine : %s" 'luatex))
(bind-key "C-c C-t d" #'TeX-engine-default LaTeX-mode-map)
(bind-key "C-c C-t x" #'TeX-engine-xetext LaTeX-mode-map)
(bind-key "C-c C-t l" #'TeX-engine-luatex LaTeX-mode-map)
J'ai choisi des compilations de touches commençant par "C-c C-t" pour rassembler ces commandes avec les autres commandes pouvant modifier la compilation. Voir C-c C-t ? pour en avoir la liste.
On peut aussi beaucoup plus simplement activer la commande M-x TeX-engine-set et choisir le moteur de son choix.
Pour gérer l'option shell-escape, j'ai créé un mode secondaire tex-command-shell-escape-mode que l'on peut activer par M-x comme toutes les commandes ou par une combinaison de touches de son choix, j'ai choisi C-c C-t e. Le mode agit comme une bascule, c'est à dire que le premier appel active -shell-escape dans la commande de compilation et le second le désactive.
Code : Tout sélectionner
(define-minor-mode tex-command-shell-escape-mode
"Active la compilation avec -shell-escape"
:init-value -1
:lighter " X"
(setq TeX-command-extra-options
(if (string-empty-p TeX-command-extra-options)
"-shell-escape"
"")))
(bind-key "C-c C-t e" #'tex-command-shell-escape-mode LaTeX-mode-map)
On peut aussi modifier « à la main » la valeur de la variable TeX-command-extra-option, c'est plus long, c'est tout.
JJR.
LaTeXien migrateur.