diff --git a/R/footnote.R b/R/footnote.R
index 9999be7..8863327 100644
--- a/R/footnote.R
+++ b/R/footnote.R
@@ -1,5 +1,31 @@
 #' Add footnote (new)
 #'
+#' @description `footnote` provides a more flexible way to add footnote. You
+#' can add mutiple sets of footnote using differeny notation system. It is
+#' also possible to specify footnote section header one by one and print
+#' footnotes as a chunk of texts.
+#'
+#' @param kable_input HTML or LaTeX table generated by `knitr::kable`
+#' @param general Text for general footnote comments. Footnotes in this section
+#' won't be labeled with any notations
+#' @param number A vector of footnote texts. Footnotes here will be numbered.
+#' There is no upper cap for the number of footnotes here
+#' @param alphabet A vector of footnote texts, Footnotes here will be labeled
+#' with abc. The vector here should not have more than 26 elements.
+#' @param symbol A vector of footnote texts, Footnotes here will be labeled
+#' with special symbols. The vector here should not have more than 20 elements.
+#' @param footnote_order The order of how to arrange `general`, `number`,
+#' `alphabet` and `symbol`.
+#' @param footnote_as_chunk T/F value. Default is FALSE. It controls whether
+#' the footnotes should be printed in a chunk (without line break).
+#' @param escape T/F value. It controls whether the contents and titles should
+#' be escaped against HTML or LaTeX. Default is TRUE.
+#' @param general_title Section header for general footnotes. Default is
+#' "Note: ".
+#' @param number_title Section header for number footnotes. Default is "".
+#' @param alphabet_title Section header for alphabet footnotes. Default is "".
+#' @param symbol_title Section header for symbol footnotes. Default is "".
+#'
 #' @export
 footnote <- function(kable_input,
                      general = NULL,
@@ -9,6 +35,7 @@
                      footnote_order = c("general", "number",
                                         "alphabet", "symbol"),
                      footnote_as_chunk = FALSE,
+                     escape = TRUE,
                      general_title = "Note: ",
                      number_title = "",
                      alphabet_title = "",
@@ -19,15 +46,6 @@
     message("Currently generic markdown table using pandoc is not supported.")
     return(kable_input)
   }
