在新页面上的两个命令之间重复代码

在新页面上的两个命令之间重复代码

我有一个相当复杂的代码,需要重复几行(由命令组成,为简化起见,这里在 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}

相关内容