Forum Wisibility

AUTOMATISATIONS => GREP => Discussion démarrée par: QueenGhost le mai 18, 2013, 12:14:36 pm

Titre: Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 18, 2013, 12:14:36 pm
Re,

Pour simplifier, dans un document InDesign, j'ai 2 paragraphes identifiés chacun par un style de paragraphe:

XXX
YYY

Je souhaiterais les inverser :

YYY
XXX

... et conserver, bien sûr, les styles (de paragraphe et de caractère) qui leur sont appliqués.

Merci d'avance.

Prérequis : je dispose de Multi-Find/Change et (promis ici) pas de Javascript... [ne me traitez pas de menteur ni de ne pas tenir mes promesses par la suite !]   ;)
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 19, 2013, 20:15:02 pm
Je ne dispose pas de multi-find/Change, je ne peux donc pas faire de tests. En tous cas, sans, je n'y arrive pas. Intervertir deux paragraphes qui se suivent, ok mais garder leur style respectifs, je ne trouve pas… :(
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 19, 2013, 20:33:36 pm
Bonsoir Eddy,

MFC ne sert qu'à enchaîner les RR. Reste à les concevoir.

En ce qui concerne la conservation des styles de caractère, Laurent Tournier pencherait du même côté que toi [lire p. 68 de son livre (éd. 2009), 2e pavé grisé].

Si tu abordes toutefois la permutation des 2 "paragraphes" (abstraction temporairement faite des styles qui leur sont appliqués) sous le bon angle, la solution est sans doute ... proche et on s'éloigne de tous "résultats surprenants" (dixit Laurent - réf. précitée, qui n'écrit d'ailleurs à aucun moment que c'est infaisable !).

À suivre...   ;)
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 08:31:34 am
J'ai eu un résultat tout à fait autre lors de mon essai.
Les deux paragraphes ont pris le même style et ne sont pas "resté à leur place comme cité par Laurent dans ce pavé grisé !

Pour ton énoncé, on est bien d'accord qu'il s'agit de deux paragraphes bien précis dans le document et qui se suivent ?
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 20, 2013, 09:17:02 am
Eddy,

Effectivement. Le but est bien d'inverser ces 2 paragraphes précis (l'un, XXX, auquel est appliqué un style de paragraphe, que nous appellerons StylePara_XXX, l'autre, YYY, auquel est appliqué un style de paragraphe, que nous appellerons StylePara_YYY) à chaque fois que l'on rencontre ces 2 paragraphes, à condition qu'ils se suivent et qu'ils se suivent dans cet ordre : XXX, puis YYY.

A suivre...   ;)
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: marroon le mai 20, 2013, 10:47:24 am
Ha oui d'accord. Tu as donc plusieurs paragraphes XXX et plusieurs paragraphes YYY que tu voudrais inverser. J'ai cru qu'il n'y en avait qu'un seul et je me suis dis "mais...pourquoi est-ce qu'il ne fait pas un couper/coller, simplement"  ;D

Je vais suivre votre raisonnement et m'aider du livre de Laurent Tournier pour voir si j'arrive à un résultat satisfaisant.
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 20, 2013, 11:21:23 am
Bonjour Marroon,

Cela m'arrive d'être fatigué mais pas à ce point !! ( ;D )
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 12:13:34 pm
Grrr, je n'y parviens pas…
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 20, 2013, 12:20:26 pm
Eddy,

Avec quel Grep as-tu abordé la permutation ?
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 12:39:06 pm
En fait, après le premier échec, j'ai essayé de rechercher des possibilités.
Rechercher deux paragraphes qui se suivent, c'est pas compliqué, mais rechercher deux paragraphes dont le premier à un style et l'autre un second style me fait tourner bourrique… et à ce niveau, je n'en suis pas encore à la permutation !
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 20, 2013, 13:11:01 pm
Eddy,

