我正在尝试生成以下格式,但不使用所有命令\quad
,以使最后一个方程式在拆分中很好地对齐(a(x)
、b(x)
和c(x)
实际上是非常长的表达式)。我在互联网上搜索了很多,但无济于事。有什么想法吗?
\begin{align*}
f & = \int a(x) ) dx\\
%
& = \int b(x) \\
& \quad \quad \quad \quad \cdot c(x) dx\\
%
\end{align*}
答案1
使用\hphantom
无需排版任何内容即可获得正确的水平间距:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
f & = \int a(x) dx \\
& = \int b(x) \\
& \hphantom{{}=\int b(x)}\cdot c(x) dx
\end{align*}
\end{document}
答案2
您的方法几乎是正确的;如果b(x)
和在这里代表长表达式,那么试图将与的末尾c(x)
对齐就是毫无意义的。\cdot
b(x)
我会使用一个简单的\quad
,但略有改进:
\begin{align*}
f & = \int a(x)\,dx\\
& = \int b(x) \\
& \mathrel{\phantom{=\int}}\quad {}\cdot c(x)\,dx
\end{align*}
这样,\quad
就会在上一行的积分符号后面开始,并且三行的垂直间距将是均匀的。{}
插入一个虚拟对象,使+
成为二进制运算符号。
“现实”的例子:
\begin{align*}
f & = \int \cos(x-a)\,dx\\
& = \int (\cos a\cos x \\
& \mathrel{\phantom{=\int}}\quad{} + \sin a\sin x)\,dx
\end{align*}
答案3
我认为下面的代码可以满足您的要求。该\phantom{\phantom{=\int b(x)}
命令插入一个与其内容(即上一行)宽度相同的不可见块,并且该\smash{...}
命令可防止不可见块占用过多的垂直空间。(尝试不使用该命令的代码,\smash
以查看对环境第 2 行和第 3 行之间的间距的影响。)最后,命令中的align*
额外代码片段用于告诉 TeX 将(否则不可见的)等号视为“正常”数学关系运算符。{}
\phantom
另外,我从第一行中删除了一个多余的右括号,并添加了一些“细间距”命令,\,
以便在被积函数和“dx”项之间提供一点分隔;这样做往往会提高可读性(这是许多数学家遵循的做法,包括 TeX 的创建者 Don Knuth)。:-)
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
f &= \int a(x) \,dx \\
&= \int b(x) \\
&\smash{\phantom{{}=\int b(x)}}\cdot c(x)\,dx
\end{align*}
\end{document}
答案4
如果 b(x) 和 c(x) 都足够长,则可以使用此方法:
\begin{multline*}
\begin{aligned}
f &= \int a(x) \,dx\\
&= \int b(x)
\end{aligned}
\\
{}\cdot c(x)\,dx
\end{multline*}
或者将多个\quad
s 替换为\hspace{10em}