![microtype と cleveref のインクルード順序は LuaLaTeX でのみ重要です](https://rvso.com/image/348621/microtype%20%E3%81%A8%20cleveref%20%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AB%E3%83%BC%E3%83%89%E9%A0%86%E5%BA%8F%E3%81%AF%20LuaLaTeX%20%E3%81%A7%E3%81%AE%E3%81%BF%E9%87%8D%E8%A6%81%E3%81%A7%E3%81%99.png)
パッケージの環境\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}
正常に動作します。
編集:
問題は3つのパッケージの組み合わせにあるようです。なぜなら、異なる注文(また、cleveref
含まれているもの)があるためです。前に microtype
) どの作品。
amsmath
→cleveref
→microtype
: するない仕事amsmath
→microtype
→cleveref
:作品cleveref
→amsmath
→microtype
:作品cleveref
→microtype
→amsmath
:作品microtype
→amsmath
→cleveref
:作品microtype
→cleveref
→amsmath
:作品
結論:全てしかし1 つの読み込み順序で問題なく動作し、まさにこれを使用できたのは「幸運」でした。