我正在使用 Vim+latex。在我的專案目錄中,我有另一個單獨的 tex 檔案(例如用於繪製圖形的 tikz/PGF 檔案)。當我輸入\ll時,系統不會編譯當前文件,而是編譯專案文件。是否可以告訴系統編譯我目前的檔案?
多謝!
答案1
這可能被某些人認為是一種解決方法,但我認為它適合您的目的。來自LaTeX-Suite 參考:
每次 LaTeX-Suite 開啟新的 LaTeX 檔案時,它都會嘗試透過從目前檔案的目錄向上搜尋(到檔案系統的根目錄)來查看它是否是多檔案專案的一部分,以查看是否找到檔案格式為*.latexmain。如果找到這樣的文件,則認為目前文件是較大項目的一部分。
這意味著*.latexmain
每個項目可以有多個文件,前提是它們位於不同的目錄層級。
因此,我們將主文檔mydoc.tex
和單獨的文件稱為myfig.tex
。如果您設定目錄結構如下:
project-dir/
mydoc.tex
mydoc.latexmain
myfig/
myfig.tex
myfig.latexmain
myfiles/
ch01.tex
ch02.tex
一切都應該如你所願。如果myfig.tex
是活動緩衝區並且您按\ll
,LaTeX-Suite 將會尋找myfig.latexmain
並編譯myfig.tex
。如果mydoc.tex
是活動緩衝區,mydoc.latexmain
將被找到並編譯該檔案。如果其中有任何內容myfiles/
是活動緩衝區,LaTeX-Suite 將在目前目錄中找不到*.latexmain
文件,並將向上遍歷一級。然後它將mydoc.latexmain
根據需要查找並編譯該文檔。
唯一的其他變更將發生在包含文件文字來源的文件中。我假設你正在使用
\includegraphics{myfig}
將圖形檔案的編譯輸出包含在文件中。既然檔案位於不同的目錄中,您需要將其變更為相對路徑。如果圖形包含在關卡中project-dir/
,請使用
\includegraphics{myfig/myfig}
或者,如果圖形包含在關卡中myfiles/
,則使用
\includegraphics{../myfig/myfig}
包括編譯的輸出。
這種方法也可以擴展到多個圖形檔案:只需為每個圖形引入另一個目錄,以便*.latexmain
在向上遍歷目錄樹期間始終首先找到合適的目錄。
儘管如此,如果您需要對許多圖形檔案執行此操作,目錄結構可能會很快變得過於複雜。最好看一下 TikZ 的外部化方法(目前的第 50 章)pgf
手動的)。