我使用aligned
环境来表示对齐的方程式,但 latex 总是将第一行稍微向左推,因为那里没有 for 部分,我尝试使用幻影将其推回,但它不起作用
\begin{equation*}
\begin{aligned}
D_1(0, 0) &= 0, && \phantom{for} \\
D_1(i, 0) &= D_1(i-1, 0) - \delta, && \text{for}\ 1 \leq j \leq n, \\
D_1(0, j) &= 0, && \text{for}\ 1 \leq j \leq m, \\
\end{aligned}
\end{equation*}
有人现在知道我该如何解决这个问题吗?
答案1
如果你指的是对齐,那么D
稍微偏离的原因是 a 占用的空间0
与 a 占用的空间不同i
。aligned
环境为文本提供了右对齐前,这&
就是您所看到的。
解决这个问题的一种方法是确保字母i
和的排版j
宽度与一样宽:0
\makebox
\widthof{0}
或者,您可以使用alignedat
MWE 中所示的方法来获得类似的结果。
笔记:
- 根据 barbara beeton 的建议,右侧已被放置在
\text{}
宏内。 \phantom{for}
正如沃纳指出的那样,由于它没有任何用处,因此也被删除了。
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}
\newcommand*{\MakeBox}[1]{\makebox[\widthof{0}]{$#1$}}%
\begin{document}
\begin{equation*}
\begin{aligned}
D_1(0, 0) &= 0, && \\
D_1(i, 0) &= D_1(i-1, 0) - \delta, && \text{for $1 \leq j \leq n$,} \\
D_1(0, j) &= 0, && \text{for $1 \leq j \leq m$,}, \\
\end{aligned}
\end{equation*}
Alternaively
\begin{alignat*}{3}
D_1&(0, 0) &&= 0, && \\
D_1&(i, 0) &&= D_1(i-1, 0) - \delta, && \quad \text{for $1 \leq j \leq n$,} \\
D_1&(0, j) &&= 0, && \quad \text{for $1 \leq j \leq m$,} \\
\end{alignat*}
\end{document}