数学模式下括号和逗号中的负数

数学模式下括号和逗号中的负数

我正在尝试创建一份示例财务报表。为了便于演示,下面是我的最小工作示例:

\documentclass[12pt]{article}
\usepackage{xfp}
\usepackage{siunitx}
\begin{document}    
    Using fpeval: 1,000 - 2,000 = $\num[group-separator={,}]{\fpeval{1000 - 2000}}$.
    
    Using comma in inline math environment (for demon purposes): $1,000$
    
    text: 1,000
    
    Desired result: (1,000)
\end{document}

输出:

电流输出

我尝试使用\num带有 的命令group-separator,但无济于事。组分隔符不会出现。有没有办法在数学环境中使用一些命令来获得所需结果,如“所需结果”中所示?我希望当数字为负数时显示括号(而不是当数字为非负数时不显示),并且当我在数学环境中放置逗号时,逗号后面会有多余的空格。

更新:除了提供的答案之外,我还设法使用了bracket-negative-numbers选项siunitx

答案1

您需要设置group-minumum-digits4:标准设置为5。例如

\documentclass[12pt]{article}
\usepackage{siunitx}
\sisetup{group-separator = {,}, group-minimum-digits = 4}
\begin{document}    
    Using \textsf{siunitx}: $\num{1000} - \num{2000} =
      \num[evaluate-expression]{1000 - 2000}$.
\end{document}

答案2

嗯,也许你需要更多预定义参数,比如

  1. 您可以\usepackage[round-mode=places,group-separator={,},output-decimal-marker={.}]{siunitx}在序言中使用,\num{\fpeval{1000 - 2000}}如果需要以相同的方式显示所有数字,请使用。

  2. 或者你也可以使用\num[round-mode=places,group-separator={,},output-decimal-marker={.}]{\fpeval{1000 - 2000}}

相关内容