ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스핑크스의 레이텍 색인 스타일
    TeX과 친구들 2022. 3. 17. 18:53

    .idx가 이렇게 나와야 정상이다.

    \indexentry{매스작스@\spxentry{매스작스}|hyperpage}{10}

    그런데 이렇게 나온다.

    \indexentry{매스작스@\spxentry{매스작스}}{10}

    hyperpage가 없으니 페이지 번호에 링크가 걸리지 않는다. \spxentry는 글꼴 적용을 위한 것 같은데, xindex로 정렬해 보니, 그대로 식자된다.

    #>texindy -M sphinx.xdy foo.idx

    texindy로 돌리니 제대로 나온다. sphinx.xdy가 \spxentry와 \hyperpage를 재설정하기 때문이다. 문제는 한글순으로 정렬되지 않는다는 것이다. 

    hyperpage를 무력화하는 것은 다음과 같은 클래스 옵션이다.

    \usepackage[hyperindex=false]{hyperref}

    memoir 클래스를 쓰는 경우에는 이것만으로 충분하지 않고, \memhyperindexfalse도 선언해야 한다. 스핑크스는 도대체 왜 이렇게 색인 시스템을 복잡하게 만들었을까? 

    이 모든 것들을 알아내는 데에 한나절이 걸렸다.

    이전 버전의 sphinx에서는 \usepackage{kotex}만 끼워넣어도 그럭저럭 볼 만한 결과물이 나왔지만, 최신 버전에서는 올바른 한글 PDF를 얻기가 훨씬 더 어려워졌다. 정확히 말해, 나는 지금 주피터 북을 사용하고 있지만, 그것은 일종의 스핑크스 래퍼이다.

    HTML 문서만 원한다면 더할 나위 없이 훌륭하지만, 텍을 거쳐 한글 PDF를 얻기에, 특히 텍을 모르는 사람들에게는, 스핑크스가 거의 무용지물이다. 텍에 관한 디폴트 설정을 지나치게 치밀하게 만들어두지 않으면, 고급 텍 사용자들에게는 더 편리하겠지만, 반대로 스핑크스를 쓰기 위해서는 텍을 어느 정도 알아야 한다는 전제가 생긴다. 이것은 딜레마이다.

    댓글

Designed by Tistory.