\newenvironment{name}[numarg][optarg_default]{begin_def}{end_def}
\newenvironment{name}[args]{begin code}{end code}
• numarg是此环境接受的参数数,从 1 到 9。如果省略,则环境不接受任何参数。
• optarg_default将第一个参数设置为可选并提供默认值,即,如果未提供可选参数值,则它是使用的值。
意思就是说,如果你在定义的时候给第一个参数输入了一个值,那么以后调用这个环境,就定死了,固定给你输出这个值,如果你没给默认值,那么你后续使用环境时花括号里面自己写一个值即可。定义了后面使用时可以少写一个花括号,没定义,灵活性高一点。
• begin_def是 LaTeX 代码在环境启动(打开)时执行,即当您编写\begin{name}时。在此代码中,您可以使用环境接受的参数 — 请注意,可选参数是 #1,其余参数是使用 #2 到#numarg来访问。 这部分是定义新环境的主要部分。
• end_def是 LaTeX 代码在环境结束(关闭)时执行的;即,当你编写\end{name}。你不能使用此代码部分中的任何参数。
下面是官方给的具体实例(无参数,即比较简单的环境定义形式):