6

我有一个带有多个参考书目 (MB) 的 R 包的小插图,使用lua 过滤器。当我尝试将带有 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 的 Vignette (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]

出于测试目的,您将需要一个包说明文件,该文件可在链接中找到。另请参阅有关创建包的链接。为了创建一个小插图,安装 R-Studio,转到文件、新文件、R-markdown、来自模板、包小插图。重要提示:检查 lua 过滤器链接以了解这篇文章中的 MB 是什么。要在正文中添加引用[@R-plyr],或在 yaml 部分中使用:

nocite: |
   @R-plyr

为了创建 .bib 文件,请使用:

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

注意:需要 pandoc > 2

4

1 回答 1

2

解决了向 yaml 添加文件的问题:

resource_files:
  - multiple-bibliographies.lua
  - allrefs.bib
于 2020-01-05T13:53:03.483 回答