Я пытаюсь написать функцию на основе кода из: Latex, Emacs: автоматически открывать буфер *TeX Help* при ошибке и закрывать его после исправления ошибки?
Я хотел бы заменить latexmk на texi2dvi, но TeX-master-file
не содержит файла с окончанием .tex
(что, кажется, требуется для texi2dvi). Я узнал, что можно добавить .tex
, используя TeX-master-file t
. Однако я не могу заставить его работать (я не программист elisp). Вот что я пробовал:
;; texi2dvi
(defun run-texi2dvi ()
(interactive)
(let ((TeX-save-query nil)
(TeX-process-asynchronous nil)
(master-file (expand-file-name (TeX-master-file t)))); append `.tex`
(TeX-save-document "")
(TeX-run-TeX "texi2dvi"
(TeX-command-expand "PDFLATEX='pdflatex -synctex=1' texi2dvi -p %s" 'TeX-master-file)
master-file)
(if (plist-get TeX-error-report-switches (intern master-file))
(TeX-next-error t)
(progn
(demolish-tex-help)
(minibuffer-message "texi2dvi: done.")))))