Kann cleveref mithilfe von varioref und cleveref ein Dokument diagnostizieren, das LaTeX immer erneut ausführen möchte?

Kann cleveref mithilfe von varioref und cleveref ein Dokument diagnostizieren, das LaTeX immer erneut ausführen möchte?

Ich habe ein großes Dokument, das LaTeX immer wieder neu ausführen möchte. Mit der unter Wie diagnostiziere ich eine permanente Warnung „Beschriftung(en) haben sich möglicherweise geändert“?Ich habe das Problem auf einige \vrefs zurückgeführt. Aber ich habe erwartet, \vrefdass das Paket die problematischen s für mich markiert varioref. In der Dokumentation zum Paket variorefheißt es:

Das Definieren von Befehlen wie den oben beschriebenen wirft einige interessante Probleme auf. Nehmen wir beispielsweise an, dass ein generierter Text wie „auf der nächsten Seite“ über mehrere Seiten verteilt wird. Wenn dies geschieht, ist es sehr schwierig, eine akzeptable Lösung zu finden, und es kann sogar dazu führen, dass das Dokument ständig von einem Zustand in einen anderen wechselt (d. h., man fügt eine Zeichenfolge ein, stellt fest, dass diese falsch ist, fügt beim nächsten Durchlauf eine andere Zeichenfolge ein, wodurch die erste Zeichenfolge wieder korrekt wird, fügt … ein). Die aktuelle Implementierung von varioref gibt daher eine Fehlermeldung aus, wenn der generierte Text über mehrere Seiten verteilt wird, z. B.:

table 5 on the current hpage break i page

würde zu einem Fehler führen, der vom Benutzer behoben werden muss, indem er den \vrefBefehl \refkurz vor dem letzten Durchlauf durch einen normalen ersetzt. Dies ist nicht ganz zufriedenstellend, aber in einem solchen Fall ist es eigentlich keine Lösung.

Das cleverefPaket, das ich (korrekt) nach geladen habe varioref, behauptet, dass es \vrefkorrekt implementiert ist. Aber soll cleverefdiese Diagnosefunktion repliziert werden? Ich muss herausfinden, ob ich einen Fehler oder eine Funktionsanforderung melden soll und an welchen Betreuer :-)

Ich habe versucht, ein MWE zu erstellen, das genau an der richtigen Stelle ein aufweist, \vrefum das Problem zu reproduzieren, und bin gescheitert.

Antwort1

cleverefdeaktiviert die Prüfung auf seitenübergreifende Querverweise, wenn die variorefBefehle für den eigenen Gebrauch neu definiert werden. Man kann also argumentieren, dass es cleverefs Fehler ist, aber es gibt dafür einen Grund in der aktuellen Implementierung des Pakets.

Ich arbeite derzeit mit Toby daran, eine bessere Koexistenz zwischen den beiden Paketen und auch mit dem hyperrefPaket zu erreichen. Sobald dies vorhanden ist, sollten solche Probleme wieder korrekt diagnostiziert werden.

Die variorefentsprechenden Verbesserungen werden es voraussichtlich nicht in das Herbst-Release von LaTeX schaffen, sollten aber mit dem Winter-Release verfügbar sein.

https://github.com/latex3/latex2e/issues/174

verwandte Informationen