将单个命令包装为环境

将单个命令包装为环境

我正在尝试定义一个note环境,目前它只是一个\marginpar这样的函数包装器:

\newenvironment{note}{\marginpar}{}

\begin{note}
Important Notes
\end{note}

只会放在页边空白处,其余(重要注释)作为普通段落。

我也试过

\newenvironment{note}{\marginpar\\{}{\\}}

这是行不通的。

正确的做法是什么?

答案1

您可以使用environ打包并执行

\NewEnviron{note}{\marginpar{\BODY}}

\newenvironment{note}{\marginpar\\{}{\\}}

无法工作!这遗漏了 的第三个参数\newenvironment。在第二个参数中,您将\\作为一个参数输入到\marginpar( \marginpar\\),然后输入一个空组 ( {}),然后\\输入另一个组 ( {\\})。在我看来,您好像试图将\marginpar{作为一个第二个参数添加到\newenvironment}作为第三个参数。(有一些技巧可以将不平衡的括号偷偷放入宏的参数中,但在这种情况下这无济于事……)

相关内容