数学公式
数学方程可通过 KaTeX 渲染。
用法
请参阅 KaTeX 文档以了解详情。
行内公式
要书写行内公式,可以把 LaTeX 公式用 $
包裹:
令 $f\colon[a,b]\to\R$ 为一个黎曼可积的函数。 令 $F\colon[a,b]\to\R$ 等于 $F(x)=\int_{a}^{x} f(t)\,dt$。 因此,$F$ 是连续的,并且对于所有使得 $f$ 在 $x$ 处连续的 $x$,$F$ 都在 $x$ 处可微,并且有 $F'(x)=f(x)$.
令 为一个黎曼可积的函数。 令 等于 。 因此, 是连续的,并且对于所有使得 在 处连续的 , 都在 处可微,并且有 .
块级公式
要书写块级公式(也就是显示模式 display mode),要使用 $$
和一个换行:
$$
I = \int_0^{2\pi} \sin(x)\,dx
$$
配置
要启用 KaTeX,你需要安装 remark-math
和 rehype-katex
两个插件。
- npm
- Yarn
- pnpm
npm install --save remark-math@6 rehype-katex@7
yarn add remark-math@6 rehype-katex@7
pnpm add remark-math@6 rehype-katex@7
Make sure to use remark-math 6
and rehype-katex 7
for Docusaurus v3 (using MDX v3). We can't guarantee other versions will work.
Those 2 plugins are now only available as ES Modules. To simplify usage, it is recommended to use an ES Modules config file:
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';
export default {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
path: 'docs',
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex],
},
},
],
],
};
Using a CommonJS config file?
If you decide to use a CommonJS config file, it is possible to load those ES module plugins thanks to dynamic imports and an async config creator function:
module.exports = async function createConfigAsync() {
return {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
path: 'docs',
remarkPlugins: [(await import('remark-math')).default],
rehypePlugins: [(await import('rehype-katex')).default],
},
},
],
],
};
};
Include the KaTeX CSS in your config under stylesheets
:
stylesheets: [
{
href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css',
type: 'text/css',
integrity:
'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM',
crossorigin: 'anonymous',
},
],
Overall the changes look like:
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';
export default {
title: 'Docusaurus',
tagline: 'Build optimized websites quickly, focus on your content',
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
path: 'docs',
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex],
},
},
],
],
stylesheets: [
{
href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css',
type: 'text/css',
integrity:
'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM',
crossorigin: 'anonymous',
},
],
};
自托管的 KaTeX 资源
Loading stylesheets, fonts, and JavaScript libraries from CDN sources is a good practice for popular libraries and assets, since it reduces the amount of assets you have to host. In case you prefer to self-host the katex.min.css
(along with required KaTeX fonts), you can download the latest version from KaTeX GitHub releases, extract and copy katex.min.css
and fonts
directory (only .woff2
font types should be enough) to your site's static
directory, and in docusaurus.config.js
, replace the stylesheet's href
from the CDN URL to your local path (say, /katex/katex.min.css
).
export default {
stylesheets: [
{
href: '/katex/katex.min.css',
type: 'text/css',
},
],
};