nuxtjs で markdown-it-katex を適用する方法
@asya_aoi1049 on Sat Sep 07 2019
3.5 min
目次
katexとは
web上で、数式を表示するためのライブラリです。
高速に表示できることが強みです。
逆に弱みとしては、latexのタイプセットと互換性がない(つまりkatex独自のタイプセット)を利用するケースがあるため、latexの数式をそのまま移行することが困難な点でしょうか。
なぜkatexを選んだか
単純に nuxtjs で動作させることができたのが、katexだったからです。
当初は、mathjaxを試していましたが上手く動作せず・・・
katexの導入及び設定方法
npm にて、 markdown-it-katex を導入するだけです。
インストールコマンド例は以下のようになります。
npm install @nuxtjs/markdownit
npm install markdown-it-katex
設定は、 nuxt.config.js に下記のように設定します。
本設定に必要な箇所のみ抜粋しています。
export default {
...
modules: [
"@nuxtjs/markdownit",
...
],
markdownit: {
preset: "default",
html: true,
linkify: true,
breaks: true,
typographer: true,
injected: true,
use: [
"markdown-it-katex",
...
]
},
plugins: [
"~/plugins/katex",
...
],
...
}
今回は、 katex をプラグインとして読み込み nuxtjs全体に適用したいため、 plugins/katex.js を作成し下記の内容としました。
import katex from 'katex'
import 'katex/dist/katex.min.css'
export default katex
plugins/katex.js 内で katex.min.css を読み込むことで、 綺麗な数式を表示できます。
表示例
例えば、
a \cup b
という入力を行うと、
という感じに表示してくれます。
最後に
これまでは、数式を /\
とか書いてそれっぽく見せていましたが、これからはユーザが普段見ているような数式で表示できるようになりました。
nuxt.js における katexの設定情報が少ないなと感じていましたので、どなたかの助けになれば幸いです。
※といっても、katexの設定自体はかなりシンプルなので、だれも迷わないかもですが。。。
日別に記事を見る