使用 R/bookdown 渲染 tufte_html_book() 时出错
Error when rendering tufte_html_book() with R/bookdown
我正在尝试使用 R/bookdown 制作一本书,但在使用 tufte_html_book 或 html_book 制作 html 版本时遇到问题:
Error in split_chapters(output, page_builder, number_sections, split_by, :
The document must start with a first (#) or second level (##) heading
本书在 gitbook 或 tufte_book2 输出中正确生成。
该文档有四个文件index.Rmd
、01-Chap1.Rmd
、02-Chap2.Rmd
、03-Chap3.Rmd
。我喜欢保持清晰,所以 index.Rmd
只包含 YAML headers,加上一些 R 代码但没有标题,这可能是产生错误的原因。有没有办法让 bookdown 的 html 输出与 gitbook 或 pdf 输出的行为相似?
这是一个可重现的小例子:
Index.Rmd:
---
title: "Tufte Handout"
subtitle: "An implementation in R Markdown"
author: "JJ Allaire and Yihui Xie"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
output:
bookdown::tufte_html_book:
toc: yes
bookdown::tufte_book2:
toc: yes
---
```{r setup1, include=FALSE}
library(tufte)
# invalidate cache when the tufte version changes
knitr::opts_chunk$set(tidy = FALSE, cache.extra =
packageVersion('tufte'))
options(htmltools.dir.version = FALSE)
```
01-Chap1.Rmd
# Introduction
The Tufte handout style is a style that Edward Tufte uses in his books and handouts. Tufte's style is known for its extensive use of sidenotes, tight integration of graphics with text, and well-set typography. This style has been implemented in LaTeX and HTML/CSS^[See Github repositories [tufte-latex](https://github.com/tufte-latex/tufte-latex) and [tufte-css](https://github.com/edwardtufte/tufte-css)], respectively. We have ported both implementations into the [**tufte** package](https://github.com/rstudio/tufte). If you want LaTeX/PDF output, you may use the `tufte_handout` format for handouts, and `tufte_book` for books.
For HTML output, use `tufte_html`. These formats can be either specified in the YAML metadata at the beginning of an R Markdown document (see an example below), or passed to the `rmarkdown::render()` function. See @R-rmarkdown more information about **rmarkdown**.
我在回答我自己的问题。
gitbook 和 (tufte_)html_book 之间的行为差异在于 split_by 参数,即 gitbook 中的 split_by="chapter"
和 (tufte_) 中的 split_by="section"
html_book。将 split_by: chapter
添加到 bookdown::tufte_html_book:
yaml 部分允许构建 html 而不会出错。
我正在尝试使用 R/bookdown 制作一本书,但在使用 tufte_html_book 或 html_book 制作 html 版本时遇到问题:
Error in split_chapters(output, page_builder, number_sections, split_by, :
The document must start with a first (#) or second level (##) heading
本书在 gitbook 或 tufte_book2 输出中正确生成。
该文档有四个文件index.Rmd
、01-Chap1.Rmd
、02-Chap2.Rmd
、03-Chap3.Rmd
。我喜欢保持清晰,所以 index.Rmd
只包含 YAML headers,加上一些 R 代码但没有标题,这可能是产生错误的原因。有没有办法让 bookdown 的 html 输出与 gitbook 或 pdf 输出的行为相似?
这是一个可重现的小例子:
Index.Rmd:
---
title: "Tufte Handout"
subtitle: "An implementation in R Markdown"
author: "JJ Allaire and Yihui Xie"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
output:
bookdown::tufte_html_book:
toc: yes
bookdown::tufte_book2:
toc: yes
---
```{r setup1, include=FALSE}
library(tufte)
# invalidate cache when the tufte version changes
knitr::opts_chunk$set(tidy = FALSE, cache.extra =
packageVersion('tufte'))
options(htmltools.dir.version = FALSE)
```
01-Chap1.Rmd
# Introduction
The Tufte handout style is a style that Edward Tufte uses in his books and handouts. Tufte's style is known for its extensive use of sidenotes, tight integration of graphics with text, and well-set typography. This style has been implemented in LaTeX and HTML/CSS^[See Github repositories [tufte-latex](https://github.com/tufte-latex/tufte-latex) and [tufte-css](https://github.com/edwardtufte/tufte-css)], respectively. We have ported both implementations into the [**tufte** package](https://github.com/rstudio/tufte). If you want LaTeX/PDF output, you may use the `tufte_handout` format for handouts, and `tufte_book` for books.
For HTML output, use `tufte_html`. These formats can be either specified in the YAML metadata at the beginning of an R Markdown document (see an example below), or passed to the `rmarkdown::render()` function. See @R-rmarkdown more information about **rmarkdown**.
我在回答我自己的问题。
gitbook 和 (tufte_)html_book 之间的行为差异在于 split_by 参数,即 gitbook 中的 split_by="chapter"
和 (tufte_) 中的 split_by="section"
html_book。将 split_by: chapter
添加到 bookdown::tufte_html_book:
yaml 部分允许构建 html 而不会出错。