summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/expdlist
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/expdlist
Initial commit
Diffstat (limited to 'macros/latex/contrib/expdlist')
-rw-r--r--macros/latex/contrib/expdlist/expdlisg.pdfbin0 -> 73972 bytes
-rw-r--r--macros/latex/contrib/expdlist/expdlist.dtx818
-rw-r--r--macros/latex/contrib/expdlist/expdlist.ins61
-rw-r--r--macros/latex/contrib/expdlist/expdlist.pdfbin0 -> 103808 bytes
-rw-r--r--macros/latex/contrib/expdlist/readme.txt87
5 files changed, 966 insertions, 0 deletions
diff --git a/macros/latex/contrib/expdlist/expdlisg.pdf b/macros/latex/contrib/expdlist/expdlisg.pdf
new file mode 100644
index 0000000000..b25a425dcd
--- /dev/null
+++ b/macros/latex/contrib/expdlist/expdlisg.pdf
Binary files differ
diff --git a/macros/latex/contrib/expdlist/expdlist.dtx b/macros/latex/contrib/expdlist/expdlist.dtx
new file mode 100644
index 0000000000..66adc9b8a2
--- /dev/null
+++ b/macros/latex/contrib/expdlist/expdlist.dtx
@@ -0,0 +1,818 @@
+\def\filename{EXPDLIST}
+\def\filedate{22.09.1999}
+\def\fileversion{V 2.4}
+\def\docdate {22.09.99}
+% \iffalse
+% !!! Bei Datumsaenderung: Auch "version", "date", "infdate" weiter
+% !!! unten aendern.
+% \fi
+%% \CheckSum{214}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+% \iffalse
+% !!! Bei Anschriftaenderung: Auch die Anschrift vor
+% !!! "\StopEventually{}" aendern
+% @stylefile{Ltall
+% shortpackagename = {expdlist},
+% longpackagename = {expdlist},
+% baseformats = {LaTeX2e $\langle$1997/12/01$\rangle$},
+% version = {2.4},
+% date = {22.09.1999},
+% author = {R. Huelse, W. Kaspar,
+% kaspar@uni-muenster.de,
+% Westf"alische Wilhelms-Universit"at M"unster,
+% Zentrum f"ur Informationsverarbeitung,
+% R"ontgenstra"se 9-13,
+% 48149 M"unster,
+% 02\,51/83-3\,16\,73},
+
+% abstract = {The expanded \texttt{description} environment
+% will not replace the \LaTeX-\texttt{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
+% \texttt{list} environments. It gives the
+% possibility to break a list for a comment
+% without touching any counters.},
+% support = {yes},
+% infauthor = {\author},
+% infdate = {22.09.1999},
+% comments = {},
+% requirements = {},
+% incompatibilities = {}}
+% \fi
+%
+% \title{\bfseries \texttt{EXPDLIST}\thanks{This file has version number
+% \fileversion, last revised \filedate.
+% The documentation has been produced with
+% Frank Mittelbach's \texttt{DOC.STY} (v1.7k).
+% There is also a german documentation named
+% \texttt{EXPDLISG.DRV}.}
+% -- an Expanded \texttt{description} Environment}
+% \author{Rainer H\"ulse and Wolfgang Kaspar\\[2mm]
+% University of M\"unster (Germany)\\
+% Computing Center\\[2mm]
+% Internet: $\langle$\texttt{kaspar@uni-muenster.de}$\rangle$}
+% \date{\docdate}
+%
+% \maketitle
+%
+% \def\ttbackslash{\texttt{\symbol{92}}} ^^A typewriter \
+% \def\ttlbrace{\texttt{\symbol{123}}} ^^A typewriter {
+% \def\ttrbrace{\texttt{\symbol{125}}} ^^A typewriter }
+%
+% \begin{abstract}
+% \noindent
+% The expanded \texttt{description} environment will not replace the
+% \LaTeX-\texttt{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 \texttt{list} environments.
+% It gives the possibility to break a list for a comment without touching
+% any counters.
+%
+% The required \texttt{STY}-file is \texttt{EXPDLIST} and
+% will be enclosed in the \LaTeX-file as following:
+% \begin{quote}
+% \verb+\usepackage{expdlist}+
+% \end{quote}
+% \end{abstract}
+%
+% \section{The Expanded \texttt{description} Environment}
+% The expanded \texttt{description} environment supports an easy
+% possibility of changing the left margin in a \texttt{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-\texttt{STY}s.
+% As well you can affect the appearance of the label.
+% The syntax of the expanded \texttt{description} environment is:
+% \begin{quote}
+% \verb+\begin{description}[+\textit{declarations}\texttt{]}\\
+% $\vdots$\\
+% \verb+\end{description}+
+% \end{quote}
+% Without the optional \textit{declarations} this environment is equal to
+% the original \LaTeX-\texttt{description} environment.
+%
+% \newpage
+% \noindent
+% The following declarations fix the left margin of the item:
+% \begin{description}[\setlabelstyle{\ttfamily} \setleftmargin{3cm} \breaklabel
+% \compact]
+% \item[\ttbackslash setleftmargin\ttlbrace \textnormal{\textit{size}}\ttrbrace]
+% gives the amount of horizontal
+% \SpecialUsageIndex{\setleftmargin}
+% space to be reserved
+% for the left margin of the item,
+% and defaults to the value of the original
+% \LaTeX-\texttt{description} list if not entered.
+% \item[\ttbackslash setlabelphantom\ttlbrace \textnormal{\textit{text}}\ttrbrace]
+% calculates the left margin by the width of
+% \SpecialUsageIndex{\setlabelphantom}
+% \textit{text} and by the value of \verb+\labelsep+.
+% The setting of \verb+\setlabelstyle+ is taken
+% into account.
+% \listpart{If you set \texttt{\ttbackslash setlabelphantom}
+% as well as \texttt{\ttbackslash setleftmargin}, the
+% horizontal space with the width defined by
+% \texttt{\ttbackslash setlabelphantom} will be
+% reserved.}
+% \listpart{There are some other declarations affecting the layout of the
+% expanded \texttt{description} list:}
+% \item[\ttbackslash breaklabel]
+% causes the definition description to start on
+% \SpecialUsageIndex{\breaklabel}
+% 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
+% \SpecialUsageIndex{\compact}
+% separated from each other by vertical white
+% space.
+% \item[\ttbackslash setlabelstyle\ttlbrace \textnormal{\textit{typestyle}}\ttrbrace]
+% identifies the style to be
+% \SpecialUsageIndex{\setlabelstyle}
+% used for labels, e.\,g. \verb+\bfseries+,
+% \verb+\itshape+, \verb+\slshape+ or \verb+\sffamily+
+% as well as \verb+\small+, \verb+\large+, etc.
+% The default is \verb+\bfseries+ and \verb+\normalsize+.
+% \end{description}
+%
+% \noindent
+% The following examples demonstrate some features of the expanded
+% \linebreak \texttt{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+ \textit{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{\itshape}]+
+% \end{center}
+% \begin{quote}
+% \begin{description}[\breaklabel\setleftmargin{80pt}\setlabelstyle{\itshape}]
+% \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+ \textit{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+ \textit{text}.
+% \end{description}
+% \end{quote}
+%
+% \section{The \texttt{\char92 listpart} command}
+% In the \texttt{EXPDLIST} style there are two new \LaTeX\ commands:
+% \begin{description}[\setlabelstyle{\ttfamily} \setleftmargin{3cm} \breaklabel
+% \compact]
+% \item[\ttbackslash listpart\ttlbrace \textnormal{\textit{text}}\ttrbrace]
+% identifies a comment or explanation that
+% \SpecialUsageIndex{\listpart}
+% applies to a part of a list.
+% It can be placed anywhere
+% within any \texttt{list} environment,
+% immediately preceeding
+% those items to which it applies.
+% The width of \textit{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 \texttt{enumerate} environment is preserved.
+% \item[\ttbackslash listpartsep]
+% is the vertical space between the item and
+% \SpecialUsageIndex{\listpartsep}
+% the comment produced by
+% \texttt{\ttbackslash listpart}.
+% It defaults to \texttt{1ex}.
+% \end{description}
+% The following example demonstrates that you can use \verb+\listpart+
+% also in multi-clause \texttt{list} environments:
+% \begin{quote}
+% \begin{itemize}
+% \item You can use \verb+\listpart+ in multi-clause environments.
+% \listpart{This is a \texttt{listpart} which puts in some text to
+% interrupt the list.}
+% \item You can use \verb+\listpart+ in
+% \begin{enumerate}
+% \item{\texttt{itemize}-lists}
+% \item{\texttt{enumerate}-lists}
+% \listpart{This is a \texttt{listpart} which puts in some text to
+% interrupt the list.}
+% \item{\texttt{description}-lists:}
+% \begin{description}[\setleftmargin{60pt}]
+% \item[1st Label] Description A
+% \listpart{This is a \texttt{listpart} which puts in some text to
+% interrupt the list.}
+% \item[2nd Label] Description B
+% \end{description}
+% \end{enumerate}
+% \end{itemize}
+% \end{quote}
+%
+%\StopEventually{}
+%
+% \newpage
+% \changes{V 1.0}{02.03.90}{First published Version}
+% \changes{V 2.0}{17.05.90}{Documentation with the \texttt{DOC.STY}}
+% \section{The description of the \texttt{EXPDLIST.STY}-file}
+% \subsection{The beginning}
+% Here is a description of the macros used in the \texttt{EXPDLIST.STY}.
+% We started by defining the current version and date of this file and
+% documentation:
+%\iffalse
+%<*style>
+%\fi
+% \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+ \texttt{+} \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+\leftmargin+:
+% \begin{macrocode}
+\def\setleftmargin%
+ #1%
+ {\setlength{\leftmargin}{#1}}
+% \end{macrocode}
+% The \texttt{\ttbackslash setleftmargin} command was named
+% \texttt{\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 \texttt{\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 \texttt{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 \texttt{\ttbackslash hfil}}
+% \par
+% \begin{macro}{\setlabelstyle}
+% The \verb+\setlabelstyle+ identifies the style to be used for labels.
+% In \verb+\@labelstyle+ the default \verb+\bfseries+ is stored.
+% \begin{macrocode}
+\def\@labelstyle%
+ {\bfseries}
+\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 \texttt{\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 had to rename \verb+\description+ to
+% \verb+\@orgdlist+. It will be executed if no optional argument is set:
+% \par
+% \begin{macrocode}
+\let\@orgdlist\description
+% \end{macrocode}
+% \changes{V 2.1}{13.08.92}{Change of \texttt{\ttbackslash @orgdlist}}
+% 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 have renamed 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
+% We had to rename \verb+\description+ to
+% \verb+\@orgdlist+. It will be executed if no optional argument is set:
+% \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{\bfseries}%
+ #1%
+ \set@labelphantom%
+ \setlength{\labelwidth}{\leftmargin}%
+ \addtolength{\labelwidth}{-\labelsep}%
+ \let\makelabel\@expdlistlabel%
+ }%
+ }
+% \end{macrocode}
+% \changes{V 1.1}{26.03.90}{Change of \texttt{\ttbackslash breaklabel}}
+% \changes{V 1.2}{09.05.90}{Change of \texttt{\ttbackslash hfil}}
+% \subsection{\texttt{\ttbackslash listpart} and
+% \texttt{\ttbackslash listpartsep}}
+% \begin{macro}{\listpartsep}
+% Another feature of the \texttt{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+ \texttt{+} \verb+\rightmargin+
+% \texttt{+} \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 \texttt{\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 \texttt{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 \texttt{\ttbackslash set\@break}
+% is called after the label is set.
+% \changes{V 1.1}{26.03.90}{Change of \texttt{\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{%
+ \@minipagefalse
+ \global\@newlistfalse
+ \if@inlabel
+ \global\@inlabelfalse
+ {\setbox\z@\lastbox
+ \ifvoid\z@
+ \kern-\itemindent
+ \fi}%
+ \box\@labels
+ \penalty\z@
+ \fi
+ \if@nobreak
+ \@nobreakfalse
+ \clubpenalty \@M
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \if@noitemarg
+ \@noitemargfalse
+ \if@nmbrlist
+ \refstepcounter\@listctr
+ \fi
+ \fi
+ \sbox\@tempboxa{\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 {\unhbox\@tempboxa}%
+ \gdef\set@break{}% % RUM Change 2.3.90
+ \fi
+ \hskip \labelsep}%
+ \set@break % RUM Change 2.3.90
+ \ignorespaces}
+% \end{macrocode}
+% \end{macro}
+% \changes{V 2.1}{13.08.92}{\LaTeX\ Version~2.09 <25 March 1992>}
+% \changes{V 2.3}{26.05.99}{\LaTeXe\ <1997/12/01>}
+%
+% \newpage
+% \section{History of Changes}
+% \begin{description}[\compact\setlabelphantom{V 8.8 (88.88.8888)M}]
+% \item[V 1.0 (02.03.1990)] First published Version (H\"ulse and Kaspar)
+% \item[V 1.1 (26.03.1990)] We had to change \texttt{\ttbackslash break} to
+% \texttt{\ttbackslash breaklabel} and
+% \texttt{\ttbackslash @break} to
+% \texttt{\ttbackslash @breaklabel}
+% because \texttt{\ttbackslash break}
+% is a \TeX-primitive. This could cause
+% difficulties with linebreaking. (H\"ulse)
+% \item[V 1.2 (09.05.1990)] To be more flexible with the label, we changed
+% \texttt{\ttbackslash hfill} to
+% \texttt{\ttbackslash hfil}
+% in \texttt{\ttbackslash @expdlistlabel} (H\"ulse)
+% \item[V 2.0 (31.05.1990)] Documentation with the \texttt{DOC.STY} from Frank
+% Mittelbach, University of Mainz,
+% FRG.\newline
+% \texttt{\ttbackslash setlabelsize}
+% will be renamed to
+% \texttt{\ttbackslash setleftmargin}
+% (H\"ulse)
+% \item[V 2.1 (13.08.1992)] \texttt{\ttbackslash @orgdlist} is defined by
+% \texttt{\ttbackslash let}. Definition of
+% \texttt{\ttbackslash item[]} out of \LaTeX\
+% Version~2.09 $\langle$25 March 1992$\rangle$
+% (Perske)
+% \item[V 2.2 (23.09.1992)] Included Documentation Driver File and German
+% Documentation File into this \texttt{.doc}-File.
+% With Version 2.0 of \texttt{docstrip.tex} and the
+% Batchfile \texttt{install.rum} you can extract
+% them out of this \texttt{.doc}-File. (Perske)
+% \item[V 2.3 (26.05.1999)] The Definition of \texttt{\ttbackslash item[]} is
+% out of LaTeX2e $\langle$1997/12/01$\rangle$.
+% The distribution is now supplied under the
+% terms of the LPPL. The files were renamed
+% to \texttt{expdlist.dtx}, \texttt{expdlist.ins}
+% and \texttt{readme.txt}
+% (Kaspar)
+% \item[V 2.4 (22.09.1999)] Bugfix: percent added after
+% \texttt{\ttbackslash gdef\ttbackslash
+% set@break\ttlbrace\ttrbrace}.
+% Thanks to Peter Karp, who drew my attention to that bug.
+% \newline (Kaspar)
+%
+% \end{description}
+%
+% \PrintIndex
+% \Finale
+%\iffalse
+%</style>
+%\fi
+%
+%\iffalse
+%<+driver>
+%<+driver>% This is EXPDLIST.DRV 26.05.1999 Kr
+%<+driver>%
+%<+driver>\documentclass[a4paper]{article}
+%<+driver>\usepackage{expdlist,doc}
+%<+driver>
+%<+driver>
+%<+driver>\setcounter{IndexColumns}{3}
+%<+driver>
+%<+driver>\EnableCrossrefs
+%<+driver>\CodelineIndex
+%<+driver>
+%<+driver>\pagestyle{headings}
+%<+driver>
+%<+driver>\begin{document}
+%<+driver> \DocInput{expdlist.dtx}
+%<+driver>\end{document}
+%<+driver>
+%<+driver>\endinput
+%\fi
+%\iffalse
+%<+german>\documentclass[a4paper]{article}
+%<+german>\usepackage{german,expdlist,doc}
+%<+german>\def\ttbackslash{\texttt{\symbol{92}}} % typewriter \
+%<+german>\def\ttlbrace{\texttt{\symbol{123}}} % typewriter {
+%<+german>\def\ttrbrace{\texttt{\symbol{125}}} % typewriter }
+%<+german>\def\thefootnote{\fnsymbol{footnote}}
+%<+german>\begin{document}
+%<+german>\pagestyle{headings}
+%<+german>\title{\bfseries \texttt{EXPDLIST}%
+%<+german> \thanks{Derzeit g"ultige Version \fileversion\ vom
+%<+german> \filedate.
+%<+german> Mit Hilfe von Frank Mittelbachs \texttt{DOC.STY}
+%<+german> (v1.7k) l"a"st sich aus dem \texttt{EXPDLIST.DTX}
+%<+german> eine englische Dokumentation erstellen. Diese
+%<+german> enth"alt zus"atzlich noch eine Beschreibung des
+%<+german> Source-Codes.}
+%<+german> -- eine Erweiterung der \texttt{description}-Umgebung}
+%<+german>\author{Rainer H\"ulse und Wolfgang Kaspar\\[2mm]
+%<+german>Westf"alische Wilhelms-Universit"at M"unster\\
+%<+german>Zentrum f"ur Informationsverarbeitung\\[2mm]
+%<+german>Internet: $\langle$\texttt{kaspar@uni-muenster.de}$\rangle$}
+%<+german>\date{\docdate}
+%<+german>\maketitle
+%<+german>\noindent
+%<+german>\begin{abstract}
+%<+german>Die erweiterte \texttt{description}-Umgebung soll die
+%<+german>\LaTeX-\texttt{description}-Umgebung
+%<+german>nicht ersetzen, sondern bietet bei Bedarf
+%<+german>einige zus"atzliche Merkmale. Sie unterst"utzt eine einfache
+%<+german>M"oglichkeit, den linken Rand der Liste festzusetzen. Daneben steht mit
+%<+german>\verb+\listpart+ ein neuer, f"ur alle \texttt{list}-Umgebungen g"ultiger
+%<+german>Befehl zur Verf"ugung. Dieses Kommando erm"oglicht es, eine Liste f"ur
+%<+german>einen Kommentar zu unterbrechen, ohne irgendeinen Z"ahler dabei zu
+%<+german>ver"andern.
+%<+german>
+%<+german>Der ben"otigte \texttt{STY}-File hei"st \texttt{EXPDLIST} und wird so in den
+%<+german>\LaTeX-File eingebunden:
+%<+german>\begin{quote}
+%<+german>\verb+\usepackage{expdlist}+
+%<+german>\end{quote}
+%<+german>\end{abstract}
+%<+german>\section{Die erweiterte \texttt{description}-Umgebung}
+%<+german>Die erweiterte \texttt{description}-Umgebung unterst"utzt eine einfache
+%<+german>M"oglichkeit, den linken Rand einer \texttt{description}-Liste zu
+%<+german>ver"andern. Der Text des Erl"auter"-ungstextes beginnt am linken Rand,
+%<+german>entweder hinter der Marke oder in der n"achsten Zeile. Eine andere
+%<+german>Deklaration eliminiert den Freiraum zwischen den Listenpunkten, der von
+%<+german>den \LaTeX-\texttt{STY}s gesetzt wird. Au"serdem kann noch das Aussehen der
+%<+german>Marke beeinflu"st werden. Die Syntax der erweiterten
+%<+german>\texttt{description}-Umgebung ist:
+%<+german>\begin{quote}
+%<+german>\verb+\begin{description}[+\textit{deklarationen}\texttt{]}\\
+%<+german>$\vdots$\\
+%<+german>\verb+\end{description}+
+%<+german>\end{quote}
+%<+german>Ohne die optionalen \texttt{[}\textit{deklarationen}\texttt{]}
+%<+german>verh"alt sich diese
+%<+german>Umgebung wie die originale \LaTeX\ \texttt{description}-Umgebung.
+%<+german>
+%<+german>\newpage
+%<+german>\noindent
+%<+german>Die folgenden Deklarationen legen den linken Rand des
+%<+german>Erl"auterungstextes fest:
+%<+german>\begin{description}[\setlabelstyle{\ttfamily} \setleftmargin{3cm} \breaklabel
+%<+german> \compact]
+%<+german>\item[\ttbackslash setleftmargin\ttlbrace \textnormal{\textit{l"ange}}\ttrbrace]
+%<+german> gibt die L"ange des horizontalen Freiraums des
+%<+german> linken Randes an.
+%<+german> Die Voreinstellung entspricht dem Wert der
+%<+german> originalen \texttt{description}-Liste in \LaTeX.
+%<+german>\item[\ttbackslash setlabelphantom\ttlbrace \textnormal{\textit{text}}\ttrbrace]
+%<+german> berechnet den linken Rand aus der L"ange von
+%<+german> \textit{text} und aus dem Wert von
+%<+german> \verb+\labelsep+. Dabei wird die Setzung von
+%<+german> \verb+\setlabelstyle+ ber"ucksichtigt.
+%<+german>\listpart{Wenn man sowohl \texttt{\ttbackslash setlabelphantom} als auch
+%<+german> \texttt{\ttbackslash setleftmargin} setzt, wird ein Freiraum der
+%<+german> L"ange, die durch \texttt{\ttbackslash setlabelphantom} definiert
+%<+german> ist, freigehalten.}
+%<+german>\listpart{Es gibt noch einige andere Deklarationen, die das Layout der
+%<+german> erweiterten \texttt{description}-Liste beeinflussen:}
+%<+german>\item[\ttbackslash breaklabel]
+%<+german> l"a"st die Beschreibung in der n"achsten Zeile
+%<+german> beginnen, wenn die L"ange der Marke die Breite
+%<+german> des linken Randes "uberschreitet. In der
+%<+german> Voreinstellung beginnt der Erl"auterungstext
+%<+german> in gleichen Zeile, unmittelbar hinter der Marke.
+%<+german>\item[\ttbackslash compact]
+%<+german> zeigt an, da"s die Definitionen nicht durch
+%<+german> Leerzeilen voneinander getrennt werden.
+%<+german>\item[\ttbackslash setlabelstyle\ttlbrace \textnormal{\textit{schriftstil}}\ttrbrace]
+%<+german> ist der Stil, der f"ur die Marken benutzt wird,
+%<+german> z.~B. \verb+\bfseries+, \verb+\itshape+, \verb+\slshape+ oder
+%<+german> \verb+\sffamily+ sowie \verb+\small+, \verb+\large+
+%<+german> usw. Voreingestellt ist \verb+\bfseries+ und
+%<+german> \verb+\normalsize+.
+%<+german>\end{description}
+%<+german>
+%<+german>\noindent
+%<+german>Die folgenden Beispiele zeigen einige Anwendungen der erweiterten
+%<+german>\linebreak \texttt{description}-Umgebung.\\[4ex]
+%<+german>Das erste Beispiel zeigt, da"s sie ohne optionalen Parametern der
+%<+german>originalen \LaTeX-Umgebung entspricht. Die abgesetzte Markierung
+%<+german>lautet:\\[-4ex]
+%<+german>\begin{center}
+%<+german>\verb+\begin{description}+
+%<+german>\end{center}
+%<+german>\begin{quote}
+%<+german>\begin{description}
+%<+german>\item[Erste Marke] Die erste Marke ist durchschnittlich lang.
+%<+german>\item[Hier nun eine besonders lange Marke] Dies ist der Text, der zu der
+%<+german> besonders langen Marke geh"ort.
+%<+german>\item[3.] Die 3. Marke ist sehr kurz.
+%<+german>\item Dieser Eintrag hat keine Marke und wurde erzeugt mit
+%<+german> \verb+\item+ \textit{text}.
+%<+german>\end{description}
+%<+german>\end{quote}
+%<+german>
+%<+german>\vspace{4ex}
+%<+german>\noindent
+%<+german>Im zweiten Beispiel werden mit der folgenden Markierung optionale
+%<+german>Parameter gesetzt:\\[-4ex]
+%<+german>\begin{center}
+%<+german>\verb+\begin{description}[\breaklabel\setleftmargin{80pt}+\\
+%<+german>\verb+\setlabelstyle{\itshape}]+
+%<+german>\end{center}
+%<+german>\begin{quote}
+%<+german>\begin{description}[\breaklabel\setleftmargin{80pt}\setlabelstyle{\itshape}]
+%<+german>\item[Erste Marke] Die erste Marke ist durchschnittlich lang.
+%<+german>\item[Hier nun eine besonders lange Marke] Dies ist der Text, der zu der
+%<+german> besonders langen Marke geh"ort.
+%<+german>\item[3.] Die 3. Marke ist sehr kurz.
+%<+german>\item Dieser Eintrag hat keine Marke und wurde erzeugt mit
+%<+german> \verb+\item+ \textit{text}.
+%<+german>\end{description}
+%<+german>\end{quote}
+%<+german>
+%<+german>\vspace{4ex}
+%<+german>\noindent
+%<+german>Das letze Beispiel zeigt die Markierung mit weiteren optionalen
+%<+german>Parametern und ihre Wirkung:\\[-4ex]
+%<+german>\begin{center}
+%<+german>\verb+\begin{description}[\compact\setlabelphantom{Erste Marke}]+
+%<+german>\end{center}
+%<+german>\begin{quote}
+%<+german>\begin{description}[\compact\setlabelphantom{Erste Marke}]
+%<+german>\item[Erste Marke] Die erste Marke ist durchschnittlich lang.
+%<+german>\item[Hier nun eine besonders lange Marke] Dies ist der Text, der zu der
+%<+german> besonders langen Marke geh"ort.
+%<+german>\item[3.] Die 3. Marke ist sehr kurz.
+%<+german>\item Dieser Eintrag hat keine Marke und wurde erzeugt mit
+%<+german> \verb+\item+ \textit{text}.
+%<+german>\end{description}
+%<+german>\end{quote}
+%<+german>
+%<+german>\section{Das \texttt{\ttbackslash listpart}-Kommando}
+%<+german>Der \texttt{EXPDLIST}-Style enth"alt noch zwei weitere neue \LaTeX-Kommandos:
+%<+german>\begin{description}[\setlabelstyle{\ttfamily} \setleftmargin{3cm} \breaklabel
+%<+german> \compact]
+%<+german>\item[\ttbackslash listpart\ttlbrace \textnormal{\textit{text}}\ttrbrace]
+%<+german> ist ein Kommentar oder eine Erkl"arung, die als
+%<+german> Teil einer Liste gilt. Er kann irgendwo in einer
+%<+german> beliebigen
+%<+german> \texttt{list}"=Umgebung stehen, direkt
+%<+german> hinter dem Listeneintrag, zu dem er geh"ort. Die
+%<+german> Zeilenbreite von \textit{text} richtet sich
+%<+german> dabei nach der Breite der "ubergeordneten Liste.
+%<+german> Man kann somit mit dem n"achsten Listenpunkt
+%<+german> fortfahren, ohne die Liste beenden und
+%<+german> an\-schlie"send wieder neu beginnen zu m"ussen.
+%<+german> Die Numerierung in der \texttt{enumerate}-Umgebung
+%<+german> bleibt dabei erhalten.
+%<+german>\item[\ttbackslash listpartsep]
+%<+german> ist der vertikale Abstand zwischen Listeneintrag
+%<+german> und dem mit \texttt{\ttbackslash listpart} erzeugten
+%<+german> Kommentar. Voreingestellt ist \linebreak \texttt{1ex}.
+%<+german>\end{description}
+%<+german>Das folgende Beispiel zeigt, da"s man \verb+\listpart+ auch in
+%<+german>geschachtelten \texttt{list}-Umgebungen benutzen kann:
+%<+german>\begin{quote}
+%<+german>\begin{itemize}
+%<+german>\item Man kann \verb+\listpart+ in einer geschachtelten Liste benutzen.
+%<+german>\listpart{Dies ist ein \texttt{listpart}. Mit dieser Markierung wird
+%<+german> Text eingeschoben, der die Liste unterbricht.}
+%<+german>\item Man kann \verb+\listpart+ benutzen in:
+%<+german>\begin{enumerate}
+%<+german>\item{\texttt{itemize}-Listen}
+%<+german>\item{\texttt{enumerate}-Listen}
+%<+german>\listpart{Dies ist ein \texttt{listpart}. Mit dieser Markierung wird
+%<+german> Text eingeschoben, der die Liste unterbricht.}
+%<+german>\item{\texttt{description}-Listen:}
+%<+german>\begin{description}[\setleftmargin{60pt}]
+%<+german>\item[1. Marke] Beschreibung A
+%<+german>\listpart{Dies ist ein \texttt{listpart}. Mit dieser Markierung wird
+%<+german> Text eingeschoben, der die Liste unterbricht.}
+%<+german>\item[2. Marke] Beschreibung B
+%<+german>\end{description}
+%<+german>\end{enumerate}
+%<+german>\end{itemize}
+%<+german>\end{quote}
+%<+german>\end{document}
+%\fi
+\endinput
diff --git a/macros/latex/contrib/expdlist/expdlist.ins b/macros/latex/contrib/expdlist/expdlist.ins
new file mode 100644
index 0000000000..7825835ef3
--- /dev/null
+++ b/macros/latex/contrib/expdlist/expdlist.ins
@@ -0,0 +1,61 @@
+%% This is EXPDLIST.INS 26.05.1999 Kr
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1992 1999 R. Huelse, W. Kaspar
+%%
+%% This file is part of the expdlist package.
+%% ------------------------------------------
+%%
+%% It can redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or (at your option) any later version.
+%%
+%% For error reports in case of UNCHANGED versions see readme.txt
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\batchfile{expdlist.ins}
+{\input docstrip
+\preamble
+
+This is a generated file.
+
+Copyright 1992 1999 R. Huelse, W. Kaspar
+
+This file is part of the expdlist package.
+------------------------------------------
+
+It can redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1 of the License, or (at your option) any later version.
+
+\endpreamble
+
+% style file:
+\generateFile{expdlist.sty}{t}{\from{expdlist.dtx}{style}}
+% driver file
+\generateFile{expdlist.drv}{t}{\from{expdlist.dtx}{driver}}
+% german documentation file
+\generateFile{expdlisg.drv}{t}{\from{expdlist.dtx}{german}}
+
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space expdlist.sty}
+\Msg{*}
+\Msg{* To produce the english documentation run the file}
+\Msg{* `expdlist.drv' through LaTeX.}
+\Msg{*}
+\Msg{* To produce the german documentation run the file}
+\Msg{* `expdlisg.drv' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
diff --git a/macros/latex/contrib/expdlist/expdlist.pdf b/macros/latex/contrib/expdlist/expdlist.pdf
new file mode 100644
index 0000000000..5963196fd7
--- /dev/null
+++ b/macros/latex/contrib/expdlist/expdlist.pdf
Binary files differ
diff --git a/macros/latex/contrib/expdlist/readme.txt b/macros/latex/contrib/expdlist/readme.txt
new file mode 100644
index 0000000000..55c06b903b
--- /dev/null
+++ b/macros/latex/contrib/expdlist/readme.txt
@@ -0,0 +1,87 @@
+This is README.TXT 26.05.1999 Kr
+
+Copyright 1992 1999 R. Huelse, W. Kaspar
+
+This file is part of the expdlist package.
+------------------------------------------
+
+This file may be distributed under the terms of the
+LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1 of the License, or (at your option) any later version.
+
+
+README for the `expdlist' package
+=================================
+
+The expanded description environment will not replace the LaTeX
+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 \listpart a new command available which is valid in
+all list environments. It gives the possibility to break a list for a
+comment without touching any counters.
+
+You should get the following files:
+
+ expdlist.dtx `expdlist' style for LaTeX, you have to run this
+ through the docstrip.tex program to produce the
+ corresponding style file.
+
+ readme.txt This File
+
+ expdlist.ins This is the installation script that will produce
+ the executable files in this package and the driver
+ files for the documentation.
+
+
+Installation
+============
+
+To produce the executable files please run expdlist.ins through LaTeX,
+i.e., say
+
+ latex expdlist.ins
+
+or whatever is necessary to run process a file with LaTeX on your
+system. This will generate the files:
+
+ expdlist.sty The expdlist style option for LaTeX.
+ expdlist.drv The driver file for producing the english documentation.
+ expdlisg.drv The driver file for producing the german documentation.
+
+To produce the documentation run the corresponding driver files
+through LaTeX. You are allowed to change the driver files to get a
+special layout, etc. To get an index run the idx file through the
+program MAKEINDEX.
+
+Please note that you need to specify a style file for MAKEINDEX:
+
+ gind.ist for the index file (result should be named *.ind)
+
+Sample invocation for Unix:
+
+ makeindex -s gind.ist expdlist
+
+
+Distribution Conditions
+=======================
+
+All the files in this package are distributed under the terms of
+the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1 of the License, or (at your option) any later version.
+
+
+Reporting Bugs
+==============
+
+Error reports in case of UNCHANGED versions to
+
+ Wolfgang Kaspar
+ Westf"alische Wilhelms-Universit"at M"unster
+ Zentrum f"ur Informationsverarbeitung
+ R"ontgenstra"se 9-13
+ 48149 M"unster
+ Federal Republic of Germany
+ Phone: (0251)/83-31673
+ Internet: <kaspar@uni-muenster.de>