gpt4 book ai didi

emacs - 如何在 AUCTeX 中向 TeX 命令列表添加函数(latexmk 变体)?

转载 作者:行者123 更新时间:2023-12-04 15:25:46 26 4
gpt4 key购买 nike

我使用来自 Latex, Emacs: automatically open *TeX Help* buffer on error and close it after correction of the error? 的以下函数通过 latexmk 编译 .tex 文件:

(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 %s" 'TeX-master-file); adjusted
master-file)
(if (plist-get TeX-error-report-switches (intern master-file))
(TeX-next-error t)
(progn
(demolish-tex-help)
(minibuffer-message "latexmk: Done")))))

如何将此功能“添加”到 TeX-command-list以便 C-c C-c在 .tex 文件中执行这个函数? [ C-c C-c应该使用 run-latexmk在 .tex 文件上执行时作为默认值]

我试过

(add-hook 'LaTeX-mode-hook
(lambda ()
(add-to-list 'TeX-command-list
'("latexmk" #'run-latexmk
TeX-run-command nil t :help "Run latexmk") t)
(setq TeX-command-default "latexmk")))

但它失败并显示消息: TeX-command-expand: Wrong type argument: stringp, (function run-latexmk) (取自*消息*)

最佳答案

您不想使用 TeX-run-command因为那是用于运行 shell 命令。你会想要运行 TeX-run-function ,但它仍然将“函数”作为字符串,所以你应该说(未经测试):

(add-hook 'LaTeX-mode-hook
(lambda ()
(add-to-list 'TeX-command-list
'("latexmk" "(run-latexmk)"
TeX-run-function nil t :help "Run latexmk") t)
(setq TeX-command-default "latexmk")))

关于emacs - 如何在 AUCTeX 中向 TeX 命令列表添加函数(latexmk 变体)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9454839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com