\def\filedate{20.09.1990}
\def\docdate{9.08.1990}
\def\fileversion{V 2.0a}
\iffalse    This is a METACOMMENT
%    This is EXPDLIST.STY
%    To make the DVI-file of this documentation use EXPDLISE.TEX
%
%           Everything up to the next `\ fi' (without a blank) will
%           be ignored.  This is necessary because `%' may no longer
%           be a comment mark when this file is read in.
%
% Style-option `expdlist' to use with LaTeX v2.09
% Copyright (C) 1990 Rainer Huelse and Wolfgang Kaspar,
%                    all rights reserved.
%
% Copying of this file is authorized only if either
% (1) you make absolutely no changes to your copy, including name, or
% (2) if you do make changes, you name it something other than
%      expdlist.sty.
% This restriction helps ensure that all styles developed at Muenster
% are identical.
%
% Error reports please to: Rainer Huelse
%                          Wolfgang Kaspar
%                          Computing Center
%                          University of Muenster
%                          Einsteinstr. 60
%                          D-4400 Muenster
%                          Federal Republic of Germany
%                 Bitnet:  <URZ86@DMSWWU1A>
%                 Phone:   +49 251/ 83-24 73
%
%    There is also a german documentation named EXPDLIST.TEX.
\fi
% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
% \DoNotIndex{\@flushglue,\@gobble,\@input}
% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle}
% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa}
% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue}
% \DoNotIndex{\@thanks,\@thefnmark,\@topnum}
% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin}
% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces}
% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup}
% \DoNotIndex{\cal,\csname,\def,\documentstyle,\dospecials,\edef}
% \DoNotIndex{\egroup}
% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist}
% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global}
% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocomlumn}
% \DoNotIndex{\ifcase}
% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item}
% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower}
% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing}
% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc}
% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut}
% \DoNotIndex{\strutbox}
% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt}
% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@}
% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim}
% \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary}
% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle}
% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode}
% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip}
% \DoNotIndex{\nopagebreak}
% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle}
% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb}
% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar}
% \DoNotIndex{\[,\{,\},\]}
% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode}
% \DoNotIndex{\baselineskip,\begin,\tw@}
%
% \def\ttbackslash{{\tt\symbol{92}}}        % typewriter \
% \def\ttlbrace{{\tt\symbol{123}}}          % typewriter {
% \def\ttrbrace{{\tt\symbol{125}}}          % typewriter }
%
% \setcounter{secnumdepth}{0}
% \def\thefootnote{\fnsymbol{footnote}}
% \title{\bf {\tt EXPDLIST}\thanks{This file has version number
%                            \fileversion, last revised \filedate,
%                            documentation dated \docdate.
%                            The documentation has been produced with
%                            Frank Mittelbach's {\tt DOC.STY} (v1.5j).
%                            There is also a german documentation named
%                            {\tt EXPDLIST.TEX}.}
%        -- an Expanded {\tt description} Environment}
% \author{Rainer H\"ulse and Wolfgang Kaspar\\[2mm]
%         University of M\"unster (FRG)\\
%         Computing Center\\[2mm]
%          Bitnet:  $\langle$\tt URZ86@DMSWWU1A$\rangle$}
% \date{Printed \today}
%
% \maketitle
%
% \begin{abstract}
% \noindent
% The expanded {\tt description} environment will not replace the
% \LaTeX-{\tt description} environment, but on request you will have some
% additional features. It supports an easy possibility of changing the
% left margin. Also there is with \verb+\listpart+
% a new command available which is valid in all {\tt list} environments.
% It gives the possibility to break a list for a comment without touching
% any counters.
%
% The required {\tt STY}-file is {\tt EXPDLIST} and
% will be enclosed in the \LaTeX-file as following:
% \begin{quote}
% \verb+\documentstyle[...,expdlist,...]{+{\it docstyle\/}\verb+}+
% \end{quote}
% \end{abstract}
%
% \section{The Expanded {\tt description} Environment}
% The expanded {\tt description} environment supports an easy
% possibility of changing the left margin in a {\tt desciption list}.
% The text of the item begins at the left margin, either behind the label
% or in the following line.
% Another declaration eliminates the vertical space which is set by the
% \LaTeX-{\tt STY}s.
% As well you can affect the appearance of the label.
% The syntax of the expanded {\tt description} environment is:
% \begin{quote}
% \verb+\begin{description}[+{\it declarations\/}{\tt ]}\\
% $\vdots$\\
% \verb+\end{description}+
% \end{quote}
% Without the optional {\it declarations\/} this environment is equal to
% the original \LaTeX-{\tt description} environment.
%
% \newpage
% \noindent
% The following declarations fix the left margin of the item:
% \begin{description}[\setlabelstyle{\tt} \setleftmargin{3cm} \breaklabel
%                     \compact]
% \item[\ttbackslash setleftmargin\ttlbrace {\it size\/}\ttrbrace]
%                         gives the amount of horizontal
%                         space to be reserved
%                         for the left margin of the item,
%                         and defaults to the value of the original
%                         \LaTeX-{\tt description} list if not entered.
% \item[\ttbackslash setlabelphantom\ttlbrace {\it text\/}\ttrbrace]
%                         calculates the left margin by the width of
%                         {\it text\/} and by the value of \verb+\labelsep+.
%                         The setting of \verb+\setlabelstyle+ is taken
%                         into account.
% \listpart{If you set {\tt \ttbackslash setlabelphantom}
%                         as well as {\tt \ttbackslash setleftmargin}, the
%                         horizontal space with the width defined by
%                         {\tt \ttbackslash setlabelphantom} will be
%                         reserved.}
% \listpart{There are some other declarations affecting the layout of the
%           expanded {\tt description} list:}
% \item[\ttbackslash breaklabel]
%                         causes the definition description to start on
%                         the line following the label if the width of
%                         the label exceeds the width of the left
%                         margin. The default is to
%                         begin the description
%                         on the same line after the label.
% \item[\ttbackslash compact]
%                         indicates that items should not be
%                         separated from each other by vertical white
%                         space.
% \item[\ttbackslash setlabelstyle\ttlbrace {\it typestyle\/}\ttrbrace]
%                         identifies the style to be
%                         used for labels, e.\,g. \verb+\bf+,
%                         \verb+\it+, \verb+\sl+, or \verb+\sf+ as well as
%                         \verb+\small+, \verb+\large+, etc.
%                         The default is \verb+\bf+ and \verb+\normalsize+.
% \end{description}
%
% \noindent
% The following examples demonstrate some features of the expanded
% \linebreak {\tt description} environment.\\[4ex]
% The first example shows it without optional parameters being equal
% to the original \LaTeX\ environment.
% The command used is:\\[-4ex]
% \begin{center}
% \verb+\begin{description}+
% \end{center}
% \begin{quote}
% \begin{description}
% \item[First label] The first label is a normalsized label.
% \item[Here is a very long label] This is the text corresponding to the
%                                  very long label.
% \item[3rd] The 3rd label is a very short one.
% \item This item has no label and was produced by
%                                  \verb+\item+ {\it text\/}.
% \end{description}
% \end{quote}
%
% \vspace{4ex}
% \noindent
% In the second example optional parameters are set with the following
% command:\\[-4ex]
% \begin{center}
% \verb+\begin{description}[\breaklabel\setleftmargin{80pt}+\\
% \verb+\setlabelstyle{\it}]+
% \end{center}
% \begin{quote}
% \begin{description}[\breaklabel\setleftmargin{80pt}\setlabelstyle{\it}]
% \item[First label] The first label is a normalsized label.
% \item[Here is a very long label] This is the text corresponding to the
%                                  very long label.
% \item[3rd] The 3rd label is a very short one.
% \item This item has no label and was produced
%                                  by \verb+\item+ {\it text\/}.
% \end{description}
% \end{quote}
%
% \vspace{4ex}
% \noindent
% The last example shows the command with other optional parameters
% and their effects:\\[-4ex]
% \begin{center}
% \verb+\begin{description}[\compact\setlabelphantom{First label}]+
% \end{center}
% \begin{quote}
% \begin{description}[\compact\setlabelphantom{First label}]
% \item[First label] The first label is a normalsized label.
% \item[Here is a very long label] This is the text corresponding to the
%                                  very long label.
% \item[3rd] The 3rd label is a very short one.
% \item This item has no label and was produced by
%                                  \verb+\item+ {\it text\/}.
% \end{description}
% \end{quote}
%
% \section{The {\tt \char92 listpart} command}
% In the {\tt EXPDLIST} style there are two new \LaTeX\ commands:
% \begin{description}[\setlabelstyle{\tt} \setleftmargin{3cm} \breaklabel
%                     \compact]
% \item[\ttbackslash listpart\ttlbrace {\it text\/}\ttrbrace]
%                         identifies a comment or explanation that
%                         applies to a part of a list.
%                         It can be placed anywhere
%                         within any {\tt list} environment,
%                         immediately preceeding
%                         those items to which it applies.
%                         The width of {\it text\/} depends on the width
%                         of the preceeding list. Therefore you are able
%                         to continue with the next item without
%                         closing and re-opening the list. The numbering
%                         of the {\tt enumerate} environment is preserved.
% \item[\ttbackslash listpartsep]
%                         is the vertical space between the item and
%                         the comment produced by {\tt \ttbackslash
%                         listpart}. It defaults to {\tt 1ex}.
% \end{description}
% The following example demonstrates that you can use \verb+\listpart+
% also in multi-clause {\tt list} environments:
% \begin{quote}
% \begin{itemize}
% \item You can use \verb+\listpart+ in multi-clause environments.
% \listpart{This is a {\tt listpart} which puts in some text to
%           interrupt the list.}
% \item You can use \verb+\listpart+ in
% \begin{enumerate}
% \item{{\tt itemize}-lists}
% \item{{\tt enumerate}-lists}
% \listpart{This is a {\tt listpart} which puts in some text to
%           interrupt the list.}
% \item{{\tt description}-lists:}
% \begin{description}[\setleftmargin{60pt}]
% \item[1st Label] Description A
% \listpart{This is a {\tt listpart} which puts in some text to
%           interrupt the list.}
% \item[2nd Label] Description B
% \end{description}
% \end{enumerate}
% \end{itemize}
% \end{quote}
%
% \newpage
% \changes{V 1.0}{02.03.90}{First published Version}
% \changes{V 2.0}{17.05.90}{Documentation with the {\tt DOC.STY}}
% \section{The description of the {\tt EXPDLIST.STY}-file}
% \subsection{The beginning}
% Here is a description of the macros used in the {\tt EXPDLIST.STY}.
% We started by defining the current version and date of this file and
% documentation:
%    \begin{macrocode}
\typeout{Document Substyle `EXPDLIST'.
         Released \filedate \space (\fileversion)}
