次の(最小限の)例を考えてみましょう。
\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}
段落の末尾に 2 つのスペース トークンがあるため、不必要な余分なアンダーフル行が生成されます。
追加すると\showoutput
、上記は2行の段落になります。
1行目、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だけの2行目では\rightskip
、スペースからの接着剤と接着剤の両方が削除された\parfillskip
ため、無限に不足しており、badness 10000として報告されています。
...\hbox(0.0+0.0)x345.0
....\glue(\rightskip) 0.0