我一直在使用一個很好的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該函數在鉤子中設置,因此您不必使用內聯。 –