环境中的“子命令”

环境中的“子命令”

我不确定是否有更好的术语来表达这一点,但是如何在环境中创建“子命令”(最好是在纯 TeX 中)?

一个例子是 itemize 环境,其中 \item 是“子命令”:

\begin{itemize}
\item Enter item here
\item etc.
\end{itemize}

举个例子,我怎样才能让输入\subcmd Some text here(或 \subcmd <anything>)使此处的某些文本(或 <anything>)变成斜体?(只是一个例子)

答案1

如果你想定义一个在不同上下文中表现不同的宏,那么你可以使用 TeX 组,然后定义这个宏,然后使用它并最终关闭 TeX 组。例如:

\def\items #1{\begingroup
   \let\itemP=\item
   \def\item{\itemP{#1}}%
}
\def\enditems{\par\endgroup}


\items {$\bullet$}
\item First
\item second
\enditems

\items {--}
\item one
\item two
\enditems

\items {$\sim$}
\item A
\item B
\enditems

\item * Normal
\item * plain \TeX
\item * item

\bye

相关内容