Пандок вставить приложение после библиографии
Я использую пакет knitr и pandoc в R для преобразования файла.Rmd в PDF. Pandoc связан с файлом.bib и автоматически вставляет библиографию в конец PDF-файла. Записи в моем файле.bib выглядят так, взято с http://johnmacfarlane.net/pandoc/demo/biblio.bib:
@Book{item1,
author="John Doe",
title="First Book",
year="2005",
address="Cambridge",
publisher="Cambridge University Press"
}
@Article{item2,
author="John Doe",
title="Article",
year="2006",
journal="Journal of Generic Studies",
volume="6",
pages="33-34"
}
Для создания моей библиографии я использую следующую функцию, взятую из: http://quantifyingmemory.blogspot.co.il/2013/02/reproducible-research-with-r-knitr.html
knitsPDF <- function(name) {
library(knitr)
knit(paste0(name, ".Rmd"), encoding = "utf-8")
system(paste0("pandoc -o ", name, ".pdf ", name, ".md --bibliography /Users/.../Desktop/test.bib --csl /Users/.../Desktop/taylor-and-francis-harvard-x.csl"))
}
Содержимое моего файла.Rmd:
This is some text [@item1]
This is more text [@item2]
# References
И выведенный PDF выглядит так:
Если я пытаюсь вставить приложение, ссылки по-прежнему печатаются в конце документа, например так:
Как вставить приложение после ссылок?
3 ответа
В конечном итоге обработка ссылок изменится, чтобы можно было размещать ссылки в любом месте ( https://github.com/jgm/pandoc/issues/771), но сейчас простого способа сделать это не существует.
Как предлагается здесь, вы можете поместить свое приложение в отдельный файл, использовать pandoc для преобразования его во фрагмент LaTeX, а затем включить этот фрагмент, используя --include-after-body
флаг. Это тогда прибывало бы после библиографии.
В более новых версиях Pandoc вы можете указать позицию библиографии с помощью <div id="refs"></div>
источник
This is some text [@item1]
This is more text [@item2]
# References
<div id="refs"></div>
# appendix
При работе с документом Rmarkdown введите следующий текст, где должны быть размещены цитаты. Его можно разместить в любой части документа, позволяя при необходимости следовать другим материалам, например, приложению.
::: {#refs}
:::
Вышеупомянутый код не должен находиться в фрагменте кода R, его следует размещать отдельно на пустых строках. После обработки pandoc через вязальщицу этот код, как я полагаю, создаст
<div id="refs"></div>
упомянутый в ответе @soca. Две строки кода позволяют точно разместить ссылки в любом разделе документа.
В приведенном ниже примере ссылки сначала помещаются под одноименным заголовком, а все фрагменты кода в документе затем помещаются в приложение кода. Вот Rmarkdown, используемый для создания следующего изображения.
# References
::: {#refs}
:::
# Appendix A: R Code
```{r ref.label=knitr::all_labels(), echo=TRUE, eval=FALSE}
```
При условии, что существует файл .bib, указанный в yaml frontmatter, предыдущий Rmarkdown производит вывод, подобный следующему:
Полезные ссылки: