Шрифт оператора в Beamer/Metropolis

Шрифт оператора в Beamer/Metropolis

При использовании темы «Метрополис» для Beamer я получаю текст и математику в Fira Sans,кромедля математических операторов. Я компилирую следующий MWE с помощью LuaTeX.

\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. (Буква z также набрана шрифтом Latin Modern, но это ожидаемое поведение от Beamer.)

Неудивительно, что я получаю тот же результат, если заменяю \usetheme{metropolis}на

\usepackage[no-math]{fontspec}
\setsansfont[ItalicFont={Fira Sans Light Italic},
  BoldFont={Fira Sans},
  BoldItalicFont={Fira Sans Italic}]%
  {Fira Sans Light}

Я предполагаю, что это связано с тем, что Beamer исправил части математических шрифтов, чтобы они соответствовали текстовому шрифту (см.этот предыдущий вопрос). Однако я недостаточно хорошо понимаю систему шрифтов, чтобы изменить это.

Там былоаналогичный вопрос задавался ранее, но я понятия не имею, как применить этот ответ при использовании fontspec, или возможно ли это вообще.

Есть ли способ изменить шрифт оператора так, чтобы он соответствовал прямому/рубленому шрифту (например, 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}

введите описание изображения здесь

Связанный контент