使用 Report Class 在 titlepage 中使用 fancyhdr

使用 Report Class 在 titlepage 中使用 fancyhdr

在报告类中,我无法让标题显示在标题页上。据我所知,该\maketitle命令会自动将页面样式设置为空。我曾尝试使用以下方法将空重新定义为标题样式:

\fancypagestyle{empty}{
 \fancyhf{}
 \fancyhead[R]{Team \#3243 Page \thepage  { }of \pageref{LastPage}}
}

但是,这只会使标题页和第二页都显示“第 1 页,共 N 页”。

目前,常规标头的编码方式如下

\documentclass[12pt]{report}
\usepackage{lastpage}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{Team \#3243 Page \thepage  { }of \pageref{LastPage}}

我如何才能获得在标题页上使用的正确页眉?如能得到任何帮助我将不胜感激。

答案1

导致该问题的原因在于titlepage环境使用以下方法将页面计数器设置为零

\setcounter{page}\z@

您可以重新定义titlepage以避免这种情况(也许修补会使代码更短):

\documentclass[12pt,titlepage]{report}
\usepackage{lastpage}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{Team \#3243 Page \thepage\ of \pageref{LastPage}}

\makeatletter
\renewenvironment{titlepage}
    {%
      \if@twocolumn
        \@restonecoltrue\onecolumn
      \else
        \@restonecolfalse\newpage
      \fi
      \thispagestyle{empty}%
      %\setcounter{page}\z@
    }%
    {\if@restonecol\twocolumn \else \newpage \fi
    }
\makeatother

\title{Title}
\author{Author}

\begin{document}

\fancypagestyle{empty}{
 \fancyhf{}
 \fancyhead[R]{Team \#3243 Page \thepage\ of \pageref{LastPage}}
}
\begin{titlepage}
\maketitle
\end{titlepage}
test

\end{document}

标题页中的页眉图像:

在此处输入图片描述

以及测试页的页眉:

在此处输入图片描述

我将空页面样式的重新定义放在正文中,以便您可以通过分组轻松地使其成为本地页面(以防万一,它不应该影响所有具有空样式的页面);否则,可以将其移动到序言中。

答案2

问题是计数器page在标题页上不会增加​​。因此,虽然重新定义empty可以让你获得页眉,但最终得到的页眉与文档本身的第一页上的页眉相同。为了解决这个问题,你可以自己增加计数器来补偿:

\documentclass[12pt,titlepage]{report}
\usepackage{lastpage}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{Team \#3243 Page \thepage\ of \pageref{LastPage}}

\fancypagestyle{empty}{
 \fancyhf{}
 \fancyhead[R]{Team \#3243 Page \thepage  { }of \pageref{LastPage}}
}

\title{Title}
\author{Author}

\begin{document}
\maketitle
\stepcounter{page}
test

\end{document}

得出的结果为:

标题页和后续页面上的页眉

相关内容