breqn 패키지를 추가하면 왜 ! 정의되지 않은 제어 순서. \begin{문서}?

breqn 패키지를 추가하면 왜 ! 정의되지 않은 제어 순서. \begin{문서}?

Linux에서 TeXLive 2023을 사용하여 수동으로 글꼴을 로드하는 방법을 배우고 있습니다.

많은 노력 끝에 마침내 이 MWE가 작동하게 되었습니다. 이것은 /usr/local/texlive/2023/texmf-dist/fonts로드하는 방법을 배우기 위해 내가 찾은 임의의 글꼴을 로드합니다 . \setmainfont및 명령을 사용하고 있습니다 \setmathfont.

\documentclass[12pt]{book}    
\usepackage{amsmath}     
\usepackage{fontspec,unicode-math}

\setmainfont[
    Path           = /usr/local/texlive/2023/texmf-dist/fonts/opentype/public/qualitype/,
    Extension      = .otf,
    Ligatures      = TeX
]{QTSchoolCentury}

\setmathfont[
    Path           = /usr/local/texlive/2023/texmf-dist/fonts/opentype/public/asana-math/,
    Extension      = .otf,
    Ligatures      = TeX
]{Asana-Math}

%\usepackage{breqn}

\begin{document}
test

\[
\sin x = \int_{0}^{\infty} \cos x
\]
\end{document}

lualatex를 사용하여 위의 내용을 컴파일했는데 오류가 발생하지 않습니다.

>lualatex A.tex
This is LuaHBTeX, Version 1.16.0 (TeX Live 2023) 
 restricted system commands enabled.
(./A.tex
   .....

그것은 컴파일하고 제공합니다

여기에 이미지 설명을 입력하세요

이제 주석을 제거했고 \usepackage{breqn}이제 동일한 lualatex 명령이 제공됩니다.

/usr/local/texlive/2023/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/local/texlive/2023/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
(/usr/local/texlive/2023/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
! Undefined control sequence.
<recently read> \
 
l.25 \[
     
? 

내가 도대체 ​​뭘 잘못하고있는 겁니까? 다시 말하지만, 위의 내용은 글꼴을 로드하는 방법을 배우고 그것이 어떻게 수행되는지 확인하는 것입니다. 추가하면 breqn오류가 발생하는 이유는 무엇입니까? 아직 패키지도 사용해보지 못했습니다.

해결 방법이 있나요?

나는 이 답변을 사용하고 있습니다LuaLaTeX에서 새 글꼴을 올바르게 설치하고 사용하는 방법은 무엇입니까? 참고로.

Linux의 TL 2023

답변1

예제를 다음과 같이 단순화할 수 있습니다.

\documentclass[12pt]{book}

\usepackage{unicode-math}

\usepackage{breqn}

\errorcontextlines=2000
\begin{document}
test
\end{document}

수학 스트럿 설정에 실패하는 것을 볼 수 있는 경우 간단한 수정 방법은 원래 설정 기능을 유지하는 것이지만 다른 문제가 발생할 수 있습니다. breqn은 유니코드를 염두에 두고 작성되지 않았습니다.

\documentclass[12pt]{book}
\makeatletter
\usepackage{unicode-math}
\let\foo\resetMathstrut@
\usepackage{breqn}
\let\resetMathstrut@\foo
\makeatother

\errorcontextlines=2000
\begin{document}
test
\end{document}

관련 정보