% some simple math constructs \unprotect \def\numberedeqalign {\doifelse\@@fmlocation\v!left\leqalignno\eqalignno} \def\doalignNR[#1][#2]% {\doifsomething{#1} {\doifelse{#1}{+} {\doformulanumber[][#2][]{}} {\doformulanumber[#1][#2][]{}}}} \long\def\startalign#1\stopalign {\def\NC{\crcr\def\NC####1{&####1}}% \def\EQ{&=} \def\NR{&\dodoubleempty\doalignNR}% % amstex compatibility mode: \def\notag{\def\\{&\crcr}}% \def\\{&\doalignNR[+][]\crcr}% % end of compatibility mode \numberedeqalign{#1\relax}} %D \startbuffer %D \placeformula \startformula \eqalignno { %D a &= b & \formulanumber \cr %D c &= d \cr %D &= e \cr %D &= f & \formulanumber %D } \stopformula %D \stopbuffer %D %D \typebuffer \getbuffer %D %D \startbuffer %D \placeformula \startformula \startalign %D \NC a \EQ b \NR[+] %D \NC c \EQ d \NR %D \NC \EQ f \NR[for:hans] %D \NC \EQ g \NR[for:whoelse][a] %D \NC \EQ h \NR[for:whomore][b] %D \NC \EQ i \NR %D \stopalign \stopformula %D \stopbuffer %D %D \typebuffer \getbuffer %D %D \startbuffer %D \placeformula \startformula \startalign %D \NC a \EQ b \NR[+] %D \NC c \EQ d \NR %D \NC \EQ f \NR %D \NC \EQ g \NR %D \NC \EQ h \NR %D \NC \EQ i \NR[+] %D \stopalign \stopformula %D \stopbuffer %D %D \typebuffer \getbuffer %D %D \startbuffer %D \placeformula \startformula \startalign %D a &= b \\ %D c &= d \notag \\ %D &= e \notag \\ %D &= f \\ %D \stopalign \stopformula %D \stopbuffer %D %D \typebuffer \getbuffer %D %D \startbuffer %D \placeformula \startformula \startalign %D a &= b \NR[+] %D c &= d \NR %D &= e \NR %D &= f \NR[+] %D \stopalign \stopformula %D \stopbuffer %D %D \typebuffer \getbuffer %D %D \startbuffer %D \placeformula \startformula \startalign %D \NC a \NC \eq b \NR[+] %D \NC c \NC \neq d \NR %D \NC \NC \neq f \NR[for:hans] %D \NC \NC \geq g \NR[for:whoelse][a] %D \NC \NC \leq h \NR[for:whomore][b] %D \NC \NC \neq i \NR %D \stopalign \stopformula %D \stopbuffer %D %D \typebuffer \getbuffer \protect \endinput