Overfull \hbox signale qu’une ligne n’a pas pu être coupée pour tenir et dépasse la marge droite ; Underfull \hbox indique l’inverse : une ligne trop lâche, avec des espaces trop étirés. Le coupable habituel est un élément insécable : longue URL, long mot, chaîne de code. Cette page explique pourquoi et comment corriger.
Les deux avertissements
Overfull \hbox (X pt too wide) signifie que des caractères dépassent la marge droite (en mode draft, une règle noire apparaît dans la marge) : c’est un vrai problème visuel. Underfull \hbox (badness N) signifie que TeX n’a pas trouvé de bonne coupure et a trop étiré les espaces : l’urgence est moindre. Les deux indiquent la plage avec « in paragraph at lines A--B ».
Causes courantes
- Un long mot insécable, une longue URL, une chaîne de code ou une référence.
- Une colonne étroite (mise en deux colonnes, intérieur d’un tableau).
- Une courte dernière ligne forcée par
\\.
Corrections
- Reformuler est la correction la plus propre ; un seul mot suffit souvent.
- Pour une URL, utilisez
\url{...}(url/hyperref) afin qu’elle se coupe aux bons endroits. - Chargez microtype : protrusion subtile et extension des fontes réduisent fortement overfull/underfull. C’est une amélioration presque gratuite, à ajouter par défaut.
- Pour un mot récalcitrant, autorisez les coupures avec
\-(césure discrétionnaire) ou une exception\hyphenation; vérifiez que la bonne langue est active (babel), voir « Coupures de ligne et de page ». - Desserrez localement avec
\sloppy/sloppypar. - Pour les cas mineurs, augmentez le seuil avec
\hbadness/\hfuzzafin de masquer l’avertissement sans changer la sortie.
latex
\usepackage{microtype} % overfull/underfull を大幅に減らす / cuts them dramatically
\usepackage{hyperref} % \url{} を提供 / provides \url
...
\url{https://example.com/very/long/path} % 適切な位置で折る / breaks sensibly