Wie kann ich meinen TeX-Lauf automatisieren?

Moderne Editoren vereinfachen das Arbeiten und somit das Kompilieren von LaTeX-Dokumenten. Diese Editoren bedienen sich im eigentlichen Sinne nur Compilern, die im Suchpfad des Systems hinterlegt sind. Das Setzen eines einfachen Briefes oder kleineres Essays ist daher mit einem Klick getan. Häufig führt der Klick PDFLaTeX, LuaLaTeX oder XeLaTeX aus.

Die Anforderungen an ein Textsatzsystem steigen kontinuierlich. Beispielsweise kommt kaum ein Buch ohne einen Index oder ein Literaturverzeichnis aus. Wie diese erstellt werden, ist bereits in anderen Fragen besprochen worden. Zusammenfassend ist festzuhalten, dass ein Kompilierungslauf nicht ausreicht. Bspw. ist folgende Reihenfolge vorstellbar:

pdflatex
makeindex
makeglossaries
bibtex
pdflatex
pdflatex

Das bedeutet, dass der Editor an jedes Projekt angepasst werden muss, um die gewünschte Kompilierung mittels eines Buttons zu gewährleisten. Alternativ muss ich mindestens 4 Buttons haben, die verschiedene Compiler aufrufen. Genau an dieser Stelle setzen die unten aufgeführten Tools an. Es muss nur ein Button konfiguriert werden und die restlichen Schritte werden separat angepasst.

arara

arara ist nicht nur ein Vogel, sondern der Name eines „cool TeX automation tool“, wie es der Author Paulo R. M. Cereda bezeichnet. Dieses Werkzeug ist für TeX-Live-Nutzer direkt verfügbar. MiKTeX-Nutzer können es sehr einfach mittels des Installers installieren. Das Paket arara inklusive der Dokumentation ist

  1. auf CTAN verfügbar: "arara" auf CTAN
  2. auf der Entwicklerseite: ''arara'' auf github

Wie funktioniert arara?

In der Einleitung wurde bereits angesprochen, dass der Editor nur eine einzige Kompilierung durchführen muss, um alle benötigten Compiler aufzurufen. arara weiß selbst nicht, was wie kompiliert werden soll, man kann es ihm aber in der .tex-Datei mitteilen. Ein einfaches Beispieldokument soll dies verdeutlichen:

% arara: pdflatex
% arara: biber
% arara: pdflatex 
% arara: pdflatex
\documentclass[a4paper,12pt]{article}
\usepackage[style=verbose]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{knuth:ct}
\printbibliography
\end{document}

Angenommen, die Datei heißt beispieldokument.tex, so muss dieses Dokument nur mittels

arara beispieldokument

kompiliert werden und alle benötigten Kompilierungen werden ausgeführt. Die hieraus erwachsenen Möglichkeiten sind hervorragend dokumentiert. Der Entwickler selbst ist auf TeX.SX sehr aktiv, so dass Fragen am ehesten dort beantwortet werden.

latexmk

latexmk ist ein Programm mit dem man ebenfalls einen TeX-Lauf bzw. den Aufruf zugehöriger Tools automatisieren kann, wobei hier der große Vorteil darin besteht, dass nur die Dateien neu generiert werden müssen, wenn sie sich (bzw. eine der Abhängigkeiten) geändert haben.

Angenommen die Datei test.tex enthält die folgenden Anweisungen:

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{l2kurz.bib}
\begin{document}
\nocite{*} % gibt alle Literaturstellen aus
\printbibliography
\end{document}

reicht ein einfaches

latexmk test -pdf

aus, um pdflatex und biber in der richtigen Reihenfolge und Anzahl durchlaufen zu lassen. Ruft man jetzt noch einmal latexmk test -pdf auf, erkennt latexmk automatisch, dass die PDF Datei noch gültig ist und führt keine Programme aus. Wenn sich beispielsweise nur die Literaturdatei geändert hat, wird diese erneut mit biber übersetzt und anschließend noch einmal pdflatex. biber führt somit immer nur die benötigten Programme aus, was eine Menge Zeit spart.

latexmk lässt sich per Konfigurationsdatei dazu anweisen, immer eine bestimmte Datei bzw. Ausgabeformat zu wählen, so dass man das nicht mehr angeben muss. Für die LaTeX Kurzbeschreibung l2kurz wird folgende Datei eingesetzt1):

$pdf_mode = 1;
@default_files = ('l2kurz');
$pdflatex = 'pdflatex -synctex=1 %O %S';

Das gibt den Dateinamen vor und aktiviert den PDF-Modus und synctex.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Creative Commons Lizenzvertrag Diese Seite bearbeiten Ältere Versionen Übersicht Links hierher RSS feed Impressum