我如何实现多个方程的对齐?

我如何实现多个方程的对齐?

请考虑以下示例:

\documentclass{article}

\usepackage{amsmath, amsthm, amssymb, mathtools, thmtools, unicode-math}

\begin{document}

\begin{align*}
    \hphantom{\Leftrightarrow}Lf&=0\\
    \Leftrightarrow f''&=-\frac{2b}af'\\
    \Leftrightarrow f'&=c_1\exp\left(-2\int_0^{\;\cdot}\frac ba(x)\:{\rm d}x\right)\\
    \Leftrightarrow f&=c_1\int_0^{\;\cdot}\exp\left(-2\int_0^y\frac ba(x)\:{\rm d}x\right)\:{\rm d}y+c_2
\end{align*}

\end{document}

期望的输出如下:

期望输出

如何实现正确的对齐?基本上,它是一个有四列的矩阵。第一、第二和第四列的内容应该分别左对齐、右对齐和左对齐。我们该怎么做呢?

答案1

使用alignat

\documentclass{article}

\usepackage{amsmath}

\newcommand{\diff}{\mathop{}\!\mathrm{d}}

\begin{document}

\begin{alignat*}{2}
&\quad& Lf&=0\\
\Leftrightarrow && f''&=-\frac{2b}af'\\
\Leftrightarrow && f'&=c_1\exp\biggl(-2\int_0^{\;\cdot}\frac ba(x)\diff x\biggr)\\
\Leftrightarrow && f&=c_1\int_0^{\;\cdot}\exp\biggl(-2\int_0^y\frac ba(x)\diff x\biggr)\diff y+c_2
\end{alignat*}

\end{document}

我改变了差异 d 的排版方式,它的间距\:是错误的,并且\rm已经弃用了 20 多年。

在此处输入图片描述

答案2

还有这种可能性,使用\ArrowBetweenLines命令,来自mathtools

无关:无需加载,amsmath因为 mathtools 已经为您完成了。

\documentclass{article}

\usepackage{ amssymb, mathtools, amsthm, thmtools, unicode-math}

\begin{document}

\begin{alignat*}{2}
  & & Lf&=0\\
    \ArrowBetweenLines & & f''&=-\frac{2b}af'\\
    \ArrowBetweenLines & &f'&=c_1\exp\left(-2\int_0^{\;\cdot}\frac ba(x)\:{\rm d}x\right)\\
    \ArrowBetweenLines & &f&=c_1\int_0^{\;\cdot}\exp\left(-2\int_0^y\frac ba(x)\:{\rm d}x\right)\:{\rm d}y+c_2
\end{alignat*}

\end{document}

在此处输入图片描述

相关内容