スマートフォン・タブレットからインターネットサーバーオペレーション

APPW.jp

Ubuntu 16.04 LTS にて MathJax-node の SVG 出力を試します

Ubuntu 16.04 LTS に Node.js をインストールして MathJax-node の SVG 出力を試してみます。

Node.js のインストール

Ubuntu 標準のままの apt もしくは apt-get でインストールすると、古いバージョンがインストールされます。



$ sudo apt install nodejs

このことをふまえながら Google 検索してみていくと、Ubuntu では、多くの方が n というバージョン管理パッケージを利用しているようです。

今回は MathJax-node を試してみるということで、やはり最新の Node.js で、MathJax-node のインストールに利用する npm もふくめてインストールは簡単に、という思いもあり、以下のページの手順でインストールを進めました。

https://nodejs.org/en/download/package-manager

LTS( long-term support )版の場合。



$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs

最新版の場合。



$ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
$ sudo apt-get install -y nodejs

この手順では、Node.js とともに npm もインストールされます。また、nodejs コマンドのほか、node コマンドでも使えるようになっています。

MathJax-node のインストール

以下のページの手順でインストールしました。

https://github.com/mathjax/MathJax-node



$ npm install mathjax-node

MathJax-node の SVG 出力

https://github.com/mathjax/MathJax-node の README.md にある example に少し手を加えて、SVG での出力とファイルへの書き出しを行うようにしてみました。



// a simple TeX-input SVG-output example
var fs = require("fs"); // ファイル書き出し用
var mjAPI = require("mathjax-node");
mjAPI.start();
mjAPI.config({
  MathJax: {
    // traditional MathJax configuration
  }
});

var yourMath = "E = mc^2";

mjAPI.typeset({
  math: yourMath,
  format: "TeX", // or "inline-TeX", "MathML"
  svg:true,      // or mml:true, or html:true
}, function (data) {
  if (!data.errors) {
    console.log(data.svg);
    fs.writeFileSync("exmath.svg", data.svg); // ファイル書き出し
  }
});

exmath.js などのファイル名で保存して実行します。



$ node exmath.js

SVG で出力されて、exmath.svg が作成されます。

『Ubuntu 16.04 LTS にて MathJax-node の SVG 出力を試します』を公開しました。