我正在尝试编织一个由kable()创建的表格,并生成一个Word文档。当我使用RStudio编织按钮编织时,它工作得很好,并生成一个格式化的表格。当我使用render()时,它不会。它只生成一个未格式化的文本字符串。下面是一个最小的例子:
test.Rmd
---
title: "Test"
output:
word_document:
keep_md: true
---
```{r pressure2, echo=FALSE}kable::kable(Mtcar)
render()命令是
rmarkdown::render("test.Rmd", clean=FALSE)由Knit按钮(RStudio)和render()命令运行的pandoc命令是
"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS test.utf8.md --to docx --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output test.docx --smart --highlight-style tango当我运行render()时,我可以在pandoc()生成的test.utf8.md文件中看到这个问题。test.utf8.md文件是一个html表。我看不到由点击Knit按钮产生的test.utf8.md文件,因为它不是用keep_md=true保存的。仅保留test.md文件。
发布于 2019-04-26 05:38:22
当输出为word_document时,RStudio Knit按钮必须更改kable()格式。如果我将kable()调用更改为
knitr::kable(mtcars, format="markdown")它起作用了。下面设置kable()格式。我不知道用户会选择什么输出格式,所以不想在函数调用中设置格式。使用if语句来检测输出类型是否为Word,解决了这个问题。
options(knitr.table.format = 'markdown')https://stackoverflow.com/questions/55857635
复制相似问题