答案1
您所提及的软件包的推荐顺序:
Subfiles
- 应首先加载此包。它旨在帮助您管理多文件 LaTeX 文档,允许您单独编译每个文件以及整个主文档。因此,通常最好先加载子文件包,以便它可以正确处理文档中包含的任何子文件。
此外,子文件通常不会与您提到的其他包(cleveref、hyperref 和 varioref)交互,因此它在加载顺序中的位置不应影响它们的行为。
如果您使用子文件来管理多文件文档,则务必在任何修改文件包含或引用方式的包(例如xr
或 )之前加载它import
。
Varioref
- 应该首先加载此包,因为它修改了 LaTeX 处理交叉引用的方式。
Hyperref
- 此包应在 varioref 之后加载,因为它还会修改交叉引用并在文档中创建超链接。它通常是最后加载的,但由于 cleveref 的原因,并非如此。
Cleveref
- 此包应最后加载,因为它依赖于 varioref 和 hyperref。它为交叉引用提供了附加功能,例如引用类型的自动格式化。
如果你看看cleveref
指导:
以下情况不是错误。它们要么是故意行为,要么是不可避免的行为,要么是由 LATEX 误解引起的:• 如果您同时使用 varioref 和 hyperref,请确保以正确的顺序加载它们,否则交叉引用将引用完全错误的内容,而不会在 LATEX 输出或日志中出现任何警告!必须按以下顺序加载包:varioref、hyperref、cleveref。