从R中用*.docx
和*.bib
编织*.Rmd
文件时,如何使用knit()
样式模板和pandoc()
参考书目命令行?
我有一个R Markdown文档,该文档依赖一堆加载缓慢的模拟结果。我首先加载结果,然后使用knit()
和pandoc()
运行* .Rmd文件,而不是从RStudio菜单中编织文档。
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
如果我通过在RStudio菜单中编织文档来编织* .Rmd,则它成功地从template.docx
提取样式信息和bibliography.bib
的书目信息,这两个都在我的项目中目录。
但是,如果我使用knit()
和pandoc()
而不是从菜单中进行编织,则不会合并样式和书目。
我没有收到任何警告或错误消息。我首先想到的是pandoc找不到样式和书目文件。因此,我将它们复制到了默认的pandoc目录C:\Users\jvadams\AppData\Roaming\pandoc
。仍然不起作用。
答案 0 :(得分:2)
我建议不要使用 rmarkdown 包中的knit
function,而不是分别使用pandoc
和render
。此功能从本质上将这两个功能合为一体,使根据指定的YAML控制pandoc设置更加容易。
这仍然具有在编织报告之前加载数据集的好处。以您的示例为例:
load("Sim.RData")
library(rmarkdown)
render("MyPub.Rmd")