Mudanças entre as edições de "Makefile para Latex"
(4 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
+ | 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. | ||
+ | |||
<pre> | <pre> | ||
.SUFFIXES: .dvi .tex .pdf .ps .html | .SUFFIXES: .dvi .tex .pdf .ps .html | ||
Linha 7: | Linha 11: | ||
rm -f $*.log $*.aux $*.blg | 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: | .tex.html: | ||
Linha 24: | Linha 32: | ||
</pre> | </pre> | ||
+ | |||
+ | 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 [http://pt.wikipedia.org/wiki/Bibtex 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 [http://www.cecm.usp.br/~gustavo/arquivos/makefile 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 | ||
+ | <pre> | ||
+ | make | ||
+ | </pre> | ||
+ | para produzir um arquivo dvi, | ||
+ | <pre> | ||
+ | make ps | ||
+ | </pre> | ||
+ | para produzir um arquivo ps, | ||
+ | <pre> | ||
+ | make pdf | ||
+ | </pre> | ||
+ | para um arquivo pdf e | ||
+ | <pre> | ||
+ | make html | ||
+ | </pre> | ||
+ | para gerar um html a partir do seu texto. | ||
+ | |||
+ | [[Categoria:Tutoriais]] |
Edição atual tal como às 12h23min de 9 de fevereiro de 2009
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.