我正在尝试使用方程内的数组来对齐多行方程,但结果效果不佳。我使用的代码如下:
\begin{equation} \begin{array}{lcl}
\mathcal{L}^{-1}\left\{f(d)\right\} &= \mathcal{L}^{-1}\left\{f_1(\delta).f_2(\delta)\right\} \\
& = exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} exp(-l^2/{4t})\right\} \\
& = F_1 * F_2
\end{array}
\end{equation}
有人可以建议更好的方法来解决这个问题吗?
答案1
array
不是为对齐方程而设计的,而是为数组和矩阵而设计的。该amsmath
软件包有大量的对齐环境,我举几个例子:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
\mathcal{L}^{-1}\left\{f(d)\right\} &= \mathcal{L}^{-1}\left\{f_1(\delta).f_2(\delta)\right\} \\
& = \exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} \exp(-l^2/{4t})\right\} \\
& = F_1 * F_2
\end{align}
or
\begin{equation}
\begin{aligned}
\mathcal{L}^{-1}\left\{f(d)\right\} &= \mathcal{L}^{-1}\left\{f_1(\delta).f_2(\delta)\right\} \\
& = \exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} exp(-l^2/{4t})\right\} \\
& = F_1 * F_2
\end{aligned}
\end{equation}
\end{document}
请注意,这exp
是一个多字母标识符,因此不应设置为数学斜体。
答案2
David 的解决方案是解决此案的正确方法,但你能用于array
此,有时它确实有用:
因此,所需的更改是:
- 您的第二列应该是
l
左对齐,而不是r
右对齐。 - 您需要使用 消除列间距
@{}
,并使用&{}=
来获取等号周围适当的数学间距。 - 您应该使用
\exp
而不是exp
因为那是一个运算符而不是变量。 - 也许可以用它
\cdot
代替.
(除非我不熟悉小圆点符号)。
正如 David Carlisle 所评论的,这些公式显示在狭窄的位置\textstyle
。如果您需要,则\displaystyle
需要\displaystyle
在需要的位置添加(在本例中为第二行)以获得:
或者,如果您包含array
包,那么您可以将>{\displaystyle}
样式包含到列规范中(如 MWE 的最后一部分所示)。
代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\begin{document}\noindent
Without \verb|\displaystyle|:
\begin{equation}
\begin{array}{l@{}l}
\mathcal{L}^{-1}\left\{f(d)\right\}
&{}= \mathcal{L}^{-1}\left\{f_1(\delta) \cdot f_2(\delta)\right\} \\
&{}= \exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} \exp(-l^2/{4t})\right\} \\
&{}= F_1 * F_2
\end{array}
\end{equation}
With \verb|\displaystyle|:
\begin{equation}
\begin{array}{l@{}l}
\mathcal{L}^{-1}\left\{f(d)\right\}
&{}= \mathcal{L}^{-1}\left\{f_1(\delta) \cdot f_2(\delta)\right\} \\
&{}= \displaystyle\exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} \exp(-l^2/{4t})\right\} \\
&{}= F_1 * F_2
\end{array}
\end{equation}
With \verb|\displaystyle| and \verb|array| package:
\begin{equation}
\begin{array}{l@{}>{\displaystyle}l}
\mathcal{L}^{-1}\left\{f(d)\right\}
&{}= \mathcal{L}^{-1}\left\{f_1(\delta) \cdot f_2(\delta)\right\} \\
&{}= \exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} \exp(-l^2/{4t})\right\} \\
&{}= F_1 * F_2
\end{array}
\end{equation}
\end{document}
&{}=
您可以通过将其埋入列规范中来消除使用需要array
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{array}{l@{{}={}}l}
\mathcal{L}^{-1}\left\{f(d)\right\}
& \mathcal{L}^{-1}\left\{f_1(\delta).f_2(\delta)\right\} \\
& \exp(mt) \star \left\{\frac{l}{2\sqrt{\pi t^3}} \exp(-l^2/{4t})\right\} \\
& F_1 * F_2
\end{array}
\end{equation}
\end{document}
答案3
我总是需要在数学环境之外对齐等号,我发现最好的方法是使用 center 和 tabular。这最适合在证明和变量描述中对齐等号。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\int_{a}^{b} f(x) dx \approx h \left[ \dfrac{f(a)}{2} + \sum_{i=1}^{\eta} f(x_i) +
\dfrac{f(b)}{2}\right]
\end{equation}
where
\begin{center}\begin{tabular}{ccl}\
$a, b$ & = & bounds of integration (endpoints of interval) \\
$f(x)$ & = & function \\
$h$ & = & step size \\
$\eta$ & = & number of trapezoids
\end{tabular}\end{center}