我有一个包含多个书目(MB)的R包的小片段,使用的是lua filter。当我尝试将带有MB的vignette转换为pkgdown文章时,我得到了.lua和.bib文件的错误,这两个文件没有出现在vignette中。
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
Vignette (index.Rmd) with MB,示例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中提供。另请参阅关于创建包的link。为了创建一个vignette,安装R-Studio,转到文件,新文件,R-markdown,从模板,包Vignette。重要:检查lua过滤器链接,了解什么是MB在这篇文章中。要添加cites,请在body中使用[@R-plyr],或在yaml部分中使用以下内容:
nocite: |
@R-plyr要创建.bib文件,请使用以下命令:
knitr::write_bib(c("devtools","plyr","dplyr"), 'packages.bib')注意:需要pandoc >2
发布于 2020-01-05 21:53:03
已解决向yaml添加文件的问题:
resource_files:
- multiple-bibliographies.lua
- allrefs.bibhttps://stackoverflow.com/questions/59537316
复制相似问题