【问题标题】:How to put a subscript in a caption of a Word document using officer in R如何使用 R 中的官员在 Word 文档的标题中添加下标
【发布时间】:2021-08-31 08:53:25
【问题描述】:

我正在尝试为在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 或下标?

【问题讨论】:

    标签: r caption text-formatting officer


    【解决方案1】:

    我找到了一个有点复杂但似乎可行的解决方案。

    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' 应更改为为文档中的字幕选择正确的样式。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 2021-08-24
      • 2020-04-30
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多