Ich kopier mal zur allgemeinen Verwendung ein Makefile hier rein, welches ich seit Jahren in immer in ähnlicher Form verwende:
Code:
.PHONY: handbuch all
# Variables
temp-dir = Temp
ok = [OK]
# Functions
tempfile = ${temp-dir}/${1}
xelatexmk = @latexmk -xelatex -shell-escape --output-directory=${temp-dir} ${1}
pdflatexmk = @latexmk -pdf -shell-escape --output-directory=${temp-dir} ${1}
copy = cp $(call tempfile,$1).pdf PDF
all:
$(MAKE) handbuch
handbuch:
$(call xelatexmk,Handbuch)
@echo ${ok}
$(call copy,Handbuch)
@echo ${ok}
Auf der Hauptebene liegt die LaTeX Datei und das Makefile. In meinem Fall ist das die Datei "Handbuch.tex". Dort steht nur das Gerüst, welches mit "\input{...}" auf Dateien in den Ordnern "Einstellungen" und "Inhalt" zugreift. Daneben gibt es noch einen Ordner "Temp", in dem die temporären Dateien angelegt werden und "PDF", in den das fertige .pdf kopiert wird.
Aufgerufen wird das Makefile von der Hauptebene aus mit "make handbuch" (oder einfach nur "make", da es hier kein anderes mögliches Ziel gibt). Intern wird die selbst definierte Funktion "xelatexmk" aufgerufen, die einen latexmk-Durchlauf mit der Option "-xelatex" startet. Falls ich lieber pdflatex nutzen möchte, habe ich hierzu auch eine Funktion definiert. Die echo-Zeilen geben einfach nur "ok" auf der Kommandozeile aus. Die copy-Funktion kopiert das fertige .pdf an seinen Platz.
Möge dieses Makefile jemandem nützlich sein...
PS: Voraussetzung ist, dass man das Programm "make" auch tatsächlich installiert hat. Auf dem Mac geht das z.B. mit den XCode-Kommandozeilentools. Diese kann man separat herunterladen und benötigt nicht die komplette XCode-Umgebung.
Lesezeichen