引用使用roxygen2的文章
与中一样,我希望在函数文档中包含对文章的引用。我在所有文档中都使用了引用使用roxygen2的文章,r,R,与中一样,我希望在函数文档中包含对文章的引用。我在所有文档中都使用了roxygen2,似乎有一个带有必要功能的toroxygen2,但是Hadley拒绝了,因为roxygen2处于维护模式。从那以后情况有变化吗?是否有其他方法引用/包含以BibTeX格式存储的文章引用?承诺提供您所要求的功能 要进行设置,还需要将行RdMacros:Rdpack添加到包的说明文件(注意大写字母M),并将Rdpack添加到导入:字段 然后,您可以将bibtex库保存到inst/REFERENCES.bib,并在文档
roxygen2
,似乎有一个带有必要功能的toroxygen2
,但是Hadley拒绝了,因为roxygen2
处于维护模式。从那以后情况有变化吗?是否有其他方法引用/包含以BibTeX格式存储的文章引用?承诺提供您所要求的功能
要进行设置,还需要将行RdMacros:Rdpack
添加到包的说明文件(注意大写字母M),并将Rdpack
添加到导入:
字段
然后,您可以将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
我最初使用包时遇到一些错误;重新启动R似乎成功了
如果使用devtools::document()
生成文档,将遇到有关unknown macro'\insertRef'
的警告,因为devtools不读取描述文件的“RdMacros”行;可以放心地忽略它们。devtools可能无法正确呈现引用,但在最终构建包时会正确呈现;要在过渡期间以正确的格式查看它们,您可以从单独的命令窗口运行R CMD Rd2pdf
。由ms609很好地总结。我要补充的是,2018年发布的还提供了用于引用的宏,并且能够使用单个命令insertallquoted{}
生成参考书目。Vignette也由ms609链接,提供最新信息
Rdpack::viewRd()
可用于查看呈现的引用,而无需构建包,例如:
Rdpack::viewRd("./man/filename.Rd") # text
Rdpack::viewRd("./man/filename.Rd", type = "html") # html
这可能对roxygen2
用户特别有用,因为roxygen2
处理Rd文件,但不呈现引用。在调用Rdpack::viewRd()
之前,不要忘记使用devtools::document()
或其他合适的命令更新文档,尝试将“引文”文件放在包的inst文件夹下?例如,@xb No,这是对包的引用,而不是引用外部文章。如果使用这种类型的渐晕图,请尝试在.Rnw中包含.bib文件?例如,\书目样式{plain}\书目{vignette.bib}
@xb谢谢,但同样,这是一个不同的用例。在编写内联roxygen2
函数文档时,我希望能够使用pull请求中建议的@cite
标记之类的东西来引用文章。我知道,RMarkdown
允许外部参考书目。感谢使用此工具!我可能会犯一个简单的错误,但我希望您能考虑一下调试:请注意,您不能在\insertallquoted{}前面加上四个或更多的空格!确实如此,但前提是你已经为你的roxygen2评论激活了降价。请注意,上面@mc609的示例可以安全使用,只有在激活标记并将\insertRef
与@references中的第二个e对齐时,才会出现故障。