我对标题有一个问题,似乎无法解决。我正在使用书籍类,我想要标题中的部分名称和章节名称。我尝试使用 fancyhdr。
一位 MWE 表示:
\documentclass[a4paper]{book}
\usepackage{fancyhdr}
\usepackage{emptypage}
\usepackage{lipsum}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO,LE]{\thepage}
\fancyhead[RE]{\rightmark}
\fancyhead[LO]{\leftmark}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\part{First part}
\chapter{First chapter}
\lipsum
\section{First section}
\lipsum
\part{Second part}
\chapter{Second chapter}
\lipsum
\section{Second section}
\lipsum
\backmatter
\end{document}
但是我想要的是部分名称而不是偶数页上的章节名称,即我想要的是“第一部分”而不是“第一节”。
答案1
编辑:在一个我不知何故错过的帖子中找到了解决方案:书籍的页眉和页脚使用:部分在偶数页,章节在奇数页
这解决了我的问题:
\documentclass[a4paper]{book}
\usepackage{fancyhdr}
\usepackage{emptypage}
\usepackage{lipsum}
\newcommand*\parttitle{}
\let\origpart\part
\renewcommand*{\part}[2][]{%
\ifx\\#1\\% optional argument not present?
\origpart{#2}%
\renewcommand*\parttitle{#2}%
\else
\origpart[#1]{#2}%
\renewcommand*\parttitle{#1}%
\fi
}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\parttitle}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\part{First part}
\chapter{First chapter}
\lipsum
\section{First section}
\lipsum
\part{Second part}
\chapter{Second chapter}
\lipsum
\section{Second section}
\lipsum
\backmatter
\end{document}