简单的解决方案

简单的解决方案

我正在尝试编写一组类似于我正在阅读的书中的一些方程式。以下是该书对方程式的格式化:

书中方程式

以下是我目前所得到的:

我的方程式

我该如何对齐方程式,使“最大化”和“服从”对齐,同时对齐总和?我不想在侧面显示“(KP)”或任何方程式编号。

以下是我编写的代码:

\begin{equation*}
\begin{aligned}
    \text{maximize} \sum_{j=1}^{n}p_j x_j \\
    \text{subject to} \sum_{j=1}^{n}w_j x_j \leq c, \\
    x_j \in \{0,1\}, j = 1, \ldots, n.
\end{aligned}
\end{equation*}

答案1

输出

使用align来自的环境amsmath

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align}
  \text{maximize} &\null \sum_{j=1}^n p_j x_j \\
  \text{subject to} &\null \sum_{j=1}^n w_j x_j \leq c, \\
  &\null x_j \in \{0, 1\}, \quad j=1,\dots,n.
\end{align}
\end{document}

答案2

简单的解决方案

只要求和符号的上标和下标比符号本身窄,解法就很简单:

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align}
\text{maximize } &\sum_{j=1}^{n}p_j x_j \\
    \text{subject to } &\sum_{j=1}^{n}w_j x_j \leq c, \\
    &x_j \in \{0,1\}, j = 1, \ldots, n.
\end{align}
\end{document}

在此处输入图片描述

更复杂的解决方案

一旦上标或下标之一变得比符号更宽,就会破坏对齐(注意等式 (2)):

\begin{align}
\text{maximize } &\sum_{j=1}^{n}p_j x_j \\
    \text{subject to } &\sum_{j=10000}^{n}w_j x_j \leq c, \\
    &x_j \in \{0,1\}, j = 1, \ldots, n.
\end{align}

由于所有内容都在符号后的最左侧对齐&,因此在等式 (2) 中对齐发生在“j”下标处,使得和符号不再位于彼此正下方:

在此处输入图片描述

但有帮助!该mathtools包提供了一个名为的命令\mathclap,原则上将其参数的框宽度设置为零(有关确切解释,请参见。http://math.arizona.edu/~aprl/publications/mathclap/perlis_mathclap_24Jun2003.pdf)。如果我们使用这种方法,即使和号的描述符比符号本身更宽,对齐也会起作用,因为允许描述符滑过对齐障碍:

\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}

\begin{document}
\begin{align}
\text{maximize } &\sum_{j=1}^{n}p_j x_j \\
    \text{subject to } &\sum_{\mathclap{j=10000}}^{n}w_j x_j \leq c, \\
    &x_j \in \{0,1\}, j = 1, \ldots, n.
\end{align}
\end{document}

在此处输入图片描述

答案3

您可以使用

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{alignat}{2}
  text & equation\\
  text & equation\\
       & equatin
\end{alignat}
\end{document}

此外,使用alignat,您可以指定多个对齐点。如果我们有 3 个,我们可以像这样对齐方程:

f(x) & = & x^2 +2x + 1\\
     & = & (x + 1)^2

或者您可以根据需要选择更多的对齐选项。

在此处输入图片描述

相关内容