Cells where the markdown property is TRUE will be rendered as markdown.

markdown(ht) <- value
set_markdown(ht, row, col, value = TRUE)
map_markdown(ht, row, col, fn)



A huxtable.


A row specifier. See rowspecs for details.


An optional column specifier.


A mapping function. See mapping-functions for details.


A logical vector or matrix.

Set to NA to reset to the default, which is FALSE.


markdown() returns the markdown property. set_markdown() returns the modified huxtable.


Markdown is currently implemented for HTML, Word, Powerpoint, RTF, LaTeX and on-screen display. Word requires the ftExtra package.

Most formats use commonmark, with the "strikethrough" extension enabled.

The following features are intended to work:

  • bold and italic text

  • strikethrough (write ~~text~~ to strike through text).

  • hyperlinks

There are some quirks:

  • Paragraph-level properties (e.g. lists) won't work in Word.

  • Strikethrough will probably not work in Word.

  • To make lists work in LaTeX, set width() and ensure wrap() is TRUE.

  • Inline images in RTF work using the INCLUDEPICTURE field type.

If you try to use markdown tables, then seek psychiatric help.

See also

set_markdown_contents(), a shortcut function.


jams[3, 2] <- "~2.10~ **Sale!** 1.50" set_markdown(jams, 3, 2)
#> Type Price #> Strawberry 1.90  #> Raspberry 2.10 Sale! 1.50 #> Plum 1.80  #> #> Column names: Type, Price