在 ConTeXt 中的嵌套条目之间添加空格

在 ConTeXt 中的嵌套条目之间添加空格

我正在尝试稍微增加嵌套项目之间的间距。我不想更改项目之间的间距,只想更改项目中第一个项目之前和最后一个项目之后的间距。

after和关键字before似乎对最外层的项目化有用,但对嵌套的项目化无效。这是故意的吗?

下面是一个 MWE,它夸大了间距,以使其更清晰:

% ConTeXt 2016.05.19 13:43
\setupitemgroup[itemize][1][before={\blank[3*big]},after={\blank[3*big]}]
\setupitemgroup[itemize][2][before={\blank[3*big]},after={\blank[3*big]}]

\starttext

Text above

\startitemize
  \item Big gap above? Yes
  \startitemize
    \item Big gap above? No
    \item Big gap below? No
  \stopitemize
  \item Big gap below? Yes
\stopitemize

Text below

\stoptext

这将产生以下内容:

仅适用于最外层项目的 after 和 before 关键字示例

上面显示\blank[3*big]fromafterbefore关键字对最外层起作用,但对嵌套项目化没有效果。

我想要的可能吗?我尝试深入研究strc-itm.mkvi,大概知道发生了什么,但我还是 ConTeXt 新手,所以我真的不知道我在寻找什么。

答案1

您必须使用以下方法将条目间距模式更改为 2 以外的其他模式:

% 0 = before/after
% 1 = between unless before
% 2 = between (default)
\c_strc_itemgroups_spacing_mode=0

我不太清楚这些功能到底是干什么的。它们没有文档记录,也没有高级接口。试试看吧。

\setupitemgroup[itemize][1][before={\blank[3*big]},after={\blank[3*big]}]
\setupitemgroup[itemize][2][before={\blank[3*big]},after={\blank[3*big]}]

\unprotect
% 0 = before/after
% 1 = between unless before
% 2 = between (default)
\c_strc_itemgroups_spacing_mode=0
\protect

\starttext

Text above

\startitemize
  \item Big gap above? Yes
  \startitemize
    \item Big gap above? No
    \item Big gap below? No
  \stopitemize
  \item Big gap below? Yes
\stopitemize

Text below

\stoptext

在此处输入图片描述

相关内容