![AUCTeX kann Hilfsdateien nicht in einem bestimmten Verzeichnis ablegen](https://rvso.com/image/391724/AUCTeX%20kann%20Hilfsdateien%20nicht%20in%20einem%20bestimmten%20Verzeichnis%20ablegen.png)
Ich verwende derzeit Emacs + Auctex
zum Bearbeiten und Kompilieren von .tex-Dateien xelatex
. Ich möchte diese Hilfsdateien (die während der Kompilierung erstellt werden) in einem anderen Verzeichnis ablegen, z. B. /tmp. Ich habe also den folgenden Code in meinem init.el
. Aber er funktioniert nicht – die Hilfsdateien befinden sich immer noch im Stammverzeichnis. Was ist mit meinem Code nicht in Ordnung und kann mir jemand dabei helfen?
(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil t))
(setq TeX-command-default "XeLaTeX -aux-directory=./tmp")
Antwort1
Das explizite Hinzufügen von XeLaTeX TeX-command-list
könnte die Dinge zum Laufen bringen (ich habe es nicht versucht), aber es ist sicherlich nicht sehr „AUCTeXy“, sozusagen.
AUCTeX versucht, die richtige zu verwendende Engine zu erraten (z. B. fontspec
werden Sie beim Laden danach gefragt) und ermöglicht Ihnen, diese für die aktuelle Datei einfach mit lokalen Variablen festzulegen.
Was Ihre Verwendung von betrifft TeX-command-default
, so ist das, soweit ich es verstehe, dort nicht das, was erwartet wird.
Ich schlage vor, dass Sie lokale Variablen verwenden, um dies festzulegen, anstatt an Ihrer Init-Datei herumzufummeln. Und überlassen Sie AUCTeX die harte Arbeit, was es gut macht.
Sie können Ihrer Datei mit lokale Variablen hinzufügen M-x add-file-local-variable
. Sie können zwei hinzufügen: TeX-engine
und TeX-command-extra-options
. (Sie werden beim Öffnen der Datei gefragt, ob diese Optionen ausgeführt werden sollen. Sie können die Option speichern.) Am Ende Ihrer Datei sollte etwa Folgendes stehen:
% Local Variables:
% TeX-engine: xetex
% TeX-command-extra-options: "-aux-directory=./tmp"
% End:
(vorausgesetzt, "-aux-directory=./tmp"
es funktioniert. Ich kann es hier nicht testen, ich glaube, das ist eine Option, die nur bei MikTeX verfügbar ist. Es funktioniert jedoch mit "-output-directory=./tmp"
.)
Wenn alles vorhanden ist, erstellen Sie Ihr Dokument LaTeX
(und alles, was sonst noch benötigt wird).