Skip to main content
Version: 2.0.0-beta.5 🚧

Math Equations

Mathematical equations can be rendered using KaTeX.


Please read KaTeX documentation for more details.


Write inline math equations by wrapping LaTeX equations between $:

Let $f:[a,b] \to \R$ be Riemann integrable. Let $F:[a,b]\to\R$ be $F(x)=\int_{a}^{x}f(t)dt$. Then $$F$$ is continuous, and at all $x$ such that $f$ is continuous at $x$, $F$ is differentiable at $x$ with $F'(x)=f(x)$.

Let f:[a,b]→Rf:[a,b] \to \R be Riemann integrable. Let F:[a,b]→RF:[a,b]\to\R be F(x)=∫axf(t)dtF(x)= \int_{a}^{x}f(t)dt. Then FF is continuous, and at all xx such that ff is continuous at xx, FF is differentiable at xx with F′(x)=f(x)F'(x)=f(x).


For equation block or display mode, use line breaks and $$:

$$I = \int_0^{2\pi} \sin(x) dx$$
I=∫02πsin⁡(x)dxI = \int_0^{2\pi} \sin(x) dx


To enable KaTeX, you need to install remark-math and rehype-katex plugins.

npm install --save remark-math@3 rehype-katex@4 hast-util-is-element@1.1.0

Use the exact same versions. The latest versions are incompatible with Docusaurus 2.

Import the plugins in docusaurus.config.js:

const math = require('remark-math');const katex = require('rehype-katex');

Add them to your content plugin or preset options (usually @docusaurus/preset-classic docs options):

remarkPlugins: [math],rehypePlugins: [katex],

Include the KaTeX CSS in your config under stylesheets:

stylesheets: [    {        href: "",        integrity: "sha384-Um5gpz1odJg5Z4HAmzPtgZKdTBHZdw8S29IecapCSB31ligYPhHQZMIlWLYQGVoc",        crossorigin: "anonymous",    },],

Overall the changes look like:

const math = require('remark-math');const katex = require('rehype-katex');
module.exports = {  title: 'Docusaurus',  tagline: 'Build optimized websites quickly, focus on your content',  presets: [    [      '@docusaurus/preset-classic',      {        docs: {          path: 'docs',          remarkPlugins: [math],          rehypePlugins: [katex],        },      },    ],  ],  stylesheets: [    {      href: '',      integrity:        'sha384-Um5gpz1odJg5Z4HAmzPtgZKdTBHZdw8S29IecapCSB31ligYPhHQZMIlWLYQGVoc',      crossorigin: 'anonymous',    },  ],};