Buchstaben im Mathematikmodus sind standardmäßig mathematikkursiv, aber viele Fachgebiete verlangen ein bestimmtes mathematisches Alphabet: das Blackboard-Bold ℝ der Mengenlehre, Skriptbuchstaben für Funktoren, die verzierte Fraktur für Lie-Algebren. Diese Seite ordnet Befehle für mathematische Alphabete wie \mathbf und \mathbb, nennt die jeweils nötigen Pakete und erklärt den Unterschied zwischen \boldsymbol und \bm beim Fettdruck von Vektoren und Symbolen. Am Ende steht unicode-math, der moderne Weg zu OpenType-Mathematikschriften mit XeLaTeX und LuaLaTeX.
Was ein mathematisches Alphabet ist
Ein Buchstabe im Mathematikmodus gilt als Variable und wird mathematikkursiv gesetzt; das ist das voreingestellte mathematische Alphabet. Wird er mit einem Befehl wie \mathbf{v} umschlossen, wechselt nur dieser Bereich in eine andere Schrift. LaTeX stellt solche Umschalter als \math…-Befehle bereit, parallel zu Textbefehlen wie \textbf, \textsf und so weiter.
Wichtig ist: Ein mathematischer Alphabetbefehl setzt sein Argument als Folge einzelner mathematischer Symbole neu, nicht als Text. \mathbf{fit} ist also das Produkt dreier fetter Symbole f, i, t und nicht das Wort “fit”. Soll ein echtes Wort aufrecht in einer Formel stehen, nutze stattdessen \text{…} aus amsmath.
Sieben Grundbefehle sind ganz ohne Paket verfügbar. Die folgende Tabelle zeigt die in LaTeX eingebauten Befehle (\mathnormal benennt lediglich das voreingestellte Mathematikkursiv ausdrücklich).
| Befehl | Aussehen | Hinweise |
|---|---|---|
\mathnormal | Voreingestelltes Mathematikkursiv | Eingebaut; Standardaussehen einer Variablen |
\mathrm | Aufrechte Roman | Eingebaut; für aufrechte Konstanten und Abkürzungen |
\mathbf | Aufrecht fett | Eingebaut; aufrecht, daher ungeeignet für Variablen (siehe unten) |
\mathsf | Sans Serif | Eingebaut; für Tensoren, Kategorienamen usw. |
\mathtt | Monospace (Schreibmaschine) | Eingebaut; z. B. für codeartige Tokens in Mathematik |
\mathit | Textkursiv | Eingebaut; mehrbuchstabige Wörter schräg, mit Textabständen |
\mathcal | Kalligrafisch; nur Großbuchstaben | Eingebaut; für Mengenfamilien, Kategorien usw. |
Zu den leicht verwechselbaren Befehlen \mathit und \mathnormal: \mathnormal (Standard) setzt jeden Buchstaben als Variable mit größerem Variablenabstand, während \mathit Textkursiv ist und sich für ein mehrbuchstabiges Wort als eine geneigte Einheit eignet, etwa \mathit{diff}.
Blackboard, Kalligrafisch, Fraktur und Skript
Die folgenden vier Schriften werden in der Mathematik besonders häufig verwendet, aber abgesehen vom eingebauten \mathcal muss jeweils ein Paket geladen werden. Sie unterscheiden sich im Aussehen, in der typischen Verwendung und im benötigten Paket.
\mathbb (Blackboard Bold) ist eine markante Fettschrift mit gedoppelten Strichen; sie ahmt nach, wie man an der Tafel Fettschrift durch zweimaliges Nachziehen schreibt. Sie benötigt amssymb (oder amsfonts) und deckt nur Großbuchstaben ab. Die Verwendung ist fast festgelegt: Zahlenmengen, also reelle Zahlen ℝ, komplexe ℂ, ganze ℤ, rationale ℚ, natürliche ℕ. \mathbb{R} erzeugt ein “Blackboard-Bold R” mit gedoppeltem senkrechtem Strich.
\mathcal (kalligrafisch) liefert geschwungene, verzierte Großbuchstaben; es ist eingebaut und nur für Großbuchstaben gedacht. Es wird für Mengenfamilien 𝒜, die Fourier-Transformation ℱ, Namen von Kategorien und Garben usw. verwendet. \mathcal{F} ergibt ein “verziertes F”.
\mathscr (Skript) wirkt noch fließender und handschriftlicher als \mathcal. Die übliche Quelle ist das Paket mathrsfs (es lädt Ralph Smiths Formal Script); das Paket euscript (Euler Script) bietet ebenfalls eine andere Skriptschrift. Es ist nützlich, wenn neben \mathcal zwei unterscheidbare Schmuckalphabete gebraucht werden, praktisch ebenfalls vor allem für Großbuchstaben.
\mathfrak (Fraktur) ist eine eckige, verzierte Schrift aus der Tradition alter deutscher Druckschriften, verwendet für Lie-Algebren 𝔤 und Ideale 𝔭, 𝔮. Sie benötigt amssymb (oder amsfonts, das intern eufrak lädt) und deckt im Unterschied zu \mathbb und \mathcal Groß- und Kleinbuchstaben ab.
\usepackage{amssymb} % \mathbb と \mathfrak
\usepackage{mathrsfs} % \mathscr
% ...
\[
\mathbb{R} \subset \mathbb{C}, \qquad
\mathcal{F}(f) = \hat{f}, \qquad
\mathscr{L}(f) = F, \qquad
\mathfrak{g} = \operatorname{Lie}(G).
\]In diesem Beispiel erscheinen \mathbb{R} und \mathbb{C} in Blackboard Bold, \mathcal{F} kalligrafisch, \mathscr{L} in einer fließenderen Skriptschrift und \mathfrak{g} als eckiger Fraktur-Kleinbuchstabe. Die folgende Tabelle fasst Paketbedarf und Buchstabenabdeckung zusammen.
| Befehl | Benötigtes Paket | Abdeckung und typische Nutzung |
|---|---|---|
\mathbb | amssymb (oder amsfonts) | Nur Großbuchstaben; Zahlenmengen ℝ ℂ ℤ ℚ ℕ |
\mathcal | Eingebaut (keines) | Nur Großbuchstaben; Mengenfamilien, Kategorien, Transformationen |
\mathscr | mathrsfs (oder euscript) | Praktisch Großbuchstaben; fließendere Skriptschrift |
\mathfrak | amssymb / amsfonts (eufrak) | Groß- und Kleinbuchstaben; Lie-Algebren, Ideale |
Eine gemeinsame wichtige Einschränkung: Diese Schmuckalphabete decken nur eine begrenzte Zeichenauswahl ab. \mathbb und \mathcal bestehen im Wesentlichen aus den Großbuchstaben A–Z; Ziffern, griechische Buchstaben und Kleinbuchstaben fehlen in den Standardschriften meist. Ein Wunsch wie “Blackboard-Bold 2 mit \mathbb{2}” ist im Standard nicht erfüllbar; dafür braucht es ein anderes Schriftpaket (etwa mathalpha/mathalfa, bbm oder dsfont) oder das unten behandelte unicode-math.
Mathematik fett setzen
Oft möchte man Mathematik fett setzen, etwa Vektoren oder Matrizen, aber hier liegt eine Falle. Das oben genannte \mathbf ist aufrecht fett und eigentlich für fette Konstanten oder Abkürzungen gedacht, die aufrecht stehen sollen. Setzt man damit einen Vektor, \mathbf{v}, wird er zwar fett, aber aufrecht, entgegen der Konvention, dass Variablen geneigt sind. Außerdem wirkt \mathbf nicht auf Symbole oder griechische Buchstaben (\mathbf{\alpha} macht α nicht fett).
Die erste Wahl für Fettdruck bei erhaltener Neigung ist \boldsymbol. Der Befehl kommt aus amsmath (intern amsbsy) und kann nicht nur Variablen, sondern auch griechische Buchstaben und Symbole fett setzen, wobei die ursprüngliche Form, etwa die Neigung, erhalten bleibt. \boldsymbol{\beta} ergibt ein “fettes kursives β”.
Die heute meist empfohlene, robuste Methode ist \bm aus dem Paket bm. Da bm Teil von LaTeXs erforderlichem Bündel latex-tools ist, bringt jede Standard-TeX-Distribution es mit; es muss nichts zusätzlich installiert werden. \bm{…} ist darauf ausgelegt, nur Gewicht hinzuzufügen und Neigung sowie alle anderen Formen seines Arguments zu erhalten. Variablen, Griechisch, Symbole und sogar komplexe Eingaben lassen sich damit fast transparent fetten. Auch die Abstände behandelt es sorgfältiger als \boldsymbol; die CTAN-Beschreibung sagt sinngemäß, dass \bm dabei gründlicher vorgeht. bm definiert \boldsymbol als Alias für \bm neu und ergänzt \hm (\heavysymbol) für extra schwere Zeichen.
\usepackage{amsmath} % \boldsymbol
\usepackage{bm} % \bm(推奨)
% ...
\[
\mathbf{v} \neq \bm{v}, \qquad
\bm{\beta} = (\beta_1, \dots, \beta_n), \qquad
\nabla \bm{F} = \bm{0}.
\]Hier ist \mathbf{v} ein aufrechtes fettes v, während \bm{v} ein fettes v ist, das kursiv bleibt; der Unterschied wird deutlich. \bm{\beta} ist ein fettes kursives β, \bm{0} eine fette Null (der Nullvektor). Als Regel gilt: Für fette Variablen, Vektoren und Symbole \bm verwenden, für Konstanten oder Abkürzungen, die aufrecht sein sollen, \mathbf.
\mathbf— aufrecht fett; eingebaut, aber ungeeignet für Variablen, die geneigt sein sollen, und ohne Wirkung auf Symbole oder Griechisch.\boldsymbol— aus amsmath (amsbsy); erhält die Neigung und kann Griechisch sowie Symbole fetten.\bm— aus dem Paket bm; empfohlen. Fügt nur Gewicht hinzu und erhält Form sowie Abstände; am robustesten und am breitesten einsetzbar.
unicode-math (XeLaTeX und LuaLaTeX)
Bisher ging es um den traditionellen Weg, jede Schrift einzeln über ein eigenes Paket hinzuzufügen. Auf den modernen Engines XeLaTeX und LuaLaTeX kann das Paket unicode-math die gesamte Mathematik aus einer einzigen OpenType-Mathematikschrift setzen. Man wechselt Mathematikschriften ähnlich wie Textschriften; damit ersetzt es den alten Ansatz, \mathbb und Verwandte stückweise hinzuzuladen (beide Ansätze lassen sich in einem Dokument nicht mischen).
Der Kern ist \setmathfont{…}. Lade amsmath, danach unicode-math (nach anderen schriftbezogenen Paketen), und benenne mit \setmathfont eine OpenType-Mathematikschrift. Häufige Schriften sind Latin Modern Math (in der Computer-Modern-Linie), STIX Two Math und die TeX-Gyre-Familie (Termes/Pagella/Bonum/Schola Math). Wird vor \begin{document} keine Mathematikschrift gesetzt, wird Latin Modern Math standardmäßig geladen.
% コンパイルは xelatex または lualatex
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{STIX Two Math} % OpenType 数式フォント
% ...
\[
\symbb{R} \subset \symbb{C}, \qquad
\symcal{F}, \quad \symscr{L}, \quad \symfrak{g}, \qquad
\symbf{v} = \symbf{0}.
\]Das Handbuch empfiehlt die \sym…-Befehle anstelle der alten \math…-Befehle. Die Zuordnung ist direkt: \symbf (fett), \symbb (Blackboard), \symcal (kalligrafisch), \symscr (Skript), \symfrak (Fraktur), \symup (aufrecht), \symit (kursiv), \symsf (Sans Serif) usw. Da sie auf die entsprechenden mathematisch-alphanumerischen Unicode-Zeichen abbilden, behält ein aus dem PDF kopierter Glyph seine Bedeutung. Alte Namen wie \mathbb bleiben aus Kompatibilitätsgründen erhalten, aber für neue Dokumente wird \sym… empfohlen.
Wenn eine Mathematikschrift nicht alle Zeichen abdeckt, kann die Option range= von \setmathfont nur einen Teil des mathematischen Alphabets aus einer anderen Schrift beziehen. range= akzeptiert einen Unicode-Bereich (etwa "1D538-"1D56B"), ein einzelnes Symbol wie range=\int oder einen Alphabetstil wie range=\symbb (oder range=bb). So lassen sich etwa nur Blackboard-Buchstaben oder nur griechische Klein- und Großbuchstaben aus einer anderen Schrift nehmen. Vor range= muss jedoch wie üblich eine Haupt-Mathematikschrift geladen sein.
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math} % 主たる数式フォント
\setmathfont{STIX Two Math}[range=\symbb] % 黒板太字だけ別フォント
\setmathfont{TeX Gyre Termes Math}[range=bfit/{greek,Greek}] % 太字斜体のギリシャだけIn diesem Beispiel wird der Hauptteil der Mathematik in Latin Modern Math gesetzt, während nur die Blackboard-Buchstaben (\symbb) aus STIX Two Math und nur das fettkursive Griechisch aus TeX Gyre Termes Math stammen. Aus Effizienzgründen lädt unicode-math eine range=-Schrift nur für die benötigten Slots. Insgesamt ist unter XeLaTeX oder LuaLaTeX heute unicode-math mit \setmathfont der Standardansatz, nicht das Hinzufügen eines Pakets pro Schrift.