T1 字体编码、beamer 和 mathrm

T1 字体编码、beamer 和 mathrm

Beamer 使用无衬线字体来排版数学。虽然我喜欢它的美感,但在数学环境中,我发现大写字母 I 和大写字母 Pi 如果没有衬线,阅读起来会困难得多。如果没有 T1 编码,我可以写出\mathrm{\Pi}逃避的方法。然而,使用 T1 编码时,Pi 被排版为 ´´。

我知道这个问题与这个问题,但我正在寻找不同的答案。具体来说,我不希望用衬线字体替换所有数学,只希望替换那一个字符。这能以某种方式实现吗?

\documentclass{beamer}
\usepackage[T1]{fontenc}

\let\oldPi\Pi
\renewcommand{\Pi}{\mathrm{\oldPi}}

\begin{document}
\begin{frame}
$\Pi$
\end{frame}
\end{document}

答案1

在这里,我声明了一个\oldmathrm要使用的数学字母表OT1。然后我可以访问它进行\Pi重新定义。

\documentclass{beamer}
\DeclareMathAlphabet{\oldmathrm}{OT1}{cmr}{m}{n}
\usepackage[T1]{fontenc}
\let\oldPi\Pi
\renewcommand{\Pi}{\oldmathrm{\oldPi}}
\begin{document}
\begin{frame}
$\Gamma\Pi$
\end{frame}
\end{document}

在此处输入图片描述

如果您想要访问 sans\Pirm版本,则不要使用\renewcommand\Pi,而只需在文档中使用\Pi和即可。\oldmathrm{\Pi}

另一种方法,我不确定哪种方法更可取(即使用更少的资源)是仅声明一个符号字体,然后使用该字体中的插槽 5 \Pi

\documentclass{beamer}
\DeclareSymbolFont{oldrm}{OT1}{cmr}{m}{n}
\DeclareMathSymbol{\Pi}{\mathord}{oldrm}{"5}
\usepackage[T1]{fontenc}
\begin{document}
\begin{frame}
$\Sigma\Pi$
\end{frame}
\end{document}

在此处输入图片描述

相关内容