utilizo la siguiente función de Latex, Emacs: automatically open *TeX Help* buffer on error and close it after correction of the error? para compilar documentos .tex través latexmk
:¿Cómo agregar una función (variante de latexmk) a TeX-command-list en 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")))))
¿Cómo puedo "añadir" esta función para TeX-command-list
modo que C-c C-c
en archivos .tex ejecuta esta función? [C-c C-c
debe utilizar run-latexmk
como predeterminada cuando se ejecuta en archivos .tex]
Probé
(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")))
pero falla con el mensaje: TeX-command-expand: Wrong type argument: stringp, (function run-latexmk)
(tomado de * Mensajes *)
tiene un aspecto fantástico, funciona fantástico. Muchas gracias, Ivan! –
Establecí varias opciones en 'Tex-command-list' en' LaTeX-mode-hook', así que puedo seleccionar cualquiera en 'Cc Cc', y configuré una de ellas como' TeX-command-default' en ' LaTeX-mode-hook', pero utilizo otra función para ejecutar todo el proceso de compilación, así que no tengo que elegir uno de 'Cc Cc', ¿cómo puedo usar el valor' Tex-command-default' en esa función? – CodyChan
Pruebe let-binding-teX-command-default en su otra función, p. (defun xxx() (let ((TeX-command-default "mi comando")) ...)) –