我正在學習如何在 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 並不是在考慮 Unicode 的情況下編寫的。
\documentclass[12pt]{book}
\makeatletter
\usepackage{unicode-math}
\let\foo\resetMathstrut@
\usepackage{breqn}
\let\resetMathstrut@\foo
\makeatother
\errorcontextlines=2000
\begin{document}
test
\end{document}