DeclareDocumentCommand
我从包中知道xparse
。我想知道是否有环境版本?我还可以想象一个基于以下内容的技巧:
- 使用以下方式声明环境
DeclareDocumentEnvironment
- 然后重新定义环境的“开始”部分
DeclareExpandableDocumentCommand
它安全吗?
编辑1这样做的目的是:我有一个宏\content
需要完全展开(在 中\edef
)。不幸的是,这个宏的替换文本包含多个命令和环境。例如
\newcommand{\content}{blabla \textbf{text} blabla \othercommand[3]{text} \begin{tabular} AA&BB\\CC&DD \end{tabular} blabla ...}
我只需要提取 中包含的每个命令和环境的参数\content
。为此,我重新定义了它们,例如
\def\textbf#1{<bold>#1</bold>}
对于带有可选参数的命令,我用 重新定义它们DeclareDocumentCommand
。但对于环境,我不知道如何进行。