Configurer emacs, AUCtex et TexLive 2012

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

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.
Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

Bonsoir,
Utilisateur d'Emacs (mais je suis très loin de dompter la bête !), je parcours ce fil, et j'ai une question :
quel est l'intérêt de mettre en fin de fichier

Code : Tout sélectionner

%%% eval: (TeX-PDF-mode 1)
si on compile un fichier avec pdflatex ?
Merci.

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

Fabrice Couvreur a écrit :Bonsoir,
Utilisateur d'Emacs (mais je suis très loin de dompter la bête !),
moi non plus...
Fabrice Couvreur a écrit : quel est l'intérêt de mettre en fin de fichier

Code : Tout sélectionner

%%% eval: (TeX-PDF-mode 1)
si on compile un fichier avec pdflatex ?
Merci.
Aucun, mais si tu as des fichiers avecdu code pstricks, tu peux mettre

Code : Tout sélectionner

%%% eval: (TeX-PDF-mode 0)
Comme ça quand tu compiles, tu n'as pas à te préoccuper du mode de compilation, il n'y aura jamais rien à régler ce sera toujours le mode latex.
JJR.
LaTeXien migrateur.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

Bonjour,
Je suis désolé, mais je reste perplexe...
Le plus simple est peut-être de partir d'un fichier embarquant du code pstricks :

Code : Tout sélectionner

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[upright]{kpfonts}
\usepackage[frenchb]{babel}
\usepackage{pstricks-add}
\begin{document}
\begin{pspicture}(-4,-4)(4,4)
\pspolygon[fillstyle=solid,fillcolor=gray](0,0)(-2,-2.5)(2,-2.5)
\pscircle[fillstyle=solid,fillcolor=yellow](0,0){2}
\multido{\n=0+45}{7}{\rput{\n}{\pswedge(0,0){2}{0}{45}}}
\pswedge[fillstyle=solid,fillcolor=orange](0,0){2}{45}{90}
\pswedge[fillstyle=solid,fillcolor=orange](0,0){2}{180}{225}
\end{pspicture}
\end{document}
Je fais ensuite C-c C-c TAB latex C-c C-c TAB dvips C-c C-c TAB ps2pdf C-c C-c TAB xpdf. Bien sûr, j'ai aussi un script bash qui automatise le tout, mais l'idée est de partir à la base.
Donc : qu'est ce qui changerait à ajouter %%% eval: (TeX-PDF-mode 0)(ou autre chose) en fin de fichier ?
Merci.

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

Ta configuration doit être bien particulière. Chez moi, la compilation en mode pdf déclenche une erreur. Je suis persuadé qu'il en ira de même dans la plupart des installations. AMHA si tu est vraiment en mode pdf (TEX-PDF-mode vaut t), ça doit aussi en déclencher une chez toi.

