5.2.2 Eigenschaften, die Schnittstellen besitzen können

Der Text unseres Beispiels soll jetzt kursiv gesetzt werden. Was für ein \override-Befehl wird dazu benötigt? Schauen wir uns zunächst das Inhaltsverzeichnis in der IR an: „All layout objects“, wie auch schon zuvor. Welches Objekt könnte die Darstellung des Textes (engl. lyrics) beeinflussen? Es gibt den Eintrag LyricText, das hört sich schon sehr gut an. Ein Klick hierauf zeigt alle Eigenschaften an, die verändert werden können. Dazu gehört font-series und font-size, aber nichts, womit man kursiven Text erreichen könnte. Das liegt daran, dass die Schnitteigenschaft allen Schrift-Objekten gemeinsam ist. Sie findet sich also nicht in jedem einzelnen Layout-Objekt aufgelistet, sondern ist mit anderen ähnlichen Eigenschaften zusammen in einem Interface – einer Schnittstelle – verortet; in diesem Fall das font-interface.

Jetzt müssen wir also lernen, wie wir Eigenschaften von Schnittstellen finden und wie wir herausfinden, welche Objekte diese Schnittstelleneigenschaften benutzen.

Schauen Sie sich noch einmal die Seite in der IR an, die LyricText beschreibt. Unten auf der Seite ist eine klickbare Liste (in der HTML-Version der IR) an Eigenschaften, die von LyricText unterstützt werden. Diese Liste enthält sieben Einträge, darunter auch font-interface. Ein Klick hierauf bringt uns zu den Eigenschaften, die mit dieser Schnittstelle verbunden sind, also auch LyricText.

Jetzt sehen wir alle die Eigenschaften, die der Benutzer verändern kann, um die Schriftartendarstellung zu beeinflussen. Dazu gehört nun auch font-shape(symbol), wobei symbol auf die Werte upright (gerade), italics (kursiv) oder caps (Kapitälchen) gesetzt werden kann.

Sie werden gemerkt haben, dass font-series und font-size hier auch aufgelistet sind. Es stellt sich die Frage, warum diese allgemeinen Schriftarteigenschaften font-series und font-size sowohl unter der Überschrift LyricText als unter dem font-interface aufgelistet sind, aber font-shape befindet sich nur im font-interface? Die Antwort ist: Die globalen Einstellungen von font-series und font-size werden geändert, wenn ein LyricText-Objekt erstellt wird, aber font-shape wird davon nicht beeinflusst. Die zusätzlichen Einträge unter der Überschrift LyricText beinhalten dann die Werte der Standardeinstellungen dieser zwei Eigenschaften, wenn es sich um ein LyricText-Objekt handelt. Andere Objekte, die auch das font-interface unterstützen, setzen diese Eigenschaften anders, wenn sie erstellt werden.

Versuchen wir nun einen \override-Befehl zu konstruieren, der den Gesangstext kursiv setzt. Das Objekt hat die Bezeichnung LyricText, die Eigenschaft ist font-shape und der Wert italic. Wie vorher schon lassen wir den Kontext aus.

Am Rande sei auf das wichtige Detail hingewiesen, dass die Werte für manche Eigenschaften Symbole sind, wie z.B. italic und dass diese mit einem Apostroph (') gekennzeichnet werden müssen. Symbole sind besondere Bezeichnungen, die LilyPond intern bekannt sind. Im Unterschied hierzu gibt es auch beliebige Zeichenketten, die immer mit Anführungszeichen, also als "Zeichenkette" auftreten. Für weitere Einzelheiten zu Zeichenketten und Werten, siehe Scheme-Tutorium.

Gut, der \override-Befehl, mit dem der Gesangstext kursiv gesetzt wird, lautet:

\override LyricText.font-shape = #'italic

und er muss direkt vor den Text gesetzt werden, auf den er sich bezieht, etwa so:

{
  \key es \major
  \time 6/8
  \relative {
    r4 bes'8 bes[( g]) g |
    g8[( es]) es d[( f]) as |
    as8 g
  }
  \addlyrics {
    \override LyricText.font-shape = #'italic
    The man who | feels love's sweet e -- | mo -- tion
  }
}

[image of music]

Jetzt wird der Text kursiv gesetzt.

Achtung: Innerhalb von Gesangstext muss immer ein Leerzeichen zwischen der letzten Silbe und der schließenden Klammer gesetzt werden.

Siehe auch

Erweitern: Scheme-Tutorium.


LilyPond Handbuch zum Lernen v2.25.22 (development-branch).