rmarkdown / bookdown 中的动态脚注引用

Dynamic footnote referencing in rmarkdown / bookdown

我正在使用 bookdown 将几个 .Rmd 文件合并到一个大文档中。各个文件都包含脚注,以 ^[1] 开头。这显然会导致最终文档中出现重复的脚注,bookdown 无法断言哪个参考文献属于哪个脚注。

因此,我想知道是否有一种方法可以在呈现文档时动态生成脚注,但我在 bookdown 文档中找不到任何相关内容。

我有这个使用自定义函数的有效解决方案:

---
title: "Untitled"
output:
  html_document:
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)

footnote.nr <- 0

footnote.counter <- function(){
  footnote.nr <- footnote.nr + 1
  .GlobalEnv$footnote.nr <- footnote.nr
  return(footnote.nr)
}
```

Lorem ipsum.[^`r footnote.counter()`]

[^`r footnote.nr`]: Test

Lorem ipsum.[^`r footnote.counter()`]

[^`r footnote.nr`]: Test2

然而,这将导致我不得不改造整个文档,这与完全重新开始脚注编号一样多的体力劳动(尽管它可能不太容易出错)。还有其他解决方案吗?我也同意为每一章呈现脚注,这意味着每章的第一个脚注以 1 开头。

另一种选择是使用 Rstudio 编辑您的文件,并打开可视化编辑。如果您这样做,它会自动对您的文本进行一些更改,包括为您的脚注指定唯一的名称。