在 eqnarray 中右对齐

在 eqnarray 中右对齐

我有一个用于多行方程的 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的一个主要优势是,使用这种方式创建覆盖图非常简单。例如,以下设置IEEEeqnarrayamsmath\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*}

将在所有三个覆盖层上显示第一行,从第二个覆盖层开始显示第二行,并且仅在第三个(也是最后一个)覆盖层上显示第三行。

相关内容