我有一个想要像这样对齐的方程(x 实际上是\times
):
A = BBBBB CCCCCCC
x DDDDD
= EEEEEEE FFFFF
我已经尝试了对齐环境、嵌套对齐以及两列对齐。
使用普通对齐我能做的最好的事情是:
A =&~ widersum &BBBBB &CCCCCCC
& & &x DDDDD
=&~ sum &BBBBB &FFFFF
在我目前的情况下,这没问题,因为第二个和的宽度只是小了一点点。但是,有没有合适的方法可以忽略&
一行中的第二个对齐?
~
附言:当我将对齐放在等号后面时,似乎需要额外的空格。这是为什么?
编辑:一个现实的例子
f_ &= \sum_{\mu, \lambda=-\infty}^\infty &blabla bla bla \notag \\
&&\times blabla \notag \\
&= \sum_{\lambda=-\infty}^\infty blabla bla blabla
是我所追求的
答案1
您可以使用alignat
:align
此外,您还可以使用包\rlap
中的功能mathtools
,使最后一行不影响前几行的对齐:
笔记:
- 我插入了一个附加内容
{}
以确保将其\times
视为二元运算符。
代码:alignat
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{3}
f &= \sum_{\mu, \lambda=-\infty}^\infty & blabla bla bla \notag \\
& & {}\times blabla \notag \\
&= \sum_{\lambda=-\infty}^\infty blabla bla blabla
\end{alignat}
\end{document}
代号:alignat
和rlap
:
\documentclass{article}
\usepackage{math tools} % Already includes amsmath
\begin{document}
\begin{alignat}{3}
f &= \sum_{\mu, \lambda=-\infty}^\infty & blabla bla bla \notag \\
& & {}\times blabla \notag \\
&= \rlap{$\displaystyle\sum_{\lambda=-\infty}^\infty blabla bla blabla$}
\end{alignat}
\end{document}
答案2
我们可以使用 alignat 来实现这一点:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\pagestyle{empty}
\begin{document}
\begin{subequations}
\begin{alignat}{2}
f_0 & = & \sum_{\mu, \lambda=-\infty}^\infty blabla bla bla & {}\\
& & \times blabla & \notag\\
& = & \sum_{\lambda=-\infty}^\infty blabla bla blabla & {}
\end{alignat}
\end{subequations}
\end{document}
答案3
你可以使用array
环境里面align
或环境align*
。材料的第一行array
应左对齐,第二行应右对齐;下面代码中的{}
和@{}
项用于帮助微调对齐。这种方法的一个(可能有利的)副作用是中间行(即第二行array
)将比最后一行更接近第一行。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
A &= \begin{array}[t]{@{}l}
BBBBB\ CCCCCCC\\
\multicolumn{1}{r}{{}\times DDDDD}
\end{array}\\
&= EEEEEEE\ FFFFF
\end{align*}
\end{document}