我正在使用 align 在 LaTeX 中编写我的数学模型,但结果如下所示:
我不明白为什么 for-all 距离方程这么远,并且标签被移到下一行。我的代码如下所示:
\documentclass[graybox]{svmult}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\begin{document}
\begin{align}
\text{max} \qquad & w_1\left(\dfrac{\sum_{j \in I} d_j z_j - A_{min}} {A_{max}- A_{min}}\right) - w_2 \left(\dfrac{\sum_{p \in \mathcaL{P}} n_p- B_{min}}{B_{max}- B_{min}}\right) - \epsilon \sum_{p \in P} a_p \label{Eq1} \\
\text{s.t.} \qquad & \sum_{\substack{i \in V_{0} \\ i\neq j}} \sum_{p \in P_{ij}} x_p \leq 1 & \forall j \in \mathcal{I}, \label{Eq2} \\
&\sum_{\substack{i \in V_{1} \\ i\neq j}} \sum_{p \in P_{ij}} x_p - \sum_{\substack{i \in V_{0} \\ i\neq j}} \sum_{p \in P_{ji}} x_p = 0 & \forall i \in \mathcal{V}_1 \label{Eq3} \\
\end{align}
\end{document}
我已经检查了与该主题相关的其他问题,但我猜这是一个不同的问题。
更新:我已尝试对我提供的方程式给出建议的答案,但当我写出更长的方程式时,它不起作用:
代码如下:
\documentclass[graybox]{svmult}
\usepackage{geometry}
\usepackage{nccmath, mathtools}
\usepackage{amsmath}
\begin{document}
\begin{fleqn}[6em]
\begin{alignat}{3}
\max \qquad
& \mathrlap{w_1\Biggl(\frac{\sum_{j \in I} d_j z_j - A_{min}}{A_{\max}- A_{\min}}\Biggr) -
\Biggl(\frac{\sum_{p \in \mathcal{P}} n_p- B_{min}}{B_{\max}- B_{\min}}\Biggr) - \epsilon \sum_{p \in P} a_p} \label{Eq1} \\
\text{s.t.} \qquad
& \sum_{\substack{i \in V_{0} \\ i\neq j}} \sum_{p \in P_{ij}} x_p \leq 1 \qquad & \forall j \in \mathcal{I}, \label{Eq2} \\
& \sum_{\substack{i \in V_{1} \\ i\neq j}}
\sum_{p \in P_{ij}} x_p - \sum_{\substack{i \in V_{0} \\ i\neq j}}
\sum_{p \in P_{ji}} x_p = 0 \qquad & \forall i \in \mathcal{V}_1
\label{Eq3} \\
& y_p - t_{o(p), \pi_{p(0)}}^{'}x_p = q_{p0} & \forall p \in \mathcal{P}: \lvert \mathcaL{L} _p \rvert \neq 0 \label{Eq8} \\
& Bx_p - t_{\pi_{p(l-1)}, \pi_{p(l)}}^{'}x_p = q_{pl} & \forall p \in \mathcal{P}: |\mathcaL{L}_{p}| \neq 0, \forall l \in \mathcaL{L}_p \textbackslash 0
\label{Eq9} \\
& y_p - (t_p + s_{d(p)}) x_p + \sum_{l \in L_{p}} (Bx_p-q_{pl}) - t_{d(p), \alpha_{d(p)}}^{'} x_p \geq 0 & \forall p \in \mathcal{P} \label{Eq13}
\end{alignat}
\end{fleqn}
\end{document}
答案1
像这样:
(红线表示文本区域边框)
使用nccmath
和mathtools
包。由于我没有您的文档类,因此我使用article
和增加 \textwidhtby \geometry
包:
\documentclass{article}
\usepackage{geometry}
\usepackage{nccmath, mathtools}
\begin{document}
\begin{fleqn}[6em]
\begin{alignat}{3}
\max \qquad
& \mathrlap{w_1\Biggl(\frac{\sum_{j \in I} d_j z_j - A_{min}}
{A_{\max}- A_{\min}}\Biggr) -
\Biggl(\frac{\sum_{p \in \mathcal{P}} n_p- B_{min}}
{B_{\max}- B_{\min}}\Biggr) -
\epsilon \sum_{p \in P} a_p} \label{Eq1} \\
\text{s.t.} \qquad
& \sum_{\substack{i \in V_{0} \\ i\neq j}} \sum_{p \in P_{ij}} x_p \leq 1
\qquad & \forall j \in \mathcal{I}, \label{Eq2} \\
& \sum_{\substack{i \in V_{1} \\ i\neq j}}
\sum_{p \in P_{ij}} x_p - \sum_{\substack{i \in V_{0} \\ i\neq j}}
\sum_{p \in P_{ji}} x_p = 0
\qquad & \forall i \in \mathcal{V}_1 \label{Eq3}
\end{alignat}
\end{fleqn}
\end{document}
附录: 在扩展代码中有两个问题:
- 倒数第二行的条件太长
- 最后一个等式太长了
上述组合强制条件位于文本的右边框,因此它们会覆盖方程的数字。解决方案是打破倒数第二行的条件或打破最后一行的方程。当然,您可以同时执行这两项操作,就像下面在 MQWE 中所做的那样:
\documentclass{article}
\usepackage{geometry}
\usepackage{nccmath, mathtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
\begin{document}
\begin{fleqn}[6em]
\begin{alignat}{3}
\max \qquad
& \mathrlap{w_1\Biggl(\frac{\sum_{j \in I} d_j z_j - A_{min}}
{A_{\max}- A_{\min}}\Biggr) -
\Biggl(\frac{\sum_{p \in \mathcal{P}} n_p- B_{min}}
{B_{\max}- B_{\min}}\Biggr) -
\epsilon \sum_{p \in P} a_p} \label{Eq1} \\
\text{s.t.} \qquad
& \sum_{\substack{i \in V_{0} \\ i\neq j}} \sum_{p \in P_{ij}} x_p \leq 1
\qquad & \forall j \in \mathcal{I}, \label{Eq2} \\
& \sum_{\substack{i \in V_{1} \\ i\neq j}}
\sum_{p \in P_{ij}} x_p - \sum_{\substack{i \in V_{0} \\ i\neq j}}
\sum_{p \in P_{ji}} x_p = 0
\qquad & \forall i \in \mathcal{V}_1 \label{Eq3} \\
%
& y_p - t_{o(p), \pi_{p(0)}}^{'} x_p = q_{p0}
\qquad & \forall p \in \mathcal{P}: \abs{\mathcal{L}_p} \neq 0 \label{Eq8} \\
& Bx_p - t_{\pi_{p(l-1)}, \pi_{p(l)}}^{'}x_p = q_{pl}
\qquad & \begin{multlined}
\forall p \in \mathcal{P}: \abs{\mathcal{L}_{p}} \neq 0,\\
\forall l \in \mathcal{L}_p = 0
\end{multlined} \label{Eq9} \\
& \begin{multlined}
y_p - (t_p + s_{d(p)}) x_p + \\
\sum_{l \in L_{p}} (Bx_p-q_{pl}) - t_{d(p), \alpha_{d(p)}}' x_p \geq 0
\end{multlined}
\qquad & \forall p \in \mathcal{P} \label{Eq13}
\end{alignat}
\end{fleqn}
\end{document}