我正在尝试创建一个格式有些特殊的文档,其中正面(右侧)有一些文本,反面(左侧)有图形。这是用于某种小册子。见下文:
--------- ---------
| | | |
| 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}
被两个代替了。