[texhax] Blank output with just \hrule

Oleg Katsitadze olegkat at gmail.com
Sun Jan 4 23:16:49 CET 2009


On Sun, Jan 04, 2009 at 12:19:23PM -0700, Ludwig Mises wrote:
> \hrule
> \hrule
> \hrule
> \hrule
> 
> \bye
> 
> This results in blank output, yet if I insert a word anywhere between
> any of those hrules, suddenly all 4 hrules show up.  Will someone
> point me to the explanation (if possible)?

When you don't specify width, \hrule results in a rule as wide as an
enclosing box.  The enclosing box in this case is the \vbox
constructed by the output routine.  And the width of that \vbox is
zero because there is "nothing" on the page (that is, nothing that
contributes to page width).

Adding a single character to the page causes TeX to create a paragraph
consisting of a single line, or \hbox, the width of which is \hsize.
Hence the top-level \vbox's width becomes \hsize, and the \hrules now
fill the width of that \vbox.

Hope this makes sense,
Oleg


More information about the texhax mailing list