问题描述
在使用Bookdown方法从许多Rmd文件编译整个文档时遇到了一些麻烦。
如果我编织单个.Rmd文件,则将考虑YAML选项中包含的'preamble.tex'。
如果我渲染书(with both approaches described here),则将忽略'preamble.tex'。
要使事情具体,请考虑以下mwe:
preamble.tex:
\usepackage{times}
索引。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标头中,preamble.tex
包含在bookdown::pdf_document2
输出格式中,而不是bookdown::pdf_book
传递给output_format
的格式bookdown::render_book()
中的参数。因此,其他YAML选项(例如toc: true
)也不起作用。
运行
bookdown::render_book('index.Rmd',"bookdown::pdf_document2",new_session = T)
相反应该起作用。