在写方程式时,有时我们需要用非斜体字母书写。例如,设A
是矩阵,则其转置应该是A^{\mathrm{T}}
而不是A^T
。此外,如果字母不代表变量,则它也不应该是斜体。
我的问题是:有几种方法,例如\mathrm{}
和\mbox{}
。它们会给出略有不同的结果。让我们以矩阵的转置为例。我们应该使用哪一个?A^{\mbox{T}}
或A^{\mathrm{T}}
?撰写技术论文时的惯例是什么?
答案1
首先,您应该使用该amsmath
包,该包使命令能够\textrm
尊重下标和上标的大小。
\mathrm
和有什么区别\textrm
?前者选择一个数学字母,即字体属性的固定组合,通常
- 编码:OT1
- 家庭:默认罗马家庭(
\rmdefault
) - 重量:中等
- 形 状: 正常
后者(\textrm
)构建了一个框,在其中\rmfamily
发出,但与每个\text...
命令一样,所有其他字体属性相对于公式之外的当前字体保持不变。因此,使用以下输入
\documentclass{article}
\usepackage{amsmath}
\begin{document}
A test $a^\textrm{test}$
\itshape A test $a^\textrm{test}$
\end{document}
第一个“测试”将为直立,第二个将为斜体。在粗体上下文中,粗体系列属性不会改变。
该命令\text
将简单地选择公式之外的当前字体。
另一个区别是\math...
命令会忽略其参数中的空格,而\text...
命令则不会。
如果你的问题是插入不代表数学变量的字母(通常作为下标),比如“有效力”Feff,您应该使用\textnormal
或\mathrm
(后者对于可以使用的字符有限制,即只能使用未修饰的拉丁字母):
\mathbf{F}_\textnormal{eff}
因此,对于您的转置运算符,您可以使用\mathrm{T}
,可能隐藏在个人命令中:
\newcommand{\transp}{\mathrm{T}}
以及$A^\transp$
“A 的转置”。对于更复杂的输入,\textnormal
将是更好的选择。
相反,对于文本插入公式,例如
\[
a = b \quad\text{if and only if}\quad b = a
\]
你应该使用\text
,这样它将继承周围的字体属性。
答案2
使用总是\text{..}
来自包的宏amsmath
。它考虑了周围的文本大小并使用文本字体。比较:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage{amsmath}
\begin{document}
\huge
$x^{\mathrm{ffa}}x^{\mbox{ffa}}x^{\text{ffa}}$
\end{document}