2

使用该ReporteRs包时,似乎将文本放入页面页脚的唯一方法是在文本正文中放置一个带编号的脚注,并让该脚注在页脚中显示为相同的编号。我希望能够将文本放在页面的页脚中,而前面没有任何编号。

library(ReporteRs)

doc1 <- docx()
doc1 <- addFlexTable(doc1,vanilla.table(head(iris)))
Foot <- Footnote()
Foot <- addParagraph(Foot,"This should not have a number in front of it")
doc <- addParagraph(doc,pot("There should be no number after this",footnote=Foot))
writeDoc(doc1, file = "footnote1.docx")

或者,如果可以在页面底部放置一个段落,那也可以解决我的问题。这可以通过确定页面上可以容纳多少行来完成,但是如果有某种方法可以使最后一段的垂直对齐成为页面底部,那将是理想的。

doc2 <- docx()
doc2 <- addFlexTable(doc2,vanilla.table(head(iris)))
doc2 <- addParagraph(doc2,c(rep("",33),"Text placed by dynamically finding bottom of the page"))
writeDoc(doc2, file = "footnote2.docx")
4

1 回答 1

1

您尝试执行的操作与编写时不匹配ReporteRs::Footnote,如帮助中所示:

如果在 docx 对象中,脚注将由紧跟在注释所引用的文本部分之后的数字标记。

但是,如果我正确理解您的问题,您所追求的是可以实现的。表格中的注释和页脚中的文本不会以任何方式连接,例如由 提供的超链接Footnote

还有一个问题是ReporteRs没有提供在不使用书签的情况下在页脚中放置文本的方法(除了Footnote,我们现在已经打折了)。这意味着我们需要使用docx模板而不是包生成的空文档。

模板创建

脚步:

  1. MS Word我打开了一个空文档
  2. 将光标置于页脚区域
  3. 插入 => 书签
  4. 输入书签名称,我刚刚用过FOOTER,点击添加
  5. 保存文档

在此处输入图像描述

文档生成与ReporteRs

使用我们的新模板,接下来的步骤看起来会更加熟悉。

library(ReporteRs)

doc <- docx(template = "Doc1.docx")

# do the flextable, note that I add your table footer here
ftable <- vanilla.table(head(iris))

ftable <- addFooterRow(
  ftable,
  value = c("There should be no number after this"),
  colspan = 5
)

doc <- addFlexTable(doc, ftable)

# check for the presence of our bookmark
list_bookmarks(doc)
# [1] "FOOTER"

# now add the footer text using the bookmark
doc <- addParagraph(
  doc, stylename = "footer", bookmark = "FOOTER",
  pot("This should not have a number in front of it")
)

# and finally write the document
writeDoc(doc, file = "doc.docx")

最终产品

表格,您可以更好地格式化以适应,我没有删除添加行的边框。

在此处输入图像描述

页脚,采用标准页脚样式,您可以再次修改以适合。

在此处输入图像描述

于 2017-12-05T23:33:26.760 回答