monolithic kernel

LaTeX用のMakefile

最近レポートをLaTeXで書くようになったので、Makefileを作ってみました。

TEX = master.tex
DVI = $(TEX:.tex=.dvi)
PDF = $(TEX:.tex=.pdf)
AUX = $(TEX:.tex=.aux)
PRN = $(wildcard *.prn)
EPS = $(PRN:.prn=.eps)

.PHONY: all clean watch

all: $(PDF)

watch:
	pxdvi -watchfile 5 $(DVI)

clean:
	rm $(PDF) $(DVI) $(AUX) $(EPS)

$(PDF): $(DVI)
	dvipdfmx $<

$(DVI): $(TEX) $(EPS)
	platex $<
	platex $<

%.eps: %.prn
	epstool --copy -b $< $@

make でPDFを吐きます。make watch を使えば、dviファイルの更新を監視してプレビューを自動で更新します。

図はPowerPointあたりで作ることを想定していて、prnファイルを置いておけばepstoolでトリミングし、結果をepsファイルとするようにしています。

このMakefileはエディタに依存するものではありませんが、Vimでunite-build使うと便利ですよ。