markdown-it-math
Markdown-it plugin to include math in your document
Last updated a year ago by runarberg .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$cnpm install markdown-it-math  SYNC missed versions from official npm registry. Note: This is a general markdown-it math plugin. It was originally designed to render MathML. If you intend to use MathJax, markdown-it-mathjax might be a better choise. # markdown-it-math Pythagoran theorem is $$a^2 + b^2 = c^2$$. Bayes theorem: $$P(A | B) = (P(B | A)P(A)) / P(B)$$$

<p>Pythagoran theorem is $<msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup><mo>=</mo><msup><mi>c</mi><mn>2</mn></msup>$.</p>
<p>Bayes theorem:</p>
<math display="block"><mi>P</mi><mfenced open="(" close=")"><mrow><mi>A</mi><mo stretchy="true" lspace="veryverythickmathspace" rspace="veryverythickmathspace">|</mo><mi>B</mi></mrow></mfenced><mo>=</mo><mfrac><mrow><mi>P</mi><mfenced open="(" close=")"><mrow><mi>B</mi><mo stretchy="true" lspace="veryverythickmathspace" rspace="veryverythickmathspace">|</mo><mi>A</mi></mrow></mfenced><mi>P</mi><mfenced open="(" close=")"><mi>A</mi></mfenced></mrow><mrow><mi>P</mi><mfenced open="(" close=")"><mi>B</mi></mfenced></mrow></mfrac>[/itex]


## Installation

npm install markdown-it-math --save


## Usage

var md = require('markdown-it')()
.use(require('markdown-it-math') [, options]);


where options can be (with defaults)

var options = {
inlineOpen: '$$', inlineClose: '$$',
blockOpen: '$$', blockClose: '$$\$',
renderingOptions: {},
inlineRenderer: require('ascii2mathml')(this.rendererOptions),
blockRenderer: require('ascii2mathml')(Object.assign({ display: 'block' },
this.renderingOptions))
}


(See ascii2mathml for reference about the default renderer).

## Examples

Using comma as a decimal mark

var md = require('markdown-it')()
.use(require('markdown-it-math'), {
renderingOptions: { decimalMark: ',' }
});

md.render("$$40,2$$");
// <p>$<mn>40,2</mn>$</p>


Using TeXZilla as renderer

var texzilla = require('texzilla');
var md = require('markdown-it')()
.use(require('markdown-it-math'), {
inlineRenderer: function(str) {
return texzilla.toMathMLString(str);
},
blockRenderer: function(str) {
return texzilla.toMathMLString(str, true);
}
});

md.render("$$\\sin(2\\pi)$$");
// <p><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo lspace="0em" rspace="0em">sin</mo><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow><annotation encoding="TeX">\sin(2\pi)</annotation></semantics>[/itex]</p>


Using LaTeX style delimiters

var md = require('markdown-it')()
.use(require('markdown-it-math'), {
inlineOpen: '\$$', inlineClose: '\$$',
blockOpen: '\$', blockClose: '\$'
})


Note there are restrictions on what inline delimiters you can use, based on optimization for the markdown-it parser see here for details. And block level math must be on its own lines with newlines separating the math from the delimiters.

Some text with inline math $$a^2 + b^2 = c^2$$

And block math

$e = sum_(n=0)^oo 1/n!$


## Current Tags

• 4.1.1                                ...           latest (a year ago)

## 13 Versions

• 4.1.1                                ...           a year ago
• 4.1.0                                ...           3 years ago
• 4.0.1                                ...           4 years ago
• 4.0.0                                ...           4 years ago
• 3.0.2                                ...           5 years ago
• 3.0.1                                ...           5 years ago
• 3.0.0                                ...           5 years ago
• 2.0.1                                ...           5 years ago
• 2.0.0                                ...           5 years ago
• 1.0.3                                ...           5 years ago
• 1.0.2                                ...           5 years ago
• 1.0.1                                ...           5 years ago
• 1.0.0                                ...           5 years ago
Maintainers (1)
Today 0
This Week 0
This Month 4
Last Day 0
Last Week 3
Last Month 19
Dependencies (1)
Dev Dependencies (10)
Dependents (24)