如果使用 XeLaTex 編譯,以下 MWE 會引發錯誤:
\documentclass{article}
\usepackage{libertinus}
\usepackage[slantedGreek]{libertinust1math}
\begin{document}
Lore ipsum dulur.
\end{document}
錯誤是:
(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty)
! LaTeX Error: Command \dddot already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
這LibertineT1Math 文檔說如果需要的話它會加載“amsmath”,但這顯然會導致錯誤。
如何將 Libertine/Libertinus 字型與 XeLaTeX 一起使用,不僅用於文字內文,還用於數學材質?
答案1
該libertinus
套件(實際上libertinus-otf
,在使用 XeLaTeX 時加載)有一個nomath
選項,但它不會避免加載unicode-math
,但只是不將 Libertinus Math 設定為數學字體。
在我看來,該軟體包應該提供使用傳統數學字體(例如 Libertinus1Math)的選項。
解決方法:欺騙 LaTeX 使其認為unicode-math
已經加載;您還需要明確載入fontspec
.
\expandafter\def\csname [email protected]\endcsname{}
\documentclass{article}
\usepackage{fontspec}
\usepackage[nomath]{libertinus}
\usepackage[slantedGreek]{libertinust1math}
\begin{document}
Lore ipsum dulur $a=b-\sin x$
\end{document}
這是輸出pdffonts
:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
HXAFGM+LibertinusSerif-Regular-Identity-H CID Type 0C Identity-H yes yes yes 5 0
XWISZM+LibertinusT1Math Type 1C Custom yes yes yes 6 0
RZKIRB+LibertinusT1Math Type 1C Custom yes yes yes 7 0
如果您樂意使用unicode-math
,那麼您可以使用 ISO 數學樣式:
\documentclass{article}
\PassOptionsToPackage{math-style=ISO}{unicode-math}
\usepackage{libertinus}
\begin{document}
Lore ipsum dulur $a=b-\sin 2x$
$\Gamma$ $\Delta$
\end{document}