summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/eqnarray
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-11 23:52:49 +0000
committerKarl Berry <karl@freefriends.org>2006-01-11 23:52:49 +0000
commit04ffa713ed0f042fc5cf25048dc7a0ec1e883819 (patch)
tree6d3e6091e93a59f16f89ec6341f5ecbc8424d66d /Master/texmf-dist/source/latex/eqnarray
parent16ac8348bacde6d6f553362bad641464ea2a8aab (diff)
trunk/Master/texmf-dist/source/latex/eqnarray
git-svn-id: svn://tug.org/texlive/trunk@253 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/eqnarray')
-rw-r--r--Master/texmf-dist/source/latex/eqnarray/README15
-rw-r--r--Master/texmf-dist/source/latex/eqnarray/eqnarray.bbl0
-rw-r--r--Master/texmf-dist/source/latex/eqnarray/eqnarray.drv13
-rw-r--r--Master/texmf-dist/source/latex/eqnarray/eqnarray.dtx308
-rw-r--r--Master/texmf-dist/source/latex/eqnarray/eqnarray.ins5
5 files changed, 341 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/eqnarray/README b/Master/texmf-dist/source/latex/eqnarray/README
new file mode 100644
index 00000000000..41236991d77
--- /dev/null
+++ b/Master/texmf-dist/source/latex/eqnarray/README
@@ -0,0 +1,15 @@
+I have put in the directory /incoming of ftp.dante.de a subdirectory
+eqnarray with the two files eqnarray.drv and eqnarray.dtx. They
+contain version 1.2 of the equationarray style. They should replace
+version 1.1 in /tex-archive/macros/latex/contrib/supported/eqnarray
+
+--------------------------------------------------------------------------
+ Roland Winkler
+ Institut fuer Theoretische Physik Phone: ++49-941-943 2012
+ Universitaet Regensburg Fax: ++49-941-943 4382
+ 93040 Regensburg
+ Germany Telex: 65 658 unire d
+
+ e-mail (RFC-822): roland.winkler@physik.uni-regensburg.de
+ e-mail (X.400): G=Roland S=Winkler OU=physik P=uni-regensburg A=d400 C=de
+--------------------------------------------------------------------------
diff --git a/Master/texmf-dist/source/latex/eqnarray/eqnarray.bbl b/Master/texmf-dist/source/latex/eqnarray/eqnarray.bbl
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/eqnarray/eqnarray.bbl
diff --git a/Master/texmf-dist/source/latex/eqnarray/eqnarray.drv b/Master/texmf-dist/source/latex/eqnarray/eqnarray.drv
new file mode 100644
index 00000000000..6e89ff2a333
--- /dev/null
+++ b/Master/texmf-dist/source/latex/eqnarray/eqnarray.drv
@@ -0,0 +1,13 @@
+% Utility for unpacking eqnarray.sty:
+%
+% first type 'latex docstrip' in order to obtain eqnarray.sty,
+% then type 'latex eqnarray.drv' to obtain the documentation
+%
+\documentclass{article}
+\usepackage{doc}
+\usepackage{array}
+\usepackage{eqnarray}
+\setlength{\parindent}{0ex}
+\begin{document}
+ \DocInput{eqnarray.dtx}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/eqnarray/eqnarray.dtx b/Master/texmf-dist/source/latex/eqnarray/eqnarray.dtx
new file mode 100644
index 00000000000..b543d7f1e5e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/eqnarray/eqnarray.dtx
@@ -0,0 +1,308 @@
+\def\fileversion{1.2}
+\def\filedate{17 May 1995}
+\def\docdate{17 May 1995}
+%
+% \MakeShortVerb{\|}
+%
+% \iffalse
+% Version 1.1: \def\filedate{jan 1993}, \def\docdate{9 jan 1995}
+% Version 1.2: Piet van Oostrum <piet@cs.ruu.nl> added the code which
+% is necessary for the |fleqn| option.
+% \def\filedate{17 May 1995} \def\docdate{17 May 1995}
+% \fi
+%
+% \title{The |equationarray| environment}
+% \author{Roland Winkler\\ \normalsize
+% |roland.winkler@physik.uni-regensburg.de|}
+% \maketitle
+% \begin{abstract}\noindent
+% The |equationarray| combines the |eqnarray| and the |array| environment.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% Problem: The |eqnarray| environment is too restrictive because it is
+% only prepared to accept three part equations. Some applications
+% require more sophisticated mathematics, so three parts aren't
+% enough. Simultaneously, we would like to have our equations
+% numbered. If the equations aren't to be numbered, then the |array|
+% environment suffices (nevertheless it is often easier to use the
+% |equationarray*| environment than both an |equation| plus an |array|
+% environment). If the equations aren't to be aligned with
+% each other, then the |equation| environment is preferred.
+%
+% The following is a new version of Tony Li's |equationarray|
+% environment modified such that it is compatible with Frank Mittelbach's
+% |array| environment, i.e. it should be possible to use all options
+% of the |array| environment. If you find a bug (see below!) or
+% if you make any improvements, I'd like to hear about them.
+%
+% When writing the |equationarray| environment I used the
+% version v2.1b of the |array| environment. The original version of
+% |equationarray| was written by Tony Li, University of Southern
+% California, tli@sargas.usc.edu starting 6/15/88.
+%
+% I know that my documentation of the |equationarray| environment is
+% rather short -- but maybe nobody else might like to use it and
+% even this work was superfluous. So if you think that it would be
+% useful to have a better documentation please let me know.
+%
+% \section{Example}
+%
+% We give a short example for the use of |equationarray|. The
+% text is
+% %
+% \begin{verbatim}
+% \newcolumntype{e}{@{}}
+% \begin{equationarray}{rclel}
+% \phi & = & \sum \bigg( & \frac{xxxxxxxxxx}{\phi}
+% \nonumber\\*[3ex]
+% & & & + \frac{yyyyyyyyyy}{\phi} \bigg) \\[4ex]
+% & = & \multicolumn{2}{l}{ \frac{zzzzzzzzzz}{\phi} }
+% \end{equationarray}
+% \end{verbatim}
+% %
+% and we obtain (usually my formulas are much longer $\ldots$)
+% %
+% \newcolumntype{e}{@{}}
+% \begin{equationarray}{rclel}
+% \phi & = & \sum \bigg( & \frac{xxxxxxxxxx}{\phi}
+% \nonumber\\*[3ex]
+% & & & + \frac{yyyyyyyyyy}{\phi} \bigg) \\[4ex]
+% & = & \multicolumn{2}{l}{ \frac{zzzzzzzzzz}{\phi} }
+% \end{equationarray}
+% %
+% One can avoid pagebreaks between two lines by using the
+% star-version |\\*|. There is also the star-version |equationarray*|
+% which has usually no linenumbers. But if for a particular line you
+% still want a linenumber, you can use |\yesnumber|, (I find this
+% easier than many lines with |\nonumber|). With the options |[l]|
+% or |[r]| the |equationarray| will appear flushleft or flushright,
+% with the options |[c]| the |equationarray| will be centered,
+% e.g. |\begin{equationarray}[l]{rclll}|. The default will be centering
+% without the |fleqn| option and left-justified, indented by |\mathindent|
+% with the |fleqn| option. Thanks to Piet van Oostrum |<piet@cs.ruu.nl>|
+% who added the code which is necessary for the |fleqn| option.
+%
+% \section{Bugs}
+%
+% The equationarray has a slightly modified version of
+% |\multicolumn| because we must count the |\span|ed columns. Thus
+% if you have |\multicolumn| within an |array| within the
+% |equationarray| environment, then you might run into difficulties
+% if you have a line with less |&|'s than columns defined in the preamble.
+%
+% Thus you can either fill up the end of a half empty line with
+% extra |&|'s or you can put the original definition of
+% |\multicolumn| within the definition of the |array| command.
+%
+% \section{The code}
+%
+% \begin{macrocode}
+\typeout{equationarray \fileversion\space<\filedate>}
+\typeout{English documentation\space\space<\docdate>}
+% \end{macrocode}
+%
+% Process the |fleqn| option.
+% \begin{macrocode}
+\def\eqnarr@left{\@centering}
+\let\eqnarr@opts\relax
+\DeclareOption{fleqn}{
+ \def\eqnarr@left{\mathindent}
+ \def\eqnarr@opts{\displaywidth\linewidth
+ \advance\displaywidth-\mathindent} }
+\ProcessOptions
+% \end{macrocode}
+%
+% \begin{macro}{\equationarray}
+% \begin{macrocode}
+\def\equationarray{%
+ \col@sep\arraycolsep
+ \def\d@llarbegin{$\displaystyle}%
+ \def\d@llarend{$}%
+ \stepcounter{equation}%
+ \let\@currentlabel=\theequation
+ \set@eqnsw \global\@eqcnt\z@ \global\@eqargcnt\z@
+ \let\@classz\@eqnclassz
+ \def\multicolumn##1##2##3{\@eqnmulticolumn{##1}{##2}{##3}%
+ \global\advance\@eqcnt##1
+ \global\advance\@eqcnt\m@ne}%
+ \def\@halignto{to\displaywidth}%
+ \@ifnextchar[{\@equationarray}{\@equationarray[.]}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@eqnmulticolumn}
+% |\@eqnmulticolumn| equals the original version of |\multicolumn|.
+% \begin{macrocode}
+\let\@eqnmulticolumn=\multicolumn
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\nonumber,\yesnumber}
+% Note, that |\nonumber| is already defined in standard latex.tex
+% \begin{macrocode}
+% \def\nonumber{\global\@eqnswfalse}
+\def\yesnumber{\global\@eqnswtrue}
+\let\set@eqnsw=\yesnumber
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@amper}
+% We need a macro for |&| that expands at the right time.
+% \begin{macrocode}
+\def\@amper{&}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@eqargcnt}
+% We must count the number of columns defined in the preamble so
+% that we can fill every line with exactly |\@eqargcnt| copies of
+% |&| before we insert the equation number.
+% \begin{macrocode}
+\newcount\@eqargcnt % counts number of columns
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@equationarray}
+% The definition of |\@equationarray| follows the \TeX book,
+% Exercise 22.9
+% \begin{macrocode}
+\def\@equationarray[#1]#2{%
+ \eqnarr@opts
+ \@tempdima \ht \strutbox
+ \advance \@tempdima by\extrarowheight
+ \setbox\@arstrutbox=\hbox{\vrule
+ \@height\arraystretch \@tempdima
+ \@depth\arraystretch \dp \strutbox
+ \@width\z@}%
+ \gdef\advance@eqargcnt{\global\advance\@eqargcnt\@ne}%
+ \begingroup
+ \@mkpream{#2}%
+ \xdef\@preamble{%
+ \if #1l\tabskip\z@ \else\if #1r\tabskip\@centering
+ \else\if #1c\tabskip\@centering
+ \else\tabskip\eqnarr@left \fi\fi\fi
+ \halign \@halignto
+ \bgroup \tabskip\z@ \@arstrut \@preamble
+ \if #1l\tabskip\@centering \else\if #1r\tabskip\z@
+ \else\tabskip\@centering \fi\fi
+% \end{macrocode}
+%
+% Here we need an extra column for the equation-number
+%
+% \begin{macrocode}
+ \@amper\llap{\@sharp}\tabskip\z@\cr}%
+ \endgroup
+ \gdef\advance@eqargcnt{}%
+ \bgroup
+ \let\@sharp## \let\protect\relax
+ \m@th \let\\=\@equationcr
+ \let\par\@empty
+ $$ % $$ BRACE MATCHING HACK
+ \lineskip \z@
+ \baselineskip \z@
+ \@preamble}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@eqnclassz}
+% |\@eqnclassz| does the same thing as |\@classz| except that we add\\
+% |\advance@eqargcnt|
+% \begin{macrocode}
+\def\@eqnclassz{\@classx
+ \@tempcnta \count@
+ \advance@eqargcnt
+ \prepnext@tok
+ \@addtopreamble{%
+ \global\advance\@eqcnt\@ne
+ \ifcase \@chnum
+ \hfil \d@llarbegin \insert@column \d@llarend\hfil \or
+ \d@llarbegin \insert@column \d@llarend \hfil \or
+ \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or
+ $\vcenter
+ \@startpbox{\@nextchar}\insert@column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@column \@endpbox
+ \fi}\prepnext@tok}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\endequationarray}
+% \begin{macrocode}
+\def\endequationarray{\@zequationcr
+ \egroup
+ \global\advance\c@equation\m@ne $$ % $$ BRACE MATCHING HACK
+ \egroup\global\@ignoretrue
+ \gdef\@preamble{}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@equationcr}
+% If we have |\\*| the command |\@equationcr| avoids pagebreaks
+% \begin{macrocode}
+\def\@equationcr{${\ifnum0=`}\fi\@ifstar{\global\@eqpen\@M
+ \@xequationcr}{\global\@eqpen\interdisplaylinepenalty
+ \@xequationcr}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@xequationcr}
+% \begin{macrocode}
+\def\@xequationcr{%
+ \@ifnextchar[{\@argequationcr}{\ifnum0=`{\fi}${}%
+ \@zequationcr}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@argequationcr}
+% \begin{macrocode}
+\def\@argequationcr[#1]{\ifnum0=`{\fi}${}\ifdim #1>\z@
+ \@xargequationcr{#1}\else
+ \@yargequationcr{#1}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@xargequationcr}
+% \begin{macrocode}
+\def\@xargequationcr#1{\unskip
+ \@tempdima #1\advance\@tempdima \dp \@arstrutbox
+ \vrule \@depth\@tempdima \@width\z@
+ \@zequationcr\noalign{\penalty\@eqpen}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@yargequationcr}
+% \begin{macrocode}
+\def\@yargequationcr#1{%
+ \@zequationcr\noalign{\penalty\@eqpen\vskip #1}}
+% \end{macrocode}
+%
+% We add |&\omit| for those columns that will remain empty.
+% Note that without |\omit| we already have |\advance\@eqcnt\@ne| in
+% the preamble.
+%
+% \begin{macrocode}
+\def\@zequationcr{\@whilenum\@eqcnt <\@eqargcnt
+ \do{\@amper\omit\global\advance\@eqcnt\@ne}%
+% \end{macrocode}
+% We add an extra alignment tab for the equationnumber
+% \begin{macrocode}
+ \@amper
+ \if@eqnsw\@eqnnum\stepcounter{equation}\fi
+ \set@eqnsw\global\@eqcnt\z@\cr}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\equationarray*}
+% Finally we define the |equationarray*| environment. It does exactly
+% the same thing as |\equationarray| except that we |\let| the command
+% |\set@eqnsw| equal |\nonumber|
+% \begin{macrocode}
+\@namedef{equationarray*}{%
+ \let\set@eqnsw=\nonumber \equationarray}
+\@namedef{endequationarray*}{\endequationarray}
+% \end{macrocode}
+% \end{macro}
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/eqnarray/eqnarray.ins b/Master/texmf-dist/source/latex/eqnarray/eqnarray.ins
new file mode 100644
index 00000000000..ec8031fb843
--- /dev/null
+++ b/Master/texmf-dist/source/latex/eqnarray/eqnarray.ins
@@ -0,0 +1,5 @@
+\def\batchfile{eqnarray.ins}
+\input docstrip
+ \keepsilent
+ \generateFile{eqnarray.sty}f{\from{eqnarray.dtx}{code}}
+\end