有人能告诉我为什么这个例子中的引用不起作用吗?
\documentclass{article}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{amsmath}
\begin{document}
Some group of equations:
\begin{subequations}
\begin{align}
f(x) &= x \label{eq1} \\
g(x) &= x+1 \label{eq2} \\
h(x) &= x+2 \label{eq3} \\
k(x) &= x+3 \label{eq4}
\end{align}
\label{all-eq}
\end{subequations}
Reference to \eqref{eq1} works but a \vrefrange{eq1}{eq4} or
\crefrange{eq1}{eq4} or \cref{eq1,eq2,eq3,eq4} or
\vref{eq1,eq2,eq3,eq4} fail
\end{document}
这给了我:
答案1
这是一个典型的错误:加载使用计数器和特殊引用格式的包cleveref
是错误的,因为这个包在后台使用了复杂的宏,嗯,进行巧妙的引用;-)
cleveref
应该是最后的要加载的包,甚至后 hyperref
\documentclass{article}
\usepackage{amsmath}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
Some group of equations:
\begin{subequations}
\begin{align}
f(x) &= x \label{eq1} \\
g(x) &= x+1 \label{eq2} \\
h(x) &= x+2 \label{eq3} \\
k(x) &= x+3 \label{eq4}
\end{align}
\label{all-eq}
\end{subequations}
Reference to \eqref{eq1} works but a \vrefrange{eq1}{eq4} or
\crefrange{eq1}{eq4} or \cref{eq1,eq2,eq3,eq4} or
\vref{eq1,eq2,eq3,eq4} fail
\end{document}