From 5af556246a5e3fe0dcd57a41e2c330f509f1e3a9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 8 Sep 2008 16:10:33 +0000 Subject: new latex package termlist (18aug08) git-svn-id: svn://tug.org/texlive/trunk@10491 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/termlist/termlist.dtx | 408 +++++++++++++++++++++ 1 file changed, 408 insertions(+) create mode 100644 Master/texmf-dist/source/latex/termlist/termlist.dtx (limited to 'Master/texmf-dist/source/latex/termlist') 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 +% +%\NeedsTeXFormat{LaTeX2e} +%\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 +% +%<*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 +% +%<*ignore> +\fi +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{termlist} +\usepackage{sverb} +\begin{document} +\DocInput{termlist.dtx} +\end{document} +% +% \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 +% +% \fi +% +% \Finale +\endinput -- cgit v1.2.3