Autonum funktioniert nicht mit Eqnarray?

Autonum funktioniert nicht mit Eqnarray?

Ich wollte schon immer ein Paket wie haben autonum. Nun ist es endlich da und die Entwicklung ist noch im Gange, aber ich habe bereits zwei Probleme:

  1. Es funktioniert nicht mit Eqnarray.

  2. Bei Bezugnahme auf eine Gleichung erscheint vor der Zahl ein Leerzeichen, zB ( 3).

Kann man das schon lösen oder müssen wir abwarten?

\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}

Antwort1

Es handelt sich um einen Fehler im neuen Paket autonum. Ein Zeilenende in der Definition von \autonum@generatePatchedReferenceGeneralist nicht kommentiert. (Ein weiterer Kandidat für unerwünschte Leerzeichen ist \autonum@possiblyHideNumber.)

Auf den ersten Blick konnte ich keine relevanten Leerzeichen am Zeilenende finden, daher hilft das Deaktivieren der Zeilenenden:

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

Oder etwas defensiver:

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

Außerdem gibt es noch ein weiteres Problem: Bei \begin{document}zu geringem \hboxFüllstand wird eine Warnung ausgegeben.

Weitere Bemerkungen:

  • Die Umgebung eqnarraywird nicht empfohlen, siehediese AntwortoderAbonnieren

  • „Autonummerierung“ mag für den Autor nützlich sein, vergisst aber den Leser. Die Gleichungsnummer hilft dabei, die Gleichung zu identifizieren. Das Verweisen innerhalb des Textes ist nur eine Anwendung. Andere möchten vielleicht auch auf eine Gleichung Ihrer Arbeit verweisen, können dies aber nicht, weil die Nummer fehlt. Daher sollten alle Gleichungen oder zumindest alle relevanten Gleichungen nummeriert werden, nicht nur die Gleichungen, auf die im Text verwiesen wird.

Antwort2

Nun, das ist nicht die Antwort, die Sie erwarten, aber ich würde sagen:"Verwende nicht eqnarray".

Siehe die Frage\eqnarray vs \alignfür eine Erklärung.

verwandte Informationen