是否有用于在数学公式中排版常量的命令?我想象有类似于\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-cd
和fi-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}