角度舍入(siunitx)

角度舍入(siunitx)

我试图将角度四舍五入为 3 位有效数字,并且输入是一个表达式而不是数字。对于\qty和 来说很容易\num

\num[evaluate-expression, round-mode=figures, round-precision=3, round-pad=false]{22/7} %3.14

但是,显然它并没有延伸到\ang。类似的选项根本不起作用:

\ang[evaluate-expression, round-mode=figures, round-precision=3, round-pad=false]{22/7} %3.142857.....

我想知道为什么相同的选项可以工作,\num但手册\angsiunitx没有提到选项仅适用于特定功能,我该怎么办?谢谢。

答案1

这是一个疏忽,我已记录为https://github.com/josephwright/siunitx/issues/546。在修复程序发布之前,您可以使用

\cs_gset_protected:Npn \siunitx_angle:n #1
  {
    \bool_if:NTF \l__siunitx_angle_force_arc_bool
      { \exp_args:Ne \__siunitx_angle_arc_convert:n { \fp_eval:n {#1} } }
      {
        \siunitx_number_parse:nN {#1} \l__siunitx_angle_degrees_tl
        \siunitx_number_process:NN \l__siunitx_angle_degrees_tl \l__siunitx_angle_degrees_tl
        \tl_set:Nx \l__siunitx_angle_degrees_tl
          { \siunitx_number_output:NN \l__siunitx_angle_degrees_tl \q_nil }
        \__siunitx_angle_arc_print:VVV
          \l__siunitx_angle_degrees_tl
          \c_empty_tl
          \c_empty_tl
      }
  }

相关内容