如何在报告中的特定点之后更改花式页码样式?

如何在报告中的特定点之后更改花式页码样式?

我正在写一份报告,希望在介绍之前和之后使用不同的编号样式。对于执行摘要和目录,我不想使用页码,在此之后(直到介绍部分),我希望在右下角使用小写罗马数字编号,例如仅使用“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}因为您显然不希望那里有任何页眉或页脚。对于其他两个部分,我定义了两种页面样式frontmattermainmatter,其中包含页脚定义。我还在\pagenumbering那里放置了命令以将所有内容放在一起。

\newpage请注意,通常在命令前给出一个,\clearpage\cleardoublepage(无论适当的内容)很重要\pagestyle,否则前一页可能会受到影响。

如果您想添加标题,最好\fancypagestyle也在命令内进行添加。

顺便说一句,我一般不建议使用像 这样的老式命令\rfoot。通常最好使用\fancyfootetc,尤其是当您想要区分偶数页和奇数页时。

\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}

相关内容