如何排版數學式?
數學式範例
docusaurus 可以用 LaTeX 語法實現數學式排版, 如果是像 的 inline 數學式, 可以用 $ 符號前後夾著數學式,
$a^2+b^2 = c^2$
如果想將數學式獨立展示, 譬如
則是用 $$ 上下夾住數學式
$$
f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{{-\frac{1}{2}}\left(\frac{x-\mu}{\sigma}\right)^2}
$$
可以用 array
排出矩陣
$$
I = \left[
\begin{array}{ccc}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array}
\right]
$$
也可以用 align
排版多行數學式
$$
\begin{align*}
\max_{c, l} \quad & c^{\alpha}l^{\beta} \\
s.t. \quad & c = w(1 - l) \\
& 0 \leq l \leq 1
\end{align*}
$$
環境設定
docusaurus 使用 KaTex 實現數學式排版, 完整說明請參考此頁。以下簡述重要步驟。
- 首先安裝
remark-math
與rehype-katex
兩個插件。
npm install --save remark-math@6 rehype-katex@7
- 在
docusaurus.config.js
加入以下設定
import remarkMath from 'remark-math';
import rehypeKatex from 'rehype-katex';
export default {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
path: 'docs',
remarkPlugins: [remarkMath],
rehypePlugins: [rehypeKatex],
},
},
],
],
};
- 在
docusaurus.config.js
加入以下設定
export default {
//...
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',
},
],
};