我不確定是否有更好的術語,但是如何在環境中(最好是在純 TeX 中)創建“子命令”?
一個例子是 itemize 環境,其中 \item 是「子命令」:
\begin{itemize}
\item Enter item here
\item etc.
\end{itemize}
舉個例子,我怎麼能讓輸入\subcmd Some text here
(或 \subcmd <anything>)使此處的 Some 文字(或 <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