[LaTeX] Ajouter des éléments à TeX-font-list
Le
e20100633

Bonjour,
j'utilise quotidiennement LaTeX grâce à Emacs et notamment le paq=
uet
soulutf8 qui permet, via la commande hl{} de surligner en jaune
certaines portions de texte. En ayant eu marre de devoir entourer à la
main lesdites portions par hl{ puis }, j'ai cherché à retrouver =
le même
comportement que ce que propose la suite de commande C-c C-f C-e qui,
par exemple, permet d'entourer un texte sélectionné par emph{}.
En cherchant un peu j'ai trouvé ceci :
https://lists.gnu.org/archive/html/help-gnu-emacs/2003-02/msg00296.html
J'ai essayé de reproduire cet exemple avec ce que je veux faire en me
basant aussi sur le defcustom TeX-font-list du fichier tex.el :
--8<cut herestart->8
;; add C-h to C-c C-f (TeX-font-list) for hl{} (from soulutf8.sty)
(TeX-add-style-hook
"e201-hl-macros"
(lambda ()
(add-to-list 'TeX-font-list (?C-h "{\hl " "\/}"))))
--8<cut hereend>8
Évidemment, je ne comprend pas grand chose à ce que je fais mais =
au
moins, quand j'/eval/ ce snippet, Emacs ne renvoie pas d'erreur. Par
contre, je n'ai pas le comportement que je souhaite
Est-ce que quelqu'un aurait la gentillesse de me porter secours en me
corrigeant ? Merci par avance :)
e-
--
~ #ID: e20100633 <e20100633()inbox!lv> #TTY: 9-8M 4554
~ TYPE 1707-A3 S/N L3-M2812 SLACKWARE 13.0 RLU #527034
,- They say that Nethack bugs are Seldon planned
`--{,_,"> http://porneia.free.fr/
j'utilise quotidiennement LaTeX grâce à Emacs et notamment le paq=
uet
soulutf8 qui permet, via la commande hl{} de surligner en jaune
certaines portions de texte. En ayant eu marre de devoir entourer à la
main lesdites portions par hl{ puis }, j'ai cherché à retrouver =
le même
comportement que ce que propose la suite de commande C-c C-f C-e qui,
par exemple, permet d'entourer un texte sélectionné par emph{}.
En cherchant un peu j'ai trouvé ceci :
https://lists.gnu.org/archive/html/help-gnu-emacs/2003-02/msg00296.html
J'ai essayé de reproduire cet exemple avec ce que je veux faire en me
basant aussi sur le defcustom TeX-font-list du fichier tex.el :
--8<cut herestart->8
;; add C-h to C-c C-f (TeX-font-list) for hl{} (from soulutf8.sty)
(TeX-add-style-hook
"e201-hl-macros"
(lambda ()
(add-to-list 'TeX-font-list (?C-h "{\hl " "\/}"))))
--8<cut hereend>8
Évidemment, je ne comprend pas grand chose à ce que je fais mais =
au
moins, quand j'/eval/ ce snippet, Emacs ne renvoie pas d'erreur. Par
contre, je n'ai pas le comportement que je souhaite
Est-ce que quelqu'un aurait la gentillesse de me porter secours en me
corrigeant ? Merci par avance :)
e-
--
~ #ID: e20100633 <e20100633()inbox!lv> #TTY: 9-8M 4554
~ TYPE 1707-A3 S/N L3-M2812 SLACKWARE 13.0 RLU #527034
,- They say that Nethack bugs are Seldon planned
`--{,_,"> http://porneia.free.fr/
e20100633
Ça existe en tout prêt: la fonction s'appelle TeX-insert-macro et son
raccourci par défaut est C-c RET. Si un texte est sélectionné lorsqu' on
l'appelle, il deviendra automagiquement l'argument de la macro choisie.
--
Paul Gaborit -
1. Je pense que TeX-add-style-hook permet d'ajout des hook qui seront
lancés lorsque le paquet nommé (ici e201-hl-macros) est appelà © via
usepackage. (Pas tout à fait sûr, mais je crois que c'est à ça que le
mot "style" se réfère dans AucTeX).
2. C-h est à mon avis un mauvais choix, car si tu essaye C-c C-f C-h
pour l'instant, tu vois que C-h montre la liste des touches disponibles,
ce qui peut être intéressant (cela dit tu peux aussi dire que tu t'en
fiches). Je propose donc C-c C-f h à tout hasard.
3. ce que tu as écris ne correspond pas à faire hl{...}, mais q uelque
chose comme {hl .../}, ce qui est légèrement différent (j e suppose
que c'était quelque chose prévu pour mettre de l'italique "à la TeX"
avec une correction d'italique à la fin.
4. Bref, je propose simplement (add-to-list 'TeX-font-list '(?h "\hl{" "}" ))
Tout ceci étant dit, tu peux aussi faire M-x customize-variable RET
TeX-font-list RET, et chipoter dans l'interface de customize pour
ajouter ce dont tu as besoin. Seule chose à savoir : pour insérer un
caractère genre "control h", il faut taper C-q C-h (ce qui va afficher
^H).
--
Nico.
tout d'abord merci d'avoir pris le temps de me répondre :)
"Nicolas Richard"
Ok effectivement, je trouvais ça aussi bizarre mon truc (surtout avec
l'appel d'un nom de macro)... Avec ton explication tout devient
limpide. J'étais vraiment sur la mauvaise voie.
Ah tiens ! En fait j'ai choisi C-c C-f C-h car évidemment d'une part, ça
colle avec le hl mais surtout je pensais que la liste que me sort Emacs
des raccourcis possibles (Font list avec KEY TEXTFONT et MATHFONT) lors
de l'appui sur C-c C-f C-h était dû au fait qu'il propose la list e dès
qu'il rencontre des raccourcis inconnus --- je ne suis pas sûr que ma
phrase soit claire. Je n'avais pas fait le rapprochement avec le h de
help... Ceci dit C-c C-f C-o renvoie aussi vers la liste en question, ce
qui irai peut-être dans mon sens ?
Ah effectivement. Je me doutais bien que le {hl ... /} ne collait
pas. En réalité, ma première intuition avait été d e simplement mettre
\hl{" "} ; mais comme ça ne marchait pas j'ai repris exactement ce que
j'ai pu trouver dans le fichier tex.el
Ah alors là je dois avoir un problème. Après évaluation de cette portion
de texte, C-c C-f h me renvoie toujours vers la liste des raccourcis
disponibles. J'en déduis que ça ne fonctionne pas chez moi... Un conflit
spécifique avec "h" ? J'ai essayé avec "o" (et même ?C-o ou encore
?C-h) sans de meilleurs résultats. Ai-je manqué quelque chose ?
Alors c'est ce que j'ai commencé par faire à l'orgine : passer par
M-x customize-variable RET TeX-font-list RET ; je pensais avoir bien
rempli les champs mais, toujours, après avoir "set" mes changements,
rien ne fonctionne... Mystère...
--
~ #ID: e20100633 <e20100633()inbox!lv> #TTY: 9-8M 4554
~ TYPE 1707-A3 S/N L3-M2812 SLACKWARE 13.0 RLU #527034
,------- They say that Nethack bugs are Seldon planned
`-----------------------{,_,"> http://porneia.free.fr/
tout d'abord, merci de m'avoir répondu :)
Paul Gaborit
Oh alors ça ! Pas mal. En attendant d'arriver à effectivement à ©crire
quelque chose de correct dans mon latexconf.el, je vais utiliser cette
méthode qui va déjà me faire gagner un certain temps !
Merci beaucoup :)
--
~ #ID: e20100633 <e20100633()inbox!lv> #TTY: 9-8M 4554
~ TYPE 1707-A3 S/N L3-M2812 SLACKWARE 13.0 RLU #527034
,------- They say that Nethack bugs are Seldon planned
`-----------------------{,_,"> http://porneia.free.fr/
Tu as entièrement raison, je me suis laissé influencer par le fai t que
rajouter 'C-h' à une commande qui sert de préfixe donne en gà ©néral
toutes les commandes complètes possibles qui ont ce préfixe. Par exemple
C-c C-h, C-x C-h, C-x 4 C-h, etc. Dans le cas de C-c C-f, en réalità © ce
n'est pas un préfixe.
Il est possible que la variable TeX-font-list soit locale au buffer ;
essaye "C-h v TeX-font-list" dans le buffer latex voir si c'est pris en
compte.
Autre possibilité : si tu fais du LaTeX, c'est probablement
LaTeX-font-list qu'il faut modifier. Mais pour que LaTeX-font-list soit
pris en compte, il faut recharger le buffer. Bref, je propose donc:
(add-to-list 'LaTeX-font-list '(?h "\hl{" "}"))
puis faire C-c C-n dans le buffer .tex et essayer C-c C-f h.
--
N.
J'avais commencé par faire C-h v pour TeX-font-list et LaTeX-font-list ;
je n'y voyais rien concernant hl. Après avoir évaluer le snippet
ci-dessous (avec LaTeX-font-list) puis C-c C-n et que ça a marché , j'ai
re-regardé ce que renvoyait C-h v pour les deux variables. En réa lité,
j'ai l'impression que LaTeX-font-list reprend TeX-font-list ; je vois
dans la description un /Original value was/ suite aux différentes
valeurs qui sont _exactement_ les mêmes que pour TeX-font-list. Un eff et
d'AUCTeX ? Ou peut-être d'une configuration particulières que j'a i dans
mon fichier de configuration ? Ou bien simplement l'évaluation de
l'add-to-list vient mettre les choses à égalité ? Je n'ai pa s cherché Ã
en savoir plus mais le fait est que, au final, les deux variables ont
exactement le même contenu.
Bref, tout ça pour dire : ça marche parfaitement !
Merci beaucoup pour le grand coup de main :)
--
~ #ID: e20100633 <e20100633()inbox!lv> #TTY: 9-8M 4554
~ TYPE 1707-A3 S/N L3-M2812 SLACKWARE 13.0 RLU #527034
,------- They say that Nethack bugs are Seldon planned
`-----------------------{,_,"> http://porneia.free.fr/
Oui : AUCTeX définit TeX-font-list comme valant LaTeX-font-list au
moment de lancer le mode LaTeX (ça se passe dans la fonction
LaTeX-common-initialization).
--
N.