有没有办法避免在等式中的每个单词中添加 \mathit?

有没有办法避免在等式中的每个单词中添加 \mathit?

当方程式中有由多个字母组成的单词时,我必须添加 \mathit 来支撑每个单词,否则字母间距会有所不同。看到下面 MWS 中“CDF”和“erf”两个实例之间的区别了吗?但这种做法确实很繁琐,并且增加了快速阅读方程式的难度。有没有一个包可以自动统一方程式中单词的字母间距,这样我就不必\mathit在一篇论文中添加数百个单词了?

\documentclass[journal]{IEEEtran}

\usepackage{amsmath}
\begin{document}
     \begin{align}      
     \label{cdf}
         CDF &= \frac{1}{2}(1 + erf(\frac{x-\mu}{\sigma\sqrt{2}}))
     \end{align}    

     \begin{align}      
     \label{cdf}
         \mathit{CDF} &= \frac{1}{2}(1 + \mathit{erf}(\frac{x-\mu}{\sigma\sqrt{2}}))
     \end{align}    
  
\end{document}

在此处输入图片描述

答案1

在精细数学排版中,对诸如“log”、“sin”、“det”、“abs”等运算符使用直立字体形状是很常见的。“erf”在这方面也不例外。由于您已经使用了该amsmath包,因此您可以使用其\DeclareMathOperator宏来声明一个名为的新运算符,例如,\erf如下所示:

\DeclareMathOperator{\erf}{erf}

然后,在 TeX 文档主体中执行全局、一次性搜索并替换从到erf\erf

对“CDF”进行特殊排版处理的情况实际上与对“erf”进行特殊排版处理的情况不同。在这里,“CDF”不是运算符,而是首字母缩略词。由于“CDF”肯定不表示名为“C”、“D”和“F”的变量的乘积,因此习惯上使用或\mathit(我认为更常见)mathrm来影响首字母缩略词的排版方式。更好的方法是定义一个名为(“变量名”的缩写)的宏,\vn如下所示:

\newcommand\vn[1]{\mathrm{#1}}

然后写成\vn{CDF}而不是CDF。使用\vn不仅比 短\mathrm,而且还提供了更大的排版灵活性。假设一个期刊要求变量名使用数学罗马符号,而另一个期刊要求使用数学斜体符号。你在论文中要做的就是改变 的论点\vn

基于这些想法,我将重写您的测试文档如下:

在此处输入图片描述

\documentclass[journal]{IEEEtran}
\usepackage{amsmath} % for '\DeclareMathOperator' macro
\DeclareMathOperator{\erf}{erf} % "error function" operator
\newcommand\vn[1]{\mathrm{#1}}  % for typesetting variable names

% Optional -- load a Times Roman math font package
\usepackage[lite]{mtpro2} % cf. https://pctex.com/mtpro2.html

\begin{document}

\begin{equation} \label{cdf}
\vn{CDF} = \frac{1}{2}\biggl(
  1+\erf\biggl( \frac{x-\mu}{\sqrt{2\sigma^2}} \biggr)
  \biggr)
\end{equation}     

\end{document}

相关内容