Vinicius L.
Vinicius L.

Reputation: 57

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

I'm having some trouble to compile an entire document from many Rmd files by using the bookdown approach.

If I knit individual .Rmd files then 'preamble.tex' included in YAML options is taken into account.

If I render the book (with both approaches described here), then 'preamble.tex' is ignored.

To make things concrete, consider the following 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**.

Then, by knitting 'index.Rmd' or '01-intro.Rmd' the font indicated in 'preamble.tex' is used.

However when rendering with bookdown::render_book('index.Rmd',"bookdown::pdf_book", new_session = T) it is simply ignored.

What is more, in my actual project there are other output options that end up ignored. For example, I use toc: false and it works when knitting single files, but fails when rendering the document.

In this simple example it would be okay to use a single file, but my actual project has many chapters with R chunks within each of them. Thus, building a single file doesn't seem a good idea.

I appreciate any hints on what I am missing here.

Thanks in advance.

Upvotes: 2

Views: 163

Answers (1)

Martin C. Arnold
Martin C. Arnold

Reputation: 9658

What you are missing here is that in your YAML header, preamble.tex is included for the bookdown::pdf_document2 output format and not bookdown::pdf_book, the format you pass to the output_format argument in bookdown::render_book(). For this reason, other YAML options (like toc: true) do not work either.

Running

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

instead should work.

Upvotes: 2

Related Questions