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 \vref
s zurückgeführt. Aber ich habe erwartet, \vref
dass das Paket die problematischen s für mich markiert varioref
. In der Dokumentation zum Paket varioref
heiß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
\vref
Befehl\ref
kurz 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 cleveref
Paket, das ich (korrekt) nach geladen habe varioref
, behauptet, dass es \vref
korrekt implementiert ist. Aber soll cleveref
diese 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, \vref
um das Problem zu reproduzieren, und bin gescheitert.
Antwort1
cleveref
deaktiviert die Prüfung auf seitenübergreifende Querverweise, wenn die varioref
Befehle für den eigenen Gebrauch neu definiert werden. Man kann also argumentieren, dass es cleveref
s 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 hyperref
Paket zu erreichen. Sobald dies vorhanden ist, sollten solche Probleme wieder korrekt diagnostiziert werden.
Die varioref
entsprechenden Verbesserungen werden es voraussichtlich nicht in das Herbst-Release von LaTeX schaffen, sollten aber mit dem Winter-Release verfügbar sein.