如何在我的文档中添加“第 # 页,共 ## 页”?

如何在我的文档中添加“第 # 页,共 ## 页”?

我想在文档中添加页脚,显示当前页数(占总页数)。该怎么做?

答案1

我没有尝试过,但我在一些旧的 .tex 文件中发现了这一点:

\usepackage{lastpage}
\usepackage{fancyhdr}
\pagestyle{fancy} 
...
\cfoot{\thepage\ of \pageref{LastPage}}

在此处输入图片描述

答案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 手册还列出了一些其他替代方案:

布伦特·朗伯勒另外这里提到了回忆录包的提供\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}

相关内容