Mathematische Schriften

Du hast den Fließtext auf Times oder Palatino umgestellt, aber die Gleichungen bleiben Computer Modern, und der Bruch fällt auf. Diesen Konflikt zu vermeiden, ist Thema dieser Seite. In LaTeX werden Textschrift und Mathematikschrift getrennt gewählt, daher musst du bewusst eine Mathematikschrift für das ganze Dokument auswählen und sie mit dem Text harmonisieren. Wir behandeln sowohl die klassischen Pakete der pdfLaTeX-Zeit, etwa mathptmx, mathpazo, newtxmath, als auch den modernen Weg unter XeLaTeX und LuaLaTeX, unicode-math mit \setmathfont, jeweils mit funktionsfähigem Beispiel. Mathematische Alphabetbefehle pro Symbol wie \mathbb und \mathcal gehören auf eine eigene Seite (Math fonts im Mathematikbereich) und werden hier nicht wiederholt.

Text und Mathematik werden getrennt gewählt

Beginnen wir mit dem Prinzip. In LaTeX werden die Schrift für Fließtext und die Schrift für den Mathematikmodus als zwei unabhängige Systeme verwaltet. Eine geänderte Textschrift zieht die Mathematik nicht automatisch mit, daher entsteht ein Bruch: “Ich habe den Text mit \usepackage{...} auf Times gesetzt, aber x und \sum in den Gleichungen sind noch die alte Schrift.” Gute Typografie verlangt, beide bewusst aufeinander abzustimmen, sodass Variablen und Symbole in Formeln dieselbe Stärke und denselben Charakter wie der umgebende Text haben.

Die voreingestellte Mathematikschrift ist Computer Modern math, die Schrift, die Knuth zusammen mit TeX entworfen hat. Unter pdfLaTeX ohne Schriftauswahl werden Text und Mathematik in Computer Modern gesetzt, und weil sie als Suite gestaltet wurden, harmonieren sie natürlich. Das Paket lmodern ersetzt den Text durch Latin Modern, den glatter konturierten Nachfolger, und die Mathematik durch die passende Latin Modern Math (letztere meist über unicode-math). Mit anderen Worten: Schon nichts zu tun liefert einen abgestimmten Ausgangspunkt für Text und Mathematik.

Sobald du ab hier eine andere Textschrift möchtest, verzweigen sich die Optionen. Unter pdfLaTeX lädt der klassische Weg für jede Mathematikschrift ein eigenes Paket; unter XeLaTeX und LuaLaTeX benennt der moderne Weg eine einzelne OpenType-Mathematikschrift über unicode-math. Die nächsten Abschnitte behandeln beide der Reihe nach.

Der klassische Weg (pdfLaTeX / Type1)

Unter pdfLaTeX wechselst du die Mathematikschrift des ganzen Dokuments mit einem Mathematikschrift-Paket. Die meisten sind als Paar zu einer Textschrift gebaut; gemeinsam mit dem Textpaket geladen, setzen sie Körpertext und Mathematik in derselben Familie. Die Tabelle sammelt die üblichen Optionen.

PaketText / passende SchriftHinweise
mathptmxTimesTimes-artige Mathematik (aus Times, Symbol und CM); einfach, aber etwas älter
mathpazoPalatinoPalatino-Mathematik mit Pazo-Math-Alphabeten
newtxmathTimes (mit newtxtext)Moderne Times-artige Mathematik; Optionen wie [libertine]/[utopia] passen zu anderen Textschriften
newpxmathPalatino (mit newpxtext)Palatino-artige Mathematik (benötigt TeX Gyre Pagella)
fourierUtopiaSetzt Utopia-Text und Fourier-Mathematik gemeinsam
kpfontsEigene Text- und Mathematik-SuiteUmfassendes Paket für Text und Mathematik
mathdesignGaramond / Charter / UtopiaMathematik passend zur gewählten Textschrift (garamond/charter/utopia)
eulervm(beliebige Textschrift)Euler-Mathematikalphabet; passt zu Textschriften ohne eigene Mathematik

Das typische Muster ist, Text- und Mathematikpaket gemeinsam zu laden. mathpazo richtet beispielsweise Palatino-Text und Pazo-Mathematik in einem Schritt ein. Am leichtesten zu empfehlen ist heute die newtx-Familie: \usepackage{newtxtext,newtxmath} ergibt Times-artigen Text und passende moderne Times-artige Mathematik. newtxmath hat viele Optionen: [libertine] passt zu Libertine-Text (libertinus), [utopia] (mit den Erewhon-Schriften) zu einer Utopia-Textschrift.

document.tex
% --- Palatino 本文+数式 / Palatino text & math ---
\usepackage{mathpazo}            % Palatino + Pazo math

% --- Times 本文+数式(おすすめ) / Times text & math (recommended) ---
\usepackage{newtxtext}           % 本文 / text
\usepackage{newtxmath}           % 数式 / math

% --- Libertine 本文に数式を合わせる / match math to Libertine text ---
% \usepackage{libertine}
% \usepackage[libertine]{newtxmath}

Wichtig ist: Wer Text und Mathematik über getrennte Pakete angibt, wählt leicht eine kollidierende Kombination. Nicht zusammengehörige Teile zu mischen, etwa newtxtext mit newpxmath (Times-Text, Palatino-Mathematik), erzeugt genau den Bruch, den diese Seite vermeiden will. Auch die Ladereihenfolge zählt: Das Mathematikschrift-Paket gehört nach dem Textschrift-Paket. Die Regel ist einfach: Text und Mathematik als passendes Paar wählen.

Der moderne Weg: unicode-math (XeLaTeX und LuaLaTeX)

Unter XeLaTeX oder LuaLaTeX kannst du die alte Paketsuppe beiseiteräumen. Das Paket unicode-math setzt die gesamte Mathematik aus einer einzigen OpenType-Mathematikschrift, die mit \setmathfont{…} benannt wird. Text mit fontspec auf eine OpenType-Textschrift umstellen, Mathematik mit \setmathfont auf die passende OpenType-Mathematikschrift umstellen: Diese zwei Zeilen stimmen Text und Mathematik ab. unicode-math lädt fontspec selbst und benötigt den XeTeX- oder LuaTeX-Engine (nicht pdfLaTeX). Außerdem baut es auf amsmath auf, daher amsmath zuerst laden.

Bei OpenType-Mathematikschriften gibt es eine gute freie Auswahl: Latin Modern Math (Computer-Modern-Linie), STIX Two Math (breite Abdeckung wissenschaftlicher Symbole), die TeX-Gyre-Familie mit Termes (Times-artig), Pagella (Palatino-artig), Bonum und Schola jeweils als Math-Variante, Libertinus Math (Nachfolger von Libertine / Linux Libertine), außerdem XITS (von STIX abgeleitet), Asana Math und Fira Math. Wird vor \begin{document} keine Mathematikschrift benannt, wird Latin Modern Math standardmäßig geladen.

OpenType-MathematikschriftHerkunft / CharakterPassende Textschrift
Latin Modern MathComputer-Modern-Linie; StandardLatin Modern
TeX Gyre Termes MathTimes-artigTeX Gyre Termes / Times
TeX Gyre Pagella MathPalatino-artigTeX Gyre Pagella / Palatino
STIX Two MathTimes-artig, sehr breiter SymbolsatzSTIX Two Text / Times
Libertinus MathNachfolger von LibertineLibertinus Serif
XITS / Asana / Fira MathSTIX-basiert / eigenständig / Sans-Stilje nach Zweck

Hier ist ein Minimalbeispiel. Lade zuerst amsmath, dann unicode-math, und benenne die Mathematikschrift mit \setmathfont. Kein Paket pro Schrift wie mathptmx oder mathpazo ist nötig; diese eine Zeile übernimmt die gesamte Mathematik. Soll auch der Text passen, setze mit fontspec’s \setmainfont die entsprechende Textschrift (das Laden von fontspec selbst kannst du auslassen, da unicode-math es einbindet).

document.tex
% コンパイルは xelatex または lualatex / compile with xelatex or lualatex
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}       % 本文(fontspec)/ text
\setmathfont{TeX Gyre Termes Math} % 数式(対の OpenType フォント)/ matching math
\begin{document}
\[
  f(x) = \int_{-\infty}^{\infty} \hat f(\xi)\, e^{2\pi i x \xi}\, d\xi.
\]
\end{document}

In diesem Beispiel ist der Text TeX Gyre Termes (Times-artig) und die Mathematik die passende TeX Gyre Termes Math; Integrale, Indizes und Variablen teilen daher den Charakter des Textes. Wenn eine Mathematikschrift nicht reicht, kann die Option range= von \setmathfont einen Teil des mathematischen Alphabets aus einer anderen Schrift beziehen (siehe Math-fonts-Seite). Insgesamt ist auf Unicode-Engines unicode-math mit \setmathfont heute der Standard und viel einfacher einzurichten als klassische Pakete.

Was wählen: Text und Mathematik paaren

Am Ende lautet der wichtigste Rat schlicht: Textschrift und Mathematikschrift als Paar wählen. Unter pdfLaTeX nutzt du Kombinationen, die füreinander gedacht sind, etwa newtxtext + newtxmath (Times) oder mathpazo (Palatino). Unter XeLaTeX oder LuaLaTeX stimmst du die Familien mit \setmainfont{...} und \setmathfont{...} ab: Libertinus-Text mit Libertinus Math, TeX Gyre Pagella Text mit seiner Math-Variante usw.

  • Nichts tun: Computer Modern (pdfLaTeX) oder Latin Modern Math (Standard von unicode-math) — Text und Mathematik passen bereits.
  • Text unter pdfLaTeX ändern: Ein gepaartes Paket verwenden: Times mit newtxtext+newtxmath, Palatino mit mathpazo/newpxmath, Utopia mit fourier oder mathdesign.
  • Unter XeLaTeX/LuaLaTeX: amsmath, dann unicode-math laden und passende OpenType-Text- und Mathematikschriften mit \setmainfont und \setmathfont benennen.
  • Was nicht tun: ungepaarten Text und Mathematik mischen, z. B. Times-Text mit Palatino-Mathematik.

Befehle, die nur bestimmte Buchstaben innerhalb einer Formel in eine andere Schrift setzen, etwa \mathbb, \mathcal, \mathfrak, sind ein anderes Thema als die hier besprochene dokumentweite Mathematikschrift; sie stehen auf der “Math fonts”-Seite im Mathematikbereich. Für Textschriften selbst siehe “Western font families”, für Textschriften auf Unicode-Engines “fontspec” und für die zugrunde liegende Mechanik (NFSS) “Font system”.