在 \textbf 中使用 \ensuremath 自定义命令

在 \textbf 中使用 \ensuremath 自定义命令

我创建了一个自定义命令来帮助我使用科学数字符号:

\newcommand{\E}[1]{\ensuremath{\cdot 10^{#1}}}

该命令运行正常,但现在我需要将一些数字加粗,结果如下:

在此处输入图片描述

产生上面图像的代码如下:

-4,25\E{-6}
\textbf{-1,73\E{-6}}

如你所见,指数部分是不是加粗。

我的问题很简单:如何将整个数字加粗?

答案1

我建议使用该siunitx包和detect-weight设置,并以\num{...}排字员的身份进行。

如果exponent-product省略键,则x使用数字的默认样式。

d-6此时将打印该样式10^{-6}

\documentclass{article}

\usepackage[detect-weight,mode=text,copy-decimal-marker=true,exponent-product=\cdot]{siunitx}

\begin{document}


\num{-1,73d-6}

\textbf{\num{-1,73d-6}}
\end{document}

在此处输入图片描述

答案2

我会使用一个特定的命令:

\documentclass{article}

\newcommand{\anum}[2][n]{%
  \mbox{%
    \mathcode`,=\numexpr\mathcode`,-"6000
    \if#1b\boldmath\fi
    $#2$%
  }%
}
\newcommand{\E}[1]{\cdot10^{#1}}

\begin{document}

\anum{-4,25\E{-6}}

\anum[b]{-1,73\E{-6}}

\end{document}

在此处输入图片描述

请注意,减号是真正的减号而不是连字符;而且逗号不会留下不需要的空格。

相关内容