[tex-eplain] Running headlines in three-column text

Oleg Katsitadze olegkat at gmail.com
Sun Sep 13 05:18:13 CEST 2009


Hi John,

On Thu, Sep 10, 2009 at 06:15:49PM +0100, John Was wrote:
> To avoid that, I thought I would move over to Eplain's
> \triplecolumns and achieve automatic balancing on the last page with
> \singlecolumn at the end.  This does indeed work, but curiously the
> running headlines are no longer accurate, sometimes anticipating the
> next headword, and sometimes hanging on to the previous one.

I don't remember seeing such problems myself, but I only used two
columns and it was for an index, so the entries rarely split between
pages.

Anyway, you are right that Eplain's column boxing is quite different
from the approach in the TeXbook.  IIRC, the TeXbook macros just let
the text fill page size "naturally", then took that and put it into a
column box.  The "overflowed" text was handled by TeX as it would have
been handled in a single-column format.

On the other hand, Eplain does multi-columns the other way around--it
sets \vsize to <num_columns> * <regular_vsize> to force TeX to
construct a "long scroll", and then uses \vsplit to split that long
scroll into <num_columns> columns.  This sometimes results in a few
lines overflowing the last column.  Eplain unboxes the overflowing
lines so that they are picked up by TeX for the next page to be put
into the first column there.

I think these overflowing lines are causing the behavior you observe.
When TeX constructs the long scroll, it sometimes sees the \mark from
the part of text which will not fit into the last column and will be
spilled into the next page.  Unfortunately, output routine will see
that \mark as \botmark.  I don't see how this can be fixed in the
current implementation of multi-column output in Eplain.

Sorry not to be of help.

Oleg


More information about the tex-eplain mailing list