我知道我可以用来\thepage
打印文档中的当前页码。但是是否可以打印下一页的页码,例如“继续第几页”之类的短语?
提前致谢 :)
答案1
\label
页码编号(显示和引用)通常应使用s 和s来处理\ref
。下面是一个例子,说明为什么它\thepage
并不总是准确的:
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1-4] \texttt{Page: \thepage}% On page 1, displays as "Page: 1"
\lipsum[5-7] \texttt{Page: \thepage}% On page 2, displays as "Page: 1"
\end{document}
\label
使用-系统时显示正确的输出\ref
:
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1-4] \label{pg:one}\texttt{Page: \pageref{pg:one}}% On page 1, displays as "Page: 1"
\lipsum[5-7] \label{pg:two}\texttt{Page: \pageref{pg:two}}% On page 2, displays as "Page: 2"
\end{document}
page
无论计数器的表示形式如何(由 给出) ,上述示例都可以正常工作\thepage
。例如,只有\thepage
当它扩展为数字时(通常通过) ,才能对 进行计算\arabic{page}
。无法在 或 内使用,\thepage
因为那时默认为。\frontmatter
book
report
\thepage
\roman{page}
如果你确实想对页码进行计算,请使用\label
-\ref
系统和refcount
:
\documentclass{article}
\usepackage[nopar]{lipsum}
\usepackage{refcount}
\begin{document}
\lipsum[1-4] \label{pg:one}\texttt{Page: \pageref{pg:one}}% On page 1, displays as "Page: 1"
\lipsum[5-7] \texttt{Page: \number\numexpr\getpagerefnumber{pg:one}+1\relax}% On page 2, displays as "Page: 2"
\end{document}
答案2
是的,这是可能的,甚至无需使用任何额外的软件包。只需在文档的序言中写一个小的宏,如下所示:
\newcommand{\thenextpage}{
\number\numexpr\thepage+1\relax
}
然后使用\thenextpage
文档中的任意位置来打印下一页的页码。