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

R Markdown PDF中fontsize与enumitem配置失效问题咨询

问题原因与解决方案

1. 字号18pt不生效的原因

默认的article文档类仅支持10pt、11pt、12pt三种字号,18pt不在其预设范围内,直接设置fontsize:18pt自然不会生效。需要改用支持大字号的extarticle文档类,或者手动指定字号。

解决方法

在YAML头部指定documentclass: extarticle,并设置该文档类支持的大字号(10/11/12/14/17/20pt);如果必须使用18pt,可在header-includes中手动设置字体大小。

2. enumitem设置无变化的原因

R Markdown生成PDF时,会自动为列表添加默认样式,这些样式会覆盖你在header-includes中直接编写的全局设置。另外,直接修改enumi计数器的方式会被R Markdown的列表渲染逻辑重置,导致设置失效。

解决方法

  • 将enumitem的全局设置放在\AtBeginDocument命令中,确保在文档初始化完成后生效;
  • 用enumitem的start选项替代直接修改计数器,实现枚举列表从0开始的需求。

修改后的完整代码

---
documentclass: extarticle
output: 
  pdf_document: 
    latex_engine: xelatex
fontsize: 17pt # extarticle支持的大字号,若要18pt可启用下方注释
header-includes:
  - \usepackage{lipsum} 
  - \usepackage{setspace}\doublespacing
  - \usepackage[shortlabels]{enumitem}
  - \AtBeginDocument{
      \setlist[itemize]{nosep, noitemsep}
      \setlist[enumerate]{nosep, noitemsep, start=0}
    }
  # 若必须用18pt,替换上方fontsize配置,启用以下命令
  # - \fontsize{18}{22}\selectfont
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)

random

\lipsum

R Markdown

itemize itemize itemize itemize itemize itemize itemize itemize itemize

  • aaa
  • bbb
  • ccc

enumerate enumerate enumerate enumerate enumerate enumerate enumerate enumerate enumerate

  1. uuu
  2. vvv
  3. www

why why why why why why why why why why why why why why why why why why why why why

---

内容的提问来源于stack exchange,提问作者John Stone
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:01:08