在 emacs 中,如何在编译成功后获取 pdflatex 输出?

在 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。如果编译成功,则编译窗口将关闭。您可以轻松(?)根据需要更改此代码。

此答案基于这个这个

相关内容