\newenvironment{nameOfEnvironment}[1][]%
有人可以解释空括号吗?
答案 0 :(得分:0)
您应该考虑阅读Is there a comprehensive and complete LaTeX reference?,在那里您可以找到有关各种LaTeX2e来源的信息。
从技术上讲,\newenvironment{<cmd>}[<num>][<default>]{<beg-def>}{<end-def>}
使用\newcommand
作为基础,因此了解后者将有助于您了解前者。
根据您的具体情况,LaTeX2e for authors user guide提及以下\newcommand
:
......命令:
\newcommand{<cmd>}[<num>][<default>]{<definition>}
将
<cmd>
定义为带有<num>
个参数的命令,第一个参数是 可选,默认值为<default>
。请注意,只能有一个可选参数,但与以前一样,可以有 最多有九个参数。
所以,
\newenvironment{nameOfEnvironment}[1][]%
{<beg-def>}
{<end-def>}
定义了一个带有单个参数的环境nameOfEnvironment
(作为[1]
的结果)。这个单个参数是一个可选参数(作为第二个[]
的结果),如果未指定,则具有空默认值。
您可以将其用作
\begin{nameOfEnvironment}
<stuff>
\end{nameOfEnvironment}
或
\begin{nameOfEnvironment}[something]
<stuff>
\end{nameOfEnvironment}
在前一种情况下,可选参数#1
为空,而第二个参数的可选参数值为something
。
以下说明来自LaTeX: Structured documents for TeX (unofficial LaTeX reference manual):
13.5
\newenvironment
&amp;\renewenvironment
提要:
\newenvironment[*]{env}[nargs][default]{begdef}{enddef} \renewenvironment[*]{env}[nargs]{begdef}{enddef}
这些命令定义或重新定义环境
env
,即\begin{env} ... \end{env}
。
*
*
- 这些命令的形式需要参数(而不是内容 环境)不包含多段文字。
env
环境的名称。对于\newenvironment
,env
一定不能 现有环境,必须未定义命令\env
。对于\renewenvironment
,env
必须是现有环境的名称。
nargs
1到9之间的整数,表示新定义的参数个数 环境。默认值是无参数。
default
如果指定了此参数,则第一个参数是可选的,default表示该参数的默认值。
begdef
每次出现\begin{env}
时文本都会扩展;#n
中begdef
形式的结构被n
参数的文本替换。
enddef
每次出现\end{env}
时都会扩展文本。它可能不包含任何内容 参数参数。