2007/4/12, Johannes Kuester <jk@typoma.com>:
Hello,
I'm still trying to typeset a "grid-keeping" list (or table).
Wolfgang Schuster supplied me off-list with the attached module.
This works fine except for one problem:
Only the first few lines are placed on the grid, then the grid is lost.
After the next pass (i.e. after the next "texmfstart texexec testfile"),
some more lines are placed on the grid.
(So I need many passes to typeset the complete list correctly).
Why? Any idea?
(I fiddled around with \synchronizegrid, \placeongrid, \moveongrid, and
\startlinecorrection \stoplinecorrection, but none of these seems to work.)
You could try the effect with the following example:
%%%%%%%%%%
\setuplayout[grid=yes, columns=2]
\showgrid
%\showstruts
\usemodule[gridlist]
\starttext
\startcolumns[n=2, balance=no]
%% (columns are not necessary to show the effect)
\dorecurse{20}{
\zeichen{0001}{a}{first letter}{}%
\zeichen{0002}{b}{second letter}{}%
\zeichen{0002}{c}{third letter, this one has a longer entry
which needs more than one line}{}%
}
\stopcolumns
\stoptext
Hi Johannes,
replace the current definition of \zeichenzelle with the following:
\def\zeichenzelle#1%
{\advance\zeichencolumn\plusone
\hbox
{\vtop
{\hsize\zeichenparameter\c!width
\normalbaselines
\zeichenparameter\c!before
\begstrut
\dostartattributes{\????ze\number\zeichencolumn}\c!style\c!color
\zeichenparameter\c!left
#1
\zeichenparameter\c!right
\dostopattributes
\endstrut
\zeichenparameter\c!after}}}
\synchronizegrid in \setupzeichen is not neccessary
\setupzeichen
[\c!textwidth=63.8833mm,
\c!before=\noindenting, %\synchronizegrid,
\c!after=, %\synchronizegrid
]
add the next two commands to your module
\def\startzeichen{\begingroup\offinterlineskip}