是否有可能在没有的情况下在数学内部正确排版文本amsmath
?
通常我使用公式内的mathrm
、 或text
(amsmath) 排版短文本:
$M_\mathrm{effective mass}$
$M_\text{effective mass}$
\mathrm
在大多数情况下有效,但不是真正的文本环境(例如,在数学模式下空格会被忽略)。另一方面,\text
取决于amsmath
。
text
问题是,是否有可能不使用但产生相同的结果amsmath
?
答案1
amsmath
为了获得与类似的功能\text
,但不加载任何 AMS 系列软件包,您可以简单地将\text
from代码的修改复制到您的序言中amstext.sty
:
\documentclass{article}
\makeatletter
\DeclareRobustCommand{\text}{%
\ifmmode\expandafter\text@\else\expandafter\mbox\fi}
\let\nfss@text\text
\def\text@#1{{\mathchoice
{\textdef@\displaystyle\f@size{#1}}%
{\textdef@\textstyle\f@size{#1}}%
{\textdef@\textstyle\sf@size{#1}}%
{\textdef@\textstyle \ssf@size{#1}}%
\check@mathfonts
}%
}
\def\textdef@#1#2#3{\hbox{{%
\everymath{#1}%
\let\f@size#2\selectfont
#3}}}
\makeatother
\begin{document}
$\text{effective mass}$
$M_\text{effective mass}$
$A_{M_\text{effective mass}}$
\end{document}
答案2
编辑
定义一个宏\mtext
(可以像\text
amsmath 那样使用)如下:
\documentclass{article}
\newcommand{\mtext}[1]{%
{\mbox{\tiny #1}}%
}%
\begin{document}
$M_\mtext{effective mass}$ is the effective mass.
\end{document}
第一次尝试
使用\mbox{}
。
\documentclass{article}
\begin{document}
$M_{\mbox{effective mass}}$
\end{document}
笔记用作下标或上标时,放在\mbox{}
括号内,如_{\mbox{...}}
。