papaja包编织输出Word文档时图表名称重复的问题如何解决
问题原因
0.1.0.999开发版的papaja包内置的apa6_docx输出格式存在已知的图表自动编号逻辑缺陷,生成Word文档时不会在每个图表输出后递增编号计数器,最终导致所有图表的编号都重复显示为「图1」。
修复方案
方案1:升级papaja到最新开发版(推荐)
该编号bug已经在后续的开发版更新中被官方修复,直接升级包即可解决问题,升级代码如下:
remotes::install_github("crsh/papaja")
升级完成后重新编织你的Rmd文档,图表编号即可正常递增。
方案2:临时兼容方案(无法升级时使用)
如果你暂时不方便更新papaja版本,可以在setup代码块中添加如下代码,手动接管Word输出时的图表编号逻辑:
library(knitr) # 手动维护图表编号 fig_counter <- 1 old_plot_hook <- knit_hooks$get("plot") knit_hooks$set(plot = function(x, options) { # 仅对docx输出生效 if (!grepl("docx", knitr::pandoc_to())) { return(old_plot_hook(x, options)) } res <- old_plot_hook(x, options) # 替换重复的编号 res <- gsub("Figure 1\\.", paste0("Figure ", fig_counter, "."), res) fig_counter <<- fig_counter + 1 return(res) })
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

