summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/termlist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-09-08 16:10:33 +0000
committerKarl Berry <karl@freefriends.org>2008-09-08 16:10:33 +0000
commit5af556246a5e3fe0dcd57a41e2c330f509f1e3a9 (patch)
treec57f9aa90dd0dadd7a932679e84adec5f33358a1 /Master/texmf-dist/source/latex/termlist
parentc77d6ba572e2c9f09b37b64a167e8c13f893c5be (diff)
new latex package termlist (18aug08)
git-svn-id: svn://tug.org/texlive/trunk@10491 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/termlist')
-rw-r--r--Master/texmf-dist/source/latex/termlist/termlist.dtx408
1 files changed, 408 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/termlist/termlist.dtx b/Master/texmf-dist/source/latex/termlist/termlist.dtx
new file mode 100644
index 00000000000..122ac553f45
--- /dev/null
+++ b/Master/texmf-dist/source/latex/termlist/termlist.dtx
@@ -0,0 +1,408 @@
+% \iffalse meta-comment
+%
+% The termlist package provides environments to indent and label any
+% kind of terms with the equation counter, like mathematical terms are
+% indented and labelled inside an equation or eqnarray environment.
+%
+% Copyright 2008 Bernd Rellermeyer
+%
+% This file may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3b of this
+% license or (at your option) any later version. The latest version
+% of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3b or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% Unpacking:
+% (a) If termlist.ins is present:
+% tex termlist.ins
+% (b) Without termlist.ins:
+% tex termlist.dtx
+% (c) If you insist on using LaTeX
+% latex \let\install=y\input{termlist.dtx}
+% (quote the arguments according to the demands of your shell)
+%
+% Documentation:
+% (a) If termlist.drv is present:
+% latex termlist.drv
+% (b) Without termlist.drv:
+% latex termlist.dtx; ...
+% The class ltxdoc loads the configuration file ltxdoc.cfg if
+% available. Here you can specify further options, e.g. use A4
+% as paper format:
+% \PassOptionsToClass{a4paper}{article}
+%
+% Programm calls to get the documentation:
+% pdflatex termlist.dtx
+% pdflatex termlist.dtx
+%
+% Installation:
+% TDS:tex/latex/termlist/termlist.sty
+% TDS:doc/latex/termlist/termlist.pdf
+% TDS:source/latex/termlist/termlist.dtx
+%
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{termlist}[2008/08/18 v1.0 First release]
+%<*ignore>
+\begingroup
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase 0\ifx\install y1\fi\expandafter
+ \ifx\csname processbatchFile\endcsname\relax\else1\fi
+ \ifx\fmtname\x\else 1\fi\relax
+\else\csname fi\endcsname
+%</ignore>
+%<*install>
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/termlist}
+
+\preamble
+
+Label any kind of terms with the equation counter.
+
+Copyright 2008 Bernd Rellermeyer
+
+This file may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3b of this
+license or (at your option) any later version. The latest version
+of this license is in:
+
+http://www.latex-project.org/lppl.txt
+
+and version 1.3b or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+\endpreamble
+
+\generate{\file{termlist.sty}{\from{termlist.dtx}{package}}}
+
+\ifToplevel{
+\obeyspaces
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space termlist.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `termlist.dtx'}
+\Msg{* through LaTeX2e.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{termlist}
+\usepackage{sverb}
+\begin{document}
+\DocInput{termlist.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{67}
+% \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 \~}
+%
+%
+% \changes{v1.0}{2008/08/18}{First release}
+%
+% \GetFileInfo{termlist.sty}
+%
+% \title{The \textsf{termlist} package}
+% \author{Bernd Rellermeyer}
+% \date{\fileversion, \filedate}
+%
+% \maketitle
+%
+% \begin{abstract}\noindent
+% The \textsf{termlist} package provides environments to indent and
+% label any kind of terms with the |equation| counter, like
+% mathematical terms are indented and labelled inside an |equation|
+% or |eqnarray| environment.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% The \LaTeX\ typesetting system is widely used by mathematicians. A
+% number of constructs, like the |equation| or |eqnarray|
+% environments, fit the specific needs of mathematical texts. The
+% math modes are intrinsic parts of \TeX\ and have left their marks on
+% the whole system.
+%
+% The \textsf{termlist} package is a generalization of the |equation|
+% and |eqnarray| environments, especially for non-mathematical texts.
+% It provides environments to typeset any kind of non-mathematical
+% terms, like propositions, hypotheses, or examples, in the same way
+% mathematical terms are typesetted inside an |equation| or |eqnarray|
+% environment. I.\,e.\, the terms are indented and labelled with a
+% continuous number. For consistency with the |equation| and
+% |eqnarray| environments, the same |equation| counter is used for
+% labelling the terms.
+%
+% The \textsf{termlist} package is based on an idea of the
+% \textsf{covington} package.
+%
+% \section{Usage}
+%
+% The \textsf{termlist} package provides the four new environments
+% |termlist|, |term|, |termlist*|, and |term*|.
+%
+% \DescribeEnv{termlist} The |termlist| environment is the fundamental
+% one of these environments. It is a list of terms, each indented and
+% labelled with the |equation| counter on the left side of the page by
+% default. The default label can be changed by the optional argument
+% of the |\item| command.
+%
+% For consistency with the |equation| and |eqnarray| environments, the
+% \textsf{leqno} package or something similar should be used to print
+% the labels of mathematical terms inside these environments also on
+% the left side of the page.
+%
+% \begin{demo}{termlist}
+% \begin{termlist}
+% \item Here is an example of
+% the \verb|termlist|
+% environment.
+% \item\label{second item}
+% Each term is indented
+% and labelled with the
+% \verb|equation| counter.
+% \item[(\ref{second item}a)]
+% The label of the term
+% can be changed by the
+% optional argument of the
+% \verb|\item| command.
+% \item Using the optional
+% argument of the
+% \verb|\item| command
+% does not increment the
+% \verb|equation| counter.
+% \end{termlist}
+% \end{demo}
+%
+% \DescribeEnv{term} The |term| environment is a |termlist|
+% environment with only one list item.
+%
+% \begin{demo}{term}
+% \begin{term}
+% The \verb|term| environment
+% labels the term with the
+% \verb|equation| counter.
+% \end{term}
+% \end{demo}
+%
+% \DescribeEnv{termlist*} The |termlist*| environment is the same as
+% the |termlist| environment, but with empty labels.
+%
+% \begin{demo}{termlist*}
+% \begin{termlist*}
+% \item The \verb|termlist*|
+% environment is a list of
+% terms.
+% \item The terms do not
+% have labels.
+% \end{termlist*}
+% \end{demo}
+%
+% \DescribeEnv{term*} The |term*| environment is the same as the
+% |term| environment, but with an empty label.
+%
+% \begin{demo}{term*}
+% \begin{term*}
+% The \verb|term*|
+% environment does not
+% label the term.
+% \end{term*}
+% \begin{term}
+% Using the
+% \verb|termlist*|
+% or \verb|term*|
+% environment does not
+% increment the
+% \verb|equation|
+% counter.
+% \end{term}
+% \end{demo}
+%
+% The four environments provided by this package can be customized by
+% the three macros |\termlabel|, |\termlabelfont|, and |\termindent|.
+%
+% \DescribeMacro\termlabel The label of each term is defined by the
+% macro |\termlabel|. For consistency with the |equation| and
+% |eqnarray| environments, its default value is |(\theequation)|. Use
+% one of the commands
+% \begin{termlist*}
+% \item |\def\termlabel{|\meta{labeldescription}|}| (\TeX), or
+% \item |\renewcommand{\termlabel}{|\meta{labeldescription}|}|
+% (\LaTeX)
+% \end{termlist*}
+% to change its value. Note that even if the value of |\termlabel|
+% does not contain something like |\theequation|, the |equation|
+% counter is incremented with each list item.
+%
+% \DescribeMacro\termlabelfont The label font and label color is
+% defined by the macro |\termlabelfont|. For consistency with the
+% |equation| and |eqnarray| environments, its default value is
+% |\normalfont\normalcolor|. Use one of the commands
+% \begin{termlist*}
+% \item |\def\termlabelfont{|\meta{fontdescription}|}| (\TeX), or
+% \item |\renewcommand{\termlabelfont}{|\meta{fontdescription}|}|
+% (\LaTeX)
+% \end{termlist*}
+% to change its value.
+%
+% Note that for the |equation| and |eqnarray| environments, the whole
+% label, including its font and color, is defined by the macro
+% |\@eqnnum|. For consistency, |\termlabel| and |\termlabelfont|
+% should always have values that match the value of |\@eqnnum|.
+%
+% \DescribeMacro\termindent The amount of the left indentation of each
+% term is defined by the macro |\termindent|. Its default value is
+% |\leftmargini|. This is also the default value of the macro
+% |\mathindent|, which defines the amount of the left indentation of
+% mathematical terms inside an |equation| or |eqnarray| environment,
+% if the \textsf{fleqn} package is used. In this case, |\termindent|
+% and |\mathindent| should always have the same values. Use on of the
+% commands
+% \begin{termlist*}
+% \item |\termindent|\meta{dimension} (\TeX), or
+% \item |\setlength{\termindent}{|\meta{dimension}|}| (\LaTeX)
+% \end{termlist*}
+% to change the value of |\termindent|.
+%
+% \StopEventually{}
+%
+% \iffalse
+%<*package>
+% \fi
+%
+% \section{Implementation}
+%
+% \begin{macro}{\termlabel}
+% The |termlabel| macro defines the label of each term inside the
+% |termlist| and |term| environments.
+% \begin{macrocode}
+\def\termlabel{(\theequation)}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\termlabelfont}
+% \begin{macro}{\@termlistmklab}
+% The |termlabelfont| macro defines the font and color of the label
+% of each term inside the |termlist| and |term| environments. The
+% macro |\@termlistmklab| is used internally in the definition of
+% the |termlist| environment.
+% \begin{macrocode}
+\def\termlabelfont{\normalfont\normalcolor}
+\def\@termlistmklab#1{\termlabelfont #1\hfil}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\termindent}
+% The |termindent| macro defines the amount of the left indentation
+% of each term inside one of the four environments provided by this
+% package.
+% \begin{macrocode}
+\newdimen\termindent
+\termindent\leftmargini
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{termlist}
+% The |termlist| environment is implemented as a list. Each list
+% item has a default label defined by |\termlabel| and
+% |\@termlistmklab| and left and right margins defined by
+% |\termindent| and |\leftmargini|, resp. The indentation
+% |\listparindent| and the amount of space between two paragraphs
+% |\parsep| inside the list are set to their corresponding values
+% outside the list, |\parindent| and |\parskip|, resp. The total
+% amount of space between two list items is the sum of |\parsep| and
+% |\itemsep|. The extra amount of space |\itemsep| is set to such a
+% value, that the total amount of space between two list items is
+% the maximum of |\parsep| and the extra amount of space |\jot|
+% between two lines inside an |eqnarray| environment.
+% \begin{macrocode}
+\newenvironment{termlist}{%
+ \list{\termlabel}{%
+ \@nmbrlisttrue
+ \def\@listctr{equation}%
+ \leftmargin\termindent
+ \rightmargin\leftmargini
+ \labelwidth\leftmargin
+ \advance\labelwidth-\labelsep
+ \listparindent\parindent
+ \parsep\parskip
+ \ifdim\parsep<\jot
+ \itemsep\jot
+ \advance\itemsep-\parsep
+ \else
+ \itemsep\z@skip
+ \fi
+ \let\makelabel\@termlistmklab}}{%
+ \endlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{term}
+% The |term| environment is implemented as a |termlist| environment
+% with only one list item.
+% \begin{macrocode}
+\newenvironment{term}{%
+ \begin{termlist}\item\relax}{%
+ \end{termlist}}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{termlist*}
+% The |termlist*| environment is implemented as a |termlist|
+% environment with empty labels.
+% \begin{macrocode}
+\newenvironment{termlist*}{%
+ \termlist\@nmbrlistfalse\let\termlabel\relax}{%
+ \endlist}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{term*}
+% The |term*| environment is implemented as a |termlist*|
+% environment with only one list item.
+% \begin{macrocode}
+\newenvironment{term*}{%
+ \begin{termlist*}\item\relax}{%
+ \end{termlist*}}
+% \end{macrocode}
+% \end{environment}
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput