Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

AUCTeX : ajouter -shell-escape

7 réponses
Avatar
Lucas Levrel
Bonjour,

J'ai un document LaTeX que je dois compiler avec
pdflatex -shell-escape doc.tex

Par défaut, en TeX-PDF-mode, C-c C-c LaTeX exécute
pdflatex -interaction=nonstopmode "\input" doc.tex

Je ne trouve pas comment « customizer » pour ajouter -shell-escape. Dans
AUCTeX > Tex Command > Tex Command List, j'ai pour l'entrée LaTeX :
%`%l%(mode)%' %t
ce qui me laisse perplexe. J'ai essayé d'ajouter -shell-escape à la fin,
mais ça ne marche pas (le log dit que le shell-escape n'est pas activé).
Je suppose qu'il faut l'insérer avant « "\input" doc.tex » mais je ne sais
pas le faire.

Merci pour votre aide.

--
LL

7 réponses

Avatar
jj.retorre
Lucas Levrel disait le 11/27/12 que :

Bonjour,

J'ai un document LaTeX que je dois compiler avec
pdflatex -shell-escape doc.tex

Par défaut, en TeX-PDF-mode, C-c C-c LaTeX exécute
pdflatex -interaction=nonstopmode "input" doc.tex

Je ne trouve pas comment « customizer » pour ajouter
-shell-escape. Dans AUCTeX > Tex Command > Tex Command List, j'ai pour
l'entrée LaTeX :
%`%l%(mode)%' %t
ce qui me laisse perplexe. J'ai essayé d'ajouter -shell-escape à   la
fin, mais ça ne marche pas (le log dit que le shell-escape n'est pas
activé). Je suppose qu'il faut l'insérer avant « "input" doc.tex »
mais je ne sais pas le faire.

Merci pour votre aide.



Il y a des tas de solutions.
La plus simple AMHA est d'ajouter en fin de fichier

%%% Local Variables:
%%% LaTeX-command: "latex -shell-escape"
%%% End:

--
JJR.
Avatar
Lucas Levrel
Le 27 novembre 2012, JJ. Rétorré a écrit :

La plus simple AMHA est d'ajouter en fin de fichier

%%% Local Variables:
%%% LaTeX-command: "latex -shell-escape"
%%% End:



Bonne idée, mais marche pô. (J'ai des variables locales dans l'en-tête, je
l'ai mise avec :
% -*- TeX-PDF-mode: 1; LaTeX-command: "latex -shell-escape"; coding: utf-8-dos; -*-
)

Quand je charge le fichier, j'ai un avertissement que cette variable est
« risky ». J'accepte avec y. Puis C-h v LaTeX-command me dit :
LaTeX-command is a variable defined in `tex.el'.
Its value is "latex"

!?

--
LL
Avatar
jj.retorre
Lucas Levrel disait le 11/27/12 que :

Le 27 novembre 2012, JJ. Rétorré a écrit :

La plus simple AMHA est d'ajouter en fin de fichier

%%% Local Variables:
%%% LaTeX-command: "latex -shell-escape"
%%% End:



Bonne idée, mais marche pô. (J'ai des variables locales dans
l'en-tête, je l'ai mise avec :
% -*- TeX-PDF-mode: 1; LaTeX-command: "latex -shell-escape"; coding: utf- 8-dos; -*-
)

Quand je charge le fichier, j'ai un avertissement que cette variable
est « risky ». J'accepte avec y. Puis C-h v LaTeX-com mand me dit :
LaTeX-command is a variable defined in `tex.el'.
Its value is "latex"

!?



J'ai ça dans meson fichier ecm.tex

%%% -*- coding: utf-8 -*-

[SNIP code LaTeX]

%%% Local Variables:
%%% mode:latex
%%% coding: utf-8
%%% LaTeX-command: "latex -shell-escape"
%%% End:

et à la compilation
Running `LaTeX' on `ecm' with ``latex -shell-escape -interaction=nonstop mode "input" ecm.tex''
This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012)
write18 enabled.
entering extended mode
[SNIP]
Output written on ecm.dvi (1 page, 300 bytes).
Transcript written on ecm.log.

LaTeX finished at Tue Nov 27 14:24:08

Je ne vois pas pourquoi ça n'irait pas chez toi.
C'est bien normal qu'au chargement on soit averti que la compilation se
fait avec -shell-escape, l'option est réputée dangereuse.

