RMarkdown-在YAML中使用R代码作为参考docx

时间:2019-02-07 17:02:25

标签: r r-markdown knitr

客观

我正在使用RMarkdown创建Word文档,并且我想使用reference_docx文件来应用某些格式。另外,我想使用R代码指定reference_docx文件在RMarkdown文档的YAML标头中的位置。

这是一个看起来很简单的例子:

---
title: "RMD_Example"
output: 
  word_document:
    reference_docx: "`r print('my_styles_file.docx')`"
---

# Introduction
Four score and seven years ago...

这将实现与以下YAML相同的功能:

---
title: "RMD_Example"
output: 
  word_document:
    reference_docx: my_styles_file.docx
---

# Introduction
Four score and seven years ago...

问题

不带R代码的YAML版本可以正常工作。但是,当我尝试在YAML中使用R代码呈现此文档(my_rmd_file.rmd)时,出现以下错误消息:

"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m 
-RTS my_rmd_file.utf8.md 
--to docx 
--from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash+smart 
--output DELETEME.docx --highlight-style tango 
--reference-doc "`r print('my_styles_file.docx')`" 
output file: my_rmd_file.knit.md

pandoc.exe: `r print('my_styles_file.docx')`: 
BinaryFile: does not exist (No such file or directory)
Error: pandoc document conversion failed with error 1
Execution halted

我对此为何不起作用的最佳猜测是RMarkdown不在YAML标头中运行R代码,这就是为什么您在错误消息中看到以下行:

--reference-doc "`r print('my_styles_file.docx')`" 

0 个答案:

没有答案