在Bookdown PDF输出中,目录之前的章节

4
我希望在目录页之前(但在标题页之后)将一个章节添加到Bookdownpdf_book输出中。一种方法是将该章节添加到.tex文件中,并使用before_body:进行链接。然而,这意味着该章节将不会出现在gitbook中(我也需要它)。我不想保留同一章节的.tex.Rmd版本。
理想的解决方案是将该章节保存在.Rmd文件中,并将其内容提取到pdf_bookbefore_body中。这样它仍然可用于gitbook。但我不确定如何做到这一点,或者是否可能?
是否有解决方案?还是超出了Bookdown灵活性的限制?
非常感谢您的帮助!

我猜你可以在你的Markdown中放置\tableofcontents,并从pandoc模板中删除它... - mb21
1
啊,是的,请参见 https://dev59.com/C18e5IYBdhLWcg3wlbPx - mb21
1个回答

10

用户可以手动触发文档中的ToC创建,这样可以更好地控制其位置。当然,应该禁用自动创建目录:

---
title: "MWE"
output:
  bookdown::pdf_book:
    toc: False
---

```{r child = 'file-you-want-to-include.Rmd'}
```

```{=latex}
% Trigger ToC creation in LaTeX
\tableofcontents
```

# Rest of your document starts here

不足之处在于这仅适用于PDF输出,而不是HTML。


1
非常好,谢谢。由于 gitbook 中的目录沿页面侧面运行,所以它与章节的位置无关,因此您的解决方案仍然适用。看起来图表清单和/或表格清单的位置也可以使用 \listoffigures\listoftables 来设置。 - pyg
很棒的解决方案。请注意,\tableofcontents 命令可以直接添加而无需使用 {=latex} 包装,因为当输出为 HTML 时,LaTeX 命令会被忽略。 - mspices

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接