diff --git a/DESCRIPTION b/DESCRIPTION
index 3e41bd2..ba72bbf 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -56,5 +56,5 @@
     sparkline
 VignetteBuilder: knitr
 Encoding: UTF-8
-RoxygenNote: 6.1.1
+RoxygenNote: 7.1.1
 Roxygen: list(markdown = TRUE)
diff --git a/NAMESPACE b/NAMESPACE
index 1cf9581..7c27526 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -11,6 +11,8 @@
 export(cell_spec)
 export(collapse_rows)
 export(column_spec)
+export(dummy_html_tbl)
+export(dummy_latex_tbl)
 export(footnote)
 export(footnote_marker_alphabet)
 export(footnote_marker_number)
@@ -27,6 +29,7 @@
 export(linebreak)
 export(magic_mirror)
 export(pack_rows)
+export(remove_column)
 export(rmd_format)
 export(row_spec)
 export(save_kable)
@@ -92,6 +95,7 @@
 importFrom(xml2,xml_child)
 importFrom(xml2,xml_children)
 importFrom(xml2,xml_has_attr)
+importFrom(xml2,xml_length)
 importFrom(xml2,xml_name)
 importFrom(xml2,xml_remove)
 importFrom(xml2,xml_text)
diff --git a/R/add_indent.R b/R/add_indent.R
index 25448b5..a50547d 100644
--- a/R/add_indent.R
+++ b/R/add_indent.R
@@ -3,13 +3,16 @@
 #' @param kable_input Output of `knitr::kable()` with `format` specified
 #' @param positions A vector of numeric row numbers for the rows that need to
 #' be indented.
+#' @param level_of_indent a numeric value for the indent level. Default is 1.
 #'
 #' @examples x <- knitr::kable(head(mtcars), "html")
 #' # Add indentations to the 2nd & 4th row
-#' add_indent(x, c(2, 4))
+#' add_indent(x, c(2, 4), level_of_indent = 1)
 #'
 #' @export
-add_indent <- function(kable_input, positions) {
+add_indent <- function(kable_input, positions,
+                       level_of_indent = 1, all_cols = FALSE) {
+
   if (!is.numeric(positions)) {
     stop("Positions can only take numeric row numbers (excluding header rows).")
   }
@@ -21,17 +24,19 @@
     return(kable_input)
   }
   if (kable_format == "html") {
-    return(add_indent_html(kable_input, positions))
+    return(add_indent_html(kable_input, positions, level_of_indent, all_cols))
   }
   if (kable_format == "latex") {
-    return(add_indent_latex(kable_input, positions))
+    return(add_indent_latex(kable_input, positions, level_of_indent, all_cols))
   }
 }
 
 # Add indentation for LaTeX
-add_indent_latex <- function(kable_input, positions) {
+add_indent_latex <- function(kable_input, positions,
+                             level_of_indent = 1, all_cols = FALSE) {
   table_info <- magic_mirror(kable_input)
   out <- solve_enc(kable_input)
+  level_of_indent<-as.numeric(level_of_indent)
 
   if (table_info$duplicated_rows) {
     dup_fx_out <- fix_duplicated_rows_latex(out, table_info)
@@ -48,25 +53,39 @@
 
   for (i in positions + table_info$position_offset) {
     rowtext <- table_info$contents[i]
+    if (all_cols) {
+      new_rowtext <- latex_row_cells(rowtext)
+      new_rowtext <- lapply(new_rowtext, function(x) {
+        paste0("\\\\hspace\\{", level_of_indent ,"em\\}", x)
+      })
+      new_rowtext <- paste(unlist(new_rowtext), collapse = " & ")
+    } else {
+      new_rowtext <- latex_indent_unit(rowtext, level_of_indent)
+    }
     out <- sub(paste0(rowtext, "\\\\\\\\"),
-               paste0(latex_indent_unit(rowtext), "\\\\\\\\"),
+               paste0(new_rowtext, "\\\\\\\\"),
                out, perl = TRUE)
-    table_info$contents[i] <- latex_indent_unit(rowtext)
+    table_info$contents[i] <- new_rowtext
   }
   out <- structure(out, format = "latex", class = "knitr_kable")
   attr(out, "kable_meta") <- table_info
   return(out)
+
+
 }
 
-latex_indent_unit <- function(rowtext) {
-  paste0("\\\\hspace\\{1em\\}", rowtext)
+latex_indent_unit <- function(rowtext, level_of_indent) {
+  paste0("\\\\hspace\\{", level_of_indent ,"em\\}", rowtext)
 }
 
+
+
 # Add indentation for HTML
-add_indent_html <- function(kable_input, positions) {
+add_indent_html <- function(kable_input, positions,
+                            level_of_indent = 1, all_cols = FALSE) {
   kable_attrs <- attributes(kable_input)
 
-  kable_xml <- read_kable_as_xml(kable_input)
+  kable_xml <- kable_as_xml(kable_input)
   kable_tbody <- xml_tpart(kable_xml, "tbody")
 
   group_header_rows <- attr(kable_input, "group_header_rows")
@@ -76,20 +95,29 @@
   }
 
   for (i in positions) {
-    node_to_edit <- xml_child(xml_children(kable_tbody)[[i]], 1)
-    if (!xml_has_attr(node_to_edit, "indentlevel")) {
-      xml_attr(node_to_edit, "style") <- paste(
-        xml_attr(node_to_edit, "style"), "padding-left: 2em;"
-      )
-      xml_attr(node_to_edit, "indentlevel") <- 1
+    row_to_edit = xml_children(kable_tbody)[[i]]
+    if (all_cols) {
+      target_cols = 1:xml2::xml_length(row_to_edit)
     } else {
-      indentLevel <- as.numeric(xml_attr(node_to_edit, "indentlevel"))
-      xml_attr(node_to_edit, "style") <- sub(
-        paste0("padding-left: ", indentLevel * 2, "em;"),
-        paste0("padding-left: ", (indentLevel + 1) * 2, "em;"),
-        xml_attr(node_to_edit, "style")
-      )
-      xml_attr(node_to_edit, "indentlevel") <- indentLevel + 1
+      target_cols = 1
+    }
+
+    for (j in target_cols) {
+      node_to_edit <- xml_child(row_to_edit, j)
+      if (!xml_has_attr(node_to_edit, "indentlevel")) {
+        xml_attr(node_to_edit, "style") <- paste(
+          xml_attr(node_to_edit, "style"), "padding-left: ",paste0(level_of_indent*2,"em;")
+        )
+        xml_attr(node_to_edit, "indentlevel") <- 1
+      } else {
+        indentLevel <- as.numeric(xml_attr(node_to_edit, "indentlevel"))
+        xml_attr(node_to_edit, "style") <- sub(
+          paste0("padding-left: ", indentLevel * 2, "em;"),
+          paste0("padding-left: ", (indentLevel + 1) * 2, "em;"),
+          xml_attr(node_to_edit, "style")
+        )
+        xml_attr(node_to_edit, "indentlevel") <- indentLevel + 1
+      }
     }
   }
   out <- as_kable_xml(kable_xml)
diff --git a/R/collapse_rows.R b/R/collapse_rows.R
index 4ae0145..96769be 100644
--- a/R/collapse_rows.R
+++ b/R/collapse_rows.R
@@ -7,7 +7,7 @@
 #' specify column styles, you should use `column_spec` before `collapse_rows`.
 #'
 #' @param kable_input Output of `knitr::kable()` with `format` specified
-#' @param columns A numeric value or vector indicating in which column(s) rows 
+#' @param columns A numeric value or vector indicating in which column(s) rows
 #' need to be collapsed.
 #' @param valign Select from "top", "middle"(default), "bottom". The reason why
 #' "top" is not default is that the multirow package on CRAN win-builder is
@@ -35,7 +35,8 @@
                           row_group_label_position = c('identity', 'stack'),
                           custom_latex_hline = NULL,
                           row_group_label_fonts = NULL,
-                          headers_to_remove = NULL) {
+                          headers_to_remove = NULL,
+                          target = NULL) {
   kable_format <- attr(kable_input, "format")
   if (!kable_format %in% c("html", "latex")) {
     warning("Please specify format in kable. kableExtra can customize either ",
@@ -44,8 +45,13 @@
     return(kable_input)
   }
   valign <- match.arg(valign, c("middle", "top", "bottom"))
+  if (!is.null(target)) {
+    if (length(target) > 1 && is.integer(target)) {
+      stop("target can only be a length 1 integer")
+    }
+  }
   if (kable_format == "html") {
-    return(collapse_rows_html(kable_input, columns, valign))
+    return(collapse_rows_html(kable_input, columns, valign, target))
   }
   if (kable_format == "latex") {
     latex_hline <- match.arg(latex_hline, c("full", "major", "none", "custom"))
@@ -53,26 +59,30 @@
                                           c('identity', 'stack'))
     return(collapse_rows_latex(kable_input, columns, latex_hline, valign,
       row_group_label_position, row_group_label_fonts, custom_latex_hline,
-      headers_to_remove))
+      headers_to_remove, target))
   }
 }
 
-collapse_rows_html <- function(kable_input, columns, valign) {
+collapse_rows_html <- function(kable_input, columns, valign, target) {
   kable_attrs <- attributes(kable_input)
-  kable_xml <- read_kable_as_xml(kable_input)
+  kable_xml <- kable_as_xml(kable_input)
   kable_tbody <- xml_tpart(kable_xml, "tbody")
 
   kable_dt <- rvest::html_table(xml2::read_html(as.character(kable_input)))[[1]]
   if (is.null(columns)) {
     columns <- seq(1, ncol(kable_dt))
   }
+  if (!is.null(target)) {
+    if (!target %in% columns) {
+      stop("target has to be within the range of columns")
+    }
+  }
   if (!is.null(kable_attrs$header_above)) {
     kable_dt_col_names <- unlist(kable_dt[kable_attrs$header_above, ])
     kable_dt <- kable_dt[-(1:kable_attrs$header_above),]
     names(kable_dt) <- kable_dt_col_names
   }
-  kable_dt$row_id <- seq(nrow(kable_dt))
-  collapse_matrix <- collapse_row_matrix(kable_dt, columns)
+  collapse_matrix <- collapse_row_matrix(kable_dt, columns, target = target)
 
   for (i in 1:nrow(collapse_matrix)) {
     matrix_row <- collapse_matrix[i, ]
@@ -96,29 +106,47 @@
   }
 
   out <- as_kable_xml(kable_xml)
+  kable_attrs$collapse_matrix <- collapse_matrix
   attributes(out) <- kable_attrs
   if (!"kableExtra" %in% class(out)) class(out) <- c("kableExtra", class(out))
   return(out)
 }
 
-collapse_row_matrix <- function(kable_dt, columns, html = T)  {
+split_factor <- function(x) {
+  group_idx <- seq(1, length(x))
+  return(factor(unlist(lapply(group_idx, function(i) {rep(i, x[i])}))))
+}
+
+collapse_row_matrix <- function(kable_dt, columns, html = T, target = NULL)  {
   if (html) {
     column_block <- function(x) c(x, rep(0, x - 1))
   } else {
     column_block <- function(x) c(rep(0, x - 1), x)
   }
   mapping_matrix <- list()
-  for (i in columns) {
-    mapping_matrix[[paste0("x", i)]] <- unlist(lapply(
-      rle(kable_dt[, i])$lengths, column_block))
+  if (is.null(target)) {
+    for (i in columns) {
+      mapping_matrix[[paste0("x", i)]] <- unlist(lapply(
+        rle(kable_dt[, i])$lengths, column_block))
+    }
+  } else {
+    target_group = split_factor(rle(kable_dt[, target])$lengths)
+    for (i in columns) {
+      column_split = split(kable_dt[, i], target_group)
+      mapping_matrix[[paste0("x", i)]] <- unlist(lapply(
+        column_split, function(sp) {
+          lapply(rle(sp)$length, column_block)
+        }))
+    }
   }
+
   mapping_matrix <- data.frame(mapping_matrix)
   return(mapping_matrix)
 }
 
 collapse_rows_latex <- function(kable_input, columns, latex_hline, valign,
                                 row_group_label_position, row_group_label_fonts,
-                                custom_latex_hline, headers_to_remove) {
+                                custom_latex_hline, headers_to_remove, target) {
   table_info <- magic_mirror(kable_input)
   out <- solve_enc(kable_input)
 
@@ -136,8 +164,10 @@
   contents <- table_info$contents
   kable_dt <- kable_dt_latex(contents)
 
-  collapse_matrix_rev <- collapse_row_matrix(kable_dt, columns, html = TRUE)
-  collapse_matrix <- collapse_row_matrix(kable_dt, columns, html = FALSE)
+  collapse_matrix_rev <- collapse_row_matrix(kable_dt, columns, html = TRUE,
+                                             target)
+  collapse_matrix <- collapse_row_matrix(kable_dt, columns, html = FALSE,
+                                         target)
 
   new_kable_dt <- kable_dt
   for (j in seq_along(columns)) {
@@ -160,7 +190,7 @@
   }
 
   midrule_matrix <- collapse_row_matrix(kable_dt, seq(1, table_info$ncol),
-                                        html = F)
+                                        html = FALSE, target)
   midrule_matrix[setdiff(seq(1, table_info$ncol), columns)] <- 1
 
   ex_bottom <- length(contents) - 1
@@ -208,7 +238,7 @@
       )
       new_contents[i] <- paste0(new_contents[i], "\\\\\\\\\n", row_midrule)
     }
-    out <- sub(contents[i + 1], new_contents[i], out)
+    out <- sub(contents[i + 1], new_contents[i], out, perl=TRUE)
   }
   out <- gsub("\\\\addlinespace\n", "", out)
 
diff --git a/R/dummy_table.R b/R/dummy_table.R
new file mode 100644
index 0000000..4c0831d
--- /dev/null
+++ b/R/dummy_table.R
@@ -0,0 +1,15 @@
+#' Dummy html table for testing
+#' @description Create dummy table for testing in kE
+#' @export
+dummy_html_tbl <- function() {
+  return(kable_styling(kable(mtcars[1:5, 1:5], "html",
+                             align = c("l", "l", rep("r", 4)))))
+}
+
+#' Dummy latex table for testing
+#' @description Create dummy table for testing in kE
+#' @export
+dummy_latex_tbl <- function(booktabs = T) {
+  return(kable_styling(kable(mtcars[1:5, 1:5], "latex", booktabs = booktabs,
+                             align = c("l", "l", rep("r", 4)))))
+}
diff --git a/R/footnote.R b/R/footnote.R
index 01f0c57..59478c3 100644
--- a/R/footnote.R
+++ b/R/footnote.R
@@ -339,11 +339,11 @@
   }
   if (!ft_chunk) {
     footnote_text <- paste0(
-      '\\\\multicolumn{', ncol, '}{l}{', footnote_text, '}\\\\\\\\'
+      '\\\\multicolumn{', ncol, '}{l}{\\\\rule{0pt}{1em}', footnote_text, '}\\\\\\\\'
     )
   } else {
     footnote_text <- paste0(
-      '\\\\multicolumn{', ncol, '}{l}{',
+      '\\\\multicolumn{', ncol, '}{l}{\\\\rule{0pt}{1em}',
       paste0(footnote_text, collapse = " "),
       '}\\\\\\\\'
     )
diff --git a/R/group_rows.R b/R/group_rows.R
index 33a517c..09fad01 100644
--- a/R/group_rows.R
+++ b/R/group_rows.R
@@ -212,9 +212,17 @@
                       regex_escape(extra_latex_after, double_backslash = TRUE))
   }
   new_rowtext <- paste0(pre_rowtext, rowtext)
