La Vita è Bella

Sunday, October 02, 2005

Makefile for LATEX

Update:TeXLive doesn't have it, but it have a tool texi2dvi with the same function (at least it also support -b and -p parameters).

You don't know how many times you should run the command latex, so it's hard to write a Makefile for LATEX

But I've found texify today. It can automatically calls the commands needed including latex/pdflatex, bibtex, etc., with needed times, and ships with almost all tex distributions.

Here's an example for my "Makefile" file (Note: don't forget to define RMRF, ACROREAD & PREVIEW for your environment):

LATEX = texify
PARAMS = -b
DVIPDF = dvipdfmx
MAINNAME = myarticle
SRCS = $(MAINNAME).tex \
	   chapter1.tex \
	   chapter2.tex
DVIFILE = $(MAINNAME).dvi
PDFFILE = $(MAINNAME).pdf

all: $(PDFFILE)

$(PDFFILE): $(DVIFILE)
	$(DVIPDF) $(DVIFILE)

$(DVIFILE): $(SRCS)
	$(LATEX) $(PARAMS) $(MAINNAME).tex

preview: $(DVIFILE)
	$(PREVIEW) $(DVIFILE)

read: $(PDFFILE)
	$(ACROREAD) $(PDFFILE)

clean:
	$(RMRF) *.toc *.out *.aux *.log *.bak

cleanall: clean
	$(RMRF) $(PDFFILE) $(DVIFILE)
	
.PHONY: clean cleanall all

For pdflatex files, beamer slides for example, use texify -p, here's the Makefile:

LATEX = texify -p
PARAMS = -b
MAINNAME = myarticle
SRCS = $(MAINNAME).tex \
	   chapter1.tex \
	   chapter2.tex
PDFFILE = $(MAINNAME).pdf

all: $(PDFFILE)

$(PDFFILE): $(SRCS)
	$(LATEX) $(PARAMS) $(MAINNAME).tex

read: $(PDFFILE)
	$(ACROREAD) $(PDFFILE)

clean:
	$(RMRF) *.toc *.out *.aux *.log *.bak

cleanall: clean
	$(RMRF) $(PDFFILE) $(DVIFILE)
	
.PHONY: clean cleanall all

If you need gbk2uni for Chinese support, change the line

	$(LATEX) $(PARAMS) $(MAINNAME).tex

into (Note: don't forget to define GBK2UNI):

	$(LATEX) $(PARAMS) $(MAINNAME).tex
	$(GBK2UNI) $(MAINNAME).out
	$(LATEX) $(PARAMS) $(MAINNAME).tex

That's it!



tags: , ,

06:09:36 by fishy - latex - Permanent Link

Revision: 1.0/1.0, last modified on 2005-10- 1 @ 22:09.

Karma: 12 (53.37% out of 178 were positive) [+/-]

You can subscribe to RSS 2.0 feed for comments and trackbacks

Trackbacks:
There are currently no trackbacks for this item.
Use this TrackBack url to ping this item (right-click, copy link target). If your blog does not support Trackbacks you can manually add your trackback by using this form.

No comments yet

Add Comment

 

May the Force be with you. RAmen