使用 'render_book' 时忽略输出选项(忽略 'preamble'.tex')

Ouptut options ignored when using 'render_book' ('preamble'.tex' ignored)

我在使用 bookdown 方法从许多 Rmd 文件编译整个文档时遇到了一些麻烦。

如果我编织单独的 .Rmd 文件,则会考虑 YAML 选项中包含的 'preamble.tex'。

如果我渲染这本书 (with both approaches described here),那么 'preamble.tex' 将被忽略。

为了使事情具体化,请考虑以下 mwe:

preamble.tex:

\usepackage{times}

index.Rmd:

---
title: "My paper"

site: "bookdown::bookdown_site"

output:
  bookdown::pdf_document2:
    includes:
      in_header: "preamble.tex"
---

01-intro.Rmd:

# Introduction

This chapter is an overview of the methods that we propose to solve an **important problem**.

然后,通过编织'index.Rmd'或'01-intro.Rmd',使用'preamble.tex'中指示的字体。

然而,当使用 bookdown::render_book('index.Rmd',"bookdown::pdf_book", new_session = T) 渲染时,它会被忽略。

更重要的是,在我的实际项目中还有其他输出选项最终被忽略了。例如,我使用 toc: false,它在编织单个文件时有效,但在呈现文档时失败。

在这个简单的示例中,可以使用单个文件,但我的实际项目有很多章节,每个章节中都有 R 块。因此,构建单个文件似乎不是一个好主意。

感谢任何关于我在这里遗漏的提示。

提前致谢。

您在这里缺少的是,在您的 YAML header 中,preamble.tex 包含在 bookdown::pdf_document2 输出格式中,而不是 bookdown::pdf_book,您传递给的格式bookdown::render_book() 中的 output_format 参数。因此,其他 YAML 选项(如 toc: true)也不起作用。

运行

bookdown::render_book('index.Rmd', "bookdown::pdf_document2", new_session = T)

应该可以。