Overleaf 上的指令「\includeonly」出現問題:「.aux」檔案在一段時間後自動刪除

Overleaf 上的指令「\includeonly」出現問題:「.aux」檔案在一段時間後自動刪除

我正在寫一篇關於 Overleaf (免費版本)的論文,它開始有點長,所以為了優化編譯時間,我決定將每個部分放在一個單獨的.tex文件中,並在主文件中使用命令\include(我沒有使用它們嵌套,我沒有使用子文件,我沒有使用其他命令,如導入、輸入...)。

成功編譯一次後,我然後使用該命令\includeonly僅重新編譯我正在處理的部分,這樣當我需要處理某個特定部分時,編譯文件所需的時間就會少得多。

我遇到的問題是,過了一段時間(可能是在關閉瀏覽器標籤或刷新頁面後,我不確定),Overleaf 似乎「忘記」了我編譯了包含所有部分的項目。查看原始輸出後,似乎它會.aux自動刪除文件,這些文件對於該命令的預期用途是必需的\includeonly......因此,在一段時間後編譯使用時\includeonly,我收到一堆錯誤,其中包括“Counldn 「之類的錯誤找不到 [...].aux ...”,為了讓一切再次正常工作,我必須在刪除命令後重新編譯整個文件\includeonly,然後再次編譯恢復同一行。

所以,由於這有點煩人,我想知道是否有辦法告訴 Overleaf在關閉瀏覽器或刷新頁面時不要刪除 d 檔案.aux對應的檔案。\include如果沒有,我很高興知道是否有一種方法可以在 Overleaf 上獲得類似的結果。


更新:

我就上述問題寫信給 Overleaf 的支援人員,他們回覆了。我認為該訊息對其他人可能有用。

你好,

感謝您就此事與我們聯繫 - 對於延遲回覆深表歉意。

您是對的,快取檔案在一段時間後被清除 - 其確切時間可能會有所不同,因為它基於編譯伺服器資源的分配(沒有它們過期的確切時間,有一些導致快取被清除的事件,以及一些也會影響此的資源分配規則)。

因此,當在一段時間後重新訪問該項目或清除快取後,您需要對所有包含的 .tex 檔案進行至少一次編譯,以便可以重新產生相應的 .aux 檔案。如果整個專案太大而無法一次編譯,您可以先在草稿模式下進行編譯以跳過影像包含。 (這是大多數編譯中花費最多時間的部分。)

重新產生 .aux 檔案後,您可以根據需要再次使用 \includeonly。 (要檢查是否已產生 .aux 文件,您可以檢查日誌檢視最底部的「其他日誌和文件」清單。https://www.overleaf.com/learn/how-to/View_ generated_files)。

目前沒有強制保存產生的文件的選項。抱歉,有限制。我還向他們傳遞了您的回饋,特別是對於某些類型的項目,輔助文件的保留時間比目前的時間要長。

最好的,

答案1

如果你使用

\IfFileExists{chapter2.aux}{\includeonly{chapter1,chapter2}}{}

(測試任何章節輔助文件),那麼如果它們被刪除,所有發生的情況就是下一次運行會進行完整運行並且需要更長的時間,您不需要編輯任何內容,之後它將\includeonly再次拾取。

相關內容