Я учусь загружать шрифты вручную с помощью TeXLive 2023 на Linux.
После долгих мучений я наконец-то заставил этот 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? в качестве ссылки.
TL 2023 на Linux
решение1
Вы можете упростить пример до
\documentclass[12pt]{book}
\usepackage{unicode-math}
\usepackage{breqn}
\errorcontextlines=2000
\begin{document}
test
\end{document}
там, где вы видите, что не удается установить математическую стойку, простым решением было бы сохранить исходную функцию настройки, но что-то еще может сломаться, breqn не был написан с учетом Unicode.
\documentclass[12pt]{book}
\makeatletter
\usepackage{unicode-math}
\let\foo\resetMathstrut@
\usepackage{breqn}
\let\resetMathstrut@\foo
\makeatother
\errorcontextlines=2000
\begin{document}
test
\end{document}