考慮以下(最小)範例:
\documentclass{article}
\parindent0em
\begin{document}
\rule{\textwidth}{0.1em}
%\input{file}
\end{document}
到目前為止效果很好。但現在,我有一個名為「file.tex」的文件,其中包含完全相同的內容,也就是說僅包含\rule{\textwidth}{0.1em}
.跑步時
\documentclass{article}
\parindent0em
\begin{document}
%\rule{\textwidth}{0.1em}
\input{file}
\end{document}
我得到一個未滿的 \hbox。為什麼?
答案1
輸入相當於
\documentclass{article}
\parindent0em
\begin{document}
\rule{\textwidth}{0.1em} {}
\end{document}
它在段落末尾有兩個空格標記,因此會產生一個虛假的額外未滿行。
如果添加\showoutput
,您會看到上面的內容成為一個兩行段落
第一行,一個 0pt 寬的縮排框,一個有規則和 0pt \rightskip 的框
...\hbox(1.00006+0.0)x345.0
....\hbox(0.0+0.0)x0.0
....\hbox(1.00006+0.0)x345.0
.....\rule(1.00006+0.0)x345.0
....\glue(\rightskip) 0.0
然後是基線間距
...\penalty 300
...\glue(\baselineskip) 12.0
然後第二條線只有 0pt,\rightskip
它成功地從空間和膠水中掉落了膠水,\parfillskip
因此它無限未滿,報告為壞度 10000
...\hbox(0.0+0.0)x345.0
....\glue(\rightskip) 0.0