コメントつき eqnarray*

id:hyuki さんの「LaTeXeqnarray* グループのようにディスプレイ式を揃えた上で各行にコメントをつけるにはどうしたら良いのか http://www.hyuki.com/d/200603」という質問への答えです。
まず、plain TeX で考えてみます。数式のディスプレイモードの中で、\halign を使って記述してみます。vbox マクロ \vcenter で中央揃えをしつつ、行間に 1jot = 3pt の余裕を加えてから、\halign でテーブルレイアウトをおこないます。\halign の最初の行(\crまで)はテンプレートで配置を決めます。id:hyuki さんの要望は \displaystyle をいちいち指定しなくてもかまわないようにして欲しいということですので、それもテンプレートに指定することにします。

\documentclass{jarticle}
\begin{document}

$$\vcenter{
  \advance\lineskip 1\jot
  \advance\baselineskip 1\jot
  \advance\lineskiplimit 1\jot 
  \halign{
    \hfil$\displaystyle{#}$
  & \hfil\,${#}$\,\hfil
  & $\displaystyle{#}$\hfil
  & \quad#\hfil\cr
  \frac{1}{2} + 2 \times 3 - 4  & = & \frac{1}{2} + 6 - 4
                                & \mbox{$2 \times 3$を計算した} \cr
    & = & \frac{13}{2} - 4 & \mbox{$\frac{1}{2} + 6$を計算した} \cr
    & = & \frac{5}{2} & \mbox{$\frac{13}{2} - 4$を計算した} \cr
}}$$

\end{document}

なお、コメントは \quad スペースをいれて左揃えにしてみました。右揃えよりもこっちの方が見やすいと感じましたので。これを platex にかけて dvipdfm で PDF にしてみると、期待通りのレイアウトになっています。
続いて、LaTeX 風のマクロにします。グループ名は eqnremarray にしました。LaTeXeqnarray* に合わせて、\\\cr の代わりに使えるようにして、plain TeX の記述から定義を作りました。{ → \bgroup} → \egroup# → ## と置き換えます。

\documentclass{jarticle}
\begin{document}

% 定義始まり
\def\eqnremarray{
\let\\=\cr
$$\vcenter\bgroup
  \advance\lineskip 1\jot
  \advance\baselineskip 1\jot
  \advance\lineskiplimit 1\jot 
  \halign\bgroup
    \hfil$\displaystyle{##}$ & \hfil\,${##}$\,\hfil & $\displaystyle{##}$\hfil
  & \quad##\hfil\cr
}
\def\endeqnremarray{
  \egroup\egroup$$
}
% 定義ここまで

\begin{eqnremarray}
\frac{1}{2} + 2 \times 3 - 4  & = & \frac{1}{2} + 6 - 4
                              & \mbox{$2 \times 3$を計算した} \\
  & = & \frac{13}{2} - 4 & \mbox{$\frac{1}{2} + 6$を計算した} \\
  & = & \frac{5}{2} & \mbox{$\frac{13}{2} - 4$を計算した} \\
\end{eqnremarray}

\end{document}

これを使って、またもや PDF を作ってみますと、期待したレイアウトの出力が得られました。
latex出力