如何管理一个页面的两个计数器

如何管理一个页面的两个计数器

我需要对文章内部的页面进行编号,从 1 到 n(此处命名为 artpage),还需要对卷中包含的页面进行编号。

\newcounter{artpage}
\setcounter{artpage}{1}
\stepcounter{artpage}

%Redefine plain style to include standard RRP headers:
\if@twoside
\newcommand{\ps@headings}{%
%replace (c) with \copyright when needed!
\renewcommand{\@oddhead}{%
    \vbox{\hbox to \textwidth{\rmfamily\footnotesize%
    \rlap{\theartpage}\hfill\hbox{\rrp@headTitle}\hfill\thepage}%
%   \rlap{\color{black} \year@copy}\hfill\hbox{\rrp@headTitle}\hfill\thepage}%
  \rule[-1mm]{\textwidth}{0.4pt}%
}}%

\renewcommand{\@evenhead}{%
    \vbox{\hbox to \textwidth{\rmfamily\footnotesize%
    \thepage\hfill%
    \hbox{\rrp@headAuthors}%
    \hfill\llap{\theartpage}}%
    \rule[-1mm]{\textwidth}{0.5pt}%
}}%
%
\let\@evenfoot\@oddfoot%
%
}

艺术页面没有前进。

答案1

在您的代码中,没有任何内容可以步进计数器(除了\stepcounter 最顶部执行一次的计数器)。因此它没有变化并不奇怪。

一个简单的解决方案是将步进移到和中\@oddhead\@evenhead例如,

\newcommand{\ps@headings}{%
%replace (c) with \copyright when needed!
\renewcommand{\@oddhead}{%
    \stepcounter{artpage}%
    \vbox{\hbox to \textwidth{\rmfamily\footnotesize%
    \rlap{\theartpage}\hfill\hbox{\rrp@headTitle}\hfill\thepage}%
%   \rlap{\color{black} \year@copy}\hfill\hbox{\rrp@headTitle}\hfill\thepage}%
  \rule[-1mm]{\textwidth}{0.4pt}%
}}%
%   <--- do not put an empty line into this macro 
\renewcommand{\@evenhead}{%
    \stepcounter{artpage}%
    \vbox{\hbox to \textwidth{\rmfamily\footnotesize%
    \thepage\hfill%
    \hbox{\rrp@headAuthors}%
    \hfill\llap{\theartpage}}%
    \rule[-1mm]{\textwidth}{0.5pt}%
}}%
%
\let\@evenfoot\@oddfoot%
%
}

然后在每篇文章的开头发布

\setcounter{artpage}{0}

0,因为在页面创建时,它先被分步,之后才被用到。当然,分步也可以在标题中使用后进行,然后你就可以从 1 开始。

答案2

听起来你需要创建一个与当前页面协同工作的新计数器。因此,如果文章的第一页位于期刊的第 35 页

\documentclass{article}
\usepackage{lipsum}
\newcounter{journalpage}\setcounter{journalpage}{35}
\usepackage{fancyhdr}\pagestyle{fancy}
\rhead{Article Page=\thepage\ Journal Page=\thejournalpage\stepcounter{journalpage}}
\begin{document}
\lipsum[1-150]

\end{document}

相关内容