ConTeXt 寄存器中的页码前的前导点

ConTeXt 寄存器中的页码前的前导点

我想在 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

目录使用alternative=c,包含前导点: 前导点

我希望cases登记册也能以类似的方式显示。目前,它显示如下: 在此处输入图片描述

答案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

相关内容