newtxmath较新的版本提供了notomath这个数学黑体字体,比较适合做beamer,想单独使用字符部分。然后就遇到很奇怪的困难,直立希腊字符一直设置失败,被默认字体代替了。直立希腊字符相关的字体叫 NotoSansMathRM.pfb
,请教高手
最小工作示例如下:
\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage[T1]{fontenc}
\DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it}
\DeclareSymbolFont{operators}{OT1}{NotoSans-TLF}{m}{n}
\DeclareSymbolFont{upgrl}{OML}{NotoSansMathRM}{m}{n} % 可能这里设置有问题
\DeclareMathSymbol{\upxi}{\mathord}{upgrl}{24}
\DeclareMathSymbol{\uppi}{\mathord}{upgrl}{25}
\begin{document}
\frame{
\large
\[ \frac{n!}{\Big(\dfrac{n}{\mathrm e}\Big)^n\sqrt{2\uppi n}}
\sim {\mathrm e}^{\frac{1}{12+\upxi}}
\]
vs
\[ \frac{n!}{\Big(\dfrac{n}{\mathrm e}\Big)^n\sqrt{2\pi n}}
\sim {\mathrm e}^{\frac{1}{12+\xi}}
\]
}
\end{document}
NotoSansMathRM 没有相应的虚拟字体(vf)。notosansmia 是与 notosansmi 对应的 upright 字体。
\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage[T1]{fontenc}
\DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it}
\DeclareSymbolFont{operators}{OT1}{NotoSans-TLF}{m}{n}
\DeclareFontFamily{OML}{notosansmia}{}
\DeclareFontShape{OML}{notosansmia}{m}{n}{<-> notosansmia}{}
\DeclareSymbolFont{upgrl}{OML}{notosansmia}{m}{n}
\DeclareMathSymbol{\upxi}{\mathord}{upgrl}{24}
\DeclareMathSymbol{\uppi}{\mathord}{upgrl}{25}
\begin{document}
\frame{
\large
\[ \frac{n!}{\Big(\dfrac{n}{\mathrm e}\Big)^n\sqrt{2\uppi n}}
\sim {\mathrm e}^{\frac{1}{12+\upxi}}
\]
vs
\[ \frac{n!}{\Big(\dfrac{n}{\mathrm e}\Big)^n\sqrt{2\pi n}}
\sim {\mathrm e}^{\frac{1}{12+\xi}}
\]
}
\end{document}
另外,数学中常数一般用直立体(upright),这里 \xi
应该不是常数,不必用直立体。
谢谢,很完美
问一下专家,为啥升级到TeXLive2023后,字体都变锯齿状了?我用这个代码运行了一下全是锯齿
@u3608 在我的电脑上三个编译器运行结果还和以前一样啊。
@u10307 放大看过字体细节也是正常、光滑的吗,我这就是显得锯齿状
@u3608 对。
TeXLive 的更新不会更新字体,字体都是由相应的宏包更新的。
@u3608 重装后正常了
@u10307 谢谢专家亲自验证,我束手无策,重装整个之后正常了