############################################################
Definitions
############################################################

\newcommand: Define a new command.
\newenvironment: Define a new environment.
\newtheorem: Define a new theorem-like environment.
\newfont: Define a new font name.

############################################################
       \newcommand ::newcommand::renewcommand::
############################################################
\newcommand{cmd}[args]{definition}
\newcommand{cmd}[args][default]{definition}
\renewcommand{cmd}[args]{definition}
\renewcommand{cmd}[args][default]{definition}
These commands define (or redefine) a command.
       cmd     A command name beginning with a \. For
               \newcommand it must not be already defined and
               must not begin with \end; for \renewcommand it
               must already be defined.
       args    An integer from 1 to 9 denoting the number of
               arguments of the command being defined. The
               default is for the command to have no arguments.
       def     If this optional parameter is present, it means
               that the command's first argument is optional.
               The default value of the optional argument is def.
       definition      The text to be substituted for every
               occurrence of cmd; a parameter of the form #n in
               cmd is replaced by the text of the nth argument
               when this substitution takes place.
############################################################
       \newenvironment ::newenvironment::renewenvironment::
############################################################
\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.
############################################################
       \newtheorem ::newtheorem::
############################################################
\newtheorem{env_name}{caption}[within]
\newtheorem{env_name}[numbered_like]{caption}
This command defines a theorem-like environment.
       env_name        The name of the environment to be defined.
                       A string of letters. It must not be the
                       name of an existing environment or counter.
       caption The text printed at the beginning of the
                       environment, right before the number.
                       This may simply say "Theorem", for example.
       within          The name of an already defined counter,
                       usually of a sectional unit. Provides a
                       means of resetting the new theorem counter
                       within the sectional unit.
       numbered_like   The name of an already defined theorem-like
                       environment.
The \newtheorem command may have at most one optional argument.
############################################################
       \newfont ::newfont::
############################################################
\newfont{cmd}{font_name}
Defines the command name cmd, which must not be currently
defined, to be a declaration that selects the font named
font_name to be the current font.