不使用 Fancyhdr 更改页码样式

不使用 Fancyhdr 更改页码样式

我想将文档的页码改为“第 # 页,共 ## 页”,而不只是“#”。该fancyhdr软件包似乎变化很大,而且似乎很不幸,因为一件小事而必须导入它。

答案1

最后一页你总是想

\usepackage{lastpage}

这给你

\pageref{LastPage}

它将放在文档的最后一页。之后,这取决于你的班级:

韩国科玛

使用起来KOMA非常简单:

\renewcommand\pagemark{\usekomafont{pagenumber}Page \thepage of \pageref{LastPage}}

基类

使用基类,例如article,需要做更多工作。我建议基于普通(或标题)样式创建新样式,并使用以下内容:

\documentclass{article}

\usepackage{lastpage}
\usepackage{etoolbox}
\usepackage{lipsum}

\makeatletter
\let\ps@mystyle\ps@plain % Copy the plain style to mystyle
\patchcmd{\ps@mystyle}{\thepage}{Page\ \thepage\ of\ \pageref{LastPage}}{}{} % replace number by desired string
\makeatother


\title{test}
\pagestyle{mystyle}
\begin{document}
    \maketitle\thispagestyle{mystyle}
    \lipsum
\end{document}

请注意\maketitle(如果不使用book)则使用\thispagestyle{plain}。这就是为什么您必须手动覆盖它的原因。如果您确实使用了该类book,则需要在之后执行相同的操作\chapter。此外,即使您希望它是,也不要忘记使用\pagestyle来声明默认页面样式plain

回忆录

memoir,您可以轻松使用

\makeevenfoot{pagestyle}{left}{center}{right}
\makeoddfoot{pagestyle}{}{}{}
\makeevenhead{pagestyle}{}{}{}
\makeoddhead{pagestyle}{}{}{}

并在相应的括号中使用您想要的样式Page\ \thepage\ of\ \thelastpage。您可以复制样式,然后从中创建自己的样式,方法是

\copypagestyle{mystyle}{headings}

memoir是例外,关于加载lastpage或等效。它\thelastpage已经提供。

相关内容