我需要一份有 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
是尾递归的)。