環境中的「子命令」

環境中的「子命令」

我不確定是否有更好的術語,但是如何在環境中(最好是在純 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

相關內容