如何在 Metropolis 主题中使用 Fira 字体和 mathpazo?

如何在 Metropolis 主题中使用 Fira 字体和 mathpazo?

我正在尝试在 Metropolis 演示主题中使用 Fira 字体作为文本,在数学模式中使用 mathpazo 字体。我该怎么做?

我的MWE如下:

\documentclass{beamer}
\usetheme{metropolis} % Use metropolis theme 
\usepackage{FiraSans}
\usefonttheme[onlymath]{serif} 
\usepackage{mathpazo}
\usepackage{mathtools}
\begin{document}
 \begin{frame}{First Frame}
 Hello, world! Here some random math:
 \begin{equation*}
 s_{t}=\begin{cases}
 \bar{s}, & t\in \left\lbrace 0,\dots, T-1\right\rbrace  \\
 \tilde{s}, & t\geq T
 \end{cases}
 \end{equation*} 
\end{frame}
\end{document}

其结果是:

在此处输入图片描述

数学内容没有通常的 mathpazo 字体的形状。

提前致谢!

答案1

在现代工具链中

我个人建议unicode-math在可以的时候使用,在必须的时候使用旧字体。不是每个人都同意,所以我提出了替代方案。

使用该软件包unicode-math,您可以使用任何您选择的 OpenType 字体,包括 Fira Sans 及其后续字体菲拉戈。Asana Math 是一种基于 的 Unicode 数学字体mathpazo,但包含更多符号。此外,还有一个实验性的费拉数学字体可供使用unicode-math,但截至 2019 年,该工作仍在进行中。

此示例还将数学模式中的所有字母和数字设置为 Fira Sans。如果您愿意,也可以将其更改为 FiraGO。它支持数学希腊语 OpenType 功能。

\documentclass[10pt]{beamer}

\useinnertheme{metropolis}
\useoutertheme{metropolis}
\usecolortheme{metropolis}
\usefonttheme{professionalfonts}
\usepackage{unicode-math}

\defaultfontfeatures{ Scale = MatchUppercase }
\setmainfont{FiraGO}[Scale = 1.0]
\setsansfont{FiraGO}
\setmonofont{Fira Mono}
\setmathfont{Asana Math}
\setmathfont[range=up]{Fira Sans Regular}
\setmathfont[range=it]{Fira Sans Italic}
\setmathfont[range=bfup]{Fira Sans Bold}
\setmathfont[range=bfit]{Fira Sans Bold Italic}

\begin{document}

\begin{frame}{Math}
  \begin{equation*}
    \symup{e} = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n
  \end{equation*}
\end{frame}

\end{document}

数学样本

请注意,您需要启用\usefonttheme{professionalfonts}某些数学功能才能工作(例如本例中调整大小的括号)。因此,我覆盖了所有字体。主题metropolis还允许您选择所需的颜色主题。

将 OpenType 与传统数学字体混合使用

如果您想使用旧的 NFSS 数学包,例如mathpazo,或其后继newpxmath,或 sans-serif 修改newtxsf,请加载数学包并使用mathastext

使用 XeLaTeX,您可以选择加载mathspec\setmathsfont{Fira Sans}\setmathsfont{FiraGO}

或者看看@samcarter 的精彩回答。

仅使用旧版字体

如果您正在使用,则无需执行此操作metropolis,但为了完整性,您也可以在 PDFLaTeX 中执行以下操作:

\usepackage[T1]{fontenc}
\usepackage[sfdefault,scaled=.85]{FiraSans}
\usepackage{newtxsf}

答案2

只要 metropolis 主题使用合适的引擎(例如 xelatex)编译,它就会默认使用 fira 字体。因此,只需不加载任何其他包或主题,您就会获得用于文本的 fira 字体。

% !TeX TS-program = xelatex

\documentclass{beamer}
\usetheme{metropolis} % Use metropolis theme 


\usefonttheme[onlymath]{serif} 
\usepackage{mathpazo}

\begin{document}
 \begin{frame}{First Frame}
 Hello, world! Here some random math:
 \begin{equation*}
 s_{t}=\begin{cases}
 \bar{s}, & t\in \left\lbrace 0,\dots, T-1\right\rbrace  \\
 \tilde{s}, & t\geq T
 \end{cases}
 \end{equation*} 
\end{frame}
\end{document}

在此处输入图片描述


与 xelatex 配合更好的数学字体版本:

% !TeX TS-program = xelatex
\documentclass{beamer}

\usetheme{moloch}% modern fork of the metropolis theme
\usefonttheme{professionalfonts}
\usepackage{unicode-math}
\setsansfont{Fira Sans Light}
\setmathfont{TeX Gyre Pagella Math}

\begin{document}
 \begin{frame}
 \frametitle{First Frame}
 Hello, world! Here some random math:
 \begin{equation*}
 s_{t}=\begin{cases}
 \bar{s}, & t\in \left\lbrace 0,\dots, T-1\right\rbrace  \\
 \tilde{s}, & t\geq T
 \end{cases}
 \end{equation*} 
\end{frame}
\end{document}

在此处输入图片描述

相关内容