使用 knit() 和 pandoc() 编织时使用样式模板和参考书目
Use a style template and bibliography when knitting with knit() and pandoc()
在使用 knit()
和 [=16= 编写 *.Rmd
文件时如何使用 *.docx
样式模板和 *.bib
参考书目] 从 R 命令行?
我有一个 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
,我建议使用 rmarkdown 包中的 render
function .这个功能本质上是将两个功能合二为一,可以更方便的根据指定的YAML来控制pandoc的设置。
这仍然有在编写报告之前加载数据集的好处。使用您的示例,它看起来像这样:
load("Sim.RData")
library(rmarkdown)
render("MyPub.Rmd")
在使用 knit()
和 [=16= 编写 *.Rmd
文件时如何使用 *.docx
样式模板和 *.bib
参考书目] 从 R 命令行?
我有一个 R Markdown 文档,它依赖于一堆加载缓慢的模拟结果。我不是从 RStudio 菜单编织文档,而是先加载结果,然后使用 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
如果我通过从 RStudio 菜单编织文档来编织这个 *.Rmd,它成功地从 template.docx
中提取样式信息和从 bibliography.bib
中提取参考书目信息,两者都在我的项目目录。
但是如果我使用 knit()
和 pandoc()
而不是从菜单中编织,则样式和参考书目都不会被合并。
我没有收到任何警告或错误消息。我的第一个想法是 pandoc 没有找到样式和参考书目文件。所以,我将它们复制到我的默认 pandoc 目录 C:\Users\jvadams\AppData\Roaming\pandoc
。还是不行。
与其分别使用 knit
和 pandoc
,我建议使用 rmarkdown 包中的 render
function .这个功能本质上是将两个功能合二为一,可以更方便的根据指定的YAML来控制pandoc的设置。
这仍然有在编写报告之前加载数据集的好处。使用您的示例,它看起来像这样:
load("Sim.RData")
library(rmarkdown)
render("MyPub.Rmd")