📐
MathJaxでLaTeXをsvgに変換する
ちょっと詰まったので備忘録を残します.
MathJaxの導入
<script async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"</script>
サンプルに従ってスクリプトを読み込みます.
MathJaxのロード時のレンダリングを防ぐ
MathJax = {
startup: {
typeset: false
}
};
設定はMathJax
オブジェクトにコンフィグを代入するみたい.MathJaxのドキュメント
テキストからsvgに変換する
function render() {
const container = MathJax.tex2svg(input.value);
const [svg] = container.children;
output.replaceChildren(svg);
}
MathJaxはsvgをdivで包んだ形で返してくるので, svgを取り出してやる必要があります.
ここではinput
から入力を取り出し,レンダリングしたsvgをoutput
の子に入れ替えています.
まとめ
ここで作成したプログラムを公開しておきます.
- 実行例
- リポジトリ
Discussion