KTUG 한국 텍 사용자 그룹

Menu

KTUG :: Q&A 마당

이 케이스에 몇 번의 컴파일이 필요한지 계산해봅시다.

ss0101.png

이와 같이 최소 다섯 번이네요. remember picture가 2-pass 방식을 쓰고 있어서 +2, \ifoddpage에 의하여 +2, 그리고 toc를 만드는 데 +2이기 때문에 대체로 6번 정도가 필요하지만 중복을 제외하면 5번 정도가 되겠습니다. 운이 좋으면 4번 과정을 생략할 수 있을테니 4번이 되겠네요.

이런 번거로움을 피해가려면

  1. \mychapter가 반드시 특정 위치(예컨대 even)에서 시작하도록 강제하면 한 번 정도 줄일 수 있습니다. (비슷한 개념이지만 현재 보여주신 코드에서 \mychapter는 시작할 때 \clearpage해두는 것이 좋겠습니다.)
  2. remember picture를 쓰지 않고 절대 위치를 좌표로 제공하면 한 번 정도 줄일 수 있습니다.
  3. \ifoddpage를 쓰지 않고 좌우 모양을 동일하게 만들면(디자인 의도와 다르겠지만) 한 번 줄일 수 있습니다.
  4. 이렇게 여러 번 컴파일해야 제 위치를 찾아가는 tikz 코드가 \ifoddpage에 의하여 제어될 때는, \ifoddpage 이전에 \strictpagecheck 해두는 것이 오히려 도움이 될 수 있습니다. 특히 페이지가 flush되지 않은 상태에서 tikz 코드를 만나는 경우에 컴파일할 때마다 좌우교대가 번갈아 일어나는 현상을 줄일 수 있습니다.

저는 전에 이 비슷한 복잡한 케이스에서 이것을 \ifoddpage에 의하지 않고 pagestyle로 만들어서 넣었던 적이 있습니다. 현재 여러 번의 반복 컴파일을 요구하는 상황을 잘 살펴보시고 여러 방법으로 이를 회피하거나 줄일 수 있겠습니다... 마는,

그냥 대여섯 번 컴파일하면 되는 거 아닌가요? :)

 

KTUG 한국 텍 사용자 그룹