我想在文档中添加页脚,显示当前页数(占总页数)。该怎么做?
答案1
答案2
如果文档仅包含阿拉伯语页码,则可能是最后一页包是你的朋友:
\usepackage{lastpage}
...
\cfoot{\thepage\ of \pageref{LastPage}}
例如,如果文档包含前页带有罗马数字的 X(十)页、正文带有阿拉伯数字的 100 页以及后页带有字母“编号”页面的 K(十一)页,\pageref{LastPage}
则将给出“K”,即最后一页的名称。如果显示“121”(=10+100+11),则页面可以使用以下包:
\usepackage{pageslts}
...
\cfoot{Page \thepage\ (\theCurrentPage) of \lastpageref{LastPages}}
例如,对于后记中的页面“B”,将打印“第 121 页中的第 B (112) 页”。pageslts 提供了很多额外的可能性(对于只有阿拉伯数字的文档来说可能“有点过头了”)。
当通过 输出时\AtEndDocument
,\pageref{LastPage}
如果在加载包后放置了该输出,则 lastpage 包的 不会包含该输出\AtEndDocument
。如果要引用最后一页,\lastpageref{VeryLastPage}
可以使用 pageslts 包的 。
如果使用\addtocounter{page}{...}
或\setcounter{page}{...}
,“LastPage 不会提供总页数(即使该页的页码方案为阿拉伯语)。(pageslts 包将\lastpageref{LastPages}
(末尾带有 s)提供给您进行补救:LastPages 忽略页码操作。)”(来自 lastpage 文档)。
如果最后一页使用 fnsymbol 页码方案,lastpage 可能会出现问题。(pageslts 应该可以工作。)
通常,生成“第 ... 页,共 ... 页”需要运行两次编译。根据其他软件包的不同,可能需要运行更多次编译。查看日志文件末尾的任何重新运行消息。
如果超链接使用包,但\pageref{LastPage}
或\lastpageref{LastPages}
不得创建超链接,可使用带星号的形式:\pageref*{LastPage}
和\lastpageref*{LastPages}
。
lastpage 和 pageslts 手册还列出了一些其他替代方案:
- lastpage209.sty(也来自最后一页包),适用于 LaTeX 2.09
- 页面(正如刚才提到的)
- 总页数
- 总计数与页计数器一起使用
- nofm.sty(如果有人能找到其可用版本的话)ftp://tug.ctan.org/pub/tex-archive/obsolete/macros/latex209/contrib/misc/nofm.sty,
- 计数1到
- 参考值,另外需要 e-TeX(包含在所有现代 TeX 发行版中),“但如果你已经拥有 e-TeX,你可以看看广泛的 zref 包,看看它是否更好地满足你的需要(或者另外,或者无论如何)”(lastpage 文档再次)。
和布伦特·朗伯勒另外这里提到了回忆录包的提供\thelastpage
和\thelastsheet
。
(如果问题是“如何在文档中添加“第 # 页,共 ## 页”?这将是一个 CW 问题......)
答案3
这回忆录班级根据您的具体需求,提供相应的\thelastpage
柜台。\thelastsheet
答案4
抱歉,我的回答迟了,但这可以在不使用任何包的情况下完成,只需在末尾添加一个标签即可\label{LastPage}
。总页数为\pageref{LastPage}
。
嘿,但是这不适用于复杂的页码?!嗯,事实并非如此:
- 必须在需要总页数的部分末尾放置标签。
- 为了防止标签跳转到下一部分(即从主要内容跳转到后文),我在标签后添加了一些空格:
{LastPage}~
。
这是一个可行的示例。我重新定义了 frontmatter、mainmatter 和 backmatter,因为它们在类中不存在article
。这个自制的解决方案应该可以满足任何需求
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\newcommand{\frontmatter}{\clearpage \cfoot{\thepage\ }
\setcounter{page}{1}
\pagenumbering{Roman}}
\newcommand{\mainmatter}{\clearpage \cfoot{\thepage\ of \pageref{LastPage}}
\setcounter{page}{1}
\pagenumbering{arabic}}
\newcommand{\backmatter}{\clearpage \cfoot{\thepage\ }
\setcounter{page}{1}
\pagenumbering{alph}}
\begin{document}
\frontmatter
The last page is \pageref{LastPageOfFrontMatter}.
\newpage ... \newpage ... \newpage
on the last page of frontmatter
\label{LastPageOfFrontMatter}~
\mainmatter
The last page is \pageref{LastPage}.
\newpage ... \newpage ... \newpage
on the last page of mainmatter
\label{LastPage}~
\backmatter
The last page is \pageref{LastPageOfBackMatter}.
\newpage ... \newpage ... \newpage
on the last page of backmatter
\label{LastPageOfBackMatter}~
\end{document}