How to use LaTeX in Docusaurus with Remark Math and Rehype KaTeX
Installation
You can type in Docusaurus by using the remark-math and rehype-katex packages.
In the root directory of your Docusaurus project, install the packages by running npm install remark-math and npm install rehype-katex (or the yarn equivalents).
Configuration
At the top of docusaurus.config.ts, import the packages:
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';
Pass the plugins to your docs presets:
presets: [
[
'classic',
{
docs: {
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex],
Get the URL for the stylesheet from README on github.com/KaTeX/KaTeX, then pass it to the stylesheet config:
stylesheets: [
{
href: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css',
type: 'text/css',
integrity:
'sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+',
crossorigin: 'anonymous',
},
You can also choose to self-host the stylesheets on your own content delivery network (CDN). It's more work than using jsdeliver, but you have more control over your website. Download the latest version available on releases page, unpack it, and upload it to your own CDN.
If you choose to self-host, be careful about the integrity hash of the katex.min.css file. If you modify the file, you need to update the hash, run something like openssl dgst -sha384 -binary file/path/to/katex/v0.16.11/katex.min.css | openssl base64 -A.
If you have a pre-commit formatter like husky, then avoid formatting the file on commit with the --no-verify flag: git commit -m 'chore: bump katex to v0.16.11' --no-verify.
Usage
You can use either $ brackets or $$ brackets across multiple lines.
For example, this
**Fundamental Theorem of Calculus**
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)$.
will print to this:
Fundamental Theorem of Calculus
Let be Riemann integrable. Let be . Then is continuous, and at all such that is continuous at , is differentiable at with .