![在 align* 中对齐两行之间的文本](https://linux22.com/image/236551/%E5%9C%A8%20align*%20%E4%B8%AD%E5%AF%B9%E9%BD%90%E4%B8%A4%E8%A1%8C%E4%B9%8B%E9%97%B4%E7%9A%84%E6%96%87%E6%9C%AC.png)
我有这个:
\begin{align*}
&f(1) = -11 & &\mbox{while q satisfies} &q(1) = 11,\\
&f(-2) = 20 & &\mbox{} &q(-1) = 20
\end{align*}
这会将文本“while”放在与第一行相同的行上(显然)。有没有办法将它放在两行的(垂直)中间?即在两行之间。
答案1
以下是几种可能性。我附上了您的原始代码。请注意,此结构实际上不需要对齐环境。
我的第一个版本只是在原始代码中添加一行,然后将文本插入该行。这不是一个有吸引力的解决方案。我喜欢的版本是倒数第二个版本,它使用cases
。如果您不喜欢括号,可以使用使用 的最后一个版本aligned
。您可以aligned
用gathered
或替换array
(如 Daniel 的解决方案)。
\begin{align*}
&f(1) = -11 & &\mbox{while q satisfies} &q(1) = 11,\\
&f(-2) = 20 & &\mbox{} &q(-1) = 20
\end{align*}
\begin{align*}
&f(1) = -11 & &&q(1) = 11,\\
&&&\mbox{while q satisfies} \\
&f(-2) = 20 & &\mbox{} &q(-1) = 20
\end{align*}
\begin{align*}
\begin{cases}f(1) = -11\\f(-2)=20\end{cases}&&\text{while $q$ satisfies}&&\begin{cases}q(1) = 11\\q(-1)=20\end{cases}
\end{align*}
\begin{equation*}
\begin{cases}f(1) = -11\\f(-2)=20\end{cases}\qquad\text{while $q$ satisfies}\qquad\begin{cases}q(1) = 11\\q(-1)=20\end{cases}
\end{equation*}
\begin{equation*}
\begin{aligned}f(1) &= -11\\f(-2)&=20\end{aligned}\qquad\text{while $q$ satisfies}\qquad\begin{aligned}q(1) &= 11\\q(-1)&=20\end{aligned}
\end{equation*}
结果是
编辑:(关于 mbox 的评论)要在等式中包含文本,最好使用命令,\text
而不是\mbox.
答案2
我想说在对齐环境中使用数组环境是一个很好的解决方案:
\begin{align}
\begin{array}{l}
f(1) = -11\\
f(-2)
\end{array}
\qquad \text{while $q$ satisfies}
\qquad
\begin{array}{r}
q(1) = 11,\\
q(-1) = 20
\end{array}
\end{align}