我想在 ConTeXt 寄存器中的页码前添加前导点。实现此目的的最佳方法是什么?
这是当前行为的一个最小工作示例,以及我希望它产生的行为:
\defineregister[cases][n=1,pagestyle=normal,indicator=no]
\setupcombinedlist[content][alternative=c]
\setuplist[chapter][headnumber=no]
\setuphead[chapter][number=no]
\starttext
\title{Table of Contents}
\placecontent
\chapter{Register Table}
\placecases
\chapter{Content}
This is a \cases{test}test. This is \cases{another test}another test.
\stoptext
答案1
我没有找到任何可以设置列表的方法,就像组合列表一样,但您可以劫持textcommand
以插入点。文本和点以及数字和点之间的距离可以用键调整distance
。
\starttexdefinition unexpanded register:text #1
#1
\hskip\registerparameter{distance}\relax
\dotfill
\stoptexdefinition
\defineregister
[cases]
[
n=1,
pagestyle=normal,
indicator=no,
distance=1em,
textcommand=\getvalue{register:text},
]
\setupcombinedlist[content][alternative=c]
\setuplist[chapter][headnumber=no]
\setuphead[chapter][number=no]
\starttext
\title{Table of Contents}
\placecontent
\chapter{Register Table}
\placecases
\chapter{Content}
This is a \cases{test}test. This is \cases{another test}another test. \dorecurse{5}{\input knuth} This is a \cases{test}test. This is \cases{another test}another test.
\stoptext
如果你想拥有确切地与列表中的点相同的点作为c
组合列表的替代,请与以下内容textcommand
结合使用distance=.5em
。
\starttexdefinition unexpanded register:text #1
#1
\hskip\registerparameter{distance}\relax
\gleaders\hbox to .5em{\hss.\hss}\hfill
\stoptexdefinition