\hbox insuficientemente lleno con \input

\hbox insuficientemente lleno con \input

Considere el siguiente ejemplo (mínimo):

\documentclass{article}    
\parindent0em    
\begin{document}
    \rule{\textwidth}{0.1em}
    %\input{file}
\end{document}

Funciona bien hasta ahora. Pero ahora tengo un archivo llamado "file.tex" que contiene exactamente lo mismo, es decir solo \rule{\textwidth}{0.1em}. al correr

\documentclass{article}    
\parindent0em    
\begin{document}
    %\rule{\textwidth}{0.1em}
    \input{file}
\end{document}

Obtengo un \hbox insuficientemente lleno. ¿Por qué?

Respuesta1

La entrada es equivalente a

\documentclass{article}    
\parindent0em    
\begin{document}
    \rule{\textwidth}{0.1em} {} 

\end{document}

que tiene dos fichas de espacio al final de un párrafo, por lo que produce una línea falsa extra completa.


Si agrega \showoutput, verá que lo anterior forma un párrafo de dos líneas.

línea uno, un cuadro de sangría de 0 puntos de ancho, un cuadro con la regla y 0 puntos \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

Luego el espaciado de la línea base

...\penalty 300
...\glue(\baselineskip) 12.0

Luego, una segunda línea que solo tiene 0 puntos \rightskiplogró eliminar tanto el pegamento de los espacios como el pegamento, \parfillskippor lo que está infinitamente insuficiente y se informa como maldad 10000.

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

información relacionada