答案1
\documentclass[a4paper]{article}
\newcommand{\multistamp}[1]{%
\loop\unless\ifnum\value{page}>#1
\dowhatsonthispage
\repeat}
\newcommand{\dowhatsonthispage}{%
\null\csname onthispage\thepage\endcsname\newpage}
\newcommand{\putonpage}[2]{%
\expandafter\def\csname onthispage#1\endcsname{#2}}
\begin{document}
\putonpage{1}{Hello world}
\putonpage{3}{\vspace*{\fill}Hello world\par\vspace{\fill}}
\multistamp{4}
\end{document}
这将创建一个四页的文档,第一页和第三页的内容由命令决定\putonpage
。
当生成页码 2 时,此代码执行\onthispage2
未定义的宏,但它带有,因此\csname onthispage2\endcsname
它是\relax
。当生成页码 3 时,该宏\onthispage3
已定义,因此可以使用其定义。