-  out <- sub(paste0(rowtext, "\\\\\\\\\n"),
-  	         paste0(new_rowtext, "\\\\\\\\\n"),
-  	         out)
+  if (start_row + 1 == table_info$nrow &
+      !is.null(table_info$repeat_header_latex)) {
+    out <- sub(paste0(rowtext, "\\\\\\\\\\*\n"),
+               paste0(new_rowtext, "\\\\\\\\\\*\n"),
+               out)
+  } else {
+    out <- sub(paste0(rowtext, "\\\\\\\\\n"),
+               paste0(new_rowtext, "\\\\\\\\\n"),
+               out)
+  }
+
   out <- gsub("\\\\addlinespace\n", "", out)
   out <- structure(out, format = "latex", class = "knitr_kable")
   table_info$group_rows_used <- TRUE
diff --git a/R/kableExtra-package.R b/R/kableExtra-package.R
index ea2a1da..c01f058 100644
--- a/R/kableExtra-package.R
+++ b/R/kableExtra-package.R
@@ -59,7 +59,7 @@
 #' str_extract str_replace_all str_trim str_extract_all str_sub str_replace
 #' @importFrom xml2 read_xml xml_attr xml_has_attr xml_attr<- read_html
 #' xml_child xml_children xml_name xml_add_sibling xml_add_child xml_text
-#' xml_remove write_xml xml_text<-
+#' xml_remove write_xml xml_text<- xml_length
 #' @importFrom rvest html_table
 #' @importFrom knitr knit_meta_add include_graphics knit_print asis_output kable
 #' @importFrom rmarkdown latex_dependency html_dependency_bootstrap
diff --git a/R/kable_styling.R b/R/kable_styling.R
index 67e0234..7e4c5e7 100644
--- a/R/kable_styling.R
+++ b/R/kable_styling.R
@@ -317,6 +317,7 @@
   if ("repeat_header" %in% latex_options & table_info$tabular == "longtable") {
     out <- styling_latex_repeat_header(out, table_info, repeat_header_text,
                                        repeat_header_method, repeat_header_continued)
+    table_info$repeat_header_latex <- TRUE
   }
 
   if (full_width) {
diff --git a/R/print.R b/R/print.R
index 03e66ab..09e7cef 100644
--- a/R/print.R
+++ b/R/print.R
@@ -6,15 +6,14 @@
     html_dependency_kePrint()
   )
   html_kable <- htmltools::browsable(
-    htmltools::HTML(as.character(x))
+    htmltools::HTML(
+      as.character(x),
+      '<script type="text/x-mathjax-config">MathJax.Hub.Config({tex2jax: {inlineMath: [["$","$"], ["\\(","\\)"]]}})</script>;<script async src="https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>'
+      )
   )
   htmlDependencies(html_kable) <- dep
   class(html_kable) <- "shiny.tag.list"
   print(html_kable)
-  # if (interactive() & rstudioapi::isAvailable()) {
-  #   htmltools::html_print(html_result, viewer = rstudioapi::viewer)
-  # }
-  # print(html_result)
 }
 
 #' HTML dependency for js script to enable bootstrap tooltip and popup message
@@ -59,3 +58,5 @@
 
 
 
+
+
diff --git a/R/remove_column.R b/R/remove_column.R
new file mode 100644
index 0000000..3bff2f1
--- /dev/null
+++ b/R/remove_column.R
@@ -0,0 +1,96 @@
+#' Remove columns
+#'
+#' @param kable_input Output of [knitr::kable()] with format specified
+#' @param columns A numeric value or vector indicating in which column(s) rows
+#' need to be removed
+#'
+#' @export
+#'
+#' @examples
+#' remove_column(kable(mtcars), 1)
+remove_column <- function (kable_input, columns) {
+    if (is.null(columns)) return(kable_input)
+    kable_format <- attr(kable_input, "format")
+    if (!kable_format %in% c("html", "latex")) {
+        warning("Please specify format in kable. kableExtra can customize",
+                " either HTML or LaTeX outputs. See ",
+                "https://haozhu233.github.io/kableExtra/ for details.")
+        return(kable_input)
+    }
+
+    columns <- sort(unique(columns))
+    if (kable_format == "html") {
+        return(remove_column_html(kable_input, columns))
+    } else if (kable_format == "latex") {
+        stop("Removing columns was not implemented for latex kables yet")
+    }
+}
+
+remove_column_html <- function (kable_input, columns) {
+    kable_attrs <- attributes(kable_input)
+    kable_xml <- kable_as_xml(kable_input)
+    kable_tbody <- xml_tpart(kable_xml, "tbody")
+    kable_thead <- xml_tpart(kable_xml, "thead")
+
+    group_header_rows <- attr(kable_input, "group_header_rows")
+    all_contents_rows <- seq(1, length(xml_children(kable_tbody)))
+
+    if (!is.null(group_header_rows)) {
+        warning("It's recommended to use remove_column after add_header_above.",
+                "Right now some column span numbers might not be correct. ")
+        all_contents_rows <- all_contents_rows[!all_contents_rows %in%
+                                                   group_header_rows]
+    }
+
+    collapse_matrix <- attr(kable_input, "collapse_matrix")
+    collapse_columns <- NULL
+    if (!is.null(collapse_matrix)) {
+        collapse_columns <- sort(as.numeric(sub("x", "",
+                                                names(collapse_matrix))))
+        collapse_columns_origin <- collapse_columns
+    }
+
+    while (length(columns) > 0) {
+        xml2::xml_remove(xml2::xml_child(
+            xml2::xml_child(kable_thead, xml2::xml_length(kable_thead)),
+            columns[1]))
+        if (length(collapse_columns) != 0 && collapse_columns[1] <= columns[1]){
+            if (columns[1] %in% collapse_columns) {
+                column_span <- collapse_matrix[[paste0('x', columns[1])]]
+                non_skip_rows <- column_span != 0
+                collapse_columns <- collapse_columns[
+                    collapse_columns != columns[1]
+                    ] - 1
+            } else {
+                non_skip_rows <- rep(TRUE, length(all_contents_rows))
+            }
+            prior_col <- which(collapse_columns_origin < columns[1])
+            for (i in all_contents_rows[non_skip_rows]) {
+                if (length(prior_col) == 0) {
+                    pos_adj <- 0
+                } else {
+                    pos_adj <- sum(collapse_matrix[i, prior_col] == 0)
+                }
+                target_cell <- xml2::xml_child(
+                    xml2::xml_child(kable_tbody, i),
+                    columns[1] - pos_adj)
+                xml2::xml_remove(target_cell)
+            }
+        } else {
+            for (i in all_contents_rows) {
+                target_cell <- xml2::xml_child(
+                    xml2::xml_child(kable_tbody, i),
+                    columns[1])
+                xml2::xml_remove(target_cell)
+            }
+        }
+        # not very efficient but for finite task it's probably okay
+        columns <- (columns - 1)[-1]
+    }
+    out <- as_kable_xml(kable_xml)
+    attributes(out) <- kable_attrs
+    if (!"kableExtra" %in% class(out))
+        class(out) <- c("kableExtra", class(out))
+
+    return(out)
+}
diff --git a/R/row_spec.R b/R/row_spec.R
index ff95c0e..cc8978e 100644
--- a/R/row_spec.R
+++ b/R/row_spec.R
@@ -198,7 +198,9 @@
                                      underline, strikeout,
                                      color, background, align, font_size, angle,
                                      hline_after, extra_latex_after)
