我正在写一篇翻译;我想在每一页上显示原文的页码。
我引入了一个计数器origpagecounter
,每当原始页面出现新页面时,我都会将其设置为新值,例如\setcounter{origpagecounter}{124}
。
我可以在标题中显示计数器的当前值,例如,用\fancyhead[R]{\arabic{origpagecounter}}
。
这可以正常工作,但它显示当前页面上定义的(最后一个)值。
我如何访问上一页的最后一个计数器,使其显示进入当前页面的页面范围,即123--124
,而不仅仅是124
?
答案1
使用标记,我会\mark{124}
在原始第 124 页的开头和结尾添加(附加到第一个和最后一个单词,这样材料和标记之间就不会出现分页符)。然后应该使用页眉\firstmark--\botmark
来获取为当前页面提供材料的所有页面。
答案2
仅为初步版本,存储原始页面计数器。
还可以检查页数是否相等,也就是说,一种语言的翻译可能比另一种语言的翻译更长,因此比相应的原始版本占用更多的页数,但它仍然有效。
\documentclass{article}
\usepackage{blindtext}
\newcounter{oldorigpagecounter}
\newcounter{origpagecounter}
\usepackage{fancyhdr}
\fancyhead[R]{%
\ifnum\value{oldorigpagecounter}>0% Only for later pages
\arabic{oldorigpagecounter} -- \arabic{origpagecounter}%
\setcounter{oldorigpagecounter}{\value{origpagecounter}}%
\else
\arabic{origpagecounter}%
\fi
}
\pagestyle{fancy}
\begin{document}
\setcounter{oldorigpagecounter}{123}
\setcounter{origpagecounter}{124}
\blindtext[2]
\clearpage
\setcounter{origpagecounter}{125}
\blindtext[5]
\end{document}