我在 Metropolis Beamer 主题中使用衬线字体进行数学模式时,遇到了字符间距问题。以下是 MWE:
\documentclass[10pt]{beamer}
\usetheme[progressbar = frametitle,
block = fill,
background = light
]{metropolis}
\usepackage{appendixnumberbeamer}
\usepackage{booktabs}
\usepackage[scale=2]{ccicons}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{tikz-cd}
\usepackage{tikz}
\usepackage{bm}
\usepackage{mathbbol}
\usepackage{caption}
\usepackage{bbm}
\usepackage{graphicx}
\usepackage{scalerel}
\usepackage{accents}
\usepackage{soul}
\usepackage{mathtools}
\usepackage{dirtytalk}
\usepackage{shuffle}
\usepackage{tensor}
\DeclareSymbolFontAlphabet{\mathbb}{AMSb}
\DeclareSymbolFontAlphabet{\mathbbl}{bbold}
\usepackage[utf8]{inputenc}
\usefonttheme[onlymath]{serif}
\begin{document}
\begin{frame}
\[
\mathbb E[Y]
\]
\end{frame}
\end{document}
我用 XeTeX、MacTeX 发行版编译了它(我必须安装费拉桑斯字体系统范围才能使主题正常工作)。如您所见,字符间距偏离很大: 这种情况似乎只发生在某些字符上,而不会发生在其他字符上,但在整个文档中都很普遍,而且看起来很糟糕。
如果您能提供任何建议,告诉我如何在不更改主题或字体的情况下修复此问题,我将不胜感激。也许有某种方法可以在 .sty 文件中要求切换数学字体,这样间距就会正确。谢谢。
答案1
如果我要求\showoutput
,我得到
......\hbox(7.5+2.5)x19.65225, shifted 143.81882, display
.......\U/msb/m/n/10 E
.......\OT1/cmr/m/n/10 [
.......\TU/lmr/m/it/10 glyph#117
.......\OT1/cmr/m/n/10 ]
原因如下:不同字体的字符之间没有字距调整。使用你的设置。
如果我也加载\usefonttheme{professionalfonts}
,则跟踪将变成
......\hbox(7.5+2.5)x20.25005, shifted 143.51991, display
.......\U/msb/m/n/10 E
.......\OT1/cmr/m/n/10 [
.......\OML/cmm/m/it/10 Y
.......\kern2.22223
.......\OT1/cmr/m/n/10 ]
并且字距也存在。