我正在尝试为演示文稿的单个部分设置字体(实际上是整个演示文稿中的一个字标),但据我所知,我无法轻松覆盖投影仪默认设置。
以下是 MWE:
\documentclass{beamer}
\usepackage[english]{babel}
\usepackage{fontspec}
\begin{document}
\begin{frame}
This is the default font.
{\setmainfont{[Poppins-Medium.ttf]}%
This is a different font.
}
\end{frame}
\end{document}
这只会导致两者都采用默认字体。
答案1
您必须加载字体主题professionalfonts
并设置 sans 字体,因为这是beamer
默认使用的字体。
\setmainfont
是 的别名\setromanfont
,可能有点误导。
\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage[english]{babel}
\usepackage{fontspec}
\begin{document}
\begin{frame}
This is the default font.
{\setsansfont{Poppins-Medium.ttf}%
This is a different font.
}
\end{frame}
\end{document}
答案2
可选参数professionalfonts
有点误导。它并不意味着 Beamer 将使用专业字体,无论它是什么。更好的名称应该是userfonts
。启用professionalfonts
或加载字体主题后,Beamer 不会对字体定义进行任何操作,它将一切都留给用户。
\documentclass[professionalfonts]{beamer}
\usepackage{fontspec}% Latin Modern will be the default
\newfontface\DejaVu{DejaVu Sans}% I don't have the Poppins font
%\setmainfont{DejaVu Sans}% for the whole document
\begin{document}
\begin{frame}
This is the default font.
\DejaVu
This is the DejaVu font.
\end{frame}
\end{document}