Используйте шаблон стиля и библиографию при вязании с knit () и pandoc () - PullRequest
0 голосов
/ 02 ноября 2018

Как использовать шаблон стиля *.docx и библиографию *.bib при вязании файла *.Rmd с knit() и pandoc() из командной строки R?

У меня есть документ R Markdown, основанный на куче результатов моделирования, которые загружаются медленно. Вместо того, чтобы связывать документ из меню RStudio, я сначала загружаю результаты, затем запускаю файл * .Rmd, используя knit() и pandoc().

load("Sim.RData")
library(knitr)
knit("MyPub.Rmd")
pandoc("MyPub.md", format="docx")

Это работает нормально, пока я не попытаюсь включить шаблон стиля для Word или библиографию с цитатами. Например, вот простой файл * .Rmd.

---
title: "Title"
author: "Author"
date: "Today"
output:
  word_document:
    reference_docx: template.docx
bibliography: bibliography.bib
---

# Header 1

## Header 2

For more information see @Youngs1980.

# References

Если я свяжу этот * .Rmd, связав документ из меню RStudio, он успешно извлечет информацию о стиле из template.docx и библиографическую информацию из bibliography.bib, которые находятся в каталоге моего проекта.

enter image description here

Но если я использую knit() и pandoc() вместо вязания из меню, ни стиль, ни библиография не будут включены.

enter image description here

Я не получаю никаких предупреждений или сообщений об ошибках. Моей первой мыслью было, что pandoc не находит файлы стилей и библиографии. Итак, я скопировал их в мой каталог pandoc по умолчанию, C:\Users\jvadams\AppData\Roaming\pandoc. Все еще не работает.

1 Ответ

0 голосов
/ 04 ноября 2018

Вместо того, чтобы использовать knit и pandoc отдельно, я бы рекомендовал использовать функцию render из пакета rmarkdown . Эта функция по сути объединяет две функции в одну и облегчает управление настройками Pandoc в соответствии с указанным YAML.

Преимущество заключается в загрузке набора данных до вязания отчета. На вашем примере это будет выглядеть так:

load("Sim.RData")
library(rmarkdown)
render("MyPub.Rmd")
...