在 align 环境中使用 mhchem

在 align 环境中使用 mhchem

化学反应列表是使用对齐环境编写的

    \begin{align}
                \ce{
                Ca(OH)_{2} + 2 HCl &\rightarrow CaCl$_2$ + 2 H_{2}O \nonumber \\ 
                Ca(OH)_{2} + HCl &\rightarrow CaOHCl + H_{2}O \nonumber \\
                Ca(OH)_{2} + CaCl_{2} &\rightarrow 2 CaOHCl \nonumber 
                   }
                \end{align}         

编译没有任何问题,但对于产物侧的第三个反应,“2”似乎作为下标出现,而反应物侧的第一个反应的“2”却没有出现同样的情况。我们如何解决这个问题,为什么会发生这种情况?

当我写的时候也会发生同样的事情

    \begin{equation}
            \ce{
                Ca(OH)_{2} + CaCl_{2}.2H_{2}O \rightarrow 2CaOHCl.2H_{2}O \nonumber 
            }
            \end{equation}

产物侧(CaOHCl)的下标显示为“2”,但 HCl 的下标不显示“2”。我们对此有解决方案吗?

答案1

mhchem带有自己的一组反应箭头,您可以通过以下快捷方式访问:

在此处输入图片描述

因此,只需用 替换 即可\rightarrow->如果要坚持使用较短的\rightarrow,可以使用\rightarrow{}以确保箭头后面的数字不显示为下标:

\documentclass{article}
\usepackage[version=4]{mhchem}
\begin{document}

\begin{align*}
\ce{Ca(OH)_{2} + CaCl_{2} & \rightarrow 2 CaOHCl} \\
\ce{Ca(OH)_{2} + CaCl_{2} & \rightarrow{} 2 CaOHCl} \\
\ce{Ca(OH)_{2} + CaCl_{2} & -> 2 CaOHCl}
\end{align*}

\begin{align*}
    \ce{
    Ca(OH)_{2} + 2 HCl &-> CaCl$_2$ + 2 H_{2}O  \\ 
    Ca(OH)_{2} + HCl &-> CaOHCl + H_{2}O  \\
    Ca(OH)_{2} + CaCl_{2} & -> 2 CaOHCl  
       }
\end{align*}

\ce{Ca(OH)_{2} + CaCl_{2}.2H_{2}O -> 2 CaOHCl.2H_{2}O}

\end{document}

在此处输入图片描述

相关内容