排版数学常数

排版数学常数

是否有用于在数学公式中排版常量的命令?我想象有类似于\operatorname或 的东西\DeclareMathOperator,但是用于常量。

我希望常量以罗马字体排版,就像在文本模式下一样(具有适当的间距和连字符 - 这涉及用几个字母表示的常量)。

答案1

(已更新,包含@egreg、barbara beaton 和@DCh 的评论)

我假设您的文档使用罗马(衬线)字体而不是无衬线字体来表示数学。为了确保使用直立罗马字母一致地排版常量,创建一个专用宏很方便,例如,\ct以嵌套方式使用以下宏:(\text来自amsmath包)、\rmfamily(以防周围材料是非罗马的)和\upshape

\newcommand\ct[1]{\text{\rmfamily\upshape #1}}

然后,使用此宏排版如下公式

$\ct{e}^{\ct{i}\pi}-1=0$

此外,假设您的文档包含两个经常出现的常量,分别名为ab-cdfi-fi。(您确实说过常量的名称可能包含连字符...)为了加快打字速度,您可以定义两个宏\abcd和 ,\fifi如下所示:

\newcommand*{\abcd}{\ct{ab-cd}}
\newcommand*{\fifi}{\ct{fi-fi}}

完整 MWE 的结果:

在此处输入图片描述

\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}
\documentclass[noamsfonts]{amsart}  \usepackage[bitstream-charter]{mathdesign}

%% use the \ct macro to define math constants
\newcommand\ct[1]{\text{\rmfamily\upshape #1}}

%% define two math constants with rather contrived names...
\newcommand{\abcd}{\ct{ab-cd}}
\newcommand{\fifi}{\ct{fi-fi}}

\begin{document} 
\sffamily  % switch to sans-serif for main text font

$\ct{e}^{\ct{i}\piup}-1=0$,
$(\abcd)^2-\ct{e}^{(\fifi^3)}=0$

not in math mode: ab-cd, fi-fi
\end{document} 

相关内容