Я всегда хотел иметь пакет вроде autonum
. Ну вот, он наконец-то здесь и его разработка все еще продолжается, но у меня уже есть две проблемы:
С eqnarray это не работает.
При ссылке на уравнение перед числом ставится пробел, например (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
не рекомендуется, см.этот ответилиl2tabu«Автонумерация» может быть полезна для автора, но она забывает о читателе. Номер уравнения помогает идентифицировать уравнение. Ссылки внутри текста — это всего лишь одно из применений. Другие могут также захотеть сослаться на уравнение вашей работы, но не смогут, потому что номер отсутствует. Поэтому все уравнения или, по крайней мере, все соответствующие уравнения должны быть пронумерованы, а не только уравнения, на которые есть ссылки в тексте.
решение2
Ну, это не тот ответ, которого вы ожидаете, но я бы сказал:"Не использовать eqnarray
".
См. вопрос\eqnarray против \alignдля объяснения.