Rmd table 编织到 word 文档时,字幕被弄乱了

Rmd table captions are messed up when knitting to word doc

我正在尝试在 Rmd 中制作 tables,使用不同的标题或 headers。包 flextable 有很好的选项,可以输出到 word 文档。它的功能 add_header_lines() 允许您在每个 table 的顶部添加标题 header。当 Rmd 输出换行到新页面时,add_header_lines() 将另一个标题 header 添加到下一页继续 table 的顶部。但是,它会获取传递给您首先创建的任何 table 的参数。然后它在下一个 table 中继续正确,直到到达下一页,它再次恢复到第一页(参见图片)。

这是一个可重现的示例,其中 table 中的所有值都应与 Table 数字相同。

关于如何解决这个问题有什么想法吗?我希望它有正确的标题,但会满足于在分页后简单地删除第二个标题。

    ---
title: "Untitled"
author: "Anyone"
date: "2/29/2020"
output:
  word_document: default
  html_document:
    df_print: paged
  pdf_document: default
---

```{r setup, include=FALSE}
library(dplyr)
library(flextable)

knitr::opts_chunk$set(echo = FALSE,message=FALSE)

```


```{r Table1}
cars1<-cars*0+1
theme_zebra(regulartable(cars1))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 1: Model output for thing 1"))

```

```{r Table2}
cars2<-cars*0+2
theme_zebra(regulartable(cars2))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 2: Model output for thing 2"))

```

```{r Table3}
cars3<-cars*0+3
theme_zebra(regulartable(cars3))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 3: Model output for thing 3"))

```

```{r Table4}
cars4<-cars*0+4
theme_zebra(regulartable(cars4))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 4: Model output for thing 4"))

```

请注意,这是分页符所在的位置。此处标记为“1”的 table 实际上应该是“2”。它将继续对每个页面执行此操作,其中 table 的其余部分标有“1”(尝试 Rmd 代码)。

那是单词错误 :) 它决定两个 table 之间没有分隔符是相同的 table。

---
title: "Untitled"
author: "Anyone"
date: "2/29/2020"
output:
  word_document: default
---

```{r setup, include=FALSE}
library(dplyr)
library(flextable)

knitr::opts_chunk$set(echo = FALSE,message=FALSE)

```


```{r Table1}
cars1<-cars*0+1
theme_zebra(flextable(cars1))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 1: Model output for thing 1"))

```

blah

```{r Table2}
cars2<-cars*0+2
theme_zebra(flextable(cars2))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 2: Model output for thing 2"))

```

blah

```{r Table3}
cars3<-cars*0+3
theme_zebra(flextable(cars3))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 3: Model output for thing 3"))

```

blah

```{r Table4}
cars4<-cars*0+4
theme_zebra(flextable(cars4))%>% 
  align(align="center",part="all") %>% 
  autofit%>% 
  add_header_lines(paste("Table 4: Model output for thing 4"))

```

据我所知,这不是 flex 可以解决的问题table,但如果有我不知道的选项,我很乐意将其整合。