
다음과 같이 헤더에 카운터의 첫 번째 값과 마지막 값을 표시하는 방법을 찾습니다.이것질문,하지만 ConTeXt의 경우.
페이지 나누기에서 문제가 발생하는 경우 참조 번호를 현재 페이지 이전에 시작하는 번호나 현재 페이지의 첫 번째 새 번호로 유지할 수 있습니다.
페이지에 문제가 하나만 있는 경우 문제 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