Officedown Word 页脚未按预期在横向页面中显示

问题描述 投票:0回答:1

我有一个模板文档(doc_temp6_git.docx),其中首页|标题页有一个特殊的页脚,.docx 内部的选项确实为页脚 1 选择了“不同的首页”选项,并且是纵向的。第二页是目录,位于同一部分(第 1 部分),但有常规页脚(xx 的右侧第 2 页)。在第二页上有一个分节符用于下一页。第三页(第 2 部分)是横向的,页面编号延续上一部分。这些部分未链接,并且未在第 2 部分的页脚上选择“不同的首页”选项。在第三页上的表格之后,我有另一个分节符,并且文档返回到纵向,编号从上一部分继续;第 2 部分的页脚上未选择“不同首页”选项,并且未链接到第 2 部分。

当我使用此模板文档运行 .RMD 脚本时,在横向页面之后才出现页脚。横向页面之后的页面与我的模板文档具有相同的“特殊页脚”。

注意:没有部分的同一文档在没有部分的 Rmarkdown 文件上完美地打印相应的页脚,但是一旦我横向排列页面,我们就会回到同样的问题。

如何修复我的 .RMD 或 Word 模板以便所有页脚都存在?如果我能弄清楚如何做,我愿意附上我的模板文档。

---
title: Check 
documentclass: article
fontsize: 11pt
output:
  officedown::rdocx_document: 
    toc: true
    reference_docx: doc_temp6_git.docx
---

```{r setup, include = F}
knitr::opts_chunk$set(echo = F, ft.keepnext = F, dpi = 300)
library(officedown)
library(officer)
library(tidyverse)
library(flextable)

open_section <- officer::prop_section(type = "continuous")
close_section <- officer::prop_section(
    page_size = officer::page_size(orient = "landscape"), 
    type = "continuous")
open_first_section <- officer::prop_section(type = "nextPage")
```

\newpage


<br>
::: {custom-style="Title"}
Title Page
:::


# pre-landscape
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu pulvinar arcu,
quis aliquam dui. In at cursus ante. Vestibulum non sagittis lacus. Duis vitae
iaculis dui. Vivamus tempor, nibh ut pretium tempus, enim lorem dignissim quam,
at euismod massa magna at magna. Sed facilisis dapibus diam nec volutpat. 

<!---BLOCK_LANDSCAPE_START--->

``` {r landscape_page, echo = F, tab.cap= "random table"}
df1 <- data.frame(id = c(1,2,3),
                  sex = c("M","F","M"),
                  day0s = c(21,25,15),
                  day1s = c(20,30,18),
                  day2s = c(18,18,17),
                  day0t = c(2,5,7),
                  day1t = c(3,6,5),
                  day2t = c(3,8,7),
                  id1 = c(1,2,3),
                  sex1 = c("M","F","M"),
                  day0s1 = c(21,25,15))
df1 %>%
  flextable()

```

<!---BLOCK_LANDSCAPE_STOP--->

# end of landscape
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu pulvinar arcu,
quis aliquam dui. In at cursus ante. Vestibulum non sagittis lacus. Duis vitae
iaculis dui. Vivamus tempor, nibh ut pretium tempus, enim lorem dignissim quam,
at euismod massa magna at magna. Sed facilisis dapibus diam nec volutpat. 

我尝试只包含横向页面周围的部分,它会产生相同的输出文档。我尝试链接模板文档中的页脚。我还尝试删除模板中的所有“不同的首页”复选框,这给出了没有页脚的输出文档,直到横向页面之后以及横向页面之后的页面具有正确的页脚和正确的页码。

r-markdown bookdown officer officedown
1个回答
-2
投票

看看这个:

https://github.com/davidgohel/officedown/discussions/103

示例:

Word text in portrait...

```{r, echo=FALSE}    
img.file <- file.path("Logo.jpg" )

ps <- prop_section(
  page_size = page_size(orient = "portrait"),
  type = "continuous",
  header_default = block_list(fpar(external_img(src = img.file,height = 0.62, width = 1.86))),
  footer_default = block_list(fpar("Nombre",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Unidad",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Dirección / Web",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Código documento",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Fecha",
                                   fp_p = fp_par(text.align = "center"))))

block_section(ps)
```

Word text in landscape...


```{r, echo=FALSE}    
img.file <- file.path("Logo.jpg" )

ps <- prop_section(
  page_size = page_size(orient = "landscape"),
  type = "continuous",
  header_default = block_list(fpar(external_img(src = img.file,height = 0.62, width = 1.86))),
  footer_default = block_list(fpar("Nombre",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Unidad",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Dirección / Web",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Código documento",
                                   fp_p = fp_par(text.align = "center")),
                              fpar("Fecha",
                                   fp_p = fp_par(text.align = "center"))))

block_section(ps)
```
© www.soinside.com 2019 - 2024. All rights reserved.