diff --git a/R/as_image.R b/R/as_image.R
index eabba20..8e5e0fd 100644
--- a/R/as_image.R
+++ b/R/as_image.R
@@ -16,14 +16,19 @@
 #'
 #'
 #' @export
-as_image <- function(x, width = NULL, height = NULL,
-                     ...) {
+as_image <- function(x, width = NULL, height = NULL, file = NULL, ...) {
   if (is.null(width) + is.null(height) == 0) {
     message("Both width and height were defined. Use width only by default. ")
     height <- NULL
   }
 
-  temp_png <- tempfile(fileext = ".png")
+  if (is.null(file)) {
+    temp_png <- tempfile(fileext = ".png")
+  } else {
+    temp_png <- file
+  }
+
+
   temp_img <- save_kable(x = x, file = temp_png, ...)
 
   img_dpi <- 300
diff --git a/man/as_image.Rd b/man/as_image.Rd
index 8fcdce4..1d1688a 100644
--- a/man/as_image.Rd
+++ b/man/as_image.Rd
@@ -4,7 +4,7 @@
 \alias{as_image}
 \title{Render the table as an format-independent image and use it in rmarkdown}
 \usage{
-as_image(x, width = NULL, height = NULL, ...)
+as_image(x, width = NULL, height = NULL, file = NULL, ...)
 }
 \arguments{
 \item{x}{kable input. Either HTML or LaTeX}
@@ -13,12 +13,12 @@
 
 \item{height}{Image height in inches. (1 inch = 2.54 cm)}
 
-\item{...}{Additional arguments passed to save_kable.}
-
 \item{file}{By default, as_image saves to an temp file, which works for
 normal rmarkdown. However if you are using things like xaringan, which can't
 be a standalone html, you can specify this file be the path you need, eg.
 "img/something.png"}
+
+\item{...}{Additional arguments passed to save_kable.}
 }
 \description{
 This function generates a temporary png file using \code{save_kable}
diff --git a/vignettes/awesome_table_in_pdf.Rmd b/vignettes/awesome_table_in_pdf.Rmd
index fa84b7f..1bf5c24 100644
--- a/vignettes/awesome_table_in_pdf.Rmd
+++ b/vignettes/awesome_table_in_pdf.Rmd
@@ -11,7 +11,6 @@
   - \usepackage{longtable}
   - \usepackage{array}
   - \usepackage{multirow}
-  - \usepackage[table]{xcolor}
   - \usepackage{wrapfig}
   - \usepackage{float}
   - \usepackage{colortbl}
@@ -21,6 +20,7 @@
   - \usepackage{threeparttablex}
   - \usepackage[normalem]{ulem}
   - \usepackage{makecell}
+  - \usepackage{xcolor}
 vignette: >
   %\VignetteIndexEntry{Create Awesome PDF Table with knitr::kable and kableExtra}
   %\VignetteEngine{knitr::rmarkdown}
@@ -37,7 +37,7 @@
 \end{wrapfigure}
 The goal of `kableExtra` is to help you build common complex tables and manipulate table styles. It imports the pipe `%>%` symbol from `magrittr` and verbalizes all the functions, so basically you can add "layers" to a kable output in a way that is similar with `ggplot2` and `plotly`.
 
-To learn how to generate complex tables in LaTeX, please visit [http://haozhu233.github.io/kableExtra/awesome_table_in_html.html](http://haozhu233.github.io/kableExtra/awesome_table_in_html.html).
+To learn how to generate complex tables in HTML, please visit [http://haozhu233.github.io/kableExtra/awesome_table_in_html.html](http://haozhu233.github.io/kableExtra/awesome_table_in_html.html).
 
 # Installation
 ```r
@@ -50,6 +50,10 @@
 
 # Getting Started
 Here we are using the first few columns and rows from dataset `mtcars`
+```{r, echo = F}
+options(kableExtra.latex.load_packages = F)
+```
+
 ```{r}
 library(knitr)
 library(kableExtra)
@@ -87,7 +91,6 @@
   - \usepackage{longtable}
   - \usepackage{array}
   - \usepackage{multirow}
-  - \usepackage[table]{xcolor}
   - \usepackage{wrapfig}
   - \usepackage{float}
   - \usepackage{colortbl}
@@ -97,8 +100,11 @@
   - \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. 
+
 ## Plain LaTeX
 Plain LaTeX table looks relatively ugly in 2017.
 ```{r}
@@ -371,7 +377,7 @@
   collapse_rows(columns = 1:2, latex_hline = "major", valign = "middle")
 ```
 
-Right now, you can't automatically make striped rows based on collapsed rows but you can do it manually via the `extra_latex_after` option in `row_spec`. This feature is not officially supported. I'm only documenting it here if you want to give it a try. 
+Right now, you can't automatically make striped rows based on collapsed rows but you can do it manually via the `extra_latex_after` option in `row_spec`. This feature is not officially supported. I'm only document it here if you want to give it a try. 
 ```{r}
 kable(collapse_rows_dt[-1], "latex", align = "c", booktabs = T) %>%
   column_spec(1, bold = T, width = "5em") %>%
@@ -398,7 +404,7 @@
   collapse_rows(1:3, row_group_label_position = 'stack') 
 ```
 
-To better distinguish different layers, you can format each layer using `row_group_label_fonts`. You can also customize the hlines to better differentiate groups.
+To better distinguish different layers, you can format the each layer using `row_group_label_fonts`. You can also customize the hlines to better differentiate groups.
 
 ```{r}
 row_group_label_fonts <- list(
diff --git a/vignettes/best_practice_for_newline_in_latex_table.Rmd b/vignettes/best_practice_for_newline_in_latex_table.Rmd
index 63b3ec5..5cd5006 100644
--- a/vignettes/best_practice_for_newline_in_latex_table.Rmd
+++ b/vignettes/best_practice_for_newline_in_latex_table.Rmd
@@ -4,11 +4,11 @@
 date: "`r Sys.Date()`"
 output: pdf_document
 header-includes:
+  - \usepackage{caption}
   - \usepackage{booktabs}
   - \usepackage{longtable}
   - \usepackage{array}
   - \usepackage{multirow}
-  - \usepackage[table]{xcolor}
   - \usepackage{wrapfig}
   - \usepackage{float}
   - \usepackage{colortbl}
@@ -63,9 +63,17 @@
 dt2 %>%
   mutate_all(linebreak) %>%
   kable("latex", booktabs = T, escape = F,
+        caption = "Main Title\\\\Subtitle",
         col.names = linebreak(c("Item\n(Name)", "Value\n(Number)"), align = "c"))
 ```
 
+Note that linebreaks in table captions should be treated in a different way. You will need to insert the linebreak (`\\\\`) by yourself manually, which is easier than using `linebreak`. `linebreak` doesn't work because it put things in a `makecell`, which doesn't work in caption (as it's not a cell :P). At the same time, if you are using kableExtra 0.9.0 or any previous version, you need to load the `caption` package in LaTeX by yourself.
+
+```
+header-includes:
+  - \usepackage{caption}
+```
+
 ### Linebreak in other kableExtra functions
 If you have a need to put a linebreak in `kableExtra` functions such as `add_header_above` and `group_rows`, just go ahead and use `\n` directly (in kableExtra >= 0.8.0) and it will be automatically converted. Note that this feature is also controlled by the `escape` option in those functions. 
 
