Add TeX math equations to your Markdown documents rendered by markdown-it parser. KaTeX is used as a fast math renderer.
markdown-it-texmath
reached quite a stable state with version 1.0 .
Native begin{...}
/ end{...}
environments are supported as delimiters itself ... thanks to William Stein for proposing.
\begin{equation}
a^2+b^2=c^2
\end{equation}
They can even be nested.
\begin{equation}
\begin{pmatrix}
A & B \\ B & C
\end{pmatrix}
\end{equation}
Different delimiters can be merged. Delimiters options property supports array notation for that. Example: delimiters: ['dollars','beg_end']
. Thanks to Liu YongLiang for proposing.
Simplify the process of authoring markdown documents containing math formulas. This extension is a comfortable tool for scientists, engineers and students with markdown as their first choice document format.
'dollars'
(default)$...$
or $$...$$
$$...$$
$$...$$ (1)
'brackets'
\(...\)
\[...\]
\[...\] (1)
'doxygen'
\f$...$\f
\f[...\f]
\f[...\f] (1)
'gitlab'
$`...`$
```math ... ```
```math ... ``` (1)
'julia'
$...$
or ``...``
```math ... ```
```math ... ``` (1)
'kramdown'
$$...$$
$$...$$
$$...$$ (1)
'beg_end'
(display math only)begin{...}...end{...}
View a test table.
node.js
Install the extension. Verify having markdown-it
and katex
already installed .
npm install markdown-it-texmath
Use it with JavaScript.
const tm = require('markdown-it-texmath');
const md = require('markdown-it')({html:true})
.use(tm, { engine: require('katex'),
delimiters: 'dollars',
katexOptions: { macros: {"\\RR": "\\mathbb{R}"} } });
const str = "Euler\'s identity $e^{i\\pi}+1=0$ is a beautiful formula in $\\RR^2$.";
md.render(str);
<!doctype html>
<html>
<head>
<meta charset='utf-8'>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css">
<link rel="stylesheet" href="https://github.com/goessner/markdown-it-texmath/blob/master/./css/texmath.css">
<script src="https://cdn.jsdelivr.net/npm/markdown-it/dist/markdown-it.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.js"></script>
<script src="https://github.com/goessner/markdown-it-texmath/raw/master/./texmath.js"></script>
<title>test</title>
</head>
<body>
<div id="out"></div>
<script>
const str = `"Euler\'s identity $e^{i\\pi}+1=0$ is a beautiful formula in $\\RR^2$."`
document.addEventListener("DOMContentLoaded", () => {
const md = markdownit({html:true})
.use(texmath, { engine: katex,
delimiters: 'dollars',
katexOptions: { macros: {"\\RR": "\\mathbb{R}"} } } );
out.innerHTML = md.render(str);
})
</script>
</body>
</html>
Use following links for texmath.js
and texmath.css
https://cdn.jsdelivr.net/npm/markdown-it-texmath/texmath.min.js
https://cdn.jsdelivr.net/npm/markdown-it-texmath/css/texmath.min.css
markdown-it
: Markdown parser done right. Fast and easy to extend.katex
: This is where credits for fast rendering TeX math in HTML go to.nothing yet
Support of inline syntax of display math ?
dollars
mode is supported starting from version "0.7.0". So 'This formula $$a+b=c$$ will result in display math presentation'
, i.e. gets displayed on a separate line. For true inline math use $..$
mode like before.Multiline diplay math in blockquote
block possible ?
blockquote
blocks is able to span multiple lines with version "0.7.3".markdown-it-texmath
with React Native does not work, why ?
markdown-it-texmath
is using regular expressions with y
(sticky) property and cannot avoid this. The use of the y
flag in regular expressions means the plugin is not compatible with React Native (which as of now doesn't support it and throws an error Invalid flags supplied to RegExp constructor
).Why doesn't markdown-it-texmath
work with other engines ?
markdown-it-texmath
is a personal project of mine. As it does very well with KaTeX what I want it to do, I offer it to the public as an open source plugin. I do not have time or interest to integrate other math engines.
But if someone wants to help here out, pull requests are always welcome.0.15.6
.markdown-it
13.0.1
.markdown-it
. Thanks to williamstein.markdown-it
. Thanks to williamstein.begin{..}
/ end{...}
environments as delimiters itself. Thanks to williamstein for proposing.delimiters:[<delims1>, <delims2>]
. Thanks to tlylt for proposing.</math>
end-tag with display-mode equations removed. All modes were affected ... invisible effect though. Thanks to yuanbug for reporting.
{katexOptions:...}
within markdown-it-texmath options are directly handed over to katex. See KaTeX options. Thanks to Kirill for pull request.outerSpace
option, inline rules dollars
explicitly require surrounding spaces when set to true
(default is false
for backwards compatibility). This is primarily a guard against misinterpreting single $
's in normal markdown text.gitlab
mode and display math inside blockquote
section removed.gitlab
mode removed.pandoc
mode removed. Enhanced dollars
mode now does, what pandoc
mode was requiring.dollars
mode inline math expression $$..$$
will result in display math presentation now. Adding equation numbers $$..$$(1)
is not supported in inline syntax.blockquote
blocks removed.blockquote
blocks can span multiple lines, provided that every line starts with a >
character.markdown-it
version 11.0.0katex
over to markdown-it-texmath
using options.engine
object. Works with node.js
and browsers. With node.js
options.engine
entry { engine:'katex' }
as a string also works.use
method of markdown-it-texmath
is deprecated now.block
mode regular expression with gitlab
delimiters, so removing the newline
bug.markdown-it-texmath
is licensed under the MIT License