ちょこっと MathJax 番外編: mathcomp パッケージの代替え
今回は横道に外れて小ネタでいきます。
- ちょこっと MathJax: 初期設定
- ちょこっと MathJax: 基本的な数式表現
- ちょこっと MathJax: インライン数式と別行立て数式
- ちょこっと MathJax 番外編: mathcomp パッケージの代替え ← イマココ
- ちょこっと MathJax 番外編: V4 へのアップグレード
たとえば
をインライン数式で書くことを考える。
昔の $\mathrm{\LaTeX}$ は「°」に相当する記号がなく, 90^{\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}']
}
}
};
という感じでマクロを組んでみた。 これで,以下のように表示可能になる。
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$)
【2025-09-01 追記】 textcomp パッケージを使う
MathJax では mathcomp
の代わりに textcomp
パッケージが使えるらしい。
コマンド名は mathcomp
とは異なるので注意。
$\mathrm{\LaTeX}$ Format | Output |
---|---|
$35\textdegree$ |
$35\textdegree$ |
$35\,\textcelsius$ |
$35\,\textcelsius$ |
$35\,\textperthousand$ |
$35\,\textperthousand$ |
$35\,\textmu\mathrm{s}$ |
$35\,\textmu\mathrm{s}$ |
$35\,\textohm$ |
$35\,\textohm$ |
MathJax で textcomp
を有効にするには,以下のように設定する。
<script>
MathJax = {
loader: {load: ['[tex]/textcomp']},
tex: {packages: {'[+]': ['textcomp']}},
...
};
</script>
textcomp
は MathJax の数式モードで使える。
テキストモード(\text{ ... }
)で使う場合は textmacros
と組み合わせて使う。
<script>
MathJax = {
loader: {load: ['[tex]/textcomp', '[tex]/textmacros']},
tex: {packages: {'[+]': ['textcomp', 'textmacros']}},
...
};
</script>
textcomp
で使えるシンボルは以下が参考になるだろう。
ブックマーク
参考図書
- [改訂第9版]LaTeX美文書作成入門
- 奥村 晴彦 (著), 黒木 裕介 (著)
- 技術評論社 2023-12-09 (Release 2023-12-09)
- 単行本(ソフトカバー)
- 4297138891 (ASIN), 9784297138899 (EAN), 4297138891 (ISBN)
- 評価
2023年末に出てるのに気が付かなかった orz
今回は版元で PDF 版を買った。