siunitx 错误:来自 R 的“无效数字”

siunitx 错误:来自 R 的“无效数字”

我有一份文件,.Rnw我用它来制作一份.tex文件克尼提尔\num{\Sexpr{max(degree)}}我对公式有疑问,R控制台产生12598,但在运行之后针织品在里面.tex文档变为\num{\ensuremath{1.2598\times 10^{4}}},这会导致以下错误乳胶

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! siunitx error: "invalid-number"
! 
! Invalid numerical input '\protect $\relax 1.2598\times 10^{4}$'.
! 
! See the siunitx documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

l.466 ... & \num{\ensuremath{1.2598\times 10^{4}}}

我有点困惑,因为在文档中我有更大的数字,但在编译时不会产生任何问题。

这些是我的/siunitx选项

%Separate digits with comma (e.g. 1,000,000)
\usepackage[group-separator={,}]{siunitx}
\sisetup{
  detect-all,
  detect-inline-family=math,
  detect-inline-weight=math,
  detect-display-math=true}

答案1

似乎您想使用以下方式格式化数字希尼奇,同时knitr还尝试自动执行此操作。 只能使用其中之一,因此您要么不使用\num{},要么告诉knitr输出不带科学符号的数字(这也许是您喜欢的),例如\Sexpr{as.character(max(degree))},或者使用其他函数(如format()sprintf()等)将数字转换为字符串,这样knitr就不再使用科学符号了。

相关内容