ConTeXt: 현재 페이지에서 카운터의 첫 번째 값과 마지막 값을 참조합니다.

ConTeXt: 현재 페이지에서 카운터의 첫 번째 값과 마지막 값을 참조합니다.

다음과 같이 헤더에 카운터의 첫 번째 값과 마지막 값을 표시하는 방법을 찾습니다.이것질문,하지만 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

여기에 이미지 설명을 입력하세요

관련 정보