Der Mac-Editor Latexian verfügt über integrierte Methoden zum Kompilieren mit latex+dvips
, pdflatex
und xelatex
. Darüber hinaus setzt er bibtex
und voraus makeindex
, um mit Bibliografien bzw. Indizes umzugehen.
Wie passe ich Latexian an, um z. B. LuaTeX zum Kompilieren oder Biber für Bibliografien zu verwenden?
Antwort1
Aufgrund der Art und Weise, wie Latexian geschrieben ist, können die integrierten Methoden nicht nach Benutzervorlieben geändert werden. Das ist meiner Meinung nach ein schwerwiegender Konstruktionsfehler, aber es ist nicht allzu schwer, einen Workaround für diese Einschränkung zu finden.
Der Workaround besteht aus zwei Komponenten: einem Skript, das in einem lokalen Ordner abgelegt wird und (aus Sicht von Latexian) eine oder mehrere der drei TeX-Engines ersetzt, die Latexian kennt. Das Skript umgeht diese Engines und verwendet stattdessen das arara
Automatisierungstool, um die gesamte Kompilierung zu steuern. Mithilfe von arara
können Sie dann mit sehr feiner Kontrolle die genaue Kompilierungskette angeben, die Sie für jedes Dokument benötigen.
Einführung in Arara
Um zu verstehen, wie das funktioniert, müssen Sie zunächst verstehen, arara
dass arara
Sie Ihrem Dokument Kommentare hinzufügen können, die angeben, wie das Dokument kompiliert werden soll. Eine einfache Verwendung wäre die folgende:
% arara: pdflatex
was anweisen würde arara
, das Dokument mit zu verarbeiten pdflatex
. Ein etwas komplizierteres Beispiel (aber konzeptionell genauso einfach) wäre:
% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex
Dadurch wird ein Dokument kompiliert, ausgeführt bibtex
und dann noch zweimal kompiliert, um die Verweise aufzulösen.
Aus diesen kleinen Beispielen sollte klar werden, dassalleder in MacTeX verfügbaren Binärdateien werden für verfügbar sein arara
, was bedeutet, dass wir Latexian dazu bringen können, arara
jede beliebige TeX-Binärdatei zu verwenden, wenn wir es schaffen, es zu verwenden. Dieser Aufgabe widmen wir uns als Nächstes.
Latexian dazu bringen, Arara zu verwenden
Zuerst erstellen wir einen lokalen Ordner, auf den wir Latexian verweisen. Sie können dies mit dem Finder oder dem Terminal tun. In diesem Beispiel nennen wir den Ordner latexian-bin
.
mkdir ~/latexian-bin
Erstellen Sie in einem Texteditor die folgende Datei:
#!/bin/bash
export PATH=/Library/TeX/texbin:/usr/local/bin:${PATH}
arara -v "${@:$#}"
Speichern Sie dies arara
im latexian-bin
Ordner. Sie müssen die Datei ausführbar machen. Geben Sie daher in einem Terminalfenster Folgendes ein:
cd ~/latexian-bin
chmod +x arara
Erstellen Sie abschließend symbolische Links zu diesem Skript für die xelatex
und pdflatex
Binärdateien, die Latexian kennt. Erstellen Sie dann symbolische Links zu den echten latex
und dvips
(sonst gibt Latexian bei Verwendung dieses immer einen Fehler zurück latex+dvips
.)
ln -s arara pdflatex
ln -s arara xelatex
ln -s /Library/TeX/texbin/latex latex
ln -s /Library/TeX/texbin/dvips dvips
ln -s /Library/TeX/texbin/synctex synctex
Gehen Sie nun in Latexian zu den Einstellungen und wählen Sie Vorschau. In dieser Einstellung können Sie den Ordner für die TeX-Distribution auswählen. Standardmäßig ist dies auf /Library/TeX/texbin
( /usr/texbin/
in älteren MacTeX-Distributionen) eingestellt, aber wir möchten jetzt, dass Latexian den lokalen Ordner verwendet, den wir erstellt haben. Verwenden Sie die Schaltfläche Durchsuchen, um den latexian-bin
Ordner auszuwählen. Wenn Sie alles richtig gemacht haben, sollten Sie Folgendes sehen:
Ihr tatsächlicher Pfad wird anders sein, /Users/alan/latexian-bin
sollte aber ähnlich aussehen. Machen Sie sich keine Sorgen, wenn einige der anderen Binärdateien durchgestrichen sind und „Nicht gefunden“ anzeigen. Das spielt eigentlich keine Rolle.
Sie haben jetzt ein LaTeXian mit einem eigenen lokalen Binärordner, und anstatt mit zu kompilieren, pdflatex
kompilieren Sie jetzt mit arara
. Jetzt müssen Sie für jedes Dokument am Anfang der Datei die richtigen Zeilen angeben, arara
um anzuweisen, welche Binärdateien für diese Datei verwendet werden sollen.
Für eine Basisdatei pdflatex
sollten Sie Folgendes verwenden:
% arara: pdflatex: { synctex: yes }
Fürxelatex
% arara: xelatex: { synctex: yes }
Fürlualatex
% arara: lualatex: { synctex: yes }
Um Ihre Datei auch mit bibtex
add zu kompilieren:
% arara: bibtex
Zum Kompilieren stattdessen mit biber
add:
% arara: biber
Das ist alles, was Sie tun müssen.
Hinweise zur Umsetzung
Bei Verwendung dieser Methode müssen Sie nie die Latexian-Einstellungen verwenden, um die Anzahl der Kompilierungen oder die Nebenprogramme bibtex
und makeglossaries
/oder anzugeben makeindex
; dies kann alles über erfolgen arara
.
Wenn Sie nicht für alle Kompilierungen verwenden möchten , können Sie einfach entweder den Befehl oder mit dem Skript arara
verknüpfen und den anderen Befehl mit seiner normalen Binärdatei in . Sie können dann das GetInfo-Menüelement von Latexian verwenden, um für jede Datei das eine oder das andere auszuwählen. Dies ist möglicherweise die praktischste Lösung, wenn Sie die meiste Zeit hauptsächlich eine Engine verwenden, da die Verwendung von etwas langsamer ist als die direkte Verwendung der Engine.pdflatex
xelatex
arara
/Library/TeX/texbin
arara