如何在特定标题下的 rmarkdown html 中放置脚注?

Posted

技术标签:

【中文标题】如何在特定标题下的 rmarkdown html 中放置脚注?【英文标题】:How to place footnotes in rmarkdown html under specific header? 【发布时间】:2019-11-07 01:57:05 【问题描述】:

我想在 Endnotes 标题下放置 Rmarkdown 脚注。虽然 References 可以放在 <div id="refs"></div> 中,但该方法似乎不适用于脚注。我打开了由 Rmarkdown 生成的 html 文档,其中显示脚注收集在名为 <div class="footnotes"></div> 的标签下。我也试过<div id="footnotes"></div>,但这也行不通。我该怎么做?

我正在使用的代码:

---
output: html_document
references:
- id: hawking_thermodynamics_1983
  author:
  - family: Hawking
    given: S. W.
  - family: Page
    given: Don. N.
  publisher: Communications in Mathematical Physics
  title: Thermodynamics of Black Holes in Anti-de Sitter Space.
  volume: 87
  type: article-journal
  issued:
    year: 1983
---

```r setup, include=FALSE
knitr::opts_chunk$set(echo = TRUE)
```
## Section 1
Lorem ipsum dolor^[always look on the bright side of life] sit amet, consetetur
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua [@hawking_thermodynamics_1983]. 

## Endnotes
<div class="footnotes"></div>

## References
<div id="refs"></div>

## Appendix
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 

产生的输出:

预期输出:

第 1 节

Lorem ipsum dolor1 sat amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua (Hawking and Page 1983)。

尾注

    永远看生活的光明面

参考文献

霍金、S.W. 和唐。 N.页。 1983.“反德西特空间中黑洞的热力学”。 87.

附录

Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,sed diam voluptua。

【问题讨论】:

【参考方案1】:

在 HTML 文档的上下文中,可以使用 javascript

例如,这个Rmd 文件可以根据需要呈现。

---
output: html_document
references:
- id: hawking_thermodynamics_1983
  author:
  - family: Hawking
    given: S. W.
  - family: Page
    given: Don. N.
  publisher: Communications in Mathematical Physics
  title: Thermodynamics of Black Holes in Anti-de Sitter Space.
  volume: 87
  type: article-journal
  issued:
    year: 1983
---

```r setup, include=FALSE
knitr::opts_chunk$set(echo = TRUE)
```
## Section 1
Lorem ipsum dolor^[always look on the bright side of life] sit amet, consetetur
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua [@hawking_thermodynamics_1983]. 

## Endnotes #endnotes

## References
<div id="refs"></div>

## Appendix
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 

```js, echo=FALSE
$(document).ready(function() 
  $('.footnotes ol').appendTo('#endnotes');
  $('.footnotes').remove();
);
```

这里,JS 脚本移动了endnotes 部分的脚注列表,最后删除了脚注部分。

【讨论】:

以上是关于如何在特定标题下的 rmarkdown html 中放置脚注?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 RMarkdown 中显示代码但隐藏输出?

如何在 Rmarkdown 文件中包含 DiagrammeR/mermaid 流程图

在 Rmarkdown html 文档中并排时使图形大小(宽度和高度)相同

如何从 rmarkdown::render 函数调用 rmdformat 主题?

如何在rmarkdown中调整注视表的字体大小?

在 RMarkdown 中的 HTML 模板中渲染 ggplot2 绘图