如何在R Quarto生成的PPT中局部修改字体大小/类型/粗细?
在Quarto中为PowerPoint实现局部自定义样式
方法1:扩展参考模板样式(最推荐)
Quarto的pptx格式完全依赖参考模板的样式体系,所以最稳妥的方式是先在你的my_template.pptx里添加自定义样式:
- 打开模板文件,在PowerPoint「开始」选项卡的「样式」组中,点击对话框启动器(右下角小箭头)打开样式面板。
- 新建段落样式(比如命名为
SmallCustomText),设置好字体、字号等你需要的样式参数。 - 保存修改后的模板。
之后在Quarto文档中,就可以通过样式类调用自定义样式:
--- title: "MY PRESENTATION" subtitle: "this is a subtitle" format: pptx: reference-doc: my_template.pptx author: me date: today date-format: long footer: "confidential" --- ## First slide - first content - ::: {.SmallCustomText} second content :::
如果是行内内容需要调整,可用行内样式标记:
- first content - second content with [custom styled text]{.SmallCustomText}
方法2:插入Open XML代码(适合临时调整)
pptx基于Open XML格式,你可以直接在Quarto中嵌入Raw XML片段修改局部样式。比如用R代码生成指定字体和字号的列表项:
--- title: "MY PRESENTATION" subtitle: "this is a subtitle" format: pptx: reference-doc: my_template.pptx author: me date: today date-format: long footer: "confidential" --- ## First slide - first content - `r paste0('<a:p><a:r><a:rPr lang="en-US" sz="1400" typeface="Arial"/><a:t>', "second content", '</a:t></a:r></a:p>')`
注意:PowerPoint的字号单位是1/100磅,所以sz="1400"对应14号字体。
方法3:渲染后用R包修改(灵活但繁琐)
如果前两种方法不满足需求,可以先渲染出pptx文件,再用R的officer包对指定内容做样式调整:
library(officer) # 读取渲染好的PPT doc <- read_pptx("your_output.pptx") # 定位到目标幻灯片(标题页默认是第1张) doc <- slide_select(doc, index = 2) # 修改列表第二项的样式 doc <- ph_with_text(doc, type = "body", index = 1, str = "second content", style = "SmallCustomText") # 保存修改后的文件 print(doc, target = "modified_output.pptx")
内容的提问来源于stack exchange,提问作者Paul van Oppen
相关产品推荐
相关产品推荐

