\appendixpage 上没有页码

\appendixpage 上没有页码

我正在使用appendix带有\appendixpage命令的软件包插入“附录”标题页。但是,我想知道如何避免插入的页面上出现页码。

梅威瑟:

\documentclass{book}
\usepackage[titletoc]{appendix}
\begin{document}

\tableofcontents

\appendix \appendixpage \noappendicestocpagenum \addappheadtotoc

\chapter{Some title} Some text

\end{document}

请注意,这\noappendicestocpagenum是关于目录中的页码,而不是文本中的页码,所以这与我的问题无关。

答案1

该附录页面的页面样式为清楚的。您可以暂时将其重新定义为空:

\appendix
\begingroup
\makeatletter
\let\ps@plain\ps@empty
\appendixpage
\makeatother
\endgroup
\noappendicestocpagenum
\addappheadtotoc

最重要的就是

\let\ps@plain\ps@empty

\makeatletter\makeatother已用于能够@在宏名称中使用,\begingroup\endgroup限制此重新定义的范围。因此,之后,清楚的是正常的清楚的再次。

参照 lockstep 的评论,你可以在序言中这样做。定义

\makeatletter
\newcommand*{\myappendixpage}{%
  \begingroup
  \let\ps@plain\ps@empty
  \appendixpage
  \endgroup}
\makeatother

并在文档后面使用它:

\appendix
\myappendixpage
\noappendicestocpagenum
\addappheadtotoc

或者\appendixpage在序言中重新定义:

\let\plainappendixpage\appendixpage
\makeatletter
\renewcommand{\appendixpage}{%
  \begingroup
  \let\ps@plain\ps@empty
  \plainappendixpage
  \endgroup}
\makeatother

注意,如果您\let在带有可选参数的宏或由 创建的宏的情况下使用\DeclareRobustCommand,请改用\LetLtxMacroletltxmacro。这里,\let就足够了。

答案2

使用电子工具箱软件包来修补该\@chap@pppage宏。

\documentclass{book}

\usepackage[titletoc]{appendix}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@chap@pppage}{\thispagestyle{plain}}{\thispagestyle{empty}}{}{}
\makeatother

\begin{document}

\tableofcontents

\appendix
\appendixpage
\noappendicestocpagenum
\addappheadtotoc

\chapter{Some title}

Some text.

\end{document}

相关内容