我在 TeXShop 上使用 XeLaTeX 尝试使用 Beamer 类设置演示文稿,并希望在框架标题中利用 Zapfino 字体。如果我理解正确的话,为了做到这一点,我需要如下所示的内容:
\documentclass[11pt,serif]{beamer}
\usepackage[english]{babel}
\usepackage[applemac]{inputenc}
\usepackage[light,math,condensed]{kurier}
\usepackage[T1]{fontenc}
\usepackage{unicode-math}
\setbeamerfont{frametitle}{family={\fontspec[Variant=1]{Zapfino}}, size=\small}
\begin{document}
\begin{frame}
\frametitle{A title}
text
\begin{itemize}
\item this is an item
\end{itemize}
\end{frame}
\end{document}
现在,当我编译此文档时,我确实在框架标题中获得了 Zapfino 字体,但我丢失了列表中的项目符号itemize
。我相信问题在于unicode-math
包的使用,因为以下代码将编译,将恢复丢失的项目符号,但显然不允许在框架标题中使用 Zapfino 字体。
\documentclass[11pt,serif]{beamer}
\usepackage[english]{babel}
\usepackage[applemac]{inputenc}
\usepackage[light,math,condensed]{kurier}
\usepackage[T1]{fontenc}
%\usepackage{unicode-math}
%\setbeamerfont{frametitle}{family={\fontspec[Variant=1]{Zapfino}}, size=\small}
\begin{document}
\begin{frame}
\frametitle{A title}
text
\begin{itemize}
\item this is an item
\end{itemize}
\end{frame}
\end{document}
(\setbeamerfont{frametitle}{family={\fontspec[Variant=1]{Zapfino}}, size=\small}
必须注释,否则代码无法编译。)
我也尝试过用手工方式解决这个问题,即使用description
列表并手动输入项目符号,但也没有用。就好像那些字符完全消失了一样。
有没有办法解决这个问题,或者我被迫在框架标题和项目符号之间做出选择?
非常感谢!
答案1
问题在于unicode-math
包。删除它并fontspec
直接加载会同时提供 Zapfino 字体和项目符号。在下面的代码中,我还更正了对serif
beamer 中字体主题的调用,删除了inputenc
Ulrike Fischer 评论中的 as 并更改了包的加载顺序(所有与字体相关的内容都必须在之后加载fontspec
):
\documentclass[11pt]{beamer}
\usepackage[english]{babel}
\usepackage{fontspec}
\usefonttheme{serif}
\usepackage[light,math,condensed]{kurier}
\usepackage[T1]{fontenc}
\setbeamerfont{frametitle}{family={\fontspec[Variant=1]{Zapfino}}, size=\small}
\begin{document}
\begin{frame}
\frametitle{A title}
text
\begin{itemize}
\item this is an item
\end{itemize}
\end{frame}
\end{document}