mathptmx
加载 Times New Roman后,siunitx
无法打印结果大胆的不再有。如何解决这个问题?
\documentclass{article}
\usepackage{mathptmx}% required (Times New Roman)
\usepackage{siunitx}
\sisetup{group-separator = {,}, group-minimum-digits = 4,
detect-weight = true, detect-inline-weight = text}
\ExplSyntaxOn
\newcommand*{\eval}[1]{$\num{\fp_eval:n {#1}}$}
\ExplSyntaxOff
\begin{document}
\newcommand*{\res}{1000}
The costs are \$\eval{\res}/y (normal font) and {\bfseries \$\eval{\res}/y} (bold). % this would be bold without Times New Roman
\end{document}
答案1
您可以通过在宏中添加选项detect-weight
来实现您的目标。\num
\eval
\documentclass{article}
\usepackage{siunitx}
\sisetup{group-separator = {,}, group-minimum-digits = 4}
\ExplSyntaxOn
\newcommand*{\eval}[1]{\num[detect-weight]{\fp_eval:n {#1}}}
\ExplSyntaxOff
\begin{document}
\newcommand*{\res}{1000}
The costs are \textbf{\$\eval{\res}/year}.
\end{document}
附录,在 OP 提供该包正在使用的信息后发布mathptmx
。(此详细信息未在帖子的初始版本中提及,我基于此给出了上述答案。)我的建议:将该选项添加mode=text
到 的参数中\num
。