You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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 = "")
)

效果验证

  1. 重新构建并安装你的R包
  2. 执行citation("mypkg"):会同时展示包和期刊文章的纯文本引用格式
  3. 执行toBibtex(citation("mypkg")):会输出两个条目的完整BibTeX代码,分别对应包和期刊文章

原理说明

原写法中,citation(auto = meta)与单独的bibentry()是两个独立输出,R的citation()函数仅会将第一个条目纳入BibTeX生成流程。通过c()将两个bibentry对象合并为列表后,函数会识别所有条目,同步生成两种格式的完整引用。

内容的提问来源于stack exchange,提问作者RTM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:30:39