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