我想突出显示数字中的特定数字。由于数字很大,我想\num{}
使用包裹siunitx
。
当然,我可以像下面的 MWE 一样手动完成此操作,但希望有一种简单的方法可以使用注释掉的语法来完成此操作:
代码:
\documentclass{article}
\usepackage{xcolor}
\usepackage{siunitx}
\newcommand*{\Color}[2][red]{\textcolor{#1}{#2}}%
\begin{document}
\num{99 976}
88\,9\Color{76} %\num{88 9\Color{76}}
77\,\Color{976} %\num{77 \Color{976}}
\end{document}
答案1
以下示例定义了\phnum
,它支持\X
作为附加数字。 宏定义为幻像数字,为数字留出位置。 然后可以通过用不同颜色覆盖数字来组成彩色数字。 不同颜色的数字被 掩盖\X
,例如:
\documentclass{article}
\usepackage{xcolor}
\usepackage{siunitx}
\newcommand*{\phnum}[2][]{%
\begingroup
\protected\def\X{\phantom{0}}%
\num[
input-digits=0123456789\X,%
#1%
]{#2}%
\endgroup
}
\begin{document}
\num{99 976}
\leavevmode
\rlap{\phnum{889\X\X}}\textcolor{red}{\phnum{\X\X\X76}}
\leavevmode
\rlap{\phnum{77\X\X\X}}\textcolor{red}{\phnum{\X\X976}}
\leavevmode
\rlap{\color {red}\phnum{1\X\X\X\X\X\X}}%
\rlap{\color {green}\phnum{\X2\X\X\X\X\X}}%
\rlap{\color {blue}\phnum{\X\X3\X\X\X\X}}%
\rlap{\color {cyan}\phnum{\X\X\X4\X\X\X}}%
\rlap{\color{magenta}\phnum{\X\X\X\X5\X\X}}%
\rlap{\color {yellow}\phnum{\X\X\X\X\X6\X}}%
\phnum{\X\X\X\X\X\X7}
\end{document}
当然,这种语法相当繁琐。但至少,该示例提供了一种将数字的各个部分组合在一起并\num
同时使用的思路。