LaTeX:\ newenvironment只有一个可选的arg(没有强制性)

时间:2010-12-20 12:10:25

标签: class latex option newenvironment


我尝试在一个只接受可选参数的类中设置一个新环境,或者没有。

这将使用如下:

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

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

我尝试使用基本宏定义此环境。我宁愿不使用xparse包。

我找到了几个带有可选参数和强制参数的\ newenvironment示例。但我不需要强制性的论证!

有没有办法用\ newenvironment或\ def macros执行此操作?

1 个答案:

答案 0 :(得分:6)

没问题,只需用一个参数声明环境,并使其成为可选:

\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}