如何让pkgdown在vignettes中使用图编号与交叉引用?
解决pkgdown站点中bookdown图交叉引用失效的问题
1. 在_pkgdown.yml中配置bookdown输出格式
要让pkgdown使用bookdown格式构建vignettes以支持图编号和交叉引用,需在_pkgdown.yml中添加以下配置:
vignettes: output: bookdown::html_document2: base_format: rmarkdown::html_vignette fig_caption: true toc: true
该配置会让pkgdown构建vignettes时采用bookdown::html_document2作为输出格式,继承html_vignette的样式,同时启用图标题和目录功能,为交叉引用生效提供基础。
2. 处理chunk标签的横杠问题
你的chunk标签使用横杠(如plastic1-HE3D)在bookdown中是支持的,但需保证引用格式完全匹配:引用时严格使用\@ref(fig:plastic1-HE3D),标签的大小写、符号都不能出错。
另外要注意,每个图的chunk标签必须唯一,重复标签会导致交叉引用异常。
3. 验证与重新构建
- 确保安装最新版本的
bookdown和pkgdown:install.packages(c("bookdown", "pkgdown")) - 清理旧构建缓存并重新构建站点:
pkgdown::clean_site() pkgdown::build_site()
完成以上操作后,图的编号和交叉引用即可在pkgdown站点中正常显示。
内容的提问来源于stack exchange,提问作者user101089
相关产品推荐
相关产品推荐

