Considere o seguinte exemplo (mínimo):
\documentclass{article}
\parindent0em
\begin{document}
\rule{\textwidth}{0.1em}
%\input{file}
\end{document}
Funciona bem até agora. Mas agora tenho um arquivo chamado "file.tex" que contém exatamente o mesmo, ou seja, apenas \rule{\textwidth}{0.1em}
. Ao correr
\documentclass{article}
\parindent0em
\begin{document}
%\rule{\textwidth}{0.1em}
\input{file}
\end{document}
Recebo um \hbox insuficiente. Por que?
Responder1
A entrada é equivalente a
\documentclass{article}
\parindent0em
\begin{document}
\rule{\textwidth}{0.1em} {}
\end{document}
que tem dois marcadores de espaço no final de um parágrafo, produz uma linha espúria extra e insuficiente.
Se você adicionar \showoutput
, verá que o texto acima forma um parágrafo de duas linhas
linha um, uma caixa de recuo de 0pt de largura, uma caixa com a regra e 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
Então o espaçamento da linha de base
...\penalty 300
...\glue(\baselineskip) 12.0
Em seguida, uma segunda linha que tem apenas 0pt \rightskip
conseguiu soltar a cola dos espaços e a cola de \parfillskip
modo que fica infinitamente insuficiente, relatada como maldade 10000
...\hbox(0.0+0.0)x345.0
....\glue(\rightskip) 0.0