创建任意数量的空白页

创建任意数量的空白页

是否有一个命令可以在某些乳胶文本中插入任意数量的空白页?

答案1

我不知道,但这应该可行:

\newcount\ipp
\ipp=0
\newcount\numberOfPages
\numberOfPages=10 % or else; never 0!!! 
\loop
\newpage
\mbox{}
\advance\ipp by1
\ifnum\ipp<\numberOfPages\repeat

如果将其打包成一个新命令,它看起来像这样:

\newcommand{\fillInPages}[1]{
\newcount\ipp
\ipp=0
\newcount\numberOfPages
\numberOfPages=#1 
\loop
\newpage
\mbox{}
\advance\ipp by1
\ifnum\ipp<\numberOfPages\repeat
}

答案2

我们xparse可以使用\prg_replicate:nn

\documentclass{article}
\usepackage{xparse}

\ExplSyntaxOn
\NewDocumentCommand{\blankpages}{O{}m}
 {
  \clearpage
  \prg_replicate:nn { #2 } { #1 \mbox{} \clearpage }
 }
\ExplSyntaxOff

\begin{document}

% ten blank pages with page number
\blankpages{10}

% four really blank pages
\blankpages[\thispagestyle{empty}]{4}

% four “intentionally blank page”
\blankpages[
  \thispagestyle{empty}
  \vspace*{\fill}
  \begin{center}
  This page intentionally blank
  \end{center}
  \vspace*{\fill}
]{4}

\end{document}

答案3

这里还有一种使用递归的可能性:

\documentclass{article}
\usepackage{lipsum}

\makeatletter
\newcommand\blankpage[1][1]{%
  \ifnum#1<0\else
    \@tempcnta#1
    \@tempcntb\z@
    \bl@nkpage
  \fi
}
\newcommand\bl@nkpage{%
  \bl@nkp@ge
  \advance\@tempcntb\@ne
  \ifnum\@tempcntb<\@tempcnta
    \bl@nkpage
  \fi
}
\newcommand\bl@nkp@ge{\clearpage\thispagestyle{empty}\null\clearpage}
\makeatother

\begin{document}
\lipsum
\blankpage[3]
\lipsum
\end{document}

如果您想要更复杂一点,您可以添加一个带星号的版本,\blankpage以保持页面样式不变:

\documentclass{article}
\usepackage{lipsum}

\makeatletter
\newcommand\blankpage{%
  \begingroup
  \@ifstar
    {\let\thispagestyle\@gobble\blankpage@}
    {\blankpage@}
}
\newcommand\blankpage@[1][1]{%
  \ifnum#1<0\else
    \@tempcnta#1
    \@tempcntb\z@
    \bl@nkpage
  \fi
}
\newcommand\bl@nkpage{%
  \bl@nkp@ge
  \advance\@tempcntb\@ne
  \ifnum\@tempcntb<\@tempcnta
    \bl@nkpage
  \else
    \endgroup
  \fi
}
\newcommand\bl@nkp@ge{\clearpage\thispagestyle{empty}\null\clearpage}
\makeatother

\begin{document}
\blankpage*[3]
\blankpage[2]
\blankpage*
\end{document}

答案4

ConTeXt 的用户可以结合使用\page\dorecurse命令来插入一定数量的空白页。

当页面应该是空的并且没有页眉和页脚时,该empty关键字可以用作\page命令的参数。

\starttext
\dorecurse{10}{\page[empty]}
\stoptext

当空白页需要包含页眉和页脚文本时dummy可以使用关键字。

\starttext
\dorecurse{10}{\page[dummy]}
\stoptext

相关内容