Gatsbyで数式を表示する
Posted: March 29, 2022
方法
巷でよく解説されている gatsby-remark-katex
を用いた方法1は、最近の gatsby-plugin-mdx
を用いたmdxの取り回しと相性が悪く、手元では上手く機能しなかった。そのため、代わりに remark-math
, rehype-katex
を用いた方法2 3を導入する。
まずは以下のコマンドで必要なパッケージをインストールする。この時、versionを特に指定せずに最新版を使おうとするとエラーで動かなかったため、注意する。
1npm install remark-math@3.0.1 rehype-katex@5.0.0
次に、 gatsby-config.ts
に以下のように設定を付け足す。
gatsby-config.ts1234567891011121314151617181920import 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.ts1import 'katex/dist/katex.min.css'
数式サンプル
試しに適当にそれっぽい数式サンプルを載せておく。
時刻 までの確率過程 の挙動 を全て可測とする -加法族を と表す。これを右連続化したものを と表すとき、それらの集まり を、確率過程 により生成されるフィルトレーションと呼ぶ。
可積分なRCLL過程 が に適合していて、
を満たすとき、 を、 に関するマルチンゲールという。