如何在bookdown :: gitbook中使用自定义pandoc HTML模板

问题描述 投票:1回答:1

我想为bookdown项目编写一个自定义模板。从bookdown包的documentation我读到,可以用自定义的模板替换默认模板,比如my_custom_template.html,在YAML标题中包含template: "my_custom_template.html"就像

bookdown::gitbook:
  template: my_custom_template.html

这样做会产生以下错误:

Error in rmarkdown::html_document(..., extra_dependencies = c(extra_dependencies,  : 
  formal argument "template" matched by multiple actual arguments
Calls: <Anonymous> ... do.call -> <Anonymous> -> html_document2 -> <Anonymous>
Execution halted
Error in eval(expr, envir, enclos) : 
  Failed to compile the book to bookdown::gitbook

在我看来,默认模板是硬编码的,因此不能轻易覆盖。

还有其他方法可以包含自定义模板吗?

r r-markdown pandoc bookdown
1个回答
3
投票

这是不可能的,并且以这种方式记录:在使用函数的文档(?bookdown::gitbook)中,template被排除在要传递给rmarkdown::html_document()的可用参数列表中,以及toctheme。您链接到的页面中也会提到这一点:

有一些html_document()的参数已在gitbook()中进行了硬编码,你无法改变它们:toc = TRUE(必须有一个目录),theme = NULL(不使用任何Bootstrap主题),以及模板(存在内部GitBook模板)。

© www.soinside.com 2019 - 2024. All rights reserved.