[NTG-context] Spacing issue in itemize

Aditya Mahajan adityam at umich.edu
Thu Jan 13 18:15:18 CET 2022


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?

Aditya


More information about the ntg-context mailing list