我一直在使用一个很好的SO solution添加在一段时间knitr报告逗号分隔为数字,不过这个功能似乎有一个意想不到的后果之前,我从来没有遇到过:它截断带括号的字符串。我不明白为什么这个函数会影响我的字符串,所以不能很好地使用类。这是一个简单的例子。逗号分隔和字符串截断
1)保持代码原样和逗号分隔工作(2,015
),但字符串被截断(30.2 (10
)。
2)拆下钩,你看到相反:没有逗号分离(2015
),但该字符串是确定(30.2 (10.2)
)。
\documentclass{article}
\begin{document}
<<knitr, include=FALSE>>=
library(knitr)
nocomma <- function(x){structure(x,class="nocomma")}
knit_hooks$set(inline = function(x) {
if(!inherits(x,"nocomma")) return(prettyNum(x, big.mark=","))
if(inherits(x,"nocomma")) return(x)
return(x) # default
})
@
<<ex>>=
x <- paste0("30.2 ", "(", "10.2", ")")
x
# [1] "30.2 (10.2)"
y <- "2015"
@
The `nocomma()` function does a nice job putting a comma in \Sexpr{y}, but \Sexpr{x} gets truncated.
\end{document}
我喜欢挂钩的做法是需要000的分离所有内嵌琴弦逗号没有我不必手动使用的功能在每一个实例来设置逗号整个文档。这可能不是一个很好的解决方案,我向其他人开放。但为对我来说是非常实用的解决方案......直到今天,也就是当它打破了我的文档中别的东西:与(
的字符串。
这不是用来作为'Sexpr {nocomma(x)}'的东西吗? – A5C1D2H2I1M1N2O1R2T1
我添加了由方法(1)和(2) –
生成的pdf的两个屏幕截图,@AnandaMahto该函数在钩子中设置,因此您不必使用内联。 –