【问题标题】:Include the text of a `bibentry` in the (R)markdown text body output在 (R)markdown 文本正文输出中包含 `bibentry` 的文本
【发布时间】:2017-09-17 03:43:54
【问题描述】:

我一直在寻找一种解决方案,将参考项 (bibentry) 的全文包含在 (R)markdown 文本文档的正文中,即在参考列表之前。这可以通过 LaTeX (https://tex.stackexchange.com/questions/49048/how-to-cite-one-bibentry-in-full-length-in-the-body-text) 完成。可以用 (R)markdown 完成吗?

【问题讨论】:

  • rmarkdown 使用 pandoc 来呈现输出格式。如果您的输出是 LaTeX,那么您可以直接包含这些命令。但是这些命令会导致其他输出格式无法编译。
  • @kevin.arseneau,那么 HLML 和 DOCX 输出没有解决方案吗?
  • @Samuel-Rose,我不知道。虽然,我会说bookdown 包具有增强的交叉引用,并且可以提供一个 html 解决方案。查看html_document2 输出格式。

标签: r knitr r-markdown bibtex


【解决方案1】:

一个合理的解决方案是读取和解析参考书目数据库,例如使用R-package bibtex,然后将printcapture.output作为字符串,然后可以使用在 (R)markdown 文本文档的正文中包含参考项目 (bibentry) 的全文。

例如:

```{r, echo=FALSE}
biblio <- bibtex::read.bib("my-biblio-database.bib")
```

然后,在一行中,使用:

`r capture.output(print(biblio["my-bibkey"]))`

这将打印参考文本。

【讨论】:

  • 如果可以指定用于格式化的 csl 文件,这将很有用;不幸的是,这似乎不可能
猜你喜欢
  • 2017-07-09
  • 2016-07-31
  • 2020-12-11
  • 2022-06-03
  • 2021-10-03
  • 2019-05-04
  • 2021-08-06
  • 2019-10-01
  • 1970-01-01
相关资源
最近更新 更多