% equation.cd % Anders G S Svensson % Source: equation.nw % $Revision: 1.17 $ % $Date: 1996/02/19 22:40:12 $ \usecarrot{label} \def\equation@cases@begin@{% \left\{\,\vcenter\bgroup \let\\\cr \normalbaselines \m@th \ialign\bgroup $##\hfil$&\quad##\hfil\crcr} \def\equation@cases@end@{\crcr\egroup\egroup\right.} \def\equation@eqalign@select@[#1]{% \@ifundefined@{equation@vbox@#1@}% {\@Warning@{Invalid eqalign option: #1}\equation@vbox@c@}% {\@cs@{equation@vbox@#1@}}% \bgroup \let\\\cr \openup\jot\m@th \ialign\bgroup \strut\hfil$\displaystyle{##}$ &$\displaystyle{{}##}$\hfil\crcr} \let\equation@vbox@t@\vtop \let\equation@vbox@b@\vbox \let\equation@vbox@c@\vcenter \def\equation@eqalign@begin@{% \,\@ifnextchar@[\equation@eqalign@select@{\equation@eqalign@select@[c]}} \def\equation@eqalign@end@{\crcr\egroup\egroup\,} \def\equation@matrix@select@[#1]{% \vcenter\bgroup\let\\\cr \@ifundefined@{equation@lhfil@#1@}% {\@Warning@{Invalid matrix option: #1} \@let@{equation@lhfil@#1@}\hfil \@let@{equation@rhfil@#1@}\hfil} {} \normalbaselines\m@th \ialign\bgroup \@cs@{equation@lhfil@#1@}$##$\@cs@{equation@rhfil@#1@}&&\quad \@cs@{equation@lhfil@#1@}$##$\@cs@{equation@rhfil@#1@}\crcr \mathstrut\crcr\noalign{\kern-\baselineskip}} \let\equation@lhfil@l@\relax \let\equation@rhfil@l@\hfil \let\equation@lhfil@c@\hfil \let\equation@rhfil@c@\hfil \let\equation@lhfil@r@\hfil \let\equation@rhfil@r@\relax \def\equation@matrix@begin@{% \,\@ifnextchar@[\equation@matrix@select@{\equation@matrix@select@[c]}} \def\equation@matrix@end@{% \crcr\mathstrut\crcr \noalign{\kern-\baselineskip}\egroup\egroup\,} \def\pmatrixdelimiters#1#2{% \def\equation@pmatrixdelimiter@left@{#1}% \def\equation@pmatrixdelimiter@right@{#2}} \pmatrixdelimiters() \def\equation@displaymath@begin@{% \@ifmmode@ {\let\equation@displaymath@end@\relax}% {$$\def\equation@displaymath@end@{$$}}} \def\equation@align@displaymath@begin@{\equation@displaymath@begin@} \def\equation@align@displaymath@end@{\equation@displaymath@end@} \def\equation@equation@begin@{% \equation@insertifstarred@\equation@equation@nonumber@ \equation@equation@begin@primitive@} \def\equation@equation@end@{% \equation@stepcounter@\currentcounter \equation@eqno@\equation@number@ \equation@equation@label@ \equation@displaymath@end@\@ignorespaces@} \def\equation@equation@begin@primitive@#1{% \equation@displaymath@begin@ #1\equation@equation@numbering@ \def\equation@align@displaymath@begin@{% \def\equation@align@displaymath@end@{\egroup$\hss\egroup}% \hbox to\z@\bgroup \hss$\vcenter\bgroup \equation@align@nonumbers@ \let\equation@tagcr@\crcr}} \def\equation@insertifstarred@#1#2{#2\relax} \let\equation@stepcounter@\@eat@ \def\equation@equation@nonumber@{% \let\equation@eqnobox@choice@\@eattwo@} \def\rightequationtags{% \def\equation@eqno@{\equation@eqnobox@choice@\eqno}% \let\equation@tagbox@\equation@tagbox@right@} \def\leftequationtags{% \def\equation@eqno@{\equation@eqnobox@choice@\leqno}% \let\equation@tagbox@\equation@tagbox@left@} \def\equation@tagbox@left@#1{\hbox to \displaywidth{#1\hss}} \def\equation@tagbox@right@#1{#1} \rightequationtags \let\equation@eqnobox@choice@\@eattwo@ \def\equation@eqnobox@#1#2{#1{\hbox{#2}}} \def\equation@equation@label@{\equation@equation@label@primitive@} \let\equation@equation@label@primitive@\relax \def\equation@label@generate@{\@warning@{Missing \tag}\@eat@} \def\equation@equation@numbering@{% \def\label##1{% \def\equation@equation@label@primitive@{% \equation@label@generate@{##1}}}% \let\tag\equation@equation@tag@ \def\notag{% \let\equation@eqno@\@eat@ \let\equation@equation@label@\relax}} \def\equation@equation@tag@{% \let\equation@eqnobox@choice@\equation@eqnobox@ \@ifnextchar@*% {\expandafter\equation@equation@tag@star@\@eat@} \equation@equation@tag@nostar@} \def\equation@equation@tag@star@#1{% \def\equation@number@{#1}% \def\equation@label@generate@##1{\definexr{##1}{#1}{empty}}} \def\equation@equation@tag@nostar@#1{% \def\equation@number@{\@cs@{\currentcounter tag}{#1}}% \def\equation@label@generate@##1{\definexr{##1}{#1}\currentcounter}} \def\equation@display@begin@{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@display@begin@primitive@} \def\equation@display@end@{% \equation@crcr@ \egroup \equation@align@displaymath@end@\@ignorespaces@} \def\equation@display@begin@primitive@#1{% \equation@align@displaymath@begin@ #1\equation@align@numbering@ \displ@y \tabskip\z@skip \halign\bgroup &{\gdef\equation@crcr@{\equation@cr@}}% \hbox to\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr} \def\equation@subdisplay@begin@{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@subdisplay@begin@primitive@} \def\equation@subalign@numbering@{% \def\equation@number@{\subequationtag\thesubequation}% \def\currentcounter{subequation}% \equation@tweaknumbering@ \equation@align@numbering@primitive@} \let\equation@tweaknumbering@\relax \def\equation@subdisplay@begin@primitive@#1{% \equation@display@begin@primitive@{#1\equation@subalign@numbering@\@eat@}} \def\equation@align@begin@{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@align@begin@primitive@} \def\equation@align@end@{% \equation@crcr@ \egroup \equation@align@displaymath@end@\@ignorespaces@} \def\equation@align@begin@primitive@#1{% \equation@align@displaymath@begin@ #1\equation@align@numbering@ \displ@y \tabskip\centering \halign to\displaywidth\bgroup &{\gdef\equation@crcr@{\equation@cr@}}% \hfil$\@lign\displaystyle{##}$\tabskip\z@skip &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering\crcr} \def\equation@subalign@begin@{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@subalign@begin@primitive@} \def\equation@subalign@begin@primitive@#1{% \equation@align@begin@primitive@{#1\equation@subalign@numbering@\@eat@}} \def\equation@align@numbering@primitive@{% \def\\{\equation@cr@}% \global\let\equation@align@label@\relax \global\let\equation@align@label@generate@\equation@label@generate@ \def\label##1{% \gdef\equation@align@label@{\equation@align@label@generate@{##1}}}% \let\tag\equation@align@tag@ \let\notag\equation@align@notag@} \def\equation@align@numbering@{% \def\currentcounter{equation}% \equation@align@numbering@primitive@} \def\equation@align@nonumbers@{% \def\equation@cr@{\crcr}\def\equation@crcr@{\crcr}}% \let\equation@align@notag@\equation@align@nonumbers@ \def\equation@align@tag@{\relax \def\equation@cr@{\equation@tagcr@}% \gdef\equation@crcr@{\equation@tagcr@}% \@ifnextchar@*% {\expandafter\equation@align@tag@star@\@eat@}% \equation@align@tag@nostar@} \def\equation@align@tag@star@#1{% \equation@align@buildtab@\@echo@{#1}% \gdef\equation@align@label@generate@##1{\definexr{##1}{#1}{empty}}} \def\equation@align@tag@nostar@#1{% \equation@align@buildtab@{\@cs@{\currentcounter tag}}{#1}% \gdef\equation@align@label@generate@##1{\definexr{##1}{#1}\currentcounter}} \def\equation@tagcr@{% \equation@numbertab@tag@ \crcr \noalign{% \equation@align@label@ \global\let\equation@align@label@\relax \global\let\equation@align@label@generate@\@eat@ \gdef\equation@crcr@{\crcr}}} \def\equation@align@buildtab@#1#2{% \gdef\equation@numbertab@tag@{&\omit \llap{\equation@tagbox@{#1{#2}}}}} \let\equation@crcr@\crcr \let\equation@cr@\crcr \let\equation@autocr@\crcr \def\equationtag#1{(#1)} \let\subequationtag\equationtag \DeclareOption{number} {\usecarrot{counter} \newcounter{equation} \newcounter{subequation}[equation] \def\thesubequation{\theequation\alph{subequation}} \def\equation@insertifstarred@#1#2{\@ifnextchar@*{\@eatnextchar@{#2#1}}{#2\relax}} \let\equation@stepcounter@\stepcounter \let\equation@eqnobox@choice@\equation@eqnobox@ \def\equation@number@{\equationtag\theequation} \def\equation@equation@nonumber@{% \let\equation@eqnobox@choice@\@eattwo@ \let\equation@stepcounter@\@eat@} \def\equation@label@generate@#1{\definelabel{#1}\currentcounter} \def\equation@equation@numbering@{% \def\currentcounter{equation}% \def\label##1{% \def\equation@equation@label@primitive@{% \equation@label@generate@{##1}}}% \let\tag\equation@equation@tag@ \let\notag\equation@equation@notag@} \def\equation@equation@tag@{\relax \let\equation@stepcounter@\@eat@ \@ifnextchar@*% {\expandafter\equation@equation@tag@star@\@eat@} \equation@equation@tag@nostar@} \def\equation@equation@notag@{% \let\equation@eqno@\@eat@ \let\equation@equation@tag@\relax \let\equation@stepcounter@\@eat@} \def\equation@tweaknumbering@{% \@def@{counter@ctr++@subequation}{% \stepcounter{equation}% \counter@stepcounter@{subequation}% \@gdef@{counter@ctr++@subequation}{% \counter@stepcounter@{subequation}}}}% \def\equation@autocr@{% \stepcounter\currentcounter \equation@align@label@ \equation@numbertab@ \crcr \noalign{% \global\let\equation@align@label@\relax \global\let\equation@align@label@generate@\equation@label@generate@ \gdef\equation@crcr@{\crcr}}} \let\equation@cr@\equation@autocr@ \def\equation@numbertab@{&\omit \llap{\equation@tagbox@\equation@number@}}} \DeclareOption{arg} {\def\cases#1{\equation@cases@begin@ #1\equation@cases@end@} \def\equation@eqalign@arg@[#1]#2{% \,\equation@eqalign@select@[#1]#2\equation@eqalign@end@} \def\eqalign{\null \@ifnextchar@[\equation@eqalign@arg@{\equation@eqalign@arg@[c]}} \def\equation@matrix@arg@[#1]#2{% \,\equation@matrix@select@[#1]#2\equation@matrix@end@} \def\equation@pmatrix@arg@[#1]#2{% \left\equation@pmatrixdelimiter@left@ \equation@matrix@arg@[#1]#2\equation@matrix@end@ \right\rpmtxdel@\ignorespaces} \def\matrix{\null \@ifnextchar@[\equation@matrix@arg@{\equation@matrix@arg@[c]}} \def\pmatrix{\null \@ifnextchar@[\equation@pmatrix@arg@{\equation@pmatrix@arg@[c]}} \def\equation{% \equation@insertifstarred@\equation@equation@nonumber@ \equation@equation@arg@} \def\equation@equation@arg@#1#2{% \equation@equation@begin@primitive@#1#2\equation@equation@end@} \def\display{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@display@arg@} \def\equation@display@arg@#1#2{% \equation@display@begin@primitive@#1#2\equation@display@end@} \def\subdisplay{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@subdisplay@arg@} \def\equation@subdisplay@arg@#1#2{% \equation@subdisplay@begin@primitive@#1#2\equation@display@end@} \def\align{% \equation@insertifstarred@\equation@align@nonumbers@\equation@align@arg@} \def\equation@align@arg@#1#2{% \equation@align@begin@primitive@#1#2\equation@align@end@} \def\subalign{% \equation@insertifstarred@\equation@align@nonumbers@ \equation@subalign@arg@} \def\equation@subalign@arg@#1#2{% \equation@subalign@begin@primitive@#1#2\equation@align@end@}} \DeclareOption{block} {\usecarrot{environ} \newpair*{cases}{\equation@cases@begin@}{\equation@cases@end@} \newpair*{eqalign}{\null\equation@eqalign@begin@}{\equation@eqalign@end@} \newpair*{matrix}{\null\equation@matrix@begin@}{\equation@matrix@end@} \newpair*{pmatrix} {\left\equation@pmatrixdelimiter@left@ \equation@matrix@begin@} {\equation@matrix@end@ \right\equation@pmatrixdelimiter@right@} \newpair*{equation}{\equation@equation@begin@}{\equation@equation@end@} \newpair*{display}{\equation@display@begin@}{\equation@display@end@} \newpair*{subdisplay}{\equation@subdisplay@begin@}{\equation@display@end@} \newpair*{align}{\equation@align@begin@}{\equation@align@end@} \newpair*{subalign}{\equation@subalign@begin@}{\equation@align@end@}} \DeclareOption{environ} {\usecarrot{environ} \newpair{cases}{\equation@cases@begin@}{\equation@cases@end@} \newpair{eqalign}{\null\equation@eqalign@begin@}{\equation@eqalign@end@} \newpair{matrix}{\null\equation@matrix@begin@}{\equation@matrix@end@} \newpair{pmatrix} {\left\equation@pmatrixdelimiter@left@ \equation@matrix@begin@} {\equation@matrix@end@\right\equation@pmatrixdelimiter@right@} \newpair{equation}{\equation@equation@begin@}{\equation@equation@end@} \newpair{display}{\equation@display@begin@}{\equation@display@end@} \newpair{subdisplay}{\equation@subdisplay@begin@}{\equation@display@end@} \newpair{align}{\equation@align@begin@}{\equation@align@end@} \newpair{subalign}{\equation@subalign@begin@}{\equation@align@end@}} \IfOption{arg}{}{\IfOption{block}{}{\Option{environ}}} \def\intertext#1{\noalign{#1}}