Supported markup formats#

The Jupyter Notebook format supports Markdown in text cells. There is not a strict specification for the flavor of markdown that is supported, but this page should help guide the user / developer in understanding what behavior to expect with Jupyter interfaces and markup languages.

What flavor of Markdown does the notebook format support?#

Most Jupyter Notebook interfaces use the marked.js JavaScript library for rendering markdown. This supports markdown in the following markdown flavors:

See the Marked.js specification page for more information.

Note

Currently, as the Marked.js specification changes, so to will the behavior of Markdown in many notebook interfaces.

MathJax configuration#

There are a few extra modifications that Jupyter interfaces tend to use for rendering markdown. Specifically, they automatically render mathematical equations using MathJax.

This is currently the MathJax configuration that is used:

{
    tex2jax: {
        inlineMath: [ ['$','$'], ["\\(","\\)"] ],
        displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
        processEscapes: true,
        processEnvironments: true
    },
    MathML: {
        extensions: ['content-mathml.js']
    },
    displayAlign: 'center',
    "HTML-CSS": {
        availableFonts: [],
        imageFont: null,
        preferredFont: null,
        webFont: "STIX-Web",
        styles: {'.MathJax_Display': {"margin": 0}},
        linebreaks: { automatic: true }
    },
}

See the MathJax script for the classic Notebook UI for one example.