Ich versuche, ein LaTex-Dokument mit dem LaTeXing-Paket in ST3 zu kompilieren. Wenn sich die Datei auf meiner lokalen Festplatte „C:*“ befindet, funktioniert die Kompilierung einwandfrei, aber ich muss sie auf einem Netzwerklaufwerk „\[company_site]*“ speichern, das meines Wissens als UNC-Pfad bezeichnet wird. Beim Versuch, das Dokument vom Netzwerkspeicherort aus zu kompilieren, erhalte ich den folgenden Fehler (persönliche Informationen entfernt):
E: \\[company_address]\[path]\report.tex:0 Undefined control sequence
E: \\[company_address]\[path]\report.tex:0 Undefined control sequence
E: \\[company_address]\[path]\report.tex:0 Undefined control sequence
E: \\[company_address]\[path]\report.tex:0 Emergency stop
Ich vermute, dass die Backslashes am Anfang dazu führen, dass der Pfad als Befehl interpretiert wird. Wie kann ich meinen Build-Befehl bearbeiten, um diesen Fehler zu beheben?
Antwort1
Nun, der Windows-Backslash als Dateipfad-Trennzeichen \
wird in (La)TeX verwendet, um eine Steuersequenz (auch Makro genannt) anzuzeigen. Deshalb erhalten Sie einen Undefined control sequence
Fehler. In diesem Fall wird es \report
als Makro verwendet.
Normalerweise muss man es stattdessen durch den Unix-Dateipfad-Separator ersetzen /
, der unter (La)Tex auch unter Windows funktioniert. Ich bin mir nicht sicher, ob Netzwerkpfade funktionieren, das habe ich nie ausprobiert.
Sie können auch versuchen, den Dateinamen in eine \unexpanded{ .. }
Anweisung einzuschließen (funktioniert nicht mit sehr alten oder nicht standardmäßigen LaTeX-Versionen). Je nach der zugrunde liegenden Implementierung des Makros, das Sie zur Verarbeitung des Dateipfads verwenden, funktioniert dies möglicherweise oder nicht.
Antwort2
Also habe ich es behoben, indem ich den Dateinamen statt des gesamten Pfads als Argument übergeben habe.