是否有适当的方法来放置和中心(外)边距中的枚举
\defineenumeration[MyEnumeration][...]
\inmargin{
\startMyEnumeration
...
\stopMyEnumeration
}
或者
\defineenumeration[MyEnumeration][...]
\inouter{
\startMyEnumeration
...
\stopMyEnumeration
}
即使这样也存在一些问题,例如不在双面上居中枚举:当右侧很好时,左侧就在页面边缘。
我尝试使用alternative=margin
并margin=yes
尝试每个枚举属性,但似乎没有任何效果。
\setupmargindata
我也尝试过这样使用关联以及各种margins
命令,例如这里或者这里但我找不到办法做我想做的事。
答案1
您可以使用userdata
环境将内容存储enumeration
在缓冲区中。
要将 和存储的内容一起放在enumeration
边距中,您必须alternative
为userdata
环境创建一个新的。在新的中,alternative
您可以使用\margindata
(或\inouter
等)命令将enumeration
和内容一起放在所需的边距中。
下面是此方法的一个示例
\defineenumeration
[MyEnumeration]
[alternative=top,
before=,
after=,
inbetween=,
title=yes,
text=Enum.]
\defineuserdataalternative
[enumeration]
[renderingsetup=enumeration:margin]
\startsetups[enumeration:margin]
\margindata
[inouter]
{\startMyEnumeration[title=\userdataparameter{title},reference=\userdataparameter{reference}]
\getinlineuserdata
\stopMyEnumeration}
\stopsetups
\defineuserdata [Enumeration] [alternative=enumeration]
\setuplayout
[width=10cm,
rightmargin=6cm]
\starttext
\input tufte
\startuserdata [Enumeration] [title={Jojo Mayer}]
\input jojomayer
\stopuserdata
\input zapf
\stoptext
输出结果如下