por que adicionar pacotes breqn dá! Sequência de controle indefinida. \begin{documento}?

por que adicionar pacotes breqn dá! Sequência de controle indefinida. \begin{documento}?

Estou aprendendo como carregar fontes manualmente usando TeXLive 2023 no Linux.

Depois de muita luta finalmente consegui fazer esse MWE funcionar. Isso carrega algumas fontes aleatórias que encontrei /usr/local/texlive/2023/texmf-dist/fontsapenas para aprender como carregá-las. Estou usando os comandos \setmainfonte \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}

Eu compilo o acima usando lualatex e não dá nenhum erro.

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

Ele compila e fornece

insira a descrição da imagem aqui

Agora eu descomentei \usepackage{breqn}e agora o mesmo comando lualatex dá

/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 \[
     
? 

O que estou fazendo de errado? Novamente, o texto acima é apenas eu aprendendo como carregar fontes para ver como isso é feito. Por que adicionar breqndá um erro? Eu nem usei o pacote ainda.

Existe uma solução alternativa?

Estou usando esta respostaComo instalar e usar corretamente uma nova fonte com LuaLaTeX? como referência.

TL 2023 no Linux

Responder1

Você pode simplificar o exemplo para

\documentclass[12pt]{book}

\usepackage{unicode-math}

\usepackage{breqn}

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

onde você pode ver que ele falhou ao definir o suporte matemático, uma solução simples seria manter a função de configuração original, mas algo mais pode falhar, breqn não foi escrito com Unicode em mente.

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

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

informação relacionada