diff --git a/R/add_header_left.R b/R/add_header_left.R
index 4129203..1b4e1fe 100644
--- a/R/add_header_left.R
+++ b/R/add_header_left.R
@@ -19,14 +19,14 @@
 #' @param align Column alignment. you can choose from "c", "l" or "r"
 #' @param bold A T/F value to control whether the text should be bolded.
 #' @param italic A T/F value to control whether the text should to be emphasized.
-#' @param full_midline This option currently only work in LaTeX. It's a
-#' TRUE/FALSE option to control if the mid line needs to be extended to the end
-#' of row.
+#' @param ... Extra options to be passed into HTML or LaTeX. Right now there is
+#' only one for LaTeX. Option full_midline is a TRUE/FALSE option to control
+#' if the mid line needs to be extended to the end of row.
 #'
 #' @export
 add_header_left <- function(kable_input, header = NULL, header_name = "",
                             align = "c", width = NULL, bold = F, italic = F,
-                            full_midline) {
+                            ...) {
   if (is.null(header)) return(kable_input)
   kable_format <- attr(kable_input, "format")
   if (!kable_format %in% c("html", "latex")) {
@@ -39,7 +39,7 @@
   }
   if (kable_format == "latex") {
     return(add_header_left_latex(kable_input, header, header_name, align,
-                                 width, bold, italic, full_midline))
+                                 width, bold, italic, ...))
   }
 }
 
@@ -203,9 +203,9 @@
       ifelse(is.null(width), "\\*", width),
       "\\}\\{",
       switch(align,
-             "l" = "\\\\raggedright",
-             "c" = "\\\\centering ",
-             "r" = "\\\\raggedleft "),
+             "l" = "\\\\raggedright\\\\arraybackslash ",
+             "c" = "\\\\centering\\\\arraybackslash ",
+             "r" = "\\\\raggedleft\\\\arraybackslash "),
       header$header[j], "\\} & "
     )
     new_row_text <- paste0(new_row_pre, contents[header$row_end[j]])
diff --git a/R/column_spec.R b/R/column_spec.R
index d4dd1ac..851861a 100644
--- a/R/column_spec.R
+++ b/R/column_spec.R
@@ -5,7 +5,9 @@
 #' bold text and italic text.
 #'
 #' @param kable_input Output of `knitr::kable()` with `format` specified
-#' @param column A numeric value indicating which column to be selected
+#' @param column A numeric value indicating which column to be selected. When
+#' you do the counting, ignore the extra header columns you added through
+#' add_header_left.
 #' @param width A character string telling HTML & LaTeX how wide the column
 #' needs to be, e.g. "10cm", "3in" or "30em".
 #' @param bold A T/F value to control whether the text of the selected column
@@ -98,9 +100,9 @@
   extra_align <- ""
   if (!is.null(width)) {
     extra_align <- switch(x,
-                          "l" = "\\\\raggedright",
-                          "c" = "\\\\centering",
-                          "r" = "\\\\raggedleft")
+                          "l" = "\\\\raggedright\\\\arraybackslash",
+                          "c" = "\\\\centering\\\\arraybackslash",
+                          "r" = "\\\\raggedleft\\\\arraybackslash")
     x <- paste0("p\\{", width, "\\}")
   }
 
diff --git a/README.md b/README.md
index 490e86a..3ecf948 100644
--- a/README.md
+++ b/README.md
@@ -4,10 +4,6 @@
 
 ***
 
