Overleaf 上命令 `\includeonly` 的问题:`.aux` 文件会在一段时间后自动删除。

Overleaf 上命令 `\includeonly` 的问题:`.aux` 文件会在一段时间后自动删除。

我正在 Overleaf(免费版)上写一篇论文,它有点长,所以为了优化编译时间,我决定将每个部分放在一个单独的.tex文件中,并使用主文件中的命令\include(我没有使用嵌套文件,我没有使用子文件,我没有使用其他命令,如导入、输入……)。

成功编译一次后,我使用该命令\includeonly仅重新编译我正在处理的部分,这样当我需要处理某个特定部分时,文件编译所需的时间就会少得多。

我遇到的问题是,过了一会儿(可能是在关闭浏览器选项卡或刷新页面后,我不确定),Overleaf 似乎“忘记”了我编译了包含所有部分的项目。查看原始输出后,似乎它会自动删除文件.aux,而这些文件对于命令的预期用途是必需的\includeonly……因此,在使用\includeonly一段时间后进行编译时,我收到一堆错误,其中包括“无法找到 [...].aux ...”之类的错误,为了让一切恢复正常,我必须在删除命令后重新编译整个文件\includeonly,然后再次编译并恢复同一行。

因此,由于这一切都有点烦人,我想知道是否有办法告诉 Overleaf 在关闭浏览器或刷新页面时不要删除.aux与 d 文件相对应的文件\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

相关内容