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

如何在RMarkdown PDF中为标题/页眉与正文设置不同字体?

解决RMarkdown PDF标题和页眉字体设置问题

因为你使用的是XeLaTeX引擎,完全可以在YAML段或者文档里通过插入LaTeX命令来指定标题和页眉的Anton字体,下面是两种实用方法:

方法一:YAML头部配置

直接在YAML里加header-includes字段插入LaTeX代码,一次性搞定标题和页眉字体:

---
title: "Untitled"
mainfont: Fira Sans
output:
  pdf_document:
    latex_engine: xelatex
header-includes:
  - \usepackage{titlesec}
  - \titleformat{\section}{\fontsize{12}{15}\bfseries\fontspec{Anton}}{}{0em}{}
  - \titleformat{\subsection}{\fontsize{11}{13}\bfseries\fontspec{Anton}}{}{0em}{}
  - \usepackage{fancyhdr}
  - \pagestyle{fancy}
  - \fancyhead[L]{\fontspec{Anton}\leftmark}
  - \fancyhead[R]{\fontspec{Anton}\thepage}
---

代码解释

  • titlesec包用来自定义章节标题样式,\fontspec{Anton}指定用Anton字体,\fontsize可以调整字号和行距
  • fancyhdr包负责页眉设置,\fancyhead分别把左侧的章节标题和右侧的页码改成Anton字体

方法二:文档开头加LaTeX代码块

如果不想改YAML,也可以在文档最开头直接插一段LaTeX代码:

\usepackage{titlesec}
\titleformat{\section}{\fontsize{12}{15}\bfseries\fontspec{Anton}}{}{0em}{}
\titleformat{\subsection}{\fontsize{11}{13}\bfseries\fontspec{Anton}}{}{0em}{}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{\fontspec{Anton}\leftmark}
\fancyhead[R]{\fontspec{Anton}\thepage}

注意点

  • 要确保你的电脑已经安装了Anton字体,不然XeLaTeX找不到会报错
  • 如果需要调整一级标题(对应Markdown的#)的格式,根据文档类不同,可能要把\section换成\chapter,按需调整就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:45:08