我可以用来\pageref{LastPage}
给出带包装的最后一页的参考lastpage
。文档的最后一页是封底,所以我不想计算它。我想知道如何指定带lastpage
包装的倒数第二页。提前感谢您的帮助。
答案1
使用refcount
操纵(页面)引用:
\documentclass{article}
\usepackage{lastpage,refcount,atbegshi}
\usepackage{hyperref}
\usepackage{lipsum}
\AtBeginShipout{%
\ifnum\value{page}=\number\numexpr\getpagerefnumber{LastPage}-2\relax
\phantomsection\label{preLastPage}
\fi}
\begin{document}
Last page: \pageref{LastPage} \par
Second to last page: \pageref{preLastPage}
\lipsum[1-50]
\end{document}
之所以要比较\value{page}
,<LastPage>-2
是因为页码是分步的后打印值 - 与文档中的其他计数器不同。因此,\AtBeginShipout
页面计数器已经步进,我们需要\label
在页面末尾插入一个<LastPage>-2
,以便将其设置在页面开头<LastPage>-1
。
答案2
如果您在文档开头以及每次方案更改时使用,软件包pageslts
会为每个编号方案添加最后一页标签pagenumbering{…}
。因此,对于封面,您可以使用任何以前未使用的方案,并\pagestyle{empty}
在之后立即设置:
\documentclass{article}
\usepackage{pageslts,refcount}
\usepackage{lipsum}
\usepackage[ plainpages=false, pdfpagelabels=true]{hyperref}
\begin{document}
\pagenumbering{arabic}
Last page: \pageref{pagesLTS.arabic} \par
Very last page: \lastpageref{LastPages}
\lipsum[1-50]
\clearpage
\pagenumbering{roman}
\pagestyle{empty}
section{New page numbering}
\lipsum[51-60]
\end{document}
请注意,根据文档(§ 3.1),如果两个页面具有相同的编号(即使采用不同的编号方案),则设置选项是hyperref
为了防止出现任何问题,但对于此处给出的示例而言,这些选项并不是必需的。请参阅文档中约束的详细信息。