[tex-eplain] Running headlines in three-column text
john.was at ntlworld.com
Thu Sep 10 19:15:49 CEST 2009
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). This works fine, but 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 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).
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. (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.)
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: at the start of a new entry (analogous to Knuth's \beginsection) I insert a \mark *before* the vertical space that precedes the headword, and I then put a \mark after the headword has been typeset. 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.
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. Can anyone shed light on this, and if possible suggest a workaround? 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.
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 run in XeTeX some time soon if people think that would help.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the tex-eplain