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 %%%%%%%%%% (This should result in an annotated list of mathematical symbols, showing the Unicode number, the math symbol, and some explanation (and where the explanation could need more than one line); quite similar to the list I published in "Detailtypografie" (2nd ed. 2004), but for another -- quite pressing -- project.) Johannes -- Johannes Kuester typoma mailto:[EMAIL PROTECTED] http://www.typoma.com
\startmodule[gridlist] \unprotect \def\????ze{@@@@ze} % ZEichen \newcount\zeichencolumn \def\setupzeichen {\dodoubleempty\dosetupzeichen} \def\dosetupzeichen[#1][#2]% {\ifsecondargument \dodosetupzeichen[#1][#2] \else \dodosetupzeichen[\v!line][#1] \fi} \def\dodosetupzeichen[#1][#2]% {\def\docommand##1% {\getparameters[\????ze##1][#2]} \processcommalist[#1]\docommand} \def\zeichenparameter#1% {\csname \ifcsname\????ze\number\zeichencolumn#1\endcsname \????ze\number\zeichencolumn \else \????ze\v!line \fi #1\endcsname} \definehspace[myindent][10pt] \def\startunisym% {\bgroup% \setbox\scratchbox\hbox\bgroup} \def\stopunisym% {\egroup% \raise.3ex\hbox{\box\scratchbox} \egroup} \def\zeichen% {\ignorespaces\permitspacesbetweengroups \doquadruplegroupempty\dozeichen} \def\dozeichen#1#2#3#4% {\begingroup \zeichenparameter\c!before \zeichencolumn\zerocount \hbox\!!to\zeichenparameter\c!textwidth {\zeichenzelle{#1}% \zeichenzelle{#2}% \hfill \zeichenzelle{#3}}% \zeichenparameter\c!after \endgroup} \def\zeichenzelle#1% {\advance\zeichencolumn\plusone \hbox {\vtop {\hsize\zeichenparameter\c!width \zeichenparameter\c!before \begstrut \dostartattributes{\????ze\number\zeichencolumn}\c!style\c!color \zeichenparameter\c!left #1 \zeichenparameter\c!right \dostopattributes \endstrut \zeichenparameter\c!after}}} \setupzeichen [\c!textwidth=63.8833mm,% \c!before=\noindenting\synchronizegrid,% \c!after=\synchronizegrid,% ] \setupzeichen [1,2,3,4] [\c!before=, \c!after=, \c!left=, \c!right=] \setupzeichen [1] [\c!width=6.5mm, \c!left=\startunisym, \c!right=\stopunisym, \c!align=right, \c!before=\raggedright, \c!after=, \c!style={\switchtobodyfont[6.8pt]\tt\bf}] \setupzeichen [2] [\c!width=7.5mm, \c!left=$, \c!right=$, \c!before=\raggedcenter, \c!style={\switchtobodyfont[9.6pt]}] \setupzeichen [3] [\c!width=49.883mm, \c!style={\switchtobodyfont[8.4pt]}, \c!before=\hangindent10pt\hangafter1\raggedright] \protect \stopmodule \endinput
_______________________________________________ ntg-context mailing list [EMAIL PROTECTED] http://www.ntg.nl/mailman/listinfo/ntg-context