-    temp_sub <- ifelse(i == 1 & table_info$tabular == "longtable", gsub, sub)
+    temp_sub <- ifelse(i == 1 & (table_info$tabular == "longtable" |
+                                   !is.null(table_info$repeat_header_latex)),
+                       gsub, sub)
     if (length(new_row) == 1) {
       out <- temp_sub(target_row, new_row, out, perl = T)
       table_info$contents[i] <- new_row
diff --git a/R/save_kable.R b/R/save_kable.R
index 3c3a5fa..8238552 100644
--- a/R/save_kable.R
+++ b/R/save_kable.R
@@ -144,7 +144,7 @@
 
   owd <- setwd(dirname(temp_tex_file))
 
-  system(paste0("xelatex -interaction=batchmode ", temp_tex_file))
+  system(paste0('xelatex -interaction=batchmode "', temp_tex_file,'"'))
   if (!keep_tex) {
     temp_file_delete <- paste0(file_no_ext, c(".tex", ".aux", ".log"))
     unlink(temp_file_delete)
diff --git a/R/util.R b/R/util.R
index e01b4dc..df04344 100644
--- a/R/util.R
+++ b/R/util.R
@@ -117,20 +117,6 @@
 
 # Fix duplicated rows in LaTeX tables
 fix_duplicated_rows_latex <- function(kable_input, table_info) {
-  # dup_items <- table(table_info$contents)
-  # dup_items <- dup_items[dup_items != 1]
-  #
-  # for (di in seq(length(dup_items))) {
-  #   dup_row <- names(dup_items[di])
-  #   di_index <- which(table_info$contents == dup_row)
-  #   for (i in seq(dup_items[di])) {
-  #     new_row <- str_replace(
-  #       dup_row, "(?<=\\s)([\\S]+[\\s]*)$",
-  #       paste0("\\\\\\\\vphantom\\\\{", i, "\\\\} \\1"))
-  #     kable_input <- sub(dup_row, new_row, kable_input)
-  #     table_info$contents[di_index[i]] <- new_row
-  #   }
-  # }
   # Since sub/string_replace start from beginning, we count unique value from
   # behind.
   rev_contents <- rev(table_info$contents)
diff --git a/R/zzz.R b/R/zzz.R
index c12793b..36133e7 100644
--- a/R/zzz.R
+++ b/R/zzz.R
@@ -15,7 +15,7 @@
       usepackage_latex("threeparttablex")
       usepackage_latex("ulem", "normalem")
       usepackage_latex("makecell")
-      usepackage_latex("xcolor")
+      # usepackage_latex("xcolor")
     }
   }
   auto_format <- getOption("kableExtra.auto_format", default = TRUE)
diff --git a/README.md b/README.md
index 2ac66c2..b46a973 100644
--- a/README.md
+++ b/README.md
@@ -51,14 +51,14 @@
   kable_styling(bootstrap_options = "striped",
                 full_width = F) %>%
   add_header_above(c(" ", "Group 1" = 2, "Group 2[note]" = 2)) %>%
-  add_footnote(c("table footnote"))
+  footnote(c("table footnote"))
 
 # LaTeX Table
 kable(dt, format = "latex", booktabs = T, caption = "Demo Table") %>%
   kable_styling(latex_options = c("striped", "hold_position"),
                 full_width = F) %>%
   add_header_above(c(" ", "Group 1" = 2, "Group 2[note]" = 2)) %>%
-  add_footnote(c("table footnote"))
+  footnote(c("table footnote"))
 
 ```
 ### Results
diff --git a/docs/awesome_table_in_pdf.Rmd b/docs/awesome_table_in_pdf.Rmd
index 549667a..7806224 100644
--- a/docs/awesome_table_in_pdf.Rmd
+++ b/docs/awesome_table_in_pdf.Rmd
@@ -78,7 +78,7 @@
 If you are using a recent version of rmarkdown, you are recommended to load this package entirely via `library(kableExtra)` or `require(kableExtra)` because this package will load all necessary LaTeX packages, such as `booktabs` or `multirow`, for you automatically. Note that, if you are calling functions from `kableExtra` via `kableExtra::kable_styling()` or if you put `library(kableExtra)` in a separate R file that is **sourced** by the rmarkdown document, these packages won't be loaded. Furthermore, you can suppress this auto-loading behavior by setting a global option `kableExtra.latex.load_packages` to be `FALSE` before you load `kableExtra`.
 
 ```{r, eval = FALSE}
-# Not evaluated. Ilustration purpose
+# Not evaluated. Illustration purpose
 options(kableExtra.latex.load_packages = FALSE)
 library(kableExtra)
 ```
@@ -189,7 +189,7 @@
   kable_styling(position = "center")
 ```
 
-Becides these three common options, you can also wrap text around the table using the `float-left` or `float-right` options. Note that, like `striped`, this feature will load another non-default LaTeX package `wrapfig` which requires rmarkdown 1.4.0 +. If you rmarkdown version < 1.4.0, you need to load the package through a customed LaTeX template file. 
+Besides these three common options, you can also wrap text around the table using the `float-left` or `float-right` options. Note that, like `striped`, this feature will load another non-default LaTeX package `wrapfig` which requires rmarkdown 1.4.0 +. If you rmarkdown version < 1.4.0, you need to load the package through a customed LaTeX template file. 
 ```{r}
 kable(dt, "latex", booktabs = T) %>%
   kable_styling(position = "float_right")
@@ -363,12 +363,19 @@
 
 ## Row indentation
 Unlike `pack_rows()`, which will insert a labeling row, sometimes we want to list a few sub groups under a total one. In that case, `add_indent()` is probably more appropriate.  
-For advanced users, you can even define your own css for the group labeling.
+
 ```{r}
 kable(dt, "latex", booktabs = T) %>%
   add_indent(c(1, 3, 5))
 ```
 
+You can also specify the width of the indentation by the `level_of_indent` option. At the same time, if you want to indent every column, you can choose to turn on `all_cols`. Note that if a column is right aligned, you probably won't be able to see the effect. 
+
+```{r}
+kable(dt, "latex", booktabs = T, align = "l") %>%
+  add_indent(c(1, 3, 5), level_of_indent = 2, all_cols = T)
+```
+
 ## Group rows via multi-row cell
 Function `pack_rows` is great for showing simple structural information on rows but sometimes people may need to show structural information with multiple layers. When it happens, you may consider using `collapse_rows` instead, which will put repeating cells in columns into multi-row cells.  
 
diff --git a/docs/awesome_table_in_pdf.log b/docs/awesome_table_in_pdf.log
deleted file mode 100644
index 8aec9ad..0000000
--- a/docs/awesome_table_in_pdf.log
+++ /dev/null
@@ -1,1310 +0,0 @@
-This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2019.4.24)  30 APR 2019 09:58
-entering extended mode
- restricted \write18 enabled.
- %&-line parsing enabled.
-**awesome_table_in_pdf.tex
-(./awesome_table_in_pdf.tex
-LaTeX2e <2018-12-01>
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/article.cls
-Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/size10.clo
-File: size10.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
-)
-\c@part=\count80
-\c@section=\count81
-\c@subsection=\count82
-\c@subsubsection=\count83
-\c@paragraph=\count84
-\c@subparagraph=\count85
-\c@figure=\count86
-\c@table=\count87
-\abovecaptionskip=\skip41
-\belowcaptionskip=\skip42
-\bibindent=\dimen102
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/lmodern.sty
-Package: lmodern 2009/10/30 v1.6 Latin Modern Fonts
-LaTeX Font Info:    Overwriting symbol font `operators' in version `normal'
-(Font)                  OT1/cmr/m/n --> OT1/lmr/m/n on input line 22.
-LaTeX Font Info:    Overwriting symbol font `letters' in version `normal'
-(Font)                  OML/cmm/m/it --> OML/lmm/m/it on input line 23.
-LaTeX Font Info:    Overwriting symbol font `symbols' in version `normal'
-(Font)                  OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24.
-LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `normal'
-(Font)                  OMX/cmex/m/n --> OMX/lmex/m/n on input line 25.
-LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
-(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26.
-LaTeX Font Info:    Overwriting symbol font `letters' in version `bold'
-(Font)                  OML/cmm/b/it --> OML/lmm/b/it on input line 27.
-LaTeX Font Info:    Overwriting symbol font `symbols' in version `bold'
-(Font)                  OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28.
-LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `bold'
-(Font)                  OMX/cmex/m/n --> OMX/lmex/m/n on input line 29.
-LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `normal'
-(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31.
-LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `normal'
-(Font)                  OT1/cmss/m/n --> OT1/lmss/m/n on input line 32.
-LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `normal'
-(Font)                  OT1/cmr/m/it --> OT1/lmr/m/it on input line 33.
-LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `normal'
-(Font)                  OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34.
-LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `bold'
-(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35.
-LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `bold'
-(Font)                  OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36.
-LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `bold'
-(Font)                  OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37.
-LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `bold'
-(Font)                  OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38.
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/amssymb.sty
-Package: amssymb 2013/01/14 v3.01 AMS font symbols
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/amsfonts.sty
-Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
-\@emptytoks=\toks14
-\symAMSa=\mathgroup4
-\symAMSb=\mathgroup5
-LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
-(Font)                  U/euf/m/n --> U/euf/b/n on input line 106.
-)) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsmath.sty
-Package: amsmath 2018/12/01 v2.17b AMS math features
-\@mathmargin=\skip43
-For additional information on amsmath, use the `?' option.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amstext.sty
-Package: amstext 2000/06/29 v2.01 AMS text
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsgen.sty
-File: amsgen.sty 1999/11/30 v2.0 generic functions
-\@emptytoks=\toks15
-\ex@=\dimen103
-)) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsbsy.sty
-Package: amsbsy 1999/11/29 v1.2d Bold Symbols
-\pmbraise@=\dimen104
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsmath/amsopn.sty
-Package: amsopn 2016/03/08 v2.02 operator names
-)
-\inf@bad=\count88
-LaTeX Info: Redefining \frac on input line 223.
-\uproot@=\count89
-\leftroot@=\count90
-LaTeX Info: Redefining \overline on input line 385.
-\classnum@=\count91
-\DOTSCASE@=\count92
-LaTeX Info: Redefining \ldots on input line 482.
-LaTeX Info: Redefining \dots on input line 485.
-LaTeX Info: Redefining \cdots on input line 606.
-\Mathstrutbox@=\box27
-\strutbox@=\box28
-\big@size=\dimen105
-LaTeX Font Info:    Redeclaring font encoding OML on input line 729.
-LaTeX Font Info:    Redeclaring font encoding OMS on input line 730.
-\macc@depth=\count93
-\c@MaxMatrixCols=\count94
-\dotsspace@=\muskip10
-\c@parentequation=\count95
-\dspbrk@lvl=\count96
-\tag@help=\toks16
-\row@=\count97
-\column@=\count98
-\maxfields@=\count99
-\andhelp@=\toks17
-\eqnshift@=\dimen106
-\alignsep@=\dimen107
-\tagshift@=\dimen108
-\tagwidth@=\dimen109
-\totwidth@=\dimen110
-\lineht@=\dimen111
-\@envbody=\toks18
-\multlinegap=\skip44
-\multlinetaggap=\skip45
-\mathdisplay@stack=\toks19
-LaTeX Info: Redefining \[ on input line 2844.
-LaTeX Info: Redefining \] on input line 2845.
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/ifxetex/ifxetex.sty
-Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/oberdiek/ifluatex.sty
-Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
-Package ifluatex Info: LuaTeX not detected.
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/fixltx2e.sty
-Package: fixltx2e 2016/12/29 v2.1a fixes to LaTeX (obsolete)
-Applying: [2015/01/01] Old fixltx2e package on input line 46.
-
-Package fixltx2e Warning: fixltx2e is not required with releases after 2015
-(fixltx2e)                All fixes are now in the LaTeX kernel.
-(fixltx2e)                See the latexrelease package for details.
-
-Already applied: [0000/00/00] Old fixltx2e package on input line 53.
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/fontenc.sty
-Package: fontenc 2018/08/11 v2.0j Standard LaTeX package
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/t1enc.def
-File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file
-LaTeX Font Info:    Redeclaring font encoding T1 on input line 48.
-)) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/inputenc.sty
-Package: inputenc 2018/08/11 v1.3c Input encoding file
-\inpenc@prehook=\toks20
-\inpenc@posthook=\toks21
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/upquote/upquote.sty
-Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba
-tim
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/textcomp.sty
-Package: textcomp 2018/08/11 v2.0j Standard LaTeX package
-Package textcomp Info: Sub-encoding information:
-(textcomp)               5 = only ISO-Adobe without \textcurrency
-(textcomp)               4 = 5 + \texteuro
-(textcomp)               3 = 4 + \textohm
-(textcomp)               2 = 3 + \textestimated + \textcurrency
-(textcomp)               1 = TS1 - \textcircled - \t
-(textcomp)               0 = TS1 (full)
-(textcomp)             Font families with sub-encoding setting implement
-(textcomp)             only a restricted character set as indicated.
-(textcomp)             Family '?' is the default used for unknown fonts.
-(textcomp)             See the documentation for details.
-Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/ts1enc.def
-File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
-Now handling font encoding TS1 ...
-... processing UTF-8 mapping file for font encoding TS1
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/ts1enc.dfu
-File: ts1enc.dfu 2018/10/05 v1.2f UTF-8 support for inputenc
-   defining Unicode char U+00A2 (decimal 162)
-   defining Unicode char U+00A3 (decimal 163)
-   defining Unicode char U+00A4 (decimal 164)
-   defining Unicode char U+00A5 (decimal 165)
-   defining Unicode char U+00A6 (decimal 166)
-   defining Unicode char U+00A7 (decimal 167)
-   defining Unicode char U+00A8 (decimal 168)
-   defining Unicode char U+00A9 (decimal 169)
-   defining Unicode char U+00AA (decimal 170)
-   defining Unicode char U+00AC (decimal 172)
-   defining Unicode char U+00AE (decimal 174)
-   defining Unicode char U+00AF (decimal 175)
-   defining Unicode char U+00B0 (decimal 176)
-   defining Unicode char U+00B1 (decimal 177)
-   defining Unicode char U+00B2 (decimal 178)
-   defining Unicode char U+00B3 (decimal 179)
-   defining Unicode char U+00B4 (decimal 180)
-   defining Unicode char U+00B5 (decimal 181)
-   defining Unicode char U+00B6 (decimal 182)
-   defining Unicode char U+00B7 (decimal 183)
-   defining Unicode char U+00B9 (decimal 185)
-   defining Unicode char U+00BA (decimal 186)
-   defining Unicode char U+00BC (decimal 188)
-   defining Unicode char U+00BD (decimal 189)
-   defining Unicode char U+00BE (decimal 190)
-   defining Unicode char U+00D7 (decimal 215)
-   defining Unicode char U+00F7 (decimal 247)
-   defining Unicode char U+0192 (decimal 402)
-   defining Unicode char U+02C7 (decimal 711)
-   defining Unicode char U+02D8 (decimal 728)
-   defining Unicode char U+02DD (decimal 733)
-   defining Unicode char U+0E3F (decimal 3647)
-   defining Unicode char U+2016 (decimal 8214)
-   defining Unicode char U+2020 (decimal 8224)
-   defining Unicode char U+2021 (decimal 8225)
-   defining Unicode char U+2022 (decimal 8226)
-   defining Unicode char U+2030 (decimal 8240)
-   defining Unicode char U+2031 (decimal 8241)
-   defining Unicode char U+203B (decimal 8251)
-   defining Unicode char U+203D (decimal 8253)
-   defining Unicode char U+2044 (decimal 8260)
-   defining Unicode char U+204E (decimal 8270)
-   defining Unicode char U+2052 (decimal 8274)
-   defining Unicode char U+20A1 (decimal 8353)
-   defining Unicode char U+20A4 (decimal 8356)
-   defining Unicode char U+20A6 (decimal 8358)
-   defining Unicode char U+20A9 (decimal 8361)
-   defining Unicode char U+20AB (decimal 8363)
-   defining Unicode char U+20AC (decimal 8364)
-   defining Unicode char U+20B1 (decimal 8369)
-   defining Unicode char U+2103 (decimal 8451)
-   defining Unicode char U+2116 (decimal 8470)
-   defining Unicode char U+2117 (decimal 8471)
-   defining Unicode char U+211E (decimal 8478)
-   defining Unicode char U+2120 (decimal 8480)
-   defining Unicode char U+2122 (decimal 8482)
-   defining Unicode char U+2126 (decimal 8486)
-   defining Unicode char U+2127 (decimal 8487)
-   defining Unicode char U+212E (decimal 8494)
-   defining Unicode char U+2190 (decimal 8592)
-   defining Unicode char U+2191 (decimal 8593)
-   defining Unicode char U+2192 (decimal 8594)
-   defining Unicode char U+2193 (decimal 8595)
-   defining Unicode char U+2329 (decimal 9001)
-   defining Unicode char U+232A (decimal 9002)
-   defining Unicode char U+2422 (decimal 9250)
-   defining Unicode char U+25E6 (decimal 9702)
-   defining Unicode char U+25EF (decimal 9711)
-   defining Unicode char U+266A (decimal 9834)
-   defining Unicode char U+FEFF (decimal 65279)
-))
-LaTeX Info: Redefining \oldstylenums on input line 334.
-Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349.
-Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350.
-Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351.
-Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352.
-Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353.
-Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354.
-Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355.
-Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356.
-Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357.
-Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358.
-Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359.
-Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360.
-Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361.
-Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362.
-Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363.
-Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364.
-Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365.
-Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366.
-Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367.
-Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368.
-Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369.
-Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370.
-Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371.
-Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372.
-
-Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373.
-Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374.
-Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375.
-Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376.
-Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377.
-Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378.
-Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379.
-Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380.
-Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381.
-Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382.
-Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383.
-Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384.
-Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385.
-Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386.
-Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387.
-Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388.
-Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389.
-Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390.
-Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391.
-Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392.
-Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393.
-Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394.
-Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395.
-Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396.
-Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397.
-Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398.
-Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399.
-Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400.
-Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401.
-Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402.
-Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403.
-Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404.
-Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405.
-Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406.
-Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407.
-Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408.
-Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409.
-)) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/geometry/geometry.sty
-Package: geometry 2018/04/16 v5.8 Page Geometry
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics/keyval.sty
-Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
-\KV@toks@=\toks22
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/oberdiek/ifpdf.sty
-Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/oberdiek/ifvtex.sty
-Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
-Package ifvtex Info: VTeX not detected.
-)
-\Gm@cnth=\count100
-\Gm@cntv=\count101
-\c@Gm@tempcnt=\count102
-\Gm@bindingoffset=\dimen112
-\Gm@wd@mp=\dimen113
-\Gm@odd@mp=\dimen114
-\Gm@even@mp=\dimen115
-\Gm@layoutwidth=\dimen116
-\Gm@layoutheight=\dimen117
-\Gm@layouthoffset=\dimen118
-\Gm@layoutvoffset=\dimen119
-\Gm@dimlist=\toks23
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/hyperref/hyperref.sty
-Package: hyperref 2018/11/30 v6.88e Hypertext links for LaTeX
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.
-sty
-Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO)
-
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/oberdiek/hobsub-generic.s
-ty
-Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO)
-Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO)
-Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
-Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
-Package hobsub Info: Skipping package `ifluatex' (already loaded).
-Package hobsub Info: Skipping package `ifvtex' (already loaded).
-Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO)
-Package hobsub Info: Skipping package `ifpdf' (already loaded).
-Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
-Package etexcmds Info: Could not find \expanded.
-(etexcmds)             That can mean that you are not using pdfTeX 1.50 or
-(etexcmds)             that some package has redefined \expanded.
-(etexcmds)             In the latter case, load this package earlier.
-Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
-Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
-Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO
-)
-Package pdftexcmds Info: LuaTeX not detected.
-Package pdftexcmds Info: \pdf@primitive is available.
-Package pdftexcmds Info: \pdf@ifprimitive is available.
-Package pdftexcmds Info: \pdfdraftmode found.
-Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO)
-Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO
-)
-Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO)
-Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO)
-)
-Package hobsub Info: Skipping package `hobsub' (already loaded).
-Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)
-Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO)
-Package: xcolor-patch 2016/05/16 xcolor patch
-Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO)
-Package atveryend Info: \enddocument detected (standard20110627).
-Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO)
-Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO)
-Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO)
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/auxhook.sty
-Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO)
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/kvoptions.sty
-Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
-)
-\@linkdim=\dimen120
-\Hy@linkcounter=\count103
-\Hy@pagecounter=\count104
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/hyperref/pd1enc.def
-File: pd1enc.def 2018/11/30 v6.88e Hyperref: PDFDocEncoding definition (HO)
-Now handling font encoding PD1 ...
-... no UTF-8 mapping file for font encoding PD1
-)
-\Hy@SavedSpaceFactor=\count105
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/latexconfig/hyperref.cfg
-File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
-)
-Package hyperref Info: Hyper figures OFF on input line 4519.
-Package hyperref Info: Link nesting OFF on input line 4524.
-Package hyperref Info: Hyper index ON on input line 4527.
-Package hyperref Info: Plain pages OFF on input line 4534.
-Package hyperref Info: Backreferencing OFF on input line 4539.
-Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
-Package hyperref Info: Bookmarks ON on input line 4772.
-\c@Hy@tempcnt=\count106
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/url/url.sty
-\Urlmuskip=\muskip11
-Package: url 2013/09/16  ver 3.4  Verb mode for urls, etc.
-)
-LaTeX Info: Redefining \url on input line 5125.
-\XeTeXLinkMargin=\dimen121
-\Fld@menulength=\count107
-\Field@Width=\dimen122
-\Fld@charsize=\dimen123
-Package hyperref Info: Hyper figures OFF on input line 6380.
-Package hyperref Info: Link nesting OFF on input line 6385.
-Package hyperref Info: Hyper index ON on input line 6388.
-Package hyperref Info: backreferencing OFF on input line 6395.
-Package hyperref Info: Link coloring OFF on input line 6400.
-Package hyperref Info: Link coloring with OCG OFF on input line 6405.
-Package hyperref Info: PDF/A mode OFF on input line 6410.
-LaTeX Info: Redefining \ref on input line 6450.
-LaTeX Info: Redefining \pageref on input line 6454.
-\Hy@abspage=\count108
-\c@Item=\count109
-\c@Hfootnote=\count110
-)
-Package hyperref Info: Driver (autodetected): hpdftex.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/hyperref/hpdftex.def
-File: hpdftex.def 2018/11/30 v6.88e Hyperref driver for pdfTeX
-\Fld@listcount=\count111
-\c@bookmark@seq@number=\count112
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
-Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO)
-Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
-82.
-)
-\Hy@SectionHShift=\skip46
-)
-Package hyperref Info: Option `unicode' set `true' on input line 30.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/hyperref/puenc.def
-File: puenc.def 2018/11/30 v6.88e Hyperref: PDF Unicode definition (HO)
-Now handling font encoding PU ...
-... no UTF-8 mapping file for font encoding PU
-)
-Package hyperref Info: Option `breaklinks' set `true' on input line 30.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics/color.sty
-Package: color 2016/07/10 v1.1e Standard LaTeX Color (DPC)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics-cfg/color.cfg
-File: color.cfg 2016/01/02 v1.6 sample color configuration
-)
-Package color Info: Driver file: pdftex.def on input line 147.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics-def/pdftex.def
-File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
-)) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
-Package: fancyvrb 2019/01/15
-Style option: `fancyvrb' v3.2a <2019/01/15> (tvz)
-\FV@CodeLineNo=\count113
-\FV@InFile=\read1
-\FV@TabBox=\box29
-\c@FancyVerbLine=\count114
-\FV@StepNumber=\count115
-\FV@OutFile=\write3
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/framed/framed.sty
-Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks
-\OuterFrameSep=\skip47
-\fb@frw=\dimen124
-\fb@frh=\dimen125
-\FrameRule=\dimen126
-\FrameSep=\dimen127
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics/graphicx.sty
-Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics/graphics.sty
-Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics/trig.sty
-Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
-File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
-)
-Package graphics Info: Driver file: pdftex.def on input line 99.
-)
-\Gin@req@height=\dimen128
-\Gin@req@width=\dimen129
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/grffile.sty
-Package: grffile 2017/06/30 v1.18 Extended file name support for graphics (HO)
-Package grffile Info: Option `multidot' is set to `true'.
-Package grffile Info: Option `extendedchars' is set to `false'.
-Package grffile Info: Option `space' is set to `true'.
-Package grffile Info: \Gin@ii of package `graphicx' fixed on input line 494.
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/titling/titling.sty
-Package: titling 2009/09/04 v2.1d maketitle typesetting
-\thanksmarkwidth=\skip48
-\thanksmargin=\skip49
-\droptitle=\skip50
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/booktabs/booktabs.sty
-Package: booktabs 2016/04/27 v1.618033 publication quality tables
-\heavyrulewidth=\dimen130
-\lightrulewidth=\dimen131
-\cmidrulewidth=\dimen132
-\belowrulesep=\dimen133
-\belowbottomsep=\dimen134
-\aboverulesep=\dimen135
-\abovetopsep=\dimen136
-\cmidrulesep=\dimen137
-\cmidrulekern=\dimen138
-\defaultaddspace=\dimen139
-\@cmidla=\count116
-\@cmidlb=\count117
-\@aboverulesep=\dimen140
-\@belowrulesep=\dimen141
-\@thisruleclass=\count118
-\@lastruleclass=\count119
-\@thisrulewidth=\dimen142
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/tools/longtable.sty
-Package: longtable 2014/10/28 v4.11 Multi-page Table package (DPC)+ FMi change
-\LTleft=\skip51
-\LTright=\skip52
-\LTpre=\skip53
-\LTpost=\skip54
-\LTchunksize=\count120
-\LTcapwidth=\dimen143
-\LT@head=\box30
-\LT@firsthead=\box31
-\LT@foot=\box32
-\LT@lastfoot=\box33
-\LT@cols=\count121
-\LT@rows=\count122
-\c@LT@tables=\count123
-\c@LT@chunks=\count124
-\LT@p@ftn=\toks24
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/tools/array.sty
-Package: array 2018/12/30 v2.4k Tabular extension package (FMi)
-\col@sep=\dimen144
-\ar@mcellbox=\box34
-\extrarowheight=\dimen145
-\NC@list=\toks25
-\extratabsurround=\skip55
-\backup@length=\skip56
-\ar@cellbox=\box35
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/multirow/multirow.sty
-Package: multirow 2019/01/01 v2.4 Span multiple rows of a table
-\multirow@colwidth=\skip57
-\multirow@cntb=\count125
-\multirow@dima=\skip58
-\bigstrutjot=\dimen146
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/wrapfig/wrapfig.sty
-\wrapoverhang=\dimen147
-\WF@size=\dimen148
-\c@WF@wrappedlines=\count126
-\WF@box=\box36
-\WF@everypar=\toks26
-Package: wrapfig 2003/01/31  v 3.6
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/float/float.sty
-Package: float 2001/11/08 v1.3d Float enhancements (AL)
-\c@float@type=\count127
-\float@exts=\toks27
-\float@box=\box37
-\@float@everytoks=\toks28
-\@floatcapt=\box38
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/colortbl/colortbl.sty
-Package: colortbl 2018/12/12 v1.0d Color table columns (DPC)
-\everycr=\toks29
-\minrowclearance=\skip59
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/pdflscape.sty
-Package: pdflscape 2016/05/14 v0.11 Display of landscape pages in PDF (HO)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics/lscape.sty
-Package: lscape 2000/10/22 v3.01 Landscape Pages (DPC)
-)
-Package pdflscape Info: Auto-detected driver: pdftex on input line 81.
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/tabu/tabu.sty
-Package: tabu 2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/varwidth/varwidth.sty
-Package: varwidth 2009/03/30 ver 0.92;  Variable-width minipages
-\@vwid@box=\box39
-\sift@deathcycles=\count128
-\@vwid@loff=\dimen149
-\@vwid@roff=\dimen150
-)
-\c@taburow=\count129
-\tabu@nbcols=\count130
-\tabu@cnt=\count131
-\tabu@Xcol=\count132
-\tabu@alloc=\count133
-\tabu@nested=\count134
-\tabu@target=\dimen151
-\tabu@spreadtarget=\dimen152
-\tabu@naturalX=\dimen153
-\tabucolX=\dimen154
-\tabu@Xsum=\dimen155
-\extrarowdepth=\dimen156
-\abovetabulinesep=\dimen157
-\belowtabulinesep=\dimen158
-\tabustrutrule=\dimen159
-\tabu@thebody=\toks30
-\tabu@footnotes=\toks31
-\tabu@box=\box40
-\tabu@arstrutbox=\box41
-\tabu@hleads=\box42
-\tabu@vleads=\box43
-\tabu@cellskip=\skip60
-)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/threeparttable/threeparttab
-le.sty
-Package: threeparttable 2003/06/13  v 3.0
-\@tempboxb=\box44
-)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/threeparttablex/threepartta
-blex.sty
-Package: threeparttablex 2013/07/23 v0.3 by daleif
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/environ/environ.sty
-Package: environ 2014/05/04 v0.3 A new way to define environments
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/trimspaces/trimspaces.sty
-Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list
-))
-\TPTL@width=\skip61
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/ulem/ulem.sty
-\UL@box=\box45
-\UL@hyphenbox=\box46
-\UL@skip=\skip62
-\UL@hook=\toks32
-\UL@height=\dimen160
-\UL@pe=\count135
-\UL@pixel=\dimen161
-\ULC@box=\box47
-Package: ulem 2012/05/18
-\ULdepth=\dimen162
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/makecell/makecell.sty
-Package: makecell 2009/08/03 V0.1e Managing of Tab Column Heads and Cells
-\rotheadsize=\dimen163
-\c@nlinenum=\count136
-\TeXr@lab=\toks33
-) (/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/xcolor/xcolor.sty
-Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/graphics-cfg/color.cfg
-File: color.cfg 2016/01/02 v1.6 sample color configuration
-)
-Package xcolor Info: Driver file: pdftex.def on input line 225.
-LaTeX Info: Redefining \color on input line 709.
-Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
-Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
-Package xcolor Info: Model `RGB' extended on input line 1364.
-Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
-Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
-Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
-Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
-Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
-Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
-) (./awesome_table_in_pdf.aux)
-\openout1 = `awesome_table_in_pdf.aux'.
-
-LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 142.
-LaTeX Font Info:    Try loading font information for TS1+cmr on input line 142.
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/base/ts1cmr.fd
-File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
-)
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Checking defaults for PU/pdf/m/n on input line 142.
-LaTeX Font Info:    ... okay on input line 142.
-LaTeX Font Info:    Try loading font information for T1+lmr on input line 142.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/t1lmr.fd
-File: t1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
-)
-*geometry* driver: auto-detecting
-*geometry* detected driver: pdftex
-*geometry* verbose mode - [ preamble ] result:
-* driver: pdftex
-* paper: <default>
-* layout: <same size as paper>
-* layoutoffset:(h,v)=(0.0pt,0.0pt)
-* modes: 
-* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt)
-* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt)
-* \paperwidth=614.295pt
-* \paperheight=794.96999pt
-* \textwidth=469.75502pt
-* \textheight=650.43001pt
-* \oddsidemargin=0.0pt
-* \evensidemargin=0.0pt
-* \topmargin=-37.0pt
-* \headheight=12.0pt
-* \headsep=25.0pt
-* \topskip=10.0pt
-* \footskip=30.0pt
-* \marginparwidth=65.0pt
-* \marginparsep=11.0pt
-* \columnsep=10.0pt
-* \skip\footins=9.0pt plus 4.0pt minus 2.0pt
-* \hoffset=0.0pt
-* \voffset=0.0pt
-* \mag=1000
-* \@twocolumnfalse
-* \@twosidefalse
-* \@mparswitchfalse
-* \@reversemarginfalse
-* (1in=72.27pt=25.4mm, 1cm=28.453pt)
-
-\AtBeginShipoutBox=\box48
-Package hyperref Info: Link coloring OFF on input line 142.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/hyperref/nameref.sty
-Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/generic/oberdiek/gettitlestring.s
-ty
-Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO)
-)
-\c@section@level=\count137
-)
-LaTeX Info: Redefining \ref on input line 142.
-LaTeX Info: Redefining \pageref on input line 142.
-LaTeX Info: Redefining \nameref on input line 142.
-(./awesome_table_in_pdf.out) (./awesome_table_in_pdf.out)
-\@outlinefile=\write4
-\openout4 = `awesome_table_in_pdf.out'.
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
-Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/oberdiek/grfext.sty
-Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
-)
-Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
-38.
-Package grfext Info: Graphics extension search list:
-(grfext)             [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
-G,.JBIG2,.JB2,.eps]
-(grfext)             \AppendGraphicsExtensions on input line 456.
-
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cf
-g
-File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
-e
-)) (./awesome_table_in_pdf.toc
-LaTeX Font Info:    Try loading font information for OT1+lmr on input line 4.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/ot1lmr.fd
-File: ot1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
-)
-LaTeX Font Info:    Try loading font information for OML+lmm on input line 4.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/omllmm.fd
-File: omllmm.fd 2009/10/30 v1.6 Font defs for Latin Modern
-)
-LaTeX Font Info:    Try loading font information for OMS+lmsy on input line 4.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/omslmsy.fd
-File: omslmsy.fd 2009/10/30 v1.6 Font defs for Latin Modern
-)
-LaTeX Font Info:    Try loading font information for OMX+lmex on input line 4.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/omxlmex.fd
-File: omxlmex.fd 2009/10/30 v1.6 Font defs for Latin Modern
-)
-LaTeX Font Info:    External font `lmex10' loaded for size
-(Font)              <10> on input line 4.
-LaTeX Font Info:    External font `lmex10' loaded for size
-(Font)              <7> on input line 4.
-LaTeX Font Info:    External font `lmex10' loaded for size
-(Font)              <5> on input line 4.
-LaTeX Font Info:    Try loading font information for U+msa on input line 4.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/umsa.fd
-File: umsa.fd 2013/01/14 v3.01 AMS symbols A
-)
-LaTeX Font Info:    Try loading font information for U+msb on input line 4.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/amsfonts/umsb.fd
-File: umsb.fd 2013/01/14 v3.01 AMS symbols B
-) [1
-
-{/Users/haozhu/Library/TinyTeX/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
-LaTeX Font Info:    Try loading font information for T1+lmtt on input line 35.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/t1lmtt.fd
-File: t1lmtt.fd 2009/10/30 v1.6 Font defs for Latin Modern
-))
-\tf@toc=\write5
-\openout5 = `awesome_table_in_pdf.toc'.
-
-[2]
-<kableExtra_sm.png, id=182, 61.6704pt x 71.0655pt>
-File: kableExtra_sm.png Graphic file (type png)
-<use kableExtra_sm.png>
-Package pdftex.def Info: kableExtra_sm.png  used on input line 161.
-(pdftex.def)             Requested size: 61.6721pt x 71.06747pt.
-
-Package xcolor Warning: Incompatible color definition on input line 176.
-
-LaTeX Font Info:    Font shape `T1/lmtt/bx/n' in size <10> not available
-(Font)              Font shape `T1/lmtt/b/n' tried instead on input line 178.
-
-Package xcolor Warning: Incompatible color definition on input line 184.
-
-
-Package xcolor Warning: Incompatible color definition on input line 184.
-
-
-Package xcolor Warning: Incompatible color definition on input line 192.
-
-
-Package xcolor Warning: Incompatible color definition on input line 198.
-
-
-Package xcolor Warning: Incompatible color definition on input line 198.
-
-
-Package xcolor Warning: Incompatible color definition on input line 233.
-
-[3
-
- <./kableExtra_sm.png>]
-LaTeX Font Info:    Try loading font information for TS1+lmtt on input line 237
-.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/ts1lmtt.fd
-File: ts1lmtt.fd 2009/10/30 v1.6 Font defs for Latin Modern
-)
-
-Package xcolor Warning: Incompatible color definition on input line 240.
-
-
-Package xcolor Warning: Incompatible color definition on input line 240.
-
-
-Package xcolor Warning: Incompatible color definition on input line 259.
-
-
-Package xcolor Warning: Incompatible color definition on input line 265.
-
-
-Package xcolor Warning: Incompatible color definition on input line 265.
-
-
-Package xcolor Warning: Incompatible color definition on input line 303.
-
-
-Package xcolor Warning: Incompatible color definition on input line 309.
-
-
-Package xcolor Warning: Incompatible color definition on input line 309.
-
-
-Package xcolor Warning: Incompatible color definition on input line 327.
-
-[4]
-
-Package xcolor Warning: Incompatible color definition on input line 331.
-
-
-Package xcolor Warning: Incompatible color definition on input line 331.
-
-
-Package xcolor Warning: Incompatible color definition on input line 341.
-
-
-Package xcolor Warning: Incompatible color definition on input line 345.
-
-
-Package xcolor Warning: Incompatible color definition on input line 345.
-
-
-Package xcolor Warning: Incompatible color definition on input line 385.
-
-
-Package xcolor Warning: Incompatible color definition on input line 390.
-
-
-Package xcolor Warning: Incompatible color definition on input line 390.
-
-[5]
-
-Package xcolor Warning: Incompatible color definition on input line 413.
-
-
-Package xcolor Warning: Incompatible color definition on input line 418.
-
-
-Package xcolor Warning: Incompatible color definition on input line 418.
-
-
-Package xcolor Warning: Incompatible color definition on input line 448.
-
-
-Package xcolor Warning: Incompatible color definition on input line 453.
-
-
-Package xcolor Warning: Incompatible color definition on input line 453.
-
-[6pdfTeX warning (ext4): destination with the same identifier (name{table.1}) h
-as been already used, duplicate ignored
-
-\AtBegShi@Output ...ipout \box \AtBeginShipoutBox 
-                                                  \fi \fi 
-l.490 
-      ]
-
-Package xcolor Warning: Incompatible color definition on input line 491.
-
-
-Package xcolor Warning: Incompatible color definition on input line 496.
-
-
-Package xcolor Warning: Incompatible color definition on input line 496.
-
-
-Package xcolor Warning: Incompatible color definition on input line 514.
-
-
-Package xcolor Warning: Incompatible color definition on input line 519.
-
-
-Package xcolor Warning: Incompatible color definition on input line 519.
-
-
-Package xcolor Warning: Incompatible color definition on input line 552.
-
-
-Package xcolor Warning: Incompatible color definition on input line 560.
-
-
-Package xcolor Warning: Incompatible color definition on input line 560.
-
-[7] [8]
-
-Package xcolor Warning: Incompatible color definition on input line 668.
-
-
-Package xcolor Warning: Incompatible color definition on input line 674.
-
-
-Package xcolor Warning: Incompatible color definition on input line 674.
-
-
-Package xcolor Warning: Incompatible color definition on input line 702.
-
-[9]
-
-Package xcolor Warning: Incompatible color definition on input line 707.
-
-
-Package xcolor Warning: Incompatible color definition on input line 707.
-
-
-Package xcolor Warning: Incompatible color definition on input line 731.
-
-
-Package xcolor Warning: Incompatible color definition on input line 736.
-
-
-Package xcolor Warning: Incompatible color definition on input line 736.
-
-
-Package xcolor Warning: Incompatible color definition on input line 770.
-
-
-Package xcolor Warning: Incompatible color definition on input line 775.
-
-
-Package xcolor Warning: Incompatible color definition on input line 775.
-
-[10]
-
-Package xcolor Warning: Incompatible color definition on input line 807.
-
-
-Package xcolor Warning: Incompatible color definition on input line 823.
-
-
-Package xcolor Warning: Incompatible color definition on input line 823.
-
-
-Package xcolor Warning: Incompatible color definition on input line 847.
-
-
-Package xcolor Warning: Incompatible color definition on input line 855.
-
-
-Package xcolor Warning: Incompatible color definition on input line 855.
-
-[11]
-
-Package xcolor Warning: Incompatible color definition on input line 878.
-
-
-Package xcolor Warning: Incompatible color definition on input line 884.
-
-
-Package xcolor Warning: Incompatible color definition on input line 884.
-
-
-Package xcolor Warning: Incompatible color definition on input line 933.
-
-
-Package xcolor Warning: Incompatible color definition on input line 948.
-
-
-Package xcolor Warning: Incompatible color definition on input line 948.
-
-
-Package xcolor Warning: Incompatible color definition on input line 948.
-
-[12]
-
-Package xcolor Warning: Incompatible color definition on input line 948.
-
-
-Package xcolor Warning: Incompatible color definition on input line 948.
-
-
-Package xcolor Warning: Incompatible color definition on input line 979.
-
-
-Package xcolor Warning: Incompatible color definition on input line 992.
-
-
-Package xcolor Warning: Incompatible color definition on input line 992.
-
-[13]
-
-Package xcolor Warning: Incompatible color definition on input line 1037.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1051.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1051.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1071.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1077.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1077.
-
-[14]
-
-Package xcolor Warning: Incompatible color definition on input line 1100.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1108.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1108.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1144.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1151.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1151.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1183.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1188.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1188.
-
-[15]
-
-Package xcolor Warning: Incompatible color definition on input line 1211.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1218.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1218.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1235.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1243.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1243.
-
-[16pdfTeX warning (ext4): destination with the same identifier (name{table.3}) 
-has been already used, duplicate ignored
-
-\AtBegShi@Output ...ipout \box \AtBeginShipoutBox 
-                                                  \fi \fi 
-l.1255 ...Row indentation}\label{row-indentation}}
-                                                  ]
-
-Package xcolor Warning: Incompatible color definition on input line 1263.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1268.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1268.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1302.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1312.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1312.
-
-[17]
-
-Package xcolor Warning: Incompatible color definition on input line 1355.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1362.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1362.
-
-
-Overfull \hbox (7.49992pt too wide) in paragraph at lines 1387--1387
- []|[]| 
- []
-
-
-Overfull \hbox (7.49992pt too wide) in paragraph at lines 1393--1393
- []|[]| 
- []
-
-
-Overfull \hbox (7.49992pt too wide) in paragraph at lines 1399--1399
- []|[]| 
- []
-
-
-Overfull \hbox (7.49992pt too wide) in paragraph at lines 1405--1405
- []|[]| 
- []
-
-
-Package xcolor Warning: Incompatible color definition on input line 1413.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1429.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1429.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1429.
-
-[18]
-
-Package xcolor Warning: Incompatible color definition on input line 1429.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1429.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1485.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1498.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1498.
-
-[19]
-
-Package xcolor Warning: Incompatible color definition on input line 1568.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1578.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1578.
-
-LaTeX Font Info:    Try loading font information for TS1+lmr on input line 1603
-.
-(/Users/haozhu/Library/TinyTeX/texmf-dist/tex/latex/lm/ts1lmr.fd
-File: ts1lmr.fd 2009/10/30 v1.6 Font defs for Latin Modern
-) [20]
-
-Package xcolor Warning: Incompatible color definition on input line 1615.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1627.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1627.
-
-
-Underfull \hbox (badness 1558) in paragraph at lines 1645--1659
-[]\T1/lmr/m/n/10 If you need to add foot-note marks in a ta-ble, you need to do
- it man-u-ally (no fancy) us-ing
- []
-
-
-Package xcolor Warning: Incompatible color definition on input line 1660.
-
-[21]
-
-Package xcolor Warning: Incompatible color definition on input line 1676.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1676.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1699.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1705.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1705.
-
-[22pdfTeX warning (ext4): destination with the same identifier (name{table.4}) 
-has been already used, duplicate ignored
-
-\AtBegShi@Output ...ipout \box \AtBeginShipoutBox 
-                                                  \fi \fi 
-l.1742 
-       ]
-
-Package xcolor Warning: Incompatible color definition on input line 1743.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1755.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1755.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1779.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1791.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1791.
-
-[23] [24
-
-pdfTeX warning (ext4): destination with the same identifier (name{table.5}) has
- been already used, duplicate ignored
-
-\AtBegShi@Output ...ipout \box \AtBeginShipoutBox 
-                                                  \fi \fi 
-l.1816 \end{landscape}
-                      ]
-
-Package xcolor Warning: Incompatible color definition on input line 1832.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1846.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1846.
-
-LaTeX Font Info:    Font shape `T1/lmtt/bx/n' in size <12> not available
-(Font)              Font shape `T1/lmtt/b/n' tried instead on input line 1858.
-
-Package xcolor Warning: Incompatible color definition on input line 1872.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1879.
-
-
-Package xcolor Warning: Incompatible color definition on input line 1879.
-
-Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1882.
-[25
-
-]
-Package atveryend Info: Empty hook `AfterLastShipout' on input line 1882.
-(./awesome_table_in_pdf.aux)
-Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1882.
-Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1882.
-
-Package rerunfilecheck Info: File `awesome_table_in_pdf.out' has not changed.
-(rerunfilecheck)             Checksum: 0BCCEFED370E8EF541DFF560DFD588EE;4697.
-Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1882.
- ) 
-Here is how much of TeX's memory you used:
- 12819 strings out of 494562
- 181551 string characters out of 6174329
- 299725 words of memory out of 5000000
- 16150 multiletter control sequences out of 15000+600000
- 112830 words of font info for 69 fonts, out of 8000000 for 9000
- 14 hyphenation exceptions out of 8191
- 28i,15n,35p,2308b,430s stack positions out of 5000i,500n,10000p,200000b,80000s
-{/Users/haozhu/Library/TinyTeX/texmf-dist/fonts/enc/dvips/lm/lm-ts1.enc}{/Use
-rs/haozhu/Library/TinyTeX/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc}</Users/haozh
-u/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmbx10.pfb></Users/haozhu/Li
-brary/TinyTeX/texmf-dist/fonts/type1/public/lm/lmbx12.pfb></Users/haozhu/Librar
-y/TinyTeX/texmf-dist/fonts/type1/public/lm/lmbx8.pfb></Users/haozhu/Library/Tin
-yTeX/texmf-dist/fonts/type1/public/lm/lmbx9.pfb></Users/haozhu/Library/TinyTeX/
-texmf-dist/fonts/type1/public/lm/lmbxi10.pfb></Users/haozhu/Library/TinyTeX/tex
-mf-dist/fonts/type1/public/lm/lmr10.pfb></Users/haozhu/Library/TinyTeX/texmf-di
-st/fonts/type1/public/lm/lmr12.pfb></Users/haozhu/Library/TinyTeX/texmf-dist/fo
-nts/type1/public/lm/lmr17.pfb></Users/haozhu/Library/TinyTeX/texmf-dist/fonts/t
-ype1/public/lm/lmr5.pfb></Users/haozhu/Library/TinyTeX/texmf-dist/fonts/type1/p
-ublic/lm/lmr6.pfb></Users/haozhu/Library/TinyTeX/texmf-dist/fonts/type1/public/
-lm/lmr7.pfb></Users/haozhu/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmr
-8.pfb></Users/haozhu/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmr9.pfb>
-</Users/haozhu/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmri10.pfb></Us
-ers/haozhu/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmri12.pfb></Users/
-haozhu/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmtk10.pfb></Users/haoz
-hu/Library/TinyTeX/texmf-dist/fonts/type1/public/lm/lmtt10.pfb></Users/haozhu/L
-ibrary/TinyTeX/texmf-dist/fonts/type1/public/lm/lmtti10.pfb>
-Output written on awesome_table_in_pdf.pdf (25 pages, 541195 bytes).
-PDF statistics:
- 438 PDF objects out of 1000 (max. 8388607)
- 387 compressed objects within 4 object streams
- 104 named destinations out of 1000 (max. 500000)
- 262 words of extra memory for PDF output out of 10000 (max. 10000000)
-
diff --git a/docs/awesome_table_in_pdf.pdf b/docs/awesome_table_in_pdf.pdf
index ceec97d..846ec7a 100644
--- a/docs/awesome_table_in_pdf.pdf
+++ b/docs/awesome_table_in_pdf.pdf
Binary files differ
diff --git a/docs/awesome_table_in_pdf.toc b/docs/awesome_table_in_pdf.toc
index 56e8517..b8b6038 100644
--- a/docs/awesome_table_in_pdf.toc
+++ b/docs/awesome_table_in_pdf.toc
@@ -1,36 +1,36 @@
-\contentsline {section}{Overview}{3}{section*.2}% 
-\contentsline {section}{Installation}{3}{section*.3}% 
-\contentsline {section}{Getting Started}{3}{section*.4}% 
-\contentsline {subsection}{LaTeX packages used in this package}{4}{section*.5}% 
-\contentsline {subsection}{Plain LaTeX}{4}{section*.6}% 
-\contentsline {subsection}{LaTeX table with booktabs}{5}{section*.7}% 
-\contentsline {section}{Table Styles}{5}{section*.8}% 
-\contentsline {subsection}{LaTeX options}{5}{section*.9}% 
-\contentsline {subsubsection}{Striped}{5}{section*.10}% 
-\contentsline {subsubsection}{Hold position}{6}{section*.11}% 
-\contentsline {subsubsection}{Scale down}{7}{section*.12}% 
-\contentsline {subsubsection}{Repeat header in longtable}{7}{section*.13}% 
-\contentsline {subsection}{Full width?}{9}{section*.14}% 
-\contentsline {subsection}{Position}{9}{section*.15}% 
-\contentsline {subsection}{Font Size}{10}{section*.16}% 
-\contentsline {section}{Column / Row Specification}{11}{section*.17}% 
-\contentsline {subsection}{Column spec}{11}{section*.18}% 
-\contentsline {subsection}{Row spec}{11}{section*.19}% 
-\contentsline {subsection}{Header Rows}{12}{section*.20}% 
-\contentsline {section}{Cell/Text Specification}{12}{section*.21}% 
-\contentsline {subsection}{Conditional logic}{12}{section*.22}% 
-\contentsline {subsection}{Visualize data with Viridis Color}{13}{section*.23}% 
-\contentsline {subsection}{Text Specification}{14}{section*.24}% 
-\contentsline {section}{Grouped Columns / Rows}{14}{section*.25}% 
-\contentsline {subsection}{Add header rows to group columns}{14}{section*.26}% 
-\contentsline {subsection}{Group rows via labeling}{15}{section*.27}% 
-\contentsline {subsection}{Row indentation}{17}{section*.28}% 
-\contentsline {subsection}{Group rows via multi-row cell}{17}{section*.29}% 
-\contentsline {section}{Table Footnote}{20}{section*.30}% 
-\contentsline {section}{LaTeX Only Features}{23}{section*.31}% 
-\contentsline {subsection}{Linebreak processor}{23}{section*.32}% 
-\contentsline {subsection}{Table on a Landscape Page}{23}{section*.33}% 
-\contentsline {subsection}{Use LaTeX table in HTML or Word}{25}{section*.34}% 
-\contentsline {section}{From other packages}{25}{section*.35}% 
-\contentsline {subsection}{\texttt {tables}}{25}{section*.36}% 
-\contentsline {subsection}{\texttt {xtable}}{25}{section*.37}% 
+\contentsline {section}{Overview}{2}{section*.2}%
+\contentsline {section}{Installation}{2}{section*.3}%
+\contentsline {section}{Getting Started}{2}{section*.4}%
+\contentsline {subsection}{LaTeX packages used in this package}{3}{section*.5}%
+\contentsline {subsection}{Plain LaTeX}{3}{section*.6}%
+\contentsline {subsection}{LaTeX table with booktabs}{4}{section*.7}%
+\contentsline {section}{Table Styles}{4}{section*.8}%
+\contentsline {subsection}{LaTeX options}{4}{section*.9}%
+\contentsline {subsubsection}{Striped}{4}{section*.10}%
+\contentsline {subsubsection}{Hold position}{5}{section*.11}%
+\contentsline {subsubsection}{Scale down}{5}{section*.12}%
+\contentsline {subsubsection}{Repeat header in longtable}{6}{section*.13}%
+\contentsline {subsection}{Full width?}{8}{section*.14}%
+\contentsline {subsection}{Position}{8}{section*.15}%
+\contentsline {subsection}{Font Size}{9}{section*.16}%
+\contentsline {section}{Column / Row Specification}{9}{section*.17}%
+\contentsline {subsection}{Column spec}{9}{section*.18}%
+\contentsline {subsection}{Row spec}{10}{section*.19}%
+\contentsline {subsection}{Header Rows}{10}{section*.20}%
+\contentsline {section}{Cell/Text Specification}{10}{section*.21}%
+\contentsline {subsection}{Conditional logic}{11}{section*.22}%
+\contentsline {subsection}{Visualize data with Viridis Color}{11}{section*.23}%
+\contentsline {subsection}{Text Specification}{12}{section*.24}%
+\contentsline {section}{Grouped Columns / Rows}{12}{section*.25}%
+\contentsline {subsection}{Add header rows to group columns}{12}{section*.26}%
+\contentsline {subsection}{Group rows via labeling}{13}{section*.27}%
+\contentsline {subsection}{Row indentation}{15}{section*.28}%
+\contentsline {subsection}{Group rows via multi-row cell}{15}{section*.29}%
+\contentsline {section}{Table Footnote}{18}{section*.30}%
+\contentsline {section}{LaTeX Only Features}{20}{section*.31}%
+\contentsline {subsection}{Linebreak processor}{20}{section*.32}%
+\contentsline {subsection}{Table on a Landscape Page}{21}{section*.33}%
+\contentsline {subsection}{Use LaTeX table in HTML or Word}{23}{section*.34}%
+\contentsline {section}{From other packages}{23}{section*.35}%
+\contentsline {subsection}{\texttt {tables}}{23}{section*.36}%
+\contentsline {subsection}{\texttt {xtable}}{23}{section*.37}%
diff --git a/inst/NEWS.md b/inst/NEWS.md
index 3244010..2a75d00 100644
--- a/inst/NEWS.md
+++ b/inst/NEWS.md
@@ -1,4 +1,33 @@
-kableExtra 1.1.0
+kableExtra 1.2.0
+--------------------------------------------------------------------------------
+
+* `add_indent` has a new option `level_of_indent` to control the width of the
+indentation. (thanks @samiaab1990 #479)
+
+* `add_indent` has a new option `all_cols` to control whether the indentation
+should be applied to the first column or all columns. Default is False. (#488)
+
+* Removed xcolor from latex dependency list
+
+* `collapse_rows` has a new option `target` to choose the target column in 
+`collapse_rows` (#484)
+
+* Fixed a bug with `group_rows` when used with `repeat_header` on the last row
+(#476)
+
+* Added mathjax to preview (#473)
+
+* Fixed a bug with `repeat_header` when the header row is customized (#480)
+
+* Fixed a bug with `collapse_rows` when text is too long. (#464)
+
+* Added a new function `remove_column` for html. The latex part hasn't been 
+implemented yet. (#490, thanks @DanChaltiel)
+
+
+
+kableExtra ]
+1.1.0
 --------------------------------------------------------------------------------
 
 # Major Changes
diff --git a/man/add_footnote.Rd b/man/add_footnote.Rd
index 79eff3b..525ce26 100644
--- a/man/add_footnote.Rd
+++ b/man/add_footnote.Rd
@@ -4,8 +4,13 @@
 \alias{add_footnote}
 \title{Add footnote}
 \usage{
-add_footnote(input, label = NULL, notation = "alphabet",
-  threeparttable = FALSE, escape = TRUE)
+add_footnote(
+  input,
+  label = NULL,
+  notation = "alphabet",
+  threeparttable = FALSE,
+  escape = TRUE
+)
 }
 \arguments{
 \item{input}{The direct output of your \code{kable} function or your last
diff --git a/man/add_header_above.Rd b/man/add_header_above.Rd
index 5174db8..2f0d133 100644
--- a/man/add_header_above.Rd
+++ b/man/add_header_above.Rd
@@ -4,11 +4,27 @@
 \alias{add_header_above}
 \title{Add a header row on top of current header}
 \usage{
-add_header_above(kable_input, header = NULL, bold = FALSE,
-  italic = FALSE, monospace = FALSE, underline = FALSE,
-  strikeout = FALSE, align = "c", color = NULL, background = NULL,
-  font_size = NULL, angle = NULL, escape = TRUE, line = TRUE,
-  line_sep = 3, extra_css = NULL, include_empty = FALSE)
+add_header_above(
+  kable_input,
+  header = NULL,
+  bold = FALSE,
+  italic = FALSE,
+  monospace = FALSE,
+  underline = FALSE,
+  strikeout = FALSE,
+  align = "c",
+  color = NULL,
+  background = NULL,
+  font_size = NULL,
+  angle = NULL,
+  escape = TRUE,
+  line = TRUE,
+  line_sep = 3,
+  extra_css = NULL,
+  include_empty = FALSE,
+  border_left = FALSE,
+  border_right = FALSE
+)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
@@ -16,7 +32,7 @@
 \item{header}{A (named) character vector with \code{colspan} as values. For
 example, \code{c(" " = 1, "title" = 2)} can be used to create a new header row
 for a 3-column table with "title" spanning across column 2 and 3. For
-convenience, when \code{colspan} equals to 1, users can drop the \code{ = 1} part.
+convenience, when \code{colspan} equals to 1, users can drop the \verb{ = 1} part.
 As a result, \code{c(" ", "title" = 2)} is the same as \code{c(" " = 1, "title" = 2)}.}
 
 \item{bold}{A T/F value to control whether the text should be bolded.}
@@ -64,6 +80,10 @@
 
 \item{include_empty}{Whether empty cells in HTML should also be styled.
 Default is FALSE.}
+
+\item{border_left}{T/F option for border on the left side in latex.}
+
+\item{border_right}{T/F option for border on the right side in latex.}
 }
 \description{
 Tables with multiple rows of header rows are extremely useful
diff --git a/man/add_indent.Rd b/man/add_indent.Rd
index 439fd29..7889802 100644
--- a/man/add_indent.Rd
+++ b/man/add_indent.Rd
@@ -4,13 +4,15 @@
 \alias{add_indent}
 \title{Add indentations to row headers}
 \usage{
-add_indent(kable_input, positions)
+add_indent(kable_input, positions, level_of_indent = 1, all_cols = FALSE)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
 
 \item{positions}{A vector of numeric row numbers for the rows that need to
 be indented.}
+
+\item{level_of_indent}{a numeric value for the indent level. Default is 1.}
 }
 \description{
 Add indentations to row headers
@@ -18,6 +20,6 @@
 \examples{
 x <- knitr::kable(head(mtcars), "html")
 # Add indentations to the 2nd & 4th row
-add_indent(x, c(2, 4))
+add_indent(x, c(2, 4), level_of_indent = 1)
 
 }
diff --git a/man/as_image.Rd b/man/as_image.Rd
index 1d1688a..1219ff8 100644
--- a/man/as_image.Rd
+++ b/man/as_image.Rd
@@ -25,3 +25,13 @@
 and then try to put it in an rmarkdown document using
 \code{knitr::include_graphics}.
 }
+\examples{
+\dontrun{
+library(kableExtra)
+
+kable(mtcars, "latex", booktabs = T) \%>\%
+kable_styling(latex_options = c("striped", "scale_down")) \%>\%
+row_spec(1, color = "red") \%>\%
+as_image()
+}
+}
diff --git a/man/cell_spec.Rd b/man/cell_spec.Rd
index f8d09af..61ff27c 100644
--- a/man/cell_spec.Rd
+++ b/man/cell_spec.Rd
@@ -5,19 +5,49 @@
 \alias{text_spec}
 \title{Specify Cell/Text format}
 \usage{
-cell_spec(x, format, bold = FALSE, italic = FALSE, monospace = FALSE,
-  underline = FALSE, strikeout = FALSE, color = NULL,
-  background = NULL, align = NULL, font_size = NULL, angle = NULL,
-  tooltip = NULL, popover = NULL, link = NULL, extra_css = NULL,
-  escape = TRUE, background_as_tile = TRUE,
-  latex_background_in_cell = TRUE)
+cell_spec(
+  x,
+  format,
+  bold = FALSE,
+  italic = FALSE,
+  monospace = FALSE,
+  underline = FALSE,
+  strikeout = FALSE,
+  color = NULL,
+  background = NULL,
+  align = NULL,
+  font_size = NULL,
+  angle = NULL,
+  tooltip = NULL,
+  popover = NULL,
+  link = NULL,
+  extra_css = NULL,
+  escape = TRUE,
+  background_as_tile = TRUE,
+  latex_background_in_cell = TRUE
+)
 
-text_spec(x, format, bold = FALSE, italic = FALSE, monospace = FALSE,
-  underline = FALSE, strikeout = FALSE, color = NULL,
-  background = NULL, align = NULL, font_size = NULL, angle = NULL,
-  tooltip = NULL, popover = NULL, link = NULL, extra_css = NULL,
-  escape = TRUE, background_as_tile = TRUE,
-  latex_background_in_cell = FALSE)
+text_spec(
+  x,
+  format,
+  bold = FALSE,
+  italic = FALSE,
+  monospace = FALSE,
+  underline = FALSE,
+  strikeout = FALSE,
+  color = NULL,
+  background = NULL,
+  align = NULL,
+  font_size = NULL,
+  angle = NULL,
+  tooltip = NULL,
+  popover = NULL,
+  link = NULL,
+  extra_css = NULL,
+  escape = TRUE,
+  background_as_tile = TRUE,
+  latex_background_in_cell = FALSE
+)
 }
 \arguments{
 \item{x}{Things to be formated. It could be a vector of numbers or strings.}
diff --git a/man/collapse_rows.Rd b/man/collapse_rows.Rd
index 4752d80..f145342 100644
--- a/man/collapse_rows.Rd
+++ b/man/collapse_rows.Rd
@@ -4,11 +4,17 @@
 \alias{collapse_rows}
 \title{Collapse repeated rows to multirow cell}
 \usage{
-collapse_rows(kable_input, columns = NULL, valign = c("middle", "top",
-  "bottom"), latex_hline = c("full", "major", "none", "custom"),
+collapse_rows(
+  kable_input,
+  columns = NULL,
+  valign = c("middle", "top", "bottom"),
+  latex_hline = c("full", "major", "none", "custom"),
   row_group_label_position = c("identity", "stack"),
-  custom_latex_hline = NULL, row_group_label_fonts = NULL,
-  headers_to_remove = NULL)
+  custom_latex_hline = NULL,
+  row_group_label_fonts = NULL,
+  headers_to_remove = NULL,
+  target = NULL
+)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
diff --git a/man/column_spec.Rd b/man/column_spec.Rd
index b611fad..0857f4d 100644
--- a/man/column_spec.Rd
+++ b/man/column_spec.Rd
@@ -4,12 +4,25 @@
 \alias{column_spec}
 \title{Specify the look of the selected column}
 \usage{
-column_spec(kable_input, column, width = NULL, bold = FALSE,
-  italic = FALSE, monospace = FALSE, underline = FALSE,
-  strikeout = FALSE, color = NULL, background = NULL,
-  border_left = FALSE, border_right = FALSE, width_min = NULL,
-  width_max = NULL, extra_css = NULL, include_thead = FALSE,
-  latex_column_spec = NULL)
+column_spec(
+  kable_input,
+  column,
+  width = NULL,
+  bold = FALSE,
+  italic = FALSE,
+  monospace = FALSE,
+  underline = FALSE,
+  strikeout = FALSE,
+  color = NULL,
+  background = NULL,
+  border_left = FALSE,
+  border_right = FALSE,
+  width_min = NULL,
+  width_max = NULL,
+  extra_css = NULL,
+  include_thead = FALSE,
+  latex_column_spec = NULL
+)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
diff --git a/man/dummy_html_tbl.Rd b/man/dummy_html_tbl.Rd
new file mode 100644
index 0000000..983f1fc
--- /dev/null
+++ b/man/dummy_html_tbl.Rd
@@ -0,0 +1,11 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/dummy_table.R
+\name{dummy_html_tbl}
+\alias{dummy_html_tbl}
+\title{Dummy html table for testing}
+\usage{
+dummy_html_tbl()
+}
+\description{
+Create dummy table for testing in kE
+}
diff --git a/man/dummy_latex_tbl.Rd b/man/dummy_latex_tbl.Rd
new file mode 100644
index 0000000..84cc9ee
--- /dev/null
+++ b/man/dummy_latex_tbl.Rd
@@ -0,0 +1,11 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/dummy_table.R
+\name{dummy_latex_tbl}
+\alias{dummy_latex_tbl}
+\title{Dummy latex table for testing}
+\usage{
+dummy_latex_tbl(booktabs = T)
+}
+\description{
+Create dummy table for testing in kE
+}
diff --git a/man/footnote.Rd b/man/footnote.Rd
index 063ca3c..90a5b80 100644
--- a/man/footnote.Rd
+++ b/man/footnote.Rd
@@ -4,12 +4,24 @@
 \alias{footnote}
 \title{Add footnote (new)}
 \usage{
-footnote(kable_input, general = NULL, number = NULL, alphabet = NULL,
-  symbol = NULL, footnote_order = c("general", "number", "alphabet",
-  "symbol"), footnote_as_chunk = FALSE, escape = TRUE,
-  threeparttable = FALSE, fixed_small_size = FALSE,
-  general_title = "Note: ", number_title = "", alphabet_title = "",
-  symbol_title = "", title_format = "italic", symbol_manual = NULL)
+footnote(
+  kable_input,
+  general = NULL,
+  number = NULL,
+  alphabet = NULL,
+  symbol = NULL,
+  footnote_order = c("general", "number", "alphabet", "symbol"),
+  footnote_as_chunk = FALSE,
+  escape = TRUE,
+  threeparttable = FALSE,
+  fixed_small_size = FALSE,
+  general_title = "Note: ",
+  number_title = "",
+  alphabet_title = "",
+  symbol_title = "",
+  title_format = "italic",
+  symbol_manual = NULL
+)
 }
 \arguments{
 \item{kable_input}{HTML or LaTeX table generated by \code{knitr::kable}}
@@ -57,7 +69,7 @@
 Multiple options are possible.}
 
 \item{symbol_manual}{User can manually supply a vector of either html or
-latex symbols. For example, \code{symbol_manual = c('*', '\\\\dag', '\\\\ddag')}.`}
+latex symbols. For example, \code{symbol_manual = c('*', '\\\\\\\\dag', '\\\\\\\\ddag')}.`}
 }
 \description{
 \code{footnote} provides a more flexible way to add footnote. You
diff --git a/man/footnote_marker_number.Rd b/man/footnote_marker_number.Rd
index 599f284..94b2e4d 100644
--- a/man/footnote_marker_number.Rd
+++ b/man/footnote_marker_number.Rd
@@ -20,7 +20,7 @@
 default value from global option \code{knitr.table.format}.}
 
 \item{double_escape}{T/F if output is in LaTeX, whether it should be double
-escaped. If you are using footnote_marker in \code{group_rows`` labeling row or }add_header_above\code{, you need to set this to be }TRUE`.}
+escaped. If you are using footnote_marker in \verb{group_rows`` labeling row or }add_header_above\verb{, you need to set this to be }TRUE`.}
 }
 \description{
 Put footnote mark in superscription in table. Unless you are
diff --git a/man/group_rows.Rd b/man/group_rows.Rd
index db032f5..d39d0d2 100644
--- a/man/group_rows.Rd
+++ b/man/group_rows.Rd
@@ -5,19 +5,45 @@
 \alias{pack_rows}
 \title{Put a few rows of a table into one category}
 \usage{
-group_rows(kable_input, group_label = NULL, start_row = NULL,
-  end_row = NULL, index = NULL,
+group_rows(
+  kable_input,
+  group_label = NULL,
+  start_row = NULL,
+  end_row = NULL,
+  index = NULL,
   label_row_css = "border-bottom: 1px solid;",
-  latex_gap_space = "0.3em", escape = TRUE, latex_align = "l",
-  colnum = NULL, bold = TRUE, italic = FALSE, hline_before = FALSE,
-  hline_after = FALSE, extra_latex_after = NULL, indent = TRUE)
+  latex_gap_space = "0.3em",
+  escape = TRUE,
+  latex_align = "l",
+  latex_wrap_text = FALSE,
+  colnum = NULL,
+  bold = TRUE,
+  italic = FALSE,
+  hline_before = FALSE,
+  hline_after = FALSE,
+  extra_latex_after = NULL,
+  indent = TRUE
+)
 
-pack_rows(kable_input, group_label = NULL, start_row = NULL,
-  end_row = NULL, index = NULL,
+pack_rows(
+  kable_input,
+  group_label = NULL,
+  start_row = NULL,
+  end_row = NULL,
+  index = NULL,
   label_row_css = "border-bottom: 1px solid;",
-  latex_gap_space = "0.3em", escape = TRUE, latex_align = "l",
-  colnum = NULL, bold = TRUE, italic = FALSE, hline_before = FALSE,
-  hline_after = FALSE, extra_latex_after = NULL, indent = TRUE)
+  latex_gap_space = "0.3em",
+  escape = TRUE,
+  latex_align = "l",
+  latex_wrap_text = FALSE,
+  colnum = NULL,
+  bold = TRUE,
+  italic = FALSE,
+  hline_before = FALSE,
+  hline_after = FALSE,
+  extra_latex_after = NULL,
+  indent = TRUE
+)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
@@ -50,6 +76,10 @@
 Value is "l"  If using html, the alignment can be set by using the label_row_css
 parameter.}
 
+\item{latex_wrap_text}{T/F for wrapping long text. Default is off. Whenever
+it is turned on, the table will take up the entire line. It's recommended
+to use this with full_width in kable_styling.}
+
 \item{colnum}{A numeric that determines how many columns the text should span.
 The default setting will have the text span the entire length.}
 
diff --git a/man/kableExtra-package.Rd b/man/kableExtra-package.Rd
index f22e66c..4fba68e 100644
--- a/man/kableExtra-package.Rd
+++ b/man/kableExtra-package.Rd
@@ -9,8 +9,8 @@
 When we are talking about table generators in R,
 \href{https://yihui.name/knitr/}{knitr}'s \code{kable()} function wins lots of flavor
 by its ultimate simplicity. Unlike those powerful table rendering engines
-such as \href{https://CRAN.R-project.org/package=xtable}{xtable}, the philosophy
-behind \href{https://rdrr.io/cran/knitr/man/kable.html}{knitr::kable()} is to
+such as \href{https://CRAN.R-project.org/package=xtable}{\code{xtable}}, the philosophy
+behind \href{https://rdrr.io/cran/knitr/man/kable.html}{\code{knitr::kable()}} is to
 make it easy for programmers to use. Just as it claimed in its
 function description, "this is a very simple table generator. It is simple
 by design. It is not intended to replace any other R packages for making
@@ -29,9 +29,9 @@
 \itemize{
 \item Use default base \code{kable()} (Or a good alternative for markdown tables is
 \code{pander::pander()}) for all simple tables
-\item Use \code{kable()} with \code{kableExtra} to generate 90 % of complex/advanced
+\item Use \code{kable()} with \code{kableExtra} to generate 90 \% of complex/advanced
 tables in either HTML or LaTeX
-\item Only have to mess with raw HTML/LaTeX in the last 10% cases where
+\item Only have to mess with raw HTML/LaTeX in the last 10\% cases where
 \code{kableExtra} cannot solve the problem
 }
 
diff --git a/man/kable_as_image.Rd b/man/kable_as_image.Rd
index e28247a..d127e5e 100644
--- a/man/kable_as_image.Rd
+++ b/man/kable_as_image.Rd
@@ -4,9 +4,15 @@
 \alias{kable_as_image}
 \title{Deprecated}
 \usage{
-kable_as_image(kable_input, filename = NULL, file_format = "png",
-  latex_header_includes = NULL, keep_pdf = FALSE, density = 300,
-  keep_tex = FALSE)
+kable_as_image(
+  kable_input,
+  filename = NULL,
+  file_format = "png",
+  latex_header_includes = NULL,
+  keep_pdf = FALSE,
+  density = 300,
+  keep_tex = FALSE
+)
 }
 \arguments{
 \item{kable_input}{Raw LaTeX code to generate a table. It doesn't have to
@@ -21,9 +27,9 @@
 
 \item{latex_header_includes}{A character vector of extra LaTeX header stuff.
 Each element is a row. You can have things like
-\code{c("\\\\usepackage{threeparttable}", "\\\\usepackage{icons}")}  You could
+\code{c("\\\\\\\\usepackage{threeparttable}", "\\\\\\\\usepackage{icons}")}  You could
 probably add your language package here if you use non-English text in your
-table, such as \code{\\\\usepackage[magyar]{babel}}.}
+table, such as \verb{\\\\\\\\usepackage[magyar]\{babel\}}.}
 
 \item{keep_pdf}{A T/F option to control if the mid-way standalone pdf should
 be kept. Default is \code{FALSE}.}
@@ -37,18 +43,3 @@
 \description{
 deprecated
 }
-\examples{
-\dontrun{
-library(kableExtra)
-
-kable(mtcars[1:5, ], "html") \%>\%
-  kable_styling("striped") \%>\%
-  row_spec(1, color = "red") \%>\%
-  save_kable("inst/test.pdf")
-
-kable(mtcars, "latex", booktabs = T) \%>\%
-kable_styling(latex_options = c("striped", "scale_down")) \%>\%
-row_spec(1, color = "red") \%>\%
-as_image()
-}
-}
diff --git a/man/kable_styling.Rd b/man/kable_styling.Rd
index ee6de44..f21be79 100644
--- a/man/kable_styling.Rd
+++ b/man/kable_styling.Rd
@@ -4,14 +4,24 @@
 \alias{kable_styling}
 \title{HTML table attributes}
 \usage{
-kable_styling(kable_input, bootstrap_options = "basic",
-  latex_options = "basic", full_width = NULL, position = "center",
-  font_size = NULL, row_label_position = "l",
+kable_styling(
+  kable_input,
+  bootstrap_options = "basic",
+  latex_options = "basic",
+  full_width = NULL,
+  position = "center",
+  font_size = NULL,
+  row_label_position = "l",
   repeat_header_text = "\\\\textit{(continued)}",
   repeat_header_method = c("append", "replace"),
-  repeat_header_continued = FALSE, stripe_color = "gray!6",
-  stripe_index = NULL, latex_table_env = NULL, protect_latex = TRUE,
-  table.envir = "table", fixed_thead = FALSE)
+  repeat_header_continued = FALSE,
+  stripe_color = "gray!6",
+  stripe_index = NULL,
+  latex_table_env = NULL,
+  protect_latex = TRUE,
+  table.envir = "table",
+  fixed_thead = FALSE
+)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
@@ -30,14 +40,14 @@
 table to the exact position. It is useful when the \code{LaTeX} table is contained
 in a \code{table} environment after you specified captions in \code{kable()}. It will
 force the table to stay in the position where it was created in the document.
-A stronger version: \code{HOLD_position} requires the \code{float} package and specifies \code{[H]}.
+A stronger version: \code{HOLD_position} requires the \code{float} package and specifies \verb{[H]}.
 \code{scale_down} is useful for super wide table. It will automatically adjust
 the table to page width. \code{repeat_header} in only meaningful in a longtable
 environment. It will let the header row repeat on every page in that long
 table.}
 
 \item{full_width}{A \code{TRUE} or \code{FALSE} variable controlling whether the HTML
-table should have 100\% width. Since HTML and pdf have different flavors on
+table should have 100\\% width. Since HTML and pdf have different flavors on
 the preferable format for \code{full_width}. If not specified, a HTML table will
 have full width by default but this option will be set to \code{FALSE} for a
 LaTeX table}
@@ -45,7 +55,7 @@
 \item{position}{A character string determining how to position the table
 on a page. Possible values include \code{left}, \code{center}, \code{right}, \code{float_left}
 and \code{float_right}. Please see the package doc site for demonstrations. For
-a \code{LaTeX} table, if \code{float_*} is selected, \code{LaTeX} package \code{wrapfig} will be
+a \code{LaTeX} table, if \verb{float_*} is selected, \code{LaTeX} package \code{wrapfig} will be
 imported.}
 
 \item{font_size}{A numeric input for table font size}
@@ -79,7 +89,7 @@
 
 \item{table.envir}{LaTeX floating table environment. \code{kable_style} will put
 a plain no-caption table in a \code{table} environment in order to center the
-table. You can specify this option to things like \code{table*} or \code{float*} based
+table. You can specify this option to things like \verb{table*} or \verb{float*} based
 on your need.}
 
 \item{fixed_thead}{HTML table option so table header row is fixed at top.
diff --git a/man/linebreak.Rd b/man/linebreak.Rd
index 01ab847..55adc0a 100644
--- a/man/linebreak.Rd
+++ b/man/linebreak.Rd
@@ -4,8 +4,7 @@
 \alias{linebreak}
 \title{Make linebreak in LaTeX Table cells}
 \usage{
-linebreak(x, align = c("l", "c", "r"), double_escape = F,
-  linebreaker = "\\n")
+linebreak(x, align = c("l", "c", "r"), double_escape = F, linebreaker = "\\n")
 }
 \arguments{
 \item{x}{A character vector}
@@ -15,7 +14,7 @@
 \item{double_escape}{Whether special character should be double escaped.
 Default is FALSE.}
 
-\item{linebreaker}{Symbol for linebreaks to replace. Default is \code{\\n}.}
+\item{linebreaker}{Symbol for linebreaks to replace. Default is \verb{\\\\n}.}
 }
 \description{
 This function generate LaTeX code of \code{makecell} so that users
diff --git a/man/reexports.Rd b/man/reexports.Rd
index 87b7db4..69a8477 100644
--- a/man/reexports.Rd
+++ b/man/reexports.Rd
@@ -14,6 +14,6 @@
 \describe{
   \item{knitr}{\code{\link[knitr]{kable}}}
 
-  \item{magrittr}{\code{\link[magrittr]{\%>\%}}}
+  \item{magrittr}{\code{\link[magrittr:pipe]{\%>\%}}}
 }}
 
diff --git a/man/remove_column.Rd b/man/remove_column.Rd
new file mode 100644
index 0000000..ead768f
--- /dev/null
+++ b/man/remove_column.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/remove_column.R
+\name{remove_column}
+\alias{remove_column}
+\title{Remove columns}
+\usage{
+remove_column(kable_input, columns)
+}
+\arguments{
+\item{kable_input}{Output of \code{\link[knitr:kable]{knitr::kable()}} with format specified}
+
+\item{columns}{A numeric value or vector indicating in which column(s) rows
+need to be removed}
+}
+\description{
+Remove columns
+}
+\examples{
+remove_column(kable(mtcars), 1)
+}
diff --git a/man/row_spec.Rd b/man/row_spec.Rd
index c65aede..09f61a2 100644
--- a/man/row_spec.Rd
+++ b/man/row_spec.Rd
@@ -4,11 +4,23 @@
 \alias{row_spec}
 \title{Specify the look of the selected row}
 \usage{
-row_spec(kable_input, row, bold = FALSE, italic = FALSE,
-  monospace = FALSE, underline = FALSE, strikeout = FALSE,
-  color = NULL, background = NULL, align = NULL, font_size = NULL,
-  angle = NULL, extra_css = NULL, hline_after = FALSE,
-  extra_latex_after = NULL)
+row_spec(
+  kable_input,
+  row,
+  bold = FALSE,
+  italic = FALSE,
+  monospace = FALSE,
+  underline = FALSE,
+  strikeout = FALSE,
+  color = NULL,
+  background = NULL,
+  align = NULL,
+  font_size = NULL,
+  angle = NULL,
+  extra_css = NULL,
+  hline_after = FALSE,
+  extra_latex_after = NULL
+)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
diff --git a/man/save_kable.Rd b/man/save_kable.Rd
index 562ac79..76c144c 100644
--- a/man/save_kable.Rd
+++ b/man/save_kable.Rd
@@ -4,9 +4,16 @@
 \alias{save_kable}
 \title{Save kable to files}
 \usage{
-save_kable(x, file, bs_theme = "simplex", self_contained = TRUE,
-  extra_dependencies = NULL, ..., latex_header_includes = NULL,
-  keep_tex = FALSE)
+save_kable(
+  x,
+  file,
+  bs_theme = "simplex",
+  self_contained = TRUE,
+  extra_dependencies = NULL,
+  ...,
+  latex_header_includes = NULL,
+  keep_tex = FALSE
+)
 }
 \arguments{
 \item{x}{A piece of HTML code for tables, usually generated by kable and
@@ -21,16 +28,16 @@
 \item{self_contained}{Will the files be self-contained?}
 
 \item{extra_dependencies}{Additional HTML dependencies. For example,
-\code{list(}}
+\verb{list(}}
 
 \item{...}{Additional variables being passed to \code{webshot::webshot}. This
 is for HTML only.}
 
 \item{latex_header_includes}{A character vector of extra LaTeX header stuff.
 Each element is a row. You can have things like
-\code{c("\\\\usepackage{threeparttable}", "\\\\usepackage{icons}")}  You could
+\code{c("\\\\\\\\usepackage{threeparttable}", "\\\\\\\\usepackage{icons}")}  You could
 probably add your language package here if you use non-English text in your
-table, such as \code{\\\\usepackage[magyar]{babel}}.}
+table, such as \verb{\\\\\\\\usepackage[magyar]\{babel\}}.}
 
 \item{keep_tex}{A T/F option to control if the latex file that is initially created
 should be kept. Default is \code{FALSE}.}
@@ -38,3 +45,13 @@
 \description{
 Save kable to files
 }
+\examples{
+\dontrun{
+library(kableExtra)
+
+kable(mtcars[1:5, ], "html") \%>\%
+  kable_styling("striped") \%>\%
+  row_spec(1, color = "red") \%>\%
+  save_kable("inst/test.pdf")
+}
+}
diff --git a/man/scroll_box.Rd b/man/scroll_box.Rd
index 5d4b3af..65f385d 100644
--- a/man/scroll_box.Rd
+++ b/man/scroll_box.Rd
@@ -4,9 +4,14 @@
 \alias{scroll_box}
 \title{Put a HTML table into a scrollable box}
 \usage{
-scroll_box(kable_input, height = NULL, width = NULL,
-  box_css = "border: 1px solid #ddd; padding: 5px; ", extra_css = NULL,
-  fixed_thead = TRUE)
+scroll_box(
+  kable_input,
+  height = NULL,
+  width = NULL,
+  box_css = "border: 1px solid #ddd; padding: 5px; ",
+  extra_css = NULL,
+  fixed_thead = TRUE
+)
 }
 \arguments{
 \item{kable_input}{A HTML kable object}
diff --git a/man/spec_color.Rd b/man/spec_color.Rd
index 539b623..74cdd1d 100644
--- a/man/spec_color.Rd
+++ b/man/spec_color.Rd
@@ -4,8 +4,16 @@
 \alias{spec_color}
 \title{Generate viridis Color code for continuous values}
 \usage{
-spec_color(x, alpha = 1, begin = 0, end = 1, direction = 1,
-  option = "D", na_color = "#BBBBBB", scale_from = NULL)
+spec_color(
+  x,
+  alpha = 1,
+  begin = 0,
+  end = 1,
+  direction = 1,
+  option = "D",
+  na_color = "#BBBBBB",
+  scale_from = NULL
+)
 }
 \arguments{
 \item{x}{continuous vectors of values}
diff --git a/man/spec_font_size.Rd b/man/spec_font_size.Rd
index cdd7465..7d6cea3 100644
--- a/man/spec_font_size.Rd
+++ b/man/spec_font_size.Rd
@@ -4,8 +4,7 @@
 \alias{spec_font_size}
 \title{Generate common font size for continuous values}
 \usage{
-spec_font_size(x, begin = 8, end = 16, na_font_size = 12,
-  scale_from = NULL)
+spec_font_size(x, begin = 8, end = 16, na_font_size = 12, scale_from = NULL)
 }
 \arguments{
 \item{x}{continuous vectors of values}
diff --git a/man/spec_popover.Rd b/man/spec_popover.Rd
index c9565d7..e182f59 100644
--- a/man/spec_popover.Rd
+++ b/man/spec_popover.Rd
@@ -4,8 +4,12 @@
 \alias{spec_popover}
 \title{Setup bootstrap popover}
 \usage{
-spec_popover(content = NULL, title = NULL, trigger = "hover",
-  position = "right")
+spec_popover(
+  content = NULL,
+  title = NULL,
+  trigger = "hover",
+  position = "right"
+)
 }
 \arguments{
 \item{content}{content for pop-over message}
diff --git a/man/usepackage_latex.Rd b/man/usepackage_latex.Rd
index ab2e09c..91daccd 100644
--- a/man/usepackage_latex.Rd
+++ b/man/usepackage_latex.Rd
@@ -12,7 +12,7 @@
 \item{options}{The LaTeX options for the package}
 }
 \description{
-Load a LaTeX package using R code. Just like \code{\\usepackage{}}
+Load a LaTeX package using R code. Just like \verb{\\\\usepackage\{\}}
 in LaTeX
 }
 \examples{
diff --git a/vignettes/awesome_table_in_pdf.Rmd b/vignettes/awesome_table_in_pdf.Rmd
index 257deb6..4ca2a84 100644
--- a/vignettes/awesome_table_in_pdf.Rmd
+++ b/vignettes/awesome_table_in_pdf.Rmd
@@ -78,7 +78,7 @@
 If you are using a recent version of rmarkdown, you are recommended to load this package entirely via `library(kableExtra)` or `require(kableExtra)` because this package will load all necessary LaTeX packages, such as `booktabs` or `multirow`, for you automatically. Note that, if you are calling functions from `kableExtra` via `kableExtra::kable_styling()` or if you put `library(kableExtra)` in a separate R file that is **sourced** by the rmarkdown document, these packages won't be loaded. Furthermore, you can suppress this auto-loading behavior by setting a global option `kableExtra.latex.load_packages` to be `FALSE` before you load `kableExtra`.
 
 ```{r, eval = FALSE}
-# Not evaluated. Ilustration purpose
+# Not evaluated. Illustration purpose
 options(kableExtra.latex.load_packages = FALSE)
 library(kableExtra)
 ```
