我正在尝试自定义 Beamer 模板,虽然使用 和 可以轻松更改整个演示文稿的字体,\setmonofont{}
但我不明白如何更改单个元素的字体。例如,\setsansfont{}
我想在标题页中使用不同的字体。似乎允许修改每个部分中字体的属性,但不允许修改字体本身?title
author
\setbeamerfont{}
更新
所以我刚刚发现了\begingroup
和\endgroup
命令。如果我将我想要的部分包装到一个组中,那么我可以setmonofont{}
在组内应用一个新的并实现我想要的效果。然而,这看起来像是一个 hack,我更希望所有的字体更改都在字体 drx 文件中进行。
答案1
您可以使用\setbeamerfont{...}{family=}
或\setbeamerfont{...}{family*=}
针对旧式 NFSS 字体系列执行此操作。
下面是一个\newfontfamily
使用现代工具链和声明的示例unicode-math
。它需要 LuaLaTeX 或 XeLaTeX。
\documentclass[noamssymb,
professionalfonts,
xcolor={HTML, svgnames, Svgnames}
]{beamer} % Loads several other packages, including amsthm and geometry.
\usepackage[math-style=ISO]{unicode-math}
\geometry{paperwidth = 10cm} % Appropriate width for a MWE on TeX.SX.
\defaultfontfeatures{ Scale = MatchLowercase }
\newfontfamily\avantgarde{TeX Gyre Adventor}[Ligatures=Common]
\setbeamerfont{frametitle}{family=\avantgarde}
\begin{document}
\begin{frame}
\frametitle{There Is No Largest Prime Number}
\framesubtitle{The proof uses \textit{reductio ad absurdum}.}
\begin{theorem}
There is no largest prime number.
\end{theorem}
\begin{proof}
\begin{enumerate}
\item Suppose $p$ were the largest prime number.
\item Let $q$ be the product of the first $p$ numbers.
\item Then $q+1$ is not divisible by any of them.
\item But $q + 1$ is greater than $1$, thus divisible by some prime
number not in the first $p$ numbers.\qedhere
\end{enumerate}
\end{proof}
\end{frame}
\end{document}
在实际文档中,您可能希望设置一些额外的\setmathfont[range=...]
命令来调整数学字母和 QED 符号等内容。我在这里没有这样做,以使此示例保持简洁,因此字体选择看起来会很奇怪。
下面是与 PDFLaTeX 兼容的示例:
\documentclass[xcolor={HTML, svgnames, Svgnames}
]{beamer} % Loads several other packages, including amsthm and geometry.
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[utf8]{inputenc} % The default since 2018.
\geometry{paperwidth = 10cm} % Appropriate width for a MWE on TeX.SX.
\setbeamerfont{frametitle}{family*=qag} % TeX Gyre Adventor
\begin{document}
\begin{frame}
\frametitle{There Is No Largest Prime Number}
\framesubtitle{The proof uses \textit{reductio ad absurdum}.}
\begin{theorem}
There is no largest prime number.
\end{theorem}
\begin{proof}
\begin{enumerate}
\item Suppose $p$ were the largest prime number.
\item Let $q$ be the product of the first $p$ numbers.
\item Then $q+1$ is not divisible by any of them.
\item But $q + 1$ is greater than $1$, thus divisible by some prime
number not in the first $p$ numbers.\qedhere
\end{enumerate}
\end{proof}
\end{frame}
\end{document}
在这种情况下,您需要将 NFSS 家族名称传递给family*=
。 字体的文档告诉我们文件名为qagr
、qagb
和,qagri
因此qagbi
字体系列的通用前缀为qag
。 (这在当时是有道理的。当文件系统的最小公分母仅支持八个字母的文件名,并且每种变体字体都需要自己的文件名时,字体系列名称需要是隐秘的。GUST 为其 TeX Gyre 字体选择了前缀,q
因为它几乎未使用,而 Adventor 是 Avant Garde Gothic 的克隆。)
一些旧字体包定义了可能与 配合使用的 NFSS 系列名称family=
。您需要查看文档。
您还可以选择元素内的字体系列,例如\frametitle{\avantgarde There is no Largest Prime Number}
。