Commande de compilation LaTeX / XeLaTeX

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Thibault
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 203
Inscription : jeudi 28 février 2008, 16:20
Localisation : Vendée

[Résolu] Commande de compilation LaTeX / XeLaTeX

Message non lu par Thibault »

Bonjour à tous,

Suite à un changement de mode de compilation, mes courbes tkz-Fct ne s'affichaient plus.
Le problème est résolu grâce à un post sur ce forum (il me manquait le -shell -escape dans ma commande de compilation).

J'avais juste une question concernant la différence entre ma commande de compilation que j'avais avant avec LaTeX :

Code : Tout sélectionner

latex -shell-escape -interaction=nonstopmode %s.tex
et la nouvelle avec XeLaTeX :

Code : Tout sélectionner

xelatex -shell-escape %s.tex
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.

Merci d'avance.

Tibo
Dernière modification par Thibault le jeudi 16 juin 2022, 08:05, modifié 1 fois.
Thibault
Prof de maths...
Utilisateur de LaTeX sous Linux (kubuntu 20.04)
Distrib TeXlive
Éditeur GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.14) + auctex + yasnippets
MB
Administrateur
Administrateur
Messages : 7977
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Commande de compilation LaTeX / XeLaTeX

Message non lu par MB »

Bonjour, l'option interaction=nonstopmode indique au compilateur qu'il soit limiter les interactions avec l'utilisateur et donc ne pas s'arrêter à chaque erreur. Cette option n'est pas forcément nécessaire.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Thibault
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 203
Inscription : jeudi 28 février 2008, 16:20
Localisation : Vendée

Re: Commande de compilation LaTeX / XeLaTeX

Message non lu par Thibault »

Merci beaucoup MB pour l'info.

Tibo
Thibault
Prof de maths...
Utilisateur de LaTeX sous Linux (kubuntu 20.04)
Distrib TeXlive
Éditeur GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.14) + auctex + yasnippets
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2787
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Commande de compilation LaTeX / XeLaTeX

Message non lu par gigiair »

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.