使用 fancyhdr 时,如何删除前言中的第 0 章(致谢、目录、命名)

使用 fancyhdr 时,如何删除前言中的第 0 章(致谢、目录、命名)

这些是我的设置fancyhdr

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{Chapter \thechapter}
\fancyhead[LO]{\textit{\nouppercase{\leftmark}}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

答案1

在默认book文档类下,其\frontmatter作用如下:

\newcommand\frontmatter{%
  \cleardoublepage
  \@mainmatterfalse
  \pagenumbering{roman}}

请注意,它将条件 - \if@mainmatter- 设置为false。我们可以将其用作标头设置的一部分:

在此处输入图片描述

\documentclass{book}

\usepackage{fancyhdr,lipsum}

\pagestyle{fancy}
\fancyhf{}% Clear header/footer
\fancyhead[LE,RO]{\thepage}
\makeatletter
\fancyhead[RE]{\if@mainmatter Chapter \thechapter\fi}
\makeatother
\fancyhead[LO]{\textit{\nouppercase{\leftmark}}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\begin{document}

\frontmatter

\chapter{Front matter chapter}
\lipsum[1-10]

\mainmatter

\chapter{Main matter chapter}
\lipsum[1-10]

\end{document}

答案2

只需使用此命令即可:

fancyhead[RE]{Chapter \thechapter}

你只需要修改你想要可视化章节的情况:

\fancyhead[RE]{\ifnum \value{chapter}>0
Chapter \thechapter\fi}

相关内容