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

emacs+auctex; question de débutant

13 réponses
Avatar
Stéphane Dutailly
Bonjour à tous,

Je me lance (avec un peu d'appréhension) dans l'utilisation de
emacs+auctex pour Latex, sous Ubuntu 10.10.
Jusqu'à présent, je travaillais sous Windows XP avec TexnicCenter.
Je commence à peine et je rencontre un problème assez rédhibitoire pour
moi: j'utilise un fichier "preambule.tex" qui contient les différents
packages que j'utilise et mes macros. Ce fichier se trouve à la racine
de mon dossier de travail. Lorsque je travaille dans un dossier, mon
fichier .tex commence ainsi: \include{../preambule}
Sous Texnic Center, tout allait très bien, mais désormais ça ne
fonctionne pas.

Voici un ECM:
j'écris mon fichier test_emacs.tex qui contient

\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}
\begin{document}
Test
\end{document}

---> pas de problème

Si je fais un fichier Preambule_test.tex qui contient
\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}

puis que j'écris mon fichier test_emacs.tex qui contient:

\include{Preambule_test}
\begin{document}
Test
\end{document}

---> pas de problème (mon fichier Preambule_test.tex est alors placé
dans le même dossier que mon fichier test_emacs.tex)

Si je place mon fichier Preambule_test.tex dans un dossier immédiatement
supérieur au dossier qui contient mon fichier test_emacs.tex, où
test_emacs.tex est:

\include{../Preambule_test}
\begin{document}
Test
\end{document}

---> alors ça ne fonctionne pas et j'obtiens ce message d'erreur:

ERROR: I can't write on file `../Preambule_test.aux'.

--- TeX said ---
\@include ...\immediate \openout \@partaux #1.aux
\immediate \write
\@partau...
l.1 \include{../Preambule_test}

--- HELP ---
From the .log file...

(Press Enter to retry, or Control-D to exit; default file extension is
`.tex')
Please type another output file name
! Emergency stop.
\@include ...\immediate \openout \@partaux #1.aux
\immediate \write
\@partau...
l.1 \include{../Preambule_test}

*** (job aborted, file error in nonstop mode)


Je suppose que le problème ne doit pas être trop compliqué mais je ne
trouve pas de solution. Que faire?

Par avance, merci à tous (et merci d'avoir eu la patience de lire
jusqu'ici!!).

Stéphane Dutailly

3 réponses

1 2
Avatar
Lucas Levrel
Le 10 novembre 2010, Reboux Olivier a écrit :
Bon ça m'intéresse aussi de savoir ouvrir un doc foo.ps dans un logiciel
(disons okular ou Adobe reader).



Voilà ce que j'ai fait pour ajouter un raccourci pour lancer dvips ou
ps2pdf directement, tu dois pouvoir t'en inspirer :
-:-:-
(defun my-LaTeX-hook ()
;
(defun TeX-print (); adapté de TeX-view dans tex-buf.el
"Start dvips without confirmation.
dvips is started either on region or master file,
depending on the last command issued."
(interactive)
(let ((output-file (TeX-active-master (TeX-output-extension))))
(if (file-exists-p output-file)
(TeX-command "File" 'TeX-active-master 0)
(message "Output file %S does not exist." output-file))))
;
(define-key LaTeX-mode-map "C-cC-b" 'TeX-print)
;
(setq TeX-command-list
(append TeX-command-list
'(("PS to PDF" "ps2pdf %f" TeX-run-command t nil))))
;
(defun TeX-pstopdf (); adapté de TeX-view dans tex-buf.el
"Start ps2pdf without confirmation.
ps2pdf is started either on region or master file,
depending on the last command issued."
(interactive)
(let ((output-file (TeX-active-master "ps")))
(if (file-exists-p output-file)
(TeX-command "PS to PDF" 'TeX-active-master 0)
(message "Output file %S does not exist." output-file))))
;
(define-key LaTeX-mode-map "C-cC-n" 'TeX-pstopdf)
)
(add-hook 'LaTeX-mode-hook 'my-LaTeX-hook)
-:-:-

J'ai choisi C-b et C-n parce que c'est à côté de C-c et C-v !

--
LL
Avatar
JJ. Rétorré
Ph. Ivaldi disait le 11/12/10 que :

Le 11 novembre 2010, JJ. Rétorré écrivit :

Un bon moyen d'installer yasnippet-bundle est d'installer préalablement
package.el, puis M-x package-install RET yasnippet-bundle



Pour moi ce sera
apt-get install yasnippet



J'ai installé ce package (Debian testing). Ça ne marche pas «au sortir
de la boite», il faut mettre la main à la pâte. Pour un USER, les
nouveaux applets sont créés dans
/usr/share/emacs/site-lisp/yasnippet/snippets, ce qui est refusé par le
système.

A contrario, l'installation par package-install, fonctionne
immédiatement. Par contre, il n'y a pas la bibliothèque de snippets
fournie avec le package Debian. Les non-debianistes n'ont pas ce
problème de choix métaphysique .

Je n'ai pas tout compris dans le fonctionnement de yasnippet, la video,
n'est pas très utile pour un francophone : ça va trop vite, on ne voit
pas le clavier, je ne comprend pas les séquences de touches qui sont
frappées.
un exemple ce création de snippet et de son utilisation me serait utile.
Peut-être qu'il y en a un et que mon anglais un peu déficient ne
l'a pas perçu ainsi. Je ne sais pas s'il y a des snippets créés pour
lilypond-mode ?

--
JJR.
Avatar
Stéphane Dutailly
Je n'ai pas tout compris dans le fonctionnement de yasnippet, la video,
n'est pas très utile pour un francophone : ça va trop vite, on ne voit
pas le clavier, je ne comprend pas les séquences de touches qui sont
frappées.
un exemple ce création de snippet et de son utilisation me serait utile.
Peut-être qu'il y en a un et que mon anglais un peu déficient ne
l'a pas perçu ainsi. Je ne sais pas s'il y a des snippets créés pour
lilypond-mode ?




J'ai installé yasnippet par l'intermédiaire de la logithèque Ubuntu (je
précise que je suis aussi débutant sur linux; je suppose que c'est
l'équivalent de ce que disait Philippe:
apt-get install yasnippet
)

J'ai eu un peu de mal à trouver les fichiers yasnippet mais j'ai
finalement mis la main dessus. Problème: pour latex, il y a très peu de
modèles (c'est un euphémisme). En cherchant, je suis tombé là dessus:

http://kedeligdata.blogspot.com/2009/03/yasnippet-latex-bundle.html

avec le lien

https://github.com/madsdk/yasnippets-latex/

où tu peux trouver pas mal d'exemples de "snippets". Après, il n'y a
plus qu'à adapter à tes propres commandes.
Copie ces exemples dans un répertoire ~/.emacs.d/snippets
et rajoute
(setq yas/root-directory "~/.emacs.d/snippets")
(yas/load-directory yas/root-directory)
dans ton .emacs

Pour l'instant j'en suis encore au début de mon utilisation mais déjà
c'est vraiment très pratique.
En espérant que cela te sera utile,

Stéphane
1 2