![cleveref 包只打印第一个引用,其余的只是问号](https://linux22.com/image/344011/cleveref%20%E5%8C%85%E5%8F%AA%E6%89%93%E5%8D%B0%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%BC%95%E7%94%A8%EF%BC%8C%E5%85%B6%E4%BD%99%E7%9A%84%E5%8F%AA%E6%98%AF%E9%97%AE%E5%8F%B7.png)
我想在一个地方交叉引用多个方程式,我发现该
cleveref
包正是我所需要的。但我发现 cleveref 无法正常工作:它只能正确打印第一个方程式引用。
MWE如下:
\documentclass{article}
\usepackage{cleveref}
\begin{document}
\begin{equation}\label{eq1}
a = b+c
\end{equation}
\begin{equation}\label{eq2}
e = mc^2
\end{equation}
\begin{equation}\label{eq3}
r = d +e
\end{equation}
\begin{equation}\label{eq4}
f = j + m
\end{equation}
\begin{equation}\label{eq5}
s = p +b
\end{equation}
See~\cref{eq1, eq2, eq3, eq4, eq5} for more information.
\end{document}
只有一个方程式引用被正确打印。问题是什么?
答案1
Cleveref 对标签中的空格很敏感,因此逗号后不能有空格。它试图找到引用,' eq2'
而不是'eq2'
('
使空格突出)。
这是修复版本:
\documentclass{article}
\usepackage{cleveref}
\begin{document}
\begin{equation}\label{eq1}
a = b+c
\end{equation}
\begin{equation}\label{eq2}
e = mc^2
\end{equation}
\begin{equation}\label{eq3}
r = d +e
\end{equation}
\begin{equation}\label{eq4}
f = j + m
\end{equation}
\begin{equation}\label{eq5}
s = p +b
\end{equation}
See \cref{eq1,eq2,eq3,eq4,eq5} for more information.
\end{document}