Hi! I am using Rmarkdown to knit to pdf, and producing tables with kableExtra
. I am interested in getting the column headers (names) and column values to align.
To mimic my scenario, I converted all values to character and created multiline table headers.
Here is my Rmarkdown, with some pretty custom set up.
---
title: "Untitled"
output:
pdf_document:
toc: true
toc_depth: 2
number_sections: true
keep_tex: yes
geometry: margin=1in
latex_engine: pdflatex
classoption: landscape
header-includes:
\usepackage{helvet}
\renewcommand\familydefault{\sfdefault}
include-before:
- '`\newpage{}`{=latex}'
---
library(tidyverse)
library(kableExtra)
library(palmerpenguins)
penguins_names <- penguins %>%
names() %>%
str_replace_all( "_", "\n")
penguins %>%
slice(1:10) %>%
mutate_all(as.character) %>%
kbl(
format = "latex",
booktabs = TRUE,
longtable = TRUE,
linesep = "",
align = "l",
col.names = linebreak(penguins_names),
escape = FALSE
) %>%
kable_styling(
position = "left",
latex_options = c("striped", "repeat_header"),
stripe_color = "gray!15"
)
and the knitted result:
You can see that the alignment of the header differs among the columns, even though they are all character values.
Does any one have any ideas on how to make all column headers left align? Thank you!
I am using knitr 1.37, kableExtra 1.3.4, and tinytex 0.34 on Windows 10.