TransWikia.com

What does "overfull hbox" mean? (Why is there a black mark at the end of a line?)

TeX - LaTeX Asked by Phil Miller on May 16, 2021

I often see output from TeX with the warning overfull hbox, badness 10000. What does this message mean?

4 Answers

Quoting Phil Miller answer, for completeness:

This message means that a line of your document is too long to fit within the horizontal space on the page, and TeX couldn't find a good way to break it apart. This will usually result in text hanging out past the margin, possibly even running off the side of the page. Common causes are long words without proper hyphenation information and long displayed equations.

These warnings can also happen by manually breaking works with - as commented by Sebastian. This can be fixed by importing the package usepackage{hyphenat} and using its command hyp{} to break words, i.e., hyphenatedhyp{}word instead of hyphenated-word. But as can be easily noted, typing hyp{} all the time can be quite annoying. Here come in the babel package shorthands. See the question How to create an alternative to shortcut "= or hyp{}?, to learn about the usage of the ~= shorthand. So you can write like hyphenated~=word, instead of hyphenatedhyp{}word.

Badboxes warnings can also be caused by breaking lines with and hbox as demonstrated on this other question: How to stop newsavebox giving me bad boxes warnings or how to use better names with setbox?

You can control how the overfull hbox, badness work configuring these latex parameters explained on:

  1. badness is an integer from 0 to 10000 that is a measure of the quality of the spacing in any given box. https://en.wikibooks.org/wiki/TeX/definition/badness

  2. tolerance A parameter that tells TeX how much badness is allowable without error. [number] can range from 0 to 10000, and there are no units. https://en.wikibooks.org/wiki/TeX/tolerance

  3. The TeX primitive pretolerance is an integer parameter that is used in TeX's line breaking algorithm as described below. The quantity is an integer from -1 to 10000.

    If pretolerance is an integer from 0 to 10000, then TeX's line breaking algorithm first attempts to break up a paragraph without hyphenation. In this attempt TeX ties to minimize the badness of each line. If TeX can break up a paragraph so that none of the lines have badness greater than pretolerance, then TeX accepts it. If this is not possible, TeX will re-attempt to break up the paragraph with the allowance of hyphenation of words. In this second attempt, the integer parameter tolerance is used instead of pretolerance. If TeX is unsuccessful in the second attempt an error is reported in the log file.

    If pretolerance is -1, then TeX bypasses the first attempt at breaking a paragraph without hyphenation. https://en.wikibooks.org/wiki/TeX/pretolerance

On these questions there are more related information about line breaking:

  1. What is the meaning of fussy, sloppy, emergencystretch, tolerance, hbadness?
  2. What's the difference between tolerance and badness ?
  3. Why is Latex hyphenating some words automatically, but others dont?
  4. Long blank space in the middle of paragraph

Hyphenation:

  1. Is it still worthwhile to let TeX try line-breaking without hyphenation?
  2. How to add global hyphenation rules?
  3. How to manually set where a word is split?

Bad boxes:

  1. Do I have to care about bad boxes?
  2. How to avoid using sloppy document-wide to fix overfull hbox problems?
  3. Overfull hbox - How do I fix this?

Table of Contents:

  1. Fixing overfull hbox in table of contents removes too many dots
  2. Memoir mysterious overfull hbox in TOC when mathptmx is used
  3. Overfull hbox warning for TOC entries when using memoir documentclass
  4. titletoc: section titles ragged right
  5. How to typeset the table of contents raggedright in memoir?
  6. Table of contents: section titles ragged right

Miscellaneous:

  1. underfull vbox
  2. What is the difference between hspace*{fill} and hfill?
  3. how to suppress "Underfull vbox (badness 10000) ... while output is active"?
  4. http://www.tex.ac.uk/FAQ-overfull.html (La)TeX makes overfull lines
  5. http://www.tex.ac.uk/FAQ-paraparam.html Why does it ignore paragraph parameters?

Correct answer by user on May 16, 2021

This message means that a line of your document is too long to fit within the horizontal space on the page, and TeX couldn't find a good way to break it apart. This will usually result in text hanging out past the margin, possibly even running off the side of the page. Common causes are long words without proper hyphenation information and long displayed equations.

Answered by Phil Miller on May 16, 2021

The first answer doesn't really help somebody fix the problem, though. Take a look at:

http://www.tex.ac.uk/cgi-bin/texfaq2html?label=overfull

and

http://en.wikibooks.org/wiki/LaTeX/Text_Formatting#Hyphenation

to learn about tolerance, pretolerance, and hyphenpenalty and how they affect the overfull/underfull behavior. Also, if you're fixing the document by hand, you can add hyphenation dictionary entries with hyphenation or add discretionary hyphens into words with -.

Answered by dgatwood on May 16, 2021

I always like to see a visual example of these Latex messages. The images above show probably the most frequent occurrence of Overfull hbox. If you visuals too, her you go:

-> NOTE: The explanations above are very good, so consult them in addition.

The Latex view: This is in Latex

The compiled pdf view: compiled pdf

The problem is, that sometimes Latex is not able to fit certain information in a needed format on the compiled pdf. As you can see here, the - overflows the right border which here causes the warning. Hope this helps!

Answered by LC117 on May 16, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP