方程式没有正确对齐

方程式没有正确对齐

我想要写出如图所示的方程式。 Equation figure

我曾尝试过对齐环境。但无法实现它。

这是我尝试过的。

\begin{align}
min \quad c^T x \nonumber \\
s.t \quad Ax &= b \nonumber \\
\quad x \geq 0 \nonumber \\
\quad x \in Z^n \nonumber
\end{align}

我得到的输出如下:

My output[2]

有人能帮我解决这个问题吗?非常感谢。

答案1

您需要将“&”符号放在希望方程式对齐的位置。代码:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

 \begin{alignat*}{2}
    \min        &\quad&   c^T x& \\
    \text{s.t. }&& Ax &= b \\
                &&  x &\geq 0 \\
                &&  x &\in Z^n \\
  \end{alignat*}

\end{document}

生成:

enter image description here

另请注意:

  • 用于alignat对齐多列。&\quad&插入\quad空格
  • in表示您不想要方程编号(因此您不需要*alignat*\nonumber
  • 使用\min代替min(看起来像m*i*n
  • 使用\text{s.t. }而不是s.t.

答案2

使用专用包的另一种解决方案optidef

\documentclass{article}
\usepackage{amsmath}
\usepackage[short]{optidef}

\begin{document}

    \begin{mini*}
        {}{c^T x}
        {}{}
        \addConstraint{Ax}{ = b}
        \addConstraint{x}{\ge 0}
        \addConstraint{x}{\in Z^n}
   \end{mini*}

\end{document} 

enter image description here

相关内容