« 2019年7月 | トップページ | 2019年11月 »

2019年9月

2019年9月29日 (日)

MathJax がバージョンアップしたけれど、当ブログでは使えない

MathJax のページの NEWS ではアナウンスされていませんが、バージョン V3.0.0 が公開されています。下記に説明が有ります。

  • Getting Started
  • MathJax Documentation
  • この何日かは英語と格闘して使い方を調べていました(Google の翻訳頼みでしたが)。今までの V2.x.x の場合、バージョンアップの対応はバージョン番号を書き換える程度で良かったのですが、 V3 からは大きく変わったようです。 そのため、V3 を使用するには次の3点を解決する必要が有ります。

    1. ローディング方法
    2. 動的な使用方法
    3. XyJax 使用方法

    1. のローディング方法は上記 Getting Started にも有るのですが、今回は別ページの Configuring and Loading MathJax を参考にしました。

    2. の動的な使用方法に関しては MathJax のドキュメントで説明を見つけることが出来なかったので、 MathJax の Live Demo のソースを参考にしました。

    3. の XyJax に関しては解決していません。使用不可なのかも知れません。

    下記コードで MathJax のプレビューが可能です。これは、動的使用の一例です。

    <!DOCTYPE html>
    <html>
    <head>
        <title>MathJax Preview</title>
        <script>
            MathJax = {
                tex: { inlineMath: [['$','$'], ['\\(','\\)']]},
                //	V2 では下記1行で XyJax が使用可能だった
                //	TeX: {extensions: ['http://spacelike.in.coocan.jp/misc/xypic.js']}
            };
        </script>
        <script type="text/javascript" id="MathJax-script" async
            src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
        <!-- tex-svg.js の代わりに tex-mml-chtml.js の選択肢も有る -->
        <script>
            function makePreview(){
                var code = document.getElementById("MathInput");
                var output = document.getElementById("MathPreview");
                //output.innerHTML = code.value.replace(/</g, "&lt;").replace(/>/g, "&gt;");
                output.innerHTML = code.value;
                //V2 では下記1行で動的に使用出来た
                //MathJax.Hub.Queue(["Typeset", MathJax.Hub, "preview"]);
                MathJax.texReset();
                MathJax.typesetClear();
                MathJax.typesetPromise([output]);
            }
        </script>
    </head>
    
    <body>
        <span style="font-weight:bold">MathJax コードを入力して、変換ボタンをクリックして下さい</span><br />
        <textarea id="MathInput" cols="120" rows="20">\[&#10;&#10;\]</textarea><br />
        <button type="button" onclick="makePreview()">変換</button><br />
        <div id="MathPreview"></div>
    </body>
    </html>
    

    V3 は XyJax が使えない(使い方が判らない)ので当ブログでは使えませんが、実は、当ブログで使えない理由は他にも有ります。当ブログでは MathJax 設定用のファイルを読み込むことで MathJax を使えるようにしています。その設定ファイルはココログに置いているのですが、今年春のココログ改悪により設定ファイルの類いを新たに保存することが出来なくなっています。すなわち、 MathJax の設定ファイルを変更することが出来ません。そんな訳で当分は V2.7.5 のままになります。

    ココログのファイル操作に関しては、今後も現状のままなのだろうか?

    ところで、 V2 では、ディスプレイモードの時は「\\」で改行できていたのですが、 V3 ではディスプレイモードというだけでは「\\」での改行は出来ないようです。複数行にするには、例えば align などの環境にしないといけないようです。

    « 2019年7月 | トップページ | 2019年11月 »