Выравнивание в flextable правильно в Rstudio Viewer, неправильно в Word - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь выровнять по левому краю некоторые столбцы в нескольких моих таблицах.В большинстве случаев это работает без проблем, но в других случаях столбцы, выбранные с помощью:

ft <-align(ft, j=1:2, align = "left", part = "body")

ft <-align(ft, j=4:6, align = "left", part = "body")

, выглядят правильно в средстве просмотра Rstudio.Я использовал цикл для создания 39 таблиц и хочу добавить их в документ Word, используя сотрудник

. Однако при печати в документ Word, используя:

doc <- read_docx() %>%
body_add_flextable(tab0)

body_add_break(doc, pos="after")

for (i in 1:38) {
  body_add_flextable(doc,get(paste0("tab", i)), align = "left")
  body_add_break(doc, pos="after")
}

print(doc,target=documentname)

, центр выравнивается по столбцам (изменяет только те, которые были выровнены).Когда я нажимаю на текст, он говорит, что они выровнены по левому краю, но затем я выравниваю по центру и выровняю по левому краю, и это решает проблему.Я только заметил проблему с символьными переменными

. Я попытался обрезать пробел с помощью trimws(), прежде чем сделать гибкую таблицу без удачи.

Я попробовал другие выравнивания, и проблема, кажется, возникает только привыравнивание по левому краю.

Я не верю, что мой код неверен, поскольку он работает для других моих таблиц.Поэтому я думаю, что попытка создать воспроизводимый код будет пустой тратой времени.

Следовательно, я предполагаю, что сам текст вызывает проблему?Кто-нибудь знает, что может быть не так с самими символьными переменными?Или есть другие идеи?

1 Ответ

0 голосов
/ 22 марта 2019

Исправлено ...

Где-то в моей гибкой манипуляции это ведущее пустое пространство было добавлено.

Так что обрезка пробелов раньше ничего не делала. Пришлось урезать прямо перед именованием моего стола (в рамках цикла). Вот цикл, который я использовал, чтобы исправить это.

for (j in 1: length(ft[["body"]][["content"]][["content"]][["data"]])){
       ft[["body"]][["content"]][["content"]][["data"]][[j]][["txt"]] <- trimws(ft[["body"]][["content"]][["content"]][["data"]][[j]][["txt"]])
}
...