Ceci est une ancienne révision du document !
Pourquoi la césure ne fonctionne pas?
Version courte
Vérifiez avant toute chose que vous avez bien sélectionné la langue du document via babel ou polyglossia.
- Si votre problème concerne un mot ou groupe de mots qui contient déjà un trait d'union, voir ici ;
- S'il s'agit d'un mot étranger à la langue principale du document, deux solutions au choix :
- Définir cette langue comme langue secondaire du document et utiliser la commande appropriée sur le passage concerné :
- Dans les autres cas, il s'agit probablement d'un mot pour lequel il n'y a pas de césures prédéfinies. Dans ce cas, définissez-les vous-mêmes.
Explications et autres références
Comme expliqué dans la question « Comment fonctionne la césure en TeX ? », il est peu probable que vous obteniez des résultats corrects en composant un document dans une langue en utilisant les règles de césure d'une autre langue. Si vous êtes un utilisateur de , sélectionnez la langue appropriée en utilisant babel (ce qui peut demander d'installer ce langage, comme présenté en question « Comment utiliser un nouveau langage avec “babel” ? »).
Mais quelles sont les autres sources d'erreur possibles ?
Depuis la version 3.0 de , les limites sur la distance à laquelle la césure d'un mot peut avoir lieu sont paramétrables (voir « Pourquoi les coupures de mots sont bizarres ? »).
ne coupera pas à moins de
\lefthyphenmin
caractères après le début d'un mot, ni à moins de \righthyphenmin
caractères avant la fin d'un mot. Dès lors, il ne coupera pas du tout un mot plus court que la somme de ces deux valeurs. Par exemple, puisque les minimums sont 2 et 3 pour l'anglais, ne coupera pas un mot de moins de 5 lettres, s'il pense que le mot est anglais. Notez que, dans certains cas, les paramètres en question peuvent être modifié par erreur dans des commandes que vous utilisez.
Traduire
TeX won't hyphenate a word that's already been hyphenated. For example, the (caricature) English surname Smyth-Postlethwaite wouldn't hyphenate, which could be troublesome. This is correct English typesetting style (it may not be correct for other languages), but if needs must, you can replace the hyphen in the name with a \hyph
command, defined \def\hyph{-\penalty0\hskip0pt\relax}
. This is not the sort of thing this FAQ would ordinarily recommend… The hyphenat package defines a bundle of such commands (for introducing hyphenation points at various punctuation characters).
There may be accent commands in the word. The causes of and remedies for this effect are discussed in accents and hyphens.
The hyphenation may simply not have been spotted; while TeX's algorithm is good, it's not infallible, and it does miss perfectly good hyphenations in some languages. When this happens, you need to give TeX explicit instructions on how to hyphenate.
The \hyphenation
command allows you to give explicit instructions. Provided that the word will hyphenate at all (that is, it is not prevented from hyphenating by any of the other restrictions above), the command will override anything the hyphenation patterns might dictate. The command takes one or more hyphenated words as argument — \hyphenation{ana-lysis pot-able}
; note that (as here, for analysis) you can use the command to overrule TeX's choice of hyphenation (ana-lysis is the British etymological hyphenation; some feel the American hyphenation feels “unfortunate”…).
If you are working with a multilingual document in LaTeX, you may define different rules for different languages using \babelhyphenation
, which is similar to \hyphenation
but accepts a list of languages as the first (optional) parameter.
Source: My words aren't being hyphenated