complete documentations for changes
diff --git a/R/kable_styling.R b/R/kable_styling.R
index bf2da86..a824d77 100644
--- a/R/kable_styling.R
+++ b/R/kable_styling.R
@@ -33,7 +33,10 @@
 #' a `LaTeX` table, if `float_*` is selected, `LaTeX` package `wrapfig` will be
 #' imported.
 #' @param font_size A numeric input for table font size
-#' @param ... extra options for HTML or LaTeX
+#' @param ... extra options for HTML or LaTeX. For LaTeX, extra options includes
+#' `repeat_header_method` and `repeat_header_text`. `repeat_header_method` can
+#' either be `append`(default) or `replace` while `repeat_header_text` is just a
+#' text string you want to append on or replace the caption.
 #'
 #' @examples x_html <- knitr::kable(head(mtcars), "html")
 #' kable_styling(x_html, "striped", position = "left", font_size = 7)
@@ -168,7 +171,8 @@
                              position = c("center", "left", "right",
                                           "float_left", "float_right"),
                              font_size = NULL,
-                             repeat_header_text = "\\textit{(continued)}") {
+                             repeat_header_text = "\\textit{(continued)}",
+                             repeat_header_method = c("append", "replace")) {
 
   latex_options <- match.arg(
     latex_options,
@@ -176,6 +180,8 @@
     several.ok = T
   )
 
+  repeat_header_method <- match.arg(repeat_header_method)
+
   out <- NULL
   out <- as.character(kable_input)
   table_info <- magic_mirror(kable_input)
@@ -194,7 +200,8 @@
   }
 
   if ("repeat_header" %in% latex_options & table_info$tabular == "longtable") {
-    out <- styling_latex_repeat_header(out, table_info, repeat_header_text)
+    out <- styling_latex_repeat_header(out, table_info, repeat_header_text,
+                                       repeat_header_method)
   }
 
   if (full_width) {
@@ -241,7 +248,8 @@
   sub(table_info$end_tabular, paste0(table_info$end_tabular, "\\}"), x)
 }
 
-styling_latex_repeat_header <- function(x, table_info, repeat_header_text) {
+styling_latex_repeat_header <- function(x, table_info, repeat_header_text,
+                                        repeat_header_method) {
   x <- read_lines(x)
   if (table_info$booktabs) {
     header_rows_start <- which(x == "\\toprule")[1]
@@ -257,10 +265,10 @@
       "}\\\\"
     )
   } else {
-    continue_line <- paste0(
-      "\\caption{", table_info$caption, " ", repeat_header_text,
-      "}\\\\"
-    )
+    if (repeat_header_method == "append") {
+      repeat_header_text <- paste(table_info$caption, repeat_header_text)
+    }
+    continue_line <- paste0("\\caption{", repeat_header_text, "}\\\\")
   }
 
   x <- c(