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

如何修改Bookdown和Rmarkdown图表格式:取消斜体并设置文本加粗、图例普通

解决Rmarkdown/Bookdown生成Word时图表标题与文本样式问题

核心需求回顾

将图表标题(图例)设为普通文本,同时把标题中的指定内容(或绘图内的文本)设为加粗样式。


方法1:自定义Word模板(推荐,长期复用)

Word输出的图表标题默认映射到「Figure Caption」样式,修改该样式可全局生效:

  1. 新建空白Word文档,点击「开始」→「样式」→找到「Figure Caption」样式→右键修改:将字体格式从斜体改为常规,保存文档为custom-template.docx。
  2. 在Rmarkdown的YAML头部指定模板:
---
title: "test"
output:
  bookdown::word_document2:
    reference_docx: custom-template.docx
---
  1. 在代码块的fig.cap中用**包裹需要加粗的内容,示例:
```{r fig, fig.cap="**A scatterplot** of the data cars using base R graphics", echo=FALSE}
plot(cars)
生成的图表标题整体为普通文本,其中`A scatterplot`会被加粗。

---

## 方法2:临时调整(无需模板)
若不想制作模板,可通过pandoc原生XML语法强制取消标题斜体,同时保留加粗标记:
```r
```{r fig, fig.cap="\\raw{openxml}<w:r><w:rPr><w:i w:val=\"0\"/></w:rPr></w:r>**A scatterplot** of the data cars using base R graphics", echo=FALSE}
plot(cars)
注:该方法仅适合单次调整,代码可读性较差。

---

## 方法3:调整绘图内的文本样式(若指坐标轴/绘图标题)
如果「图表文本」指绘图内部的坐标轴标签、主标题等内容,需在base R绘图代码中直接设置:
### 方式A:单独指定元素样式
```r
```{r fig, fig.cap="A scatterplot of the data cars using base R graphics", echo=FALSE}
plot(cars,
     main = expression(bold("Scatterplot of Cars Data")), # 主标题加粗
     xlab = expression(bold("Speed (mph)")), # X轴标签加粗
     ylab = expression(bold("Distance (ft)"))) # Y轴标签加粗
### 方式B:全局设置绘图文本样式
```r
```{r fig, fig.cap="A scatterplot of the data cars using base R graphics", echo=FALSE}
# 先设置全局文本为粗体(2代表粗体,1为常规)
par(font.main = 2, font.lab = 2, font.axis = 2)
plot(cars)
# 恢复默认样式,避免影响后续绘图
par(font.main = 1, font.lab = 1, font.axis = 1)
---

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

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

最近更新时间:2026.07.27 06:32:16