Fancyhdr 标题:无章节时的章节名称

Fancyhdr 标题:无章节时的章节名称

我对 有疑问fancyhdr。我的页眉在奇数页上显示章节名称,在偶数页上显示节名称。但是,我有一个没有编号的章节(结论),在这种情况下,偶数页页眉显示上一章最后一节的名称。这是我所拥有的示例

\documentclass[a4paper,11pt,twoside,openright]{report}
\usepackage{fancyhdr}
\usepackage{lipsum}

\fancypagestyle{mypagestyle}{
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}

\fancyhead[EL]{\small \textsl{\nouppercase{\rightmark}}}
\fancyhead[OR]{\small \textsl{\nouppercase{\leftmark}}}
\fancyhead[OL,ER]{\small \textsl \thepage}
}

\pagestyle{mypagestyle}

\renewcommand{\chaptermark}[1]{ \markboth{#1}{} }
\renewcommand{\sectionmark}[1]{ \markright{#1}{} }

\begin{document}
\chapter{First chapter}
\section{First section}
\lipsum

\chapter*{Second chapter}
\lipsum

\chapter{Third chapter}
\lipsum
\end{document}

如您所见,这只是未编号章节的问题,而对于没有章节的编号章节,除了章节名称外什么都不会显示。

当我的章节没有部分时,我通常希望显示的是章节名称而不是部分名称。有什么想法吗?

答案1

首先,如果你想要编号章节中的标题,你必须更改

\renewcommand{\chaptermark}[1]{ \markboth{#1}{} }

\renewcommand{\chaptermark}[1]{ \markboth{#1}{#1} }

然后,由于未编号的章节不会发出任何\chaptermark命令,因此您必须手动插入

\markboth{Second chapter}{Second chapter}

就在你的未编号章节之后。

梅威瑟:

\documentclass[a4paper,11pt,twoside,openright]{report}
\usepackage{fancyhdr}
\usepackage{lipsum}

\fancypagestyle{mypagestyle}{
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}

\fancyhead[EL]{\small \textsl{\nouppercase{\rightmark}}}
\fancyhead[OR]{\small \textsl{\nouppercase{\leftmark}}}
\fancyhead[OL,ER]{\small \textsl \thepage}
}

\pagestyle{mypagestyle}

\renewcommand{\chaptermark}[1]{ \markboth{#1}{#1} }
\renewcommand{\sectionmark}[1]{ \markright{#1}{} }

\begin{document}
\chapter{First chapter}
\section{First section}
\lipsum[1-30]

\chapter*{Second chapter}
\markboth{Second chapter}{Second chapter}
\lipsum[1-30]

\chapter{Third chapter}
\lipsum[1-30]
\end{document}

输出(未编号章节)

在此处输入图片描述

相关内容