Je connais tes connaissances en Grep (tu m'as aidé suffisamment !  ;)).

La lecture du livre de Laurent (et d'autres) m'a fait prendre conscience des limitations "apparentes" des recherches Grep. "Apparentes" seulement, et cela fait longtemps que le "là où Grep ne semble pas y arriver" n'est plus une impasse pour moi.

Le problème ici devient donc :

- Je veux trouver "XXX" et "YYY".
- Je veux les permuter.
- Je veux conserver les styles (occupons-nous des styles de paragraphe dans l'immédiat).

Pourquoi ne peut-on y arriver "apparemment ?
Parce que Grep recherche du texte "brut" et se fiche des styles.

Donc, on doit l'obliger à ne pas se ficher de ces styles.

Voilà ton (le) problème !

Si tu veux... je te dis comment j'ai "contourné" cet "ennui". Sinon je te laisse chercher.   ;)
... En attendant que tu ou quelqu'un d'autre propose une solution que j'aurai zappée. Nul n'est parfait (et surtout pas moi !).
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 14:33:30 pm
Je suis occupé de travailler quelques photos du W-E dernier et j'y réfléchis simultanément…
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 15:39:54 pm
Bah écoute, je veux bien ta procédure car j'ai beau retourner le problème dans tous les sens, je ne vois pas…
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 20, 2013, 16:30:30 pm
Eddy,

6 RR, réunies dans un MFC. 1 clic et la question de la permutation de 2 paragraphes XXX et YYY qui se suivent est solutionnée. Qui plus est, ils ont conservé le style de paragraphe qui leur était appliqué. Reste à voir la question des styles de caractère dans un 2nd temps, mais cela sera sur le même principe.

Prérequis : on a vérifié que "$" et "£" ne sont pas présent dans le document parce que l'on va les utiliser comme délimiteurs.

Le 1er RR permet d'indiquer qu'un style de paragraphe (StylePara_XXX) est appliqué à XXX, en insérant un "$" au début de chaque paragraphe XXX :

Rechercher : ^(.)
Remplacer : $$0
Rechercher le format : StylePara_XXX

Le 2e RR permet d'indiquer qu'un style de paragraphe (StylePara_YYY ) est appliqué à YYY, en insérant un "£" au début de chaque paragraphe YYY :

Rechercher : ^(.)
Remplacer : £$0
Rechercher le format : StylePara_YYY

Le 3e RR permute 2 paragraphes XXX et YYY qui se suivent (dans cet ordre) :

Rechercher : ([$][^$]+?[\r])([£][^$]+?[\r])
Remplacer : $2$1

Le 4e RR recherche Le délimiteur "$" et ré-applique le style de paragraphe StylePara_XXX :

Rechercher : $
Remplacer :
Remplacer le format : StylePara_XXX

Le 5e RR recherche Le délimiteur "£" et ré-applique le style de paragraphe StylePara_YYY :

Rechercher : £
Remplacer :
Remplacer le format : StylePara_YYY

Le 6e RR recherche Les délimiteurs "$" et "£" et les supprime:

Rechercher : [$|£]
Remplacer :

Voilà. L'orthodoxie Grep fait peut-être parfois défaut. Mais cela fonctionne.

Pour ce qui est de la solution à mon autre post :

Grep est fantastique...[10] / Styles de paragraphe "d'après"

S'y référer.

Royalement vôtre.   ;)
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 16:50:48 pm
Ah oui bravo !!! Je n'ai absolument pas pensé à "remplacer" le style de paragraphe par une délimitation avec caractères. Ingénieux et efficace !
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: QueenGhost le mai 20, 2013, 16:59:18 pm
Merci Eddy,

Ceci dit... [Tu sais qu'avec moi, il y a toujours un "mais" ou un "ceci dit" !  ;) ], dès que l'on va aborder la question des styles de caractère (selon la même philosophie), le nombre de RR risque d'exploser...

C'est pourquoi, en termes de production, un [JS] s'avèrera sans doute rapidement et totalement nécessaire. Javascript "pense" selon des démarches que le RR d'ID est évidemment loin d'être capable d'appéhender. Désolé !
Titre: Re : Grep est fantastique...[11] / inverser 2 paragraphes
Posté par: Eddy le mai 20, 2013, 17:04:48 pm
Citation de: QueenGhost
dès que l'on va aborder la question des styles de caractère (selon la même philosophie), le nombre de RR risque d'exploser...
Je n'en doute pas un instant… Mais en cas de besoin, ce genre de javascript s'écrit facilement et est relativement rapide à mettre en place.