C20::Dossier

Texinfo

From C20::Dossier
This is the latest revision of this page; it has no approved revision.

개요

Texinfo는 info 파일을 다루기 위한 조판 언어다. LaTeXTex와 상당 부분을 공유하긴 하지만, 기본적으로 GNU 계열 프로그램 말고는 아무 데서도 쓰지 않는다. 정말 말 그대로 아무 데도. 따라서 아래 정리할 한글 출력 관련 부분에 관한 개발은 포기하는 쪽이 좋을 것이다.

설치

맥북의 경우, Homebrew 등으로 설치한 다음 brew ln texinfo --force으로 연결을 해주어야 한다.

한글 출력

기본적으로 Texinfo는 html, info, pdf 등으로 텍스트를 출력할 수 있도록 되어 있다. 그 중 다른 형식은 별다른 설정 없이 안정적으로 한글을 출력하지만, pdf가 문제다. 기본적으로 texinfo.tex 파일이 한글 폰트를 지원하지 않기 때문이다. 아예 make 매크로 및 texinfo.tex 내용을 갈아엎지 않는 이상 이를 100% 해결할 수는 없으며, 가장 근접한 방법은 다음과 같다.

  1. texinfo.tex 파일에 \input luatexko.sty\hangulfont=(원하는 폰트) 줄을 추가한다.
  2. 기본값인 texi2pdf 대신 luatex로 texi 파일을 변환한다(가능한 TeXworks를 사용하는 편이 더 안전하다).

그러나 이 방식은 역시 texinfo.tex 파일을 전면적으로 수정하지 않는 이상 폰트 크기를 마음대로 조정할 방법이 없으므로, 문제가 완전히 해결되지 못하는 것은 마찬가지다.

관련 자료를 찾아보면서 알게 된 것은, 이미 사람들이 대충 문제 해결을 포기하고 있다는 것이었다. 그것도 2004년 자료에서부터 그렇다. 그들이 제시하는 방법은 다음과 같다.

  1. makeinfo를 통해 texi 파일을 docbook으로 변환한다. (makeinfo --docbook org.texi)
  2. docbook 파일을 latex 파일로 변환한다. (아래 링크에서는 dblatex를 제안하지만, pandoc도 가능하다)
  3. latex 파일을 (kotex 추가 후) pdf로 변환한다.

그러나 이렇게 해도 손이 굉장히 많이 가는 것은 마찬가지다. 이래저래 골치아프다.

링크

내보내기

  • HTML: makeinfo INPUT.texi --html
    • Makeinfo는 비-ascii 텍스트를 0xffff (_ffff) 형태로 인코딩하여 표현하므로, 파일명이 지저분해진다. 그러나 옛날 소프트웨어답게, 유니코드 지원은 제대로 하지 않는다. 임시방편으로 --transliterate-file-names 옵션을 추가하면 발음대로 (예: 파일 --> pail) 파일명을 생성하므로, 약간 더 깔끔하다. 다만 맥OS의 기본 설치 버전인 4.8에서는 작동하지 않는다.