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}
cmbright
,sfmath
并arevmath
全部重新定义\mathrm
为直立无衬线字体。所以我认为beamer
这里很奇怪,应该更改。
答案1
正如 Paul Gessler 所建议的,当您想要直立文本而不是罗马文本时,可以使用\text{}
而不是。由于您使用的是,因此您甚至不需要加载任何其他软件包:\mathrm{}
beamer
\documentclass{beamer}
\begin{document}
$abc\text{abc}$
\end{document}
如果您也正在制作文章版本,那么您显然也希望 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 不会改变数学字体。