数式のなかで「集合族の 𝒜」「Lie 環の 𝔤」「数の集合 ℝ」のような装飾的な英字を出したいとき、どの命令とどのパッケージを使えばよいかを、ここで手早く引けるようにまとめます。対象は四つ——花文字 \mathcal、スクリプト体 \mathscr、フラクトゥール \mathfrak、黒板太字 \mathbb。それぞれ「どんな見た目か」「必要なパッケージ」「使える文字の範囲」を順に確認します。書体を切り替えるしくみそのもの(太字の作り方や unicode-math)は別ページに譲り、ここは“引くため”のページです。
四つの装飾アルファベット
数式モードの英字は既定で数式イタリックになりますが、分野ごとに決まった装飾書体——花文字・スクリプト・フラクトゥール・黒板太字——が要る場面があります。いずれも \mathcal{A} のように 一文字(または数文字)を引数に取り、その範囲だけを別の数式書体で組む 命令です。引数は単語ではなく数学記号の並びとして扱われる点に注意してください(\mathcal{Hom} は単語ではなく三つの飾り文字の並びになります)。
まず全体像を一枚で。下の表に、四つの命令と、必要なパッケージ、対応する文字の範囲、典型的な用途をまとめます。詳しい注意点はこのあと一つずつ見ていきます。
| 命令 | 見た目 | 必要なパッケージ | 対応範囲 |
|---|---|---|---|
\mathcal | 流れるような花文字 | 標準(不要) | 大文字 A–Z のみ |
\mathscr | より流麗な筆記体 | mathrsfs(または euscript) | 実用上は大文字のみ |
\mathfrak | 角ばった亀甲文字 | amssymb / amsfonts | 大文字・小文字・数字 |
\mathbb | 線を二重にした太字 | amssymb / amsfonts | 大文字 A–Z のみ |
一目で分かる共通点が二つあります。第一に、**標準で使えるのは \mathcal だけ で、残り三つはパッケージの読み込みが要ります。第二に、多くが大文字専用** で、小文字や数字は(標準のフォントでは)揃いません。例外は \mathfrak で、こちらは大文字・小文字の両方に対応します。
花文字 \mathcal とスクリプト体 \mathscr
\mathcal(花文字, calligraphic) は、流れるような装飾的な大文字で、標準で使え(パッケージ不要)、大文字 A–Z のみ** に対応します。下に向かう装飾的なヒゲや曲線が特徴で、集合族(\mathcal{A})、フーリエ変換(\mathcal{F})、圏や層の名前、シグマ代数(\mathcal{F}, \mathcal{B})などに広く使われます。小文字や数字を渡しても期待した飾り文字にはならない(標準フォントには無い)ので、引数は大文字に限るのが安全です。
\mathscr(スクリプト体, script)** は、\mathcal よりさらに筆記体らしい、いっそう流麗で大きく傾いた書体です。標準では使えず、**mathrsfs パッケージ** を読み込むと \mathscr 命令が使えるようになります。これは Ralph Smith の Formal Script(RSFS, フォント名 rsfs10)を呼び出すもので、強く右に傾いた、装飾の多い筆記体です。たとえば \mathscr{L} でラプラス変換に使う飾り文字の L が得られます。こちらも 収録は大文字が中心 で、実用上は大文字に使います。
RSFS の傾きが強すぎると感じるときは、より傾きの穏やかな同系統のフォントを使う **rsfso パッケージ** という選択肢があります(scr オプションで \mathscr として使えます)。\mathscr をもう一つの系統で得る方法として、次節で触れる euscript もあります。
\usepackage{mathrsfs} % \mathscr(RSFS)
% ...
\[
\mathcal{F} \subset \mathcal{P}(X), \qquad
\mathscr{L}\{f\}(s) = F(s).
\]この例では、\mathcal{F}・\mathcal{P} が標準の花文字、\mathscr{L} がより流麗な RSFS のスクリプトで組まれます。両者を併用すると、「花文字の F」と「スクリプトの L」を視覚的に区別できます。
RSFS と Euler Script は別物
\mathscr を得る経路は一つではなく、見た目の異なる二系統 があることを知っておくと混乱しません。一つは前節の mathrsfs(Ralph Smith の Formal Script, RSFS)。もう一つが **euscript パッケージ で、これは Hermann Zapf がデザインした Euler Script**(AMSFonts に含まれる eusm10)を呼び出します。RSFS が強く傾いた装飾的な筆記体なのに対し、Euler Script はより落ち着いた、教科書風の端正なスクリプトです。同じ \mathscr でも出てくる字形がまったく違います。
euscript(および姉妹パッケージ eucal)はオプションで挙動が変わります。公式ドキュメントの対応表によれば、**euscript に mathcal オプション** を与えると \mathcal が Euler Script に置き換わり、**eucal に mathscr オプション** を与えると \mathcal はそのままに \mathscr が追加されます。要するに「\mathcal を Euler Script に差し替える」か「\mathscr として別に足す」かを、オプションで選べるわけです(オプションなしの \EuScript は古い書き方で、現在は非推奨)。
| 読み込み方 | 使えるようになる命令 | 書体 |
|---|---|---|
\usepackage{mathrsfs} | \mathscr | RSFS(強く傾いた装飾筆記体) |
\usepackage[mathcal]{euscript} | \mathcal(Euler に置換) | Euler Script(端正なスクリプト) |
\usepackage[mathscr]{eucal} | \mathscr(\mathcal は不変) | Euler Script(端正なスクリプト) |
ここでよくある失敗が、**スクリプト系のパッケージを二つ重ねて読み込み、どちらが \mathscr を定義しているのか分からなくなる** ことです。mathrsfs と eucal(mathscr オプション)を両方読み込むと、後から読み込んだ方が \mathscr を上書きし、意図しない書体になります。スクリプトは一系統に絞る のが安全で、二種類の装飾文字を区別して使いたいなら「\mathcal(標準)+ \mathscr(どれか一つ)」の組み合わせにしましょう。
フラクトゥール \mathfrak
\mathfrak(フラクトゥール/亀甲文字, Fraktur) は、ドイツの古い活字に由来する角ばった装飾書体です。amssymb(または amsfonts)** を読み込むと使えるようになります(内部では eufrak、フォント eufm10 を読み込みます)。他の三つと違う大きな特徴は、大文字・小文字の両方に加えて数字も揃っている ことです。
用途も小文字が主役になる場面が多いのが特徴です。Lie 環 は小文字のフラクトゥールで \mathfrak{g}・\mathfrak{h}・\mathfrak{sl} のように書き、対応する Lie 群を立体大文字の G・H と区別します。環のイデアル にも小文字を使い、\mathfrak{p}(素イデアル)・\mathfrak{q}・\mathfrak{m}(極大イデアル)のように表します。大文字のフラクトゥールは集合や体の名前などに使われます。
\usepackage{amssymb} % \mathfrak(と \mathbb)
% ...
\[
\mathfrak{g} = \operatorname{Lie}(G), \qquad
\mathfrak{p} \subset \mathfrak{m} \subset \mathcal{O}.
\]この例では、\mathfrak{g} が角ばった小文字のフラクトゥール、\mathfrak{p}・\mathfrak{m} が素イデアル・極大イデアルを表す小文字、\mathcal{O} が整数環を表す花文字の大文字として組まれます。フラクトゥールは画数が多く小さいと読みにくいので、添字の中などごく小さく組む箇所では使いすぎに注意します。
黒板太字 \mathbb と数の集合
\mathbb(黒板太字, blackboard bold) は、縦棒などの線を二重にした独特の太字です。もとは黒板で太字を書くために線を重ねた書き方に由来します(「黒板ではボールドのチョークが使えない」ため)。amssymb(または amsfonts)** が必要で(フォント msbm10)、大文字 A–Z のみ に対応します。用途はほぼ決まっていて、数の集合を表すのに使います。
\mathbb{R}— 実数全体 ℝ。\mathbb{C}— 複素数全体 ℂ。\mathbb{Z}— 整数全体 ℤ(ドイツ語 *Zahlen* に由来)。\mathbb{Q}— 有理数全体 ℚ(*Quotient* に由来)。\mathbb{N}— 自然数全体 ℕ。
\mathbb は大文字専用なので、小文字や数字を渡しても黒板太字にはなりません。唯一の例外として、amssymb は 黒板太字の小文字 k を \Bbbk という専用命令で用意しています(体を表す k によく使われます)。これは \mathbb{k} ではなく \Bbbk と書く、独立した記号である点に注意してください。
それ以外の小文字や数字(たとえば黒板太字の 1 や 2、小文字 h)が必要なら、別のフォントパッケージを使います。**dsfont** は \mathds で大文字・小文字 h・k と数字 1 を、**bbold** は \mathbb を再定義して小文字や数字を含む広い範囲を、**bbm** は \mathbbm で小文字・数字を提供します(fourier フォントにも黒板太字の大文字・数字 1・小文字 k が含まれます)。ただし、こうしたパッケージを amssymb と併用すると \mathbb の定義が衝突しうるので、どのパッケージにどの命令を任せるかをはっきりさせておきましょう。
\usepackage{amssymb} % \mathbb と \Bbbk
% ...
\[
\mathbb{N} \subset \mathbb{Z} \subset \mathbb{Q}
\subset \mathbb{R} \subset \mathbb{C}, \qquad
\Bbbk = \overline{\Bbbk}.
\]この例では、数の集合 ℕ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ がすべて黒板太字の大文字で組まれ、最後の \Bbbk が黒板太字の小文字 k(代数閉体を表す例)として出ます。なお、XeLaTeX・LuaLaTeX で unicode-math を使う場合は、これらの装飾アルファベットを OpenType 数式フォントから一括で得られ、\mathbb 等の代わりに \symbb などを使います——そのしくみは「数式の書体」のページで扱います。