如何并排显示两组方程:一个方程蕴涵另一个方程?

如何并排显示两组方程:一个方程蕴涵另一个方程?

我想展示一组方程式可以蕴含另一组方程式,中间有双右箭头。这是我的两个尝试:一个是使用另一级数学模式来封闭两组方程式,另一个是使用表格,每组方程式都在一个单元格中。

第一个

$$
\begin{align*}
\nabla f(x) -\mu X^{-1} e + A(x) \lambda - z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\end{align*} 
\quad \Longrightarrow \quad
\begin{align*}
\nabla f(x) + A(x) \lambda - 2z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\\
\end{align*}
$$

这将导致错误

amsmath:方程结构嵌套错误;(amsmath)尝试使用“aligned”进行恢复。\end{align*}

另一个是使用tabular

\begin{tabular*}{c c c}
\begin{align*}
\nabla f(x) -\mu X^{-1} e + A(x) \lambda - z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\end{align*} 
& $\Longrightarrow$ &
\begin{align*}
\nabla f(x) + A(x) \lambda - 2z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\\
\end{align*}
\end{tabular*}

它也无法编译。

我想知道如何使这两种方法可行,以及是否还有其他更好的方法?

答案1

这是另一种方法,添加一些括号来“合并”单独的方程组。当然,如果需要,可以删除这些括号。每个方程组都以rcl( right- center- left ) 方式沿二元关系对齐,并留有适当的间距。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
  \left.\begin{array}{r@{\mskip\thickmuskip}l}
    \nabla f(x) -\mu X^{-1} e + A(x) \lambda - z &= 0, \\
    c(x) &= 0, \\
    -\mu X^{-1} e + z &= 0, \\
    x &> 0 \\
    z &> 0
  \end{array} \right\}
  \quad \implies \quad
  \left\{\begin{array}{r@{\mskip\thickmuskip}l}
    \nabla f(x) + A(x) \lambda - 2z &= 0, \\
    c(x) &= 0, \\
    -\mu X^{-1} e + z &= 0, \\
    x &> 0 \\
    z &> 0
  \end{array}\right.
\end{align*}
\end{document}

答案2

错误消息实际上告诉您该怎么做:使用环境{aligned}。这是一个可以在任何类型的数学中使用的子环境,其工作原理类似于,{align}只是它只占用必要的最小宽度(而不是整行)。您想做类似的事情:

\[
\begin{aligned}
\nabla f(x) -\mu X^{-1} e + A(x) \lambda - z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\end{aligned} 
\quad \implies \quad
\begin{aligned}
\nabla f(x) + A(x) \lambda - 2z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\\
\end{aligned}
\]

我擅自做了一些其他更改。首先,您不应使用$$...$$,而应使用\[...\],它被重新定义为更好地检查错误并更像其他amsmath环境。其次,您可以使用\implies而不是字面上但名称不明确的\Longrightarrow。第三,我没有这样做,但您可能希望在其中添加一些对齐选项卡。

您也可以使用表格来实现此目的。您只需{aligned}在每个单元格中输入一个内部数学公式即可:

\begin{tabular}{ccc}
$\begin{aligned}
\nabla f(x) -\mu X^{-1} e + A(x) \lambda - z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\end{aligned}$ 
&$\quad \implies \quad$&
$\begin{aligned}
\nabla f(x) + A(x) \lambda - 2z = 0, 
\\ c(x) = 0, 
\\ -\mu X^{-1} e + z = 0, 
\\ x > 0
\\ z > 0
\\
\end{aligned}$
\end{tabular}

这是有效的,因为{aligned}可以进入任何数学环境。您甚至可以将其嵌入段落内的文本中,尽管这很丑陋。

答案3

以下代码可能是对原始问题的最小侵入性调整。它将两个align*结构放入小页面中,并插入&字符以告诉 latex 在哪里对齐各个方程式。

\documentclass[a4paper]{article}
\usepackage{amsmath}
\begin{document}
\noindent
\begin{minipage}{0.45\textwidth}
  \begin{align*}
    \nabla f(x) -\mu X^{-1} e + A(x) \lambda - z &= 0,\\ 
    c(x) &= 0,\\ 
    -\mu X^{-1} e + z &= 0,\\ 
    x &> 0\\ 
    z &> 0
  \end{align*} 
\end{minipage}
$\quad \Longrightarrow \quad$
\begin{minipage}{0.35\textwidth}
  \begin{align*}
    \nabla f(x) + A(x) \lambda - 2z &= 0,\\ 
    c(x) &= 0,\\ 
    -\mu X^{-1} e + z &= 0,\\ 
    x &> 0\\ 
    z &> 0
  \end{align*}
\end{minipage}
\end{document}

在此处输入图片描述

唯一不太对劲的是 的垂直定位\Longrightarrow。我想这个问题可以通过将其放入自己的 minipage/gather 系统中来“修复”。不过,我其实更喜欢 @Werner 建议的解决方案。

答案4

您还可以非常简单地使用更多列!

\documentclass{article}
\usepackage{amsmath}
\pagestyle{empty}
\begin{document}
\begin{align*}
\nabla f(x) -\mu X^{-1} e + A(x) \lambda - z = 0, && \nabla f(x) + A(x) \lambda - 2z = 0,\\
c(x) = 0, && c(x) = 0,\\
-\mu X^{-1} e + z = 0, &\implies& -\mu X^{-1} e + z = 0,\\
x > 0 && x > 0\\
z > 0 && z > 0
\end{align*}

\[
\begin{array}{lcl}
\nabla f(x) -\mu X^{-1} e + A(x) \lambda - z = 0, && \nabla f(x) + A(x) \lambda - 2z = 0,\\
c(x) = 0, && c(x) = 0,\\
-\mu X^{-1} e + z = 0, &\implies& -\mu X^{-1} e + z = 0,\\
x > 0 && x > 0\\
z > 0 && z > 0
\end{array}
\]
\end{document}

得出以下结论:

另外两种方法是使用对齐和数组

相关内容