컴파일 외에도 TeX 설치 환경에는 일상 작업을 매끄럽게 해 주는 작은 유틸리티가 함께 들어 있습니다. 패키지 설명서를 여는 texdoc, 컴파일 출력을 중요한 내용만 남기도록 줄이는 texfot, PDF를 만들거나 줄이는 Ghostscript, 출력을 웹용 SVG로 바꾸는 dvisvgm입니다. 이 페이지는 이 네 가지 도구의 빠른 참조입니다.
네 가지 도구를 작성 흐름에 배치하기
이 장의 목표는 네 가지 명령을 외우는 것이 아니라, 문서를 작성하는 각 지점에서 어떤 도구를 써야 하는지 판단할 수 있게 되는 것입니다. 새 패키지를 추가하기 전에는 texdoc으로 설명서를 읽습니다. 빌드 출력이 시끄러워지면 texfot으로 경고를 드러냅니다. 제출용 PDF가 너무 크면 Ghostscript로 압축한 뒤 링크와 임베드된 글꼴을 확인합니다. 웹에 올릴 수식이나 그림은 dvisvgm으로 SVG로 내보내고 브라우저에서 크게 확대해 확인합니다. 이 순서로 쓰면 조사, 작성, 마무리, 공개가 하나의 흐름이 됩니다.
texdoc — 패키지 설명서 열기
대부분의 CTAN 패키지에는 자세한 설명서(PDF)가 포함되어 있으며, 설치 후에는 이미 내 컴퓨터에 있습니다. texdoc PACKAGE를 입력하면 해당 설명서를 찾아 뷰어로 엽니다. 오프라인에서, 실제 설치된 버전에 맞는 내용을 읽을 수 있다는 점이 장점입니다. 이 도구는 TeX Live에 포함되어 있으며(원저자는 Manuel Pégourié-Gonnard), 같은 데이터베이스는 texdoc.org에서도 볼 수 있습니다.
texdoc booktabs # booktabs の説明書を開く / open booktabs’ manual
texdoc -l siunitx # 候補を一覧表示(開かない)/ list matches instead of opening기본적으로 가장 좋은 후보 하나를 엽니다. -l (--list) 를 붙이면 열지 않고 후보 목록을 보여 주어 선택할 수 있습니다. -s (--showall) 는 점수가 낮은 후보까지 포함해 결과를 넓힙니다. 보고서나 논문 장에 새 패키지를 추가할 때는 먼저 texdoc PACKAGE로 불러오는 명령, 대표 예제, 중요한 옵션을 확인한 뒤 필요한 최소한만 프리앰블에 옮깁니다. 그러면 설정이 불필요하게 커지지 않습니다.
texfot — 중요한 메시지만 보기
TeX 실행은 많은 메시지를 쏟아내므로 실제로 봐야 할 경고나 오류가 지나쳐 버리기 쉽습니다. texfot(Karl Berry가 작성한 퍼블릭 도메인 Perl 스크립트)은 엔진을 실행하면서 출력 기록을 “주목할 만한” 줄만 남기도록 필터링합니다. 오류, 경고, overfull/underfull 박스 등이 여기에 해당합니다. 종료 코드는 그대로 전달하므로 빌드 도구의 성공 판정을 망가뜨리지 않습니다.
texfot pdflatex document.tex # 出力を要約しつつコンパイル / compile with a quiet, filtered loglatexmk와 함께 쓰려면 설정 파일에서 엔진 호출을 texfot으로 감쌉니다.
# .latexmkrc
$pdflatex = 'texfot pdflatex %O %S';Ghostscript — PDF 만들기와 줄이기
gs (Ghostscript) 는 PostScript/PDF 인터프리터이며 ps2pdf가 내부에서 실행하는 프로그램이기도 합니다. -sDEVICE=pdfwrite를 지정하면 PDF를 출력하므로 PS를 PDF로 변환하거나 여러 PDF를 병합하거나, 너무 큰 PDF를 압축(이미지 해상도 낮추기)하는 데 쓸 수 있습니다. 품질은 -dPDFSETTINGS 프리셋으로 고릅니다. 예를 들어 /screen(화면 확인용), /ebook(중간), /printer(인쇄 지향), /prepress(인쇄 전 공정 지향) 등이 있습니다. 이 프리셋들은 PDF를 다시 만들며 입력 내용을 바꿀 수 있습니다. 제출 또는 인쇄 납품용 PDF는 압축 후 이미지 가독성, 임베드된 글꼴, 링크, 페이지 크기를 반드시 확인합니다.
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH \
-sOutputFile=small.pdf big.pdfdvisvgm — DVI를 SVG로
dvisvgm(Martin Gieseking 작성)은 DVI를 SVG(벡터 그래픽) 로 변환합니다. EPS도 입력으로 받을 수 있고, --pdf를 붙이면 PDF도 입력으로 쓸 수 있습니다. 어떤 배율에서도 선명한 수식이나 그림을 웹에 올리고 싶을 때 적합합니다. 글꼴은 기본적으로 SVG로 임베드되지만 --font-format=woff2(또는 woff, ttf)를 지정하면 웹 글꼴 형식으로 바꿀 수 있습니다. PDF 입력에서는 처리 경로에 따라 텍스트가 임베드된 글꼴이 아니라 경로로 변할 수 있으므로, DVI에서 변환할지 PDF에서 변환할지 정한 뒤 실제 브라우저 렌더링을 확인합니다. 페이지 선택에는 -p (--page)를 사용합니다.
latex equation.tex # → equation.dvi
dvisvgm --font-format=woff2 equation.dvi # → equation.svg
dvisvgm --pdf figure.pdf # PDF を入力にする / convert a PDF흔한 실패 원인 가려내기
texdoc이 잘못된 설명서를 열면texdoc -l PACKAGE를 실행해 후보를 확인하고 원하는 PDF를 번호로 선택합니다.texfot에는 아무것도 보이지 않는데 PDF가 여전히 이상하면, 잠시 texfot을 빼고 원본 로그를 읽어 유용한 문맥이 필터링되었는지 확인합니다.Ghostscript압축 후 링크나 책갈피가 사라지면 PDF 재생성 과정에서 보이지 않는 정보가 떨어져 나갔을 수 있습니다. 제출 전 원본 PDF와 압축 PDF를 비교합니다.dvisvgm --pdf가 텍스트를 경로로 바꾸면 SVG에는 검색 가능하거나 바꿔 끼울 수 있는 텍스트가 남지 않습니다. 웹에서 편집 가능한 그림이 필요하면 먼저 DVI에서 변환해 봅니다.
각 도구를 쓸 때
- 패키지 사용법 찾아보기 →
texdoc PACKAGE. - 시끄러운 로그 줄이기 →
texfot(latexmk와 함께). - PDF가 너무 큼 / PS를 PDF로 변환 →
Ghostscript(-dPDFSETTINGS). - 수식이나 그림을 웹용 SVG로 올리기 →
dvisvgm.