I am compiling a large latex template, here, and always have a few underfull \vbox warnings.
I know that they're just issues with the spacing, discussion here, but is there a way to configure the warning message to tell me where the problem occurs?
That way I can easily find the problem pages, in both the PDF and the source, and decide if I need to fix it.
Best Answer
Most commonly under- and overfull
\vbox
es are associated with pages that don't have enough or too much content on them (as they are constructed as av
ertical list ofbox
es). So, at the page-level, you can find the offending construction by looking at your log. Here's a quick example:The above code contains some dummy text followed by a single "paragraph" that is clearly bigger (vertically) than the text block (has a height of 10% more than
\textheight
). It also includes some tracing commands used for debugging. The.log
showswhich we interpret as page
[10]
and being shipped out without problem. Then, after page[10]
anOverfull \vbox
occurred. Most likely this box is associated with page[11]
as page[10]
was already shipped out before this message occurred. Tracking the page construction of page[10]
is not all that "user-friendly", as Knuth says himself. However, we use the following interpretation from the TeXBook (Chapter 15: How TeX Makes Lines into Pages, p 112):It's therefore obvious that while reading content for page
[10]
TeX reached a point where there thet
otal height could not be reduced to theg
oal height and the page was shipped out/ejected at the previous best break point, with that content spilling over to the subsequent page (page[11]
). Page[11]
only has a single, optimal (yet infinite) cost associated with the breakpoint, so the page is shipped out again... this time overfull as605.00336pt
is55.00336pt
too large for the550pt
page goal.