\typeout{English Documentation \space \docdate}
%    \end{macrocode}
% \subsection{The optional arguments}
% \begin{macro}{\compact}
% The first implemented macro is \verb+\compact+. Normally two items
% are separated by a blank line. This blank line is defined in \LaTeX\
% by \verb+\itemsep+ {\tt +} \verb+\parsep+. To remove this blank line
% we defined
%    \begin{macrocode}
\def\compact%
   {\setlength{\itemsep}{-\parsep}}
%    \end{macrocode}
% \end{macro}
% \par
% \begin{macro}{\setleftmargin}
% \begin{macro}{\setlabelsize}
% To define \verb+\setleftmargin+ we assigned the new width
% to \verb+\leftmargim+:
%    \begin{macrocode}
\def\setleftmargin%
   #1%
   {\setlength{\leftmargin}{#1}}
%    \end{macrocode}
% The {\tt \ttbackslash setleftmargin} command was named {\tt
% \ttbackslash setlabelsize} in older versions. To be compatible with
% these versions the old command is also defined:
%    \begin{macrocode}
\let\setlabelsize = \setleftmargin
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \changes{V 2.0}{17.05.90}{Change of {\tt \ttbackslash setleftmargin}}
% \par
% \begin{macro}{\setlabelphantom}
% The \verb+\setlabelphantom+ command reserves the width of the argument
% as horizontal space for the label. We have to put a \verb+\hfil+ into
% \verb+\@tempboxa+ to avoid an {\tt underful hbox} message because the
% box is wider than the argument by the value of \verb+\labelsep+.
% The width is stored in  \verb+\setleftmargin+.
%    \begin{macrocode}
\def\setlabelphantom%
   #1%
   {\def\set@labelphantom%
     {\setbox\@tempboxa=\hbox spread \labelsep {\@labelstyle #1\hfil}%
      \setleftmargin{\wd\@tempboxa}%
     }%
   }
\def\set@labelphantom{}
%    \end{macrocode}
% \end{macro}
% \changes{V 1.2}{09.05.90}{Change of {\tt \ttbackslash hfil}}
% \par
% \begin{macro}{\setlabelstyle}
% The \verb+\setlabelstyle+ identifies the style to be used for labels.
% In \verb+\@labelstyle+ the default \verb+\bf+ is stored.
%    \begin{macrocode}
\def\@labelstyle%
   {\bf}
\def\setlabelstyle%
   #1%
   {\def\@labelstyle{#1}}
%    \end{macrocode}
% \end{macro}
% \par
% \begin{macro}{\breaklabel}
% To let work \verb+\breaklabel+ correctly as described before we need
% a rule with no dimension in the \verb+\item+ definition of \LaTeX.
% This rule is defined here:
%    \begin{macrocode}
\def\breaklabel%
   {\def\@breaklabel%
       {\rule{0mm}{0mm}%
        \\%
       }%
   }%
\def\@breaklabel%
   {}
%    \end{macrocode}
% \changes{V 1.1}{26.03.90}{Change of {\tt \ttbackslash breaklabel}}
% The changed \verb+\item+ definition follows a little later.
% \end{macro}
% \subsection{The main macro}
% \begin{macro}{\description}
% \begin{macro}{\enddescription}
% Now we can begin with the new \verb+\description+ definition (which is
% in \LaTeX\ the same as \verb+\begin{description}+). First we must look
% if there is an optional argument. If there is an optional
% argument the macro \verb+\@expdlist+ (our new macro) will be
% executed. Otherwise the original \LaTeX-macro will be executed which
% we had to rename to \verb+\@orgdlist+:
%    \begin{macrocode}
\def\description%
   {\@ifnextchar[%
       {\@expdlist}%
       {\@orgdlist}%
   }
\let\enddescription\endlist
%    \end{macrocode}
% \end{macro} ^^A of \enddescription
% \end{macro} ^^A of \description
% \par
% The following three lines are taken from the original
% \LaTeX-{\tt STY}-files. We only had to rename \verb+\description+ to
% \verb+\@orgdlist+. It will be executed if no optional argument is set:
\iffalse    This is a METACOMMENT
%    *****************************************************************
%    *                                                               *
%    *     The following lines are original LaTeX (ARTICLE.STY).     *
%    *     \@orgdlist (Original description List) = \description     *
%    *                                                               *
%    *****************************************************************
\fi
%    \begin{macrocode}
\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\@orgdlist{\list{}{\labelwidth\z@ \itemindent-\leftmargin
       \let\makelabel\descriptionlabel}}
%    \end{macrocode}
% \par
% If you have set any optional argument, the \verb+\@expdlist+
% definition will be executed.
%    \begin{macrocode}
\def\@expdlistlabel#1%
    {\@labelstyle
     #1%
     \hfil%
    }
\def\@expdlist[#1]%
    {\list{}%
      {\def\@breaklabel{}%
       \def\set@labelphantom{}%
       \def\@labelstyle{\bf}%
       #1%
       \set@labelphantom%
       \setlength{\labelwidth}{\leftmargin}%
       \addtolength{\labelwidth}{-\labelsep}%
       \let\makelabel\@expdlistlabel%
      }%
    }
%    \end{macrocode}
% \changes{V 1.1}{26.03.90}{Change of {\tt \ttbackslash breaklabel}}
% \changes{V 1.2}{09.05.90}{Change of {\tt \ttbackslash hfil}}
% \subsection{{\tt \ttbackslash listpart} and {\tt \ttbackslash
%                  listpartsep}}
% \begin{macro}{\listpartsep}
% Another feature of the {\tt EXPDLIST.STY} is \verb+\listpart+. To
% adjust the vertical space between the item and the comment produced
% by \verb+\listpart+ we had to define a new measure named
% \verb+\listpartsep+.
%    \begin{macrocode}
\newlength{\listpartsep}
\listpartsep = 1ex
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\listpart}
% Now we could define \verb+\listpart+ as a long definition, because
% its value can go over more than one paragraph. It is an item without
% label. So the text begins at the point where the label would begin.
% The width of the text is \verb+\linewidth+ {\tt +} \verb+\rightmargin+
% {\tt +} \verb+\leftmargin+. This value is registered in
% \verb+\@tempskipa+:
%    \begin{macrocode}
\long\def\listpart%
   #1%
   {\vspace{\listpartsep}%
    \item[]\hspace*{-\leftmargin}%
    \@tempskipa=\linewidth%
    \addtolength{\@tempskipa}{\rightmargin}%
    \addtolength{\@tempskipa}{\leftmargin}%
    \parbox{\@tempskipa}{#1}%
    \vspace{\listpartsep}%
   }
%    \end{macrocode}
% \end{macro}
\iffalse    This is a METACOMMENT
%    *****************************************************************
%    *                                                               *
%    *                Original definition of \item.                  *
%    *                This is an excerpt from LATEX.TEX.             *
%    *                The marked lines are changed.                  *
%    *                                                               *
%    *****************************************************************
\fi
% \subsection{The redefinition of {\tt \ttbackslash \@item}}
% \begin{macro}{\@item}
% To let work \verb+\breaklabel+ correctly we had to redefine the
% original \LaTeX\ de\-fi\-ni\-tion of \verb+\@item+ in a few lines
% (see {\tt RUM Change} marks). We had to
% define \verb+\set@break+ globally, because it is set within a
% \verb+\hbox+, but used outside.
% Depending on the width of the label text \verb+\set@break+ is set to
% \verb+\@breaklabel+ or to nothing.
% At the end of the \verb+\@item+ macro {\tt \ttbackslash
% set\@break} is called after the label is set.
% \changes{V 1.1}{26.03.90}{Change of {\tt \ttbackslash breaklabel}}
%    \begin{macrocode}
\def\@item[#1]{\if@noparitem \@donoparitem
  \else \if@inlabel \indent \par \fi
         \ifhmode \unskip\unskip \par \fi
         \if@newlist \if@nobreak \@nbitem \else
                        \addpenalty\@beginparpenalty
                        \addvspace\@topsep \addvspace{-\parskip}\fi
           \else \addpenalty\@itempenalty \addvspace\itemsep
          \fi
    \global\@inlabeltrue
\fi
\everypar{\global\@minipagefalse\global\@newlistfalse
          \if@inlabel\global\@inlabelfalse \hskip -\parindent%
             \box\@labels
             \penalty\z@ \fi
          \everypar{}}\global\@nobreakfalse
\if@noitemarg \@noitemargfalse \if@nmbrlist%
\refstepcounter{\@listctr}\fi \fi
\setbox\@tempboxa\hbox{\makelabel{#1}}%
\global\setbox\@labels
 \hbox{\unhbox\@labels \hskip \itemindent
       \hskip -\labelwidth \hskip -\labelsep
       \ifdim \wd\@tempboxa >\labelwidth
                \box\@tempboxa%
                \gdef\set@break{\@breaklabel}     % RUM Change 2.3.90
          \else \hbox to\labelwidth {\makelabel{#1}}%
                \gdef\set@break{}\fi              % RUM Change 2.3.90
       \hskip \labelsep}\set@break \ignorespaces} %         "
%    \end{macrocode}
% \end{macro}
%
% \newpage
% \section{History of Changes}
% \begin{description}[\compact\setlabelphantom{V 8.8 (88.88.88)}]
% \item[V 1.0 (02.03.90)] First published Version (H\"ulse and Kaspar)
% \item[V 1.1 (26.03.90)] We had to change {\tt \ttbackslash break} to
%                           {\tt \ttbackslash breaklabel} and {\tt
%                           \ttbackslash @break} to {\tt \ttbackslash
%                           @breaklabel} because {\tt \ttbackslash
%                           break} is a \TeX-primitive. This could cause
%                           difficulties with linebreaking. (H\"ulse)
% \item[V 1.2 (09.05.90)] To be more flexible with the label, we changed
%                           {\tt \ttbackslash hfill} to {\tt
%                           \ttbackslash hfil} in {\tt \ttbackslash
%                           @expdlistlabel} (H\"ulse)
% \item[V 2.0 (31.05.90)] Documentation with the {\tt DOC.STY} from Frank
%                           Mittelbach, University of Mainz,
%                           FRG.\newline
%                           {\tt \ttbackslash
%                           setlabelsize} will be renamed to
%                           {\tt \ttbackslash setleftmargin}
%                           (H\"ulse)
% \end{description}
%
% \begin{thebibliography}{1}
%    \bibitem{bk:knuth}  {\sc D. E. Knuth},
%       \newblock  The \TeX{}book (Computers \& Typesetting Volume A).
%       \newblock
%       Addison-Wesley, Reading, Massachusetts, 1986.
%    \bibitem{bk:lamport} {\sc L. Lamport},
%       \newblock
%       \LaTeX\ -- A Document Preparation System.
%       \newblock
%       Addison-Wesley, Reading, Massachusetts, 1986.
%    \bibitem{cd:lamport} {\sc L. Lamport},
%       \newblock
%       {\tt LATEX.TEX}, Version 2.09 of 13 June 89
%    \bibitem{cd:lamport} {\sc L. Lamport},
%       \newblock
%       {\tt ARTICLE.STY}, of 17 Dec 85, and other {\tt .STY}s
% \end{thebibliography}
%
% ^^A \input{expdlise.ind}
% ^^A \input{expdlise.gls}
