ちょこっと MathJax 番外編: mathcomp パッケージの代替え
今回は横道に外れて小ネタでいきます。
- ちょこっと MathJax: 初期設定
- ちょこっと MathJax: 基本的な数式表現
- ちょこっと MathJax: インライン数式と別行立て数式
- ちょこっと 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$)
ブックマーク
参考図書
- [改訂第8版]LaTeX2ε美文書作成入門
- 奥村晴彦 (著), 黒木裕介 (著)
- 技術評論社 2020-11-14
- 大型本
- 4297117126 (ASIN), 9784297117122 (EAN), 4297117126 (ISBN)
- 評価
2020年末に第8版が出てたのに気付かなかったよ。可能なら紙の本も買って常に側に置いておくのが吉。版元には PDF 版もある。