附录前停止页数计数

附录前停止页数计数

我正在尝试找到一种方法来停止报告中的页数计数。计数停止后,就会转到附录。然后对附录进行单独计数,页脚也会发生变化,因此当附录开始时,页数会显示(例如)第 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提供了正确的页码。twosideopenright

  • 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

相关内容