我想用 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}