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:jk@typoma.com http://www.typoma.com
luigi scarso wrote:
On 4/12/07, Johannes Kuester
wrote: Hello,
I'm still trying to typeset a "grid-keeping" list (or table). Sorry, no answer. Only to say that I'm following this subject, and I'm doing some private tests.
Thank you! I hope you will be more successful than I am. I do not understand why this is such a problem. Basically, it's just about "paragraph boxes" and their proper alignment on a grid. To me, such a list seems like a basic typographic requirement, so it should be possible to do that in ConTeXt. Johannes -- Johannes Kuester typoma mailto:jk@typoma.com http://www.typoma.com
Johannes Kuester wrote:
luigi scarso wrote:
On 4/12/07, Johannes Kuester
wrote: Hello,
I'm still trying to typeset a "grid-keeping" list (or table).
Sorry, no answer. Only to say that I'm following this subject, and I'm doing some private tests.
Thank you! I hope you will be more successful than I am.
I do not understand why this is such a problem. Basically, it's just about "paragraph boxes" and their proper alignment on a grid.
To me, such a list seems like a basic typographic requirement, so it should be possible to do that in ConTeXt.
the problem with tex is that it does not hav ea way to force consistent height and depth of lines, so here are a few tricks: \begstrut some text \endstrut \endgraf \snaptogrid\vbox{some text} Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
2007/4/12, Johannes Kuester
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} \def\stopzeichen{\endgroup} a alternative version %\def\startzeichen{\offinterlineskip} %\def\stopzeichen{\oninterlineskip} and put \startzeichen and \stopzeichen before and after your lines with all \zeichen commands \startzeichen \zeichen ... \zeichen \stopzeichen and everything should work as expected Wolfgang
Hi Wolfgang, perfect, now everything works as expected! Thank you! Johannes Wolfgang Schuster wrote:
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} \def\stopzeichen{\endgroup}
a alternative version
%\def\startzeichen{\offinterlineskip} %\def\stopzeichen{\oninterlineskip}
and put \startzeichen and \stopzeichen before and after your lines with all \zeichen commands
\startzeichen \zeichen ... \zeichen \stopzeichen
and everything should work as expected
Wolfgang
-- Johannes Kuester typoma mailto:jk@typoma.com http://www.typoma.com
hmm maibe i have not understand, but
\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}{b}{second letter \vrule width 0.1pt height 1em depth2em }{}% %% or this %% \zeichen{0002}{b}{second letter \blank Mlg() }{}%
\stopcolumns the list I published in "Detailtypografie" (2nd ed. 2004), but for
breaks the rule. Or not ? luigi
Dear Luigi, luigi scarso wrote:
hmm maibe i have not understand, but
\zeichen{0002}{b}{second letter \vrule width 0.1pt height 1em depth2em }{}% %% or this %% \zeichen{0002}{b}{second letter \blank Mlg() }{}%
breaks the rule.
Or not ?
Yes, it does, definitely. So it's my (or any other user's) responsibility that the cells contain only "allowed" stuff. I still have to see how to deal with large symbols (bigops and integrals). Maybe with "\blank[medium]" in between (and some "\smash"), so that every second line will be on the grid again. When I typeset a similar list previously (for Detailtypografie), I still did that in LaTeX. That required a lot of trickery and manual correction, but at least I was able to do it (and yes, it was arranged on a grid, but LaTeX didn't know that). That is currently my main conceptual problem with ConTeXt: sometimes it's too high-level and too clever, and it's hard to figure out how to do the trickery and the tweaking ... Johannes -- Johannes Kuester typoma mailto:jk@typoma.com http://www.typoma.com
I still have to see how to deal with large symbols (bigops and integrals). Maybe with "\blank[medium]" in between (and some "\smash"), so that every second line will be on the grid again. Maybe a strategy is to use a vbox with ht+dp multiple of a grid space ...but the first line of every page has another height.... I have posted something with bTABLE last days under this topic
That is currently my main conceptual problem with ConTeXt: sometimes it's too high-level and too clever, and it's hard to figure out how to do the trickery and the tweaking ... There are many pdf about context; I try to have a 'programmer view' of these things. Among others, see and criticize http://wiki.contextgarden.net/User:Luigi.scarso/modules.pdf#modules.pdf
luigi
Among others, see and criticize http://wiki.contextgarden.net/User:Luigi.scarso/modules.pdf#modules.pdf Of course, the main starting point is http://wiki.contextgarden.net exp.Search wiki
luigi
Maybe a strategy is to use a vbox with ht+dp multiple of a grid space ...but the first line of every page has another height....
Each first line will be some heading, so that's not a problem in my case. My grid-keeping list problem is solved, the module by Wolfgang serves my purpose very well.
There are many pdf about context; I try to have a 'programmer view' of these things. Among others, see and criticize http://wiki.contextgarden.net/User:Luigi.scarso/modules.pdf#modules.pdf
Nice and interesting (although I didn't had enough time to look at it thoroughly). I'm aware of all the pdf manuals, and I use the wiki, source browser, mailing list + archive. Still it's sometimes hard to find one's way through. But on to my next problems ... Johannes -- Johannes Kuester typoma mailto:jk@typoma.com http://www.typoma.com
Johannes Kuester wrote:
Dear Luigi,
luigi scarso wrote:
hmm maibe i have not understand, but
\zeichen{0002}{b}{second letter \vrule width 0.1pt height 1em depth2em }{}% %% or this %% \zeichen{0002}{b}{second letter \blank Mlg() }{}%
breaks the rule.
Or not ?
Yes, it does, definitely. So it's my (or any other user's) responsibility that the cells contain only "allowed" stuff.
I still have to see how to deal with large symbols (bigops and integrals). Maybe with "\blank[medium]" in between (and some "\smash"), so that every second line will be on the grid again.
When I typeset a similar list previously (for Detailtypografie), I still did that in LaTeX. That required a lot of trickery and manual correction, but at least I was able to do it (and yes, it was arranged on a grid, but LaTeX didn't know that).
That is currently my main conceptual problem with ConTeXt: sometimes it's too high-level and too clever, and it's hard to figure out how to do the trickery and the tweaking ...
there is some some gridmath support available; see details.pdf Hans -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote:
there is some some gridmath support available; see details.pdf
Hans
Yes, I know, I use that already. Very helpful for my display formulas. I didn't try it yet on my symbols list, here the module from Wolfgang and blanks will do, I think. Johannes -- Johannes Kuester typoma mailto:jk@typoma.com http://www.typoma.com
participants (4)
-
Hans Hagen
-
Johannes Kuester
-
luigi scarso
-
Wolfgang Schuster