Dieses Problem scheint ziemlich exotisch zu sein, aber ich bin in einem mittelgroßen Dokument darauf gestoßen und habe eine Weile gebraucht, um herauszufinden, welche bestimmte Paketkombination dafür verantwortlich war.
Wenn ich lade amsmath
, cleveref
und hyperref
(implizitvia pdfcomment
), ref
/ autoref
auf eine Gleichung funktioniert nicht mehr, d.h. LaTeX gibt einen Reference ... on page 1 undefined
Fehler aus. Siehe folgendes MWE:
\documentclass[12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
%% Hyperlinks
%\usepackage[breaklinks]{hyperref}
\usepackage{cleveref}
%% implicitly loads `hyperref`
\usepackage{pdfcomment}
\begin{document}
\section{Test}
Etwas Fülltext, bevor die Gleichung kommt:
\begin{equation}
E_\mathrm{kin} = \frac{m}{2} v^2 \label{eq:kinErg}
\end{equation}
Jemand fand heraus, dass \autoref{eq:kinErg} gilt.
\end{document}
Wenn ich einschließehyperref
ausdrücklich, dann funktioniert alles, außer ich bekommediese Warnung. Kein Dealbreaker, aber ich würde es lieber vermeiden und nur hypersetup
die zusätzlichen Optionen für verwenden hyperref
.
Auch wenn ich weglasse amsmath
, funktioniert alles. Ich nehme an, dass jedes Paket die Einstellungen des anderen teilweise überschreibt ...
Wenn es sich um einen Fehler handelt, wo soll ich ihn melden?
Antwort1
Belastungcleveref
stetsdanach hyperref
als eine der wenigen Ausnahmen, bei denen Pakete nach geladen werden sollten hyperref
!
Wenn Sie dies in der falschen Reihenfolge tun, counter
werden die Informationen überschrieben und \autoref
der Zähler kann nicht mehr abgerufen werden, d. h. das Label ist „undefiniert“, was zu falschen Referenzen oder ??
Ausgaben führt.
\documentclass[12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
%% Hyperlinks
%\usepackage[breaklinks]{hyperref}
%% implicitly loads `hyperref`
\usepackage{pdfcomment}
\usepackage{cleveref}
\begin{document}
\section{Test}
Etwas Fülltext, bevor die Gleichung kommt:
\begin{equation}
E_\mathrm{kin} = \frac{m}{2} v^2 \label{eq:kinErg}
\end{equation}
Jemand fand heraus, dass \autoref{eq:kinErg} gilt.
\end{document}