以下是 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}