如何从 bookdown 编译的 Word 文档的 body 中省略标题、作者、日期信息?

How to leave out Title, Author, Date info from the body of a Word doc compiled from bookdown?

我所在的组织喜欢在 Word 文档的每一页上塞满尽可能多的信息。例如,他们更喜欢在 headers/footers 中显示文档标题、日期、作者,而不是在文档的 body 中。我可以通过创建 .docx 模板并将 Word 字段代码 TITLE、CREATEDATE 和 AUTHOR 添加到 .文档模板。这很好用。但问题是,当我编译成 Word 时,标题、日期和作者仍然显示在 Word 文档的 body 中。即使我从 .docx 模板的 body 中删除它们,这种情况仍然存在。是的,我可以在共享之前轻松地从输出的 Word 文档中删除这些内容。但是,如果我可以拥有一个能够恰到好处的 .docx 模板,那就太好了。有没有直接的方法来做到这一点?

更新:我不想在 Rmd YAML header 中将 titledateauthor 字段留空,因为我仍然希望它们出现在 docx 输出的 headers/footers 中的特定位置,并像通常在 pdf 输出中一样出现。

案例一

如果您只是将 yaml 中的标题、作者和日期字段留空,它们将不会显示在输出中。这是一个可重现的例子。我使用 bookdownplus 包中的模板:

bookdownplus::bookdownplus('demo', to = 'demo', more_output = 'word_document2')

在文件夹 'demo' 中,您可以像这样编辑 'index.Rmd' 的 yaml header:

title:
author:
date:

创建这本书,您将获得一个 ms-word 没有标题、作者和日期的文档。


案例二

如果您需要这些字段用于 html 或仅 pdf 输出(word 文档除外),请使用 |:

title: |
  | "title"
author: |
  | "author"
date: |
  | "`r Sys.Date()`"

然后标题、作者和日期将出现在 pdf 和 html 输出中并在 MS-Word 输出中消失。


案例三

如果想让标题、作者、日期只出现在word文档的header/footer中,可以在word模板中玩点花样。例如,您可以像这样手动隐藏它们:

  • 用MS-Word
  • 打开word模板
  • 按 ctrl + shift + s 打开 Apply Styles 工具箱。
  • Select 字段,例如 Title,然后单击 Modify
    • 将字体颜色更改为背景颜色(通常'white')。
    • 单击 Format - Paragraph。设Spacing为0,Line Spacing为最小值。
    • 点击OK
    • 再次单击OK
  • 现在标题被隐藏了。是的,它还在那里,但没有人能看到它。保存模板。

现在将此模板用于簿记。标题将显示为您喜欢的。