我希望在文档的各个位置使用直立的 mu 字符,因此我在序言中加入了以下内容:
% textcomp, for its upright mu
\usepackage{textcomp}
% some user macros
\newcommand{\murm}{\hbox{\textmu}}
在文本和数学模式下,这都没问题,但当我尝试将 mu 放在下标/上标位置时,它的大小保持不变。有没有办法调整它的大小以适应数学模式下的环境?
答案1
您可以使用\mathchoice
来给出宏的四种不同定义,具体取决于它是处于显示、文本内、脚本还是脚本脚本模式。(另请参阅\mathpalette
)
\newcommand{\murm}{%
\mathchoice
{\hbox{\normalsize\textmu}}
{\hbox{\normalsize\textmu}}
{\hbox{\scriptsize\textmu}}
{\hbox{\tiny\textmu}}%
}
整个表达式实际上应该包装到\ensuremath
(amsmath
包)中或\ifmmode
手动使用,以避免在文本模式下使用时出现错误:
\newcommand{\murm}{%
\ifmmode
\mathchoice
{\hbox{\normalsize\textmu}}
{\hbox{\normalsize\textmu}}
{\hbox{\scriptsize\textmu}}
{\hbox{\tiny\textmu}}%
\else
\textmu
\fi
}
答案2
\upmu
你为什么不使用上希腊语包?它将在数学模式下自动调整大小。