Il y a un petit défaut dans AUCTeX concernant le scan : les packages pstricks ou pst-* sont reconnus, mais pas pstricks-add (bien que pstricks-add appelle pstricks, mais AUCTeX n'en est pas informé). Ce qui fait qu'il faut quand même ajouter \usepackage{pstricks} dans le préambule pour que la mécanique fonctionne.
La commande View appelle dvips suivie de gv, et la commande Print (suivie de <tab> Pdf) appelle ps2pdf.
Ça peut se corriger sans doute, mais je n'y suis pas parvenu. J'ai essayé de modifier TeX-output-view-style sans succès.
JJR.
LaTeXien migrateur.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

Bonjour,
gigiair a écrit :Ta configuration doit être bien particulière
Je ne crois pas. Seulement, je pense avoir compris que ton fichier .emacs est minimal par rapport au mien. Je m'explique, j'ai par exemple ajouté de nouvelles commandes à TeX-command-list, et je choisis avec C-c C-c puis TAB le mode de compilation qui convient en fonction du contenu du fichier.
J'ai du travail, mais je vais tester un peu plus tard le comportement en neutralisant mon fichier .emacs.
Merci.

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

Quel que soit ton .emacs pstricks exige une compilation en mode dvi. Pour la raison que le code pstricks n'est pas traité par le moteur latex (qui peut être pdftex avec format=latex) mais par dvips.
Depuis quelque temps déjà, le moteur LaTeX est pdftex qui peut produire une sortie en mode dvi ou en mode pdf.
JJR.
LaTeXien migrateur.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

Bonjour,
Je me rends compte que je suis très loin d'exploiter le potentiel de AUCTeX (je n'avais jamais lu la documentation et , par exemple, je ne savais qu'il y avait un mode mathématiques !).
J'ai donc commencé à la lire, mais à petites doses !
Comme je veux une sortie en mode PDF à chaque fois, j'ai indiqué ceci dans mon .emacs (je connais un peu le Lisp) :

Code : Tout sélectionner

(custom-set-variables
 '(TeX-PDF-mode t))
Si je compile un fichier test.tex qui n'embarque pas du code PSTricks :

Code : Tout sélectionner

C-c C-c
Command: (default LaTeX)
RET
LaTeX: successfully formatted {1} page
C-c C-c
Command: (default View)
RET
View command: evince test.pdf
RET
 
Dans ce cas, je pense qu'il n'y a aucune raison d'ajouter des lignes en fin de fichier.
Si je compile maintenant un fichier embarquant du code PSTricks, je rajoute ceci en fin de fichier :

Code : Tout sélectionner

%%%  Local Variables:
%%%  mode:latex
%%%  LaTeX-command: "latex -shell-escape"
%%%  eval: (TeX-PDF-mode 0)
%%%  End:

Code : Tout sélectionner

C-x-f
Find file: ~/test.tex
Un message apparaît dans le buffer me demandant si je veux appliquer les variables locales, ce à quoi je réponds oui :

Code : Tout sélectionner

C-c C-c
Command: (default LaTeX)
RET
LaTeX: successfully formatted {1} page
C-c C-c
Command: (default View)
RET
 View command: xdvi test.dvi
RET
Le fichier test.dvi est une page blanche !
Un appel récurrent de la commande C-c C-c me renvoie toujours à :

Code : Tout sélectionner

View command: xdvi test.dvi
Quelles sont donc les étapes suivantes pour avoir le fichier test.pdf ?
Bien sûr, je sais compiler ce fichier avec une commande personnelle ("LaTeX + dvips + ps2pdf") qui se trouve dans mon .emacs.
Merci.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

On peut ajouter ceci en fin de fichier :

Code : Tout sélectionner

%%%  Local Variables:
%%%  mode:latex
%%%  LaTeX-command: "latex -shell-escape"
%%%  TeX-engine: xetex
%%%  eval: (TeX-PDF-mode 1)
%%%  End:

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

Fabrice Couvreur a écrit : Le fichier test.dvi est une page blanche !
Un appel récurrent de la commande C-c C-c me renvoie toujours à :

Code : Tout sélectionner

View command: xdvi test.dvi
Quelles sont donc les étapes suivantes pour avoir le fichier test.pdf ?
Bien sûr, je sais compiler ce fichier avec une commande personnelle ("LaTeX + dvips + ps2pdf") qui se trouve dans mon .emacs.
Merci.
Pour traiter des fichiers contenant du code pstricks, il faut impérativement déclarer explicitement pstricks dans le préambule.
Par exemple :

Code : Tout sélectionner

    \documentclass[a4paper,11pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
     \usepackage[frenchb]{babel}
    \usepackage{pstricks}
%%% impératif pour que le style pstricks soit appelé
    \usepackage{pstricks-add}
%%% Il n'y a pas pour autant que je sache de 
%%% support AUCTeX pour pstricks-add
    \begin{document}
    Test de code pstricks:

    \begin{pspicture}(-4,-4)(4,4)
    \pspolygon[fillstyle=solid,fillcolor=gray](0,0)(-2,-2.5)(2,-2.5)
    \pscircle[fillstyle=solid,fillcolor=yellow](0,0){2}
    \multido{\n=0+45}{7}{\rput{\n}{\pswedge(0,0){2}{0}{45}}}
    \pswedge[fillstyle=solid,fillcolor=orange](0,0){2}{45}{90}
    \pswedge[fillstyle=solid,fillcolor=orange](0,0){2}{180}{225}
    \end{pspicture}
    \end{document}

%%% Local Variables:
%%% coding: utf-8
%%% TeX-parse-self: t
%%% TeX-auto-save: t
%%% eval: (TeX-PDF-mode 0)
%%% End:  
Une première compilation C-c C-c crée le dvi, puis C-c C-c appelle la commande View
View command: dvips test.dvi -o && gv test.ps
Il faut évidemment que la commande gv soit installée sur la machine. Sinon, remplacer gv par evince ou autre.
C-c C-c une nouvelle fois, appeler la commande Print, puis <tab> Pdf
et le fichier pdf est créé.

TeX-parse-self et TeX-auto-save peuvent être affectés ailleurs, par exemple dans le .emacs ou par customize-variable
JJR.
LaTeXien migrateur.

bellerophonvschimere
Utilisateur confirmé
Utilisateur confirmé
Messages : 75
Inscription : mercredi 05 septembre 2012, 22:47

Re: Configurer emacs, AUCtex et TexLive 2012

Message par bellerophonvschimere »

J'ai installé Yasnippet avec Package-install

j'aimerai le mettre directement en mode mineur lorsque j'ouvre un fichier tex
donc j'ai écrit cela

Code : Tout sélectionner

(add-hook 'TeX-mode-hook
          (lambda ()
            (yas-minor-mode)
          ))
mais pour une raison qui me dépasse
j'ai bien le yas-minor-mode quand j'ouvre un fichier en .tex
mais je n'ai pas de raccourcis claviers
quand je tappe C-h B je ne vois pas bien apparaître yas-minor-mode
mais l'unique raccourci clavier que je me vois offrir c'st TAB

l

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

Et si tu remplace TeX-mode-hook par LaTeX-mode-hook ?

Hors sujet, je viens de découvrir cdlatex qui peut aussi s'activer comme un mode mineur de LaTeX-mode.
la doc est dans le fichier cdlatex.el. Il suffit de copier ce fichier quelque part dans load-path et d'ajouter (require 'cdlatex) dans le .emacs
Ce mode permet entre autre l'insertion automatique de paires comme \$..\$ (..) [...] ce qui est assez pratique.
JJR.
LaTeXien migrateur.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

Bonjour gigiair,
gigiair a écrit :Pour traiter des fichiers contenant du code pstricks, il faut impérativement déclarer explicitement pstricks dans le préambule
J'avais pourtant suivi tes recommandations :
gigiair a écrit :Il y a un petit défaut dans AUCTeX concernant le scan : les packages pstricks ou pst-* sont reconnus, mais pas pstricks-add (bien que pstricks-add appelle pstricks, mais AUCTeX n'en est pas informé). Ce qui fait qu'il faut quand même ajouter \usepackage{pstricks} dans le préambule pour que la mécanique fonctionne.
D'ailleurs, à ce propos, quand j'utilise mes commandes personnelles, je peux me contenter du package pstricks-add dans le préambule, pourquoi ?
Parenthèse refermée, revenons à mon problème.
J'ai ajouté ceci en fin de fichier :

Code : Tout sélectionner

%%% TeX-parse-self: t
%%% TeX-auto-save: t
Le fichier test.ps existe, et je peux bien le visualiser avec gv.
Reste donc à le convertir au format pdf, et là, cela coince.
Je fais ceci :

Code : Tout sélectionner

C-c C-c
Command: (default View)
Quand tu dis d'appeler la commande Print, on est d'accord sur le fait qu'il faut faire TAB pour accéder à la liste des commandes :

Code : Tout sélectionner

TAB
Print
Possible completions are:
Acroread 	BibTeX 	Biber
Check 	Clean 	Clean All
Dvips 	File 	Index
LaTeX 	LaTeX + dvips + ps2pdf 	Other
PdfLaTeX 	Print 	Ps2pdf
Queue 	Spell 	View
Xpdf

Code : Tout sélectionner

Printer: (default Default) 
gigiair a écrit :puis <tab> Pdf
Là je ne vois pas.
Donc je reste bloqué au fichier test.ps :?
Merci.

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

Fabrice Couvreur a écrit :
gigiair a écrit :puis <tab> Pdf
Là je ne vois pas.
Donc je reste bloqué au fichier test.ps :?
Merci.
Au temps pour moi, désolé, j'avais il y a pas mal de temps personnalisé la variable TeX-printer-list
M-x customize-variable TeX-printer-list
INS crée un nouvelle entrée:

Code : Tout sélectionner

INS DEL Name: Pdf
            [X] Print: Value Menu %(o?)dvips  %s -o %f| ps2pdf %f
            [ ] Queue: Value Menu default
La signification de %(o?),%s, %f est dans TeX-expand-list
JJR.
LaTeXien migrateur.

bellerophonvschimere
Utilisateur confirmé
Utilisateur confirmé
Messages : 75
Inscription : mercredi 05 septembre 2012, 22:47

Re: Configurer emacs, AUCtex et TexLive 2012

Message par bellerophonvschimere »

J'aimerai avoir quelques explications au sujet de Yasnippet qui effectivement est vraiment top!!

Notamment au sujet de trois derniers champs lors de la création d'un snippet
c'est quoi par exemple la différence entre un key et un binding (direct-keybinding)??,
À quoi sert aussi expand-env? ((some-var some value))?
et finalement il y a-til d'autre type que celui nommé "command"?

bellerophonvschimere
Utilisateur confirmé
Utilisateur confirmé
Messages : 75
Inscription : mercredi 05 septembre 2012, 22:47

Re: Configurer emacs, AUCtex et TexLive 2012

Message par bellerophonvschimere »

@rebouxo

Quelles extensions autre qu'yasnippet utilises-tu avec emacs?

bellerophonvschimere
Utilisateur confirmé
Utilisateur confirmé
Messages : 75
Inscription : mercredi 05 septembre 2012, 22:47

Re: Configurer emacs, AUCtex et TexLive 2012

Message par bellerophonvschimere »

Un inconvénient avec Yasnippet
c'est que c'est pas évident de composer des commandes obtenues par Yasnippet entre elles

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

bellerophonvschimere a écrit :J'aimerai avoir quelques explications au sujet de Yasnippet qui effectivement est vraiment top!!
Oui, yasnippet est vraiment top, mais la bibilothèque de snippets concernant LaTeX est quasi vide, il faut se les taper. AUCTeX fait pratiquement la même chose, avec des snippets toutes faites. Rien que pour pstricks, il y a 800 lignes de code.
Je soupçonne fortement Olivier et toi de ne pas utiliser vraiment ce qui est disponnible.
Par exemple(pstricks déclaré dans le préambule pour charger les snippets) pour entrer l'expression :

Code : Tout sélectionner

\pscurve[linecolor=green,linewidth=2pt,showpoints=true]{->>}(1,1)(2,3)(4,5)
Je tape :
C-c RET ps TAB (une liste des possibles apparaît, je complète) cur TAB (auto-complétion rve) RET TAB (liste d'options possibles) linec TAB (auto-complétion linecolor)= TAB (liste des couleurs possibles) gre TAB (AC green) , TAB <suite de la saisie des options, séparées par une virgule> RET (pour terminer les options) TAB <saisie des flèches> RET 1,1 RET 2,3 RET 4,5 RET RET
C'est très efficace, et tout aussi rapide que yasnippet.
Il manque malheureusement un support pour pas mal de packages (dont pst-eucl et pstricks-add), mais ce qui existe est loin d'être négligeable.
JJR.
LaTeXien migrateur.

bellerophonvschimere
Utilisateur confirmé
Utilisateur confirmé
Messages : 75
Inscription : mercredi 05 septembre 2012, 22:47

Re: Configurer emacs, AUCtex et TexLive 2012

Message par bellerophonvschimere »

J'aime bien la complétion pour le nom de la commande mais aussi pour les options quand il y en a
mais dans mon installation elle fonctionne qu'avec quelques rares commandes

comme \left qui me demande quelle délimiteur ouvrant je veux saisir
ou bien avec l'environnement de liste description qui met demande ce que je vais mettre en gras pour chaque item
et quelques autres

mais c'est bien rare
par exemple pour ton exemple avec ps ça ne marche malheureusement pas avec ma configuration actuel d'AUCTex

peut-être y-a-t-il une ou plusieurs options que je n'ai pas pas enclenchées ?

(peut-être TeX-pars-self ou TeX-auto-save?)

Je viens de me rendre compte que peut-être qu'il aurait fallu charger pstricks avant
de vouloir utiliser une commande de ce package avec auctex pour disposer des fonctionnalités avancées d'AUCTex

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2560
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Configurer emacs, AUCtex et TexLive 2012

Message par gigiair »

bellerophonvschimere a écrit : (peut-être TeX-pars-self ou TeX-auto-save?)

Je viens de me rendre compte que peut-être qu'il aurait fallu charger pstricks avant
de vouloir utiliser une commande de ce package avec auctex pour disposer des fonctionnalités avancées d'AUCTex
TeX-parse-self et TeX-auto-save doivent avoir la valeur 1.
AUCTeX peut ainsi analyser l'entête du fichier. S'il perçoit que \usepackage{pstricks} y figure, le fichier pstricks.el est chargé avec ses 800 lignes de code.
Si ce n'est pas le cas, la commande C-c C-n (M-x TeX-normal-mode) avec un argument (C-u 1 par exemple) force le rechargement des crochets de style.
Dernière modification par gigiair le lundi 04 février 2013, 17:47, modifié 1 fois.
JJR.
LaTeXien migrateur.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Configurer emacs, AUCtex et TexLive 2012

Message par Fabrice Couvreur »

Bonjour,
gigiair a écrit :Au temps pour moi, désolé, j'avais il y a pas mal de temps personnalisé la variable TeX-printer-list
Merci gigiair, cela fonctionne.
Moi aussi, j'utilise Yasnippet, mais c'était avant que gigiair me fasse découvrir tout le potentiel d'AUCTeX que je vais utiliser d'une autre façon dorénavant.