quinta-feira, 28 de junho de 2012

Compilando com Latexmk

O Latexmk é um script baseado em Perl que automatiza o processo de compilação de documentos LaTeX. De forma semelhante ao Rubber, o Latexmk executa os comandos necessários para gerar um documento LaTeX completo com referências, figuras, etc.
Um diferencial do latexmk é que ele mantém um preview em tempo real. Sempre que o arquivo.tex é salvo o visualizador atualiza o documento automaticamente.
É possível instalar o Latexmk no Windows, mas eu não tentei (parece que ele já vem embutido no TeXLive). Eu fiz todos os testes no Linux, pois usando um terminal podemos fazer muita coisa interessante.
O Latexmk já está disponível na última versão do TeXLive, mas caso não esteja instalado digite no terminal:

sudo apt-get install latexmk

Principais comandos

Suponha que você tenha um arquivo chamado exemplo.tex. Abra o terminal.

Compilando e gerando o dvi
latexmk exemplo
ou
latexmk -dvi exemplo

Gerando o pdf
latexmk -pdf exemplo

Gerando o ps
latexmk -ps exemplo

Gerando pdf a partir do dvi
latexmk -pdfdvi exemplo

Gerando pdf a partir do ps
latexmk -pdfps exemplo

Usando XeLaTeX com Latexmk
latexmk -xelatex exemplo

Apagando os auxiliares que geraram o exemplo
latexmk -c exemplo

Digitando latexmk -c sem o nome de um arquivo específico, todos os arquivos auxiliares são excluidos da pasta atual.

Cuidado: O comando latexmk -C (maiúsculo) exclui todos os arquivos auxiliares, inclusive dvi, ps e/ou pdf, deixando somente os arquivos fontes como tex, sty, etc.

Visualizando os arquivos dependentes do arquivo tex principal
latexmk -deps exemplo
ou
latexmk -M exemplo

Este comando mostra todos os arquivos dependentes do arquivo tex principal, no nosso caso:

exemplo.tex
figuras/abelha.jpg
refs.bib


Preview

O legal do Latexmk é o preview constante. Como eu disse antes, usei o Linux e o terminal.
Nota: Faremos a visualização de um pdf. Então verifique qual é o seu visualizador padrão. No meu caso é o Evince. Mas se não for, compile o exemplo primeiro e depois abra digitando

latexmk -pdf exemplo
evince exemplo.pdf &

O comando pra visualizar o pdf é
latexmk -pdf -pv exemplo

Preview constante

Agora iremos visualizar o exemplo.pdf, alterar o exemplo.tex e atualizar o documento final em tempo real. As alterações são atualizadas cada vez que o exemplo.tex é salvo no editor de texto.

1) Abra um editor de texto simples
gedit exemplo.tex &

2) Gere o pdf pela primeira vez
latexmk -pdf exemplo

3) Abra exemplo.pdf pelo Evince
evince exemplo.pdf &

4) Agora começa a mágica!
latexmk -pdf -pvc exemplo

5) Faça alguma alteração em exemplo.tex e salve...
Legal se você ajustar as janelas pra ver o tex e o pdf lado a lado.

Para sair do preview constante pressione CTRL+C no terminal.


Veja este video
Preview em tempo real

Experimente
latexmk -pdf exemplo01 exemplo02 exemplo03
ou
latexmk -pdf *.tex

Para ajuda digite
latexmk --help

Latexmk on TeX Catalogue
latexmk.pdf