为 bookdown 项目创建随附的幻灯片

creating accompanying slides for bookdown project

在 Rstudio 中,我使用 bookdown 创建了一个新项目和 select 图书项目。内置示例按预期完美运行,我可以编译 4 本书 - gitbook、html、epub 和 pdf。太好了。

下一个明显的步骤是希望同时拥有幻灯片,这与 beamer package 所做的非常一致,允许 beamer modearticle mode。因此,我尝试在 _output.yml 代码中添加另一个输出:bookdown::pdf_document2。根据文档,我知道我应该能够定义 base_format 以使用 rmarkdown::beamerThe package author told me I was almost right, see this link for the discussion。 妙语:我将此修改后的 _output.yml 用于默认项目:

bookdown::gitbook:
  css: style.css
  config:
    toc:
      before: |
        <li><a href="./">A Minimal Book Example</a></li>
      after: |
        <li><a href="https://github.com/rstudio/bookdown" target="blank">Published with bookdown</a></li>
    download: ["pdf", "epub"]
bookdown::pdf_book:
  base_format: rmarkdown::beamer_presentation
  includes:
    in_header: preamble.tex
  latex_engine: xelatex
  citation_package: natbib
  keep_tex: yes
bookdown::epub_book: default
bookdown::pdf_document2:
  includes:
    in_header: preamble.tex
  latex_engine: xelatex
  citation_package: natbib
  keep_tex: yes

这正是谢宜辉的好心建议。但是,当需要构建 pdf_book 时,我遇到了编译失败:

Output created: _book/index.html
Error in base_format(toc = toc, number_sections = number_sections, fig_caption = fig_caption,  : 
  unused argument (number_sections = number_sections)
Calls: <Anonymous> ... <Anonymous> -> create_output_format -> do.call -> <Anonymous>
Execution halted

Exited with status 1.

我迷路了 - 我花了几个小时寻找解决方案但没有成功。任何人都可以帮助我吗?很抱歉,我无法弄清楚这一点。 XieYiHui 给予了难以置信的支持,他的评论表明这是提出此类问题的合适场所。非常感谢。托马斯

错误是由于 rmarkdown::beamer_presentation() 没有参数 number_sections(你不能在 beamer 中对部分进行编号;至少 Pandoc 似乎不支持它)。

要解决此问题,您可以使用以下 hack,它基本上定义了一种基本格式,可以丢弃 number_sections 参数:

---
title: "Using bookdown with Beamer"
output:
  bookdown::pdf_book:
    base_format: "function(..., number_sections) rmarkdown::beamer_presentation(...)"
    number_sections: false
---

## Plot

See Figure \@ref(fig:foo).

```{r, foo, fig.cap='Hi there', fig.height=4}
plot(1:10)
```