在Rmarkdown中在参考书目之后添加数字和表格

时间:2018-07-14 04:03:15

标签: r r-markdown bookdown cross-reference

我想在R Markdown文档中的目录之后添加表格和图形。但是,默认情况下,R Markdown文档始终将书目添加到报告的末尾。

是否有一种简单的方法可以在引用之后将内容添加到文档中?

尝试的解决方案

A previous answer表明,有一种方法可以将阑尾放在R Markdown中的书目之后。该附录是一个单独的文件,并使用YAML标头中的(...)添加到文档中。我尝试了2种可能的解决方案,但没有一个起作用。

  1. 我试图将附录放在另一个文件中,但是由于所有附录在本文正文中都被交叉引用,因此我遇到了在主文件中丢失参考文献的问题。一旦我将所有引用放在另一个文件中,所有引用都会变为 ??
  2. 我将所有图形和表格放在不同的文件中,同时还将它们保存在主文件中。然后,我使用after_body将它们隐藏在主文件中。想法是创建2个单独的PDF并将其合并。不幸的是,当隐藏数字时,引用也将变为 ??

其他信息

  • 我正在使用输出格式results = "hide"
  • 我的图形由bookdown:pdf_document2文件创建,并通过.R导入我的R Markdown文件。

1 个答案:

答案 0 :(得分:3)

最好不要重新定位书目在文档中出现的位置,而不是尝试在after_body中包含内容。如this answer中所述,您可以使用<div id="refs"></div>选择书目出现的位置。

第二,您可以使用书本轻松在文档中添加附录。使用标头# (APPENDIX) Appendix {-}会将所有随后的秒数从数字更改为字母。查看bookdown book

在完整示例中使用:

---
title: "Untitled"
output: bookdown::pdf_document2
references:
- id: fenner2012a
  title: One-click science marketing
  author:
  - family: Fenner
    given: Martin
  container-title: Nature Materials
  volume: 11
  URL: 'http://dx.doi.org/10.1038/nmat3283'
  DOI: 10.1038/nmat3283
  issue: 4
  publisher: Nature Publishing Group
  page: 261-263
  type: article-journal
  issued:
    year: 2012
    month: 3
---

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

# Introduction

Here is a citation [@fenner2012a]

# References {-}

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

\newpage 

# (APPENDIX) Appendix {-}

# Appendix A

Here is your table

```{r table, fig.pos="H"}
knitr::kable(mtcars[1:5, 1:5], caption = "A table") %>%
  kableExtra::kable_styling(latex_options = "HOLD_position")
```

enter image description here

  

注意:仅当您使用pandoc的内置引文包时,此方法才有效;如果您在YAML中设置citation_package: natbib,则该方法将不起作用