
ヘッダーにカウンターの最初と最後の値を表示する方法を探しています。これ質問、しかしConTeXtの場合。
ページ区切りで問題が発生している場合は、参照番号を現在のページの前のページから始まる番号にするか、現在のページの最初の新しい番号にするかを選択できます。
ページに問題が 1 つしかない場合は、問題 XX ではなく問題 X を優先します。
質問ConTeXT でこれを行う (簡単な) 方法はありますか?
私の試み:
私は見つけたこの質問、これは私の問題を解決できそうに見えますが、私の列挙にはカウンターがあり、マークがありません。素朴な
\setuppapersize[A6][A5,landscape]
\setuparranging[2SIDE]
\setupheadertexts[{Problem \getnumber[problem][first]--\getnumber[problem][last]}]
\defineenumeration[problem][
text=Problem,
]
\starttext
\dorecurse{4}{\startproblem[problem:\recurselevel]
\samplefile{ward} We are now in problem
\in[problem:\recurselevel]\stopproblem}
\stoptext
次のような不要な出力が表示されます (左のページに「問題 1–2」というヘッダーがあり、右のページに「問題 3–4」というヘッダーがあるはずです)。
おそらく、この質問は次のように言い換えられるでしょう。
質問探しているものを取得するために、列挙カウンターで使用するマーキングを自動的に接続する方法はありますか?
答え1
ヘッダー内の列挙値を表示するには、コマンドmark
を使用して新しいレジスタを作成する必要があります\definemarking
。
カウンターの値を保存するには、\marking
コマンドを使用してカウンターの値を引数として渡す必要があります。この割り当てをnumbercommand
キーにフックすることができます。
\setuppapersize [A5]
\definemarking [problem]
\setupheadertexts
[{Problem \getmarking[problem][top]–\getmarking[problem][bottom]}]
\defineenumeration
[problem]
[text=Problem,
numbercommand=\groupedcommand{}{\expanded{\marking[problem]{\rawcountervalue[problem]}}}]
\starttext
\dorecurse{10}
{\startproblem
\samplefile{weisman}
\stopproblem}
\stoptext