我正在尝试在 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}