[comp.text.tex] Resynchronizing double column text

S.P.Q.Rahtz@ecs.soton.ac.uk (Sebastian Rahtz) (01/24/91)

One of the problems I suffer from when doing double column work is
that the baselines do not align across columns. I *could* adjust all
the variables in sections and lists so that they are multiples of the
\baselineskip (yawn!), but it would be nice to do it in a more
generalized fashiom. My current solution was proposed by Chris Rowley,
and looks  like this:
    \newdimen\desired    \newcount\xlines
    %--------------------------------------
    \def\resynch#1{\xlines=0\desired=\topskip
    \loop\advance\xlines by 1\advance\desired by \baselineskip 
    \ifnum \desired < \pagetotal\repeat
    \advance\desired by -\pagetotal
    \typeout{Resynch by \the\desired at #1}
    \vskip\desired}
    %--------------------------------------
    \let\old@after=\@afterheading
    \def\@afterheading{\old@after\resynch{section}}
    \let\old@endlist=\endlist
    \def\endlist{\old@endlist\resynch{list}}

ie at the end of every heading and every list, find out how much space
has been used on the page so far, and increase it by enough space to
ensure we end up with a multiple of the baselineskip.    

I posted this before, with some questions, which have since partly
been resolved. I post it again to check whether anyone can see fresh
flaws in the approach, or can suggest ways of improving its workings.
Anyone is welcome to steal it, of course!

Sebastian