我正在尝试找到一种方法来停止报告中的页数计数。计数停止后,就会转到附录。然后对附录进行单独计数,页脚也会发生变化,因此当附录开始时,页数会显示(例如)第 1 页,共 12 页。
答案1
如果你想要hyperref
-兼容版本,您可以欺骗 TeX 并使用附录页面计数器的不同表示形式。
下面的 MWEapppage
通过以下重新定义用作附录开头的替换表示:
\renewcommand{\thepage}{\arabic{apppage}}
这样,常规页面计数器仍可照常运行,因此“保持hyperref
正常运行”。以下是完整示例:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{fancyhdr}% http://ctan.org/pkg/fancyhdr
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\newcounter{apppage}
\fancyhf{}% Clear fancy header/footer
\fancyfoot[C]{Page~\thepage~of~\pageref{lastpage}}
\pagestyle{fancy}
\begin{document}
See~\pageref{applastpage} for the last page of the appendix.
\section{First section}\lipsum[1-4]
\section{Second section}\lipsum[5-8]
\section{Last section}\lipsum[9-12]
\label{lastpage}
\clearpage\appendix
\renewcommand{\thepage}{\arabic{apppage}}
\fancyfoot[C]{Page~\thepage~of~\pageref{applastpage}}
\pagenumbering{arabic}
\section{First appendix}\lipsum[1-4]
\section{Second appendix}\lipsum[5-8]
\section{Last appendix}\lipsum[9-12]
\label{applastpage}
\end{document}
我使用lastpage
为最后一页的基本标签只是为了举例说明。对于附录和标签的最后一页applastpage
,最好使用lastpage
包裹的LastPage
标签,甚至是pageslts
包裹的VeryLastPage
标签。
答案2
如果您还想为文档的主要部分添加“最后一页”计数器,这里有一个解决方案。注意:
我已经使用该
etoolbox
包将代码添加到\appendix
命令的前面——这样,文档主体只包含“语义标记”而不包含内部重新定义。尽管
report
使用了oneside
和类选项,但我的重新定义也为/openany
提供了正确的页码。twoside
openright
该
emptypage
软件包将防止在文档主要部分的最后一页空白处显示“第 4 页,共 3 页”之类的内容。
\documentclass{report}
\usepackage{lastpage}
\usepackage{emptypage}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot[C]{Page~\thepage\ of~\pageref{LastMainPage}}
\fancypagestyle{plain}{%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}%
\fancyfoot[C]{Page~\thepage\ of~\pageref{LastMainPage}}%
}
\usepackage{etoolbox}
\preto{\appendix}{%
\label{LastMainPage}%
\ifbool{@openright}{%
\cleardoublepage
}{%
\clearpage
}%
\pagenumbering{arabic}%
\fancyfoot[C]{Page~\thepage\ of~\pageref{LastPage}}%
\fancypagestyle{plain}{%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}%
\fancyfoot[C]{Page~\thepage\ of~\pageref{LastPage}}%
}%
}
\usepackage{lipsum}
\begin{document}
\chapter{First}
\lipsum[1-12]
\appendix
\chapter{App-First}
\lipsum[1-8]
\end{document}
答案3
这是一个简单的解决方案
\documentclass{report}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{kantlipsum} % dummy text
\begin{document}
\chapter{abc}
\kant
\cleardoublepage
\appendix
\pagenumbering{arabic}
\fancypagestyle{plain}{\fancyhf{}
\renewcommand\headrulewidth{0pt}\fancyfoot[C]{\thepage\ of \pageref{LastPage}}}
\pagestyle{plain}
\chapter{app}
\kant
\end{document}
附录中的页面将在页脚中显示“1/3”。您可以随意自定义。但是,这不会让您满意hyperref
。