-**If you find using `kableExtra` will "unload" LaTeX packages or settings you defined in the yaml header, you need to install the latest dev version of `rmarkdown` from github. Please see [issue 5](https://github.com/haozhu233/kableExtra/issues/5) & [issue 11](https://github.com/haozhu233/kableExtra/issues/11) for details.**
-
-***
-
 When we are talking about table generators in R, knitr::kable wins lots of flavor by its ultimate simplicity. Unlike those powerful table rendering engines such as `xtable`, the philosophy behind 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 tables. - Yihui
diff --git a/docs/awesome_table_in_html.Rmd b/docs/awesome_table_in_html.Rmd
index c77734a..cfbfddb 100644
--- a/docs/awesome_table_in_html.Rmd
+++ b/docs/awesome_table_in_html.Rmd
@@ -239,3 +239,12 @@
   add_header_left(c("Team X" = 5, "Team Y" = 5), "Team") %>%
   add_header_left(c("League Alpha" = 10), "League")
 ```
+
+Also, since `col_spec` won't work on these "added" header rows & columns, if you want to bold, italic or specify width for these appended columns, you can define them here. 
+```{r}
+mtcars[1:5, 1:6] %>%
+  kable("html") %>%
+  kable_styling()  %>%
+  add_header_above(c(" ", "Data 1" = 3, "Data 2" = 3)) %>%
+  add_header_left(c("Group A" = 3, "Group B" = 2), "Group", bold = T, width = "10cm")
+```
diff --git a/docs/awesome_table_in_html.html b/docs/awesome_table_in_html.html
index a755c5b..28dff27 100644
--- a/docs/awesome_table_in_html.html
+++ b/docs/awesome_table_in_html.html
@@ -11,7 +11,7 @@
 
 <meta name="author" content="Hao Zhu" />
 
-<meta name="date" content="2017-06-16" />
+<meta name="date" content="2017-06-21" />
 
 <title>Create Awesome HTML Table with knitr::kable and kableExtra</title>
 
@@ -217,7 +217,7 @@
 
 <h1 class="title toc-ignore">Create Awesome HTML Table with knitr::kable and kableExtra</h1>
 <h4 class="author"><em>Hao Zhu</em></h4>
-<h4 class="date"><em>2017-06-16</em></h4>
+<h4 class="date"><em>2017-06-21</em></h4>
 
 </div>
 
@@ -3747,6 +3747,178 @@
 </tr>
 </tbody>
 </table>
+<p>Also, since <code>col_spec</code> won’t work on these “added” header rows &amp; columns, if you want to bold, italic or specify width for these appended columns, you can define them here.</p>
+<pre class="r"><code>mtcars[1:5, 1:6] %&gt;%
+  kable(&quot;html&quot;) %&gt;%
+  kable_styling()  %&gt;%
+  add_header_above(c(&quot; &quot;, &quot;Data 1&quot; = 3, &quot;Data 2&quot; = 3)) %&gt;%
+  add_header_left(c(&quot;Group A&quot; = 3, &quot;Group B&quot; = 2), &quot;Group&quot;, bold = T, width = &quot;10cm&quot;)</code></pre>
+<?xml version="1.0" encoding="UTF-8" ?>
+<table class="table" style="margin-left: auto; margin-right: auto;">
+<thead>
+<tr>
+<th style="text-align:center; vertical-align: bottom;width: 10cm; font-weight: bold; " rowspan="2">
+Group
+</th>
+<th style="border-bottom:hidden"></th>
+<th style="text-align:center; border-bottom:hidden; padding-bottom:0; padding-left:3px;padding-right:3px;" colspan="3">
+<div style="border-bottom: 1px solid #ddd;padding-bottom: 5px;">
+Data 1
+</div>
+</th>
+<th style="text-align:center; border-bottom:hidden; padding-bottom:0; padding-left:3px;padding-right:3px;" colspan="3">
+<div style="border-bottom: 1px solid #ddd;padding-bottom: 5px;">
+Data 2
+</div>
+</th>
+</tr>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+mpg
+</th>
+<th style="text-align:right;">
+cyl
+</th>
+<th style="text-align:right;">
+disp
+</th>
+<th style="text-align:right;">
+hp
+</th>
+<th style="text-align:right;">
+drat
+</th>
+<th style="text-align:right;">
+wt
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:center; vertical-align: middle;width: 10cm; font-weight: bold; " rowspan="3">
+Group A
+</td>
+<td style="text-align:left;">
+Mazda RX4
+</td>
+<td style="text-align:right;">
+21.0
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+160
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;">
+3.90
+</td>
+<td style="text-align:right;">
+2.620
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Mazda RX4 Wag
+</td>
+<td style="text-align:right;">
+21.0
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+160
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;">
+3.90
+</td>
+<td style="text-align:right;">
+2.875
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Datsun 710
+</td>
+<td style="text-align:right;">
+22.8
+</td>
+<td style="text-align:right;">
+4
+</td>
+<td style="text-align:right;">
+108
+</td>
+<td style="text-align:right;">
+93
+</td>
+<td style="text-align:right;">
+3.85
+</td>
+<td style="text-align:right;">
+2.320
+</td>
+</tr>
+<tr>
+<td style="text-align:center; vertical-align: middle;width: 10cm; font-weight: bold; " rowspan="2">
+Group B
+</td>
+<td style="text-align:left;">
+Hornet 4 Drive
+</td>
+<td style="text-align:right;">
+21.4
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+258
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;">
+3.08
+</td>
+<td style="text-align:right;">
+3.215
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Hornet Sportabout
+</td>
+<td style="text-align:right;">
+18.7
+</td>
+<td style="text-align:right;">
+8
+</td>
+<td style="text-align:right;">
+360
+</td>
+<td style="text-align:right;">
+175
+</td>
+<td style="text-align:right;">
+3.15
+</td>
+<td style="text-align:right;">
+3.440
+</td>
+</tr>
+</tbody>
+</table>
 </div>
 
 
diff --git a/docs/awesome_table_in_pdf.pdf b/docs/awesome_table_in_pdf.pdf
index cc7cf6c..cdd9be6 100644
--- a/docs/awesome_table_in_pdf.pdf
+++ b/docs/awesome_table_in_pdf.pdf
Binary files differ
diff --git a/man/add_header_left.Rd b/man/add_header_left.Rd
index 51b2ae6..aab6b16 100644
--- a/man/add_header_left.Rd
+++ b/man/add_header_left.Rd
@@ -5,7 +5,7 @@
 \title{Add a heading column to the left side of the table}
 \usage{
 add_header_left(kable_input, header = NULL, header_name = "", align = "c",
-  width = NULL, bold = F, italic = F, full_midline)
+  width = NULL, bold = F, italic = F, ...)
 }
 \arguments{
 \item{kable_input}{Output of `knitr::kable()` with `format` specified}
@@ -28,9 +28,9 @@
 
 \item{italic}{A T/F value to control whether the text should to be emphasized.}
 
-\item{full_midline}{This option currently only work in LaTeX. It's a
-TRUE/FALSE option to control if the mid line needs to be extended to the end
-of row.}
+\item{...}{Extra options to be passed into HTML or LaTeX. Right now there is
+only one for LaTeX. Option full_midline is a TRUE/FALSE option to control
+if the mid line needs to be extended to the end of row.}
 }
 \description{
 This function uses the same syntax as add_header_above. It will
diff --git a/man/column_spec.Rd b/man/column_spec.Rd
index a107eb8..cf4b5cf 100644
--- a/man/column_spec.Rd
+++ b/man/column_spec.Rd
@@ -10,7 +10,9 @@
 \arguments{
 \item{kable_input}{Output of `knitr::kable()` with `format` specified}
 
-\item{column}{A numeric value indicating which column to be selected}
+\item{column}{A numeric value indicating which column to be selected. When
+you do the counting, ignore the extra header columns you added through
+add_header_left.}
 
 \item{width}{A character string telling HTML & LaTeX how wide the column
 needs to be, e.g. "10cm", "3in" or "30em".}
diff --git a/tests/visual_tests/add_header_left.Rmd b/tests/visual_tests/add_header_left.Rmd
index be34a14..3083fa3 100644
--- a/tests/visual_tests/add_header_left.Rmd
+++ b/tests/visual_tests/add_header_left.Rmd
@@ -11,9 +11,9 @@
 
 mtcars[1:10, 1:6] %>%
   kable("latex", booktabs= T) %>%
-  # kable_styling(latex_options = "striped") %>%
+  kable_styling(latex_options = "striped") %>%
   add_header_above(c(" ", "a%" = 3, "b" = 3)) %>%
-  add_header_left(c("a%" = 3, "b" = 7), "new") %>%
+  add_header_left(c("a%knjnuulkjlkj" = 3, "b" = 7), "new", align = "l") %>%
   add_header_left(c("aadjfoi adlfsjs adsa" = 4, "b" = 6), "new2",  width = "1.5cm") %>%
   add_header_left(c("a" = 5, "b" = 5), "xx", width = "1cm", align = "r")
 ```
diff --git a/tests/visual_tests/column_row_spec_pdf.Rmd b/tests/visual_tests/column_row_spec_pdf.Rmd
index d76c802..b639092 100644
--- a/tests/visual_tests/column_row_spec_pdf.Rmd
+++ b/tests/visual_tests/column_row_spec_pdf.Rmd
@@ -39,35 +39,8 @@
   )
 )
 
