\cpageref
我在使用 时遇到了问题cleveref
。似乎如果它尝试将页面作为 3+ 输入的一部分“压缩” \cpageref
,就会出现严重错误,它只会打印标签第一个和最后一个输入。我不确定我是否严重误解了它的\cpageref
工作原理,或者是否存在某种错误。
这是一个最简单的例子,说明正在发生的事情:
\documentclass[12pt]{letter}
\usepackage{cleveref}
\begin{document}
\textbf{Holy Grail \label{hg-1}} \par
\textbf{Life of Brian \label{lob-1}}\par
\newpage
\textbf{This page only references the Holy Grail \label{hg-2}} \par
\newpage
\textbf{This page again references both the Holy Grail \label{hg-3} and the Life of Brian \label{lob-2}} \par
\newpage
\textbf{References} \par
Monty Python and the Holy Grail \ldots{} \cpageref{hg-1,hg-2,hg-3} \par
The Life of Brian \ldots{} \cpageref{lob-1,lob-2} \par
\end{document}
预期:最终页面内容如下:
参考
巨蟒与圣杯......第 1 至 3 页
布莱恩的一生》……第 1 至 3 页
实际情况:
参考
巨蟒与圣杯......hg-1hg-3
布莱恩的一生......第 1 页和第 3 页
cleveref
我相当确定这是连续引用压缩的问题,因为如果我禁用它( \usepackage[sort]{cleveref}
),我会得到这样的结果:
参考
《巨蟒与圣杯》……第 1、2 和 3 页 《
布莱恩的一生》……第 1 和 3 页
是否有解决方法或正确方法来获取pages 1 to 3
输出?或者这是 中的限制或错误cleveref
?
Latex 引擎: MiKTeX-pdfTeX 4.6 (MiKTeX 21.3 Portable)
cleveref 版本:
\def\packagedate{2018/03/27}
\def\packageversion{0.21.4}
更新:使用最新的“预发布”版本(0.21.5)进行检查,行为是相同的。
版本 0.19.1 来自Tony Cubitt 的网站好像没有这个问题。