\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Latin Modern Sans}
\usepackage{mwe}
\blindmathtrue
\begin{document}
\Blinddocument
\end{document}
上述操作失败并出现错误
ERROR: Internal error: bad native font flag in `map_char_to_glyph' --- TeX said --- --- HELP --- No help available
是什么原因导致了这个错误?我该如何选择字体以避免将来出现这种情况?
答案1
您有两种选择来解决这个问题。
1. 使用 OpenType 数学字体
为了unicode-math
工作你有使用提供数学表的 OpenType 字体,例如Latin Modern Math
。不幸的是,这违背了 MWE 使用无衬线字体进行数学运算的隐含目的。
\documentclass{article}
\pagestyle{empty}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\begin{document}
Lorem ipsum
\[ \sum_{k=0}^\infty a_0q^k = \lim_{n\to\infty}\sum_{k=0}^n a_0q^k =
\lim_{n\to\infty} a_0\frac{1-q^{n+1}}{1-q} = \frac{a_0}{1-q} \]
dolor sit amet
\end{document}
2. 使用 mathspec 包
允许mathspec
使用任何 OpenType 字体进行数学模式(代价是间距不好)。
\documentclass{article}
\usepackage{mathspec}
\setmathfont(Latin,Digits,Greek){Latin Modern Sans}
\setmathrm{Latin Modern Sans}
\begin{document}
Lorem ipsum
\[ \sum_{k=0}^\infty a_0q^k = \lim_{n\to\infty}\sum_{k=0}^n a_0q^k =
\lim_{n\to\infty} a_0\frac{1-q^{n+1}}{1-q} = \frac{a_0}{1-q} \]
dolor sit amet
\end{document}