siunitx 不支持字体选择

siunitx 不支持字体选择

以下是 MWE:

\documentclass{article}
\usepackage{siunitx}
\usepackage[default]{lato} %Any other font can be used.
\newcommand\mynum[1]{\num[group-separator={,},group-minimum-digits=4]{\the\numexpr(#1)\relax}}
\begin{document}
\Huge  %Just to get the large sized letters

1200 %This produces text in lato font

\mynum{1200} %This is not lato font. I don't know what font is it

\end{document}

现在,该\mynum命令正确地对数字进行分组,但不尊重字体 --- lato。无论我使用 latex 还是 xetex 进行编译,都是如此。

我如何让\mynum命令尊重字体的选择?

答案1

您可能正在寻找该选项detect-all,请参阅文档中的第 5.1 节siunitx

请注意,您始终可以通过命令行/终端输入 来查找文档texdoc siunitx,这适用于任何软件包。该文档也可在以下位置找到:http://ctan.org/pkg/siunitx

请注意,您可能需要为排版设置一些一致的设置,包括数字。因此,为全局分配选项siunitx比仅使用数字的设置更好。当然,您可以使用宏来实现这一点,但我真的觉得这样做没什么意义,因为宏\num{1200}就足够了。

\sisetup{options}因此,建议使用该命令,因为米科埃格尔已经指出。

输出

在此处输入图片描述

代码

\documentclass{article}
\usepackage{siunitx}
\usepackage[default]{lato} %Any other font can be used.
\sisetup{
  detect-all,
  group-separator={,},
  group-minimum-digits=4,
  }
\newcommand\mynum[1]{\num{\the\numexpr(#1)\relax}}
\begin{document}
\Huge  %Just to get the large sized letters

1,200 %This produces text in lato font

\mynum{1200} %Also produces the text in current font

\num{1200}% The same as above, but now extra macro-definition is needed.

\end{document}

相关内容