是否可以编写一个循环遍历文档主体的类文件?

是否可以编写一个循环遍历文档主体的类文件?

我想要实现的是 repeat.cls 这样我就可以编写一个 .tex 文件

\documentclass{repeat}
\begin{document}
foobar
\end{document}

然后文档将包含“foobar”一定次数。

这可能吗?我尝试将\loop\foreach\AtBeginDocument和结合起来\AtEndDocument,但就我现在所知,这种方法行不通,因为 TeX 永远不会真正“看到” \end{document}

答案1

以下是概念验证。不要在家里做。

repeat.cls

\ProvidesClass{repeat}
\def\repetitions{5} % default
\DeclareOption*{\edef\repetitions{\CurrentOption}}
\ProcessOptions\relax
\LoadClass{article}

\RequirePackage{environ,xparse}
\let\latexdocument\document
\let\endlatexdocument\enddocument

\ExplSyntaxOn
\RenewEnviron{document}{
  \tl_gset_eq:NN \g_tmpa_tl \BODY
  \latexdocument
  \prg_replicate:nn { \repetitions } { \g_tmpa_tl \par }
  \endlatexdocument
}
\ExplSyntaxOff

测试.tex

\documentclass[20]{repeat}
\begin{document}
foobar
\end{document}

输出

在此处输入图片描述

相关内容