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

[AucTeX] pdflatex ou latex

5 réponses
Avatar
Thel74
Bonsoir,

Encore une petite question concernant les compilations avec latex ou
pdflatex.

Dans le fichier source "toto.tex", peut-on inclure une commande qui
indique à Emacs que la compilation se fera avec "pdflatex" ou avec
"latex" ?

Merci pour vos réponses,

T.

5 réponses

Avatar
Paul Gaborit
À (at) Mon, 27 Jun 2011 23:28:34 +0200,
Thel74 écrivait (wrote):

Dans le fichier source "toto.tex", peut-on inclure une commande qui
indique à Emacs que la compilation se fera avec "pdflatex" ou avec
"latex" ?



Pour utiliser une compilation via pdflatex, on peut rajouter les lignes
suivantes à la fin du fichier :

%%% Local Variables:
%%% TeX-PDF-mode: t
%%% End:

Pour ne pas utiliser pdflatex, il suffit de remplacer 't' par 'nil'.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Thel74
Le 27/06/2011 23:42, Paul Gaborit a écrit :

Pour utiliser une compilation via pdflatex, on peut rajouter les lignes
suivantes à la fin du fichier :

%%% Local Variables:
%%% TeX-PDF-mode: t
%%% End:

Pour ne pas utiliser pdflatex, il suffit de remplacer 't' par 'nil'.



OK, merci.

T.
Avatar
Christophe Jorssen
On Mon, 27 Jun 2011 23:42:30 +0200, Paul Gaborit wrote:


Pour utiliser une compilation via pdflatex, on peut rajouter les lignes
suivantes à la fin du fichier :

%%% Local Variables:
%%% TeX-PDF-mode: t
%%% End:

Pour ne pas utiliser pdflatex, il suffit de remplacer 't' par 'nil'.



Est-ce qu'il y aurait un moyen pour qu'emacs écrivent ces lignes tout
seul et qu'il change la valeur de la variable quand on change le mode à
partir du menu et/ou du raccourci clavier ?

Merci d'avance

--
Christophe
Avatar
Paul Gaborit
À (at) 30 Jun 2011 21:13:15 GMT,
Christophe Jorssen écrivait (wrote):

On Mon, 27 Jun 2011 23:42:30 +0200, Paul Gaborit wrote:


Pour utiliser une compilation via pdflatex, on peut rajouter les lignes
suivantes à la fin du fichier :

%%% Local Variables:
%%% TeX-PDF-mode: t
%%% End:

Pour ne pas utiliser pdflatex, il suffit de remplacer 't' par 'nil'.



Est-ce qu'il y aurait un moyen pour qu'emacs écrivent ces lignes tout
seul



À la création du document, il suffit d'utiliser l'un des nombreux
packages permettant de faire des modèles (ou templates) de documents.
De manière générale, par contre, c'est moins évident car on peut mettre
beaucoup de choses dans les variables locales et elles n'ont parfois
rien à voir avec AucTeX. Il existe peut-être un package pour éditer ces
variables mais le plus simple reste quand même de le faire à la main
(juste avec les fonctions d'édition d'emacs).

et qu'il change la valeur de la variable quand on change le mode à
partir du menu et/ou du raccourci clavier ?



Là, c'est moins direct : il faudrait détourner la fonction TeX-PDF-mode
pour qu'elle le fasse au passage.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
vincent.belaiche
Paul Gaborit writes:

[...]


Est-ce qu'il y aurait un moyen pour qu'emacs écrivent ces lignes tout
seul



À la création du document, il suffit d'utiliser l'un des nombreux
packages permettant de faire des modèles (ou templates) de documents.



Par exemple emacs-template

De manière générale, par contre, c'est moins évident car on peut mettre
beaucoup de choses dans les variables locales et elles n'ont parfois
rien à voir avec AucTeX. Il existe peut-être un package pour éditer ces
variables mais le plus simple reste quand même de le faire à la main
(juste avec les fonctions d'édition d'emacs).

et qu'il change la valeur de la variable quand on change le mode à
partir du menu et/ou du raccourci clavier ?



Là, c'est moins direct : il faudrait détourner la fonction TeX-PDF-mode
pour qu'elle le fasse au passage.



Une solution qui permettrait de ne pas modifier la fonction TeX-PDF-mode
serait de faire le traitement dans une fonction crochet appelée à la
sauvegarde du tampon. Toutefois ça ne marcherait que si le tampon a été
modifié depuis le basculement de mode. Voici un exemple de code:

(defun mon-petit-crochet-TeX-PDF-mode ()
(cond
((derived-mode-p 'latex-mode)
(let (beg end cstart cend)
(save-excursion
(save-restriction
(widen)
(goto-char (point-max))
(when (and (setq beg (re-search-backward
(concat "^([^ tn]*)"(regexp-quote comment-start)
"s-*Locals-+Variables:s-*("
(regexp-quote comment-end)
"[^ t]*)s-*$"
)
nil t))
(setq
cstart (concat (match-string-no-properties 1) comment-start)
cend (concat comment-end (match-string-no-properties 2))
beg (progn (beginning-of-line 2) (point))
end (and (re-search-forward
(concat (regexp-quote cstart)
"s-*End:s-*"
(regexp-quote cend))
nil t)
(progn (beginning-of-line) (point)))))
(goto-char beg)
(if
(re-search-forward
(concat "^" (regexp-quote cstart)
"s-*TeX-PDF-modes-*:(.*)$") end t)
(replace-match (concat (prin1-to-string TeX-PDF-mode)
cend)
t t nil 1)
(goto-char end)
(insert cstart "TeX-PDF-mode:" (prin1-to-string TeX-PDF-mode) cend ?n)))))))))

(add-hook 'before-save-hook 'mon-petit-crochet-TeX-PDF-mode )