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/fonts
apenas para aprender como carregá-las. Estou usando os comandos \setmainfont
e \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
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 breqn
dá 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}