当使用包\label
内部环境并导入时,您会收到以下 MNWE 错误:align
amsmath
cleveref
microtype
\documentclass[11pt]{scrbook}
\usepackage{amsmath}
\usepackage{cleveref}
\usepackage{microtype}
\begin{document}
\begin{align}
\label{eq1}
1 < 2
\end{align}
\end{document}
运行它会产生以下错误:
$ lualatex test.tex
[...]
! Use of \label doesn't match its definition.
<argument> \label {
eq1} 1 < 2
l.10 \end{align}
这似乎只是 LuaLaTeX 的问题。它与 pdfLaTeX 和 XeLaTeX 配合使用效果很好。此外,它与\begin{equation}
align 配合使用效果很好,但与 align 配合使用效果不好。
答案1
尝试后的答案是cleveref
应该加载后 microtype
. 因此将示例改为
\documentclass[11pt]{scrbook}
\usepackage{amsmath}
\usepackage{microtype}
\usepackage{cleveref}
\begin{document}
\begin{align}
\label{eq1}
1 < 2
\end{align}
\end{document}
工作正常。
编辑:
问题似乎确实是出在这三个包的组合上,因为它们有不同的顺序(其中一个也cleveref
包括前 microtype
) 可以发挥作用。
amsmath
→cleveref
→microtype
:是否不是工作amsmath
→microtype
→cleveref
:作品cleveref
→amsmath
→microtype
:作品cleveref
→microtype
→amsmath
:作品microtype
→amsmath
→cleveref
:作品microtype
→cleveref
→amsmath
:作品
结论:全部但一个加载顺序工作正常,我很“幸运”地使用了这个。