siunitx 带分数的弧度

siunitx 带分数的弧度

嘿,我正在尝试将弧度单位与siunitx包一起使用,如下所示:

\newcommand{\rad}[1]{\SI{#1}{\radian}}
\rad{\dfrac{\pi}{3}}

我得到:

Package siunitx Error: Invalid token '\protect ' in numerical input. ^^I\rad{\dfrac{\pi}{3}}
Package siunitx Error: Invalid numerical input '\protect {\displaystyle(siunitx) {\begingroup \pi \endgroup \@@over \relax 3}}'. ^^I\rad{\dfrac{\pi}{3}}

我猜分数不算作数字输入?我该怎么办?

答案1

siunitxv3 更新

在版本 3 中,siunitx分数不再受支持,除非作为文字输入(参见这个问题)。现在您必须禁用数字解析并自行排版分数。

\documentclass{article}

\usepackage{amsmath}
\usepackage{siunitx}

\begin{document}

\qty[parse-numbers=false]{\dfrac{\pi}{3}}{\radian}

\end{document}

MWE 输出

如果您需要经常执行此操作,那么辅助宏无疑是一个好主意。

原始(v2)答案

siunitx为您解析数字。它还提供了几乎所有有关如何格式化数字的选项。您可以告诉它使用\dfrac商(参见文档的第 5.7 节)。

\documentclass{article}

\usepackage{amsmath}
\usepackage{siunitx}

\sisetup{
  quotient-mode=fraction,
  fraction-function=\dfrac,
}

\begin{document}

\SI{\pi/3}{\radian}

\end{document}

MWE 输出

如果你真的愿意,你当然仍然可以使用\rad你定义的宏。

相关内容