Emacs(AUCTeX / YaTeX)

Emacs에서 LaTeX를 작성하는 두 가지 주요 방법이 있습니다: AUCTeX, 포괄적인 TeX/LaTeX 환경, 그리고 YaTeX (野鳥), 일본어에 강합니다. 둘 다 키보드로 구동되며 편집기에서 바로 컴파일, 완성, 상호 참조 및 미리보기를 수행할 수 있습니다. 학습 곡선은 가파르지만 일단 손에 맞으면 매우 빠릅니다. 이 페이지에서는 버퍼에서 수학 인라인 렌더링을 위한 AUCTeX 설정, 동반 RefTeXpreview-latex를 살펴본 다음 일본어용 YaTeX로 전환합니다.

AUCTeX가 무엇인가요?

Emacs는 TeX 자체를 조판하지 않습니다. 실제 컴파일은 컴퓨터에 설치한 배포판(TeX Live(또는 MacTeX / MiKTeX))에 의해 수행됩니다. AUCTeX는 편집기와 해당 배포판을 연결하는 패키지입니다. latex 또는 latexmk를 하위 프로세스로 생성하고, 오류를 포착하고 문제가 있는 줄로 이동하며, 환경 및 매크로 완성, 구문 강조, 문서 접기 및 수학 입력 도움말을 추가합니다. 한 가지 전제 조건은 latexmk --version가 터미널에서 작동한다는 것입니다. 즉, TeX 명령은 PATH에 있습니다.

역사적으로 AUCTeX에는 LaTeX 문서용 LaTeX-mode와 원시 TeX / plain TeX용 TeX-mode의 두 가지 주요 모드가 있습니다. .tex 파일을 열면 AUCTeX가 이를 검사하여 올바른 파일을 입력합니다. 현재 배포 센터는 GNU ELPA, Emacs의 내장 패키지 아카이브에 있습니다. GNU ELPA는 2026년 1월에 14.1.2**로 나열되었습니다. 따라서 오늘 설치하는 것은 아래와 같이 package.el가 포함된 한 줄짜리 설치입니다.

Emacs 키 표기법이 익숙하지 않은 경우: C-cc로 제어를 누른 상태를 의미하고, C-c C-cControl을 누른 상태에서 c를 누른 다음 c를 다시 누르는 것을 의미하고, M-x메타(Alt 또는 ESC) + x를 의미합니다. 거의 모든 AUCTeX 명령은 C-c로 시작하는 키에 있습니다.

AUCTeX 설정

설치에는 두 단계가 있습니다. 먼저 TeX Live(2026년에는 TeX Live 2026)와 같은 배포판을 설치하고 PATH에 넣으세요. 그런 다음 Emacs 내부에서 AUCTeX를 설치하십시오. GNU ELPA는 기본적으로 활성화되어 있으므로 M-x package-install RET auctex RET만 있으면 됩니다. init.el(또는 ~/.emacs.d/init.el)에서 TeX-PDF-mode로 시작하여 기본적으로 PDF 출력으로 설정하고 TeX-source-correlate-mode로 소스를 PDF(SyncTeX)에 연결합니다.

다음은 use-package를 사용한 실용적인 init.el입니다. TeX-source-correlate-methodsynctex로 설정하고 TeX-source-correlate-start-server를 켜면 뷰어에서 소스로 역검색이 가능합니다. 또한 LaTeX 버퍼에서 자동으로 reftex-modeLaTeX-math-mode를 켭니다.

