我有一个相当复杂的代码,需要重复几行(由命令组成,为简化起见,这里在 MWE 中只有几个词)。在 MWE 中打印与上面的斜体相同。要重复的行数因情况而异,因此命令应使用其他两个命令(此处\begin{document}
和\newpage
)作为指导参数。有人能帮我吗?非常感谢!
\documentclass{article}
\begin{document}
\LaTeX
Hi
Ciao
Bonjour
Hallo
Servus
\LaTeX
\newpage
\textit{
%Here should be a command to reapeat everything between \begin{document} and \newpage to be printed in italic
}
\end{document}
答案1
您可以使用NewEnviron
宏捕获内容\BODY
并重复使用。两个页面显示如下:
还有\NewDocumentEnvironment
来自 的xparse
,但目前标记为实验性的:
\NewDocumentEnvironment{MyRepeatingEnvironment}{+b}{%
#1
\newpage
\textit{#1}%
}{}%
这产生了“ \environment MyRepeatingEnvironment 的参数有一个额外的 } ”,但不知道具体原因。
代码:
\documentclass{article}
\usepackage{environ}
\NewEnviron{MyRepeatingEnvironment}{%
\BODY
\newpage
\textit{\BODY}%
}%
\begin{document}
\begin{MyRepeatingEnvironment}
\LaTeX
Hi
Ciao
Bonjour
Hallo
Servus
\LaTeX
\end{MyRepeatingEnvironment}
\end{document}