Ich verwende Vim+Latex. In meinem Projektverzeichnis habe ich eine weitere separate Tex-Datei (zum Beispiel eine Tikz/PGF-Datei zum Zeichnen einer Figur). Wenn ich \ll eingebe, kompiliert das System die Projektdatei, anstatt meine aktuelle Datei zu kompilieren. Kann ich dem System sagen, dass es meine aktuelle Datei kompilieren soll?
Vielen Dank!
Antwort1
Manche halten das vielleicht für einen Workaround, aber ich denke, es wird für Ihre Zwecke funktionieren.LaTeX-Suite-Referenz:
Jedes Mal, wenn LaTeX-Suite eine neue LaTeX-Datei öffnet, versucht es herauszufinden, ob sie Teil eines Projekts mit mehreren Dateien ist. Dazu sucht es vom Verzeichnis der aktuellen Datei nach oben (bis zur Wurzel des Dateisystems), um zu sehen, ob es eine Datei der Form *.latexmain findet. Wenn eine solche Datei gefunden wird, wird davon ausgegangen, dass die aktuelle Datei Teil eines größeren Projekts ist.
Dies bedeutet, dass Sie mehrere *.latexmain
Dateien pro Projekt haben können, vorausgesetzt, sie befinden sich auf unterschiedlichen Verzeichnisebenen.
Nennen wir also Ihr Hauptdokument mydoc.tex
und die separate Datei myfig.tex
. Wenn Sie die Verzeichnisstruktur wie folgt einrichten:
project-dir/
mydoc.tex
mydoc.latexmain
myfig/
myfig.tex
myfig.latexmain
myfiles/
ch01.tex
ch02.tex
alles sollte wie gewünscht funktionieren. Wenn myfig.tex
der aktive Puffer ist und Sie drücken \ll
, findet myfig.latexmain
und kompiliert LaTeX-Suite myfig.tex
. Wenn mydoc.tex
der aktive Puffer ist, mydoc.latexmain
wird gefunden und das Dokument kompiliert. Wenn irgendetwas in myfiles/
der aktive Puffer ist, findet LaTeX-Suite keine *.latexmain
Dateien im aktuellen Verzeichnis und durchläuft eine Ebene nach oben. Anschließend findet mydoc.latexmain
und kompiliert es das Dokument wie gewünscht.
Die einzige weitere Änderung betrifft die Dateien, die den Quelltext Ihres Dokuments enthalten. Ich gehe davon aus, dass Sie
\includegraphics{myfig}
um die kompilierte Ausgabe der Abbildungsdatei in Ihr Dokument einzubinden. Sie müssen dies in einen relativen Pfad ändern, da sich die Dateien nun in verschiedenen Verzeichnissen befinden. Wenn die Grafik aus dem project-dir/
Level eingebunden wird, verwenden Sie
\includegraphics{myfig/myfig}
oder, wenn die Grafik aus dem myfiles/
Level eingebunden ist, verwenden Sie
\includegraphics{../myfig/myfig}
um die kompilierte Ausgabe einzuschließen.
Dieser Ansatz lässt sich auch auf mehrere Abbildungsdateien erweitern: Führen Sie einfach für jede Abbildung ein weiteres Verzeichnis ein, sodass *.latexmain
beim Aufwärtsdurchlauf des Verzeichnisbaums immer zuerst das entsprechende gefunden wird.
Wenn Sie dies jedoch für viele Abbildungsdateien tun müssen, kann die Verzeichnisstruktur schnell zu komplex werden. Es ist möglicherweise besser, einen Blick auf die Externalisierungsmethoden von TikZ zu werfen (Kap. 50 der aktuellenpgf
Handbuch).