In some cases you may want to create content that only displays for a given output format (or only displays when not rendering to a format). You can accomplish this by creating divs with the .content-visible and .content-hidden classes.

.content-visible
To make content visible only for a given format, create a div (:::) with the .content-visible class. For example, here we mark content as only visible in HTML:
::: {.content-visible when-format="html"}

Will only appear in HTML.

:::
You can also mark content as visible for all formats except a specified format. For example:
::: {.content-visible unless-format="pdf"}

Will not appear in PDF.

:::
Then when-format and unless-format attributes match the current Pandoc output format with some additional intelligence to alias related formats (e.g. html, html4, and html5). Details are provided below in Format Matching


.content-hidden
To prevent content from being displayed when rendering to a given format, create a div (:::) with the .content-hidden class. For example, here we mark content as hidden in HTML:
::: {.content-hidden when-format="html"}

Will not appear in HTML.

:::
You can also mark content as hidden for all formats except a specified format. For example:
::: {.content-hidden unless-format="pdf"}

Will only appear in PDF.

:::


Format Matching
Then when-format and unless-format clauses do some aliasing of related formats to make it more straightforward to target content. The following aliases are implemented:



Alias
Formats




latex
latex, pdf


pdf
latex, pdf


epub
epub*


html
html*, epub*, revealjs


html:js
html*, revealjs


markdown
markdown*, commonmark*, gfm, markua



Note that the html:js alias indicates that the target format is capable of executing JavaScript (this maps to all HTML formats save for ePub).