Les règles en usage en typographie française sont plutôt strictes sur le terrain des appels de note. Or, le terrain en question est quelquefois le lieu d'un tel pullulement — mais non, je n'ai rien contre l'édition universitaire… — que la tâche du maquettiste nettoyeur de texte devient vite harassante. En effet, un auteur mal avisé aura tôt fait de planter tous ses appels de note de la façon suivante :

Placement défectueux des appels de note.

…alors que des mœurs séculaires prescrivent plutôt cette disposition :

Placement orthodoxe des appels de note.

En d'autres termes, on préconise de rattacher directement le numéro d'appel de note à la dernière unité lexicale, ce qui revient à brûler la politesse à toute ponctuation fermante. Je ne me prononcerai pas ici sur le bien-fondé d'une telle loi, ce qui nous occupe ici est sa mise en application.

Un réflexe bien pardonnable du maquettiste InDesign serait de se tourner vers le Rechercher / Remplacer et d'échafauder la requête Grep ultime qui puisse le tirer d'affaire. Hélas, il ne tardera pas à s'apercevoir que le transport du caractère d'appel de note (dit aussi « Marqueur de référence de note de bas de page » dans le jargon d'InDesign) est un fichu casse-tête.

Note. — À ce sujet, on relira avec profit cet article de Laurent Tournier : « GREP et les notes de bas de page », article qui intégrait d'ailleurs la toute première version du script que je livre aujourd'hui de façon plus officielle.

Le script MigrationAppels

Initialement baptisé PonctNote, le script MigrationAppels.js procède tout simplement à la transformation illustrée dans l'image ci-dessus. Ainsi, il recherche dans le document actif tout motif dans lequel un appel de note serait illégalement précédé d'un ou plusieurs signes de ponctuation fermants (point, virgule, point-virgule, points de suspension, points d'interrogation ou d'exclamation, guillemet fermant) ainsi que les éventuelles espaces limitrophes. Sitôt qu'un tel motif est décelé, l'appel de note est déplacé vers la gauche de façon à prévaloir sur la ponctuation.

MigrationAppels est essentiellement identique à la mouture d'origine, à ceci près que le code a été légèrement repeigné, que le script affiche désormais le nombre de modifications opérées et que la procédure est globalement annulable par Cmd Z.