autonum 和 cleveref 冲突

autonum 和 cleveref 冲突

在此处输入图片描述以下代码会产生错误输出。当我将 cleveref 放在第一位时,它根本不会拾取引用。当我将 autonum 放在第一位时,会发生非常奇怪的事情。请参见下面的图片。

我找到了这个参考:在此处输入链接描述这似乎相关,但我有 autonum 版本 3.8,因此那里提到的问题应该得到修复。您觉得如何?

PS:要查看该行为,请确保在更改 autonum 和 cleveref 的顺序后清除 aux 文件。

\documentclass{amsart}

\usepackage{autonum}
\usepackage{cleveref}

\listfiles

\begin{document}

\begin{multline} \label{eq:longeq}
 z=a+b+c+d+e+f+g\\
 + h+i+j+k+\ell+m+n+o+p+q+r+s+t+u+v+w+x+y.
 \end{multline}

 Equation \cref{eq:longeq}.





 \begin{multline} 
 z=a+b+c+d+e+f+g\\
 + h+i+j+k+\ell+m+n+o+p+q+r+s+t+u+v+w+x+y.\label{eq:longeq2}
 \end{multline}

 Equation \cref{eq:longeq2}.


\begin{gather} \label{eq:shorteq}
 x=y 
\end{gather}

Equation \cref{eq:shorteq}
 \end{document}

在此处输入图片描述

答案1

如果您阅读文档,这些软件包是兼容的。更具体地说,amsmath必须在 之前加载cleveref, 必须在 之前加载autonum。例如:

\documentclass{article}
\usepackage{amsmath,cleveref,autonum}
\begin{document}
\begin{multline}\label{eq:a}
 z=a+b+c+d+e+f+g\\
 + h+i+j+k+\ell+m+n+o+p+q+r+s+t+u+v+w+x+y.
\end{multline}
\begin{multline}\label{eq:b}
 z=a+b+c+d+e+f+g\\
 + h+i+j+k+\ell+m+n+o+p+q+r+s+t+u+v+w+x+y.
\end{multline}
\begin{gather}\label{eq:c}
 x=y
\end{gather}
\begin{gather}\label{eq:d}
 x=y
\end{gather}
We reference the first \verb|multline| environment, but not the second, and the second \verb|gather| environment, but not the first.
Hence. only \cref{eq:a} and \cref{eq:d} will be numbered, even though all equations are labelled.
\end{document}

<code>autonum</code> 与 <code>cleveref</code>

但是,这里与类不兼容amsart。虽然包与标准类兼容,但切换到以下情况时效果并不好amsart

不兼容的证据

相关内容