Como chamar latexmk no emacs e pular para o próximo erro
Eu gostaria de usarlatexmk para compilar meus documentos LaTeX no Emacs. Especialmente, preciso da funcionalidade do Emacsnext-error
, que normalmente é chamado com C-x `, e pula para o próximo erro do LaTeX no documento.
Eu gostaria de ligarlatexmk
usandoC-x compile
ou o AUCTeXC-c C-c
.
Primeiro, eu definolatexmk
usar
$pdflatex = 'pdflatex -interaction=nonstopmode';
Opção 1: compilação C-x
Eu pressionoC-x compile
e tipolatexmk -pdf foo
, que é executadopdflatex
. Masnext-,error
não pulará para os erros, mesmo se o buffer * compilation * contiver erros:
! Paragraph ended before \author was complete.
<to be read again>
\par
l.48
[...]
Compilation exited abnormally with code 12
Como posso pular automaticamente para esse erro na linha 48?
Observe que esta questão de analisar a saída de látex não tem nada a ver comlatexmk
diretamente. O mesmo problema ocorre quando eu apenas façoC-x compile pdflatex -interaction=nonstopmode foo
.
Opção 2: AUCTeX
Como posso configurar o AUCTeX para chamarlatexmk -pdf
ao invés depdflatex
no meu arquivo .tex? Claro que queronext-error
para trabalhar aqui também.
ATUALIZAR: Eu comecei umrecompensa porque se isso funcionasse, seria uma ótima ferramenta para muitas pessoas. Considero a pergunta respondida se for fornecida uma solução que me permita compilar facilmente meu documento LaTeX usandolatexmk
no Emacs e pule para os erros usandonext-error
(é claro, os erros podem estar emincluído arquivos .tex, não necessariamente no arquivo mestre ou no buffer atual).
ATUALIZAR: Agradecemos a Ivan (e Chris) por fazer o AUCTeX + Latexmk funcionar. Enquanto isso, descobri que usarBorracha compilar o LaTeX também é uma excelente opção. Ele exibirá mensagens de erro no formato usado pelogcc
e outros compiladores, por isso funciona naturalmente com o EmacsC-x compile
, por exemplo.C-x compile rubber --pdf foo
e as mensagens de erro são analisadas corretamente.