如何更改页码的增量?

如何更改页码的增量?

我正在尝试创建一个格式有些特殊的文档,其中正面(右侧)有一些文本,反面(左侧)有图形。这是用于某种小册子。见下文:

---------    ---------
|       |    |       |
| text  |    |  fig  |  
|       |    |       |
|   n   |    |  n+1  |
--------     ---------

我的想法是编写两个单独的文档——一个包含文本,另一个包含图形,这些都很容易创建。借助一些pdftk魔法,我可以轻松地按页面出现的顺序将它们混合在一起,并添加一些额外的前言和后记。

现在,我想在每一页上添加页码,为此,每个文档的页码都需要增加 2。我想我可以尝试手动完成,但我有点希望有更好的方法来实现。

欢迎提出各种想法。我使用的是 LaTeX,但 ConTeXt 解决方案也很有趣。如果您想到了另一种方法来完成整个过程,请随意尝试一下。

指定任意页面增量可获得加分。

答案1

我突然想到了这个想法:使用\afterpage在每一页之后简单地增加页面计数器。注意递归调用。这允许任意但固定的页面增量。可变的页面增量需要\increasethispagenumber{<n>}文本中某种形式的宏来设置增量。我想你明白了。

\documentclass{article}

\usepackage{afterpage}

\def\incpage{\addtocounter{page}{1}\afterpage{\incpage}}

\begin{document}

\afterpage{\incpage}

A
\newpage
B
\newpage
C
\newpage
D
\newpage
E
\newpage
F
\end{document}

在我的简单测试中运行良好。

答案2

除了更改页面计数器之外,您还可以简单地更改输出并保持计数器原样:

\documentclass[a4paper,10pt]{scrartcl}
\renewcommand\thepage{\number\numexpr 2*\the\value{page}\relax}
\begin{document}


a\newpage b\newpage c\newpage d\newpage
\end{document}

答案3

一种不太明显的方法(可能不如马丁的方法强大)是用来etoolbox修补实际输出页码的宏。

\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@outputpage{\stepcounter{page}}{\stepcounter{page}\stepcounter{page}}{}{}
\makeatother
\begin{document}
\section{A}\label{sec:A}\pageref{sec:A}\newpage
\section{B}\label{sec:B}\pageref{sec:B}\newpage
\section{C}\label{sec:C}\pageref{sec:C}\newpage
\section{D}\label{sec:D}\pageref{sec:D}
\end{document}

这里,单个\stepcounter{page}被两个代替了。

相关内容