在 align* 中对齐两行之间的文本

在 align* 中对齐两行之间的文本

我有这个:

\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。您可以alignedgathered或替换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}

相关内容