在R字符串中打印反斜杠

rof*_*ffe 4 r knitr

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"
> 
Run Code Online (Sandbox Code Playgroud)

如何仅用一个“ \”打印出字符串变量bib?

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

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

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

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

nog*_*pes 7

你应该使用cat.

bib <- "\\cite"
cat(bib)
# \cite
Run Code Online (Sandbox Code Playgroud)

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

<<newChunk,echo=FALSE,comment=NA,background=NA>>=
bib <- "\\cite"
cat(bib)
@
Run Code Online (Sandbox Code Playgroud)

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


42-*_*42- 6

字符元素“ \ cite”中没有反斜杠。反斜杠被解释为转义符,而两个字符“ \ c”被解释为cntrl-c。但这不是公认的字符。请参阅?Quotes。第二个版本只有一个反斜杠,后跟4个字母字符。计算字符数以查看此内容:

nchar("\\cite")
[1] 5
Run Code Online (Sandbox Code Playgroud)