为什么 \pagestyle{empty} 在章节的第一页不起作用?

为什么 \pagestyle{empty} 在章节的第一页不起作用?

以下是该问题的一个最小示例:

\documentclass{book}

\pagestyle{empty}

\begin{document}

\chapter{The first}

This page has a page number\ldots

\newpage

\ldots but not this one.

\end{document}

我推测(通过删除它)问题与该行有关\chapter。但是什么导致了这个问题,我该如何纠正它?

答案1

章节第一页的页面样式在内部(在bookreport文档类中)设置为plain;您可以通过在文档的序言中添加以下几行来更改此行为:

\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{empty}% original style: plain
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\makeatother

或者,使用etoolbox包:

\usepackage{etoolbox}
\patchcmd{\chapter}{plain}{empty}{}{}

如果plain其他地方不需要该样式,那么您可以将其重新定义为empty页面样式;这可以通过以下方式完成:

\makeatletter
  \let\ps@plain\ps@empty
\makeatother

最后,在scrbook文档类(来自KOMA-Script包)中,只需重新定义命令即可更改章节第一页的样式\chapterpagestyle,如下所示:

\renewcommand*\chapterpagestyle{empty}

编辑:添加了 egreg 的评论。

答案2

\chapter命令内部使用\thispagestyle{plain}\thispagestyle{empty}在 之后立即添加\chapter

\documentclass{book}

\pagestyle{empty}

\begin{document}

\chapter{The first}
\thispagestyle{empty}

This page has a page number\ldots

\newpage

\ldots but not this one.

\end{document}

答案3

发生这种情况的原因是\chapter宏重置了pagestyle该页面。仔细想想,这是有道理的,因为您通常希望章节的第一页看起来与其他页面不同。例如,如果页码通常位于页面顶部,则您需要将其移动到章节标题页的底部。否则看起来会很奇怪。

有许多方法可以解决这个问题,但最简单的方法是将其\thispagestyle{empty}立即放在宏后面\chapter

如果你愿意改变每一个章节页面,您可以使用memoir类并重新定义chapter页面样式:

\makepagestyle{chapter}

也可以看看这个问题或者这个

答案4

我发现在设置标题样式时,必须将 \thispagestyle{empty} 设置为里面其中:

因此:

\part*{\color[HTML]{636060}{A: Lipsum Caption}\thispagestyle{empty}}\label{sec:Kap01} 

将隐藏页码,而

\part*{\color[HTML]{636060}{A: Lipsum Caption}}\thispagestyle{empty}\label{sec:Kap01} 

惯于。

相关内容