une touche pour sauver, compiler, visualiser (auctex)

Le
Stéphane Dutailly
Bonjour à tous,

Voilà trois mois que je suis passé à emacs et mon adaptation n'a pas été
si douloureuse que je le craignais. Néanmoins, il y a un truc que
j'aimerais vraiment pouvoir faire (tout est dans le titre).
Pour l'instant, j'utilise emacs à 95% pour éditer des fichiers Tex
(j'utilise donc auctex et pdflatex comme moteur). Pour voir le rendu de
ce que j'écris, je dois faire:
la 1ere fois
sauver: C-x C-s
compiler: C-c C-c RET
visualiser: C-c C-c RET RET
puis ensuite:
sauver: C-x C-s
compiler: C-c C-c RET (et l'affichage est rafraichit automatiquement)

Je me suis habitué mais je voudrais savoir si quelqu'un aurait une idée
pour faire tout cela avec une seule touche (sous texniccenter,
j'utilisais f5 pour faire build+view, et la sauvegarde était automatique
à la compilation).
Merci d'avance,
Stéphane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain Ketterlin
Le #23080081
Stéphane Dutailly
la 1ere fois
sauver: C-x C-s
compiler: C-c C-c RET
visualiser: C-c C-c RET RET
puis ensuite:
sauver: C-x C-s
compiler: C-c C-c RET (et l'affichage est rafraichit automatiquement)

Je me suis habitué mais je voudrais savoir si quelqu'un aurait une
idée pour faire tout cela avec une seule touche (sous texniccenter,
j'utilisais f5 pour faire build+view, et la sauvegarde était
automatique à la compilation).



<f3> C-x C-s C-c C-c RET <f4>

et ensuite <f4> chaque fois que tu voudras sauver puis compiler.

Je te recommande de lire toute la section info sur les "Keyboard
Macros", c'est très pratique.

-- Alain.
Stéphane Dutailly
Le #23080141
Le 02/02/2011 17:25, Alain Ketterlin a écrit :
Stéphane Dutailly
la 1ere fois
sauver: C-x C-s
compiler: C-c C-c RET
visualiser: C-c C-c RET RET
puis ensuite:
sauver: C-x C-s
compiler: C-c C-c RET (et l'affichage est rafraichit automatiquement)

Je me suis habitué mais je voudrais savoir si quelqu'un aurait une
idée pour faire tout cela avec une seule touche (sous texniccenter,
j'utilisais f5 pour faire build+view, et la sauvegarde était
automatique à la compilation).



<f3> C-x C-s C-c C-c RET<f4>

et ensuite<f4> chaque fois que tu voudras sauver puis compiler.

Je te recommande de lire toute la section info sur les "Keyboard
Macros", c'est très pratique.

-- Alain.



Super, merci Alain. Ça marche bien, c'est ce que je veux faire, mais
j'ai une dernière question, comment faire pour pouvoir retrouver cette
macro après un redémarrage d'emacs?
Merci encore,
Stéphane
Damien Wyart
Le #23080281
* Stéphane Dutailly
Super, merci Alain. Ça marche bien, c'est ce que je veux faire, mais
j'ai une dernière question, comment faire pour pouvoir retrouver cette
macro après un redémarrage d'emacs?



http://www.gnu.org/software/emacs/manual/html_node/emacs/Save-Keyboard-Macro.html

Réponse un peu RTFM, mais bon, Emacs est quand même très bien documenté,
donc autant en profiter ;)

--
DW
vincent.belaiche
Le #23081471
Stéphane Dutailly
Le 02/02/2011 18:25, Damien Wyart a écrit :



[...]




G-E-N-I-A-L, merci beaucoup à tous les deux (ça ouvre de sacrées
perspectives..), vous m'avez faire découvrir quelque chose de bien utile.
Stéphane

PS: ça veut dire quoi RTFM?



Sinon tu peux faire un truc du genre --- pas testé (ça ne devrait faire
que save et compile):

-----------------------------------------------------------------------
(defun my-save-compile-view ()
(interactive)
(TeX-save-document "")
(TeX-command "LaTeX" 'TeX-active-master 0))
(defun my-LaTeX-mode-hook ()
(local-set-key [f5] 'my-save-compile-view))
-----------------------------------------------------------------------
Paul Gaborit
Le #23081511
À (at) Thu, 03 Feb 2011 07:36:07 +0100,
(Vincent Belaïche) écrivait (wrote):

Sinon tu peux faire un truc du genre --- pas testé (ça ne devrait faire
que save et compile):

-----------------------------------------------------------------------
(defun my-save-compile-view ()
(interactive)
(TeX-save-document "")
(TeX-command "LaTeX" 'TeX-active-master 0))
(defun my-LaTeX-mode-hook ()
(local-set-key [f5] 'my-save-compile-view))
-----------------------------------------------------------------------



Cela me semble plus sûr que la solution précédente puisque ça permet
d'enregistrer *tous* les fichiers du document en cours. En fait c'est
équivalent à :

C-c C-d <ret>
C-c C-c <ret>

--
Paul Gaborit -
Alain Ketterlin
Le #23082101
Stéphane Dutailly
PS: ça veut dire quoi RTFM?



Read The Fine/Formidable/Funny/.../F***ing Manual. C'est une remarque
qui est en général, disons, teintée d'agacement.

-- Alain.
Alain Ketterlin
Le #23082091
(Vincent Belaïche) writes:

-----------------------------------------------------------------------
(defun my-save-compile-view ()
(interactive)
(TeX-save-document "")
(TeX-command "LaTeX" 'TeX-active-master 0))
(defun my-LaTeX-mode-hook ()
(local-set-key [f5] 'my-save-compile-view))
-----------------------------------------------------------------------



Ne faudrait-il pas tester la valeur de retour de TeX-save-document pour
savoir s'il est nécessaire de relancer latex ?

-- Alain.

P/S: en tout cas c'est beaucoup mieux que la macro à base de C-c C-c,
qui risque de faire autre chose que latex...
Paul Gaborit
Le #23082921
À (at) Thu, 03 Feb 2011 11:07:37 +0100,
Alain Ketterlin
(Vincent Belaïche) writes:

-----------------------------------------------------------------------
(defun my-save-compile-view ()
(interactive)
(TeX-save-document "")
(TeX-command "LaTeX" 'TeX-active-master 0))
(defun my-LaTeX-mode-hook ()
(local-set-key [f5] 'my-save-compile-view))
-----------------------------------------------------------------------



Ne faudrait-il pas tester la valeur de retour de TeX-save-document pour
savoir s'il est nécessaire de relancer latex ?



Si AucTeX était parfait, cela serait une bonne idée... Mais AucTeX,
contrairement à latexmk, ne détecte pas que certains fichiers externes
ont changé (par exemple une image). Il est donc parfois nécessaire de
forcer la recompilation alors que AucTeX estime que ce n'est pas
nécessaire.

--
Paul Gaborit -
vincent.belaiche
Le #23084361
Stéphane Dutailly
Le 03/02/2011 07:36, Vincent Belaïche a écrit :

Sinon tu peux faire un truc du genre --- pas testé (ça ne devrait faire
que save et compile):

-----------------------------------------------------------------------
(defun my-save-compile-view ()
(interactive)
(TeX-save-document "")
(TeX-command "LaTeX" 'TeX-active-master 0))
(defun my-LaTeX-mode-hook ()
(local-set-key [f5] 'my-save-compile-view))
-----------------------------------------------------------------------



Merci vincent. C'est bien mais il me reste deux questions du coup:

1) (defun my-LaTeX-mode-hook ()
(local-set-key [f5] 'my-save-compile-view))

n'a pas d'effet (j'obtiens <f5> is undefined)
(en fait je crois que j'ai déjà testé d'autres choses avec des local-set-key
et ça ne marchait pas non plus... je ne comprends pas pourquoi)




Oui c'est complètement normal, parce que j'ai oublié de te donner le
code pour enrigistrer la fonction my-LaTeX-mode-hook dans la liste des
crochets LaTeX, il suffit de faire ça:

(add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook)



2) si je mets (global-set-key [f5] 'my-save-compile-view) alors cela
fonctionne bien mais lorsque j'appuie sur f5, le mini-buffer me demande tout
de même: Save file /home/.../monfichier.tex? (y or n)
et je dois donc appuyer sur y (d'accord, d'accord, je chipote... :-) )
Peut-on éviter cela?




Avec le truc que je t'ai donné ça ne marchera que si tu tapes f5 alors
que le cruseur est dans un tampon en mode LaTeX.

Merci encore.



De rien,

Stéphane



Vincent.
vincent.belaiche
Le #23087401
Stéphane Dutailly

[...]


Avec le truc que je t'ai donné ça ne marchera que si tu tapes f5 alors
que le cruseur est dans un tampon en mode LaTeX.



Je ne comprends pas bien. Il me semble que c'est le cas -- je suis en train de
taper un fichier .tex --.
Quand je regarde le tampon *Messages*
1) si je fais C-x C-s C-c C-c RET , j'ai:

Saving file /home/.../test_emacs.tex...
Wrote /home/.../test_emacs.tex
Type `C-c C-l' to display results of compilation.
LaTeX: successfully formatted {1} page.

2) si je fais f5 pour my-save-compile-view (et il faut que j'appuie sur y),
j'ai:

Save file /home/.../test_emacs.tex? (y or n)
Saving file /home/.../test_emacs.tex...
Wrote /home/.../test_emacs.tex
Type `C-c C-l' to display results of compilation.
LaTeX: successfully formatted {1} page.

Suis-je à côté de la plaque par rapport à ta remarque?
Stéphane



Est-ce que tu as supprimé le global-set-key et relancé EMACS? que se
passe-t-il si tu fais `C-h k f5' (ça te donne la liaison de f5 à une
commande).

Vincent.
Publicité
Poster une réponse
Anonyme