\newenvironment
---------------
\newenvironment{nam}[args]{begdef}{enddef}
\newenvironment{nam}[args][default]{begdef}{enddef}
\renewenvironment{nam}[args]{begdef}{enddef}
These commands define or redefine an environment.
`nam'
The name of the environment. For `\newenvironment' there must be
no currently defined environment by that name, and the command
`\nam' must be undefined. For `\renewenvironment' the environment
must already be defined.
`args'
An integer from 1 to 9 denoting the number of arguments of the
newly-defined environment. The default is no arguments.
`default'
If this is specified, the first argument is optional, and `default'
gives the default value for that argument.
`begdef'
The text substituted for every occurrence of `\begin{nam}'; a
parameter of the form `#n' in `cmd' is replaced by the text of the
nth argument when this substitution takes place.
`enddef'
The text substituted for every occurrence of `\end{nam}'. It may
not contain any argument parameters.