What does the actual phrase above mean?
1 Answer
99 times out of 100 it means you have \\
incorrectly placed at the end of a paragraph. But to dissect the message:
Underfull \hbox (badness 10000) in paragraph at lines 4--5
A box is underfull if there is not enough content to fill its stated size.
If you go \hbox to 5cm{A}
then it makes a horizontal box (\hbox
) 5cm wide just containing an A so it is underfull and will generate a warning, the exact amount of badness depends how much any white space is over-stretched, but here there is no white space so it is infinitely bad, which is arbitrarily truncated to the maximum value, 10000.
By placing \\
at the end of a paragraph you force a line break but there is nothing at all in the forced final line of the paragraph so it is a box that is \textwidth
wide with no content. It appears a bit like vertical space but it is not it is a spurious line at the end of the paragraph. So for example it does not stretch and is not dropped at the start of a page.
-
1
-
2@sreerajt that is exactly the case described here: it is always wrong to have a blank line after
\\
Mar 31, 2020 at 7:48 -
1every line of a paragraph is a box and
\\
at the end of a paragraph forces a spurious empty line May 4, 2020 at 23:40 -
1@ka3ak don't ask new questions as comments on old posts, ask a new question referencing this one. It is anyway impossible to answer without seeing the example code, there are many reasons why the line may or may not break at a particular place. Dec 21, 2020 at 9:25
-
1It is making an empy white line of text so if a page break happens you will get a blank line at the of the page, it is not vertical space it is a line of text with no text. You should (almost) only ever use
\\
in alignment constructs liketabular
oralign
. You vary rarely need to use it mid-paragraph to force a line break but never use it at the end of a paragraph. It does not "typeset with no problem" it makes essentially broken output and tex warns you about it with good reason. @user71207 Jun 19, 2021 at 8:08
parskip
can resolve most of such warnings, you can refer to this answer for more details.