Roman, Fett, Kursiv – die Befehle, die die Schriftarten in LaTeX wechseln, sehen auf den ersten Blick wie eine Wundertüte aus, sitzen aber tatsächlich ordentlich auf drei unabhängigen Achsen. Sobald das Modell klickt, werden Kombinationen wie „Fett serifenlos“ und das gleichzeitige Wechseln eines ganzen Absatzes offensichtlich und nicht umständlich. Diese Seite behandelt dieses Modell und die Wahl zwischen der Befehlsform \textbf{...} und der Deklarationsform {\bfseries ...}.
Eine Schriftart besteht aus drei unabhängigen Achsen
In LaTeX2es NFSS (New Font Selection Scheme) ist die aktuelle Textschriftart die Kombination von drei unabhängigen Attributen. Familie ist die zugrunde liegende Buchstabenform, Serie ist das Gewicht und Form ist die Neigung oder Form der Buchstaben. Der entscheidende Punkt ist, dass jede für sich umgeschaltet werden kann und sie zusammensetzen: Stellen Sie die Familie auf serifenlos und die Serie auf fett ein, und Sie erhalten fette serifenlose Schrift.
- Familie – römisch (Serif)
\textrm/\rmfamily, serifenlos\textsf/\sffamily, Schreibmaschine (einzeilig)\texttt/\ttfamily. - Serie – mittel (das Standardgewicht)
\textmd/\mdseries, fett\textbf/\bfseries. - Form – aufrecht (Standard)
\textup/\upshape, kursiv\textit/\itshape, schräg\textsl/\slshape, Kapitälchen\textsc/\scshape.
Das Vertauschen einer Achse lässt die beiden anderen unberührt – das ist die Orthogonalität im Herzen von NFSS. Wenn Sie also Sans-Serif mit \textsf aktivieren und dann \textbf darin verwenden, erhalten Sie Fett *und immer noch Sans-Serif*. Beachten Sie, dass series tatsächlich „Gewicht“ und „Breite“ in einer Achse vereint, sodass auch komprimierte und erweiterte Flächen abgedeckt werden. Seit 2020 führt LaTeX2e die aktuelle und die angeforderte Serie auf intelligente Weise zusammen: Wenn die Schriftart aktuell komprimiert ist (c) und Sie nach Fett (b) fragen, wird es versucht, fett-komprimiert (bc) zu verwenden, wenn diese Schriftart vorhanden ist.
Befehlsformular vs. Deklarationsformular
Jeder Schalter ist in zwei Formen erhältlich. Das Befehlsformular, das mit \text… beginnt, akzeptiert ein Argument und wirkt sich nur auf das aus, was in seinen geschweiften Klammern steht. Das Deklarationsformular, das auf …family / …series / …shape endet, akzeptiert kein Argument und bleibt von diesem Punkt an bis zum Ende der umschließenden Gruppe ({ }) oder Umgebung gültig.
% 命令形:短い範囲に / Command form: for short spans
ここは \textbf{太字} で、ここは \textit{イタリック} です。
% 宣言形:グループで範囲を区切る / Declaration form: a group limits the scope
ここは普通。{\bfseries ここから先はずっと太字。} ここで元に戻る。
% 環境全体に効かせる / Apply to a whole environment
\begin{quote}
\itshape この引用は段落全体がイタリックになります。
\end{quote}Eine gute Faustregel: für eine kurze Zeitspanne von bis zu einigen Wörtern verwenden Sie die Befehlsform \textbf{...}; für einen ganzen Absatz oder eine ganze Umgebung verwenden Sie das Deklarationsformular \bfseries. Wenn Sie möchten, dass eine Deklaration nur lokal gilt, denken Sie daran, sie in eine Gruppe einzuschließen – {\bfseries ...} – andernfalls bleibt sie für den Rest des Dokuments bestehen.
Das Befehlsformular hat auch einen leisen, aber echten Vorteil: Es fügt eine Kursivschriftkorrektur für Sie ein (siehe nächster Abschnitt). Da die Deklarationsform nichts hinzufügt, bleibt die Verschachtelung und Massenanwendung vorhersehbar, weshalb sie innerhalb von Klassen- und Paketcode bevorzugt wird.
| Schlüssel | Achse / Wirkung | Befehlsform (kurze Spanne) | Deklarationsformular (Umfang über Gruppe) |
|---|---|---|---|
roman | Familie: Roman (Serif) | \textrm{...} | {\rmfamily ...} |
sans | Familie: serifenlos | \textsf{...} | {\sffamily ...} |
tt | Familie: Schreibmaschine (monospaced) | \texttt{...} | {\ttfamily ...} |
bold | Serie: fett | \textbf{...} | {\bfseries ...} |
medium | Serie: mittel (Standard) | \textmd{...} | {\mdseries ...} |
italic | Form: kursiv | \textit{...} | {\itshape ...} |
slanted | Form: schräg | \textsl{...} | {\slshape ...} |
smallcaps | Form: Kapitälchen | \textsc{...} | {\scshape ...} |
reset | Alle Achsen auf die Standardeinstellungen zurücksetzen | \textnormal{...} | {\normalfont ...} |
Zurücksetzen und Kursivkorrektur
Um alle drei Achsen gleichzeitig auf die Dokumentstandards zurückzusetzen, verwenden Sie \textnormal{...} (Befehlsformular) oder \normalfont (Deklarationsformular) – praktisch, wenn Sie beispielsweise ein einzelnes Wort in der Standardschriftart in einer serifenlosen Überschrift haben möchten. Um nur eine Achse zurückzusetzen, verwenden Sie den Standardbefehl dieser Achse: \mdseries (zurück zu mittlerem Gewicht), \upshape (zurück zu aufrecht) oder \rmfamily (zurück zu römisch).
Kursivschrift-Korrektur \/ fügt ein wenig Platz hinzu, um den Überstand eines geneigten Buchstabens auszugleichen, sodass das letzte kursive Zeichen nicht in den folgenden aufrechten Text stürzt. Hier weichen die beiden Formen voneinander ab. Die Befehlsformen wie \textit{...} fügen die Korrektur bei Bedarf automatisch ein (sie überspringen sie, wenn das nächste Zeichen in \nocorrlist steht – standardmäßig ein Punkt oder Komma). Das Deklarationsformular \itshape bewirkt nichts, daher müssen Sie \/ selbst am Ende der geneigten Spanne hinzufügen.
% 命令形:補正は自動 / Command form: correction is automatic
He was \textit{very} clever.
% 宣言形:末尾に \/ を手で入れる / Declaration form: add \/ by hand
He was {\itshape very\/} clever.
% 自動挿入を止めたいとき / To suppress the automatic correction
\textit{\nocorr text}Zur Hervorhebung verwenden Sie \emph (nicht \textit)
Wenn Ihre Absicht darin besteht, „dies zu betonen“, ist die Redewendung nicht das Erscheinungsfixierung \textit, sondern das bedeutungstragende \emph{...}. Der Trick besteht darin, dass \emph kontextbewusst ist: In aufrechtem Fließtext wird es kursiv geschrieben, aber wenn es in bereits kursivem Text verwendet wird, wechselt es *zurück in die aufrechte Schrift*, um hervorzustechen. Verschachtelt wechselt es ab – \emph{start \emph{middle} end} ergibt kursiv, dann aufrecht, dann kursiv.
Dies verkörpert die Trennung von Struktur und Aussehen bei LaTeX: Schreiben Sie nur die *Bedeutung* „Hervorhebung“ in den Textkörper, und wenn Sie später möchten, dass die Hervorhebung fett oder farbig dargestellt wird, ändern Sie die Definition von \emph an einer Stelle (z. B. über \DeclareTextFontCommand), und sie verbreitet sich überall. Auf der speziellen Seite werden die Schwerpunkte ausführlicher behandelt.
Die alten Befehle, die Sie vermeiden sollten
Möglicherweise sehen Sie die zweibuchstabigen Befehle \bf, \it, \rm, \sf, \tt, \sc, \sl in alten Webbeiträgen, aber diese sind Relikte von LaTeX 2.09 (vor 1994). Sie funktionieren immer noch, nutzen sie aber nicht. Der Grund dafür ist, dass sie nicht orthogonal sind: Jedes verwirft *jedes* aktuelle Schriftattribut außer der Größe und überschreibt es.
Also weigern sie sich zu kombinieren. {\bf\it text} ignoriert \bf und erscheint nur kursiv; {\it\bf text} ignoriert \it und erscheint aufrecht fett; und wenn \textbf{\tt text} Altes mit Neuem vermischt, lässt er lautlos den \textbf fallen. LaTeX2e ersetzte sie 1994 durch die pro Achse zusammensetzbaren Befehle – \bfseries, \itshape, \rmfamily und ihre Partner im \textbf{...}-Stil. Verwenden Sie in neuem Code immer die modernen Befehle.
Kombination der Achsen: ein ausgearbeitetes Beispiel
Da die drei Achsen unabhängig sind, können Sie sie frei stapeln. Im folgenden Beispiel werden Sans-Serif, Fett und Kursivschrift gleichzeitig verwendet – verschachteln Sie die Befehlsformen oder listen Sie die Deklarationen einfach in derselben Gruppe auf.
\documentclass{article}
\begin{document}
% 命令形を入れ子に / Nest the command forms
\textsf{\textbf{\textit{Bold sans-serif italic}}}
% 宣言形を同じグループに並べる(等価)/ Declarations in one group (equivalent)
{\sffamily\bfseries\itshape Bold sans-serif italic\/}
% 一語だけ標準書体へ戻す / Reset one word to the default font
{\sffamily 見出し調のテキストの中の \textnormal{標準} という語}
\end{document}Japanischer Text (和文) funktioniert etwas anders. Seine Familienachse hat zwei Mitglieder – Mincho \textmc / \mcfamily und Gotik \textgt / \gtfamily – ein vom westlichen Roman/Sans-Serif getrenntes System. Da die standardmäßige japanische Schriftart über keine unabhängige Fettserie verfügt, werden durch die Anwendung von \textbf auf japanischen Text die westlichen Buchstaben fett dargestellt, die japanischen werden jedoch als Ersatz in gotisch dargestellt (das Standardverhalten). Die Betonung des Japanischen durch einen Familienwechsel (Mincho ↔ Gotik) ist der traditionelle Ansatz, der sich konzeptionell von der westlichen Vorstellung von Gewicht und Neigung unterscheidet.
Eine Schlussbemerkung: High-Level-Befehle wie \textbf erweitern sich intern zu NFSS Low-Level-Befehle – \fontfamily{...}, \fontseries{...}, \fontshape{...} legen die Attribute fest und \selectfont schreibt sie fest. Die Formattributwerte sind n (aufrecht), it (kursiv), sl (schräg) und sc (Kapitälchen). Sie berühren diese Ebene selten direkt, aber auf diese Weise rufen Sie eine bestimmte benannte Schriftart auf.
Eine Arbeitsrichtlinie für Manuskripte
Je mehr Sie in einer Abschlussarbeit oder einem technischen Dokument Schriftbefehle als kleine visuelle Korrekturen verstreuen, desto schwieriger ist die Pflege des Manuskripts. Behalten Sie im Fließtext Schriftartbefehle für Stellen bei, an denen sie eine Bedeutung haben. Regeln wie Überschriften fett, Bildunterschriften kleiner oder definierte Begriffe konsequent serifenlos zu machen, sollten in der Klasse, einem Paket oder Ihrem eigenen semantischen Makro vorhanden sein, nicht in wiederholten \textbf-Befehlen im gesamten Text.
- Betonen Sie
\emph. Behalten Sie die Bedeutung im Text bei, damit sich das Erscheinungsbild später ändern kann. - Verwenden Sie den direkten Stil nur für kurze Beschriftungen. Befehle wie
\textsfoder\texttteignen sich für UI-Namen, Schlüsselnamen und kurze Warnbezeichnungen, bei denen das Aussehen selbst wichtig ist. - Verwenden Sie Deklarationen für lange Spannen. Für ein ganzes Zitat oder eine Randnotiz deklarieren Sie
\itshapeoder\smallam Anfang der Umgebung und schließen Sie die Gruppe sauber. - Vermischen Sie keine alten Befehle mit zwei Buchstaben. Ersetzen Sie in gemeinschaftlichen Manuskripten
\bfoder\itdurch modernes\bfseries/\itshapeoder\textbf/\textit.
Schriftwarnungen im Protokoll lesen
Wenn die angeforderte Kombination in der aktuellen Schriftart nicht vorhanden ist, ersetzt LaTeX eine nahegelegene Schriftart und fährt fort. Das ist praktisch, aber in einem eingereichten PDF kann es bedeuten: „Ich habe nach fetten Kapitälchen gefragt, aber es sieht aus wie normale Fettschrift.“ Wenn im Protokoll Font shape ... undefined oder Font shape ... substituted steht, überprüfen Sie nicht nur die Schreibweise des Befehls; Überprüfen Sie, ob die ausgewählte Schriftart tatsächlich diese Familie, Serie und Form hat. Auch wenn eine Vertretung akzeptabel ist, überprüfen Sie sie im PDF und notieren Sie die Entscheidung in den Manuskriptnotizen.
- Probieren Sie Kombinationen in einem Minimalbeispiel aus. Bevor Sie sie im Manuskript verteilen, prüfen Sie
\textsf{\textbf{...}}oder\textsc{...}in einem kurzen Beispiel. - Ersetzungen nicht ignorieren. Allein gelassene Warnungen können dazu führen, dass die Hervorhebung von Kapitel zu Kapitel unterschiedlich aussieht. Ändern Sie die Schriftart oder vereinfachen Sie die gewünschte Form.
- Verschieben Sie wiederholte Verwendungen in semantische Makros. Sammeln Sie für Begriffe, UI-Namen und andere wiederkehrende Rollen den Stil in einem Befehl wie
\newcommand{\term}[1]{...}, anstatt Schriftartwechsel in der Prosa zu wiederholen.