You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Officer包生成RTF文件时如何保留下划线?

解决Officer生成RTF时脚注下划线丢失的问题

方法1:用Officer自带的文本格式化函数

Officer里直接写_会被当成格式标记解析,导致下划线消失。你需要用ftext()给带下划线的内容单独设置下划线格式,再组合成脚注:

library(officer)

# 创建RTF文档对象
doc <- rtf_doc()

# 构造脚注:把需要保留下划线的部分用ftext设置格式
footnote_content <- block_list(
  fpar(
    "文档脚注:",
    ftext("folder1/folder2/test_output.rtf", prop = fp_text(underline = TRUE))
  )
)

# 添加脚注并保存
doc <- body_add_footnote(doc, footnote_content)
print(doc, target = "output.rtf")

方法2:插入原生RTF代码片段

如果方法1没效果,可以直接用RTF原生的下划线标记——\ul开启下划线,\ul0关闭,通过run_rtf()插入:

library(officer)

doc <- rtf_doc()

# 构造带RTF标记的脚注文本
rtf_footnote_text <- "文档脚注:\\ul folder1/folder2/test_output.rtf\\ul0"

# 插入脚注并保存
doc <- body_add_footnote(doc, block_list(fpar(run_rtf(rtf_footnote_text))))
print(doc, target = "output.rtf")

注意事项

  • 别用\_转义,Officer不识别这种转义方式,只会添乱;
  • 优先用方法1,符合Officer的API规范,维护起来更方便;方法2适合复杂格式场景。

内容的提问来源于stack exchange,提问作者sainiamaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 03:22:39