在knitr文档中使用反引号

时间:2013-11-19 17:04:54

标签: r knitr

我有一个简单的编织文件:

\documentclass{article}
\begin{document}
<<>>=
`+`
@
\end{document}

编译时导致错误:

Error in parse(text=x, srcfile=src)

我期待编译的文档显示

R> `+`
function (e1, e2)  .Primitive("+")

R> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8    LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.0.2

1 个答案:

答案 0 :(得分:6)

问题是formatR,用于在显示和评估代码之前整理代码。你的反引号会被删除,留下一个+,这当然不会自行评估:

tidy.source(text="`+`")
# + 

你可以像joran所说的那样把它包裹在print中,或者你可以设置tidy=FALSE

<<tidy=FALSE>>=
`+`
@