Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
    • 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
    • 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
    • 최소 예제는 "Minimal working example"을 읽어 보세요.
  • 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
  • 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 사용하는 편집기는 CKeditor입니다.
    • 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
    • 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
    • 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.

연금술사

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 `도 그러시겠지만 앞으로 쓰시다 보면 자잘한 문제들이 또 생길수 있는데, 다양한 시나리오를 짜두시면

스트레스를 좀 덜 받지 않을까요? 헤헤



XE Login