Beamer 不应该重新定义 \mathrm 吗?

Beamer 不应该重新定义 \mathrm 吗?

beamer确实为数学切换了无衬线字体。但是,它没有重新定义\mathrm。我认为它应该这样做。我有几个公式用于\mathrm获得直立字符,它们看起来很丑陋beamer

您同意吗或者我遗漏了什么?

\documentclass{beamer}
\begin{document}
  $abc\mathrm{abc}$
\end{document}

附言:我知道如何使用 获得正确的公式beamer。我并不是在寻求这方面的帮助。事实上,我在这里建议改进(甚至是修复错误),并想讨论一下该beamer软件包针对该问题编写得如何。

参数:其他定义无衬线数学字体的软件包将其重新定义\mathrm为直立数学(无衬线)字体。例如:

\documentclass{article}
\usepackage{cmbright}
\begin{document}
  $abc\mathrm{abc}$
\end{document}

cmbrightsfmatharevmath全部重新定义\mathrm为直立无衬线字体。所以我认为beamer这里很奇怪,应该更改。

答案1

正如 Paul Gessler 所建议的,当您想要直立文本而不是罗马文本时,可以使用\text{}而不是。由于您使用的是,因此您甚至不需要加载任何其他软件包:\mathrm{}beamer

\documentclass{beamer}
\begin{document}
  $abc\text{abc}$
\end{document}

数学模式下的 upright sans

如果您也正在制作文章版本,那么您显然也希望 TeX 在这种情况下做正确的事情:

\documentclass{article}
\usepackage{beamerarticle}
\begin{document}
  $abc\text{abc}$
\end{document}

数学模式中的直立罗马人

这是可行的,因为默认情况下,beamer会加载多个ams包。如果您不使用beamer,则需要自己加载它们,正如 Paul Gessler 提到的那样。

答案2

您得到了您想要的:罗马文本。

有关这方面的建议,请参阅在数学模式下,\mathup 相当于直立文本吗?

答案3

\documentclass{beamer}
\usefonttheme{professionalfonts}
\begin{document}
  $abc\mathrm{abc}$
\end{document}

然后 beamer 不会改变数学字体。

相关内容