beamer/metropolis 中的操作員字體

beamer/metropolis 中的操作員字體

當使用投影機的大都市主題時,我在 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主題,這是主題的更現代的分支metropolismoloch不會更改字體,因此預設情況下您將獲得一致的字體集(計算機現代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}

在此輸入影像描述

相關內容