对齐的 \eqnarray 之间的独立文本

对齐的 \eqnarray 之间的独立文本
\begin{eqnarray*}
\text{This text tells about one equation and this is equation 1} \\
(x+y)^2 &=& x^2 + 2xy + y^2 \\
\text{This text tells about one equation and this is equation 2} \\
(x-y)^2 &=& x^2 - 2xy + y^2
\end{eqnarray*}

像上面那样,如果我们想让一页内的所有方程式保持对齐,并希望在不干扰这些对齐的情况下保留中间的文本,该怎么办?

答案1

首先,您不应该使用eqnarray环境,因为它会产生不好的间距。如果您希望文本和数学之间的间距更紧密,请使用align*环境 fromamsmath\intertext命令,或者\shortintertextfrom 包mathtools(这是 的一个非常有用的扩展amsmath)。此外,的语法align更简单:

......
\usepackage{mathtools}%% loads amsmath
......
\begin{document}
    \begin{align*}
    \intertext{This text tells about one equation and this is equation 1} 
    (x+y)^2 &= x^2 + 2xy + y^2 \\
    \intertext{This text tells about one equation and this is equation 2} 
    (x-y)^2 &= x^2 - 2xy + y^2
    \end{align*}
......

答案2

您可以使用 shortintertext 或 intertext(参考 3.10,AMSmath 文档)与 align 环境,就像 Bernard 在他的回答中所说的那样。如下面的示例所示,这将使方程式与对齐制表符“&”对齐。但是,如果您希望保持方程式居中,请将 intertext 与 gather 环境一起使用,如示例 2 中所示。

\documentclass{article}
\usepackage{mathtools}
\begin{document}\noindent
\begin{align}
    A_1&=N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\
    A_2&=\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\
    \intertext{and}
    A_3&=\mathcal{N}(\lambda;\omega).
    \end{align}
\end{document}

输出结果为 在此处输入图片描述

示例 2

\documentclass{article}
\usepackage{mathtools}
\begin{document}\noindent
A sesquilinear form \( f \) on a vector space \( V \) is said to be positive if \( \forall x \in V \)
\begin{gather*}
    f(x,x) \geq 0\\
\shortintertext{and}\\
    f(x,x) = 0 \text{ if and only if } x = 0.
\end{gather*}
\end{document}

在此处输入图片描述

答案3

使用以下代码:

 \begin{eqnarray*}
&&\hspace*{-63pt}\text{This text tells about one equation and this is equation 1} \\
(x+y)^2 &=& x^2 + 2xy + y^2 \\
&&\hspace*{-63pt}\text{This text tells about one equation and this is equation 2} \\
(x-y)^2 &=& x^2 - 2xy + y^2
\end{eqnarray*}

相关内容