使用R Markdown时如何禁止代码块名称显示在图片标题中
解决R Markdown代码块名称自动加入图片标题的方法
可以完全实现仅展示自定义fig.cap内容,代码块名称仅作为编辑时的导航标识使用。你遇到的chunk名自动加入图标题的问题,通常是使用了带交叉引用功能的输出格式(如bookdown系列格式)、或误配置了knitr全局fig.cap相关参数导致的,可通过以下方法解决:
- 方法1:关闭全局自动图编号
如果不需要图片自动添加编号,直接在文档开头的YAML配置中关闭图编号即可,以bookdown的HTML输出为例:
output: bookdown::html_document2: number_figures: false
- 方法2:自定义图编号前缀(保留编号去掉chunk名)
如果需要保留自动图编号,仅移除chunk名,可在文档开头的setup代码块中修改全局配置,自定义编号前缀格式:
knitr::opts_chunk$set( fig.cap.prefix = function(num) paste0("图 ", num, ": ") )
上述配置只会生成「图 X: 自定义标题」的格式,不会带入代码块名称。
- 方法3:单块临时禁用前缀
如果仅需要某一个代码块不显示额外前缀,直接在该代码块的参数中添加fig.cap.prefix=""即可:
```{r chunkname, fig.cap="Figure Caption", fig.cap.prefix=""} knitr::include_graphics("image.png") ```
注:原生rmarkdown默认输出格式(如rmarkdown::html_document)不会自动将代码块名称加入图片标题,出现该问题优先检查是否开启了扩展格式的自动图编号功能。
内容的提问来源于stack exchange,提问作者William Spagnola
相关产品推荐
相关产品推荐

