【问题标题】:Can R paste() output "\"?R paste() 可以输出“\”吗?
【发布时间】:2011-05-21 17:59:41
【问题描述】:

Intro to R 手册中所述,

paste("\\")

打印

[1] "\\"

粘贴是否可以打印出来

[1] "\"

?

更新:我不希望 Gavin 的这个好答案卡在下面的 cmets 中,所以我将它粘贴在这里:

print(xtable(as.matrix("\\citep{citation}")), sanitize.text.function = function(x) {x}) 

【问题讨论】:

  • 您真正的问题是什么? file.path() 有帮助吗?
  • 您想要print() -ed 输出还是想要cat()writeLines() 之类的输出?
  • @Dirk 我正在尝试从 bibtex 引文向量创建一个向量,该向量从“引文”返回“\citep{引文}”,例如 paste("\citep{", citation, "} ", sep='') @Gavin,大概 cat() 会起作用,但我使用的是 paste() 因为它返回一个向量而不是来自向量的字符串;不过我可以使用 apply 语句
  • @David,然后看看我的回答。 IIRC 你需要有 ` \\ ` 用于 xtable。只需忽略 R 如何在控制台中打印向量,xtable 将通过cat() 或类似方式将其吐出,第二个 ` \ ` 将奇迹般地消失。
  • @David:阅读print.xtable 的帮助,您会被 print 方法对文本进行清理以删除重要的 LaTeX 字符。 Xtable Gallery 插图提供了如何处理清理的示例,例如:print(xtable(as.matrix("\\citep{citation}")), sanitize.text.function = function(x) {x})

标签: r text


【解决方案1】:

您对某些内容的存储方式和“打印”方式感到困惑。

您可以使用 paste 将 \ 与其他内容组合,但如果您打印它,那么打印的表示将使用 \ 来转义 \,但如果您使用 cat 将其输出到文件或屏幕,那么您会得到单个\,例如:

> tmp <- paste( "\\", "cite{", sep="" )
> print(tmp)
[1] "\\cite{"
> cat(tmp, "\n")
\cite{ 

【讨论】:

    【解决方案2】:

    这是 R 中单个“\”的打印表示。显然正确的答案将取决于您的最终用途,但这样的事情会不会:

    > citations <- paste("title", 1:3, sep = "")
    > cites <- paste("\\citep{", citations, "}", sep = "")
    > writeLines(cites)
    \citep{title1}
    \citep{title2}
    \citep{title3}
    

    使用writeLines(),您可以使用以下方式将其输出到文件中:

    > writeLines(cites, con = file("cites.txt"))
    

    产生以下文件:

    $ cat cites.txt 
    \citep{title1}
    \citep{title2}
    \citep{title3}
    

    【讨论】:

      【解决方案3】:

      一种方法是使用write 命令,例如

      > write("\\", file="")
      \
      

      Write 通常用于写入文件,因此您需要设置file="" 以使其打印到 STDOUT。

      \ 在写命令中重复,这样它就不会转义右引号。

      我不确定这是否是正确的方法,但它对我有用。

      编辑:意识到您正在使用 paste() 命令为时已晚。希望我的回答仍然与您的困境有关。道歉。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多