LaTeX & Makefiles

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: LaTeX & Makefiles

von ratte » Do 3. Dez 2009, 07:37

all: name1.pdf name2.pdf name3.pdf

name1.pdf: name1.tex name1.bib
        pdflatex name1.tex
        bibtex name1.aux
        pdflatex name1.tex
        pdflatex name1.tex

# und entsprechend für name2.pdf und name3.pdf
Damit sollte name1.pdf nur genau dann neu erstellt werden, wenn sich name1.tex oder name1.bib geändert haben. Wichtig ist, dass links vom Doppelpunkt wirklich der Zieldateinamen steht, damit Make das Dateidatum davon mit dem Dateidatum jeder der Quelldateien rechts vom Doppelpunkt vergleichen kann. Wenn links ein Phony steht, es also eine phony rule ist, wird diese stattdessen immer ausgeführt.

Noch bequemer wird es, wenn man statt des direkten Aufrufs von pdflatex und bibtex ein Programm wie texify verwenden kann, das selbst herausfindet, wie oft pdflatex und Zusatzprogramme wie bibtex und makeindex aufzurufen sind. Man könnte das wohl auch selbst mit Prüfsummen über Hilfsdateien (aux, toc, lof, lot, bbl, idx, ...) erreichen. Aber ich für ein kleines Projekt lohnt sich der Aufwand nicht. Dann schon lieber etwas fertiges verwenden.

von Syralist » Mi 2. Dez 2009, 17:59

Kann man nicht im makefile ein anderes makefile aufrufen?
z.b. als phony target?
subfolder: 
    make -f subfolder1/makefile
    make -f subfolder2/makefile
dann müsste doch eigentlich ein "make subfolder" im hauptverzeichnis in alle unterverzeichnisse gucken.
Habs nicht getestet aber vielleicht hilft dir mein gesundes Halbwissen ;)

LaTeX & Makefiles

von ari-whv » Mi 2. Dez 2009, 13:04

Hallo,

ich habe noch eine Frage, die ich in einem anderen Thread schon angerissen habe:
Ich habe eine Hauptdatei, die über pdfinclude mehrere kleine Dateien aus einem Unterordner einbindet. D.h. erst kompiliere ich die Dateien in dem Unterordner und dann die Hauptdatei.
Dazu habe ich bisher zwei Makefiles. Problem ist aber: Das Makefile für die kleinen Dateien enthält für jede kleine Datei einen Vierzeiler:
name:	name.tex
	pdflatex name
	bibtex name
	pdflatex name
Das funktioniert zwar, ist aber doch länger als sicherlich gedacht...Aber nicht das eigentliche Problem.

Wenn ich dann "make all" eingebe, werden ALLE kleinen Unterdateien kompiliert...und das dauert ewig. Eigentlich will ich, dass nur die Unterdateien neu kompiliert werden, bei denen ich die *.tex oder *.bib Datei geändert habe. Geht das?

Viele Grüße,
Ariane

Nach oben