在 LuaLaTeX 中包含 microtype 和 cleveref 的顺序很重要(仅)

在 LuaLaTeX 中包含 microtype 和 cleveref 的顺序很重要(仅)

当使用包\label内部环境并导入时,您会收到以下 MNWE 错误:alignamsmathcleverefmicrotype

\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) 可以发挥作用。

  • amsmathcleverefmicrotype:是否不是工作
  • amsmathmicrotypecleveref作品
  • cleverefamsmathmicrotype作品
  • cleverefmicrotypeamsmath作品
  • microtypeamsmathcleveref作品
  • microtypecleverefamsmath作品

结论:全部一个加载顺序工作正常,我很“幸运”地使用了这个。

相关内容