如何在Quarto的gt表格中使用BibTeX引用键?
在Quarto的gt表格来源注释中插入BibTeX引用的解决方法
问题描述
我想在Quarto的gt表格来源注释中添加BibTeX引用,用@citationkey的方式无法生效:不加引号的话代码编译失败,加引号就只显示字面内容@dirac。可复现示例如下:
Quarto文档代码
--- title: "无标题" format: pdf bibliography: refs.bib ---
#| include: false library(dplyr) library(gt)
正文里可以正常引用@dirac,但下方gt表格的来源注释只会显示字面内容:
#| include: true #| echo: false head(mtcars) %>% gt() %>% tab_source_note("@dirac")
refs.bib内容
@book{dirac, title={The Principles of Quantum Mechanics}, author={Paul Adrien Maurice Dirac}, isbn={9780198520115}, series={International series of monographs on physics}, year={1981}, publisher={Clarendon Press}, keywords = {physics} }
解决方法
gt的tab_source_note()默认仅解析纯文本,Quarto不会自动处理其中的@引用键。要让引用生效,需要在R代码中调用Quarto的引用生成函数,将引用转换为正确的格式化内容后再传入注释:
修改后的R代码如下:
#| include: true #| echo: false head(mtcars) %>% gt() %>% tab_source_note(quarto::cite("dirac"))
编译后,表格的来源注释会显示正确的引用格式,同时文档末尾也会生成对应的参考文献条目。
如果需要给引用添加额外说明文字,可直接拼接字符串:
#| include: true #| echo: false head(mtcars) %>% gt() %>% tab_source_note(paste("数据来源参考:", quarto::cite("dirac")))
内容的提问来源于stack exchange,提问作者nicholas
相关产品推荐
相关产品推荐

