PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Makefile für LaTeX Dateien schreiben



ClemensU
27-04-2011, 11:29
Hallo Unix Gemeinde!
Hoffentlich bin ich in diesem Unterforum richtig, ich konnte mich nicht recht entscheiden... Also: Ich würde gern ein Makefile schreiben, mit dem ich viele *.tex Dateien auf einmal kompilieren kann. Es sind allesamt Zeichnungen (mit PSTricks und TikZ), die alle in eine dedizierte pdf bzw. ps Datei geschrieben werden sollen (Zeichnung1.tex -> Zeichnung1.pdf, Zeichnung2.tex -> Zeichnung2.pdf usw). Das ganze funktioniert schon... ABER nur für eine .tex Datei... Mein Ansatz:



C1 = latex
C1FLAGS = --src -interaction=nonstopmode --enable-write18

C2 = dvips
C2FLAGS = -E

C3 = epstopdf

FILES = Zeichnung1

$(FILES).pdf: $(FILES).ps $(FILES).dvi $(FILES).tex
$(C3) $<

$(FILES).ps: $(FILES).dvi $(FILES).tex
$(C2) $(C2FLAGS) $<

$(FILES).dvi: $(FILES).tex
$(C1) $(C1FLAGS) $<

clean:
del $(FILES).dvi
del $(FILES).aux
del $(FILES).log
del $(FILES).toc



Führe ich nun make aus (unter Win, daher "del" statt "rm"), klappt auch alles. Die files Liste kann ich eben nur nicht erweitern, da dann z.B.

latex Zeichnung1 Zeichnung2.tex

ausgeführt wird, was natürlich Quatsch ist. Vieleicht hat jemand einen Tipp! Vielen Dank vorab.

PS: In dem Ordner sind mehrere .ps Dateien, daher geht nicht %.ps oder ähnliches.

ClemensU
27-04-2011, 12:17
Das Löschen hab ich noch ein wenig geändert:



LIST = anreg Meyers MeyersTIKZ r1 r2 r3 ioni ion he_spektrum ne_spektrum

clean:
del $(foreach FNAME,$(LIST),$(FNAME).dvi)
del $(foreach FNAME,$(LIST),$(FNAME).aux)
del $(foreach FNAME,$(LIST),$(FNAME).log)
del $(foreach FNAME,$(LIST),$(FNAME).toc)


Mit diesem foreach gelingt es mir aber nur, alle Dateien zu löschen, das kompilieren haut nicht hin.