Применение стиля Word (таблицы или абзаца) к изменяемому объекту

Я пытаюсь применить стиль Word (таблица или абзац) к изменяемому объекту. Моя мотивация состоит в том, чтобы найти способ предотвратить разбиение текстового файла на строки при разрыве страницы при выводе в документ Word .docx с помощью knitr. Например, в следующем коде я попытался применить стиль абзаца «Таблица рисунков» к текстовой таблице в R markdown:

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



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

head(cars) %>%
  regulartable

```
</div>

Однако, похоже, это не работает. Кто-нибудь знает, как применить стили таблицы и / или абзаца к изменяемому объекту?


person Owen    schedule 13.04.2018    source источник
comment
Понятия не имею, что такое флештаб, но очень хорошо знаю Word. Каков результат флештаба в открытом документе Word? Прямая таблица Word (строки и столбцы)?   -  person Cindy Meister    schedule 19.04.2018
comment
Это давняя проблема: нет действительно хорошего способа применить стили Word Table. Это легко, если у вас есть только один стиль для всех таблиц, но все более гибкое, похоже, невозможно. stackoverflow.com/questions/17858598/   -  person Dieter Menne    schedule 20.04.2018
comment
вывод: word_document: reference_docx: docs / word-template.docx   -  person Dieter Menne    schedule 20.04.2018
comment
@CindyMeister Да, пакет flextable создает / вставляет фрагмент кода MS Word (Open XML) в выходной файл Markdown, который Pandoc затем напрямую вставляет в выходной документ MS Word как собственную таблицу MS Word. Однако, как указывает Дитер-Менне, не существует способа индивидуального применения стилей абзацев или таблиц к таблицам, вставленным с помощью Flextable (или с помощью любого другого стандартного метода R-Markdown, насколько мы можем судить).   -  person D. Woods    schedule 23.04.2018
comment
@ Deiter-Menne Спасибо за ссылку на другой вопрос / ответ SO. В настоящее время мы используем функцию reference_docx и не знали, что таким образом можно назначать стили таблиц. (Приятно, что в связанном сообщении SO есть некоторый код R для взлома XML созданного документа, нам, вероятно, придется пойти по этому пути.) К сожалению, я думаю, что Flextable обходит эту функцию, поскольку он вставляет код Open XML напрямую в выходной документ MS Word. Таким образом, похоже, не существует способа заставить эту сгенерированную Flextable таблицу принимать абзац или стиль таблицы MS Word.   -  person D. Woods    schedule 23.04.2018
comment
FWIW найти способ предотвратить разбиение текстового файла на строки при разрыве страницы означает установить для свойства Разрешить разбиение строк на страницы значение False. Конечно, есть эквивалент в Word Open XML - вопрос в том, является ли он частью flextable. Из ответа ниже кажется, что кто-то, возможно, только что добавил его к функциональности ... Просто предоставил вам справочную информацию ...   -  person Cindy Meister    schedule 23.04.2018


Ответы (1)


Извините, flextable работает не так. Форматы и свойства управляются изменяемыми функциями (например, padding, align и т. Д.).

Однако я изменил средство визуализации, чтобы строки не распределялись по страницам в документе Word (вам нужно будет выполнить обновление с Github devtools::install_github("davidgohel/flextable")).

person David Gohel    schedule 23.04.2018
comment
Должен быть способ применить собственный шрифт из шаблона слова. - person Alvaro Morales; 02.05.2021
comment
Какой смысл спорить по поводу ответа ›3 года на SO! Однако Flextable работает не так ... - person David Gohel; 02.05.2021