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不推薦,參見這個答案或者L2禁忌

  • 「自動編號」可能對作者有用,但它忘記了讀者。方程式編號有助於辨識方程式。在文本中引用只是一種應用。其他人可能也想引用您工作的方程式,但他們不能,因為缺少數字。因此,所有方程式或至少所有相關方程式都應該編號,而不僅僅是文本中引用的方程式。

答案2

好吧,這不是你期望的答案,但我會說:“不使用eqnarray

查看問題\eqnarray 與 \align以獲得解釋。

相關內容