对齐后 & 处有额外的水平间距

对齐后 & 处有额外的水平间距

以下是我的意见:

\begin{align}
&\text{HIn}_{(aq)} + \text{H$_2$O$_{(ℓ)}$} \rightleftharpoons \text{H$_3$O$^+_{(aq)}$} + &&\text{In$^-_{(aq)}$ $\kern 2pc$△H > O} 
\\
&\text{yellow} &&\text{purple}
\end{align}

这是我的输出:

输出

注意“+”和“In”之间的间隙,以及其下方的“紫色”。我怎样才能避免这个间隙并改为使用一个空格?

答案1

正如我所说,相邻的左右列对之间的水平空间应使用alignalign*,但可以使用 、 等进行调整甚至删除alignatalignat*这些环境需要一个参数,也许这就是你没能完成alignat工作的原因?所讨论的参数是左右对齐列对的数量。同样,计算&给定行中的最大 s 数量并调用它n. 给予alignat(或alignat*等)的论据是(n+1)/2。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
  & \text{HIn}_{(aq)} + \text{H$_2$O$_{(\ell)}$} \rightleftharpoons
  \text{H$_3$O$^+_{(aq)}$} + && \text{In$^-_{(aq)}$ $\kern 2pc \Delta H > O$} \\
  & \text{yellow} && \text{purple}
\end{alignat*}

\end{document}

在此处输入图片描述

答案2

有几个专门用于排版化学式的精心设计的 LaTeX 软件包。我建议你使用其中的一个。我用过 ,感觉很好chemformula

\documentclass{article}
\usepackage{chemformula}
\begin{document}
\[
    \ch{
        !(yellow)( HIn_{(aq)} ) + H2O_{($\ell$)} <=> H3O^+_{(aq)} + !(purple)( In^-_{(aq)} )
    }
    \quad \Delta H > O
\]
\end{document}

在此处输入图片描述

答案3

此外Henri Menke 的回答,我使用了模块中的\aq{}和。对于焓,我使用了模块中的命令。反应方程式以及反应物和产物下方的注释都是使用 的命令完成的(该命令本身已由模块加载,因此不需要):\lqd{}phaseschemmacros\statethermodynamicschemmacros\cechemformulaphaseschemmacros\usepackage{chemformula}

在此处输入图片描述

\documentclass{article}
\usepackage{chemmacros}
\chemsetup{modules={phases, thermodynamics}}
\chemsetup[phases]{pos=sub}
\begin{document}
\begin{equation}
\ch{!(yellow)(HIn\aq{}) + H2O\lqd{} <=> H3O^{+}\aq{} + !(purple)(In$^{-}$\aq{})} \quad \state{H}> 0
\end{equation}
\end{document}

相关内容