이 문제는 다소 이상해 보이지만 중간 크기의 문서에서 발생했으며 어떤 특정 패키지 조합이 원인인지 확인하는 데 시간이 걸렸습니다.
amsmath
, cleveref
및 hyperref
(암묵적으로pdfcomment
), ref
/를 통해 autoref
방정식이 더 이상 작동하지 않습니다. 즉, LaTeX에서 Reference ... on page 1 undefined
오류가 발생합니다. 다음 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}
내가 포함한다면hyperref
명시적으로, 그러면 내가 얻는 것을 제외하고 모든 것이 작동합니다이 경고. 거래 중단자는 아니지만 hypersetup
이를 피하고 hyperref
.
또한 을 생략해도 amsmath
모든 것이 작동합니다. 각 패키지가 서로의 설정을 부분적으로 덮어쓰는 것 같습니다.
이것이 버그라면 어디에 신고해야 하나요?
답변1
짐cleveref
언제나이후 hyperref
에 패키지를 로드해야 하는 몇 가지 예외 중 하나입니다 hyperref
.
잘못된 순서로 수행하면 counter
정보가 덮어쓰여 \autoref
카운터를 파악할 수 없습니다. 즉, 레이블이 '정의되지 않음'이므로 잘못된 참조 또는 ??
출력으로 이어집니다.
\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}