-  footnote_titles <- list(
-    general = general_title, number = number_title,
-    alphabet = alphabet_title, symbol = symbol_title
-  )
-  footnote_contents <- list(
-    general = general, number = number, alphabet = alphabet, symbol = symbol
-  )
-  notnull <- names(footnote_contents)[!sapply(footnote_contents, is.null)]
-  if (length(notnull) == 0) {return(kable_input)}
   if (length(alphabet) > 26) {
     alphabet <- alphabet[1:26]
     warning("Please don't use more than 26 footnotes in table_footnote ",
@@ -38,9 +56,28 @@
     warning("Please don't use more than 20 footnotes in table_footnote ",
             "symbol. Use number instead.")
   }
+  footnote_titles <- list(
+    general = general_title, number = number_title,
+    alphabet = alphabet_title, symbol = symbol_title
+  )
+  footnote_contents <- list(
+    general = general, number = number, alphabet = alphabet, symbol = symbol
+  )
+  notnull <- names(footnote_contents)[!sapply(footnote_contents, is.null)]
+  if (length(notnull) == 0) {return(kable_input)}
   footnote_order <- footnote_order[footnote_order %in% notnull]
   footnote_titles <- footnote_titles[footnote_order]
   footnote_contents <- footnote_contents[footnote_order]
+  footnote_contents <- lapply(footnote_contents, esca)
+  if (escape) {
+    if (kable_format == "html") {
+      footnote_contents <- lapply(footnote_contents, escape_html)
+      footnote_titles <- lapply(footnote_titles, escape_html)
+    } else {
+      footnote_contents <- lapply(footnote_contents, escape_latex)
+      footnote_titles <- lapply(footnote_titles, escape_latex)
+    }
+  }
   footnote_table <- footnote_table_maker(
     kable_format, footnote_titles, footnote_contents
   )
diff --git a/R/footnote_marker.R b/R/footnote_marker.R
index 45ffafb..df54339 100644
--- a/R/footnote_marker.R
+++ b/R/footnote_marker.R
@@ -1,4 +1,16 @@
 #' Footnote marker
+#'
+#' @description Put footnote mark in superscription in table. Unless you are
+#' using it in the `caption` of `kable`, you will need to put `escape = F`
+#' in `kable` (similar with `cell_spec`). Again, similar with `cell_spec`, the
+#' `format` option here can read default value from global option
+#' `knitr.table.format`.
+#'
+#' @param x a number. For example, for `footnote_marker_alphabet(2)` will
+#' return "b" in HTML.
+#' @param format Either `html` or `latex`. All functions here can read
+#' default value from global option `knitr.table.format`.
+#'
 #' @export
 footnote_marker_number <- function(x, format) {
   if (missing(format) || is.null(format)) {
@@ -15,6 +27,7 @@
   }
 }
 
+#' @rdname footnote_marker_number
 #' @export
 footnote_marker_alphabet <- function(x, format) {
   if (missing(format) || is.null(format)) {
@@ -32,6 +45,7 @@
   }
 }
 
+#' @rdname footnote_marker_number
 #' @export
 footnote_marker_symbol <- function(x, format) {
   if (missing(format) || is.null(format)) {
diff --git a/man/footnote.Rd b/man/footnote.Rd
index 1dddc7d..b2cc29c 100644
--- a/man/footnote.Rd
+++ b/man/footnote.Rd
@@ -6,9 +6,46 @@
 \usage{
 footnote(kable_input, general = NULL, number = NULL, alphabet = NULL,
   symbol = NULL, footnote_order = c("general", "number", "alphabet",
-  "symbol"), footnote_as_chunk = FALSE, general_title = "Note: ",
-  number_title = "", alphabet_title = "", symbol_title = "")
+  "symbol"), footnote_as_chunk = FALSE, escape = TRUE,
+  general_title = "Note: ", number_title = "", alphabet_title = "",
+  symbol_title = "")
+}
+\arguments{
+\item{kable_input}{HTML or LaTeX table generated by \code{knitr::kable}}
+
+\item{general}{Text for general footnote comments. Footnotes in this section
+won't be labeled with any notations}
+
+\item{number}{A vector of footnote texts. Footnotes here will be numbered.
+There is no upper cap for the number of footnotes here}
+
+\item{alphabet}{A vector of footnote texts, Footnotes here will be labeled
+with abc. The vector here should not have more than 26 elements.}
+
+\item{symbol}{A vector of footnote texts, Footnotes here will be labeled
+with special symbols. The vector here should not have more than 20 elements.}
+
+\item{footnote_order}{The order of how to arrange \code{general}, \code{number},
+\code{alphabet} and \code{symbol}.}
+
+\item{footnote_as_chunk}{T/F value. Default is FALSE. It controls whether
+the footnotes should be printed in a chunk (without line break).}
+
+\item{escape}{T/F value. It controls whether the contents and titles should
+be escaped against HTML or LaTeX. Default is TRUE.}
+
+\item{general_title}{Section header for general footnotes. Default is
+"Note: ".}
+
+\item{number_title}{Section header for number footnotes. Default is "".}
+
+\item{alphabet_title}{Section header for alphabet footnotes. Default is "".}
+
+\item{symbol_title}{Section header for symbol footnotes. Default is "".}
 }
 \description{
-Add footnote (new)
+\code{footnote} provides a more flexible way to add footnote. You
+can add mutiple sets of footnote using differeny notation system. It is
+also possible to specify footnote section header one by one and print
+footnotes as a chunk of texts.
 }
diff --git a/man/footnote_marker_number.Rd b/man/footnote_marker_number.Rd
index cfa0c16..c16664c 100644
--- a/man/footnote_marker_number.Rd
+++ b/man/footnote_marker_number.Rd
@@ -2,10 +2,27 @@
 % Please edit documentation in R/footnote_marker.R
 \name{footnote_marker_number}
 \alias{footnote_marker_number}
+\alias{footnote_marker_alphabet}
+\alias{footnote_marker_symbol}
 \title{Footnote marker}
 \usage{
 footnote_marker_number(x, format)
+
+footnote_marker_alphabet(x, format)
+
+footnote_marker_symbol(x, format)
+}
+\arguments{
+\item{x}{a number. For example, for \code{footnote_marker_alphabet(2)} will
+return "b" in HTML.}
+
+\item{format}{Either \code{html} or \code{latex}. All functions here can read
+default value from global option \code{knitr.table.format}.}
 }
 \description{
-Footnote marker
+Put footnote mark in superscription in table. Unless you are
+using it in the \code{caption} of \code{kable}, you will need to put \code{escape = F}
+in \code{kable} (similar with \code{cell_spec}). Again, similar with \code{cell_spec}, the
+\code{format} option here can read default value from global option
+\code{knitr.table.format}.
 }
