Merge pull request #440 from jokorn/new_add_header_above
Allow standardized data frame as input to add_header_above
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)
```