如何自动将文档最后一页的页码添加到页眉?

如何自动将文档最后一页的页码添加到页眉?

我需要将第一页和最后一页的页码添加到第一页的页眉中。使其看起来像这样:

文件标题、日期、第 1 - 30 页

第一页的页码是\thepage,因为它们位于其本身的页眉中。

我正在使用fancyhdr它来制作标题。如果不使用该lastpage包,我该如何更好地完成此操作?

如果文档是双面的\cleradoublepage,那么如果我添加序言,lastpage包将无法正常工作。下面是 MWE:\AtEndDocument{Some text}

\documentclass[twoside]{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{lastpage}% http://ctan.org/pkg/lastpage
\usepackage{fancyhdr}% http://ctan.org/pkg/fancyhdr
\fancyhf{}% Clear header/footer
\fancyhead[C]{Document title, \today, \textbf{pp.\ \pageref{FirstPage}~-~\pageref{LastPage}}}
\AtBeginDocument{\label{FirstPage}}%
\AtEndDocument{Some text that I need put at the end of text. \cleardoublepage}
\pagestyle{fancy}
\begin{document}
   \section{First section}\lipsum[1]
\end{document}

答案1

下面的操作正是您想要的:

enter image description here

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{lastpage}% http://ctan.org/pkg/lastpage
\usepackage{fancyhdr}% http://ctan.org/pkg/fancyhdr
\fancyhf{}% Clear header/footer
\fancyhead[C]{Document title, \today, \textbf{pp.\ \pageref{FirstPage}~-~\pageref{LastPage}}}
\AtBeginDocument{\label{FirstPage}}%
\pagestyle{fancy}
\begin{document}
\section{First section}\lipsum[1-20]
\section{Second section}\lipsum[21-40]
\section{Last section}\lipsum[41-60]
\end{document}

第一页标签FirstPage使用设置\AtBeginDocument,而最后一页标签通过获取lastpage包裹LastPage。如果您计划设置不同的首页计数器,则需要首页标签。如果您不想使用该lastpage包,您可以使用

\AtEndDocument{\label{LastPage}}

在大多数情况下,这应该可以正常工作。但在某些情况下,这可能不起作用,例如,文档末尾未处理的浮点数。pageslts包裹通过提供对标签的访问权限,可以解决此类情况VeryLastPage

enter image description here

\documentclass[twoside]{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{pageslts}% http://ctan.org/pkg/pageslts
\usepackage{fancyhdr}% http://ctan.org/pkg/fancyhdr
\fancyhf{}% Clear header/footer
\fancyhead[C]{Document title, \today, \textbf{pp.\ \pageref{FirstPage}~-~\pageref{VeryLastPage}}}
\AtBeginDocument{\label{FirstPage}}%
\AtEndDocument{Some text that I need put at the end of text. \cleardoublepage}
\pagestyle{fancy}
\begin{document}
   \section{First section}\lipsum[1]
\end{document}

页眉/页脚的其余部分可照常更改。

相关内容