Just summarizing the question of including other fonts. Pandoc offers other ways to easily reformat the text and, as explained in the Cheatsheet RMarkdown :
- italics can be achieved using
*italics* - bold can be achieved using
**bold** - strikethrough can be achieved using
~~strikethrough~~
This output will support various output methods, including PDF , html and word :
Here is an example:
--- output: pdf_document: default --- '''{r} knitr::kable(data.frame(char = c('*a*','**b**','~~c~~'), num = c(1,2,3))) '''

Apply formatting with the function
To simplify the selection of cells for reformatting, I have compiled the following format_cells functions.
format_cells <- function(df, rows ,cols, value = c("italics", "bold", "strikethrough")){ # select the correct markup map <- setNames(c("*", "*", "~~"), c("italics", "bold", "strikethrough")) markup <- map[value] for (r in rows){ for(c in cols){ # Make sure values are not factors df[[c]] <- as.character( df[[c]]) # Update formatting df[r, c] <- paste0(markup, df[r, c], markup) } } return(df) }
It allows the user to select the row and columns of cells that need to be reformatted and select the style to apply. You can select multiple cells at the same time if you need to reformat multiple values ββin a row / column. Here is an example:
library(tidyverse) df <- data.frame(char = c('a','b','c'), num = c(1,2,3)) df %>% format_cells(1, 1, "italics") %>% format_cells(2, 2, "bold") %>% format_cells(3, 1:2, "strikethrough") %>% knitr::kable()
Further reading: The kableExtra package was written to offer many additional table style controls. However, the recommendations are different for different types of output, so there are different approaches to HTML and LaTeX