r-使用knifer在msword中制作一个两列文本块



我正在尝试重新创建一个现有的字母,以便批量生成。我在YAML中使用knifer和一个参考文档来对输出文档进行样式设置。除了两列地址块之外,整个过程都进行得很顺利。我已经试过了,用标签粘贴字符串,并播放参考文档的格式。没有骰子。

这是我想要的输出(显然没有下划线…):

日期

客户:Foo&酒吧____________________客户的客户:酒吧
地址:布拉街1234号_______________ ID:Numbersnembers
更多地址:市,邮编____________最后一条:信息

正文段落格式

问题是左边的列是可变长度的,所以右边的列是不合理的。此外,可操作性有一个必需的列标签,当我使用"nbsp"时,它仍然在块上方留下了一条分界线。

有没有一个好的方法可以做到这一点,我错过了?

提前谢谢。

如果你想尝试一个还没有在CRAN上的包,你可以从GitHub安装Gmisc包。(Gmisc 1.1版在CRAN上,但渲染docx所需的工具在1.2版中,该版本尚未发布)

library(devtools)
install_github("gforge/Gmisc")

Gmisc为您提供了编织一个将保留HTML格式的docx_document的选项。这为您提供了比通常的Word输出更大的格式灵活性。该文件将呈现为HTML文件,但如果右键单击并使用MS Word打开它,您将看到格式被保留。

---
title: ""
output: Gmisc::docx_document
---
```{r, echo=FALSE, message=FALSE}
library(pixiedust)
```
Date: `r format(Sys.Date(), format = "%B %d, %Y")`
```{r, echo=FALSE}
DFrame <- 
  data.frame(
    left = c("Client: Foo & Bar",
             "Address: 1234 Blah St",
             "More Address: City, State ZIP"),
    right = c("Client's Client: Bar",
              "ID: Numbers numbers",
              "Last Piece: of Info"),
    stringsAsFactors = FALSE)
dust(DFrame) %>%
  sprinkle_colnames("", "") %>%
  sprinkle(cols = 1, width = 3, width_units = "in")%>%
  sprinkle_print_method("html")
```

我最终使用ReporteRs生成文档。您必须在R脚本中构建文档的组件(及其格式),而不是使用Rmd文件,但您仍然可以为页眉/页脚等其他样式指定参考文档。桌子也有很大的灵活性,这很酷。

最新更新