IEEEeqnarray 的替代方案

IEEEeqnarray 的替代方案

根据推荐LaTeX 的简单介绍,我一直在IEEEeqnarray大量使用该环境,因为它解决了许多与align环境相关的相当烦人的问题。但由于其文档有限以及它对其他环境(如)造成的更改enumerate,我开始寻找替代方案。

其优点在于IEEEeqnarray

  • 命令\IEEEyesnumber,允许您在IEEEeqnarray*环境中插入方程编号。这使得在一行中插入方程编号变得容易得多,而不必\nonumber像在环境中那样在每一行的末尾写入align

  • 它包括编辑列宽的选项,就像在环境中一样array。语法是:\begin{IEEEeqnarray*}{rCl},这是一个非常好的选项。

是否有人知道如何在其他环境中实现同样的优势?

答案1

看来您使用的主要原因IEEEeqnarray*是您可以选择只对某个方程进行编号。您可以使用align*然后tag/\label对要编号的方程进行编号来实现这一点。

下面我定义了一个\IEEEyesnumber提供所需功能的,您可以根据需要\label使用它们:\ref

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{amsmath}

\newcommand*{\IEEEyesnumber}{\refstepcounter{equation}\tag{\theequation}}%

\begin{document}
\begin{align}
    a &= b \\
    c &= d \label{eqn:Align} \\
    f & = g
\end{align}


\begin{align*}
    a &= b \\
    c &= d \IEEEyesnumber\label{eqn:AlignStar} \\
    f & = g
\end{align*}

In \verb|align| the equation was \ref{eqn:Align}, and in \verb|align*| it was \ref{eqn:AlignStar}.
\end{document}

答案2

我从 peter grill 那里偷了这个例子并做了一点改动——使用alignedwithinequation为第二个显示获取一个数字。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align}
    a &= b \\
    c &= d \label{eqn:Align} \\
    f & = g
\end{align}

\begin{equation}
\begin{aligned}
    a &= b \\
    c &= d \\
    f & = g
\end{aligned}
\label{eqn:Aligned}
\end{equation}

In \verb|align| the equation was \ref{eqn:Align}, and in the structure
using \verb|aligned| it was \ref{eqn:Aligned}.
\end{document}

有关更多可能性,请参阅amsmath文档(texdoc amsmath来自 tex live 安装)。

答案3

为了防止 IEEEtrantools 改变列表环境,只需使用其retainorgcmds选项加载它:

\usepackage[retainorgcmds]{IEEEtrantools}

这是 1.3 版及更高版本的默认操作IEEEtrantools

版本 1.3 现在也可以正常处理hyperref链接。

IEEEeqnarray 的文档非常丰富。请参阅 IEEEtran HOWTO 的附录 F:http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ 以及第 XI 节的 IEEEitemize、IEEEenumerate 等列表。最后,可以在 IEEEtrantools_doc.txt 文件中找到其他 IEEEtrantools.sty 特定文档。

相关内容