我正在尝试制作一个带有不同数学和文本字体的投影仪演示文稿。作为 MWE,当我写下以下内容时:
\documentclass[english]{beamer}
\usepackage{lmodern}
\usepackage[no-math]{fontspec}
\setsansfont{Tahoma}
\begin{document}
The quick brown fox jumps over the lazy dog.
\[
F(x)=\int_{0}^{x}f(t)\, dt
\]
\end{document}
我会预计看到的是 Tahoma 中的常规文本,以及拉丁现代中的数学集。这似乎是 fontspec 文档所暗示的。但是,当我运行“xelatex myfile.tex”时,我看到输出文件始终都是 Tahoma 字体。我曾使用 mathspec 和其他命令(如 \setmainfont 等)进行过类似的尝试,但我不明白我应该做什么。
答案1
这不是字体的问题,而是字体设置的fontspec
问题。默认情况下,所有文本都是无衬线的,包括数学文本。如果您想要有衬线的数学文本和其他无衬线的文本,请使用:beamer
beamer
\usefonttheme[onlymath]{serif}
完整示例
% !TEX TS-program = XeLaTeX
\documentclass[english]{beamer}
\usepackage{lmodern}
\usepackage{fontspec}
\setsansfont{Tahoma}
\usefonttheme[onlymath]{serif}
\begin{document}
The quick brown fox jumps over the lazy dog.
\[
F(x)=\int_{0}^{x}f(t)\, dt
\]
\end{document}
答案2
另一种可能性是使用:
\usefonttheme{professionalfonts}
梅威瑟:
\documentclass[english]{beamer}
\usepackage{lmodern}
\usepackage[no-math]{fontspec}
\usefonttheme{professionalfonts}
\setsansfont{Tahoma}
\begin{document}
The quick brown fox jumps over the lazy dog.
\[
F(x)=\int_{0}^{x}f(t)\, dt
\]
\end{document}