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

