【问题标题】:How can I control the location of the table of contents in R Markdown (PDF output)?如何控制 R Markdown(PDF 输出)中目录的位置?
【发布时间】:2021-12-09 17:06:01
【问题描述】:

YAML 标头:

---
subtitle: "subtitle"
title: "title"
output: 
  pdf_document:
    toc: true
    toc_depth: 2
    number_sections: true
---

这会将目录放在文档的最开头,但我希望将它放在前两页之后。

有人知道如何管理吗?我宁愿不要使用太多 LaTeX。

【问题讨论】:

  • 我认为您需要使用custom LaTeX template。我猜您想将 default.latex 的第 477–503 行移到您要添加的两页后面。但是:如果这两个页面应该是什么内容?一些静态内容(可能很简单)或 RMarkdown 输出的前两页(即 Pandoc 的 $body$)?我不知道您如何拆分后者...
  • 前两页是带有标题的正面,第二页是版本详情。我作为解决方案提供的只是为部分提供不同的 Rmd 文档,然后将它们连接在一起(PDF 输出) - 不理想,但它是一些东西

标签: r pdf r-markdown knitr


【解决方案1】:

如果前两页应该包含静态内容(不是在 R Markdown 文档的正文中生成的),则可以通过对 Pandoc 使用的 LaTeX 模板进行少量修改来实现将目录移动到第 3 页。

The Cookbook 中所述,默认的 LaTeX 模板是 this (latest version)。

  1. 下载该文件并将其保存在您的 RMD 文件的目录中。在下面的示例中,我将文件命名为 toc-at-page3-template.tex

  2. 编辑模板:例如在第476行之后(即$if(toc)$之前),添加

     \begin{center}
     Custom Stuff
     \end{center}
    
     \clearpage
    
     \begin{center}
     More Custom Stuff
     \end{center}
    
     \clearpage
    
  3. 在您的 RMD 文件中,启用自定义模板:


     output:
       pdf_document:
         toc: true
         template: toc-at-page3-template.tex
     ---
    
     Foo.
    

输出: (点击缩略图放大)

【讨论】:

    猜你喜欢
    • 2016-04-29
    • 2018-09-18
    • 2020-10-23
    • 1970-01-01
    • 2021-04-21
    • 2018-11-19
    • 2017-10-15
    • 2017-11-16
    相关资源
    最近更新 更多