Me gustaría usar latexmk para compilar mis documentos LaTeX en Emacs. Especialmente necesito la funcionalidad de Emacs next-error
, que normalmente se llama con C-x `, y salta al siguiente error de LaTeX en el documento.Cómo llamar a latexmk en emacs, y saltar al siguiente error
Me gustaría llamar al latexmk
utilizando C-x compile
o AUCTeX C-c C-c
.
Primero, puse latexmk
utilizar
$pdflatex = 'pdflatex -interaction=nonstopmode';
Opción 1: C-x compilar
presiono C-x compile
y tipo latexmk -pdf foo
, que corre pdflatex
. Pero next-error
no saltará a los errores, incluso si la compilación * * búfer contiene errores:
! Paragraph ended before \author was complete.
<to be read again>
\par
l.48
[...]
Compilation exited abnormally with code 12
¿Cómo puedo saltar automáticamente a este error en la línea 48?
Tenga en cuenta que esta cuestión de analizar la salida de látex no tiene nada que ver con latexmk
directamente. El mismo problema ocurre cuando acabo de hacer C-x compile pdflatex -interaction=nonstopmode foo
.
Opción 2: AUCTeX
¿Cómo puedo configurar AUCTeX llamar latexmk -pdf
en lugar de pdflatex
en mi archivo .tex? Por supuesto, quiero next-error
para trabajar aquí también.
ACTUALIZACIÓN: empecé una recompensa porque si esto funcionó sería una gran herramienta para muchas personas. Considero la pregunta respondida si se proporciona una solución que me permite compilar fácilmente mi documento LaTeX usando latexmk
en Emacs y saltar a los errores usando next-error
(por supuesto, los errores pueden estar en incluidos .tex archivos, no necesariamente en el maestro archivo o el buffer actual).
ACTUALIZACIÓN: Gracias a Ivan (y Chris) para hacer trabajos AUCTeX + latexmk. Mientras tanto, descubrí que usar Rubber para compilar LaTeX también es una excelente opción. Mostrará los mensajes de error en el formato utilizado por gcc
y otros compiladores, por lo que naturalmente funciona con Emacs C-x compile
, p. C-x compile rubber --pdf foo
, y los mensajes de error se analizan correctamente.
Consulte también esta pregunta remotamente relacionada http://stackoverflow.com/questions/738755/dont-make-me. – Frank
También hay 'TeX-run-compile' para que pueda usar la interfaz AucTeX para iniciar el proceso de compilación. Pruebe 'C-h v TeX-command-list RET' para ver la lista completa de los diferentes métodos disponibles. –
Véase también https://github.com/tom-tan/auctex-latexmk, disponible a través de los gestores de paquetes de Emacs (no estoy seguro de qué repositorio). – Blaisorblade