具有多个参考书目的 pkgdown 文章中的路径错误

path error in pkgdown article with multiple bibliographies

我有一个 R 包的插图,其中包含多个参考书目 (MB),使用 lua filter。当我尝试将带有 MB 的小插图变成 pkgdown 文章时,我收到了 .lua 和 .bib 文件的错误,这些文件没有出现在小插图中。

pkgdown::build_article("index", pkg = ".", data = list(), lazy = FALSE,
  quiet = FALSE) # build index.Rmd vignette (located in vignettes folder) as article

openBinaryFile: does not exist (No such file or directory

解决方法:如果我使用文件的整个路径,问题就会消失:/home/user..

注意:对于 pandoc >2.11,每个参考书目只接受一个 .bib

带有 MB 的小插图 (index.Rmd),例如 yaml 部分:

pkgdown:
  as_is: true
output:
  rmarkdown::html_vignette:
    toc: true
    toc_depth: 1
    number_sections: true
    pandoc_args: --lua-filter=multiple-bibliographies.lua

bibliography_normal: [allrefs.bib]
bibliography_software: [packages.bib, Rrefs.bib]
bibliography_docs: [docPackages.bib]

出于测试目的,您需要一个包描述文件,link. See also link 中提供了一个关于创建包的文件。为了创建一个小插图,安装 R-Studio,转到文件,新文件,R-markdown,从模板,包小插图。重要提示:检查 lua 过滤器 link 也可以了解此 Post 中的 MB。要添加引用,请在正文中使用 [@R-plyr],或在 yaml 部分中使用:

nocite: |
   @R-plyr

为了创建 .bib 文件使用:

knitr::write_bib(c("devtools","plyr","dplyr"), 'packages.bib')

注意:需要 pandoc > 2

已解决将文件添加到 yaml 的问题:

resource_files:
  - multiple-bibliographies.lua
  - allrefs.bib