60.12 Aligned At

<..equations of amstex.tex..>+
 \catcode‘\#=13 \catcode‘\!=6
 \def\:tempc!1!2\endalignat{%
   \Mk:ialign:end{\preamble@@}{alignat}{!2}#%
      {<.amstex.tex alignat get pattern.>%
       <.expand amstex.tex ...alignat pattern.>%
      }}
 \catcode‘\#=6 \catcode‘\!=12
 \expandafter\HLet\csname alignat \endcsname\:tempc
 \NewConfigure{alignat}{6}
 -_-_-

<..expand amstex.tex ...alignat pattern..>
 \def\:temp!!1!!2{\expand:after{!!1!!2}\expandafter}%
 \:temp       \MkHalign#{\preamble@@}...\EndMkHalign 
 -_-_-

<..amstex.tex alignat get pattern..>
 \hashtoks@{#}<.inany@true.>\xat@false
 <.tag for alignat amstex.tex.>%
 \measuring@false \Let@
 {\let\@lign=\empty \attag@{!1}}%
 \let\allowdisplaybreak  =\empty
 \pend:def\preamble@@{\:span}%
 -_-_-

<..tag for alignat amstex.tex..>
 \def\tag{\global\tag@true\count@!1\relax\multiply\count@\tw@
    \xdef\tag@{}\loop\ifnum\count@>\and@\xdef\tag@{&\tag@}%
                 \advance\count@\m@ne \repeat\tag@}%
 -_-_-

<..equations of amstex.tex..>+
 \catcode‘\#=13 \catcode‘\!=6
 \def\:tempc!1!2\endxalignat{%
   \Mk:ialign:end{\preamble@@}{xalignat}{!2}#%
      {<.amstex.tex alignat get pattern.>%
       <.expand amstex.tex ...alignat pattern.>%
      }}
 \catcode‘\#=6 \catcode‘\!=12
 \expandafter\HLet\csname xalignat \endcsname\:tempc
 \NewConfigure{xalignat}{6}
 -_-_-

<..amstex.tex xalignat get pattern..>
 \hashtoks@{#}<.inany@true.>\xat@true
 <.tag for xalignat amstex.tex.>%
 \measuring@false \Let@
 {\let\@lign=\empty \attag@{!1}}%
 \let\allowdisplaybreak  =\empty
 \pend:def\preamble@@{\:span}%
 -_-_-

<..tag for xalignat amstex.tex..>
 \def\tag{\global\tag@true\def\tag@{}\count@!1\relax
   \multiply\count@\tw@
   \loop\ifnum\count@>\and@
      \xdef\tag@{&\tag@}\advance\count@\m@ne\repeat\tag@}%
 -_-_-

<..equations of amstex.tex..>+
                                   \catcode‘\#=13 \catcode‘\!=6
 \def\:tempc!1!2\endxxalignat{%
   \Mk:ialign:end{\preamble@@}{xxalignat}{!2}#%
      {<.amstex.tex xxalignat get pattern.>%
       <.expand amstex.tex ...alignat pattern.>%
      }}
                                   \catcode‘\#=6 \catcode‘\!=12
 \expandafter\HLet\csname xxalignat \endcsname\:tempc
 \NewConfigure{xxalignat}{6}
 -_-_-

<..amstex.tex xxalignat get pattern..>
 \hashtoks@{#}<.inany@true.> \measuring@false \Let@
 {\let\@lign=\empty \xxattag@{!1}}%
 \let\allowdisplaybreak  =\empty
 \pend:def\preamble@@{\:span}%
 -_-_-

\ifinany@’ and ‘\displaybreak@’ are not defined in ams* starting since 1999.

<..inany@true..>
 \ifx \ifinany@\:Undef\else  \inany@true\fi
 -_-_-

<..displaybreak@..>
 \ifx \displaybreak@\:UnDef
    \chardef\dspbrk@context\z@
 \else
    \displaybreak@
 \fi
 -_-_-

<..restore ams equationNO..>
 \ifx \ifinany@\:Undef
   \HRestore\equation
   \HRestore\endequation
 \fi
 -_-_-

<..restore amsmath everydisplay..>
 \append:def\a:display{\@displaytrue}
 \expandafter\append:defIII\csname
     c:$$:\endcsname{\append:def\a:display{\@displaytrue}}
 -_-_-