
Ich suche nach einer Möglichkeit, den ersten und letzten Wert eines Zählers in der Kopfzeile anzuzeigen, wie inDasFrage,aber für ConTeXt.
Wenn wir uns bei einem Seitenumbruch mitten in einem Problem befinden, könnte ich damit leben, dass sich die Referenznummer entweder auf die vor der aktuellen Seite beginnende oder auf die erste neue auf der aktuellen Seite bezieht.
Wenn es auf der Seite nur ein Problem gibt, würde ich Problem X statt Problem XX bevorzugen.
FrageGibt es eine (einfache) Möglichkeit, dies in ConTeXT zu tun?
Mein Versuch:
ich fanddiese Frage, was mein Problem zu lösen scheint, aber ich habe einen Zähler und keine Markierung mit meiner Aufzählung. Mit dem naiven
\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
Ich erhalte die folgende, unerwünschte Ausgabe (ich würde erwarten, dass die linke Seite die Überschrift „Problem 1–2“ und die rechte Seite „Problem 3–4“ hat):
Vielleicht könnte man die Frage folgendermaßen umformulieren:
FrageGibt es eine Möglichkeit, automatisch eine Markierung zu verbinden, die ich mit dem Aufzählungszähler verwenden kann, um das zu erhalten, wonach ich suche?
Antwort1
Um die Werte der Aufzählungen im Header anzuzeigen, müssen Sie mark
mit dem Befehl ein neues Register erstellen \definemarking
.
Um den Wert des Zählers zu speichern, muss man den \marking
Befehl verwenden und den Zählerwert als Argument übergeben. Diese Zuweisung kann man in den numbercommand
Schlüssel einhängen.
\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