Unterfüllte \hbox mit \input

Unterfüllte \hbox mit \input

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 \rightskipes geschafft, sowohl den Kleber aus den Räumen und den Kleber aus fallen zu lassen, \parfillskipso dass es unendlich untervoll ist, gemeldet als Schlechtigkeit 10000

...\hbox(0.0+0.0)x345.0
....\glue(\rightskip) 0.0

verwandte Informationen