hyperref
给出警告,表示已引用某些内容但该内容不存在。当我使用enumerate
(或itemize
)列表时,我收到警告。以下是最小工作示例(MWE):
\documentclass{scrartcl}
\usepackage{amsthm}
\usepackage{hyperref}
\newtheorem{Bem}{Bemerkung}
\begin{document}
\begin{Bem}
\label{Bemelm}
\begin{enumerate}
\item
\end{enumerate}
\end{Bem}
\ref{Bemelm}
\end{document}
当我使用cleveref
或者不使用时hyperref
,它不会发出任何警告。
答案1
如果在一个列表环境中立即启动另一个列表环境,LaTeX 会处于一种奇怪的状态,hyperref 最终会引用它从未真正使用过的内部标签。
\documentclass{scrartcl}
\usepackage{amsthm}
\usepackage{hyperref}
\newtheorem{Bem}{Bemerkung}
\begin{document}
\begin{Bem}
\mbox{}\label{Bemelm}
\begin{enumerate}
\item
\end{enumerate}
\end{Bem}
\ref{Bemelm}
\end{document}
消除错误,但也会改变布局。如果你想要原始布局,我需要更仔细地查看:-)