\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{desclist}
         [2002/01/09 v1.00 Desclist Package (NCC)]
%
% The package implement the desclist environment
%
%    \begin{desclist}{PREAMBLE}{POSTAMBLE}[PROTOTYPE] ... \end{desclist}
%
% Parameters PREAMBLE and POSTAMBLE are added to marker of item before
% and after its text. Additional parameter sets left margin of list to
% the width of marker PROTOTYPE.
%
% The description environment is redefined as follows
%
%    \begin{description}[PROTOTYPE] ... \end{description}
%
% and is now equivalent to
%
%    \begin{desclist}{\bf}{}[PROTOTYPE] ... \end{desclist}

\newenvironment*{desclist}[2]{%
  \@ifnextchar[{\NCC@dlist{#1}{#2}}{\NCC@dlist{#1}{#2}[]}%
}{%
  \endlist
}
\def\NCC@dlist#1#2[#3]{%
  \list{}{%
    \def\@tempa{#3}\ifx\@tempa\@empty
      \labelwidth\z@ \itemindent-\leftmargin
    \else
      \settowidth\leftmargin{#1#3#2}%
      \advance\leftmargin\labelsep
      \labelwidth=\leftmargin
      \itemindent\z@
    \fi
    \def\makelabel##1{\hspace\labelsep #1##1#2\hfil}%
  }%
}

\def\description{\desclist{\normalfont\bfseries}{}} 
\let\enddescription=\enddesclist
\endinput
