我有一个很大的文档,LaTeX 总是想重新运行它。使用
如何诊断永久的“标签可能已更改”警告?,我将问题追溯到一些s。但我期望该软件包会为我标记出\vref
有问题的s 。软件包的文档指出,\vref
varioref
varioref
定义上述命令会带来一些有趣的问题。例如,假设生成的文本(如“下一页”)跨页中断。如果发生这种情况,很难找到可接受的解决方案,实际上甚至会导致文档始终从一种状态变为另一种状态(即插入一个字符串,发现这是错误的,在下次运行时插入另一个字符串,使第一个字符串再次正确,插入...)。因此,只要生成的文本跨页中断,varioref 的当前实现就会发出错误消息,例如,
table 5 on the current hpage break i page
会导致错误,用户需要在最终运行前
\vref
用普通命令替换该命令来解决\ref
。这并不完全令人满意,但在这种情况下,实际上没有解决方案。
cleveref
我(正确)在之后加载的包声称varioref
它实现\vref
正确。但cleveref
应该复制这种诊断功能吗?我需要弄清楚是否要报告错误或功能请求,以及向哪个维护者报告 :-)
\vref
我曾尝试但未能生成一个在正确位置重现该问题的 MWE 。
答案1
cleveref
varioref
在重新定义命令供自己使用时,禁用对跨页面交叉引用中断的检查。因此,您可以说这是cleveref
s 的错误,但在包的当前实现中,这样做是有原因的。
我目前正在与 Toby 合作,以期让这两个软件包以及软件包更好地共存hyperref
。一旦做到这一点,这些问题应该可以再次得到正确诊断。
这些varioref
改进可能不会出现在 LaTeX 的秋季发布版中,但应该会在冬季发布版中推出。