Makefile für Multi-File LaTeX-Dokument

8

Ich versuche das Makefile zur Erstellung meiner Diplomarbeit zu vereinfachen / verbessern. Das Makefile funktioniert gut, um das Ganze zu kompilieren; Ich habe so etwas:

%Vor%

Damit kann ich make eingeben und alle Änderungen werden erkannt (falls vorhanden) und es wird neu kompiliert, bevor es angezeigt wird.

Nun möchte ich es erweitern, um nur einzelne Kapitel bedingt zu kompilieren. Zum Beispiel erlaubt es mir, make xpmt zu schreiben, um nur ein einzelnes Kapitel in einer ungefähren Art zu erhalten:

%Vor%

Aber ich möchte das nicht für jedes einzelne Kapitel gleich schreiben müssen. Wie kann ich die obigen Regeln allgemein genug beschreiben, um Wiederholungen zu vermeiden?

(Mehr von einer Übung, um zu lernen, Makefiles zu schreiben, anstatt ein reales Problem zu lösen; offensichtlich wäre es in diesem Fall tatsächlich trivial, den obigen Code genügend oft zu kopieren und einzufügen!)

    
Will Robertson 12.03.2009, 02:58
quelle

3 Antworten

8

Wenn Sie Kapitel mit dem Namen xpmt haben (Raten, das ist "Experiment"?) und sagen wir thry , anls , conc oder was auch immer:

%Vor%

Oder um es mit make-Variablen "richtig" zu machen, ich denke, es wäre etwa so:

%Vor%     
David Z 12.03.2009, 03:15
quelle
2

Sie sollten etwas wie Gummi betrachten, um das LaTeX-Gebäude für Sie zu handhaben. Während es möglich ist, make zu benutzen, um die meiste Arbeit zu erledigen, kann ein spezialisiertes Tool mit den Feinheiten von LaTeX umgehen, wie zum Beispiel das wiederholte Ausführen von bibtex, um alle Referenzen sortiert zu bekommen und ähnliches.

    
Baruch Even 06.04.2009 09:52
quelle
2

Bitte verwenden Sie latexmk

Ссылка

Es wird unterschieden, ob das Ausführen von pdflatex / latex, bibtex, makeindex usw. benötigt wird (und wie oft), um die Quelle vollständig zu kompilieren.

latexmk ist ein Perl-Skript, das in den meisten Latex-Distributionen enthalten ist. Sie müssen nur sicherstellen, dass Perl auf Ihrem System installiert ist.

    
kch 07.06.2012 18:28
quelle

Tags und Links