为什么 \pageref{LastPage} 显示的是“??”而不是最后一页的页码?

为什么 \pageref{LastPage} 显示的是“??”而不是最后一页的页码?

我正在尝试使用 lastpage 包,以便获得以“第 x 页,共 y 页”形式给出的页码的页脚,其中 y 是最后一页的页码。

这应该很简单,但我得到的却是:“第 x 页,共 ??”;即,我得到的是一对问号而不是页码。

为了尽量减少依赖性等,我将问题归结为:

\documentclass{article}
\usepackage{lastpage}
\usepackage{fancyhdr}
\pagestyle{fancy}
\cfoot{\thepage\ of \pageref{LastPage}}
\begin{document}
text
\newpage
text
\newpage
text
\end{document}

有谁知道我可能遗漏了什么导致 \pageref{LastPage} 给我“??”?

答案1

为了让 TeX 知道最后一页是什么,文档必须完成。因此,您需要运行 LaTeX 两次。第一次运行它会写出一个临时的 .aux 文件,第二次运行时它会读取并填写??。当我第二次运行您的文档时,它正确显示了Page 1 of 3

对于大多数应用程序来说,运行两次就足够了,但有时需要额外运行,所以请记住这一点,以防再次出现这种情况。

这同样适用于其他参考文献,例如方程式编号、章节编号等...

这里有一个好问题这解释了一些生成的临时文件。

相关内容