В emacs, как мне получить вывод pdflatex при успешной компиляции?

После нажатия Cc RET и компиляции моего.tex-файла я бы хотел закрыть буфер tex-shell, если компиляция прошла успешно. Как я могу это сделать?

1 ответ

В моем .emacs У меня есть следующий код:

(defun run-latexmk ()
  (interactive)
  (let ((TeX-save-query nil)
        (TeX-process-asynchronous nil)
        (master-file (TeX-master-file)))
    (TeX-save-document "")
    (TeX-run-TeX "latexmk"
         (TeX-command-expand "latexmk -pdf %t" 'TeX-master-file)
         master-file)
    (if (plist-get TeX-error-report-switches (intern master-file))
        (TeX-next-error t)
      (minibuffer-message "latexmk done"))))

(add-hook 'LaTeX-mode-hook
          (lambda () (local-set-key (kbd "C-0") #'run-latexmk))
      )

Это связывает C-0 к определенной функции run-latexmk который, в свою очередь, сохраняет все файлы текущего документа (на основе понятия master файл), а затем работает latexmk, Если компиляция прошла успешно, окно компиляции закрывается. Вы можете легко (?) Изменить этот код в соответствии с вашими потребностями.

Этот ответ основан на этом и этом.

Другие вопросы по тегам