嘿,我正在尝试将弧度单位与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
siunitx
v3 更新
在版本 3 中,siunitx
分数不再受支持,除非作为文字输入(参见这个问题)。现在您必须禁用数字解析并自行排版分数。
\documentclass{article}
\usepackage{amsmath}
\usepackage{siunitx}
\begin{document}
\qty[parse-numbers=false]{\dfrac{\pi}{3}}{\radian}
\end{document}
如果您需要经常执行此操作,那么辅助宏无疑是一个好主意。
原始(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}
如果你真的愿意,你当然仍然可以使用\rad
你定义的宏。