在 align* 环境中拆分方程

在 align* 环境中拆分方程

我正在尝试生成以下格式,但不使用所有命令\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)对齐就是毫无意义的。\cdotb(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*}

或者将多个\quads 替换为\hspace{10em}

相关内容