[(La)TeX] Remplacement en mode math uniquement

Le
Denis Bitouzé
Bonjour,

un peu pris par le temps et ne connaissant que mal les expressions
régulières, je sollicite les compétences de certains virtuoses de ce
forum (non, non, je n'en fais pas trop).

Dans un fichier .tex, que j'édite avec le mode d'AucTeX, je
souhaiterais effectuer certains remplacements (en l'occurrence ", " par
"," mais peut importe) mais uniquement en modes mathématiques,
délimités par, au choix,

-- $ et $
-- [ et ]
-- begin{equation} et end{equation}
-- begin{equation*} et end{equation*}
-- begin{align} et end{align}
-- begin{align*} et end{align*}

et d'autres encore

J'ai un peu testé, pour un truc plus simple, M-x replace-regexp mais
j'ai été gêné par le fait que le remplacement n'est pas interactif,=
au
contraire de M-%

Merci d'avance pour toute piste
--
Denis
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ralf Angeli
Le #21781751
* Denis Bitouzé (2007-11-13) writes:

Dans un fichier .tex, que j'édite avec le mode d'AucTeX, je
souhaiterais effectuer certains remplacements (en l'occurrence ", " par
"," mais peut importe) mais uniquement en modes mathématiques,
délimités par, au choix,

-- $ et $
-- [ et ]
-- begin{equation} et end{equation}
-- begin{equation*} et end{equation*}
-- begin{align} et end{align}
-- begin{align*} et end{align*}

et d'autres encore...

J'ai un peu testé, pour un truc plus simple, M-x replace-regexp mais
j'ai été gêné par le fait que le remplacement n'est pas interactif, au
contraire de M-%...



Si tu veux quelque chose interactif:

C-M-% , RET ,(if (texmathp) "," ", ") RET

Si tu veux quelque chose non-interactif:

M-x replace-regexp RET , RET ,(if (texmathp) "," ", ") RET

--
Ralf
Denis Bitouzé
Le #21781741
Le Tue, 13 Nov 2007 20:53:22 +0100
Ralf Angeli
Si tu veux quelque chose interactif:

C-M-% , RET ,(if (texmathp) "," ", ") RET



Merci mais... euh... ça ne marche pas chez moi :

-- ça cherche (et trouve) des occurrences de "," alors que je
cherche celles de ", " ;
-- ça cherche (et trouve) des occurrences en dehors des modes maths
alors que je voudrais ça ne cherche que dans ces modes ;
-- pour les occurrences qui sont à l'intérieur de modes maths, si je
tape « y », ça laisse telles quelles les occurrences et ne les
remplace pas.

Je me suis peut-être mal exprimé. Je voudrais ne chercher les ", "
qu'en modes mathématiques et alors les remplacer (interactivement) par
",".

Encore merci !
--
Denis
Ralf Angeli
Le #21781671
* Denis Bitouzé (2007-11-14) writes:

Le Tue, 13 Nov 2007 20:53:22 +0100
Ralf Angeli
Si tu veux quelque chose interactif:

C-M-% , RET ,(if (texmathp) "," ", ") RET



Merci mais... euh... ça ne marche pas chez moi :

-- ça cherche (et trouve) des occurrences de "," alors que je
cherche celles de ", " ;



Il y a une espace après la virgule dans l'instruction plus haut. Ça
veut dire, si tu veux chercher ", " tu dois entrer la virgule plus
l'espace.

-- ça cherche (et trouve) des occurrences en dehors des modes maths
alors que je voudrais ça ne cherche que dans ces modes ;



Oui, parce qu'on peut entrer le test du mode math seulement dans le
deuxième argument de `query-replace-regexp', exclure les ", " qui ne
se trouve pas dans le mode math n'est pas possible.

-- pour les occurrences qui sont à l'intérieur de modes maths, si je
tape « y », ça laisse telles quelles les occurrences et ne les
remplace pas.



Oui, l'instruction seulement remplace les ", " qui sont dans le mode
math.

Je me suis peut-être mal exprimé. Je voudrais ne chercher les ", "
qu'en modes mathématiques et alors les remplacer (interactivement) par
",".



Je ne sais pas une solution pour ça sans programmer une fonction
spéciale.

--
Ralf
Publicité
Poster une réponse
Anonyme