在报告类中,我无法让标题显示在标题页上。据我所知,该\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}
得出的结果为: