Alignat 与“混合”左右对齐

Alignat 与“混合”左右对齐

下面是一些 LaTeX 片段,需要导入 amsmathamssymb

\begin{alignat}{2}
& \forall \left\{i_1, i_2\right\} \in \binom{\left\{1, \ldots, t\right\}}{2}: \mathcal{U}\left(s_{i_1}, b_{i_1}\right) \cap \mathcal{U}\left(s_{i_2}, b_{i_2}\right) = \emptyset \nonumber \\
\Leftrightarrow & \forall \left(\left(i_1, j_1\right), \left(i_2, j_2\right)\right) \in \mathcal{I}: 
\left(a_{i_2} z_{i_2} + \sigma_{s_{i_2}, j_2}\right) - 
\left(a_{i_1} z_{i_1} + \sigma_{s_{i_1}, j_1} + m_{j_1}\right) && \geq 0
\nonumber \\
& \vee
\left(a_{i_1} z_{i_1} + \sigma_{s_{i_1}, j_1}\right) - 
\left(a_{i_2} z_{i_2} + \sigma_{s_{i_2}, j_2} + m_{j_2}\right) && \geq 0. \label{eq:disj}
\end{alignat}

结果如下所示(由于它是从包含更多文本和公式的文档中截取的屏幕截图,因此方程的编号是 (7) 而不是 (1)。

结果

以下是我希望它看起来的样子(最后一个不等式的前半部分右对齐而不是左对齐):

期望结果

那么问题就很明显了:如何不需要改变源代码就能得到想要的结果?

答案1

解决方案是使用mathrlapfrom mathtools(无需加载amsmath)。我删除了几乎所有不必要的\left \right对,并用一对 替换了剩余的一对\bigl \bigr。我还冒昧地用 \emptyset更正确的替换了\varnothing

\documentclass[11pt]{article}
\usepackage{geometry} 
\usepackage{amssymb, mathtools}

\begin{document}

\begin{alignat}{2}
& \forall\mathrlap{\{i_1, i_2\} \in \binom{\{1, \ldots, t\}}{2} : \mathcal{U}(s_{i_1}, b_{i_1}) \cap \mathcal{U}(s_{i_2}, b_{i_2}) = \varnothing} \nonumber & \\
\Leftrightarrow {}& \forall \bigl((i_1, j_1), t(i_2, j_2)\bigr) \in \mathcal{I}&:
(a_{i_2} z_{i_2} + \sigma_{s_{i_2}, j_2}) -
(a_{i_1} z_{i_1} + \sigma_{s_{i_1}, j_1} + m_{j_1})& \geq 0
\nonumber \\
& & \vee
(a_{i_1} z_{i_1} + \sigma_{s_{i_1}, j_1}) -
(a_{i_2} z_{i_2} + \sigma_{s_{i_2}, j_2} + m_{j_2})& \geq 0. \label{eq:disj}
\end{alignat}

\end{document}

在此处输入图片描述

相关内容