Align in chemistry
Use an array
, instead.
\documentclass{article}
\usepackage{amsmath}
\usepackage[version=4]{mhchem}
\begin{document}
\begin{equation*}
\begin{array}{
@{}
l
@{\hspace{3em}}
c % first column
@{\:}c@{\:} % plus
c % second column
@{\;}c@{\;} % reaction
c % third column
@{}
}
\text{Abcdefg} & \ce{H2} & + & \ce{I2} & \ce{<=>} & 2\ce{HI}\\
\text{Abcde} & 4.05 & & 4.65 & & 0 \\
\text{Abc} & 4.05-\alpha & & 4.65-\alpha & & 2\alpha
\end{array}
\end{equation*}
\end{document}
You can also do it with eqparbox
:
\documentclass{article}
\usepackage{mathtools}
\usepackage{mhchem}
\usepackage{eqparbox}
\newcommand*{\eqmathbox}[2][]{\eqmakebox[#1]{$\displaystyle#2$}}
\begin{document}
\begin{alignat*}{4}
&\text{Some text} & \eqmathbox[H]{\ce{H2}} & + & \eqmathbox[I]{\ce{I2}} & \ce{<=>} & \eqmathbox[HI]{2\ce{HI}}\\
&\text{Some longer text} \qquad & \eqmathbox[H]{4.05} & & \eqmathbox[I]{4.65} & & \eqmathbox[HI]{0} \\
&\text{Text again} & \eqmathbox[H]{4.05-\alpha} & & \eqmathbox[I]{4.65-\alpha} & & \eqmathbox[HI]{2\alpha}
\end{alignat*}
\end{document}