【问题标题】:Applying a Word style (table or paragraph) to flextable object将 Word 样式(表格或段落)应用于 flextable 对象
【发布时间】:2018-04-13 18:35:53
【问题描述】:

我正在尝试将 Word 样式(表格或段落)应用于 flextable 对象。我的动机是找到一种方法来阻止 flextable 在通过 knitr 输出到 Word .docx 文档时在分页符处跨行拆分。例如,在以下代码中,我尝试将“图表”段落样式应用于 R markdown 中的 flextable:

---
title: " "
output:
  word_document: default
---



<div custom-style = "Table of Figures">
```{r, echo = F, message = F}
library(flextable)
library(magrittr)

head(cars) %>%
  regulartable

```
</div>

但是,这似乎不起作用。有谁知道如何将表格和/或段落样式应用于 flextable 对象?

【问题讨论】:

  • 我不知道什么是 flextable,但我非常了解 Word。打开的 Word 文档中的 flextable 的结果是什么?一个简单的 Word 表(行和列)?
  • 这是一个长期存在的问题:没有真正好的方法来应用 Word Table 样式。但是,如果所有表格都只有一种样式,这很容易,但是似乎不可能实现更灵活的一切。 stackoverflow.com/questions/17858598/…
  • 输出:word_document:reference_docx:docs/word-template.docx
  • @CindyMeister 是的,flextable 包在输出 Markdown 文件中创建/插入一块 MS Word(Open XML)代码,然后 Pandoc 将其作为原生 MS Word 表直接插入到输出 MS Word 文档中.然而,正如 Dieter-Menne 指出的那样,似乎没有办法将段落或表格样式单独应用于 Flextable 插入的表格(或据我们所知,使用任何其他标准 R-Markdown 方法)。
  • FWIW “找到一种方法来阻止 flextable 在分页符处跨行拆分”意味着将“允许行跨页拆分”属性设置为 False。在 Word 的 Open XML 中肯定有一个等价物——问题是这是否是“flextable”的一部分。从下面的“答案”看来,有人可能刚刚将其添加到功能中......只是给你背景信息......

标签: r ms-word flextable


【解决方案1】:

抱歉,flextable 的工作方式不是这样。格式和属性由 flextable 函数管理(即paddingalign 等)。

但是,我修改了渲染器,以便不会在 Word 文档中跨页面拆分行(您需要从 Github devtools::install_github("davidgohel/flextable") 更新)。

【讨论】:

  • 必须有一种方法可以从 word 模板中应用自定义字体。
  • 对答案争论有什么意义> 3 岁了!然而,这不是 flextable 的工作方式......
猜你喜欢
  • 2017-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
相关资源
最近更新 更多