diff --git a/DESCRIPTION b/DESCRIPTION index fbb9a6e..83f72a3 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: kableExtra Type: Package Title: Construct Complex Table with 'kable' and Pipe Syntax -Version: 1.3.0 +Version: 1.3.1 Authors@R: c( person('Hao', 'Zhu', email = 'haozhu233@gmail.com', role = c('aut', 'cre'), comment = c(ORCID = '0000-0002-3386-6076')), diff --git a/R/row_spec.R b/R/row_spec.R index 3d08857..ea96971 100644 --- a/R/row_spec.R +++ b/R/row_spec.R @@ -203,14 +203,14 @@ row_spec_latex <- function(kable_input, row, bold, italic, monospace, hline_after, extra_latex_after) temp_sub <- ifelse(i == 1 & (table_info$tabular == "longtable" | !is.null(table_info$repeat_header_latex)), - stringr::str_replace_all, stringr::str_replace) + gsub, sub) if (length(new_row) == 1) { - out <- temp_sub(out, paste0(target_row, "\\\\\\\\"), - paste0(new_row, "\\\\\\\\")) + out <- temp_sub(paste0(target_row, "\\\\\\\\"), + paste0(new_row, "\\\\\\\\"), out, perl = T) table_info$contents[i] <- new_row } else { - out <- temp_sub(out, paste0(target_row, "\\\\\\\\"), - paste(new_row, collapse = "")) + out <- temp_sub(paste0(target_row, "\\\\\\\\"), + paste(new_row, collapse = ""), out, perl = T) table_info$contents[i] <- new_row[1] } } diff --git a/R/util.R b/R/util.R index 785c6ad..474f352 100644 --- a/R/util.R +++ b/R/util.R @@ -110,7 +110,8 @@ latex_pkg_list <- function() { "\\usepackage[normalem]{ulem}", "\\usepackage[normalem]{ulem}", "\\usepackage[utf8]{inputenc}", - "\\usepackage{makecell}" + "\\usepackage{makecell}", + "\\usepackage{xcolor}" )) } diff --git a/R/zzz.R b/R/zzz.R index 36133e7..c12793b 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/docs/awesome_table_in_pdf.Rmd b/docs/awesome_table_in_pdf.Rmd index 043e8a7..7025dd7 100644 --- a/docs/awesome_table_in_pdf.Rmd +++ b/docs/awesome_table_in_pdf.Rmd @@ -99,9 +99,12 @@ header-includes: - \usepackage{threeparttablex} - \usepackage[normalem]{ulem} - \usepackage{makecell} + - \usepackage{xcolor} ``` -Note: `kableExtra` was using `xcolor` for alternative row color before 1.0. However, the recent updates in `fancyvbr` causes a clash in `xcolor` option. Therefore, we removed the `xcolor` dependency in version 1.0 and started to rely on `colortbl` completely. If you experience any issues, please report on github. +Note: `kableExtra` was using `xcolor` with the `table` option for alternative row color before 1.0. However, the recent updates in `fancyvbr` causes a clash in `xcolor` option. Therefore, we removed the `xcolor` dependency in version 1.0 and started to rely on `colortbl` completely. + +In reality, most cases, you still need `xcolor` to define new colors. The tricky part is that, if you are using a older version of `rmarkdown`, `xcolor` is not included in the template while in recent version, after `rmarkdown` started to use the default pandoc template, `xcolor` is included by default. To minimize the effort, we chose to load `xcolor` in the end. ## Plain LaTeX Plain LaTeX table looks relatively ugly in 2017. diff --git a/docs/awesome_table_in_pdf.pdf b/docs/awesome_table_in_pdf.pdf index 605a3e1..64acf25 100644 Binary files a/docs/awesome_table_in_pdf.pdf and b/docs/awesome_table_in_pdf.pdf differ diff --git a/docs/awesome_table_in_pdf.toc b/docs/awesome_table_in_pdf.toc index ca565b0..31d88d3 100644 --- a/docs/awesome_table_in_pdf.toc +++ b/docs/awesome_table_in_pdf.toc @@ -15,7 +15,7 @@ \contentsline {subsection}{Font Size}{10}{section*.16}% \contentsline {section}{Column / Row Specification}{10}{section*.17}% \contentsline {subsection}{Column spec}{10}{section*.18}% -\contentsline {subsection}{Insert Images into Columns}{11}{section*.19}% +\contentsline {subsection}{Insert Images into Columns}{12}{section*.19}% \contentsline {subsection}{Row spec}{13}{section*.20}% \contentsline {subsection}{Header Rows}{14}{section*.21}% \contentsline {section}{Cell/Text Specification}{14}{section*.22}% @@ -24,7 +24,7 @@ \contentsline {subsection}{Text Specification}{16}{section*.25}% \contentsline {section}{Grouped Columns / Rows}{17}{section*.26}% \contentsline {subsection}{Add header rows to group columns}{17}{section*.27}% -\contentsline {subsection}{Group rows via labeling}{17}{section*.28}% +\contentsline {subsection}{Group rows via labeling}{18}{section*.28}% \contentsline {subsection}{Row indentation}{19}{section*.29}% \contentsline {subsection}{Group rows via multi-row cell}{19}{section*.30}% \contentsline {section}{Table Footnote}{23}{section*.31}% diff --git a/vignettes/awesome_table_in_pdf.Rmd b/vignettes/awesome_table_in_pdf.Rmd index 043e8a7..7025dd7 100644 --- a/vignettes/awesome_table_in_pdf.Rmd +++ b/vignettes/awesome_table_in_pdf.Rmd @@ -99,9 +99,12 @@ header-includes: - \usepackage{threeparttablex} - \usepackage[normalem]{ulem} - \usepackage{makecell} + - \usepackage{xcolor} ``` -Note: `kableExtra` was using `xcolor` for alternative row color before 1.0. However, the recent updates in `fancyvbr` causes a clash in `xcolor` option. Therefore, we removed the `xcolor` dependency in version 1.0 and started to rely on `colortbl` completely. If you experience any issues, please report on github. +Note: `kableExtra` was using `xcolor` with the `table` option for alternative row color before 1.0. However, the recent updates in `fancyvbr` causes a clash in `xcolor` option. Therefore, we removed the `xcolor` dependency in version 1.0 and started to rely on `colortbl` completely. + +In reality, most cases, you still need `xcolor` to define new colors. The tricky part is that, if you are using a older version of `rmarkdown`, `xcolor` is not included in the template while in recent version, after `rmarkdown` started to use the default pandoc template, `xcolor` is included by default. To minimize the effort, we chose to load `xcolor` in the end. ## Plain LaTeX Plain LaTeX table looks relatively ugly in 2017.