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

如何仅修改RMarkdown渲染PDF时目录的字体大小?

仅调整RMarkdown转PDF的目录字体大小的方法

要单独调整RMarkdown转PDF时的目录字体大小,CSS文件是行不通的——因为CSS只对HTML输出生效,PDF渲染依赖LaTeX引擎,得用LaTeX相关的配置来实现。下面提供两种实用方案:

方案一:使用tocloft包(推荐,控制更精细)

tocloft是LaTeX中专门用于自定义目录格式的包,可以分别控制不同层级标题和对应页码的字体大小。直接在YAML头部的header-includes里插入相关命令即可:

---
title: "你的文档标题"
output:
  pdf_document:
    toc: true  # 开启目录
fontsize: 12pt  # 全局文档字体大小
header-includes:
  - \usepackage{tocloft}
  # 调整目录中各级标题的字体大小
  - \renewcommand{\cftsecfont}{\small}          # 一级章节(section)名称字体
  - \renewcommand{\cftsubsecfont}{\footnotesize}# 二级章节(subsection)名称字体
  - \renewcommand{\cftsubsubsecfont}{\scriptsize}# 三级章节(subsubsection)名称字体
  # 对应调整各级标题的页码字体大小
  - \renewcommand{\cftsecpagefont}{\small}
  - \renewcommand{\cftsubsecpagefont}{\footnotesize}
  - \renewcommand{\cftsubsubsecpagefont}{\scriptsize}
---

LaTeX支持的字体尺寸选项包括:tiny、scriptsize、footnotesize、small、normalsize、large、Large、LARGE、huge、Huge,你可以根据需求替换。

方案二:使用titletoc包

titletoc也是一款自定义目录的LaTeX包,通过\titlecontents命令统一设置某层级目录的格式:

---
title: "你的文档标题"
output:
  pdf_document:
    toc: true
fontsize: 12pt
header-includes:
  - \usepackage{titletoc}
  # 设置一级章节目录格式:缩进1.5em,字体small,标签宽度1.5em,页码右对齐
  - \titlecontents{section}[1.5em]{\small}{\contentslabel{1.5em}}{}{\hfill\contentspage}
  # 设置二级章节目录格式:缩进3.0em,字体footnotesize,标签宽度2.0em,页码右对齐
  - \titlecontents{subsection}[3.0em]{\footnotesize}{\contentslabel{2.0em}}{}{\hfill\contentspage}
---

每个\titlecontents的参数含义:

  • 第一个参数:目录层级(section/subsection等)
  • 第二个参数:整体缩进量
  • 第三个参数:标题和标签的字体格式
  • 第四个参数:无编号标题的前缀(这里留空)
  • 第五个参数:页码的对齐方式

内容的提问来源于stack exchange,提问作者ForEverNewbie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:05:56