Beamer - unicode-math,运算符的字体错误

Beamer - unicode-math,运算符的字体错误

当我\Pr在数学模式下使用时,它会显示不同的字体而不是计算机现代字体,如下所示: 在此处输入图片描述

我的 MWE (在 XeLaTeX 中):

\documentclass[aspectratio=32, hyperref=unicode, dvipsnames]{beamer}

\usefonttheme{professionalfonts}
\usefonttheme{serif}
\usetheme{Boadilla}
\usecolortheme{rose}
\beamertemplatenavigationsymbolsempty

\usepackage{datetime}
\usepackage{mathtools}
\usepackage{amssymb}
\let\mathbbalt\mathbb
\usepackage{unicode-math}
\let\mathbb\mathbbalt
\usepackage{polyglossia}
\setdefaultlanguage{english}
\usepackage{fontspec}
\setmainfont{Iwona}

\title{A title}
\author{Some authors}
\date{A date}

\begin{document}

\maketitle

\begin{frame}
$p(s',r\mid s,a) = \Pr\{S_{t+1} = s', R_{t+1} = r \mid S_t = s, A_t = a\}$
\end{frame}

\end{document}

有没有办法强制\Pr使用 Computer Modern 字体?


感谢您的所有建议和回答。我发现了更多我认为应该与其他面临此问题的人分享的观点:

  • 我将 Overleaf 与 TeXLive 2022 一起使用,因此命令\usepackage[no-math]{fontspec}出现了选项冲突:
The package fontspec has already been loaded with options:
  []
There has now been an attempt to load it with options
  [no-math]
Adding the global options:
  ,no-math
to your \documentclass declaration may fix this.

将无数学选项放入序言中将修复此错误:

\documentclass[aspectratio=32, hyperref=unicode, dvipsnames, no-math]{beamer}
  • 可以使用另一种解决方案:通过向 unicode-math 包添加选项mathrm=sym,问题就解决了。
\usepackage[mathrm=sym]{unicode-math}

编辑 1:更新标题以澄清问题。编辑 2:添加另一个解决方案。

答案1

如果您想使用默认的计算机现代字体,我建议使用fontspecno-math选项加载,以便单独使用用于数学的字体(并且不要加载 unicode-math,因为您不想更改用于数学的字体)

% !TeX TS-program = lualatex

\documentclass[aspectratio=32, xcolor=dvipsnames]{beamer}

\usefonttheme{serif}
\usefonttheme{professionalfonts}
\usetheme{Boadilla}
\usecolortheme{rose}
\beamertemplatenavigationsymbolsempty

%\usepackage{datetime}
%\usepackage{mathtools}
%\usepackage{amssymb}
%\let\mathbbalt\mathbb
\usepackage[no-math]{fontspec}
%\usepackage{unicode-math}
%\let\mathbb\mathbbalt
\usepackage{polyglossia}
\setdefaultlanguage{english}

\setmainfont{Iwona}


\title{A title}
\author{Some authors}
\date{A date}

\begin{document}

\maketitle

\begin{frame}
$p(s',r\mid s,a) = \Pr\{S_{t+1} = s', R_{t+1} = r \mid S_t = s, A_t = a\}$
\end{frame}

\end{document}

在此处输入图片描述

答案2

感谢您的所有建议和回答。我发现了更多我认为应该与其他面临此问题的人分享的观点:

  • 我将 Overleaf 与 TeXLive 2022 一起使用,因此命令\usepackage[no-math]{fontspec}出现了选项冲突:
The package fontspec has already been loaded with options:
  []
There has now been an attempt to load it with options
  [no-math]
Adding the global options:
  ,no-math
to your \documentclass declaration may fix this.

将无数学选项放入序言中将修复此错误:

\documentclass[aspectratio=32, hyperref=unicode, dvipsnames, no-math]{beamer}
  • 可以使用另一种解决方案:通过向 unicode-math 包添加选项mathrm=sym,问题就解决了。
\usepackage[mathrm=sym]{unicode-math}

相关内容