引用使用roxygen2的文章

tch*_*rty 17 r

正如在这个问题中,我想在函数文档中包含引文.我使用roxygen2的所有文件,并似乎有一个拉请求,以roxygen2提供必要的功能,但哈德利拒绝了,因为roxygen2在维护模式.从那时起事情发生了变化?是否有其他方式引用/包含以BibTeX格式存储的文章引用?

小智 6

ms609 总结得很好。我想补充一点,2018 年发布的Rdpack还提供了用于引用的宏以及使用单个命令生成参考书目的能力insertAllCited{}。Vignette Inserting_bibtex_references也由 ms609 链接,提供了最新信息。

Rdpack::viewRd()可用于在不构建包的情况下查看呈现的引文,例如:

Rdpack::viewRd("./man/filename.Rd")  # text
Rdpack::viewRd("./man/filename.Rd", type = "html") # html
Run Code Online (Sandbox Code Playgroud)

这对于用户来说可能特别有用,roxygen2因为roxygen2处理 Rd 文件但不呈现引用。devtools::document()只是不要忘记在调用之前使用 或其他合适的命令更新文档Rdpack::viewRd()


ms6*_*609 5

Rdpack包的承诺,提供的功能,你提出要求。

要进行设置,还需要将行添加RdMacros: Rdpack到包的DESCRIPTION文件中(注意大写的M),然后添加RdpackImports:字段中。

然后,您可以将bibtex库保存到中inst/REFERENCES.bib,并使用以下内容在文档中引用它们:

#' @references{
#'   \insertRef{bibtexKey}{YourPackageName}
#' }
#'
#' # The below line ought to be included in at least one of your documentation
#' # sections, so that roxygen2 adds Rdpack to your NAMESPACE file.
#'
#' @importFrom Rdpack reprompt
Run Code Online (Sandbox Code Playgroud)

最初使用该软件包时,最初遇到了一些错误;重新启动R似乎可以解决问题。

unknown macro '\insertRef'如果使用来构建文档,则会遇到关于的警告devtools::document(),因为devtools不会读取DESCRIPTION文件的“ RdMacros”行;可以放心地忽略它们。引用可能无法通过devtools正确呈现,但将在最终构建该包时出现。要在过渡期间以正确的格式查看它们,可以在R CMD Rd2pdf单独的命令窗口中运行。