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 : 214
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 23.10)
Distrib TeXlive
Éditeur GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) + auctex + yasnippets
MB
Administrateur
Administrateur
Messages : 8115
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 notre partenaire pCloud et bénéficiez de 10Go de stockage gratuits ou d'une offre premium !
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Thibault
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 214
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 23.10)
Distrib TeXlive
Éditeur GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) + auctex + yasnippets
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2834
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.