Betrachten Sie das folgende (minimale) Beispiel:
\documentclass{article}
\parindent0em
\begin{document}
\rule{\textwidth}{0.1em}
%\input{file}
\end{document}
Bisher funktioniert es gut. Aber jetzt habe ich eine Datei namens „file.tex“, die genau dasselbe enthält, nämlich nur \rule{\textwidth}{0.1em}
. Beim Ausführen
\documentclass{article}
\parindent0em
\begin{document}
%\rule{\textwidth}{0.1em}
\input{file}
\end{document}
Ich bekomme eine nicht volle \hbox. Warum?
Antwort1
Die Eingabe entspricht
\documentclass{article}
\parindent0em
\begin{document}
\rule{\textwidth}{0.1em} {}
\end{document}
das am Ende eines Absatzes zwei Leerzeichen enthält und so eine unerwünschte zusätzliche unvollständige Zeile erzeugt.
Wenn Sie hinzufügen \showoutput
, sehen Sie, dass das Obige einen zweizeiligen Absatz ergibt
Zeile eins, eine 0pt breite Einrückungsbox, eine Box mit der Regel und 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
Dann der Grundlinienabstand
...\penalty 300
...\glue(\baselineskip) 12.0
Dann eine zweite Zeile, die nur 0pt hat \rightskip
es geschafft, sowohl den Kleber aus den Räumen und den Kleber aus fallen zu lassen, \parfillskip
so dass es unendlich untervoll ist, gemeldet als Schlechtigkeit 10000
...\hbox(0.0+0.0)x345.0
....\glue(\rightskip) 0.0