LuaLaTeX에서는 마이크로타입 및 클레레프에 대한 순서를 포함하는 것이 중요합니다.

LuaLaTeX에서는 마이크로타입 및 클레레프에 대한 순서를 포함하는 것이 중요합니다.

패키지 의 \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 모두에서 잘 작동합니다. 또한 align에서는 작동하지만 align에서는 작동하지 \begin{equation}않습니다.

답변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:공장

결론:모두하지만하나의 로딩 순서는 잘 작동하며 이것을 정확히 사용한 것은 "행운"이었습니다.

관련 정보