我的 LaTeX 文档中有以下片段:
\begin{align}
\sum_{j=1}^{m}x_{ij} &= 1 \text{ for } i = 1,2,...,n
\sum_{i \in P_k}x_{ij} &\leq 1 \text{ for } j = 1,2,...,m \text{; } \forall k
\end{align}
如您所见,和=
是\leq
对齐的,并且每个方程的右侧后面都有一些条件文本。
事实证明,条件文本也对齐了,但这只是因为两个 RHS 相等。如果我的顶部 RHS 等于 100,底部等于 1,那么条件文本就会偏移。
我有两个问题:
- 我怎样才能同时对齐两件事?我希望方程在(不)等式上对齐,但我还希望条件对齐。
- 我怎样才能让方程式大致位于页面的中心,但让条件文本位于页面的右侧(但仍然根据它们的起始位置对齐)。
例子:
这就是我现在所拥有的:
a(10i) = b for all i
b(j) = a for all j
然而,按照我目前的布局方式,这种情况可能会发生:
a(10i) = b for all i
b(j) = a/10 for all j
请注意,不同长度的 RHS 会使情况不理想。
我想要的是类似这样的东西:
a(10i) = b for all i
b(j) = a/10 for all j
如果可能的话,将方程式置于页面的中心。
另外,如果我改变条件文本使它们的长度可变,那么它们应该从同一点开始:
a(10i) = b for all i
b(j) = a/10 for all j > 5
请注意,方程式位于页面的中心并与等式对齐,而条件则向右偏移,但仍与起始位置对齐。
答案1
下面看起来怎么样?
\begin{align*}
\alpha+\beta\sum_{j=1}^{m}x_{ij} &=1& &\text{for}\ i = 1,2,\ldots,n\\
\sum_{i \in P_k}x_{ij} &\leq1& &\text{when}\ j = 1,2,\ldots,m \text{;}\ \forall k
\end{align*}
答案2
对齐条件的方法如下:
\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
\sum_{j=1}^{m}x_{ij} &= 1 & \text{ for } i &= 1,2,...,n
\\
\sum_{i \in P_k}x_{ij} &\leq 1 & \text{ for } j &= 1,2,...,m \text{; } \forall k
\\
\sum_{i \in P_k}x_{ij} &\leq 1 &
\\
\sum_{i \in P_k}x_{ij} &\leq 1 & \text{ for } j &= 1,2,...,m \text{; } \forall k
\end{align}
\end{document}
我希望这个例子也能回答你的第二个问题。虽然我不知道是否可以使用不同的对齐环境来对齐所有内容。据我了解,右侧的可用空间量取决于你想为条件留下多少空间。
您还可以使用 alignat 环境。它在对齐方面稍微灵活一些 :)
\begin{alignat}{2}
\sum_{j=1}^{m}x_{ij} &= 1 && \text{ for } i = 1,2,...,n
\\
\sum_{i \in P_k}x_{ij} &\leq (1 - \sqrt{23}) && \text{ for } j = 1,2,...,m \text{; } \forall k
\\
\sum_{i \in P_k}x_{ij} &\leq 1 &&
\\
\sum_{i \in P_k}x_{ij} &\leq 1 && \text{ for } j = 1,2,...,m \text{; } \forall k
\end{alignat}
希望对您有所帮助 :) 您可以在amsmath 文档