[NTG-context] Spacing issue in itemize

Hans Hagen j.hagen at xs4all.nl
Fri Jan 14 09:09:00 CET 2022


On 1/13/2022 6:15 PM, Aditya Mahajan via ntg-context wrote:
> On Thu, 13 Jan 2022, Gavin via ntg-context wrote:
> 
>> Hi list,
>>
>> When I define an items group, it seems to mess up the spacing for a nested item group. See example below. Any ideas?
>>
>> I’m typesetting with
>>
>> 	> ConTeXt  ver: 2022.01.06 19:51 LMTX  fmt: 2022.1.9  int: english/english
>>
>> on an M1 Mac.
>>
>> Thanks!
>> Gavin
>>
>>
>> \usemodule[visual]
>>
>> \defineitemgroup[questions]
>> \setupquestions [each] [n]
>>
>> \starttext
>> This numbered list uses my item group \quotation{questions.} The itemize inside is missing space above item (a).
>> \startquestions
>>    \item \fakewords{15}{20}
>>      \startitemize[a][left=(,stopper=,right=)]
>>        \item \fakewords{10}{15}
>>        \item \fakewords{10}{15}
>>      \stopitemize
>>    \item \fakewords{10}{15}
>> \stopquestions
>>
>> This numbered list uses itemize. The itemize inside has the expected space above item (a).
>> \startitemize[n]
>>    \item \fakewords{15}{20}
>>      \startitemize[a][left=(,stopper=,right=)]
>>        \item \fakewords{10}{15}
>>        \item \fakewords{10}{15}
>>      \stopitemize
>>    \item \fakewords{10}{15}
>> \stopitemize
>>
>> \stoptext
> 
> This is by design. This is what is happening:
> 
> \usemodule[visual]
> 
> \defineitemgroup[questions]
> 
> \starttext
> This numbered list uses my item group \quotation{questions.} The itemize inside is missing space above item (a).
> \startquestions[n][inbetween={AAA}]
>    \item \fakewords{15}{20}
>      \startitemize[a][left=(,stopper=,right=),before={BBB}]
>        \item \fakewords{10}{15}
>        \item \fakewords{10}{15}
>      \stopitemize
>    \item \fakewords{10}{15}
> \stopquestions
> 
> This numbered list uses itemize. The itemize inside has the expected space above item (a).
> \startitemize[n][inbetween={AAA}]
>    \item \fakewords{15}{20}
>      \startitemize[a][left=(,stopper=,right=),before={BBB}]
>        \item \fakewords{10}{15}
>        \item \fakewords{10}{15}
>      \stopitemize
>    \item \fakewords{10}{15}
> \stopitemize
> 
> \stoptext
> 
> Note that in the first case, the inbetween does not get inserted at the start of the nested itemization (because, ConTeXt doesn't think that they are nested as the names are different). But the before key of the nested itemization doesn't get inserted in both cases because ConTeXt thinks that the itemization is nested!
> 
> You can change this behavior by using:
> 
> \unprotect
> \c_strc_itemgroups_spacing_mode\plusone
> \protect
> 
> in which case both outputs are similar.
> 
> @Hans: Does it make sense to add a setups key to \setupitemize to keep such changes local?
% 0 = before/after
% 1 = between unless before
% 2 = between

\c_strc_itemgroups_spacing_mode\plustwo

The question then is: "what key" (we have c!inherit available) and "what 
values" (numbers ?) ...

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list