我正在尝试在officer中生成的标题中添加一个下标。我是这样创建标题的:
library(officer)
doc <- read_docx('empty_file.docx')
autonum <- run_autonum(seq_id = 'fig', pre_label = 'Figure ')
caption <- block_caption(label='My caption includes SO2.', style = "caption", autonum = autonum)
doc <- body_add_caption(doc, caption)
print(doc, target = 'output.docx'))但是,现在我想把“SO2”中的“2”放在下标中。我知道如何生成下标:
fp_text_prop <- fp_text(color='orange')
prop_mod <- update(fp_text_prop, vertical.align = 'subscript')
paragraph <- fpar(ftext('SO', prop = fp_text_prop), ftext('2', prop = prop_mod)))但是我不能在标题中使用生成的fpar,因为body_add_caption需要block_caption的输出,而block_caption需要一个普通字符串作为label=的参数。
如何将fpar或下标放入标题中?
发布于 2021-06-15 22:41:24
我找到了一个解决方案,虽然有点复杂,但似乎是有效的。
library(officer)
doc <- read_docx('empty_file.docx')
autonum <- run_autonum(seq_id = 'fig', pre_label = 'Figure ')
fp_text_prop <- fp_text(color='orange')
prop_mod <- update(fp_text_prop, vertical.align = 'subscript')
caption <- fpar(autonum, ftext('SO', prop = fp_text_prop), ftext('2', prop = prop_mod)))
doc <- body_add_fpar(x=doc, value=caption, style = 'caption')
print(doc, target = 'output.docx'))有几个警告:fp_text_prop应该与标题的正常样式相匹配,style = 'caption'应该进行更改,以便为文档中的标题选择正确的样式。
https://stackoverflow.com/questions/67987372
复制相似问题