[ << Die Ausgabe verbessern ] | [Anfang][Inhalt][Index] | [ Vorlagen >> ] |
[ < Die color-Eigenschaft ] | [ Nach oben : Erscheinung von Objekten ] | [ Länge und Dicke von Objekten > ] |
5.3.2 Größe von Objekten
Als Startpunkt wollen wir wieder ein früheres Beispiel wählen, siehe Musikalische Ausdrücke ineinander verschachteln. Hier wurde ein neues Notensystem erstellt, wie man es für ein ossia braucht.
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" } { f8 f c } >> r4 | } }
Ossia-Systeme werden normalerweise ohne Schlüssel und Taktangabe
geschrieben, und sie werden etwas kleiner als das Hauptsystem gesetzt.
Wie man Schlüssel und Taktangabe entfernt, wissen wir schon:
wir setzen den Stencil von beiden auf #f
:
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" } { \omit Staff.Clef \omit Staff.TimeSignature { f8 f c } } >> r4 | } }
wobei ein zusätzliches Klammerpaar nach der \with
-Konstruktion
erforderlich ist um sicherzugehen, dass die Modifikation und
die Noten sich auch auf das Ossia-System beziehen.
Was für einen Unterschied macht es, ob man den Staff
-Kontext
mit \with
verändert, oder ob man die Stencils mit
\override
oder wie in diesem Fall mit \omit
beeinflusst?
Der größte Unterschied liegt
darin, dass Änderungen, die mit \with
eingeführt werden,
während der Erstellung des Kontextes mit erzeugt werden und
als Standardeinstellungen für diesen Kontext während seiner
gesamten Dauer gelten, während \set
- oder \override
-Befehle
dynamisch in die Noten eingebettet werden – sie führen die
Änderungen synchron mit einem bestimmten Zeitpunkt in
der Musik aus. Wenn die Änderungen mit \unset
oder \revert
rückgängig gemacht werden, werden
wieder die Standardwerte eingesetzt, die also die sind, die
mit einer \with
-Konstruktion definiert wurden, oder
wenn hier keine definiert worden sind, die normalen
Standardwerte.
Manche Kontexteigenschaften können nur ein einer
\with
-Konstruktion verändert werden. Das sind
Eigenschaften, die nicht sinnvoll mitten im System geändert
werden können. alignAboveContext
(Orientierung
über dem Kontext) und die Parallele,
alignBelowContext
(Orientierung unter dem Kontext)
sind zwei derartige Eigenschaften – wenn das Notensystem
einmal erstellt wurde, ist die Orientierung schon bestimmt
und es wäre nicht sinnvoll, sie später zu ändern.
Die Standardwerte für Layout-Objekt-Eigenschaften können
auch in der \with
-Konstruktion gesetzt werden.
Benutzen Sie einfach den normalen \override
-Befehl
ohne den Kontext, denn der Kontext ist eindeutig definiert
durch die Stelle, an welcher sich \with
befindet.
Wenn an dieser Stelle ein Kontext angegeben wird, produziert LilyPond
eine Fehlermeldung.
Das obige Beispiel könnte also auch so aussehen:
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" % Don't print clefs in this staff \override Clef.stencil = ##f % Don't print time signatures in this staff \override TimeSignature.stencil = ##f } { f8 f c } >> r4 | } }
Es zeigt sich, dass wir hier ebenso die Kurzformen \hide
und \omit
zum Setzen der transparent
-Eigenschaft und
zum Entfernen des stencil
verwenden können, was zu folgender
Fassung führt
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" % Don't print clefs in this staff \omit Clef % Don't print time signatures in this staff \omit TimeSignature } { f8 f c } >> r4 | } }
Nun können wir daran gehen, auch wirklich die Größe der Objekte zu ändern.
Manche Layout-Objekte werden aus Glyphen erstellt,
die sich in einer Schriftartdatei befinden. Dazu gehören
die Notenköpfe, Versetzungszeichen, Text, Schlüssel,
Taktbezeichnung, Dynamik und Gesangstext. Ihre
Größe wird verändert, indem die
font-size
- (Schriftgröße)-Eigenschaft geändert wird, wie
wir bald sehen werden. Andere Layout-Objekte, wie
Bögen – oder allgemein Strecker-Objekte – werden
individuell gezeichnet, es gibt dazu also keine
font-size
, die mit ihnen verknüpft wäre.
Weitere Eigenschaften wie die Länge von Hälsen und
Taktstriche, Dicke von Balken und anderen Linien und
der Abstand der Notenlinien voneinander müssen auf
spezielle Weise verändert werden.
In unserem Ossia-Beispiel wollen wir zuerst die Schriftgröße verändern. Das ist auf zwei Arten möglich. Entweder wir ändern die Schriftgröße für jede Objektart mit einem eigenen Befehl, etwa:
\override NoteHead.font-size = #-2
oder wir ändern die Größe aller Schriftobjekte, indem wir
den Wert einer besonderen Eigenschaft, fontSize
,
mit dem \set
-Befehl bestimmen oder sie in
eine \with
-Konstruktion (ohne \set
einschließen.
\set fontSize = #-2
Beide Beispiele reduzieren die Schriftgröße um zwei Schritte im Vergleich zum vorigen Wert, wobei jeder Schritt die Schriftgröße um etwa 12% verändert.
Setzen wir das also in unserem Ossia-Beispiel ein:
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" \omit Clef \omit TimeSignature % Verkleinere alle Fonts um ~24% fontSize = #-2 } { f8 f c } >> r4 | } }
Das sieht aber immer noch nicht richtig aus. Die Notenköpfe und Fähnchen sind kleiner, aber die Hälse im Vergleich dazu zu lang und die Notenlinien zu weit auseinander. Sie müssen auch proportional zur Schriftart verkleinert werden. Der nächste Abschnitt behandelt diese Anpassung.
[ << Die Ausgabe verbessern ] | [Anfang][Inhalt][Index] | [ Vorlagen >> ] |
[ < Die color-Eigenschaft ] | [ Nach oben : Erscheinung von Objekten ] | [ Länge und Dicke von Objekten > ] |