% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/add_header_left.R
\name{add_header_left}
\alias{add_header_left}
\title{Add a heading column to the left side of the table}
\usage{
add_header_left(kable_input, header = NULL, header_name = "", align = "c",
  width = NULL, bold = F, italic = F, full_midline)
}
\arguments{
\item{kable_input}{Output of `knitr::kable()` with `format` specified}

\item{header}{A (named) character vector with `rowspan` as values. For
example, `c("xxx" = 1, "title" = 2)` can be used to create a new header column
for a 3-row table with "xxx" spanning row 1 and "title" spanning row 2 & 3 (
two rows). For convenience, when `rowspan` equals to 1, users can drop the
` = 1` part. As a result, `c("xxx", "title" = 2)` is the same as
`c("xxx" = 1, "title" = 2)`.}

\item{header_name}{Column name that that extra column}

\item{align}{Column alignment. you can choose from "c", "l" or "r"}

\item{width}{A character string for the width of the new column. Values
could be "10cm", "3in" or "30em", etc..}

\item{bold}{A T/F value to control whether the text should be bolded.}

\item{italic}{A T/F value to control whether the text should to be emphasized.}

\item{full_midline}{This option currently only work in LaTeX. It's a
TRUE/FALSE option to control if the mid line needs to be extended to the end
of row.}
}
\description{
This function uses the same syntax as add_header_above. It will
add a heading column with grouped rows to the left side of the table. It can
act as an alternative way to `group_rows` to show grouped information. As
`add_header_above`, users can use this function to add multiple layers of
heading columns one by one.
}
