GNU R 3.02
> bib <- "\cite"
Error: '\c' is an unrecognized escape in character string starting ""\c"
> bib <- "\\cite"
> print(bib)
[1] "\\cite"
> sprintf(bib)
[1] "\\cite"
>
如何只用一个“\”打印出字符串变量bib?
(我已经尝试了所有可想而知的事情,并发现R将“\\”视为一个角色。)
我发现在很多情况下这不是问题,因为这通常是由R内部处理的,比方说,如果字符串用作绘图的文本。
但我需要将它发送给LaTeX。所以我真的要删除它。
我看到cat
可以解决问题。如果cat只能将其结果发送到字符串。
答案 0 :(得分:6)
字符元素“\ cite”中没有反斜杠。反斜杠被解释为转义符,两个字符“\ c”被解释为cntrl-c。除了不是公认的角色。见?Quotes
。第二个版本只有一个反斜杠后跟4个字母字符。对字符进行计数以查看:
nchar("\\cite")
[1] 5
答案 1 :(得分:4)
您应该使用cat
。
bib <- "\\cite"
cat(bib)
# \cite
您可以在##
中设置一些选项来移除[1]
和knitr
。这是一个示例块:
<<newChunk,echo=FALSE,comment=NA,background=NA>>=
bib <- "\\cite"
cat(bib)
@
它会让你\cite
。另请注意,您可以全局设置这些选项。
答案 2 :(得分:3)
行,
<<echo=FALSE,result='asis'>>
result <- cat(rbib)
@
诀窍(没有result <-
位,[1]
被添加)。它只是感觉很糟糕。