![使用 fancyhdr 时,如何删除前言中的第 0 章(致谢、目录、命名)](https://linux22.com/image/344640/%E4%BD%BF%E7%94%A8%20fancyhdr%20%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E5%89%8D%E8%A8%80%E4%B8%AD%E7%9A%84%E7%AC%AC%200%20%E7%AB%A0%EF%BC%88%E8%87%B4%E8%B0%A2%E3%80%81%E7%9B%AE%E5%BD%95%E3%80%81%E5%91%BD%E5%90%8D%EF%BC%89.png)
这些是我的设置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}