add PDF vignette to CRAN
diff --git a/inst/doc/awesome_table_in_pdf.R b/inst/doc/awesome_table_in_pdf.R
new file mode 100644
index 0000000..741a478
--- /dev/null
+++ b/inst/doc/awesome_table_in_pdf.R
@@ -0,0 +1,151 @@
+## ------------------------------------------------------------------------
+library(knitr)
+library(kableExtra)
+dt <- mtcars[1:5, 1:6]
+
+## ------------------------------------------------------------------------
+options(knitr.table.format = "latex") 
+## If you don't define format here, you'll need put `format = "latex"` 
+## in every kable function.
+
+## ------------------------------------------------------------------------
+kable(dt)
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T)
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling(latex_options = "striped")
+
+## ------------------------------------------------------------------------
+kable(dt, caption = "Demo table", booktabs = T) %>%
+  kable_styling(latex_options = c("striped", "hold_position"))
+
+## ------------------------------------------------------------------------
+kable(cbind(dt, dt, dt), booktabs = T) %>%
+  kable_styling(latex_options = c("striped", "scale_down"))
+
+## ------------------------------------------------------------------------
+kable(cbind(dt), booktabs = T) %>%
+  kable_styling(latex_options = c("striped", "scale_down"))
+
+## ------------------------------------------------------------------------
+long_dt <- rbind(mtcars, mtcars) 
+
+kable(long_dt, longtable = T, booktabs = T, caption = "Longtable") %>%
+  add_header_above(c(" ", "Group 1" = 5, "Group 2" = 6)) %>%
+  kable_styling(latex_options = c("repeat_header"))
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling(full_width = T)
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling(position = "center")
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling(position = "float_right")
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling(font_size = 7)
+
+## ------------------------------------------------------------------------
+text_tbl <- data.frame(
+  Items = c("Item 1", "Item 2", "Item 3"),
+  Features = c(
+    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vehicula tempor ex. Morbi malesuada sagittis turpis, at venenatis nisl luctus a. ",
+    "In eu urna at magna luctus rhoncus quis in nisl. Fusce in velit varius, posuere risus et, cursus augue. Duis eleifend aliquam ante, a aliquet ex tincidunt in. ", 
+    "Vivamus venenatis egestas eros ut tempus. Vivamus id est nisi. Aliquam molestie erat et sollicitudin venenatis. In ac lacus at velit scelerisque mattis. "
+  )
+)
+
+kable(text_tbl, booktabs = T) %>%
+  kable_styling(full_width = F) %>%
+  column_spec(1, bold = T) %>%
+  column_spec(2, width = "30em")
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling("striped", full_width = F) %>%
+  column_spec(7, bold = T) %>%
+  row_spec(5, bold = T)
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling() %>%
+  add_header_above(c(" " = 1, "Group 1" = 2, "Group 2" = 2, "Group 3" = 2))
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling(latex_options = "striped") %>%
+  add_header_above(c(" ", "Group 1" = 2, "Group 2" = 2, "Group 3" = 2)) %>%
+  add_header_above(c(" ", "Group 4" = 4, "Group 5" = 2)) %>%
+  add_header_above(c(" ", "Group 6" = 6), bold = T, italic = T)
+
+## ------------------------------------------------------------------------
+kable(mtcars[1:10, 1:6], caption = "Group Rows", booktabs = T) %>%
+  kable_styling() %>%
+  group_rows("Group 1", 4, 7) %>%
+  group_rows("Group 2", 8, 10)
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  group_rows("Group 1", 4, 5, latex_gap_space = "2em")
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  add_indent(c(1, 3, 5))
+
+## ------------------------------------------------------------------------
+collapse_rows_dt <- data.frame(C1 = c(rep("a", 10), rep("b", 5)),
+                 C2 = c(rep("c", 7), rep("d", 3), rep("c", 2), rep("d", 3)),
+                 C3 = 1:15,
+                 C4 = sample(c(0,1), 15, replace = TRUE))
+kable(collapse_rows_dt, "latex", booktabs = T, align = "c") %>%
+  column_spec(1, bold=T) %>%
+  collapse_rows(columns = 1:2)
+
+## ------------------------------------------------------------------------
+kable(collapse_rows_dt, "latex", align = "c") %>%
+  column_spec(1, bold = T, width = "5em") %>%
+  collapse_rows(1:2)
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling() %>%
+  add_footnote(c("Footnote 1", "Have a good day."), notation = "alphabet")
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling() %>%
+  add_footnote(c("Footnote 1", "Have a good day."), notation = "number")
+
+## ------------------------------------------------------------------------
+kable(dt, booktabs = T) %>%
+  kable_styling() %>%
+  add_footnote(c("Footnote 1", "Footnote 2", "Footnote 3"), notation = "symbol")
+
+## ------------------------------------------------------------------------
+kable(dt, caption = "Demo Table[note]", booktabs = T) %>%
+  kable_styling(latex_options = "hold_position") %>%
+  add_header_above(c(" ", "Group 1[note]" = 3, "Group 2[note]" = 3)) %>%
+  add_footnote(c("This table is from mtcars", 
+                 "Group 1 contains mpg, cyl and disp", 
+                 "Group 2 contains hp, drat and wt"), 
+               notation = "symbol")
+
+## ------------------------------------------------------------------------
+kable(dt, caption = "Demo Table (Landscape)[note]", booktabs = T) %>%
+  kable_styling(latex_options = c("hold_position")) %>%
+  add_header_above(c(" ", "Group 1[note]" = 3, "Group 2[note]" = 3)) %>%
+  add_footnote(c("This table is from mtcars", 
+                 "Group 1 contains mpg, cyl and disp", 
+                 "Group 2 contains hp, drat and wt"), 
+               notation = "symbol") %>%
+  group_rows("Group 1", 4, 5) %>%
+  landscape()
+