![fancyhdr 和 lastpage:不计算最后一页](https://linux22.com/image/315156/fancyhdr%20%E5%92%8C%20lastpage%EF%BC%9A%E4%B8%8D%E8%AE%A1%E7%AE%97%E6%9C%80%E5%90%8E%E4%B8%80%E9%A1%B5.png)
我正在使用 fancyhdr 和 lastpage。我想写一份学士论文,最后一页必须是法定声明,它不应该算在页数中。但这一页算在 LastPage 中。我怎样才能让 lastpage 不计算这一页呢?
\setcounter{page}{\pageref*{LastPage}-1}
正是我所寻找的
\documentclass[a4paper]{report}
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{fancy}
\fancypagestyle{plain}{}
\fancyhead[RO,RE]{Page \thepage\ of \pageref*{LastPage}}
\fancyhead[LO,LE]{\leftmark}
\begin{document}
% much content
% now the last page:
\thispagestyle{empty}
% content of the declaration
答案1
您可以使用该zref
包并将生成的数量减少 1。
\documentclass[a4paper,twoside]{report}
\usepackage{fancyhdr}
\usepackage[lastpage]{zref}
\usepackage{kantlipsum}
\makeatletter
\newcommand{\reallastpage}{%
\the\numexpr\zref@extractdefault{LastPage}{page}{0}-1\relax
}
\makeatother
\pagestyle{fancy}
\fancypagestyle{plain}{}
\fancyhead[RO,RE]{Page \thepage\ of \reallastpage}
\fancyhead[LO,LE]{\leftmark}
\begin{document}
\kant
% now the last page:
\clearpage
\thispagestyle{empty}
{\Large Declaration}
\kant[1]
\end{document}
大家可以看到,声明页是第 4 页。