【发布时间】:2018-11-02 16:52:16
【问题描述】:
在 R 命令行中使用 knit() 和 pandoc() 编织 *.Rmd 文件时,如何使用 *.docx 样式模板和 *.bib 参考书目?
我有一个 R Markdown 文档,它依赖于一堆加载缓慢的模拟结果。我不是从 RStudio 菜单编织文档,而是先加载结果,然后使用 knit() 和 pandoc() 运行 *.Rmd 文件。
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。还是不行。
【问题讨论】:
-
比起单独使用
knit和pandoc,你可能更容易使用render函数。我希望这会解决您的问题 -
那行得通,@MichaelHarper。如果你把它放在答案中,我会接受。