ちょこっと MathJax 番外編: mathcomp パッケージの代替え

no extension

今回は横道に外れて小ネタでいきます。

  1. ちょこっと MathJax: 初期設定
  2. ちょこっと MathJax: 基本的な数式表現
  3. ちょこっと MathJax: インライン数式と別行立て数式
  4. ちょこっと MathJax 番外編: mathcomp パッケージの代替え ← イマココ

たとえば

直角は ±90°。

をインライン数式で書くことを考える。

昔の $\mathrm{\LaTeX}$ は「°」に相当する記号がなく, 90^{\circ} などと表記していた。 すなわち

直角は $\pm90^{\circ}$。

と書いて

直角は $\pm90^{\circ}$。

と表示させていたわけだ。 しかし \circ ($\circ$) は角度を表す記号ではなく $+$ や $-$ と同じ2項演算子の記号である。 そこで今は mathcomp パッケージの \tcdegree コマンドを使って

直角は $\pm90\tcdegree$。

とするのが正しいそうだ1

ところが MathJax では \tcdegree コマンドを持っていないようで,上の記述ではエラーになる。 MathJax機能拡張でもそれらしいものは見当たらず,誰かが公開してるってわけでもないっぽい。

みんなどうやってるんだ?

ググってみたら「Unicode の「°」文字を使うか \unicode{xb0} で指定しろ」という身も蓋もない回答が見つかった。 どうもそれしかないらしい… sigh

そこで $\mathrm{\LaTeX}$ との互換性を保つため

MathJax = {
  tex: {
    macros: {
      tcdegree: ['\\unicode{xb0}']
    }
  }
};

という感じでマクロを組んでみた。 これで,以下のように表示可能になる。

直角は $\pm90\tcdegree$。

mathcomp パッケージで使える記号はかなりあるのだが,私がよく使いそうなもののみ以下に挙げる。

Macros $\mathrm{\LaTeX}$ Format Output
tcdegree: ['\\unicode{xb0}'] $35\tcdegree$ $35\tcdegree$
tccelsius: ['\\unicode{x2103}'] $35\\,\tccelsius$ $35\,\tccelsius$
tcperthousand: ['\\unicode{x2030}'] $35\\,\tcperthousand$ $35\,\tcperthousand$
tcmu: ['\\unicode{x3bc}'] $35\\,\tcmu\mathrm{s}$ $35\,\tcmu\mathrm{s}$
tcohm: ['\\unicode{x3a9}'] $35\\,\tcohm$ $35\,\tcohm$
  • \tccelsius\tcdegree\mathrm{C} でもいける($35\\,\tcdegree\mathrm{C}$ → $35\,\tcdegree\mathrm{C}$)。これなら華氏にも応用できる($35\\,\tcdegree\mathrm{F}$ → $35\,\tcdegree\mathrm{F}$)
  • \tcmu\symup{\mu} みたいにしたいのだが \symup コマンドに相当するものが MathJax にないっぽい
  • \tcohm\Omega と等価,というかフォントのバランスを考えると \Omega を使ったほうがいいと思う($35\\,\Omega$ → $35\,\Omega$)

ブックマーク

参考図書

photo
[改訂第8版]LaTeX2ε美文書作成入門
奥村晴彦 (著), 黒木裕介 (著)
技術評論社 2020-11-14
大型本
4297117126 (ASIN), 9784297117122 (EAN), 4297117126 (ISBN)
評価     

2020年末に第8版が出てたのに気付かなかったよ。可能なら紙の本も買って常に側に置いておくのが吉。版元には PDF 版もある。

reviewed by Spiegel on 2021-09-05 (powered by PA-APIv5)


  1. 他の方法としては siunitx パッケージを使って \ang{90} のように記述する手がある。 ↩︎