我不确定是否有更好的术语来表达这一点,但是如何在环境中创建“子命令”(最好是在纯 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