tôi sử dụng các chức năng sau đây từ Latex, Emacs: automatically open *TeX Help* buffer on error and close it after correction of the error? biên soạn tài liệu .tex qua latexmk
:Làm thế nào để thêm một hàm (biến thể latexmk) vào danh sách lệnh TeX trong AUCTeX?
(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")))))
Làm thế nào tôi có thể "thêm" chức năng này để TeX-command-list
để C-c C-c
trong file .tex thực hiện chức năng này? [C-c C-c
nên sử dụng run-latexmk
như mặc định khi thực hiện trên file .tex]
tôi đã cố gắng
(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")))
nhưng nó không thành công với thông điệp: TeX-command-expand: Wrong type argument: stringp, (function run-latexmk)
(lấy từ * Tin nhắn *)
trông thật tuyệt vời, hoạt động tuyệt vời. Rất cám ơn, Ivan! –
Tôi thiết lập nhiều tùy chọn trong 'Tex-command-list' trong' LaTeX-mode-hook', vì vậy tôi có thể chọn bất kỳ một trong 'Cc Cc', và tôi đặt một trong số chúng là' TeX-command-default' trong ' LaTeX-mode-hook', nhưng tôi sử dụng một hàm khác để chạy toàn bộ quá trình biên dịch vì vậy tôi không phải chọn một từ 'Cc Cc', làm cách nào tôi có thể sử dụng giá trị' Tex-command-default' trong hàm đó? – CodyChan
Thử bỏ ràng buộc TeX-command-default trong chức năng khác của bạn, ví dụ: (defun xxx() (let ((TeX-command-default "lệnh của tôi")) ...)) –