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

latex auctex yatex

10 réponses
Avatar
valère BONNET
Bonjour,
J'aimerais utiliser emacs, que je connais peu, pour écrire des fichiers
tex assemblés en projets.
Je travaille sous ubuntu, fedora 4 et, mais plus rarement, sous windows.
Lorsque j'ouvre un fichier tex avec emacs sous fedora, il s'ouvre avec
auctex.
Lorsque je fais la même opération sous ubuntu, il s'ouvre avec yatex.
Je ne voudrais pas changer de raccourcis clavier à chaque fois que je
change de poste.

Sous ubntu j'ai deux répertoires yatex:
/usr/share/emacs/site-lisp/yatex et /usr/share/emacs21/site-lisp/yatex
alors que je n'en ai qu'un seul pour auctex:
/usr/share/emacs21/site-lisp/auctex.

J'ai essayé sous ubuntu d'introduire en début d'.emacs pour qu'il charge
auctex:
(setq load-path (cons "/usr/share/emacs21/site-lisp" load-path))
(require 'tex-site)
mais ceci n'a pas fonctionné.

Voici mes deux questions:
Le quel d'auctex ou de yatex est plus adapté à ma situation (gestion de
projets, raccourcis claviers, plusieurs systèmes, documentation
indispensable) ?
Que faire pour qu'emacs s'ouvre toujours avec le même quel que soit le
système utilisé?

10 réponses

Avatar
valère BONNET
J'ai trouvé, il suffit que le fichier commence par:
% -*- TeX -*- -*- FR -*-
A plus.
Avatar
Florent Georges
valère BONNET wrote:

J'ai trouvé, il suffit que le fichier commence par:
% -*- TeX -*- -*- FR -*-



Tiens. Et ca veut dire quoi, exactement ?

--drkm
Avatar
Olivier
Florent Georges wrote:
valère BONNET wrote:

J'ai trouvé, il suffit que le fichier commence par:
% -*- TeX -*- -*- FR -*-



Tiens. Et ca veut dire quoi, exactement ?



C'est une ancienne convention d'emacs qui permet
d'indiquer les modes sur la premiere ligne d'un fichier
entoure d'un -*- -*-
Quant au bidule FR, aucune idee. On pouvait aussi
passer des variables ainsi, comme a l'heure actuelle
en fin de fichier avec

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "HRILectures"
%%% ma-variable-favorite: 'tespasbeau
%%% End:

qui est plutot la solution que je conseillerais
au posteur initial car elle est plus recente.
Ah oui : cette determination du mode et des variables
a preseance sur les determinations prealables, ce
qui en fait une arme de choix pour passer sur plusieurs
systemes que l'on ne controle pas correctement.

Amities,
Olivier
Avatar
Florent Georges
Olivier wrote:

Florent Georges wrote:

> valère BONNET wrote:

>> J'ai trouvé, il suffit que le fichier commence par:
>> % -*- TeX -*- -*- FR -*-

> Tiens. Et ca veut dire quoi, exactement ?

C'est une ancienne convention d'emacs qui permet
d'indiquer les modes sur la premiere ligne d'un fichier
entoure d'un -*- -*-



Ancienne je ne sais pas. Elle peut toujours etre bien pratique.

Quant au bidule FR, aucune idee.



Dommage. C'etait bien sur sur cela que ma question portait.
Peut-etre une "astuce" d'un mode (La)TeX pour specifier la langue ?

--drkm
Avatar
Sébastien Kirche
Le 28 décembre 2005 à 11:12, Florent Georges vraute :

Olivier wrote:

> Florent Georges wrote:

> > valère BONNET wrote:

> > > J'ai trouvé, il suffit que le fichier commence par:
> > > % -*- TeX -*- -*- FR -*-

> > Tiens. Et ca veut dire quoi, exactement ?

> C'est une ancienne convention d'emacs qui permet
> d'indiquer les modes sur la premiere ligne d'un fichier
> entoure d'un -*- -*-

Ancienne je ne sais pas. Elle peut toujours etre bien pratique.

> Quant au bidule FR, aucune idee.

Dommage. C'etait bien sur sur cela que ma question portait.
Peut-etre une "astuce" d'un mode (La)TeX pour specifier la langue ?



C'est bizarre cette syntaxe, comme le dit Olivier, normalement c'est
-*- unevariable:unvaleur;uneautrevariable:unautrevaleur; -*-
et pas en répétant les -*- xxx -*- deux fois...

Je sais que pour indiquer simplement le mode on peut raccourcir par
exemple avec -*- emacs-lisp -*- en omettant le «mode:»

