Fancyhdr 不会在章节页面和非章节页面应用相同的页眉/页脚

Fancyhdr 不会在章节页面和非章节页面应用相同的页眉/页脚

fancyhdr我对这个包有一个问题:我使用report文档类,我有一个章节,很多文本,然后是一个以某个部分开始的新页面(或者下一页没有从该特定页面开始的章节)。

问题是,我定义的页眉和页脚不在章节页面上,而只在非章节页面上。为什么?我错过了什么?

最小示例:

\documentclass[]{report}

\usepackage{lastpage}
\usepackage{fancyhdr} % for use of \pageref{LastPage}

\fancypagestyle{IHA-fancy-style}{%
\fancyhf{} %Clear header and footer
\fancyhead[LE,RO]{\slshape \rightmark}
\fancyhead[LO,RE]{\slshape \leftmark}
\fancyfoot[C]{\thepage of \pageref{LastPage}} %Custom footer
\renewcommand{\headrulewidth}{0.4pt} %Line at the header visible
\renewcommand{\footrulewidth}{0.4pt}} %Line at the footer visible

\title{A short example}

\begin{document}

\maketitle
\tableofcontents

\pagestyle{IHA-fancy-style}
\chapter{A chapter}
Look at the footer

\newpage
\section{A section}
Look at the footer

\end{document}

请注意:第 2 页底部没有行 - 第 3 页底部有一行。

有什么线索吗?

答案1

您可以重新定义plain发出的样式\chapter。您可以这样做;我建议不要在章节起始页或上部规则中添加标题。

\documentclass[twoside]{report}

\usepackage{lastpage}
\usepackage{fancyhdr} % for use of \pageref{LastPage}

\fancypagestyle{IHA-fancy-style}{%
  \fancyhf{}% Clear header and footer
  \fancyhead[LE,RO]{\slshape \rightmark}
  \fancyhead[LO,RE]{\slshape \leftmark}
  \fancyfoot[C]{\thepage\ of \pageref{LastPage}}% Custom footer
  \renewcommand{\headrulewidth}{0.4pt}% Line at the header visible
  \renewcommand{\footrulewidth}{0.4pt}% Line at the footer visible
}

% Redefine the plain page style
\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyfoot[C]{\thepage\ of \pageref{LastPage}}%
  \renewcommand{\headrulewidth}{0pt}% Line at the header invisible
  \renewcommand{\footrulewidth}{0.4pt}% Line at the footer visible
}
\title{A short example}

\begin{document}

\maketitle
\tableofcontents

\pagestyle{IHA-fancy-style}
\chapter{A chapter}
Look at the footer

\newpage
\section{A section}
Look at the footer

\end{document}

答案2

对于report文档类,命令\chapter在文件中定义report.cls,从第 339 行左右开始。宏定义中包含\chapter指令\thispagestyle{plain},指示 LaTeX 将章节的第一页设置为所谓的“纯文本”样式。

要将章节第一页的页面样式从“普通”切换为“花式”,您可以加载包etoolbox并修补宏的定义\chapter

\documentclass{report}
% other preamble stuff...
\usepackage{etoolbox}
\patchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{fancy}}{}{}
% rest of document ...

相关内容