我需要将第一页和最后一页的页码添加到第一页的页眉中。使其看起来像这样:
文件标题、日期、第 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
下面的操作正是您想要的:
\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
:
\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}
页眉/页脚的其余部分可照常更改。