有没有办法将 officedown::rdocx_document() 的设备输出从 .jpg 更改为 .emf?

Is there a way to change the device output of officedown::rdocx_document() from .jpg to .emf?

在 R Mardown 中使用 officedown::rdocx_document 时,Office Word 输出将以 .jpg 图像的形式包含绘图,尽管我希望自动包含格式为 .emf 的 R markdown 绘图(增强元文件) .

我知道使用函数 ggsave() 您可以使设备适应 .emf,如本例所示:

plot(mtcars$mpg)

ggsave("plot.emf", width = 10, height = 6, scale = 1, device = {function(filename, ...) devEMF::emf(file = filename, ...)})

有没有办法解决 ggsave 以使用 officedown::rdocx_document 作为输出来更改 RMarkdown (.Rmd) 中绘图 的设备输出?

经过一番研究,这是我自己的问题的答案。 如果您不想 ggsave() 然后 knitr::include_graphics() .emf(增强元文件)中的 .Rmd 的每个图,因为它们很多,那么请考虑更改 .Rmd 的图形设备因此,当它通过令人惊叹的包 officedown(向 David Gohel 大声喊叫)导出到 Word 时,所有的图都将被插入到 .emf 扩展名中,该扩展名比 .png 或 .svg 更适合印刷出版物。这里的代码解决方法(是您的设置块中的一个简单更改,但确实有所不同):

```{r setup, include=FALSE}

pacman::p_load("devEMF")

knitr::opts_chunk$set(echo = FALSE, 
                      warning = FALSE, 
                      message = FALSE,
                      dev = "emf",
                      fig.ext = "emf")

```

希望对使用 officedown 制作 Office Word 报表的社区有所帮助。