[ << Ladění výstupu ] | [Top][Contents][Index] | [ Předlohy >> ] |
[ < Vlastnosti předmětů v rozvržení ] | [ Up : Vnitřní referenční příručka ] | [ Typy vlastností > ] |
5.2.2 Vlastnosti nacházející se v rozhraních
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 angemerkt, dass die Werte der font-shape
-Eigenschaft
mit einem Apostroph ('
) gekennzeichnet werden
müssen, weil es sich um Symbole handelt. Aus dem gleichen
Grund mussten auch für thickness
weiter oben im
Text ein Apostroph gesetzt werden. Symbole sind besondere
Bezeichnungen, die LilyPond intern bekannt sind. Einige
sind Bezeichnungen von Eigenschaften, wie eben thickness
oder font-shape
. Andere sind besondere Werte,
die an Eigenschaften übergeben werden können, wie
italic
. 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-Übung.
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 } }
Jetzt wird der Text kursiv gesetzt.
Den Kontext im Liedtextmodus bestimmen
Bei Gesangstexten funktioniert der \override
-Befehl
nicht mehr, wenn Sie den Kontext im oben dargestellten
Format angeben. Eine Silbe wird im Gesangtextmodus
(lyricmode) entweder von einem Leerzeichen, einer
neuen Zeile oder einer Zahl beendet. Alle anderen
Zeichen werden als Teil der Silbe integriert. Aus diesem
Grund muss auch vor der schließenden Klammer
}
ein Leerzeichen gesetzt oder eine neue
Zeile begonnen werden. Genauso müssen Leerzeichen
vor und nach einem Punkt benutzt werden, um die
Kontext-Bezeichnung von der Objekt-Bezeichnung zu
trennen, denn sonst würden beide Bezeichnungen als
ein Begriff interpretiert und von LilyPond nicht verstanden
werden. Der Befehl muss also lauten:
\override Lyrics.LyricText.font-shape = #'italic
Pozor: Innerhalb von Gesangstext muss immer ein Leerzeichen zwischen der letzten Silbe und der schließenden Klammer gesetzt werden.
Pozor: Innerhalb von \override
-Befehlen in
Gesangstexten müssen Leerzeichen um Punkte zwischen
Kontext- und Objektbezeichnungen gesetzt werden.
Podívejte se také na
Erweitern: Scheme-Übung.
[ << Ladění výstupu ] | [Top][Contents][Index] | [ Předlohy >> ] |
[ < Vlastnosti předmětů v rozvržení ] | [ Up : Vnitřní referenční příručka ] | [ Typy vlastností > ] |