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

如何在qmd文件的PPTX输出中自定义图题的字体格式?

在Quarto的QMD文件中自定义PPTX输出的图表题格式

问题描述

需要在QMD文件中修改图表题格式以生成PPTX输出,目前仅能通过fig.cap设置内容,无法控制样式。期望实现效果:“Figure 1”部分为加粗深蓝色,“Overlaying Graphs”部分为常规字体浅灰色。

最小可复现示例(MWE):

---
title: "My Work"
subtitle: "2023"
author: "Me"
format: pptx
reference-doc: template.pptx
mainfont: Open Sans
sansfont: Open Sans
slide-level: 1
---

# Slide 1
```{r, fig.align = "center", fig.cap="Caption"}
# code for the graph
## 解决方案

### 方法1:内联HTML样式直接定义
Quarto的`fig.cap`支持内嵌HTML样式,可直接在标题内容中指定格式:
```qmd
```{r, fig.align = "center", fig.cap="<span style='font-weight:bold; color:#003399'>Figure 1</span> <span style='color:#666666'>Overlaying Graphs</span>"}
# 图表代码
注意:颜色值可替换为你需要的深蓝色/浅灰色具体十六进制代码。

### 方法2:自定义PPTX参考文档(推荐)
如果需要统一所有图表题样式,修改`reference-doc`对应的PPTX模板更高效:
- 打开`template.pptx`文件,找到PPT中的**图表标题样式**(通常名为`Figure Caption`或`Image Caption`)
- 将样式拆分为编号部分(Figure X)和内容部分,分别设置「加粗+深蓝色」「常规字体+浅灰色」
- 保存模板后,正常使用`fig.cap`即可,Quarto会自动应用模板样式:
```qmd
```{r, fig.align = "center", fig.cap="Overlaying Graphs"}
# 图表代码
此时Quarto会自动添加编号并应用预设样式,无需手动编写编号。

### 方法3:Lua过滤器进阶控制
若需更灵活的全局样式控制,可编写Lua过滤器自动处理图表标题:
1. 创建`figure-caption-filter.lua`文件,内容如下:
```lua
function Image(el)
  if el.caption and #el.caption > 0 then
    local caption_text = pandoc.utils.stringify(el.caption)
    local fig_num = el.attributes["fig-num"] or "1"
    local styled_caption = pandoc.RawInline("openxml", 
      "<w:p><w:r><w:rPr><w:b/><w:color w:val='003399'/></w:rPr><w:t>Figure " .. fig_num .. "</w:t></w:r><w:r><w:rPr><w:color w:val='666666'/></w:rPr><w:t> " .. caption_text .. "</w:t></w:r></w:p>"
    )
    el.caption = pandoc.Inlines({styled_caption})
  end
  return el
end
  1. 在QMD的YAML中引用过滤器:
---
title: "My Work"
subtitle: "2023"
author: "Me"
format: 
  pptx:
    reference-doc: template.pptx
    filters:
      - figure-caption-filter.lua
mainfont: Open Sans
sansfont: Open Sans
slide-level: 1
---
  1. 正常设置fig.cap即可自动应用样式:
```{r, fig.align = "center", fig.cap="Overlaying Graphs"}
# 图表代码
内容的提问来源于stack exchange,提问作者Bileobio
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:50:13