Rik Kabel <mailto:cont...@rik.users.panix.com>
11. Oktober 2015 um 18:25
On 2015-10-11 06:11, Hans Hagen wrote:
On 10/11/2015 5:21 AM, Rik Kabel wrote:
The following example works with older versions of ConTeXt, such as the
version from 20150325 in my repository. It fails with TL15 and later,
including the current standalone beta.
% macros=mkvi
\setwidthof {99}\to\IDWidth\relax
\def\STWidth{\dimexpr\textwidth-\IDWidth+1cm}
\definelist[OList]
\setuplist
[OList][criterium=all,alternative=c,pagecommand=\gobbleoneargument]
\starttexdefinition OLister #ID#String
{\writetolist[OList]{}{\hbox{\simplealignedbox{\IDWidth}{left}{#ID\quad}
{\doboundtext{#String}{\STWidth}{…}}}}}
\stoptexdefinition
\starttext
\OLister1{Some list testing text xxx xxx xxx xxx xxx xxx xxx xxx
xxx
xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx}
\OLister2{Yet another list testing text xxx xxx xxx xxx xxx xxx xxx
xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx}
\OLister3{A list testing text xxx xxx xxx xxx xxx xxx xxx xxx xxx
xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx}
\OLister4{Different list testing text xxx xxx xxx xxx xxx xxx xxx
xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx}
\subject{List half width}
\startcolumns[n=2]
\placelist[OList]
\stopcolumns
\stoptext
With the 20150325 ConTeXt, there are .tuc file entries like:
["second"]="\\hbox {\\simplealignedbox {\\IDWidth
}{left}{2\\quad }{\\doboundtext {Yet another list testing text xxx
xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx
xxx}{\\STWidth }{…}}}",
but with more recent versions, the corresponding entry is:
["second"]="\\hbox {\\simplealignedbox {12.6pt}{left}{2\\quad
}{\\hbox {\\setbox \\scratchbox \\hbox {Yet another list testing
text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx
xxx
xxx xxx}\\scratchdimen \\dimexpr \\textwidth -12.6pt+1cm\\relax
\\box \\scratchbox }}}",
\unexpanded\def\STWidth{\dimexpr\textwidth-\IDWidth+1cm}
Yes, expansion needs to be delayed to get the current dimension when
the list is placed. My error—thank you for the correction. But the
regression is not resolved. The .tuc file now contains:
["second"]="\\hbox {\\simplealignedbox {12.6pt}{left}{2\\quad
}{\\hbox {\\setbox \\scratchbox \\hbox {Yet another list testing
text xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx
xxx xxx xxx}\\scratchdimen \\STWidth \\relax \\box \\scratchbox }}}",
Still no mention of dobounded text is carried into the list.
Is \limitatetext a option for you because unlike \doboundtext the
command is unexpandable?
\starttext
\doboundtext {Thus, I came to the conclusion that the designer of a new
system ...}{.5\textwidth}{...}
\limitatetext{Thus, I came to the conclusion that the designer of a new
system ...}{.5\textwidth}{...}
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________