[NTG-context] \placelist disturbs grid?
Vit Zyka
vit.zyka at seznam.cz
Tue Aug 9 17:50:06 CEST 2005
Hans Hagen wrote:
> 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
Hallo hans, thank you for your code. I find it in my mail box just today
although it is 4 days old. So apologise me.
Unfortunately it seems to me it
A) does not work
after successfull
\definelistplacement[MyListItem][none]#1#2#3%
{\listparameter{style} (#1 - #2 - #3) }
\MyListItem is not defined.
B) does not solve the problem with a single long line list alternative.
But. Your example discovered me there are few more alternative in
\setuplist (except a..f, none):
horizontal
vertical
command
So your example leads me to find the solution. I still do not know how
to insert interaction to page number inside \MyListCommand. I have tried
\def\MyListCommand#1#2#3{%
#1-#2-%
\setbox0\hbox{#3}% \showcontrastlocation\??ia{??}{#3}}%
\linklisttoelement{subsection}{??}{#3}{\box0}%
)}
}
but I am puzzled by \linklisttoelement parameters.
Thnak ones more
Vit
Solution:
----------------------
\setupbodyfont[10pt,rm]
\setupinterlinespace[line=12pt,height=.77,depth=.23]
\setuplayout[grid=yes,width=8cm]
\showgrid
\setuplist[part]
[style=\bfb,alternative=command,command=\MyListCommand,before=\blank,after=\endgraf]
\setuplist[chapter]
[style=\bfb,alternative=command,command=\MyListCommand,before=\blank,after=\endgraf]
\setuplist[section]
[style=\tfa,alternative=command,command=\MyListCommand]
\def\MyListCommand#1#2#3{%
\listparameter{before}%
{\listparameter{style}(#1-#2-#3)}\hskip1em plus.5em minus.5em
\listparameter{after}%
}
\starttext
\writetolist[part]{1}{Part 1}
\writetolist[chapter]{1}{Chapter 1}
\writetolist[section]{1}{See the next line}
\writetolist[section]{2}{\v Sejba}
\writetolist[section]{3}{Another list line}
\expanded{\writetolist[section]{}{And the last line.}}
\writetolist[chapter]{2}{Chapter 2}
\writetolist[section]{1}{Section 1}
\lineskiplimit=-\maxdimen
Line\par
Another line of \v Sejba\par
\placecontent
\strut
After list.
\stoptext
-------------------------------
>
>
> \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
> -----------------------------------------------------------------
>
> _______________________________________________
> ntg-context mailing list
> ntg-context at ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context
>
--
=======================================================
Ing. Vít Zýka, Ph.D. TYPOkvítek
database publishing databazove publikovani
data maintaining and typesetting in typographic quality
priprava dat a jejich sazba v typograficke kvalite
tel.: (+420) 777 198 189 www: http://typokvitek.com
=======================================================
More information about the ntg-context
mailing list