我经常想在一个方程编号下列出一些短方程(例如张量的非零分量)。为此,我使用环境amsmath
、equation
和gathered
的组合aligned
。但是,出于某种原因,环境的不同部分gathered
并非全部居中。考虑以下示例
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{gathered}
\begin{aligned}
q &= r \,, &
x &= y \,, &
z &= w \,,
\end{aligned} \\
\begin{aligned}
A a &= B b \,, &
C c &= D d \,, \\
a &= b \,, &
c &= d \,.
\end{aligned}
\end{gathered}
\end{equation}
\end{document}
我本以为前两行都居中,但它们却或多或少地在右侧对齐。举一个现实世界的例子,请考虑
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{gathered}
\begin{aligned}
\omega_t{}^{01} = -\omega_t{}^{10} &= \sinh\rho \,, &
\omega_\phi{}^{12} = -\omega_\phi{}^{21} &= -\cosh \rho \,, &
\omega_\rho{}^{AB} &= 0 \,,
\end{aligned} \\
\begin{aligned}
\omega_{\varphi_+}{}^{35} = -\omega_{\varphi_+}{}^{53} &= 2\sin\beta_+ \cos\gamma_+ \,, &
\omega_{\varphi_+}{}^{45} = -\omega_{\varphi_+}{}^{43} &= 2\sin\gamma_+ \,, \\
\omega_{\varphi_-}{}^{68} = -\omega_{\varphi_-}{}^{86} &= 2\sin\beta_- \cos\gamma_- \,, &
\omega_{\varphi_-}{}^{78} = -\omega_{\varphi_-}{}^{87} &= 2\sin\gamma_- \,.
\end{aligned}
\end{gathered}
\end{equation}
\end{document}
这里第一行被进一步推向左边。看起来好像第一行末尾引入了一些额外的空格,但是这些空格是从哪里来的呢?
答案1
由于某种原因,一行“对齐”没有正确居中。这似乎是一个错误,我将它作为错误输入到 amsmath 错误列表中。
通过在测试文件中添加两个内容可以轻松证明这个(不想要的)结果:
(1)复制(简单)示例,将第一个对齐的内容复制一份,得到两行对齐;
(2)复制相同的示例,将第一个对齐元素替换为
q = r \,, \quad
x = y \,, \quad
z = w \,,\\
修改后的元素将按预期居中。我还没有确定单行对齐元素向左移动的原因。但是,为了将问题发布到错误列表,原因不是必需的;演示就足够了。
请考虑将 amsmath 的问题报告直接发送至[电子邮件保护]。
答案2
我在谷歌上搜索了一下。我怀疑这是否能解决您的问题,这只是一个小建议:不要使用方程式 + 聚集 + 对齐,只需使用聚集 + 对齐就足够了。我猜想聚集是独立的数学环境。
\begin{gather}
\begin{aligned}
q &= r \,, &
x &= y \,, &
z &= w \,,
\end{aligned} \\
\begin{aligned}
A a &= B b \,, &
C c &= D d \,, \\
a &= b \,, &
c &= d \,.
\end{aligned}
\end{gather}
或者,请问为什么您不简单地使用方程式 + 对齐?
答案3
这里实际上不需要第一个数组,因为它只有一行需要居中,并且\,
在逗号前使用并不是正确的数学排版
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{flalign}
\arraycolsep=1.35pt\def\arraystretch{1.3}
\begin{array}{c}
\begin{array}{@{}rl@{\quad}rl@{\quad}rl@{}}
q &= r \,, & x &= y \,, & z &= w \,,
\end{array}\\
\begin{array}{@{}rl@{\quad}rl@{}}
A a &= B b \,, & C c &= D d \,, \\
a &= b \,, & c &= d \,.
\end{array}
\end{array}
\end{flalign}
\end{document}