[NTG-context] Regression with \doboundtext in \writetolist

Wolfgang Schuster schuster.wolfgang at gmail.com
Sun Oct 11 18:56:22 CEST 2015


> Rik Kabel <mailto:context at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20151011/576d4658/attachment.html>


More information about the ntg-context mailing list