如何让R包的citation()同时输出两个来源的文本与BibTeX格式
解决方案
要让citation("mypkg")同时输出包和期刊文章的纯文本与BibTeX格式,核心是将两个引用条目合并为一个bibentry对象列表返回,而非分开输出。
修改后的CITATION文件代码
# 合并包引用与期刊文章引用为单个列表 c( # 从DESCRIPTION生成包的引用 citation(auto = meta), # 自定义期刊文章引用 bibentry(bibtype = "Article", title = "My Title", author = person(c("R.", "T."), "M"), journal = "Journal X", volume = 1, number = 1, pages = "1-2", year = 2023, note = "", doi = "") )
效果验证
- 重新构建并安装你的R包
- 执行
citation("mypkg"):会同时展示包和期刊文章的纯文本引用格式 - 执行
toBibtex(citation("mypkg")):会输出两个条目的完整BibTeX代码,分别对应包和期刊文章
原理说明
原写法中,citation(auto = meta)与单独的bibentry()是两个独立输出,R的citation()函数仅会将第一个条目纳入BibTeX生成流程。通过c()将两个bibentry对象合并为列表后,函数会识别所有条目,同步生成两种格式的完整引用。
内容的提问来源于stack exchange,提问作者RTM
相关产品推荐
相关产品推荐

