空行格式化官包 R

问题描述

我目前正在使用Officer 包来生成Word 文档。我一直在使用 body_add_par 在整个文档中添加多个空白行,但这种方法已经变得乏味了。

有没有办法创建一个函数,或者以某种方式能够编写一行代码来指定我要插入多少个空行?

Practice_R.docx = read_docx() %>%
  body_add_par("") %>%
  body_add_par("") %>%
  body_add_par("") %>% 
  body_add_par(paste("test")) %>% 
  body_add_par("") %>%
  body_add_par("") %>%
  body_add_par("") %>%
  body_add_par("") %>%
  body_add_par("") %>%
  body_add_par("") %>%
  body_add_par(paste("test2"))%>%
  body_add_break( pos = "after")

解决方法

试试:

# repeat the addition of an empty paragraph n-times

body_add_par_n <- function(doc,n) {
    i <- 1 # initialize counter
    while (i<=n) { # control if the counter is less then desired n
        
        doc <- body_add_par(doc,"") # add paragraph to the object
        i <- i+1 # increment the counter
    }
    
    doc # return the object
}

Practice_R.docx = read_docx() %>%
  body_add_par_n(3) %>% 
  body_add_par(paste("test")) %>% 
  body_add_par_n(6) %>% 
  body_add_par(paste("test2"))%>%
  body_add_break( pos = "after")