Makefile para Latex

De Wikoleculares
Revisão de 12h23min de 9 de fevereiro de 2009 por Gustavo (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Aqui são apresentadas duas opções de Makefile para LaTeX. Cada qual tem suas vantagens e desvantagens, que serão brevemente descritas aqui.

O código da primeira versão está disponível abaixo. É só copiar seu conteúdo em um arquivo com o nome Makefile dentro da pasta onde estão os arquivos que você quer coverter. Então digite 'make nome_do_arquivo.extensão_desejada' onde extensão_desejada deve ser dvi, pdf, ps ou html.

.SUFFIXES: .dvi .tex .pdf .ps .html

.tex.dvi:
	latex $*
	if test -f ref.bib; then bibtex $*; latex $*; latex $*; fi 
	rm -f $*.log $*.aux $*.blg

.tex.pdf:
	pdflatex $*
	if test -f ref.bib; then bibtex $*; pdflatex $*; pdflatex $*; fi 
	rm -f $*.log $*.aux $*.blg

.tex.ps:
	pslatex $*
	if test -f ref.bib; then bibtex $*; pslatex $*; pslatex $*; fi 
	rm -f $*.log $*.aux $*.blg

.tex.html:
	latex2html $*.tex
	rm -f $*.log $*.aux $*.bbl $*.blg

clean:
	rm -f *~ *.aux *.log *.dvi *.ps *.bbl *.blg *.out *.snm *.toc *.nav

cleanall: clean
	rm *.pdf

Esta versão possui a vantagem de não necessitar que você configure o makefile para adaptá-lo ao seu trabalho. Ela é independente dos nomes dos arquivos que você use.

Contudo, ela possui as seguintes desvantagens:

  • ela considera que o arquivo bibtex sempre se chama ref.bib. Se o seu bibtex tiver um nome diferente, o makefile não vai funcionar;
  • se você compilar seu arquivo .tex, depois editar seu bibtex e, a seguir, tentar recompilar seu .tex, o make não o compilará, exibindo a mensagem de que não há nada a ser feito para a compilação. Isso se deve ao fato de o makefile não impor o arquivo bibtex como pré-requisito para a compilação do .tex;
  • se você estiver usando o pacote epsfig do LaTeX, você não conseguirá gerar um arquivo ps nem um pdf;
  • ele não trata o caso em que seu texto está distribuído entre vários arquivos .tex. Isso acontece quando você trabalha com um arquivo .tex mestre e incorpora os demais (através do comando \input{} por exemplo). Isso é muito comum quando você está trabalhando no modo book, em que se costuma separar os capítulos em .tex disitintos.

Para resolver todos esses casos, experimente usar o makefile disponível aqui. Para utilizá-lo, copie esse arquivo makefile para o diretório no qual estão seus arquivos .tex, abra o makefile e edite as seguintes variáveis conforme suas necessidades:

  • PROJETO: insira o nome do seu projeto LaTeX; se você estiver trabalhando com apenas um arquivo .tex, o nome do seu projeto será o nome do seu arquivo, porém sem a extensão .tex; se você estiver trabalhando com vários arquivos .tex, o nome do projeto será o nome do seu arquivo mestre (aquele que incorpora os outros e que contém o comando \documentclass{}), também sem a extensão .tex;
  • BIB: insira o nome do seu arquivo de bibliografia, ou deixe em branco, caso não use nenhum;
  • EPSFIG: caso você utilize o pacote epsfig, configure esta variável com o valor 1; se não usar esse pacote, insira qualquer outro valor.

Depois, basta utilizar o comando

make

para produzir um arquivo dvi,

make ps

para produzir um arquivo ps,

make pdf

para um arquivo pdf e

make html

para gerar um html a partir do seu texto.