首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在officedown文档中使用可弯曲对象时,不同页面上的表标题

在officedown文档中使用可弯曲对象时,不同页面上的表标题
EN

Stack Overflow用户
提问于 2022-06-28 15:23:25
回答 1查看 321关注 0票数 1

我试图把一个文档放在一起,在文档的末尾会找到一个“表”部分。在那里,将显示我将在整个文件中引用的所有表格。

我的问题是,每当我有一个跨越几页的长表时,表标题就单独放在一页上,而下一页上则是表的后面。这既发生在肖像和景观模式。

我的问题是:,我能用它做什么,这样就可以在同一页的关联表的上方找到表标题吗?

以下是问题的快照:

在纵向模式下,当只显示前几行(使用r head()函数左)时,表是可以的,而整个表是不正确的(右侧有两页)。

景观模式也是如此。

这是一个可重复的例子。

代码语言:javascript
复制

输出: officedown::rdocx_document

代码语言:javascript
复制
```{r setup, echo=F, message=F, warning=F}

Knitr::opts_chunk$set(回声= F,

代码语言:javascript
复制
                  collapse = T, 
代码语言:javascript
复制
                  fig.align = "center", 
代码语言:javascript
复制
                  fig.width = 6, 
代码语言:javascript
复制
                  fig.height = 8, 
代码语言:javascript
复制
                  fig.cap = T,
代码语言:javascript
复制
                  fig.pos = "!h",
代码语言:javascript
复制
                  message = F, 
代码语言:javascript
复制
                  warning = F)

使用%>%的库(Magrittr)#

图书馆(Dplyr)

图书馆(办公大楼)

图书馆(主任)

图书馆(可弯曲)

肖像剖面

纵向<- prop_section(类型=“连续”)

景观剖面

景观<- prop_section(page_size =page_size(东方=“景观”),类型=“连续”)

设置宽度的函数

FitFlextableToPage <-函数(ft,pgwidth = 6){

ft_out <- ft %>% autofit()

ft_out <-宽度(ft_out,宽度= dim(ft_out)$widths*pgwidth /(flextable_dim(ft_out)$widths))

返回(Ft_out)

}

set.seed(12345) #用于设置table1时的可重现性

代码语言:javascript
复制
```{r, echo = F}

table1的创建

年份<- 1990:2022年

table1 <- tibble(年份=年份,

代码语言:javascript
复制
             dat1 = sample(rnorm(n = 1000, 0, 2), size = length(years), replace = T)) %>% 
代码语言:javascript
复制
      mutate(year = as.character(year),
代码语言:javascript
复制
             dat2 = dat1 * 10,
代码语言:javascript
复制
             dat3 = dat1 * 1000)

#表1

代码语言:javascript
复制
# portrait table
```{r}

“初步数据”#脚注

col_names <- c(“年份”、“第1栏”、“第2栏”、“第3栏”)#表标题

设置脚注

cor <-其中(table1,年%在% 2021:2022))

长度(Cor)#2

标头

名称(Table1) <- col_names

代码语言:javascript
复制
```{r table1, tab.cap = "Header of table1 in portrait style."}

table1 %>% head() %>%可挠性() %>% autofit()

代码语言:javascript
复制
\newpage
```{r table2, tab.cap = "All of table1 in portrait style + footnote."}

table1 %>%

柔性() %>%

脚注(i= cor,j= 1,value =as_paragraph(英尺),

代码语言:javascript
复制
       ref_symbols = "a", part = "body")

Block_section(纵向)#纵向部分的末尾

代码语言:javascript
复制
# landscape table
Let's put these same tables on a landscape page.

```{r table3, tab.cap = "Header of table1 in landscape style."}

table1 %>% head() %>%可挠性() %>% autofit()

代码语言:javascript
复制
\newpage

```{r table4, tab.cap = "All of table1 in landscape style + footnote."}

table1 %>%

柔性() %>%

脚注(i= cor,j= 1,value =as_paragraph(英尺),

代码语言:javascript
复制
       ref_symbols = "a", part = "body") %>% 

FitFlextableToPage(pgwidth = 9.5)

Block_section(景观)#景观剖面的末尾

代码语言:javascript
复制
# New section in portrait style

bla bla bla.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-28 17:27:50

正如David友好地回答的那样,块选项ft.keepnext是这里的关键,需要在示例中设置为FALSE。这是通过在脚本开始时在opts_chunk$set()中添加一个额外的参数来完成的,例如:

代码语言:javascript
复制
knitr::opts_chunk$set(echo = F, 
                      collapse = T, 
                      fig.align = "center", 
                      fig.width = 6, 
                      fig.height = 8, 
                      fig.cap = T,
                      fig.pos = "!h",
                      message = F, 
                      warning = F,
                      ft.keepnext = F) # the argument added
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72789191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档