% Created by Fred L. Drake, Jr. <fdrake@acm.org>, as part of the
% Python Documentation Project.
%
% Define some simple markup for the LaTeX command documentation:

\ProvidesPackage{ltxmarkup}
\RequirePackage{python}      % fulllineitems environment

% These two macros are used in constructing the last parameter to the
% envdesc and macrodesc environments.

\newcommand{\py@ltx@optparam}[1]{{[}\var{#1}{]}}
\newcommand{\py@ltx@param}[1]{\{\var{#1}\}}

\newenvironment{envdesc}[2]{
  \begin{fulllineitems}
    \item[\code{\e begin\{{\bfseries #1}\}{%
      \let\op=\py@ltx@optparam%
      \let\p=\py@ltx@param%
      \let\unspecified=\py@unspecified%
      \let\moreargs=\py@moreargs%
         #2}}]
    \item[\code{\e end\{{\bfseries #1}\}}]
    \index{#1 environment@\idxcode{#1} environment}
    \index{environments!#1@\idxcode{#1}}
}{\end{fulllineitems}}

\newenvironment{macrodesc}[2]{
  \begin{fulllineitems}
    \item[\code{{\e\bfseries#1}{%
      \let\op=\py@ltx@optparam%
      \let\p=\py@ltx@param%
      \let\unspecified=\py@unspecified%
      \let\moreargs=\py@moreargs%
      #2}}]
    \index{#1@\idxcode{\e #1}}
}{\end{fulllineitems}}

\newcommand{\env}[1]{\code{#1}}
\newcommand{\macro}[1]{\code{\e#1}}
