
我尋找一種方法來顯示標題中計數器的第一個和最後一個值,例如這問題,但對於上下文。
如果我們在分頁符號處遇到問題,我可以接受引用編號為目前頁面之前開始的引用編號,或目前頁面上的第一個新引用編號。
如果頁面上只有一個問題,我喜歡問題 X 而不是問題 XX。
問題在 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