如何在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
相关产品推荐
相关产品推荐

