<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18812">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face="Arial Unicode MS">Hello</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">I typeset a slow-moving large-format 
Latin dictionary in three columns, and hitherto have used the rather tortuous 
code in the TeX book (answer to exercise 23.4 on page 335).&nbsp; This works 
fine, but&nbsp;when I get to the end of a letter of the alphabet (Q has just 
been completed) the final page always has to have its text broken manually 
into&nbsp;three equal columns (I have failed to achieve anything workable with 
an \if...\else...\fi expression to switch the output routine on the final 
page).</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">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.&nbsp; 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.&nbsp; (The dictionary's 
headline format is to have the left-hand column headed by the headword relevant 
to the first line in that column, even if it is in middle of a word's entry, and 
the right-hand column headed by the headword relevant to the last line in that 
column; there is no distinction between recto and verso pages.)</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">The \mark commands that I use to call 
the headwords into the headline are completely analogous to Knuth's code on p. 
260 of the TeX book:&nbsp; at the start of a new entry (analogous to Knuth's 
\beginsection) I insert&nbsp;a \mark *before* the vertical space that precedes 
the headword, and I then put a \mark after the headword has been typeset.&nbsp; 
I use exactly the \noexpand\else trick in the \marks that Knuth gives, and in 
the headline I use \iftrue\botmark and \iffalse\topmark just as he 
describes.</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">The conclusion seems to be that the 
multi-column facility in Eplain somehow differs in its page boxing from the 
\output and \shipout mechanisms in plain TeX, in a way which causes the \topmark 
and \botmark not to be true as they are said to be in the table at the bottom of 
page 258 of the TeX book.&nbsp; Can anyone shed light on this, and if possible 
suggest a workaround?&nbsp; I'm not really stuck since the chore of manually 
splitting the last page into equal columns is not too onerous, but it would 
obviously be more convenient not to have to worry about this - the main 
irritation being that I can't balance the final page until absolutely every 
correction is in place.</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">I should add that I am in the process 
of moving the job over into a Unicode-compliant version of the typeface so that 
I can enjoy the benefit of XeTeX, and it may be that the version of Eplain that 
comes with that will have this ironed out - I can do a dummy&nbsp;run in XeTeX 
some time soon if people think that would help.</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">Best</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS">John</FONT></DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face="Arial Unicode MS"></FONT>&nbsp;</DIV></BODY></HTML>