为word文档输出指定带有bookdown的`rmd_files`的文件?我得到 "Error in basename(files)"

Specify files with bookdown's `rmd_files` for word document output? I get "Error in basename(files)"

在@yihui 的 bookdown usage 1.3 之后,我试图通过在 @yihui 的 _bookdown.yml 中添加 rmd_files 参数来 select 特定文件以每种输出格式呈现最小的书籍示例。

rmd_files:
  html: ["index.Rmd", "01-intro.Rmd"]
  latex: ["index.Rmd", "01-intro.Rmd"]
  epub: ["index.Rmd", "01-intro.Rmd"]
  word: ["index.Rmd", "01-intro.Rmd"]

到_output.yml,我添加

bookdown::word_document2:
  toc: true

最小书籍示例中的所有其他内容均未更改。

rmarkdown::render_site(encoding = 'UTF-8') 呈现 html、latex 和 epub 文档,但 word 输出失败 Error in basename(files) : a character vector argument expected Calls: <Anonymous> ... FUN -> render_book -> source_files -> grep -> basename

如果我删除 rmd_files 参数,word 文档将呈现。

我尝试从文件列表中省略 index.Rmd,删除两个 Rmd 文件中的所有内容,并使用 word_document 而不是 word_document2

CRAN bookdown_0.20 和开发版本 0.20.3 在两台不同的机器(都是 mac)上的结果相同。

此错误可能与 类似,但它没有提供最小示例,似乎已在最新的 bookdown 版本中修复。

Bookdown 很棒,我可能会遗漏一些简单的东西。非常感谢您的帮助!

输出格式的名称是 docx 而不是 word

rmd_files:
  docx: ["index.Rmd", "01-intro.Rmd"]

这个名字是给 Pandoc 的,这里列出所有的名字:https://pandoc.org/MANUAL.html#option--to