Незаполненный \hbox с \input

Незаполненный \hbox с \input

Рассмотрим следующий (минимальный) пример:

\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

Связанный контент