7 Stimmen

Springen Sie zur nächsten fehlenden Referenz mit Auctex

Ich verwende Emacs + Auctex für all meine TeXing-Bedürfnisse und bin sehr zufrieden mit dem Workflow. Es gibt jedoch eine Sache, die mich stört. Immer wenn ich ein Dokument kompiliere (möglicherweise bestehend aus mehreren Dateien) und es fehlt eine Referenz, druckt Auctex diese nervige Meldung

LaTeX Warnung: Referenz `fig:MyMissingLabel' auf Seite 42 am Eingabelinie 37 nicht definiert.

und das war's. Keine Abkürzung zum Springen zur fehlenden Referenz, nichts!
Mir ist klar, dass ich das Debuggen von Warnungen aktivieren könnte, jedoch ist dies nicht wirklich geeignet, falls das Dokument andere Warnungen erzeugt, die ich nicht debuggen möchte¹.

Ich hätte gerne eine Funktion, die den Punkt zu den Positionen der fehlenden Referenzen zyklisch verschiebt. Bisher habe ich online nichts gefunden, vielleicht kann einer von euch mir helfen?

Vielen Dank im Voraus!

elemakil

[1] Zum Beispiel melden einige Pakete Warnungen, wenn sie nicht mit einer Versionsnummer geladen werden oder etwas Ähnlichem. Ich möchte das nicht debuggen. Ich möchte meine Referenzen korrigieren!

1voto

Nicolas Dudebout Punkte 9097

Die Verknüpfungen in AUCTeX ermöglichen es Ihnen, zu einem Fehler zu springen. Die fehlenden Verweise sind Warnungen. Sie können Ihr gewünschtes Verhalten aktivieren, indem Sie Warnungen als Fehler behandeln mit TeX-toggle-debug-warnings, das an C-c C-t C-w gebunden ist.

0voto

cholm Punkte 481

Diese Frage ist alt, aber hier ist mein Beitrag. Zuerst, definiere die Funktion

(defun my-ignore-TeX-warnings (type file line text &rest more)
  (setq ref "LaTeX Warning: Reference")
  (not (string-match p ref text)))

Dann passe an die beiden Variablen TeX-ignore-warnings und TeX-suppress-ignored-warnings an - z.B.,

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(TeX-ignore-warnings 'my-ignore-TeX-warnings)
 '(TeX-suppress-ignored-warnings t))

Anmerkung: Beachte die Warnung oben - d.h., du solltest nur eine custom-set-variables haben.

Füge den Code in deine ~/.emacs oder eine ähnliche Datei ein. Dann aktiviere TeX-toggle-debug-warnings oder über das Menü Befehl->TeXing-Optionen->Debug-Warnungen.

Durch das Durchlaufen von Fehlern mit C-` werden auch undefinierte Verweise einbezogen. Man könnte den obigen Code erweitern, um auch undefinierte Zitationen auszuwählen.

Dein,

Christian

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X