| [ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
| [ < Vertikale Abstände ] | [ Nach oben : Vertikale Abstände ] | [ > ] | ||
4.4.1 Vertikale Abstände innerhalb eines Systems
Die Höhe jeder Systemgruppe wird in zwei Schritten bestimmt. Zunächst werden alle Systeme anhand des vorhandenen Platzes aufgeteilt. Dann werden die nicht-Notensysteme (also Akkorde oder Gesangstext) zwischen den Systemen verteilt.
| [ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
| [ < Vertikale Abstände innerhalb eines Systems ] | [ Nach oben : Vertikale Abstände innerhalb eines Systems ] | [ > ] | ||
Abstand zwischen Notensystemen
Abstand zwischen Notensystemen wird durch die Eigenschaft
staff-staff-spacing des VerticalAxisGroup-Grobs kontrolliert.
Diese Eigenschaft ist eine Aliste mit vier Elementen: Abstand,
minimum-distance, Verschiebung und Dehnbarkeit:
- Abstand ist die Größe des dehnbaren Platzes zwischen der Mittellinie eines Notensystems und der Mittellinie des nächsten.
- minimum-distance (Minimal-Abstand) setzt einen Minimalwert für den Abstand zwischen der Mittellinie eines Notensystems und der Mittellinie des nächsten fest. Das heißt, dass auf einer Seite mit vielen Systemen, die gestaucht werden soll, der Abstand zwischen den Systemen nie geringer sein wird als der Wert von minimum-distance.
-
Verschiebung ist der freie Platz, der zwischen dem unteren Rand eines
Systems und dem oberen des nächsten frei bleiben muss. Das unterscheidet sich
von
minimum-distancedadurch, dass die Auswirkung von Verschiebung von der Höhe der Objekte im System abhängt. Verschiebung wird also wahrscheinlich eingesetzt, wenn ein Notensystem viele Noten tief unter den Notenlinien aufweist. -
Dehnbarkeit kontrolliert die Leichtigkeit, mit der dehnbarer Abstand
gedehnt wird, wenn die Systeme gedehnt werden. Große Werte führen dazu, dass
ein System mehr gedehnt wird, während ein Wert von
0die Abstände vollständig daran hindert, gedehnt zu werden. Wenn nicht definiert, hat Dehnbarkeit einen Wert vonAbstand - minimum-distance.
#(set-global-staff-size 16)
\new StaffGroup <<
% Since space is small and there is no minimum-distance, the distance
% between this staff and the next will be determined by padding.
\new Staff \with {
\override VerticalAxisGroup #'staff-staff-spacing =
#'((space . 1) (padding . 1))
}
{ \clef bass c, }
% Since space is small and nothing sticks out very far, the distance
% between this staff and the next will be determined by minimum-distance.
\new Staff \with {
\override VerticalAxisGroup #'staff-staff-spacing =
#'((space . 1) (minimum-distance . 12))
}
{ \clef bass c, }
% By setting padding to a negative value, staves can be made to collide.
\new Staff \with {
\override VerticalAxisGroup #'staff-staff-spacing =
#'((space . 4) (padding . -10))
}
{ \clef bass c, }
\new Staff { \clef bass c, }
>>
In Orchester- und großen Partituren werden Systeme normalerweise gruppiert.
Der Abstand zwischen den Gruppen ist normalerweise größer als der Abstand
zwischen Notensystemen der selben Gruppe. Der Abstand kann mit dem
StaffGrouper-Grob beeinflusst werden: Der Standardwert von
staff-staff-spacing für VerticalAxisGroup ist eine
Callback-Funktion, die nach einem StaffGrouper-Grob sucht, der ein
Notensystem enthält. Wenn sie einen StaffGrouper-Grob findet und das
hierin enthaltene System ist in der Mitte einer Gruppe, wird der Wert von
staff-staff-spacing von StaffGrouper ausgelesen und
ausgegeben. Wenn das enthaltene Notensystem das letzte einer Gruppe ist,
wird die staffgroup-staff-spacing-Eigenschaft von StaffGrouper
ausgelesen und ausgegeben. Wenn kein StaffGrouper-Grob gefunden
wird, wird default-staff-staff-spacing aus der jeweiligen
VerticalAxisGroup ausgelesen und ausgegeben.
#(set-global-staff-size 16)
<<
\new PianoStaff \with {
\override StaffGrouper #'staff-staff-spacing #'space = #1
\override StaffGrouper #'staff-staff-spacing #'padding = #0
\override StaffGrouper #'staffgroup-staff-spacing #'space = #20
}
<<
\new Staff c'1
\new Staff c'1
>>
\new StaffGroup \with {
\override StaffGrouper #'staff-staff-spacing #'space = #1
\override StaffGrouper #'staff-staff-spacing #'padding = #0
}
<<
\new Staff c'1
\new Staff c'1
>>
>>
| [ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
| [ < ] | [ Nach oben : Vertikale Abstände innerhalb eines Systems ] | [ Vertikale Abstände zwischen Systemen > ] | ||
Abstand von Nicht-Notensystem-Zeilen
Nachdem die Position der Notensysteme bestimmt ist, werden die
Nicht-Notensystem-Zeilen zwischen den Notensystemen ausgerichtet. Jede
dieser Zeile hat eine staff-affinity-Eigenschaft, mit der ihre
vertikale Ausrichtung bestimmt wird. Zum Beispiel erstellt
\new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN }
einen Gesangstext-Kontext, der sehr nah an dem sich darunter befindlichen
System liegt. Wenn staff-affinity auf einen Wert gesetzt wird, der
keine Zahl ist (wie etwa #f), wird die Zeile wie ein Notensystem
behandelt. Wenn andererseits staff-affinity für ein Notensystem
definiert wird, wird es wie ein Nicht-Notensystem behandelt.
Nicht-Notensystem-Zeilen lassen drei Eigenschaften für ihre Abstandseinstellungen
zu. Jede dieser Eigenschaften ist eine Aliste des gleichen Formats wie
staff-staff-spacing oben.
-
Wenn die nächste Zeile in der Richtung von
staff-affinityein Notensystem ist, ergibt sich aus dem Wert vonnonstaff-relatedstaff-spacingder Abstand zwischen dem Nicht-Notensystem und dem Notensystem. Wennstaff-affinityCENTERist, dann wirdnonstaff-relatedstaff-spacingin beide Richtungen benutzt. -
Wenn die nächste Zeile in der Richtung von
staff-affinityein Nicht-Notensystem ist, ergibt sich aus dem Wert vonnonstaff-nonstaff-spacingder Abstand zwischen den beiden Nicht-Notensystemen. -
Wenn die nächste Zeile der der entgegengesetzten Richtung von
staff-affinityein Notensystem ist, dann gibtnonstaff-unrelatedstaff-spacingden Abstand zwischen dem Nicht-Notensystem und dem Notensystem. Das kann benutzt werden, um einen Minimalabstand zwischen einer Gesangstextzeiel und dem dazugehörigen Notensystem zu verlangen.
#(set-global-staff-size 16)
\layout {
\context {
\Lyrics
% By default, Lyrics are placed close together. Here, we allow them to
% be stretched more widely.
\override VerticalAxisGroup
#'nonstaff-nonstaff-spacing #'stretchability = #1000
}
}
\new StaffGroup
<<
\new Staff \with {
\override VerticalAxisGroup #'staff-staff-spacing = #'((space . 30)) }
{ c'1 }
\new Lyrics \with {
\override VerticalAxisGroup #'staff-affinity = #UP }
\lyricmode { up }
\new Lyrics \with {
\override VerticalAxisGroup #'staff-affinity = #CENTER }
\lyricmode { center }
\new Lyrics \with {
\override VerticalAxisGroup #'staff-affinity = #DOWN }
\lyricmode { down }
\new Staff
{ c'1 }
>>
Siehe auch
Schnipsel: Spacing.
Referenz der Interna: VerticalAxisGroup, VerticalAlignment, Axis_group_engraver.
Bekannte Probleme und Warnungen
Aufeinanderfolgende Nicht-Notensystem-Zeilen sollten nicht-ansteigende staff-affinity-Werte von oben nach unten. Das Verhalten von beispielsweise
<<
\new Staff c
\new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN }
\new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #UP }
\new Staff c
>>
ist nicht definiert.
Eine Nicht-Notensystem-Zeile unter einem Notensystem sollte
staff-affinity als UP definiert haben. Gleichfalls
sollte eine Nicht-Notensystem-Zeile über einem System
staff-affinity als DOWN definiert haben.
| [ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
| [ < ] | [ Nach oben : Vertikale Abstände innerhalb eines Systems ] | [ Vertikale Abstände zwischen Systemen > ] | ||
Andere Sprachen: español.