Donnez vie à vos documents numériques !
 

GREP pour InDesign : appliquer indice à H2O

Nous allons étudier une requête GREP (regex) pour InDesign destinée à appliquer l’attribut Indice au “2” de H2O.

Comme dans un texte typographiquement correct H2O devrait apparaitre en petites capitales* notre requête doit également détecter et capter les lettres minuscules.

 

Rechercher :

 

(?i)(?<=\<H)2(?=O\>)

 

Explications :

 

(?i) : par défaut GREP est sensible à la casse, placer cette instruction en début de requête désactive cette « sensibilité ».

(?<=) : c’est le « look behind positif », qui aurait été mieux traduit par « détection positive en amont ». Détecter en amont de quoi ? Détecter si la chaine de caractères recherchée est bien précédée par les caractères qu’on va placer entre le signe égal et la parenthèse fermante. Ce qui va nous servir de marqueur sans faire partie de la sélection, parce-que ce qu’on veut c’est appliquer l’attribut uniquement au “2”, pas aux caractères qui le précèdent.

\< : signifie « début de mot », c’est-à-dire précédé d’une espace, d’une fin de paragraphe, d’un saut de ligne, d’une ponctuation, etc.

H : on recherche “H” ou “h”, puisque le respect de la casse est désactivé.

La parenthèse fermante marque la fin du « look behind positif ».

2 : on recherche un “2”.

(?=) : c’est le “look ahead positif”, qui aurait été mieux traduit par “détection positive en aval”.  Détecter en aval de quoi ? Détecter si la chaine de caractères recherchée est bien suivie par les caractères qu’on va placer entre le signe égal et la parenthèse fermante. Ce qui va nous servir de marqueur sans faire partie de la sélection, parce-que ce qu’on veut c’est appliquer l’attribut uniquement au “2”, pas aux caractères qui le suivent.

O : on recherche “O” ou “o”, puisque le respect de la casse est désactivé.

\> : signifie « fin de mot », c’est-à-dire qu’il doit être suivi d’une espace, d’une fin de paragraphe, d’un saut de ligne, d’une ponctuation, etc.

La parenthèse fermante marque la fin du « look ahead positif ».

 

On recherche donc un “2” situé devant un “H” ou un “h” placé en début de mot, si et seulement si il est immédiatement précédé par un “O” ou un “o” placé en fin de mot.

 

Remplacer :

 

Soit on remplace par l’attribut Indice** appliqué via un style de caractère, soit on l’applique dynamiquement via un style GREP.

Bien entendu, on pourra adapter cette requête à beaucoup d’autres éléments chimiques.

 

abracadabraGREP, fenêtre rechercher-remplacer

abracadabraGREP style GREP

 

 

* L’attribut “petites capitales” ne fonctionne que sur les lettres minuscules, pas sur les lettres capitales. L’objet de cet article n’étant pas de faire un cours de typographie, il n’y est pas question de la façon d’appliquer l’attribut “petites capitales” aux minuscules. Il n’y est pas non plus question de l’astuce qui permet de transformer directement les capitales par des petites capitales, donc sans remplacement par des minuscules. Je garde ça pour plus tard. 😉

** Style de caractère « Indice » pour lequel on préférera l’attribut « Indice OpenType » dans la mesure du possible.