\mathrm 真的比 \text 更好吗?

\mathrm 真的比 \text 更好吗?

\mathrm与 相比,它似乎是数学模式中直立字母符号的实际标准。一般\text使用它会不会更好?\text

我想到的一个特殊问题是在无衬线字体的文档中书写时(例如beamer)。在这里的很多情况下,你的文本math 设置为无衬线字体(我猜是为了便于屏幕阅读)。\mathrm在这种情况下,使用会导致参数以罗马字体(带衬线)显示,而使用\text似乎可以正确识别文档中的文本样式是无衬线,并以直立无衬线显示参数。

那么,在数学模式中通常使用\text而不是“直立”符号不是更好吗?\mathrm

答案1

正如前面所说,\text是针对文本的,并且会根据周围的字体而变化。但文档中的数学符号应该始终看起来相同:符号的含义还取决于所使用的字体。因此,您不应将其用作\text数学符号。

如果您想要一个适合主文档的直立数学字体,请使用以下命令定义它\familydefault

\documentclass[12pt]{article}
\usepackage{amsmath}

\renewcommand\familydefault{\sfdefault} %comment to see the difference
\DeclareMathAlphabet      {\mathup}{OT1}{\familydefault}{m}{n}

\begin{document}

abc

$ a=\text{b}=\mathup{b}$

\itshape abc

$ a=\text{b}=\mathup{b}$


\sffamily abc

$ a=\text{b}=\mathup{b}$

\end{document}

答案2

\text如果我们用而不是来写相同的方程,它会变得多么复杂\mathrm

在此处输入图片描述

\documentclass[preview,varwidth]{standalone}
\usepackage{amsmath}
\begin{document}
\preview
$\int f(x)\, \mathrm{d_a}x$

$\int f(x)\, \text{d$_\text{a}$}x$
\endpreview
\end{document}

答案3

这取决于你的问题。\mathrm{...}始终使用 Computer Modern 和\text{...}当前文本字体:

\documentclass{article}
\usepackage{libertine}
%% instead of libertine use the following two lines:
%\usepackage[T1]{fontenc}
%\usepackage{mathpazo}
\usepackage{amsmath}

\begin{document}
\Huge\sffamily
$\mathrm{Foo} \text{Foo}$

\end{document}

在此处输入图片描述

相关内容