Donnez vie à vos documents numériques !
 

GREP pour InDesign : anti mot orphelin

GREP pour InDesign : anti mot orphelin

 

Nous allons étudier une requête GREP (regex) pour InDesign destinée à éviter d’avoir un mot tout seul en dernière ligne de paragraphe.
En effet, autant InDesign nous propose beaucoup des options de césure nécessaires en français, autant rien n’est prévu pour éviter à un mot de se retrouver tout seul à la fin d’un paragraphe. Je ne sais pas pour les autres langues mais en français et en anglais* c’est typographiquement incorrect, et dans tous les cas ce n’est pas très joli.
* En anglais typographique il existe un mot pour nommer ce cas de figure : runt.

 

On va donc chercher à détecter la dernière espace de chaque fin de paragraphe et lui appliquer l’attribut “Sans retour automatique”, pour forcer la présence d’au moins deux mots sur la dernière ligne. Comme son nom le suggère l’attribut “Sans retour (à la ligne) automatique” interdit la césure, sans avoir à modifier aucun des caractères qui composent le texte.
On peut utiliser cette requête en Rechercher-remplacer GREP ou bien en Style GREP.

\x20(?=\S+$)

Explication :

 

\x20 : il s’agit de l’espace “normale”, dite “justifiante”, celle qu’on obtient avec la barre espace du clavier. On aurait pu utiliser ” ” à la place mais dans un tuto textuel c’est source de confusion parce-que forcément invisible. Par-contre ici on fait bien attention à ne pas utiliser \s (espace quelconque) car on ne voudrait pas capter les espaces insécables ou les espaces fines précédant les fins de paragraphe se terminant par une ponctuation haute (? ou !), un pourcentage (%) ou un symbole monétaire (€), etc.

(?=) : 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 le caractère qu’on va placer entre le signe égal et la parenthèse fermante. Caractère 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 à l’espace, pas aux caractères qui suivent.
Ce qui est très subjectif car on pourrait tout aussi bien appliquer l’attribut “Sans retour automatique” à tous les caractères situés entre l’espace et la fin de paragraphe, ça n’y changerait pas grand-chose mais dans l’esprit je préfère.

\S : en GREP l’utilisation d’un métacaractère en capitale inverse la requête. Comme “\s” signifie “espace quelconque”, alors “\S” signifie “caractère quelconque sauf l’espace”.

+ :  signifie « présent une ou plusieurs fois ».

$ : signifie “fin de paragraphe.

On recherche donc une espace, si et seulement si elle est suivie d’un ou plusieurs caractères consécutifs immédiatement suivis d’une fin de paragraphe.
Espace à laquelle on applique l’attribut “Sans retour automatique”, via un style de caractère parce-que c’est toujours plus souple que d’appliquer l’attribut directement.

 

À noter :

 

Si on n’applique pas l’attribut “Sans retour automatique” à tous les caractères situés entre l’espace et la fin de paragraphe on pourrait craindre que ça force la césure du dernier mot du paragraphe, parce-que ça aussi c’est laid et donc “interdit” : aucune crainte à avoir si on utilise correctement les réglages de Césure de InDesign, c’est-à-dire en décochant les options “Couper le dernier mot” et “Césure sur la colonne”. Comme ça ne se fait pas non plus en français la troisième option devrait aussi être décochée mais c’est hors-sujet.

 

À bientôt pour un autre abracadabraGREP.

 

 abracadabraGREP, fenêtre rechercher-remplacer

abracadabraGREP, fenêtre style GREP

abracadabraGREP-mot-orphelin-4

abracadabraGREP, les césures