--
JJR.
Avatar
jj.retorre
Lucas Levrel disait le 11/27/12 que :

Le 27 novembre 2012, JJ. Rétorré a écrit :

La plus simple AMHA est d'ajouter en fin de fichier

%%% Local Variables:
%%% LaTeX-command: "latex -shell-escape"
%%% End:






Autrement, voici deux autres solutions qui reposent sur

M-x customize-variable TeX-command-list

1- La première, bébète, mais ça marche bien :
Dans l'entrée LaTeX, basculer

Prompt on

De cette façon, la commande de compilation s'affiche dans le minibuffe r,
et on peut la modifier «à la main».
pour les compilations suivantes, il suffit de la rappeler.
Ce n'est pas glorieux...

2- dans cette même liste, créer une entrée
LaTeX-shell-escape

INS DEL Name: LaTeX-shell-esc
Command: %`%l%(mode)%' %t -shell-excape
How: Value Menu TeX-run-command
Create a process for NAME using COMMAND to process FILE. More
Prompt: Toggle on (non-nil)
Modes: Value Menu Set:
[ ] Plain TeX
[X] LaTeX
[X] DocTeX
[ ] ConTeXt
[ ] Texinfo
[ ] AmSTeX
Menu elements:
INS

Au moment de la compilation, faire défiler les commandes pour changer
LaTeX en LaTeX-shell-escape.

AMHA, il vaut mieux éviter de changer la commande LaTeX installée.
La meilleure solution me paraît être de loin de créer les va riables de
fichier qui vont bien. En plus, c'est portable et si l'on change de
machine, ça marche encore.


--
JJR.
Avatar
Lucas Levrel
Le 27 novembre 2012, JJ. Rétorré a écrit :

J'ai ça dans meson fichier ecm.tex

%%% -*- coding: utf-8 -*-

[SNIP code LaTeX]

%%% Local Variables:
%%% mode:latex
%%% coding: utf-8
%%% LaTeX-command: "latex -shell-escape"
%%% End:

Je ne vois pas pourquoi ça n'irait pas chez toi.



Ça y est, j'ai trouvé ! Le problème vient de l'autre variable,
TeX-PDF-mode, à qui il faut donner la valeur t et non 1 ! Non mais
franchement... Le pire c'est que la compilation se faisait bien avec
pdflatex.

C'est bien normal qu'au chargement on soit averti que la compilation se
fait avec -shell-escape, l'option est réputée dangereuse.



Oui. Ce qui est dingue c'est qu'il posait la question mais ignorait la
réponse !

--
LL
Avatar
Lucas Levrel
Le 27 novembre 2012, JJ. Rétorré a écrit :

2- dans cette même liste, créer une entrée
LaTeX-shell-escape

INS DEL Name: LaTeX-shell-esc
Command: %`%l%(mode)%' %t -shell-excape



Ça, ça ne marche pas (cf mon premier message). Apparemment il faut que
l'option soit avant le nom des fichiers, et comme
%`%l%(mode)%'
donne
pdflatex -interaction=nonstopmode "input"
je ne vois pas où/si on peut insérer -shell-escape dedans (doit figurer
avant "input").

AMHA, il vaut mieux éviter de changer la commande LaTeX installée.
La meilleure solution me paraît être de loin de créer les variables de
fichier qui vont bien. En plus, c'est portable et si l'on change de
machine, ça marche encore.



Parfaitement d'accord. Merci encore pour cette solution optimale.

--
LL
Avatar
jj.retorre
Lucas Levrel disait le 11/27/12 que :

Le 27 novembre 2012, JJ. Rétorré a écrit :

2- dans cette même liste, créer une entrée
LaTeX-shell-escape

INS DEL Name: LaTeX-shell-esc
Command: %`%l%(mode)%' %t -shell-excape



Ça, ça ne marche pas (cf mon premier message). Apparemment il f aut que
l'option soit avant le nom des fichiers, et comme
%`%l%(mode)%'
donne
pdflatex -interaction=nonstopmode "input"
je ne vois pas où/si on peut insérer -shell-escape dedans (doit
figurer avant "input").




Chez moi, ça marche. Le mécanisme des commandes est particulià ¨rement
complexe. Il faut lire la doc soigneusement, et développer la variable
TeX-expand-list.
Avec un peu de chance et d'obstination, on finit par comprendre, mais
c'est pas gagné. Le mécanisme des variables de fichier est autrem ent
plus simple.

--
JJR.