ちょこっと 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 の Extensions でもそれらしいものは見当たらず,誰かが公開してるってわけでもないっぽい。

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

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

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

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  TeX: {
    Macros: {
        tcdegree: ['\\unicode{xb0}']
    }
 }
});
</script>

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

直角は $\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
[改訂第7版]LaTeX2ε美文書作成入門
奥村 晴彦 黒木 裕介
技術評論社 2017-01-24
評価

LaTeX2e辞典~用法・用例逆引きリファレンス (DESKTOP REFERENCE) 公共政策入門 ミクロ経済学的アプローチ Rで楽しむ統計 (Wonderful R 1) 岩波データサイエンス Vol.5 数学ガールの秘密ノート/積分を見つめて (数学ガールの秘密ノートシリーズ) 岩波データサイエンス Vol.6 独習 LaTeX2ε 具体例から学ぶ 多様体 【改訂第3版】基礎からわかる情報リテラシー はじめて学ぶリー群 ―線型代数から始めよう

ついに第7版が登場。紙の本で買って常に側に置いておくのが吉。

reviewed by Spiegel on 2017-09-27 (powered by G-Tools)


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