Je viens de faire des essais en ajoutant -*- FR -*- et emacs ne semble
pas râler sur une ligne mal formée alors que c'est le cas si on donne
une valeur sans indiquer la variable (à l'exception du mode). C'est
peut-être prévu mais je ne suis pas allé voir le code pour vérifier.
--
Sébastien Kirche
Avatar
Florent Georges
Olivier wrote:

Emacs ne le lit pas. C'est pour eviter d'avoir a gerer la notion
de caractere de commentaire. Du coup il regarde si il y a une
expression sur la ligne qui contient -*- ... -*- et lit
l'interieur.



La je ne comprend pas. C'est quoi la notin de "caractere de
commentaire" ? Puis le probleme etait la presence de deux "-*- ...
-*-".

Il y a aussi une syntaxe alternative mais je
l'ai oubliée :-p



Tu parles de la section "Local Variables:" en fin de fichier ?

--drkm
Avatar
Olivier
Florent Georges wrote:
Olivier wrote:

Emacs ne le lit pas. C'est pour eviter d'avoir a gerer la notion
de caractere de commentaire. Du coup il regarde si il y a une
expression sur la ligne qui contient -*- ... -*- et lit
l'interieur.



La je ne comprend pas. C'est quoi la notin de "caractere de
commentaire" ? Puis le probleme etait la presence de deux "-*- ...
-*-".



Par exemple, en TeX, la ligne initiale s'écrit

% -*- latex-mode -*-

emacs ignore si % est le caractere de commentaire du latex mode,
il se contente de lire "-*- latex-mode -*-" sur la premiere ligne.

Quant a la syntaxe "Local variables", elle est rusée pour eviter
la table de syntaxe : c'est le debut de phrase devant "Local Variables:"
qui sert de detecteur :-) Cool, non ? Donc

%-%* Local Variables:
%-%* Youpi: t
%-%* Yoto: nil
%-%* End:

Mais la convention est de tripler le signe de commentaire ligne
pour les commentaires importants (ou les doubles pour les moins
importants et ces deux la sont rapportes en debut de ligne les
commentaires simples sont n'importe ou). Enfin, c'est la convention
elisp :-) et si j'ai bonne memoire, quelques mois que je n'ai pas
programme en lisp. Ce pourquoi on met d'habitude %%% ou ;;;

Il y a aussi une syntaxe alternative mais je
l'ai oubliée :-p



Tu parles de la section "Local Variables:" en fin de fichier ?



Non, il me semblait qu'il y avait une autre, mais je viens d'aller
lire normal-mode qui fait cela, et seul -*- est recherche.

Amities,
Olivier
Avatar
Florent Georges
Olivier wrote:

Florent Georges wrote:

> La je ne comprend pas. C'est quoi la notin de "caractere de
> commentaire" ? Puis le probleme etait la presence de deux "-*- ...
> -*-".

Par exemple, en TeX, la ligne initiale s'écrit

% -*- latex-mode -*-



D'accord. Mais je ne comprend toujours pas la reponse a Sebastien.
Elle n'avait en fait rien a voir avec l'intrigue des deux "-*- ... -*-"
(en l'occurrence "-*- TeX -*- -*- FR -*-") ?

--drkm
Avatar
Olivier
Florent Georges wrote:
Olivier wrote:


[...]
D'accord. Mais je ne comprend toujours pas la reponse a Sebastien.
Elle n'avait en fait rien a voir avec l'intrigue des deux "-*- ... -*-"
(en l'occurrence "-*- TeX -*- -*- FR -*-") ?



C'est parce que emacs ne lit pas la ligne. Il ne l'analyse pas, il se
contente de trouver un bloc -*- ... -*- Le second bloc n'est pas lu
tout simplement. La syntaxe "-*- TeX -*- -*- FR -*-" est foireuse a
priori sauf si on a construit un mode a soi qui lit la premiere ligne
etc. A ma connaissance, ni tex-mode, ni auctex n'ont un tel mecanisme.

O.
Avatar
Florent Georges
Olivier wrote:

C'est parce que emacs ne lit pas la ligne. Il ne l'analyse pas, il se
contente de trouver un bloc -*- ... -*- Le second bloc n'est pas lu
tout simplement.



Ca ne me semblait pas clair. On aurait très bien pu se retrouver
avec la plus longue correspondance. Mais je viens d'aller voir le code
de 'set-auto-mode-1' et c'est bien le comportement effectif. Mais
non-documenté. AMHA, c'est quelque chose à éviter.

--drkm