对齐方程式插入巨大空格

对齐方程式插入巨大空格

我想用 LaTeX 写一组方程式,但我希望符号=和文本in对齐。因此我使用align环境。

\begin{align}
    -2\mu \nabla\cdot(D(u)) + \nabla p &= \rho f &\text{in }\Omega,\\
    \nabla\cdot u &= 0 &\text{in }\Omega,
\end{align}

所有文本确实与此代码对齐,但第二列和第三列之间存在很大的空白:

在此处输入图片描述

如果我理解文档嗯,这是因为它将文本两两分组,就我而言,因为我有三列,所以第三列显示在页面的最右边。

我可以使用 来解决这个问题tabular,但我会丢失方程的编号:

\begin{tabular}{rcll}
    $-2\mu \nabla\cdot(D(u)) + \nabla p$ &$=$ & $\rho f$ &in $\Omega$,\\
    $\nabla\cdot u$ & $=$ & $0$ & in $\Omega$,
\end{tabular}

在此处输入图片描述

有没有什么解决方法align

答案1

我建议您使用alignat环境而不是align环境,因为前者允许更精细地控制间距。例如,在下面显示的代码中,我将左侧的空白量设置\text{in $\Omega$}\quad。请注意,它alignat接受一个强制参数:(隐式)列数。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} % for 'align' and 'alignat' environments

\begin{document}

\begin{align}
    -2\mu \nabla\cdot(D(u)) + \nabla p 
        &= \rho f &\text{in }\Omega,\\
    \nabla\cdot u 
        &= 0 &\text{in }\Omega,
\end{align}

\begin{alignat}{2}
    -2\mu \nabla\cdot(D(u)) + \nabla p 
        &= \rho f &\quad&\text{in $\Omega$},\\
    \nabla\cdot u 
        &= 0      &&     \text{in $\Omega$},
\end{alignat}

\end{document}

相关内容