-kable(dt, "latex", booktabs = T) %>%
-  kable_styling(latex_options = "scale_down") %>%
-  column_spec(2, "30em", bold = T) %>%
+kable(dt, "latex", booktabs = T, align = "r") %>%
+  column_spec(2, "3cm", bold = T) %>%
   column_spec(4, "3cm", italic = T)
 ```
 
-```{r}
-dt <- mtcars[1:5, 1:6]
-dt$wt <- paste(dt$wt, "%")
-dt$mpg <- paste(dt$mpg, "&")
-dt$cyl <- paste(dt$cyl, "$")
-
-kable(dt, "latex", booktabs = T) %>%
-  group_rows("Group 1", 2, 4) %>%
-  column_spec(7, bold = T) %>%
-  row_spec(5, bold = T, italic = T)
-```
-
-
-```{r}
-dt <- mtcars[1:5, 1:6]
-dt$wt <- paste(dt$wt, "%")
-dt$mpg <- paste(dt$mpg, "&")
-dt$cyl <- paste(dt$cyl, "$")
-
-kable(dt, "latex", booktabs = T) %>%
-  add_header_left(c("aaa aaa aaa aaa aaa" = 2, "bbb" = 3), "A") %>%
-  column_spec(8, bold = T) %>%
-  column_spec(1, bold = T, width = "1em") %>%
-  row_spec(5, bold = T, italic = T)
-```
-
diff --git a/tests/visual_tests/kable_styling_pdf.Rmd b/tests/visual_tests/kable_styling_pdf.Rmd
index ba1f1a2..7acd914 100644
--- a/tests/visual_tests/kable_styling_pdf.Rmd
+++ b/tests/visual_tests/kable_styling_pdf.Rmd
@@ -65,3 +65,8 @@
 ```
 
 
+```{r}
+usepackage_latex("caption", "singlelinecheck=false")
+kable(dt, format = "latex", booktabs = T, caption = "long caption long caption long caption long caption long caption long caption long caption") %>%
+  kable_styling(latex_options = c("striped", "hold_position"))
+```
