officedown中run_reference自定义格式未生效的解决咨询
解决officedown中run_reference自定义样式不生效的问题
问题原因
你设置的run_autonum(..., bkm_all = TRUE)会将整个题注(包括编号和文本)绑定为书签,导致run_reference引用时自动继承题注的文本样式,忽略了你指定的fp_text_ref配置。
修改步骤
调整题注的自动编号设置
将run_autonum中的bkm_all = TRUE改为bkm_all = FALSE,让书签仅绑定到题注的编号部分,避免引用继承整个题注的样式:fpar( run_autonum(seq_id = 'fig', bkm = 'figure1', pre_label = "Figure ", bkm_all = FALSE, prop = fp_text_cap), ftext(paste0("Caption"), prop = fp_text_cap), fp_p = fp_par(text.align = "justify", line_spacing = 1.15) )保留run_reference的样式参数
保持run_reference的prop = fp_text_ref设置不变,此时引用文本会正确应用你定义的红色11号Calibri字体样式:这是对`r run_reference(id = "figure1", prop = fp_text_ref)`的引用。
完整修改后的代码
--- output: officedown::rdocx_document: ---
knitr::opts_chunk$set(echo = FALSE) if (!require("pacman")) install.packages("pacman"); library(pacman) pacman::p_load(officer, officedown) fp_text_ref <- fp_text_lite(font.size = 11, font.family = "Calibri", color = "red") fp_text_cap <- fp_text_lite(font.size = 10, font.family = "Calibri")
这是对r run_reference(id = "figure1", prop = fp_text_ref)的引用。
plot(mtcars) fpar( run_autonum(seq_id = 'fig', bkm = 'figure1', pre_label = "Figure ", bkm_all = FALSE, prop = fp_text_cap), ftext(paste0("Caption"), prop = fp_text_cap), fp_p = fp_par(text.align = "justify", line_spacing = 1.15) )
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

