2


オプションの引数のみを取るか、または何も取らないクラス内に新しい環境を設定しようとしています。

これは次のように使用されます。

\begin{myEnv}          -->  "Label:"  

また

\begin{myEnv}[myLabel] -->  "Label: myLabel"

この環境を基本的なマクロで定義しようとしています。xparse パッケージは使用したくありません。

オプションの引数と必須の引数を組み合わせた \newenvironment の例をいくつか見つけました。しかし、必須の引数は必要ありません。

\newenvironment または \def マクロでこれを行う方法はありますか?

4

1 に答える 1

7

問題ありません。引数を 1 つ指定して環境を宣言し、それをオプションにします。

\documentclass{minimal}
\newenvironment*{myEnv}[1][]{%
  Label: #1%
  \par
  \ignorespaces
}{%
  \par
  end%
  \par
  \ignorespacesafterend
}
\begin{document}
\begin{myEnv}
  abc
\end{myEnv}
\begin{myEnv}[myLabel]
  abc
\end{myEnv}
\end{document}
于 2010-12-20T16:39:31.467 に答える