空文档,仅页码,需要 500 页

空文档,仅页码,需要 500 页

我需要一份有 500 页空白页的文档,仅在页脚有页码。

这个 MWE 显示了 2 个页面,我想要获取全部 500 个页面:

\documentclass[pagenumber=footright, DIV=20, fontsize=16]{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\pagestyle{scrheadings}
\ihead{}
\ofoot[\pagemark]{\pagemark}
\chead{}
\cfoot[]{}
\ohead{}



\begin{document}
\mbox{}


\newpage

\mbox{}
\newpage



\end{document}

有人能写一个 500 页的循环吗? Cave:这\mbox{}是必须的,否则就没有页码,甚至没有 0 页的 PDF……

(目的是为已打印的文档添加页码:我将把 500 页再次放入打印机,这样就得到了一份带有页码的打印文档。我正在尝试帮助这里的一个可怜的人,否则他就必须手动将页码写入 40 个文件夹中的 500 页。)

答案1

使用原始的\loop\repeat测试\unless

\documentclass[pagenumber=footright, DIV=20, fontsize=16]{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\pagestyle{scrheadings}
\ihead{}
\ofoot[\pagemark]{\pagemark}
\chead{}
\cfoot[]{}
\ohead{}


\newcounter{loopcntr}

\begin{document}
\loop\unless\ifnum\value{loopcntr}=500
\mbox{}
\newpage
\stepcounter{loopcntr}% Advance the counter
\repeat

\end{document}

pgffor以下是带有和包的变体forloop

\documentclass[pagenumber=footright, DIV=20, fontsize=16]{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\pagestyle{scrheadings}
\ihead{}
\ofoot[\pagemark]{\pagemark}
\chead{}
\cfoot[]{}
\ohead{}

\usepackage{pgffor}
\usepackage{forloop}

\newcounter{loopcntr}

\begin{document}

\foreach \x in {1,...,500} {%
\mbox{}
\newpage
}

\forloop{loopcntr}{1}{\value{loopcntr} < 501}{%
\mbox{}
\newpage
}


\end{document}

答案2

\documentclass[pagenumber=footright, DIV=20, fontsize=16]{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\pagestyle{scrheadings}
\ihead{}
\ofoot[\pagemark]{\pagemark}
\chead{}
\cfoot[]{}
\ohead{}



\begin{document}


\def\x{\ifnum\value{page}<501\mbox{}\clearpage\expandafter\x\fi}
\x

\end{document}

答案3

带包的变体multido(50 字节):

\documentclass[DIV=20, fontsize=16]{scrartcl}
\usepackage{lmodern}
\usepackage[automark]{scrlayer-scrpage}
\pagestyle{scrheadings}
\cfoot{}
\ofoot[\pagemark]{\pagemark}

\usepackage{multido}

\begin{document}

\multido{}{500}{\null\newpage}

\end{document}

答案4

以下是我的做法。它与大卫·卡莱尔的回答但是在某种程度上,这使得递归对我来说稍微清晰一些(试图记住如何\expandafter工作总是让我头疼!)。

\begin{document}

\def\x{\ifnum \count0>500
    \let\next\relax
  \else
    \null\clearpage
    \let\next\x
  \fi
  \next}
\x

\end{document}

此外,Knuth 明确保证这是尾递归的(尽管我也不怀疑它\expandafter是尾递归的)。

相关内容