Für kursiven Text gibt es \it und \itshape (außerdem \textit{}). Ähnlich \bf/\bfseries und \tt/\ttfamily. Macht es einen Unterschied, welches ich verwende? Sollte eine Version bevorzugt verwendet werden? Und wenn ja, welche und warum?

gefragt 10 Jun '13, 14:22

Clemens's gravatar image

Clemens
19.0k113060
Akzeptiert: 73%

bearbeitet 15 Jul '14, 04:50

Ijon%20Tichy's gravatar image

Ijon Tichy
4.4k618


Um Henris Antwort etwas zu ergänzen: \bf, \it, \tt und Konsorten gelten für LaTeX2e (also seit 1994!) als obsolet. Sowohl in plain TeX als auch in ConTeXt sind diese Befehle aber keineswegs obsolet! In LaTeX2e wurde das NFSS, das New Font Selection Scheme einführt, das die folgenden Makros definiert:

Schriftfamilien

  • \rmfamily und \textrm{} (Antiqua, roman)
  • \sffamily und \textsf{} (Groteske, sans serif)
  • \ttfamily und \texttt{} (Dicktengleich, teletype)

Schriftserien

  • \bfseries und \textbf{} (fett, bold face)
  • \mdseries und \textmd{} (medium)

Schriftformen

  • \upshape und \textup{} (aufrecht, upright)
  • \itshape und \textit{} (kursiv, italic)
  • \slshape und \textsl{} (geneigt, slanted)
  • \scshape und \textsc{} (Kapitälchen, small caps)

Wie schon von Henri erwähnt, funktionieren sie (solange sie sich nicht widersprechen) additiv, d.h. \textbf{\textit{text}} gibt fetten kursiven Text (so die Schrift diese Glyphen denn besitzt). Das gilt nicht für die plainTeX-Befehle!

Die \text...-befehle fügen außerdem eine eventuelle Kursivkorrektur am Ende des gesetzten Texts hinzu, die man mit den plainTeX-Befehlen von Hand mit \/ einfügen müsste.


Die Befehle \bf, \it, \sl, \sc,... werden übrigens vom LaTeX2e-Kernel überhaupt nicht definiert, sondern von der verwendeten Klasse. Das heißt, es kann sein, dass sie je nach verwendeter Klasse gar nicht zur Verfügung stehen. Allerdings ist mir in der Praxis noch kein Fall untergekommen, wo das der Fall war. Wenn sie definiert sind, dann in der Regel so, dass sie auf die NFSS-Befehle zurückfallen, in article etwa mit \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}.

Verwendet man übrigens einen dieser Befehle mit einer KOMA-Script-Klasse (>= v3.12 2013/12/19) oder mit memoir, dann erhält man eine Warnung. Im Falle von KOMA-Script ist das beispielsweise

Open in Online-Editor
Class scrartcl Warning: Usage of deprecated font command `\tt'!
(scrartcl)              You should note, that in 1994 font command `\tt' has
(scrartcl)              been defined for compatiblitiy to Script 2.0 only.
(scrartcl)              Now, after two decades of LaTeX2e and NFSS2, you
(scrartcl)              shouldn't use such commands any longer and within
(scrartcl)              KOMA-Script usage of `\tt' is definitely deprecated.
(scrartcl)              See `fntguide.pdf' for more information about
(scrartcl)              recommended font commands.
(scrartcl)              Note also, that KOMA-Script will remove the definition
(scrartcl)              of `\tt' anytime until release of about version 3.20.
(scrartcl)              But for now, KOMA-Script will replace deprecated `\tt'
(scrartcl)              by `\normalfont \ttfamily ' on input line 5.
Permanenter link

beantwortet 11 Jun '13, 16:12

Clemens's gravatar image

Clemens
19.0k113060

bearbeitet 30 Aug '15, 06:54

2

Bei LaTeX2e sind die Befehle \bf, \it etc. im Gegensatz zu \bfseries, \itshape etc. übrigens in den Klassen definiert, also keine Eigenschaft des LaTeX-Kerns. Ob sie überhaupt existieren hängt damit von der jeweiligen Klasse ab. Es ist durchaus zulässig, dass eine Klasse sich den alten Zopf nicht umhängt.

(26 Aug '13, 01:50) saputello

@saputello das war mir noch gar nicht aufgefallen. Ein Grund mehr, \it und Konsorten mit LaTeX nicht zu verwenden

(26 Aug '13, 04:35) Clemens

@saputello Ich hab das mal in die Antwort mit aufgenommen, Danke!

(27 Dez '13, 11:02) Clemens

Das LaTeX2e Sündenregister l2tabu gibt dazu in Abschnitt 2.1.1 sehr ausführliche Auskunft.

Warum sollte man die alten Befehle nicht verwenden? Die alten Befehle unterstützen nicht die Schriftverwaltung von LATEX2e. {\bf foo} zum Beispiel setzt alle schon vorhandenen Schriftattribute zurück, bevor es »foo« fett druckt. Das führt dazu, dass man nicht einfach einen fett-kursiven Stil durch {\it \bf Test} definieren kann. (Die angegebene Definition erzeugt: Test.). Die aktuellen Befehle \textbf{\textit{Test}} hingegen verhalten sich wie erwartet und erzeugen: Test. Ferner gibt es bei den alten Befehlen keine »Italic-Korrektur«.

Im genannten Abschnitt findet sich auch eine Tabelle mit einer Übersicht, welcher neue Befehl welchem alten entspricht.

Permanenter link

beantwortet 11 Jun '13, 15:18

Henri's gravatar image

Henri
10.0k31730

Als Ergänzung zu den Antworten noch eine Antwort aus dem Vortrag "LaTeX für Puristen":

Es sollte keine dieser LaTeX-Low-Level-Befehle im Dokumenttext verwendet werden.

Wieso? Im Dokumenttext sollte man den Text von seiner Bedeutung her auszeichnen. Befehle wie \itshape, \slshape, \bfseries, \ttfamily sind keine Auszeichnungsbefehle, sondern Schriftauswahlbefehle.

Es ist besser, sich eigene Auszeichnungen zu überlegen, diese im Dokumentkopf oder einem Paket zu definieren - hierzu kann man dann die Schriftauswahlbefehle verwenden - und dann die Textstellen im Dokument mit diesen Ausreichnungen zu versehen.

Permanenter link

beantwortet 28 Jun '13, 16:07

bernd's gravatar image

bernd
21614

bearbeitet 28 Jun '13, 16:10

Clemens's gravatar image

Clemens
19.0k113060

Sehe ich genauso (in http://texwelt.de/wissen/fragen/31/was-ist-der-unterschied-zwischen-emph-und-textit hab ich's erwähnt, hier vergessen...)

(28 Jun '13, 16:12) Clemens
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×69
×35
×30
×25

Frage gestellt: 10 Jun '13, 14:22

Frage wurde angeschaut: 8,531 Mal

Zuletzt aktualisiert: 30 Aug '15, 06:54