terminal
;; GNU ELPA is enabled by default; ensure it is initialised.
(require 'package)
(package-initialize)

(use-package tex
  :ensure auctex
  :hook ((LaTeX-mode . TeX-source-correlate-mode)   ; SyncTeX
         (LaTeX-mode . reftex-mode)                  ; cross-references
         (LaTeX-mode . LaTeX-math-mode))             ; ` math shortcuts
  :config
  (setq TeX-auto-save t           ; write parse data (the auto/ dir)
        TeX-parse-self t          ; scan the file for \usepackage etc.
        TeX-PDF-mode t)           ; produce PDF, not DVI
  ;; Tie source lines to PDF positions and run a server for inverse search.
  (setq TeX-source-correlate-method 'synctex
        TeX-source-correlate-start-server t))

TeX-parse-selfTeX-auto-save는 AUCTeX에게 문서를 구문 분석하고(\usepackage 패키지에서 매크로를 가져오고) 결과를 auto/ 디렉토리에 캐시하도록 지시합니다. 결과는 실제로 로드하는 패키지에 적응하는 완료입니다.

컴파일의 핵심은 C-c C-c (TeX-command-master)입니다. 이 버튼을 누르면 미니버퍼가 다음에 무엇을 실행할지 묻고 문서의 상태에 따라 기본값을 제안합니다(참조가 해결되지 않은 경우 먼저 LaTeX, 다시 LaTeX, 참고문헌이 있는 경우 BibTeX, 다음으로 View). Enter를 누르고 반복하는 것이 기본 루프입니다. 대조적으로 C-c C-a(TeX-command-run-all)는 오류 또는 완료가 발생할 때까지 필요한 단계를 자동으로 연결하고 성공하면 뷰어를 엽니다. 완성된 PDF를 실행하고 싶다면 C-c C-a가 빠른 경로입니다.

latexmk를 컴파일러로 표준화하려면 auctex-latexmk 패키지를 설치하고 (auctex-latexmk-setup)를 호출하세요. 그러면 C-c C-c 선택 항목에 LatexMk 항목이 추가되고 TeX-command-default"LatexMk"로 설정하면 기본값이 됩니다. latexmk는 종속성을 검사하고 필요한 만큼 정확하게 다시 실행하므로 상호 참조 또는 목차에 대한 패스를 계산하지 않습니다. auctex-latexmk는 또한 AUCTeX의 TeX-PDF-modeTeX-source-correlate-mode를 상속하여 PDF 출력 및 -synctex=1를 자동으로 추가합니다.

terminal
(use-package auctex-latexmk
  :ensure t
  :after tex
  :config
  ;; Make latexmk pick up TeX-PDF-mode (pass -pdf when PDF output is on).
  (setq auctex-latexmk-inherit-TeX-PDF-mode t)
  (auctex-latexmk-setup)
  ;; Offer LatexMk as the default action for C-c C-c.
  (setq-default TeX-command-default "LatexMk"))

엔진 및 참고문헌 세부정보는 프로젝트 루트의 .latexmkrc에서 가장 깨끗합니다(AUCTeX의 설정과 무관하며 C-c C-c에서 시작된 latexmk도 이를 읽습니다). 예를 들어 일본어의 경우 upLaTeX + dvipdfmx$latex / $dvipdf에 할당하고 $pdf_mode = 3를 선택합니다. 자세한 내용은 빌드 도구 페이지를 참조하세요.

매일 도달하는 AUCTeX 키는 테이블에 수집됩니다(name 열은 리터럴 키 시퀀스입니다).

열쇠명령기능
C-c C-cTeX-command-master다음 단계(LaTeX → 보기, …)를 선택하고 실행합니다.
C-c C-aTeX-command-run-all전체 체인을 완료할 때까지 실행한 후 확인하세요.
C-c `TeX-next-error다음 오류로 이동(역따옴표)
C-c C-eLaTeX-environment환경 삽입(\begin..\end)
C-c C-mTeX-insert-macro이름으로 매크로 삽입(인수에 대한 프롬프트)
C-c C-fTeX-font글꼴 매크로 삽입: \textbf, \emph, …

RefTeX — 상호 참조 및 인용

RefTeX\label, \ref\cite 관리에 중점을 둔 동반자입니다. AUCTeX와는 별개이며 Emacs 자체와 함께 번들로 제공됩니다(별도 설치 없음). 위의 init.el에서와 같이 LaTeX 버퍼에서 reftex-mode를 켜고 AUCTeX와 협력하도록 하면 레이블 지정 및 참조가 훨씬 쉬워집니다.

핵심은 손으로 라벨을 만들 필요가 전혀 없습니다입니다. C-c ( (reftex-label)는 현재 위치(그림, 표, 방정식, 섹션)를 살펴보고 삽입할 적절한 접두사가 붙은 레이블(fig:, tab:, eq:, …)을 제안합니다. 다시 참조하려면 C-c )(reftex-reference)를 사용하면 기존 라벨에서 선택할 수 있습니다. 인용의 경우 C-c [ (reftex-citation)는 정규식으로 .bib를 검색하고 선택한 항목에 \cite{...}를 삽입합니다. 그리고 C-c =(reftex-toc)는 다른 창에서 전체 문서에 대한 목차 버퍼를 열어 섹션으로 이동하거나 구조를 조사할 수 있습니다.

AUCTeX와의 긴밀한 통합을 위해서는 reftex-plug-into-AUCTeX를 설정하십시오. AUCTeX 자체의 \label 삽입과 \ref/\cite 완료는 RefTeX를 거치며 두 패키지는 하나처럼 느껴집니다. 다중 파일 프로젝트(\include/\input)에서도 RefTeX는 마스터 파일을 따라 전체 문서의 모든 라벨과 모든 인용을 수집합니다.

terminal
(use-package reftex
  :ensure nil                 ; bundled with Emacs
  :hook (LaTeX-mode . turn-on-reftex)
  :config
  (setq reftex-plug-into-AUCTeX t   ; cooperate with AUCTeX
        reftex-cite-format 'natbib)) ; or 'biblatex, etc.

Preview-latex — 인라인 미리보기

preview-latex는 실제로 수학, 그림, tikzpictures 등을 LaTeX로 조판한 다음 결과를 소스 버퍼에 바로 이미지로 오버레이합니다. AUCTeX와 함께 제공되므로 추가로 설치할 것이 없습니다. $...$, \[...\] 또는 equation 환경의 소스는 편집 가능한 상태로 유지되지만 확인하려고 할 때 설정된 수학으로 표시됩니다. 일반 텍스트를 유지하면서 WYSIWYG와 같은 느낌입니다.

명령은 C-c C-p(미리보기)로 시작됩니다. C-c C-p C-p (preview-at-point)는 커서에 있는 개체만 미리 봅니다(소스로 돌아가려면 다시 누르세요). C-c C-p C-b는 전체 버퍼를, C-c C-p C-d는 전체 문서를, C-c C-p C-r는 선택한 영역을 수행합니다. C-c C-p C-c C-p는 지역의 미리보기를 지웁니다. 내부적으로는 LaTeX를 실행하여 이미지를 생성하므로 첫 번째 패스에는 몇 분 정도 걸립니다.

Preview-latex는 이미지를 만들기 위해 Ghostscript 및 dvipng(또는 PDF-to-image 단계)를 사용하므로 해당 이미지가 배포판에 있어야 합니다(TeX Live에는 일반적으로 해당 이미지가 있음). 이는 긴 방정식이나 교환 다이어그램으로 가득 찬 문서에서 가장 효과적이며, 작성하는 동안 설정된 결과를 한 눈에 확인하고 싶은 경우에 적합합니다.

YaTeX (野鳥) — 일본 중심 선택

YaTeX (야鳥, “야생 새”)는 Yuuji Hirose가 만든 Emacs의 LaTeX 주요 모드입니다. 국제적으로는 AUCTeX가 더 일반적인 선택이지만, 일본에서는 YaTeX가 지속적인 인기와 풍부한 일본어 문서를 누리고 있습니다. 최신 버전은 1.84(2025년 2월)입니다. M-x package-install RET yatex RET를 사용하여 MELPA에서 설치합니다(또는 수동으로 site-lisp에 놓고 load-path를 확장합니다).

그 철학은 AUCTeX와 약간 다르며, 매크로와 환경을 빠르게 삽입하기 위해 "처음 몇 글자와 완성 기능을 입력하세요"에 의존합니다. 접두사는 기본적으로 C-c입니다. C-c b는 시작 유형 완성(환경, \begin{...}...\end{...}), C-c s는 섹션 유형(\section, …), C-c l는 대형 유형(\large와 같은 크기/면), C-c m는 maketitle 유형(\maketitle와 같은 인수 없는 매크로, \item). 조판은 C-c C-t로 시작됩니다: C-c C-t j 조판 및 C-c C-t p 미리보기(뷰어 시작).

몇 가지 변수가 일본 설정을 고정합니다. YaTeX-kanji-code는 저장 시 한자 인코딩입니다. UTF-8은 이제 표준이므로 파일을 자동으로 다시 인코딩하지 않으려면 nil(파일의 기존 인코딩 존중)로 설정하십시오. tex-command는 실제로 호출되는 조판 명령입니다. "latexmk", "lualatex -synctex=1" 또는 "uplatex". bibtex-commandmakeindex-commandupbibtexupmendex로 설정하면 일본어 참고문헌 및 색인이 작동합니다. 다음은 최소 init.el입니다.

terminal
(use-package yatex
  :ensure t                       ; from MELPA
  :mode ("\\.tex\\'" . yatex-mode)
  :config
  (setq YaTeX-kanji-code nil      ; keep the file's own encoding (UTF-8)
        tex-command "latexmk"     ; or "lualatex -synctex=1", "uplatex"
        bibtex-command "upbibtex"
        makeindex-command "upmendex"
        ;; Use C-c C-t style prefixes (C-c C-t j, C-c C-t p, ...).
        YaTeX-inhibit-prefix-letter t))

YaTeX-inhibit-prefix-lettert로 설정하면 C-c t ... 대신 조판 키 C-c C-t ...(수정자 보유 Emacs 관용구)가 만들어집니다. YaTeX는 HTML의 자매 모드인 yahtml도 제공합니다. AUCTeX 및 YaTeX는 혼합보다는 둘 중 하나에 전념하는 것이 가장 좋습니다. 대부분 영어로 작업하거나 Preview-latex/RefTeX를 전부 사용하려면 AUCTeX를 선택하고, 일본어 문서를 빠르게 작성하려면 YaTeX를 선택하세요.

실용적인 Emacs 쓰기 루프

설정을 작성한 후 큰 논문으로 시작하지 마십시오. 먼저 작은 main.tex에서 edit, typeset, reference, check-PDF 루프를 수정하세요. AUCTeX에서 C-c C-a를 실행합니다. PDF가 열리면 C-c (로 방정식이나 그림에 대한 레이블을 만든 다음 C-c )로 산문의 참조를 삽입하세요. 오류가 나타나면 C-c \`를 사용하여 다음 오류로 점프하고 Emacs 내부에서 로그 읽기를 유지하세요. 해당 루프를 손에 넣으면 Emacs는 더 이상 단순히 "구성"되지 않습니다. 그것은 논문 장이 실제로 매일 앞으로 나아가는 작업대가 됩니다.

처음 30분 동안에는 테마나 색상이 아닌 빌드 소유자를 결정하세요. AUCTeX의 표준 C-c C-c를 사용하거나 auctex-latexmk를 통해 latexmk에 체인을 위임하세요. 프로젝트 .latexmkrc와 페어링되면 동일한 PDF를 Emacs, 다른 편집기 또는 CI에서 재현할 수 있습니다.