我有一個很大的文檔,LaTeX 總是想重新運行它。使用此處所述的技術
如何診斷永久性的「標籤可能已更改」警告?,我把問題追溯到了一些\vref
s。但我希望包\vref
會為我標記有問題的 s varioref
。包的文檔說明varioref
,
定義像上面描述的命令會帶來一些有趣的問題。例如,假設生成的文字(如“在下一頁”)會跨頁損壞。如果發生這種情況,則很難找到可接受的解決方案,事實上甚至可能導致文件總是從一種狀態更改為另一種狀態(即,插入一個字串,發現這是錯誤的,在該狀態下插入另一個字串)下一次運行使第一個字串再次正確,插入 )。因此,只要產生的文字跨頁面邊界,目前的 varioref 實作就會發出錯誤訊息,例如:
table 5 on the current hpage break i page
會導致錯誤,用戶需要在最終運行之前將
\vref
命令替換為普通命令來解決。\ref
這並不完全令人滿意,但在這種情況下,沒有真正的解決方案。
cleveref
我在之後(正確)加載的包聲稱varioref
它\vref
正確實現。但是否cleveref
應該複製這種診斷能力?我需要弄清楚是否要報告錯誤或功能請求,以及向哪個維護者報告:-)
我曾嘗試製作一個 MWE,但未能\vref
在正確的位置重現問題。
答案1
cleveref
varioref
重新定義命令以供自己使用時,停用檢查跨頁面中斷的交叉引用。所以你可以說這是cleveref
它的錯,但在套件的當前實現中這是有原因的。
我目前正在與 Toby 合作,以實現兩個包之間以及與包之間更好的共存hyperref
。一旦到位,應該再次正確診斷此類問題。
對此的改進varioref
可能不會出現在 LaTeX 的秋季版本中,但應該會在冬季版本中提供。