You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarto生成PDF时,如何在TOC、LoF、LoT后插入分页符?

在Quarto PDF中为目录/图表目录添加后置分页符

问题根源

你用before-body.tex插入\pagebreak会出现在标题和目录之间,是因为这个文件的内容会被插入到文档主体最开头,早于目录的渲染位置。

可行解决方案

方案1:自定义TeX片段文件

创建一个名为after-toc-lof.tex的TeX文件,内容如下:

% 目录后添加分页符
\ifdefined\if@toc@done
  \pagebreak
\fi

% 图表目录后添加分页符
\ifdefined\if@lof@done
  \pagebreak
\fi

% 如需给表格目录加分页符,取消以下注释
% \ifdefined\if@lot@done
%   \pagebreak
% \fi

修改Quarto文档的YAML配置,通过include-after引入这个文件:

---
title: Untitled
format:
  pdf:
    toc: true
    lof: true
    include-after:
      - file: after-toc-lof.tex
author: Author
date: last-modified
---

# Title 1 

Some text

# Title 2

## Title 2.1

![This is a figure][example.png]

方案2:YAML内直接嵌入TeX代码

如果不想单独创建文件,可直接在YAML中写入TeX代码:

---
title: Untitled
format:
  pdf:
    toc: true
    lof: true
    include-after:
      - text: |
          \ifdefined\if@toc@done
            \pagebreak
          \fi
          \ifdefined\if@lof@done
            \pagebreak
          \fi
author: Author
date: last-modified
---

原理说明

Quarto渲染PDF时,会在完成目录(TOC)、图表目录(LoF)等模块后设置专属标记(如\if@toc@done)。include-after参数的内容会在这些模块渲染完成后执行,因此能精准将分页符插入到每个目录的末尾,解决位置错误的问题。

内容的提问来源于stack exchange,提问作者A. Bohyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 07:52:45