Emacs Lisp の math-symbols.el は、通常の文字をイタリック文字やフラク トゥール文字へ変換できる。
Unicode の数学文字
通常、イタリックや太字は文字符号ではなくフォントで区別するが、数式で使 う文字のイタリックや太字は意味的に異なるため、別の文字符号でこれらを扱う。
Unicode で符号化されているスタイルは以下のとおりである。
styles / scripts | alphabets | greeks* | numerals |
---|---|---|---|
bold | yes | yes | yes |
(bold) italic | yes | yes | yes |
(bold) fraktur | yes | no | no |
(bold) script | yes | no | no |
double-struck | yes | partial | yes |
monospace | yes | no | yes |
sans-serif (italic) | yes | no | yes |
sans-serif bold (italic) | yes | yes | yes |
subscript | partial | no | yes |
superscript | partial | no | yes |
上の表において、アルファベットとは、大文字・小文字それぞれ26文字ずつ である。また、ギリシャ文字は全て数学用ギリシャ文字記号とナブラ(ϵ, ϑ, ϰ, ϕ, ϱ, ϖ, ∇)を含む。
Unicode の符号とフォント
Unicode では、数学用文字の符号は U+1D400 からの SMP面で符号化されてい る。ただし、一部の早期にBMPで符号化されていた文字 (ℜなど) は別である。
数学記号フォントは STIX Font Project が開発したフォントが主要なOSにはす でにインストール済である。
init.el の設定
単に (require 'math-sybols)
でインストールされる。
文字のスタイル化
アルファベット等の文字をスタイル化したい場合は、領域を選択して、 M-x
math-symbols-XXXX-region
を実行する。たとえば abcde を 太字イタリック
にしたい場合は、 M-x math-symbols-bold-italic-region
とすれば良い。
math-symbols-fraktur-region | abcde | 𝔞𝔟𝔠𝔡𝔢 |
math-symbols-bold-region | abcde | 𝐚𝐛𝐜𝐝𝐞 |
math-symbols-italic-region | abcde | 𝑎𝑏𝑐𝑑𝑒 |
math-symbols-script-region | abcde | 𝒶𝒷𝒸𝒹ℯ |
math-symbols-double-struck-region | abcde | 𝕒𝕓𝕔𝕕𝕖 |
math-symbols-sans-serif-region | abcde | 𝖺𝖻𝖼𝖽𝖾 |
math-symbols-superscript-region | 12345 | ¹²³⁴⁵ |
スタイル化した文字をもとに戻すには M-x ucs-normalize-NFKC-region を実行
する。文字列を変換するには、 (math-symbols-italic-region "hogehoge")
と実行する。文字列中に変換できない文字がある場合(空白含む)はエラーに
なるが、 C-u
プレフィックスで抑制できる。
(math-symbols-fraktur-string "fghijk") ⏎ "𝔣𝔤𝔥𝔦𝔧𝔨"