我目前正在使用Emacs + Auctex
它來編輯和編譯文件 .tex 。xelatex
我想將這些輔助檔案(在編譯期間建立)放在另一個目錄中,例如/tmp。所以我的init.el
.但它不起作用 - 輔助檔案仍然位於根目錄中。我的程式碼有什麼問題,任何人都可以幫我解決這個問題嗎?
(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil t))
(setq TeX-command-default "XeLaTeX -aux-directory=./tmp")
答案1
在 中明確添加 XeLaTeXTeX-command-list
可能會讓事情起作用(我還沒有嘗試過),但可以這麼說,它肯定不是非常「AUCTeXy」。
AUCTeX 嘗試猜測要使用的正確引擎(例如,如果您載入fontspec
它會詢問您),並讓您使用局部變數輕鬆為當前檔案設定它。
至於您對 的使用TeX-command-default
,據我了解,這不是預期的情況。
我建議您使用局部變數來設定它,而不是擺弄您的初始化檔案。讓 AUCTeX 來完成艱苦的工作,因為它做得很好。
您可以將局部變數新增到您的檔案中M-x add-file-local-variable
。您可以添加兩個:TeX-engine
和TeX-command-extra-options
。 (開啟檔案時會詢問您是否應該執行這些選項,您可以選擇儲存該選項)。您應該在文件底部以類似以下內容結束:
% Local Variables:
% TeX-engine: xetex
% TeX-command-extra-options: "-aux-directory=./tmp"
% End:
(假設"-aux-directory=./tmp"
有效。我無法在這裡測試它,我相信這是 MikTeX 唯一的選項。但它確實可以與 一起使用"-output-directory=./tmp"
。)
完成後,建立您的文件LaTeX
(以及其他需要的內容)。