Как заставить перенос строки и жирную строку в ячейке в KableExtra

У меня есть следующая таблица, созданная в RMarkdown с использованием пакета kableExtra. Я пытаюсь выделить выделенные слова в ячейке жирным шрифтом (слово «Первый» в моем примере ниже) и принудительно разделить строку между двумя словами в ячейке («Первое» и «Сообщение»), однако это, похоже, не работает. Есть идеи, как это сделать?

library(kableExtra)
library(tidyverse)

first <- c('\\textbf{First} Message','\\textbf{First}\n Message','First Message')
second <- c('Second Message','Second Message','Second Message')
third <- c('Third Message','Third Message','Third Message')

data.frame(first,second,third) %>% 
  kable(format='latex',caption="Caption",
        col.names = c('First',"Second","Third"), booktabs = T, escape = FALSE) %>% 
  kable_styling(latex_options = c("HOLD_position"), font_size = 7) %>% 
  row_spec(0,bold=T,color = 'white', background = '#7c3042') 




person sa90210    schedule 03.02.2021    source источник


Ответы (1)


Вам нужно добавить mutate_all(linebreak) %>% в свой код.

Ознакомьтесь с документацией здесь (стр. 26): https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf

Изменение вашего кода:

library(kableExtra)
library(tidyverse)

first <- c('\\textbf{First} Message','\\textbf{First}\n Message','First Message')
second <- c('Second Message','Second Message','Second Message')
third <- c('Third Message','Third Message','Third Message')

data.frame(first,second,third) %>%
  mutate_all(linebreak) %>%
  kable(format='latex',caption="Caption",
        col.names = c('First',"Second","Third"), booktabs = T, escape = FALSE) %>% 
  kable_styling(latex_options = c("HOLD_position"), font_size = 7) %>% 
  row_spec(0,bold=T,color = 'white', background = '#7c3042') 

Результат:

введите описание изображения здесь

person bttomio    schedule 04.02.2021