當使用投影機的大都市主題時,我在 Fira Sans 中獲取文字和數學,除了對於數學運算符。我使用 LuaTeX 編譯以下 MWE。
\documentclass{beamer}
\usetheme{metropolis}
\begin{document}
\begin{frame}
Ordinary text.
\[ a^2 + b^2 = \sin^2(x) - \mathsf{y} + \mathrm{z} \]
\end{frame}
\end{document}
對我來說,結果是 a、b、2 和 x 設定為 Fira Sans Light Italic,y 設定為 Fira Sans Light,但 sin 設定為(我猜)Latin Modern 的 sans 字體。 (z 也是拉丁現代語,但這是 beamer 的預期行為。)
\usetheme{metropolis}
毫不奇怪,如果我替換為,我會得到相同的結果
\usepackage[no-math]{fontspec}
\setsansfont[ItalicFont={Fira Sans Light Italic},
BoldFont={Fira Sans},
BoldItalicFont={Fira Sans Italic}]%
{Fira Sans Light}
我猜想這與投影機修補數學字體部分以匹配文字字體有關(請參閱上一個問題)。但是,我對字體系統的了解不夠深入,無法對此進行修改。
有之前問過類似的問題,但我不知道在使用時如何應用該答案fontspec
,或者這是否可能。
有沒有辦法更改操作符字體以匹配 upright/sans 數學字體(即 Fira Sans Light)?
答案1
也許更改操作符字體可能是一種解決方法:
% !TeX TS-program = xelatex
\documentclass{beamer}
\usetheme{metropolis}
\DeclareSymbolFont{sfoperators}{OT1}{FiraSans-LF}{l}{n}
\makeatletter
\renewcommand{\operator@font}{\mathgroup\symsfoperators}
\makeatother
\begin{document}
\begin{frame}
Ordinary text.
\[ a^2 + b^2 = \sin^2(x) - \mathsf{y} + \mathrm{z} \]
\end{frame}
\end{document}
或者,您可以使用moloch
主題,這是主題的更現代的分支metropolis
。moloch
不會更改字體,因此預設情況下您將獲得一致的字體集(計算機現代sans):
\documentclass{beamer}
\usetheme{moloch}% modern fork of the metropolis theme
\begin{document}
\begin{frame}
Ordinary text.
\[ a^2 + b^2 = \sin^2(x) - \mathsf{y} + \mathrm{z} \]
\end{frame}
\end{document}