ホーム DoRuby vimでMarkdownに数式を組込んでプレビューさせる
vimでMarkdownに数式を組込んでプレビューさせる
 

vimでMarkdownに数式を組込んでプレビューさせる

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

Markdownの編集中にリアルタイムにプレビューしてくれると非常に便利である。

vimでMarkdownを編集する場合には、previmを利用すると、browser上でほぼリアルタイムにプレビューしてくれる(marked.jsを利用しているらしい)。

さて、本記事では、Markdownで書いている文章に、数式を綺麗に表示させる方法について記載する。

数式を綺麗に表示させるために「MathJax」を利用する。

previmでMathJaxに対応したMarkdownを利用するためには、previmのpluginの下記を変更すればよい。

変更点1

「preview/index.html」に以下を挿入する。

    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        CommonHTML: { matchFontHeight: false }
      });
    </script>
    <script async src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML">
    </script>

変更点2

「preview/js/previm.js」に1行挿入する。

    if (needReload && (typeof getContent === 'function') && (typeof getFileType === 'function')) {
      var beforePageYOffset = _win.pageYOffset;
      _doc.getElementById('preview').innerHTML = transform(getFileType(), getContent());

      mermaid.init();
      Array.prototype.forEach.call(_doc.querySelectorAll('pre code'), hljs.highlightBlock);
      autoScroll('body', beforePageYOffset);
      style_header();

      // ↓の1行を挿入する。
      MathJax.Hub.Typeset(document.getElementById("preview"));
    }

数式の書き方

MathJaxを利用しているのでMathJaxの記法(TeXの記法に準拠しているらしい)で記述できる。

以下に記述の例を示す。

複数行数式の例

\\[
  E = mc^2
\\]

本記事の冒頭の画像は、この例の記述で表示される数式(のキャプチャ)である。

インライン数式の例

計算式「\\( \alpha \times \beta \\)」で表される。
記事を共有

最近人気な記事