Das wichtigste in Kürze: eine Schrift hat fünf Attribute:
- Kodierung (*font encoding*)
- Familie (*font family*)
- Serie (*font series*)
- Form (*font shape*)
- Größe (*font size*)
Die Familie (die anderen Attribute sollen hier außer acht bleiben) lässt sich in drei Gruppen unterteilen:
1. mit Serifen (*roman*, `\rmfamily`)
2. ohne Serifen (*sans serif*, `\sffamily) `\sffamily`) und
3. dicktengleich (*monospace* oder *teletype*, `\ttfamily`).
Die Makros, `\rmfamily`, `\sffamily` und `\ttfamily` wählen ihrerseits die in den Makros `\rmdefault`, `\sfdefault` bzw. `\ttdefault` gespeicherten Familien als Schriftfamilie aus. Bei `\rmfamily` wäre das
\fontfamily\rmdefault\selectfont
Die letzteren, `\rmdefault`, `\sfdefault` und `\ttdefault`, enthalten die Kürzel für die verwendeten Schriften im Dokument. In der Regel werden sie durch Schriftpakete, die man lädt, gesetzt und man braucht sich nicht selbst drum kümmern, was sie enthalten:
\documentclass{article}
\begin{document}
\show\rmdefault
\show\sfdefault
\show\ttdefault
\end{document}
Im Log steht jetzt:
> \rmdefault=\long macro:
->cmr.
l.5 \show\rmdefault
> \sfdefault=\long macro:
->cmss.
l.6 \show\sfdefault
> \ttdefault=\long macro:
->cmtt.
l.7 \show\ttdefault
Fügt man der Präambel `\usepackage{lmodern}` hinzu, erhält man:
> \rmdefault=\long macro:
->lmr.
l.5 \show\rmdefault
> \sfdefault=\long macro:
->lmss.
l.6 \show\sfdefault
> \ttdefault=\long macro:
->lmtt.
l.7 \show\ttdefault
Nun zur eigentlichen Frage: das Makro `\familydefault`, das beispielsweise von der Anweisung `\normalfont` verwendet wird, legt die Standardschriftfamilie des Dokuments fest. Vordefiniert ist es (falls es nicht durch ein Paket geändert wird) als
> \familydefault=\long macro:
->\rmdefault .
was bedeutet, das die Grundschrift des Dokuments *roman* (also mit Serifen) ist. Die Anweisung
\renewcommand\familydefault{\sfdefault}
ändert das nun auf `\sffamily`, so dass die Grundschrift des Dokuments serifenlos wird (falls niemand mit `\sffamily` Schindluder getrieben hat…)