
Eu simplesmente tropecei nissopostagem no blog sobrerubber
e estava pensando: “Não é exatamente isso que latexmk
acontece?”. Então, agora me pergunto: não é? Ou há alguma diferença?
Responder1
Parece que a borracha possui os seguintes recursos que (ainda?) Não são oferecidos pelo latexmk:
- Borrachaanalisa o arquivo de log LaTeX, filtra-o e imprime apenas mensagens "relevantes" (avisos, erros). Rubber sempre executa LaTeX em ummodo não interativo, enquanto o latexmk parece exigir opções ou configurações adicionais.
- Com borracha você pode teropções de configuração como comentários no código-fonte do LaTeX; latexmk requer arquivos de configuração auxiliares.
- Mais importante ainda, a borracha permite especificar os valores corretos deTEXINPUTS, BIBINPUTS, BSTINPUTS, etc.para cada documento utilizando as opções de configuração acima mencionadas; latexmk parece esperar que essas variáveis de ambiente já estejam definidas adequadamente.
É claro que muitos desses problemas podem ser contornados com alguns scripts wrapper e arquivos auxiliares. E obviamente existem muitos recursos do latexmk que não são oferecidos pela borracha.
Responder2
Uma vantagem importante do latexmk sobre a borracha é que o latexmk detecta arquivos dependentes com muito mais confiabilidade. Da melhor maneira que consegui descobrir, a borracha determina os arquivos dependentes analisando o arquivo tex, procurando por \input
e \include
macros \includegraphics
. Mas se essas macros estiverem enterradas dentro de outra macro, o Rubber não detecta os arquivos dependentes corretamente. Por exemplo, se você tiver
\newcommand\try[1]{\input{#1}}
\try{sub}
O Rubber não detectará que sub.tex
é um arquivo dependente. Assim, se o arquivo sub.tex
for alterado, o Rubber não detectará que a compilação precisa ser executada novamente.
Em vez disso, o Latexmk analisa o arquivo de log e usa a -recorder
opção ( pdf
) latex
para determinar os arquivos dependentes.
Responder3
O Latexmk também traz um recurso de pré-visualização automática, que recompila (de forma inteligente) o pdf assim que o tex é salvo.
Existem também recursos mais avançados, como forte integração com makefiles, por exemplo.