我正在尝试在 LaTeX 中格式化线性规划问题。我希望目标函数“max”和约束“sc”左对齐。但是,我希望在“sc”右侧有一条垂直线,与实际数学约束对齐并将它们分开。以下是我想要的文本表示:
[P] max x1 -2x2 +x3
s.c. | -2x1 +x2 +3x3 = 1
| 2x1 +3x2 +4x3 ≤ 6
| x1 +x2 +x3 ≥ 1
| x1, x2, x3 ≥ 0
因此,理想情况下,垂直线应位于 max 下方(在 a 下方或 max 的 x 末端)。有人可以指导我如何在 LaTeX 中实现这一点吗?以下是我的尝试:
\begin{align*}
[\text{P}]: & \quad \text{max } x_1 - 2x_2 + x_3 \\
\text{s.c.} & \begin{array}{|rl}
& -2x_1 + x_2 + 3x_3 = 1 \\
& 2x_1 + 3x_2 + 4x_3 \leq 6 \\
& x_1 + x_2 + x_3 \geq 1 \\
& x_1, x_2, x_3 \geq 0
\end{array}
\end{align*}
谢谢。
答案1
您可以使用t
操作锚定alignedat
构造进行约束,并进行一些其他框操作以使元素水平排列。
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{align*}
[\text{P}]: \quad \text{max } & \hspace{.4pt}\phantom{-0}x_1 - 2x_2 + \phantom{0}x_3 \\
\mathrlap{\text{s.c.}}\phantom{[\text{P}]: \quad \text{max }} & \hspace{-1.2em}\vrule\hspace{1.2em}
\begin{alignedat}[t]{3}
-2x_1 & {}+{} & x_2 & {}+{} & 3x_3 & = 1 \\
2x_1 & {}+{} & 3x_2 & {}+{} & 4x_3 & \leq 6 \\
x_1 & {}+{} & x_2 & {}+{} & x_3 & \geq 1 \\
x_1\mathrlap{,} && x_2\mathrlap{,} && x_3 & \geq 0
\end{alignedat}
\end{align*}
\end{document}