Que signifie l’erreur : « Improper \hyphenation
will be flushed » ?#
Message :
Improper \hyphenation
Origine : TeX
Lorsque vous souhaitez spécifier une exception de coupure avec \hyphenation
,
il faut s’assurer que l’argument ne contient que des lettres,
et des traits d’union (-
) pour indiquer les points de coupure. Ceci,
sous peine d’obtenir le message suivant en LaTeX :
! Improper \hyphenation will be flushed.
\leavevmode ->\unhbox
\voidb@x
<*> \hyphenation{Ji-m\'e
-nez}
Il dispsoe d’un équivalent en TeX :
! Improper \hyphenation will be flushed.
\'#1->{
\accent 19 #1}
<*> \hyphenation{Ji-m\'e
-nez}
Comme mentionné dans la question
« Pourquoi la césure ne fonctionne pas ? », les « mots »
contenant un commande de type \⟨accent⟩
ne peuvent pas être coupés
en fin de ligne. Par conséquent, tout mot de ce type est considéré
comme incorrect dans une commande \hyphenation{}
. Le problème est que
les caractères accentués sont des glyphes dans certaines fontes (ils sont
alors permis) mais d’autres codages de fontes produisent
des constructions complexes exigeant la primitive \accent
. Par exemple,
si vous utilisez l’encodage T1
, \"u
est un glyphe unique. Ainsi,
le cas suivant sera valide :
\usepackage[T1]{fontenc}
\hyphenation{T\"ur-stop-per}
La même exception de coupure utilisée avec le codage par défaut OT1
aurait produit cette erreur.
La solution au problème consiste donc à utiliser une police de caractères qui contient le caractère accentué ; ainsi l’accent est « caché » aux mécanismes de césure et tout se passe bien.
Pour les utilisateurs de LaTeX, c’est très facile : il suffit d’utiliser
\usepackage[T1]{fontenc}
, et les commandes de lettres accentuées
telles que le \'e
dans \hyphenation{Ji-m\'e-nez}
deviennent automatiquement
un seul caractère accentué avant que ne se déclenche l’algorithme de coupure de mots.
Le LaTeX Companion, en page 463, donne une explication des différences de caractères dans les codages principaux.
Sources
FAQ erreurs - Lettre I, sur le site Developpez.com
LaTeX Companion, 2e édition, Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley (Pearson, 2006)