Comment définir des exceptions aux motifs de césure?

Bien que les règles de césure de TeX soient plutôt bonnes, elles ne sont pas infaillibles: vous utiliserez parfois des mots sur lesquels TeX se trompera. Ainsi, par exemple, les règles de césure par défaut de TeX (pour l'anglais américain) ne connaissent pas le mot «manuscript», et comme il s'agit d'un mot long, il se peut que vous deviez le couper. Pour corriger cela, vous pourriez écrire les points de coupure possibles à chaque fois que vous utilisez le mot:

... man\-u\-script ...

Ici, chacune des commandes \- est convertie en une césure, si (et seulement si) nécessaire.

Cette technique peut rapidement devenir fastidieuse: vous ne l'accepterez probablement que s'il n'y a pas plus d'un ou deux mots incorrectement coupés dans votre document. L'alternative est de définir les césures possibles dans le préambule du document. Pour ce faire, pour la césure en question, vous écrirez :

\hyphenation{man-u-script}

et la césure serait définie pour l'ensemble du document. Barbara Beeton publie des articles contenant des listes de ces «exceptions à la césure», dans le journal TUGboat; l'exemple de «man-u-script» provient d'un de ces articles.

La liste complète des exceptions à la césure est maintenue à jour sur le CTAN.

Si vous préférez lire les articles, voici la liste:

Year TUGboat issue
2021 42(1):11
2018 39(2):152
2018 39(1):5–6
2015 36(1):5
2013 34(2):113–114
2012 33(1):5–6
2010 31(3):160
2008 29(2):239
2005 26(1):5–6
2002 23(3/4):247–248
2001 22(1/2):31–32

Que faire si votre document comporte plus d'une langue?

C'est simple: sélectionnez la langue appropriée, et faites la même chose que ci-dessus:

\usepackage[french]{babel}
\selectlanguage{french}
\hyphenation{re-cher-cher}

(rien de bien compliqué ici: il s'agit de la césure «correcte» du mot, dans les tables actuelles). Cependant, il y a un problème: tout comme les mots contenant des accents introduits par une macro (comme \'e) ne seront pas coupés, une commande \hyphenation contenant des macros d'accent dans son argument produira une erreur :

\usepackage[french]{babel}
\selectlanguage{french}
\hyphenation{r\'e-f\'e-rence}

nous indique que la césure est improper, et qu'elle sera flushed (jetée). Mais, tout comme la césure des mots acentués est rendue possible par l'utilisation d'un codage de police sur 8 bits, les commandes de césure sont elles aussi rendues correctes par l'utilisation de ce même codage de police sur 8 bits. Pour les motifs de césure historiques, l'encodage est Cork, de sorte que le code complet est :

\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\selectlanguage{french}
\hyphenation{r\'e-f\'e-rence}

Le même type de comportement s'applique à toute langue pour laquelle des polices 8 bits et des motifs de césure correspondants sont disponibles. Puisque vous devez sélectionner à la fois la langue et l'encodage de la police pour que votre document soit correctement composé, il ne devrait pas être trop contraignant de faire les bons choix avant de mettre en place les exceptions de césure.

Les variantes modernes de TeX XeTeX et LuaTeX) utilisent Unicode en interne, et les distributions qui les proposent offrent également des motifs encodés en UTF-8.

Grâce au travail effectué par l'équipe chargée de la césure, l'utilisation de la césure en Unicode est faussement similaire à ce à quoi nous sommes habitués, et vous ne devriez rencontrer aucun problème.


Sources: