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

如何修改Rmarkdown输出PDF文件的图片标题字体与颜色

具体操作步骤

1. 修改YAML头配置引入所需包

无需手动处理你从CTAN下载的包,RMarkdown配套的TinyTeX会自动管理依赖,你直接修改原有的YAML头即可:

output:
  pdf_document: 
    keep_tex: true
  html_document: default
header-includes:
  \usepackage{placeins}
  % 新增以下两行引入所需依赖
  \usepackage{xcolor} % 用于支持颜色定义与使用
  \usepackage{caption} % 用于统一调整图题格式
  % 全局图题格式设置,可根据需求修改参数
  \captionsetup[figure]{
    font={small, color=blue}, % 图题文本的字号、颜色、字体样式
    labelfont={bf, color=black} % 图号(如 图1: )的格式,bf为粗体
  }
---

可调整的格式参数说明:

  • 字号可选值:tiny/scriptsize/footnotesize/small/normalsize/large,从小到大对应不同字号
  • 字体样式可选值:bf(粗体)、it(斜体)、rm(罗马衬线字体)、sf(无衬线字体)
  • 内置颜色直接使用名称即可:red/blue/gray/purple等十余种常用颜色直接调用

2. 自定义颜色的方法

如果需要使用非内置的指定颜色,可在header-includes中添加颜色定义规则:

% 用RGB数值定义颜色,三个数值范围均为0-255
\definecolor{myblue}{RGB}{24,67,131}
% 用十六进制色值定义颜色
\definecolor{mygray}{HTML}{#666666}

定义完成后直接在captionsetup的color参数中填入自定义的颜色名(如color=myblue)即可生效。

3. 单张图单独修改图题格式的方法

如果你不需要全局统一图题格式,只想给某一张图单独设置特殊样式,无需设置\captionsetup,在代码块的fig.cap参数中直接调用颜色、字体命令即可(注意反斜杠需要转义,写为双反斜杠):

# 代码块参数示例
{r, fig.cap = "\\textcolor{myblue}{\\textit{这是自定义颜色加斜体的单张图题}}\\label{fig:test1}", fig.width=6}
plot(1:10)

4. 依赖包安装问题处理

如果编译时提示包缺失,直接在R控制台运行以下命令手动安装依赖即可,不需要手动移动CTAN下载的包到R库文件夹:

tinytex::tlmgr_install(c("caption", "xcolor"))

你之前的报错原因是没有预先加载xcolor包,且误用了仅适用于表格单元格着色的\cellcolor命令,改用上述的\textcolor命令即可实现文本着色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 20:27:01