如何将文本保存在变量中然后打印它?

如何将文本保存在变量中然后打印它?

我想创建一个命令:当给出一个参数时,它会将其保存在“某处”,而当没有给出参数时,它会打印所有已保存的参数。类似这样:

\example{text1}
\example{text2}
\example{text3}

(不输出)

\example

输出:text1,text2,text3

如果使用同一个命令无法实现这一点,则可能是有 2 个不同的命令。我猜这是可能的,因为有些模板在调用 \maketitle 时会打印“\author”的信息。

答案1

我不会将同一个命令用于两个不同的目的。

\documentclass{article}

%\usepackage{xparse} % uncomment for LaTeX prior to 2020-10-01

\ExplSyntaxOn
\seq_new:N \g_kuonb_example_seq

\NewDocumentCommand{\example}{m}
 {
  \seq_gput_right:Nn \g_kuonb_example_seq { #1 }
 }

\NewDocumentCommand{\printexample}{+O{,~}}
 {
  \seq_use:Nn \g_kuonb_example_seq { #1 }
 }
\ExplSyntaxOff

\example{text1}
\example{text2}
\example{text3}

\begin{document}

\printexample

\printexample[\par]

\end{document}

可选参数\printexample是任意两个项目之间的设置内容。

如果您提供有关预期工作的更多详细信息,则可以扩展此范围。

在此处输入图片描述

相关内容