这就是我正在做的事情:
\documentclass{article}
\begin{document}
\def\start{\thepage}
some long text for 4-5 pages
Here: \start -- \thepage
\end{document}
我得到:Here 4 -- 4
。我期望Here 1 -- 4
。我做错了什么?
答案1
获取页码的适当(且可靠)方法是设置并通过文档的其他位置\label
提取页码。\ref
refcount
允许您通过以下方式提取页码\getpagerefnumber
(例如,如果您希望执行计算),或者您可以使用\ref
前面提到的方法执行此操作:
\documentclass{article}
\usepackage{refcount}
\usepackage{lipsum}
\begin{document}
\label{start}%
\lipsum\lipsum\lipsum\lipsum\lipsum
\label{finish}%
Here: \getpagerefnumber{start} -- \getpagerefnumber{finish}
\end{document}
答案2
Ulrike 的解决方案是最有效的,但为了回答您的问题,这里有一个使用的解决方案\edef
:
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum\lipsum
\edef\start{\thepage} % mark page 3
Here: \start{} -- \thepage
\lipsum\lipsum
Here: \start{} -- \thepage
\end{document}
定义新计数器的解决方案:
\documentclass{article}
\usepackage{lipsum}
\newcounter{start}
\begin{document}
\lipsum\lipsum
\setcounter{start}{\value{page}}
Here: \thestart{} -- \thepage
\lipsum\lipsum
Here: \thestart{} -- \thepage
\end{document}