运行 devtools::check()
在我的计算机上,我可以使用 .bib 文件的绝对路径强制我的包构建而不会出错。但是由于我在包小插图中包含了我的所有引用并试图指向包含所有 bibtex 引用的 .bib 文件,我还没有使用 GitHub Actions 构建包(绝对路径没有意义)。我正在寻求有关如何在小插图的 YAML header 中指向 .bib 文件的建议。
.bib 文件在 inst/
中的位置目录允许我使用包的 .Rd 文档中的引文(如此处建议:https://geobosh.github.io/Rdpack/#org88fb0a7),所以我最感兴趣的是让我在该位置引用文件而不是将其保存在备用目录中的解决方案。
我的 YAML header 显示:
---
title: "Using_my_package"
output: rmarkdown::html_vignette
bibliography: "where/I/keep/my/package/inst/REFERENCES.bib"
latex_engine: xelatex
vignette: >
%\VignetteIndexEntry{Using_my_package}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
%\SweaveUTF8
---
我也试过 bibliography: `'r system.file("inst", "REFERENCES.bib", package="mypackage")`'`
如何在 YAML header 中使用相对路径,以便我可以从任何位置构建小插图?
最佳答案
看来解决方案是省略"inst"
在 system.file
称呼。感谢@Martin Morgan 的评论 here .工作 YAML header 现在读取
bibliography: `'r system.file("REFERENCES.bib", package="mypackage")`'`
并且在使用 GitHub Actions 的所有系统以及我的本地机器上构建成功。
关于r - 如何在小插图中包含 inst/REFERENCES.bib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65521581/