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