我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格。但是,我在将表格标题中的部分文本加粗时遇到了一些麻烦。例如,我希望标题为“Table 1.我的表格标题的其余部分。”而不是“表 1.我的表格标题的其余部分”。
I 找到这个文档 https://davidgohel.github.io/flextable/articles/display.html,经过一番尝试和错误,我终于得到了我想要的结果。但感觉可能有一种更直接的方法来获得它。这是我当前的解决方案:
library(dplyr)
library(flextable)
mtcars_ft <- flextable(head(mtcars)) %>%
# Add a blank title line to top of table
add_header_lines("") %>%
# Use compose to bold "Table #."
compose(
i = 1, part = "header",
value = as_paragraph(
as_chunk("Table 1. ", props = fp_text(bold = TRUE)),
"Here is my example mtcars ft."
),
)
这是我的结果的屏幕截图:
下面的解决方案不仅可以执行您想要的操作,还可以在 Word 中使用自动编号,以便在更新时编号和参考文献也会更新。
library(officer)
library(flextable)
mtcars_ft <- flextable(head(mtcars)) %>% set_table_properties(layout = "autofit")
bold_face <- fp_text(bold = TRUE, font.size = 11)
fpar_ <- fpar(
run_autonum(seq_id = 'tab',
bkm = 'a_bkm', pre_label = "Table ",
prop = bold_face),
"Here is my example mtcars ft." )
read_docx() %>%
body_add_fpar(fpar_, style = "centered") %>%
body_add_flextable(mtcars_ft) %>%
print(target = "example.docx")
这基本上就是做什么flextable::set_caption
(但无法根据需要设置文本格式)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)