autonum 不与 eqnarray 一起工作?

autonum 不与 eqnarray 一起工作?

我一直想要一个像这样的包autonum。现在它终于来了,而且它的开发仍在进行中,但我已经遇到了两个问题:

  1. 它不适用于 eqnarray。

  2. 引用公式时,数字前面有空格,例如( 3)。

这个问题能解决吗?还是我们必须等待?

\documentclass{article}
\usepackage{amsmath}
\usepackage{autonum}

\begin{document}

\begin{eqnarray}
a = g,\\
a = g.
\end{eqnarray}

\begin{equation}
a = g.
\label{tlabel}
\end{equation}

Reference to: (\ref{tlabel})

\begin{equation}
a = g.
\end{equation}

\end{document}

答案1

这是新软件包中的一个错误autonum。 的定义中的行尾\autonum@generatePatchedReferenceGeneral未注释。(另一个不需要的空格是\autonum@possiblyHideNumber。)

快速浏览一下,我没有在行尾发现任何相关的空格,因此禁用行尾有帮助:

\endlinechar=-1
\usepackage{autonum}
\endlinechar=13

或者更防御一点:

\edef\RestoreEndlinechar{\endlinechar=\the\endlinechar\relax}
\endlinechar=-1 %
\usepackage{autonum}
\RestoreEndlinechar

另外还有另外一个问题,在\begin{document}未满时\hbox会打印警告。

进一步说明:

  • 环境eqnarray不推荐,看看这个答案或者禁忌

  • “自动编号”可能对作者有用,但它却忽略了读者。公式编号有助于识别公式。文内引用只是其中一种应用。其他人可能也想引用你作品中的公式,但由于缺少编号而无法引用。因此,所有公式或至少所有相关公式都应编号,而不仅仅是文中引用的公式。

答案2

好吧,这不是你期望的答案,但我想说的是:“不使用eqnarray

查看问题\eqnarray 与 \align寻求解释。

相关内容