我有一个用于多行方程的 MWE eqnarray
。我想右对齐这两个text
,但\hfill
在这里不起作用。
我想我可能会用align
,但是这里只是想知道如何用eqnarray
。
\documentclass[]{beamer}
\begin{document}
\begin{frame}
\frametitle{Example}
\begin{eqnarray*}
A &=& B + C \hfill (\Leftarrow \text{from Theorem 1}) \\
&=& D + E \hfill (\Leftarrow \text{from Corollary 2}) \\
&=& F
\end{eqnarray*}
\end{frame}
\end{document}
答案1
尝试一下align
:
\documentclass[]{beamer}
\begin{document}
\begin{frame}
\frametitle{Example}
\begin{align*}
A &= B + C && (\Leftarrow \text{from Theorem 1}) \\
&= D + E && (\Leftarrow \text{from Corollary 2}) \\
&= F &&
\end{align*}
\end{frame}
\end{document}
或者也可以利用以下\tag{<content>}
命令:
\documentclass[]{beamer}
\begin{document}
\begin{frame}
\frametitle{Example}
\begin{align}
A &= B + C \tag{$\Leftarrow$ from Theorem 1} \\
&= D + E \tag{$\Leftarrow$ from Corollary 2} \\
&= F \notag
\end{align}
\end{frame}
答案2
这是一个使用IEEEeqnarray
环境的解决方案IEEEtrantools包。此包使用的语法与(严重弃用!)eqnarray
环境非常相似,同时 (i) 避免了环境的所有缺点eqnarray
,并且 (ii) 提供了一些巧妙的增强功能,例如能够将文本(通过“x”列说明符)放置在行的最右端。(环境的完整文档IEEEeqnarray
可在文章“如何使用 IEEEtran LATEX 类“作者:迈克尔·谢尔。”)
\documentclass{beamer}
\usepackage{IEEEtrantools}
\begin{document}
\begin{frame}[t] % "[t]" just for this example
\frametitle{Example}
\begin{IEEEeqnarray*}{+rCl+x*}
A &=& B + C \hfill &($\Leftarrow$ from Theorem 1) \\
&=& D + E \hfill &($\Leftarrow$ from Corollary 2) \\
&=& F
\end{IEEEeqnarray*}
\end{frame}
\end{document}
对于用户来说,使用环境而不是软件包的数学环境beamer
的一个主要优势是,使用这种方式创建覆盖图非常简单。例如,以下设置IEEEeqnarray
amsmath
\visible<...>{...}
\begin{IEEEeqnarray*}{+rCl+x*}
A &=& B + C \hfill &($\Leftarrow$ from Theorem 1) \\
\visible<2->{ &=& D + E \hfill &($\Leftarrow$ from Corollary 2)} \\
\visible<3>{ &=& F }
\end{IEEEeqnarray*}
将在所有三个覆盖层上显示第一行,从第二个覆盖层开始显示第二行,并且仅在第三个(也是最后一个)覆盖层上显示第三行。