C-c `는 TeX-engine, TeX-PDF-mode을 비롯해, 나오는 에러메세지 내용에 따라 작동이 될 때도 있고 안될 때도 있습니다. 자세한 원인은 잘 모르겠습니다.
그리고 C-c C-l이 로그를 쭉 훑어야하는 점은 있지만, 로그가 생각보다 길지 않습니다. -fine-line-error를 해두시고 C-r l. C-r C-r ... 로 reverse search 하시면서 에러부분을 좇아가시면 금방 다 잡습니다. 좀더 정교하게 딱딱 찾아내시려면 에러메세지를 잘 관찰해두시고 regexp search(C-M-s, C-M-r)를 하시는걸 추천합니다. l\.[0-9]+ 이 정도쯤 되겠네요.
그리고 남기신 말씀중에 터미널에서 컴파일을 하신다고 하셨는데, emacs를 쓰시면 구지 그럴 필요가 있나 싶습니다. M-!이나 M-x shell 같은 쉘 인터페이스도 있고 또 PSTricks 컴파일을 위해 LaTeX + dvips + ps2pdf을 써야하신다면 아래 코드를 참고해 보시길.
그리고 AUCTeX을 쓰시게 되면 컴파일 오류를 많이 안만나고 문서를 완성시킬 수 있습니다. C-SPC로 region을 잡고 그 부분만 C-c C-r해서 컴파일 할 수도 있고, \include, \input을 쓰는 규모있는 작업을 하실 때도 TeX-master라는 로컬변수로 특정 버퍼만 C-c C-b해서 컴파일 할 수도 있습니다. 대충 이런 부분 컴파일기능으로 의심나는 region은 주석(M-;) 처리나 register 임시등록으로, 컴파일에서 제외시키고 진행하실 수 있습니다.
TeX-master 관련해서는 제가 emacswiki 페이지 있는걸 좀더 수정해 두었습니다.
AUCTeX을 사용하신다면 먼저 다음 코드를 eval 해보세요.
스트레스를 좀 덜 받지 않을까요? 헤헤아니 AUCTeX을 쓰시지 않는다면 먼저 AUCTeX부터 쓰시는걸 추천합니다.
(add-hook 'LaTeX-mode-hook
(lambda ()
(setq LaTeX-command "latex -file-line-error -synctex=1")))
C-c `는 TeX-engine, TeX-PDF-mode을 비롯해, 나오는 에러메세지 내용에 따라
작동이 될 때도 있고 안될 때도 있습니다. 자세한 원인은 잘 모르겠습니다.
그리고 C-c C-l이 로그를 쭉 훑어야하는 점은 있지만, 로그가 생각보다 길지 않습니다.
-fine-line-error를 해두시고 C-r l. C-r C-r ... 로 reverse search 하시면서
에러부분을 좇아가시면 금방 다 잡습니다. 좀더 정교하게 딱딱 찾아내시려면
에러메세지를 잘 관찰해두시고 regexp search(C-M-s, C-M-r)를 하시는걸 추천합니다.
l\.[0-9]+ 이 정도쯤 되겠네요.
그리고 남기신 말씀중에 터미널에서 컴파일을 하신다고 하셨는데, emacs를
쓰시면 구지 그럴 필요가 있나 싶습니다. M-!이나 M-x shell 같은
쉘 인터페이스도 있고 또 PSTricks 컴파일을 위해 LaTeX + dvips + ps2pdf을
써야하신다면 아래 코드를 참고해 보시길.
(add-to-list 'TeX-command-list
'("LaTeX + dvips + ps2pdf"
"latex %t && dvips %d -o %f && ps2pdf14 %f"
TeX-run-command nil t))
그리고 AUCTeX을 쓰시게 되면 컴파일 오류를 많이 안만나고 문서를 완성시킬 수
있습니다. C-SPC로 region을 잡고 그 부분만 C-c C-r해서 컴파일 할 수도 있고,
\include, \input을 쓰는 규모있는 작업을 하실 때도 TeX-master라는 로컬변수로
특정 버퍼만 C-c C-b해서 컴파일 할 수도 있습니다. 대충 이런 부분 컴파일기능으로
의심나는 region은 주석(M-;) 처리나 register 임시등록으로, 컴파일에서 제외시키고
진행하실 수 있습니다.
TeX-master 관련해서는 제가 emacswiki 페이지 있는걸 좀더 수정해 두었습니다.
(add-hook 'LaTeX-mode-hook
(lambda ()
(setq TeX-master (if (buffer-file-name)
(guess-TeX-master (buffer-file-name))
nil))))
;; for multiple documents. outline-minor-mode is alternate choice
(defun guess-TeX-master (filename)
"Guess the master file for FILENAME from currently open .tex files."
(let ((candidate nil)
(filename (file-name-nondirectory filename)))
(save-excursion
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(let ((name (buffer-name))
(file buffer-file-name))
(if (and file (string-match "\\.tex$" file))
(progn
(goto-char (point-min))
(when (or
(re-search-forward (concat "\\input{" (file-name-sans-extension filename) "}") nil t)
(re-search-forward (concat "\\include{" (file-name-sans-extension filename) "}") nil t)
(re-search-forward (concat "\\usepackage{" (file-name-sans-extension filename) "}") nil t))
(setq candidate file))))))))
(if candidate
(message "TeX master document: %s" (file-name-nondirectory candidate)))
candidate))
C-c `도 그러시겠지만 앞으로 쓰시다 보면 자잘한 문제들이 또 생길수 있는데, 다양한 시나리오를 짜두시면