[NTG-context] \placelist disturbs grid?
Hans Hagen
pragma at wxs.nl
Fri Aug 5 11:01:26 CEST 2005
Vit Zyka wrote:
> Hans Hagen wrote:
>
>> Vit Zyka wrote:
>>
>>> Hello Hans, Taco, and the next gurus,
>>>
>>> sorry for bother with another thing I can not understand. Very high
>>> glyphs like \v S disturb grid in the \placelist. The same glyph in
>>> the common paragraph with the same (intentionally) interline setting
>>> preserves grid:
>>>
>>> ---------------------------------------
>>> \setupbodyfont[10pt,rm]
>>> \setupinterlinespace[line=12pt]
>>> \setuplayout[grid=yes,width=8cm]
>>> \showgrid
>>>
>>> \writetolist[section]{}{See the next line:}
>>> \writetolist[section]{}{\v Sejba}
>>> \writetolist[section]{}{Another list line}
>>>
>>> \starttext
>>> \v Sejba\par
>>> Here grid is OK, but in \type{placelist}:
>>>
>>> \placelist[section]
>>>
>>> no!
>>> \stoptext
>>> ------------------------------------------
>>> I was looking in definitions for some font-size dependent line
>>> setting, I also tried to
>>> \setuplist[section]{style=\baselineskip=12pt\lineskiplimit=-10pt}
>>> but without success to lounging on the grid.
>>
>>
>>
>>
>> this is the default ratio:
>>
>> \setupinterlinespace
>> [height=.72,
>> depth=.28]
>
>
> Thank you Hans; after some experimenting I understood:
> - height and depth in \setupinterlinespace are baseline-ratio/size of
> struts (add description to tex-show)
> - some my chars (/,\v S, \tfa, ...) oversized \strut size of any ratio
> - list items are typeset with struts (perhaps all alternative)
> - only alternative without strut is 'none' with command=\Mycommand def
>
> So I do know how to preserve grid. But I do not know HOW TO TYPESET
> \Mycommand TO FIT THE PARAGRAPH WIDTH. It seem it is not in the
> restricted horizontal mode and continue on one long line. And another
> question/request: can the list distance param (alternative d,...) be
> glue instead of skip? For better line fitting.
>
> example:
> ------------------
> \setupbodyfont[10pt,rm]
> \setupinterlinespace[line=12pt,height=.77,depth=.23]
> \setuplayout[grid=yes,width=8cm]
> \showgrid
>
> \setuplist[section]
> [style=\tfd,alternative=none,command=\MyListItem]
> \def\MyListItem#1#2#3{{\tfb (#1-#2-#3) }}
>
> \starttext
> \writetolist[section]{}{See the next line}
> \writetolist[section]{}{\v Sejba}
> \writetolist[section]{}{Another list line}
> \writetolist[section]{}{And the last one}
>
> \lineskiplimit=-10pt
> Line\par
> Anothet line of \v Sejba\par
>
> \placelist[section]
>
> \strut %% should be! why?
> After list line.
>
> \stoptext
> ------------------
>
> Vit
\setuplist
[section]
[style=\tfd,
alternative=none,
after=\blank,
before=\blank,
command=\MyListItem]
\setuplist
[section]
[style=\tfd,
alternative=command
command=\MyListItem]
in core-lst you can see how the alternatives are defined
ok, let's give you a bonus (goes in cont-new):
\unprotect
\def\definelistplacement
{\dodoubleempty\dodefinelistplacement}
\def\dodefinelistplacement[#1][#2]%
{\setvalue{\@@dodolistelement#1}%
{\doifelsenothing{#2}
{\getvalue{\@@dodolistelement\v!command}}%
{\executeifdefined{\@@dodolistelement#2}
{\getvalue{\@@dodolistelement\v!command}}}%
\setvalue{\??li\currentlist\c!command}%
{\getvalue{\@@dodolistelement::#1}}}%
\setvalue{\@@dodolistelement::#1}}
\definelistplacement[MyListItem][none]#1#2#3%
{\listparameter{style} (#1 - #2 - #3) }
\protect
now you can say:
\definelistplacement[MyListItem][none]#1#2#3%
{\listparameter{style} (#1 - #2 - #3) }
\setuplist
[section]
[style=\tfd,
alternative=MyListItem,
after=\blank,
before=\blank]
(btw, watch how one can ask for listparameters)
\definelistplacement[MyListItem][none]#1#2#3%
{\listparameter{style} (#1 - #2 - #3) }
\setuplist
[section]
[style=\tfd,
alternative=MyListItem,
after=\blank,
before=\blank]
\definelistplacement[MyListItem][none]#1#2#3%
{\listparameter{before}
\listparameter{style} (#1 - #2 - #3)
\listparameter{after}}
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
-----------------------------------------------------------------
More information about the ntg-context
mailing list