【问题标题】:Adjust text citation using R package RefManageR使用 R 包 RefManageR 调整文本引用
【发布时间】:2018-02-08 18:05:13
【问题描述】:

我正在尝试使用RRefManageR 管理参考书目,如下所示。

library(RefManageR)
file.name <- system.file("Bib", "RJC.bib", package="RefManageR")
bib <- ReadBib(file.name)

BibOptions(check.entries = FALSE, bib.style = "authoryear", max.names = 1,
           style = "citation", bibpunct = c("(",")","(",")",";",","))

Cite(bib, c("jennings2013bayesian", "ritchie2012novel"))
[1] "(Jennings, et al., 2013; Ritchie, et al., 2012)"

如何调整引文中的标点符号以获得以下所需的引文(et al之前没有逗号)?

[1] "(Jennings et al., 2013; Ritchie et al., 2012)"

bibpunct 参数似乎没有可用的选项。

【问题讨论】:

    标签: r regex r-markdown bibtex citations


    【解决方案1】:

    你可以像这样使用一个简单的正则表达式:

    , (?=et al\.)
    # match a comma, only when it is followed by et al.
    

    这需要用一个空格替换,请参阅a demo on regex101.com


    R:
    ref <- c("(Jennings, et al., 2013; Ritchie, et al., 2012)")
    (ref <- gsub(", (?=et al\\.)", " ", ref, perl=TRUE))
    


    这产生
    [1] "(Jennings et al., 2013; Ritchie et al., 2012)"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-05
      • 2013-04-07
      • 2015-12-11
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多