5

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"
> 

我怎样才能用一个“\”打印出字符串变量围兜?

(我尝试了所有可以想象的方法,发现 R 将“\\”视为一个字符。)

我看到在许多情况下这不是问题,因为这通常由 R 内部处理,例如,如果字符串被用作绘图的文本。

但我需要将它发送到 LaTeX。所以我真的必须删除它。

我明白cat了。如果 cat 只能将其结果发送到字符串。

4

3 回答 3

7

你应该使用cat.

bib <- "\\cite"
cat(bib)
# \cite

您可以通过在 中设置一些选项来删除##and 这是一个示例块:[1]knitr

<<newChunk,echo=FALSE,comment=NA,background=NA>>=
bib <- "\\cite"
cat(bib)
@

这让你\cite。另请注意,您可以全局设置这些选项。

于 2013-10-12T12:36:17.450 回答
6

字符元素“\cite”中没有反斜杠。反斜杠被解释为转义,两个字符“\c”被解释为 cntrl-c。除非那不是一个可识别的字符。见?Quotes。第二个版本只有一个反斜杠,后跟 4 个字母字符。数一数字符来看看这个:

nchar("\\cite")
[1] 5
于 2013-10-12T11:54:10.847 回答
3

好的,

<<echo=FALSE,result='asis'>>
result <- cat(rbib)
@

做的伎俩(没有result <-位,[1]被添加)。只是感觉很笨拙。

于 2013-10-12T11:58:06.580 回答