Gatsbyで数式を表示する<!-- -->|<!-- -->ツチノコの夢を見ていた

Gatsbyで数式を表示する

Posted: March 29, 2022

Gatsby logo
Image Credit: Gatsby

方法

巷でよく解説されている gatsby-remark-katex を用いた方法1は、最近の gatsby-plugin-mdx を用いたmdxの取り回しと相性が悪く、手元では上手く機能しなかった。そのため、代わりに remark-math, rehype-katex を用いた方法2 3を導入する。

まずは以下のコマンドで必要なパッケージをインストールする。この時、versionを特に指定せずに最新版を使おうとするとエラーで動かなかったため、注意する。

1
npm install remark-math@3.0.1 rehype-katex@5.0.0

次に、 gatsby-config.ts に以下のように設定を付け足す。

gatsby-config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import type { GatsbyConfig } from "gatsby"
import path from "path"
const config: GatsbyConfig = {
plugins: [
{
resolve: `gatsby-plugin-mdx`,
options: {
remarkPlugins: [require('remark-math')],
rehypePlugins: [
[require('rehype-katex'), { strict: 'ignore' }],
],
}
},
],
}
export default config

最後に数式を表示するのに必要なKatex CSSを gatsby-browser.ts 内でインポートする。Katex CSSはrehype-katexの依存関係に含まれているため、別途特別にインストールする必要はない。

gatsby-browser.ts
1
import 'katex/dist/katex.min.css'

数式サンプル

試しに適当にそれっぽい数式サンプルを載せておく。

時刻 tt までの確率過程 XX の挙動 {Xs(ω);0st}\{X_s(\omega);\,0\le s\le t\} を全て可測とする σ\sigma-加法族を σ(Xs;st)\sigma(X_s;\, s\le t) と表す。これを右連続化したものを FtX\mathcal{F}_t^X と表すとき、それらの集まり {FtX}\{\mathcal{F}_t^X\} を、確率過程 X={Xt}X=\{X_t\} により生成されるフィルトレーションと呼ぶ。

可積分なRCLL過程 M={Mt;tT}M=\{M_t;\,t\in T\}{Ft}\{\mathcal{F}_t\} に適合していて、

E{MtFt}=Ms(a.s.)(t>s)\mathrm{E} \left\{M_t | \mathcal{F}_t \right\} = M_s \quad \text{(a.s.)} \quad (t > s)

を満たすとき、 MM を、 {Ft}\{\mathcal{F}_t\} に関するマルチンゲールという。