(Vim+Latex) So kompilieren Sie eine einzelne Tex-Datei in einem Projektverzeichnis mit \ll

(Vim+Latex) So kompilieren Sie eine einzelne Tex-Datei in einem Projektverzeichnis mit \ll

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 *.latexmainDateien pro Projekt haben können, vorausgesetzt, sie befinden sich auf unterschiedlichen Verzeichnisebenen.

Nennen wir also Ihr Hauptdokument mydoc.texund 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.texder aktive Puffer ist und Sie drücken \ll, findet myfig.latexmainund kompiliert LaTeX-Suite myfig.tex. Wenn mydoc.texder aktive Puffer ist, mydoc.latexmainwird gefunden und das Dokument kompiliert. Wenn irgendetwas in myfiles/der aktive Puffer ist, findet LaTeX-Suite keine *.latexmainDateien im aktuellen Verzeichnis und durchläuft eine Ebene nach oben. Anschließend findet mydoc.latexmainund 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 *.latexmainbeim 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 aktuellenpgfHandbuch).

verwandte Informationen