summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/texpower/tplists.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/texpower/tplists.dtx')
-rw-r--r--macros/latex/contrib/texpower/tplists.dtx666
1 files changed, 666 insertions, 0 deletions
diff --git a/macros/latex/contrib/texpower/tplists.dtx b/macros/latex/contrib/texpower/tplists.dtx
new file mode 100644
index 0000000000..93a2273b75
--- /dev/null
+++ b/macros/latex/contrib/texpower/tplists.dtx
@@ -0,0 +1,666 @@
+%%
+% \iffalse meta-comment
+% --------------------------------------------------------------
+% Part of the TeXPower bundle
+% Copyright (C) 2003-2005 Hans Fredrik Nordhaug
+%
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+% --------------------------------------------------------------
+%
+% tplists.dtx,v 1.6 2005/04/07 21:43:07 hansfn Exp
+%
+% \fi
+%
+% \iffalse
+%
+%<*driver>
+\ProvidesFile{tplists.dtx}
+%</driver>
+%<tplists>\NeedsTeXFormat{LaTeX2e}
+%<tplists>\ProvidesPackage{tplists}
+%<*tplists>
+ [2005/04/07 v0.2 Easy Dynamic Lists using TeXPower]
+%</tplists>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{tplists.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \CheckSum{634}
+%
+% \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 \~}
+%
+%
+% \GetFileInfo{tplists.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+% \title{The \textsf{tplists} package\thanks{This document
+% corresponds to \textsf{tplists}~\fileversion, dated \filedate.}}
+% \author{ Hans Fredrik Nordhaug \\ \texttt{hans@nordhaug.priv.no}}
+%
+% \maketitle
+%
+% \tableofcontents
+%
+% \section{Introduction}
+%
+% The package provides easy dynamic lists. The following
+% environments/lists are available
+% \begin{enumerate}
+% \item |stepenum|, |stepitem|, |stepdesc|, |stepeqlist|, |stepcompactenum|
+% |stepcompactitem| and |stepcompacteqlist|.
+% \item |flipenum|, |flipitem|, |flipdesc|, |flipeqlist|, |flipcompactenum|,
+% |flipcompactitem|, and |flipcompacteqlist|
+% \item |dimenum|, |dimitem|, |dimdesc|, |dimeqlist|, |dimcompactenum|,
+% |dimcompactitem|, and |dimcompacteqlist|
+% \end{enumerate}
+% where |step| is short for stepped, |flip| for flipped and |dim| for dimmed.
+% The packages |paralist| and |eqlist| must be loaded before this package to
+% use the *eqlist and *compact* lists. |enum|, |item| and |desc| is of course
+% short for |enumerate|, |itemize| and |description| respectively.
+%
+% \section{User interface}
+%
+% The package is loaded in the normal fashion, eg: |\usepackage{tplists}| The package
+% works better (the lists look better) if TeXPower uses colors.
+%
+% All lists (except *eqlist) takes an optional parameter adding to the indent
+% of the list. Note that dim* and flip* lists do not nest, and that step* lists
+% inside dim*/flip* will behave as a dim*/flip* list respectively.
+% (The normal |itemize|, |enumerate| and |description| lists are modified so they accept the
+% optional parameter and work nested with the new lists.)
+%
+% Example:
+%
+% \begin{verbatim}
+% \documentclass[a4paper]{article}
+% \usepackage[darkbackground,display]{texpower}
+% \usepackage{tplists}
+% \begin{document}
+% \begin{flipitem}[2cm]
+% \item Before
+% \begin{enumerate}[1cm]
+% \item An item
+% \item Another item
+% \end{enumerate}
+% \item After
+% \end{flipitem}
+% \end{document}
+% \end{verbatim}
+%
+% \section{Description of package options}
+%
+% The following options exist:
+% \begin{description}
+% \item[|pausestep|] makes step* lists use |\pause|%
+% \item[|noflipendstep|] avoids the extra step at the end of a flipped list.
+% \end{description}
+%
+% All options can be set anywhere in the document using a setup command, for example
+% |\tplsetup{pausestep,noflipendstep=false}|. If the keys in the setup command have no
+% value true is assumed.
+%
+% \section{Issues}
+%
+% The step* lists use |\vstep| (as default) which give weird results with
+% structured backgrounds. Using the pausestep option fixes this, but then you
+% can't nest step* lists inside dim* or flip* lists. There are also some
+% unresolved problems when using french babel.
+%
+% \StopEventually{\PrintChanges\PrintIndex}
+%
+% \section{Implementation}
+%
+% \changes{v0.1}{2003/10/03}{First public release.}
+%
+% \changes{v0.1a}{2003/10/04}{Removed redefinition of eqlist (since it didn't work).}
+%
+% \changes{v0.1b}{2003/10/07}{Corrected some typos in this documentation.
+% Added option pausestep and made dim* (and all variants of flip*) lists work without
+% colors by using boldface for active items.}
+%
+% \changes{v0.2}{2005/04/07}{Added flipdesc, stepdesc, dimdesc environments for
+% easy dynamic description lists. Improved behaviour when not in display mode.
+% Fixed step lists behaviour when in display mode, but without colors. Added
+% noflipendstep option and a setup command to enable setting of all options
+% anywhere in the document }
+%
+% \subsection{Loading of packages}
+%
+% \begin{macrocode}
+\RequirePackage{texpower}
+% \end{macrocode}
+% Compact enum/item.
+% \begin{macrocode}
+\newboolean{tpl@paralist}
+\@ifpackageloaded{paralist}{\setboolean{tpl@paralist}{true}}{}
+% \end{macrocode}
+% Lists with equal indentation.
+% \begin{macrocode}
+\newboolean{tpl@eqlist}
+\@ifpackageloaded{eqlist}{\setboolean{tpl@eqlist}{true}}{}
+% \end{macrocode}
+%
+% \subsection{Defining options}
+%
+% Use |\pause| for steplists (too avoid problems with structured backgrounds).
+% \begin{macrocode}
+\newboolean{tpl@pausestep}
+\DeclareOption{pausestep}{\setboolean{tpl@pausestep}{true}}
+% \end{macrocode}
+% Don't add an extra step at the end of a flipped list.
+% \begin{macrocode}
+\newboolean{tpl@noflipendstep}
+\DeclareOption{noflipendstep}{\setboolean{tpl@noflipendstep}{true}}
+
+\ProcessOptions
+% \end{macrocode}
+% Defining setup command to enable change of options anywhere in the document.
+% \begin{macrocode}
+\define@key{tpl}{pausestep}[true]{%
+ \setboolean{tpl@pausestep}{#1}
+}
+\define@key{tpl}{noflipendstep}[true]{%
+ \setboolean{tpl@noflipendstep}{#1}
+}
+\newcommand*{\tplsetup}{\setkeys{tpl}}
+% \end{macrocode}
+%
+% \subsection{Flipped/dimmed/stepped lists/environments}
+%
+% |\iftpl@instepenv| indicates if we are in some kind of stepped list
+% environment. |\iftpl@indimenv| / |\tpl@inflipenv| indicates that we are
+% using one of the stepwise environments from texpower (that doesn't
+% nest). |\iftpl@inpausestepenv| indicates that we are in a stepped
+% list that uses |\pause|.
+%
+% using |tpl@| as prefix for internals.
+% \begin{macrocode}
+\newif\iftpl@instepenv \tpl@instepenvfalse
+\newif\iftpl@inpausestepenv \tpl@inpausestepenvfalse
+\newif\iftpl@indimenv \tpl@indimenvfalse
+\newif\iftpl@inflipenv \tpl@inflipenvfalse
+\let\oldenumerate=\enumerate
+\let\olditemize=\itemize
+\let\olddescription=\description
+\let\endoldenumerate=\endenumerate
+\let\endolditemize=\enditemize
+\let\endolddescription=\enddescription
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\let\oldeqlist=\eqlist
+\let\endoldeqlist=\endeqlist
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\let\oldcompactenum=\compactenum
+\let\oldcompactitem=\compactitem
+\let\endoldcompactenum=\endcompactenum
+\let\endoldcompactitem=\endcompactitem
+}{}
+% \end{macrocode}
+%
+% Defining |\tpl@collect@body| - command used to scan the list
+% environments. Definition borrowed from 'amsmath.sty' - slightly
+% modified to allow for 'long' arguments
+% \begin{macrocode}
+\let\tpl@nx\noexpand
+\let\tpl@xp\expandafter
+\newtoks\tpl@emptytoks
+\newtoks\tpl@envbody
+\long\def\tpl@addto@envbody#1{\global\tpl@envbody\tpl@xp{\the\tpl@envbody#1}}
+\def\tpl@collect@body#1{%
+ \tpl@envbody{\tpl@xp#1\tpl@xp{\the\tpl@envbody}}%
+ \edef\tpl@process@envbody{\the\tpl@envbody\tpl@nx\end{\@currenvir}}%
+ \tpl@envbody\tpl@emptytoks \def\begin@stack{b}%
+ \begingroup
+ \tpl@xp\let\csname\@currenvir\endcsname\tpl@collect@@body
+ \edef\tpl@process@envbody{\tpl@xp\tpl@nx\csname\@currenvir\endcsname}%
+ \tpl@process@envbody
+}
+\long\def\tpl@push@begins#1\begin#2{%
+ \ifx\end#2\else b\tpl@xp\tpl@push@begins\fi
+}
+\long\def\tpl@collect@@body#1\end#2{%
+ \edef\begin@stack{\tpl@push@begins#1\begin\end \tpl@xp\@gobble\begin@stack}%
+ \ifx\@empty\begin@stack
+ \endgroup
+ \@checkend{#2}%
+ \tpl@addto@envbody{#1}%
+ \else
+ \tpl@addto@envbody{#1\end{#2}}%
+ \fi
+ \tpl@process@envbody
+}
+% \end{macrocode}
+%
+% Defining command |\tpl@addmargin| used to add a length to
+% the leftmargin of the current level in a list.
+% \begin{macrocode}
+\def\tpl@addmargin#1{%
+ \advance\@listdepth 1
+ \addtolength{\csname leftmargin\romannumeral\@listdepth\endcsname}{#1}
+ \advance\@listdepth -1
+}
+
+\ifthenelse{\boolean{display}}{%
+%
+% Defining a flipped step command if we are in display mode.
+% Note that |\tpl@flipstep| takes no argument.
+% \begin{macrocode}
+\ifthenelse{\boolean{TPcolor}}% Can we use colors?
+{% Yes. In this case highlighting is implemented by switching color.
+ \def\tpl@flipstep{%
+ \step{\ifthenelse{\boolean{firstactivation}}%
+ {\color{textcolor}}%
+ {\color{inactivecolor}}%
+ }%
+ }%
+}
+{% No. In this case highlighting is implemented by putting the item in boldface.
+ \def\tpl@flipstep{%
+ \step{\ifthenelse{\boolean{firstactivation}}{\bfseries}{\mdseries}}
+ }%
+}
+% \end{macrocode}
+%
+% Defining a dimmed step command if we are in display mode.
+% Note that |\tpl@dimstep| takes no argument.
+% \begin{macrocode}
+\ifthenelse{\boolean{TPcolor}}% Can we use colors?
+{% Yes. In this case highlighting is implemented by using \dstep
+ \def\tpl@dimstep{\dstep}%
+}
+{% No. In this case highlighting is implemented by putting the item in boldface.
+ \def\tpl@dimstep{%
+ \step{\bfseries}%
+ \ifthenelse{\boolean{active}}{}{\mdseries}%
+ }%
+}
+% \end{macrocode}
+%
+% Defining a (normal) step command if we are in display mode.
+% Note that |\tpl@step| takes no argument.
+% \begin{macrocode}
+\ifthenelse{\boolean{TPcolor}}% Can we use colors?
+{% Yes. In this case stepping is implemented by using \vstep
+ \def\tpl@step{\vstep}%
+}
+{% No. In this case stepping is implemented using \pause
+ \def\tpl@step{\pause}%
+}
+% \end{macrocode}
+% TeXPower not in display mode - no need for a dimmed/flipped/normal step command.
+% \begin{macrocode}
+}{% \boolean{display} is false
+\def\tpl@flipstep{\relax}%
+\def\tpl@dimstep{\relax}%
+\def\tpl@step{\relax}%
+}
+% \end{macrocode}
+%
+% Defining flipped stepped - itemize / description / enumerate / eqlist
+% compact itemize / compact enumerate / compact eqlist - environments.
+% \begin{macrocode}
+\newenvironment{flipitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@flipitem}%
+ {\global\@ignoretrue}
+\newenvironment{flipdesc}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@flipdesc}%
+ {\global\@ignoretrue}
+\newenvironment{flipenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@flipenum}%
+ {\global\@ignoretrue}
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\newenvironment{flipeqlist}[1][0cm]{%
+ \tpl@collect@body\@flipeqlist}%
+ {\global\@ignoretrue}
+\newenvironment{flipcompacteqlist}[1][0cm]{%
+ \tpl@collect@body\@flipcompacteqlist}%
+ {\global\@ignoretrue}
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\newenvironment{flipcompactitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@flipcompactitem}%
+ {\global\@ignoretrue}
+\newenvironment{flipcompactenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@flipcompactenum}%
+ {\global\@ignoretrue}
+}{}
+
+\newcommand\@fliplist[2]{%
+ \iftpl@indimenv
+ \PackageError{tplists}{%
+ dim* and flip* environments do NOT nest}{%
+ Do not continue! Type 'q' to stop and fix the nested list.
+ }
+ \else\iftpl@instepenv
+ \begin{#1}
+ \let\hidestepcontents=\displaystepcontents
+ \renewcommand{\item}{\tpl@flipstep\tpl@origitem}%
+ #2
+ \end{#1}%
+ \else
+ \iftpl@inpausestepenv\let\liststepwise=\stepwise\fi
+ \liststepwise[\let\hidestepcontents=\displaystepcontents]{%
+ \begin{#1}
+ \iftpl@inpausestepenv\else
+ \iftpl@instepenv\else\let\tpl@origitem=\item\fi
+ \fi
+ \tpl@instepenvtrue
+ \tpl@inflipenvtrue
+ \renewcommand{\item}{\tpl@flipstep\tpl@origitem}%
+ #2
+ \ifthenelse{\boolean{tpl@noflipendstep}}{}{\step{}}%
+ \end{#1}}
+ \fi\fi
+}
+
+\newcommand\@flipitem[1]{%
+ \@fliplist{olditemize}{#1}}
+\newcommand\@flipdesc[1]{%
+ \@fliplist{olddescription}{#1}}
+\newcommand\@flipenum[1]{%
+ \@fliplist{oldenumerate}{#1}}
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\newcommand\@flipeqlist[1]{%
+ \@fliplist{oldeqlist}{#1}}
+\newcommand\@flipcompacteqlist[1]{%
+ \@fliplist{compacteqlist}{#1}}
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\newcommand\@flipcompactitem[1]{%
+ \@fliplist{oldcompactitem}{#1}}
+\newcommand\@flipcompactenum[1]{%
+ \@fliplist{oldcompactenum}{#1}}
+}{}
+% \end{macrocode}
+%
+% Defining dimmed stepped - itemize / description / enumerate / eqlist /
+% compact itemize / compact enumerate / compact eqlist - environments.
+% \begin{macrocode}
+\newenvironment{dimitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@dimitem}%
+ {\global\@ignoretrue}
+\newenvironment{dimdesc}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@dimdesc}%
+ {\global\@ignoretrue}
+\newenvironment{dimenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@dimenum}%
+ {\global\@ignoretrue}
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\newenvironment{dimeqlist}[1][0cm]{%
+ \tpl@collect@body\@dimeqlist}%
+ {\global\@ignoretrue}
+\newenvironment{dimcompacteqlist}[1][0cm]{%
+ \tpl@collect@body\@dimcompacteqlist}%
+ {\global\@ignoretrue}
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\newenvironment{dimcompactitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@dimcompactitem}%
+ {\global\@ignoretrue}
+\newenvironment{dimcompactenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@dimcompactenum}%
+ {\global\@ignoretrue}
+}{}
+
+\newcommand\@dimlist[2]{%
+ \iftpl@inflipenv
+ \PackageError{tplists}{%
+ dim* and flip* environments do NOT nest}{%
+ Do not continue! Type <q> to stop and fix the nested list.
+ }
+ \else\iftpl@instepenv
+ \begin{#1}
+ \renewcommand{\item}{\tpl@dimstep\tpl@origitem}%
+ #2
+ \end{#1}%
+ \else
+ \iftpl@inpausestepenv\let\liststepwise=\stepwise\fi
+ \liststepwise{%
+ \begin{#1}
+ \iftpl@inpausestepenv\else
+ \iftpl@instepenv\else\let\tpl@origitem=\item\fi
+ \fi
+ \tpl@instepenvtrue
+ \tpl@indimenvtrue
+ \renewcommand{\item}{\tpl@dimstep\tpl@origitem}%
+ #2
+ \end{#1}}
+ \fi\fi
+}
+
+\newcommand\@dimitem[1]{%
+ \@dimlist{olditemize}{#1}}
+\newcommand\@dimdesc[1]{%
+ \@dimlist{olddescription}{#1}}
+\newcommand\@dimenum[1]{%
+ \@dimlist{oldenumerate}{#1}}
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\newcommand\@dimeqlist[1]{%
+ \@dimlist{oldeqlist}{#1}}
+\newcommand\@dimcompacteqlist[1]{%
+ \@dimlist{compacteqlist}{#1}}
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\newcommand\@dimcompactitem[1]{%
+ \@dimlist{oldcompactitem}{#1}}
+\newcommand\@dimcompactenum[1]{%
+ \@dimlist{oldcompactenum}{#1}}
+}{}
+% \end{macrocode}
+%
+% Defining stepped - itemize / description / enumerate / eqlist /
+% compact itemize / compact enumerate / compact eqlist - environments.
+% \begin{macrocode}
+\newenvironment{stepitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@stepitem}%
+ {\global\@ignoretrue}
+\newenvironment{stepdesc}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@stepdesc}%
+ {\global\@ignoretrue}
+\newenvironment{stepenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@stepenum}%
+ {\global\@ignoretrue}
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\newenvironment{stepeqlist}[1][0cm]{%
+ \tpl@collect@body\@stepeqlist}%
+ {\global\@ignoretrue}
+\newenvironment{stepcompacteqlist}[1][0cm]{%
+ \tpl@collect@body\@stepcompacteqlist}%
+ {\global\@ignoretrue}
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\newenvironment{stepcompactitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@stepcompactitem}%
+ {\global\@ignoretrue}
+\newenvironment{stepcompactenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \tpl@collect@body\@stepcompactenum}%
+ {\global\@ignoretrue}
+}{}
+% \end{macrocode}
+% Using |\pause| for step* lists if |tpl@pausestep| is true
+% \begin{macrocode}
+\newcommand\@steplist[2]{%
+\ifthenelse{\boolean{tpl@pausestep}}{%
+ \iftpl@inflipenv
+ \PackageError{tplists}{%
+ flip* followed by step* environment does NOT work \MessageBreak
+ when the pausestep option is used}{%
+ Do not continue! Type <q> to stop and fix the nested list.
+ }
+ \else\iftpl@indimenv
+ \PackageError{tplists}{%
+ dim* followed by step* environment does NOT work \MessageBreak
+ when the pausestep option is used}{%
+ Do not continue! Type <q> to stop and fix the nested list.
+ }
+ \else
+ \begin{#1}
+ \iftpl@inpausestepenv\else\let\tpl@origitem=\item\fi
+ \tpl@inpausestepenvtrue
+ \renewcommand{\item}{\pause\tpl@origitem}%
+ #2
+ \end{#1}
+ \fi\fi
+}{
+% \end{macrocode}
+% Using |\liststepwise| for step* lists if |tpl@pausestep| is false
+% \begin{macrocode}
+ \iftpl@inflipenv
+ \begin{#1}
+ \renewcommand{\item}{\tpl@flipstep\tpl@origitem}
+ #2
+ \end{#1}%
+ \else\iftpl@indimenv
+ \begin{#1}
+ \renewcommand{\item}{\dstep\tpl@origitem}%
+ #2
+ \end{#1}%
+ \else\iftpl@instepenv
+ \begin{#1}
+ \renewcommand{\item}{\tpl@step\tpl@origitem}%
+ #2
+ \end{#1}%
+ \else
+ \liststepwise{%
+ \begin{#1}
+ \iftpl@instepenv\else\let\tpl@origitem=\item\fi
+ \tpl@instepenvtrue
+ \renewcommand{\item}{\tpl@step\tpl@origitem}%
+ #2
+ \end{#1}}
+ \fi\fi\fi
+}
+}
+
+\newcommand\@stepitem[1]{%
+ \@steplist{olditemize}{#1}}
+\newcommand\@stepdesc[1]{%
+ \@steplist{olddescription}{#1}}
+\newcommand\@stepenum[1]{%
+ \@steplist{oldenumerate}{#1}}
+\ifthenelse{\boolean{tpl@eqlist}}{%
+\newcommand\@stepeqlist[1]{%
+ \@steplist{oldeqlist}{#1}}
+\newcommand\@stepcompacteqlist[1]{%
+ \@steplist{compacteqlist}{#1}}
+}{}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\newcommand\@stepcompactitem[1]{%
+ \@steplist{oldcompactitem}{#1}}
+\newcommand\@stepcompactenum[1]{%
+ \@steplist{oldcompactenum}{#1}}
+}{}
+% \end{macrocode}
+%
+% Defining compact eqlist
+% \begin{macrocode}
+\newenvironment{compacteqlist}[1][0cm]{%
+ % \tpl@addmargin{#1}
+ \begin{eqlist}[\parsep0pt\itemsep0pt]}%
+ {\end{eqlist}}
+% \end{macrocode}
+%
+% Redefining enumerate, itemize and description to handle changes made by
+% introducing steps and leftmargini-option.
+% \begin{macrocode}
+\renewenvironment{enumerate}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \begin{oldenumerate}
+ \iftpl@instepenv
+ \renewcommand{\item}{\tpl@origitem}%
+ \fi
+ }%
+ {\end{oldenumerate}}
+
+\renewenvironment{itemize}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \begin{olditemize}
+ \iftpl@instepenv
+ \renewcommand{\item}{\tpl@origitem}%
+ \fi
+ }%
+ {\end{olditemize}}
+
+\renewenvironment{description}[1][0cm]{%
+ % \tpl@addmargin{#1} % Has no effect - FIXME
+ \begin{olddescription}
+ \iftpl@instepenv
+ \renewcommand{\item}{\tpl@origitem}%
+ \fi
+ }%
+ {\end{olddescription}}
+% \end{macrocode}
+%
+% Redefining compactenum and compactitem to handle changes made by
+% introducing steps and leftmargini-option.
+% \begin{macrocode}
+\ifthenelse{\boolean{tpl@paralist}}{%
+\renewenvironment{compactenum}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \begin{oldcompactenum}
+ \iftpl@instepenv
+ \renewcommand{\item}{\tpl@origitem}%
+ \fi
+ }%
+ {\end{oldcompactenum}}
+
+\renewenvironment{compactitem}[1][0cm]{%
+ \tpl@addmargin{#1}
+ \begin{oldcompactitem}
+ \iftpl@instepenv
+ \renewcommand{\item}{\tpl@origitem}%
+ \fi
+ }%
+ {\end{oldcompactitem}}
+}{}
+% \end{macrocode}
+
+% \Finale
+\endinput