我正在写一份报告,希望在介绍之前和之后使用不同的编号样式。对于执行摘要和目录,我不想使用页码,在此之后(直到介绍部分),我希望在右下角使用小写罗马数字编号,例如仅使用“iv”。对于介绍之后的部分,我希望在右下角使用阿拉伯数字编号,样式为“第 X 页,共 X 页”。
我已经为后面的部分设置了正确的样式,但是我用来执行此操作的方法也将这种样式应用于前面的内容(例如“第 ii 页,共 2 页”)。
我不确定如何\rfoot
在特定部分之后重新定义样式或如何覆盖特定页面上的编号格式,但保留漂亮的页面样式。
以下是我的报告的 MWE。
\documentclass[a4paper,draft, 12pt]{report}
\usepackage[top=2cm,left=2cm,right=2cm,bottom=2cm]{geometry}
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{fancy}
\fancyhf{}
\rfoot{Page \thepage \hspace{1pt} of \pageref{LastPage}}
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{fancy}
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
\begin{document}
\chapter*{Executive Summary}
\thispagestyle{empty}
Some text
\tableofcontents
\thispagestyle{empty}
\chapter*{Glossary}
\pagenumbering{roman}
\chapter*{List of abbreviations}
\listoffigures
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\pagenumbering{arabic}
Some text
\chapter{First Chapter}
Some text
\end{document}
答案1
最好的方法是为不同的部分定义不同的页面样式。对于执行摘要,您可以使用,\pagestyle{empty}
因为您显然不希望那里有任何页眉或页脚。对于其他两个部分,我定义了两种页面样式frontmatter
和mainmatter
,其中包含页脚定义。我还在\pagenumbering
那里放置了命令以将所有内容放在一起。
\newpage
请注意,通常在命令前给出一个,\clearpage
或\cleardoublepage
(无论适当的内容)很重要\pagestyle
,否则前一页可能会受到影响。
如果您想添加标题,最好\fancypagestyle
也在命令内进行添加。
顺便说一句,我一般不建议使用像 这样的老式命令\rfoot
。通常最好使用\fancyfoot
etc,尤其是当您想要区分偶数页和奇数页时。
\documentclass[a4paper,draft, 12pt]{report}
\usepackage[top=2cm,left=2cm,right=2cm,bottom=2cm]{geometry}
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{fancy}
\fancyhf{}
\fancypagestyle{frontmatter}{
\pagenumbering{roman}
\rfoot{\thepage}
}
\fancypagestyle{mainmatter}{
\pagenumbering{arabic}
\rfoot{Page \thepage \hspace{1pt} of \pageref{LastPage}}
}
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{fancy}
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
\begin{document}
\pagestyle{empty}
\chapter*{Executive Summary}
\thispagestyle{empty}
Some text
\clearpage
\pagestyle{frontmatter}
\tableofcontents
\thispagestyle{empty}
\chapter*{Glossary}
\chapter*{List of abbreviations}
\listoffigures
\clearpage
\pagestyle{mainmatter}
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
Some text
\chapter{First Chapter}
Some text
\end{document}
答案2
您需要应用三种不同的样式:(empty
已定义)、frontmatter
(罗马数字)和mainmatter
(第 X 页,共 X 页)。后两种样式必须定义。
当你申请时\pagestyle{<style>}
,它将从该位置开始生效(清除页面之后)。
重新定义章节命令负责\chapter
和的必要清除页面\chapter*
;以及章节首页的样式。否则它将采用样式plain
(页脚中心的阿拉伯页码)
我添加了\renewcommand{\headrulewidth}{0pt}
抑制页眉规则。如果要添加页脚规则,请\renewcommand{\footrulewidth}{0.5pt}
在序言中添加。
i
词汇表将在页脚中包含编号,而简介中将包含Page 1 of 2
。
\documentclass[a4paper,draft, 12pt]{report}
\usepackage[top=2cm,left=2cm,right=2cm,bottom=2cm]{geometry}
\usepackage{fancyhdr}
\usepackage{lastpage}
\makeatletter
\renewcommand\chapter{%
\if@openright\cleardoublepage\else\clearpage\fi% a
% \thispagestyle{fancy} % not needed <<<<<
\global\@topnum\z@%
\@afterindentfalse%
\secdef\@chapter\@schapter}
\makeatother
\fancypagestyle{frontmatter}{%
\fancyhf{}% clear previous definitions
\pagenumbering{roman}
\fancyfoot[R]{\thepage}
}
\fancypagestyle{mainmatter}{%
\fancyhf{}% clear previous definitions
\pagenumbering{arabic}
\fancyfoot[R]{Page \thepage\ of \pageref{LastPage}}
}
\renewcommand{\headrulewidth}{0pt}% no upper rule <<<<<
%\renewcommand{\footrulewidth}{0.5pt}% optional foot rule <<<<<
\begin{document}
\pagestyle{empty} % starts style empty <<<<<<<<<<
\chapter*{Executive Summary}
Some text
\tableofcontents
\chapter*{Glossary}
\pagestyle{frontmatter} % starts style frontmatter <<<<<<<<<<<<<
\chapter*{List of abbreviations}
\listoffigures
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\pagestyle{mainmatter} % starts style mainmatter <<<<<<<<<<<
Some text
\chapter{First Chapter}
Some text
\end{document}