Добавление рисунков и таблиц после библиографии в Rmarkdown

Я хочу добавить таблицы и рисунки после библиографии в документе R Markdown. Однако документы R Markdown по умолчанию всегда добавляют библиографию в конец отчета.

Есть ли простой способ добавить содержимое в документ после ссылок?

Попытки решения

предыдущий ответ показал, что существует способ поместить приложение после библиографии в R Markdown. Это приложение представляет собой отдельный файл и добавляется к документу с помощью after_body в заголовке YAML. Я попробовал 2 разных возможных решения, и ни одно из них не сработало.

  1. Я попытался поместить свое приложение в другой файл, но столкнулся с проблемой потери моих ссылок в основном файле, поскольку все приложения имеют перекрестные ссылки в основной части статьи. Все ссылки превращаются в ??, как только я помещаю их в другой файл.
  2. Я поместил все свои рисунки и таблицы в другой файл, но сохранил их в основном файле. Затем я использовал results = "hide", чтобы скрыть их в основном файле. Идея заключалась в том, чтобы создать 2 отдельных PDF-файла и объединить их. К сожалению, когда цифры скрыты, ссылки также обращаются к ??.

Дополнительная информация

  • Я использую выходной формат bookdown:pdf_document2
  • Мои рисунки создаются файлом .R и импортируются в мой файл R Markdown с помощью include_graphics().

person SavedByJESUS    schedule 14.07.2018    source источник


Ответы (1)


Вместо того, чтобы пытаться включать что-то в after_body, вам лучше просто изменить положение библиографии в документе. Как объясняется в этом ответе, вы можете выбрать, где будет отображаться библиография, используя <div id="refs"></div>.

Во-вторых, вы можете использовать bookdown, чтобы легко добавлять приложения в документ. Использование заголовка # (APPENDIX) Appendix {-} изменит все следующие номера секций с цифр на буквы. Взгляните на книгу с описанием книги

Используется в полном примере:

---
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")
```

введите описание изображения здесь

Примечание. это будет работать, только если вы используете встроенный пакет цитирования pandoc, и не будет работать, если вы установите citation_package: natbib в YAML

person Michael Harper    schedule 19.07.2018
comment
Я скопировал и вставил ваш код, и он сработал. Но по какой-то причине, когда я пробую его на своей реальной работе, он не работает. И под этим я подразумеваю <div id="refs"></div>. Я заметил, что основное отличие состоит в том, что мои ссылки содержатся в файле bib, который импортируется через заголовок YAML, в то время как ссылка в вашем примере находится непосредственно внутри заголовка YAML. Как вы думаете, в этом проблема? - person SavedByJESUS; 26.07.2018
comment
Я просто удалил следующую строку из заголовка YAML, и она сработала! citation_package: natbib - person SavedByJESUS; 26.07.2018
comment
Спасибо за обновления. Я изменил ответ, чтобы выделить это. Кроме того, нет никакой разницы между способом загрузки файла bib: он просто делает пример самодостаточным и легко воспроизводимым. - person Michael Harper; 26.07.2018
comment
@MichaelHarper есть ли способ сделать это, не удаляя пакет цитирования? Я действительно не хочу использовать pandoc для библиографии, так как это не выглядит хорошо ... Мне нужно приложить некоторые pdf-файлы в качестве приложения после библиографии, но мой список ссылок выглядит действительно некрасиво с pandoc. Предложения? - person Haakonkas; 03.07.2019
comment
Что на самом деле выглядит не очень хорошо? Если вам не нравится стиль цитирования, вы можете изменить его, предоставив другой файл CSL: rmarkdown.rstudio.com /. Не сразу уверен в решении, поскольку я не использую natbib, извините! - person Michael Harper; 03.07.2019