LaTeX 빌드는 결국 PDF가 되지만, PDF까지 가는 길은 두 가지입니다. 직접 출력(pdfTeX/LuaTeX/XeTeX가 PDF를 작성)하거나, DVI를 거치는 방식(latex/(u)platex → dvipdfmx)입니다. 어떤 경로를 쓰느냐에 따라 삽입할 수 있는 그림 형식 등이 달라집니다. 이 페이지는 두 경로와 차이를 설명합니다(명령 자체는 “컴파일 명령”과 “DVI 변환”을 참조).
PDF로 가는 두 경로
직접 경로에서는 pdflatex(pdfTeX), lualatex(LuaTeX), xelatex(XeTeX, 내부적으로 .xdv 경유)가 PDF를 한 단계로 출력합니다. DVI 경로에서는 latex나 일본어용 (u)platex가 먼저 DVI를 만들고, dvipdfmx가 이를 PDF로 변환합니다(두 단계). 일본어 (u)platex는 보통 이 경로를 사용합니다.
| 경로 | 명령 | PDF까지 |
|---|---|---|
直接 / Direct | pdflatex, lualatex, xelatex | 한 단계 |
DVI 経由 / Via DVI | latex, (u)platex → dvipdfmx | 두 단계 |
경로에 따라 그림 형식이 달라진다
실무에서 가장 크게 체감되는 차이가 이것입니다. 직접 경로(pdfTeX/LuaTeX) 는 PDF, PNG, JPEG를 삽입할 수 있지만 EPS는 그대로 사용할 수 없습니다. epstopdf(동명 패키지 또는 --shell-escape를 통한 자동 변환)로 PDF로 바꾼 뒤 사용합니다. DVI 경로(dvipdfmx) 는 PNG/JPEG/PDF에 더해 Ghostscript를 뒤에서 호출하여 EPS도 읽어 들일 수 있습니다. EPS 자산이 많은 기존 워크플로에는 DVI 경로가 잘 맞습니다.
\usepackage{graphicx}
\includegraphics{figure.png} % 直接経路: PDF/PNG/JPEG / direct route: PDF/PNG/JPEG드라이버는 자동 판정된다
graphicx, color, hyperref 같은 패키지는 올바른 저수준 명령을 내보내기 위해 출력 드라이버(pdftex, luatex, xetex, dvipdfmx, dvips, dvisvgm)를 알아야 합니다. 다행히 이들은 컴파일 방법에서 자동으로 판정합니다. 따라서 드라이버 옵션을 직접 지정하지 마세요. 직접 지정하면 오히려 충돌의 원인이 되기 쉽습니다. 올바른 명령으로 컴파일하면 됩니다.
어떤 경로를 쓸까
- 영문 중심, 빠르게 → 직접 경로(
pdflatex). - 시스템 글꼴, Unicode, 직접 PDF →
lualatex/xelatex(직접 경로). - 일본어((u)platex) → DVI 경유(
dvipdfmx). - EPS를 많이 쓰는 기존 작업 → DVI 경유(Ghostscript가 읽어 들임), 또는 직접 경로에서는
epstopdf로 PDF 변환.