Как назвать latexmk в emacs и переход к следующей ошибке

Я хотел бы использовать latexmk для компиляции моих ЛАТЕКСНЫХ документов в Emacs. Особенно мне нужна функциональность Emacs next-error, который обычно называют с C-x' и переходит к следующей ЛАТЕКСНОЙ ошибке в документе.

Я хотел бы звонить latexmk любое использование C-x compile или AUCTeX C-c C-c.

Во-первых, я установил latexmk использовать

$pdflatex = 'pdflatex -interaction=nonstopmode';

Опция 1: компиляция C-x

Я нажимаю C-x compile и введите latexmk -pdf foo, который работает pdflatex. Но next-error не перейдет к ошибкам, даже если *компиляция* буфер будет содержать ошибки:

! Paragraph ended before \author was complete.
 
                   \par 
l.48 
[...]
Compilation exited abnormally with code 12 

Как я могу автоматически перейти к этой ошибке в строке 48?

Обратите внимание, что этот вопрос парсинга латексного вывода не имеет никакого отношения latexmk непосредственно. Та же проблема происходит, когда я просто делаю C-x compile pdflatex -interaction=nonstopmode foo.

Опция 2: AUCTeX

Как я могу установить AUCTeX для вызова latexmk -pdf вместо pdflatex на моем .tex файле? Конечно, я хочу next-error работать здесь также.

ОБНОВЛЕНИЕ: Я запустил щедрость, потому что, если это работало, это будет большой инструмент для многих людей. Я считаю вопрос отвеченным, если решение состоит в том, учитывая, что позволяет мне легко скомпилировать свое ЛАТЕКСНОЕ использование документа latexmk в Emacs и переходе к ошибкам с помощью next-error (конечно, ошибки могли бы быть во включенных .tex файлах, не обязательно в основном файле или текущем буфере).

ОБНОВЛЕНИЕ: Благодаря Ivan (и Chris) для того, чтобы заставить AUCTeX+Latexmk работать. Тем временем я нашел, что использование Резины для компиляции ЛАТЕКСА является также отличным выбором. Это отобразит сообщения об ошибках в формате, используемом gcc и другие компиляторы, таким образом, это естественно работает с Emacs C-x compile, например. C-x compile rubber --pdf foo, и сообщения об ошибках анализируются правильно.

26
задан Jason Hemann 12 September 2019 в 04:48
поделиться