diff --git a/R/row_spec.R b/R/row_spec.R
index 0c71060..55a8bed 100644
--- a/R/row_spec.R
+++ b/R/row_spec.R
@@ -11,13 +11,15 @@
 #' need to be bolded.
 #' @param italic A T/F value to control whether the text of the selected row
 #' need to be emphasized.
+#' @param monospace A T/F value to control whether the text of the selected column
+#' need to be monospaced (verbatim)
 #'
 #' @examples x <- knitr::kable(head(mtcars), "html")
 #' row_spec(x, 1, bold = TRUE, italic = TRUE)
 #'
 #' @export
 row_spec <- function(kable_input, row,
-                     bold = FALSE, italic = FALSE) {
+                     bold = FALSE, italic = FALSE, monospace = FALSE) {
   if (!is.numeric(row)) {
     stop("row must be a numeric value")
   }
@@ -27,14 +29,14 @@
     return(kable_input)
   }
   if (kable_format == "html") {
-    return(row_spec_html(kable_input, row, bold, italic))
+    return(row_spec_html(kable_input, row, bold, italic, monospace))
   }
   if (kable_format == "latex") {
-    return(row_spec_latex(kable_input, row, bold, italic))
+    return(row_spec_latex(kable_input, row, bold, italic, monospace))
   }
 }
 
-row_spec_html <- function(kable_input, row, bold, italic) {
+row_spec_html <- function(kable_input, row, bold, italic, monospace) {
   kable_attrs <- attributes(kable_input)
   kable_xml <- read_kable_as_xml(kable_input)
   kable_tbody <- xml_tpart(kable_xml, "tbody")
@@ -57,13 +59,17 @@
       xml_attr(target_cell, "style") <- paste0(xml_attr(target_cell, "style"),
                                                "font-style: italic;")
     }
+    if (monospace) {
+      xml_attr(target_cell, "style") <- paste0(xml_attr(target_cell, "style"),
+                                               "font-family: monospace;")
+    }
   }
   out <- as_kable_xml(kable_xml)
   attributes(out) <- kable_attrs
   return(out)
 }
 
-row_spec_latex <- function(kable_input, row, bold, italic) {
+row_spec_latex <- function(kable_input, row, bold, italic, monospace) {
   table_info <- magic_mirror(kable_input)
   target_row <- table_info$contents[row + 1]
   new_row <- latex_row_cells(target_row)
@@ -77,6 +83,11 @@
       paste0("\\\\em{", x, "}")
     })
   }
+  if (monospace) {
+    new_row <- lapply(new_row, function(x) {
+      paste0("\\\\ttfamily{", x, "}")
+    })
+  }
   new_row <- paste(unlist(new_row), collapse = " & ")
 
   out <- sub(target_row, new_row, as.character(kable_input), perl = T)
diff --git a/man/row_spec.Rd b/man/row_spec.Rd
index d8237ad..8ad0c7d 100644
--- a/man/row_spec.Rd
+++ b/man/row_spec.Rd
@@ -4,7 +4,8 @@
 \alias{row_spec}
 \title{Specify the look of the selected row}
 \usage{
-row_spec(kable_input, row, bold = FALSE, italic = FALSE)
+row_spec(kable_input, row, bold = FALSE, italic = FALSE,
+  monospace = FALSE)
 }
 \arguments{
 \item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
@@ -17,6 +18,9 @@
 
 \item{italic}{A T/F value to control whether the text of the selected row
 need to be emphasized.}
+
+\item{monospace}{A T/F value to control whether the text of the selected column
+need to be monospaced (verbatim)}
 }
 \description{
 This function allows users to select a row and then specify
diff --git a/tests/visual_tests/column_row_spec_pdf.Rmd b/tests/visual_tests/column_row_spec_pdf.Rmd
index 8ffe566..686cf8c 100644
--- a/tests/visual_tests/column_row_spec_pdf.Rmd
+++ b/tests/visual_tests/column_row_spec_pdf.Rmd
@@ -42,6 +42,7 @@
 kable(dt, "latex", booktabs = T, align = "r") %>%
   column_spec(2, "3cm", bold = T) %>%
   column_spec(3, monospace = T)%>%
-  column_spec(4, "3cm", italic = T) 
+  column_spec(4, "3cm", italic = T)  %>%
+  row_spec(3, monospace = T)
 ```
 
