[ << Abstände ] | [Top][Contents][Index] | [ Standardeinstellungen verändern >> ] |
[ < Abstände von nicht-Notensystemzeilen ] | [ Up : Vertikale Abstände ] | [ Vermeidung von vertikalen Zusammenstößen > ] |
4.4.2 Explizite Positionierung von Systemen
Man kann die flexiblen Einstellungen der vertikalen Abstände, wie sie im vorigen Abschnitt erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten verstehen, die vor allem die Größe des vertikalen Platzes zwischen Notensystemen und Gruppen auf der Seite kontrollieren.
Die vertikale Platzverteilung kann aber auch auf andere Weise
eingestellt werden: mit den Optionen von
NonMusicalPaperColumn #'line-break-system-details
. Während
der flexible vertikale Abstandsmechanismus vertikalen Füllplatz
definiert, werden mit
NonMusicalPaperColumn #'line-break-system-details
absolute vertikale
Positionen auf der Seite festgelegt.
NonMusicalPaperColumn #'line-break-system-details
akzeptiert eine
Liste aus drei unterschiedlichen Einstellungen:
-
X-offset
-
Y-offset
-
alignment-distances
Veränderungen von Grobs (wozu auch NonMusicalPaperColumn
gehört),
können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
werde:
- mitten im Notentext
- in einer
\context
-Umgebung - in einer
\with
-Umgebung
Wenn der Grob NonMusicalPaperColumn
verändert werden soll,
wird der \override
-Befehl in der \context
oder
\with
-Umgebung eingesetzt. Wenn die Veränderungen aber
mitten im Notentext stattfinden sollen, müssen Sie den Befehl
\overrideProperty
einsetzen. Einige Beispiele für eine
Veränderungen von NonMusicalPaperColumn
mit dem
\overrideProperty
-Befehl sind hier aufgelistet:
\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40)) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20) (Y-offset . 40)) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((alignment-distances . (15))) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20) (Y-offset . 40) (alignment-distances . (15)))
Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
keine Einstellungen (d.h. \override
-Befehle) enthält:
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer eigenen Stimme vor. Mit dieser Methode kann die Layout-Information einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn das Beispiel komplizierter wird. Siehe auch Eine zusätzliche Stimme für Umbrüche benutzen.
Ausdrückliche \break
-Befehle teilen die Noten in sechs Takte
lange Zeilen. Die vertikale Platzverteilung wird von LilyPond
errechnet. Um den vertikalen Beginn einer jeden Systemgruppe
genau anzugeben, kann Y-offset
in der
line-break-system-details
-Eigenschaft des
NonMusicalPaperColumn
-Grobs wie in dem Beispiel
ersichtlich benutzt werden:
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0)) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40)) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 80)) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
In der line-break-system-details
-Eigenschaft kann eine Liste
mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
Einstellung angegeben. Die Y-offset
-Eigenschaft bestimmt
hier die exakte vertikale Position auf der Seite, an welcher jede
neue Systemgruppe begonnen wird.
Da jetzt der exakte Beginn einer jeden Systemgruppe explizit festgelegt wurde,
können wir auch den exakten Beginn eines jeden Notensystems in der
Gruppe festlegen. Dies geschieht mit der alignment-distances
-Eigenschaft
von line-break-system-details
.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20) (alignment-distances . (15))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60) (alignment-distances . (15))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100) (alignment-distances . (15))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
Dem line-break-system-details
-Attribut des
NonMusicalPaperColumn
-Grobs werden zwei unterschiedliche Eigenschaften
zugewiesen. Auch wenn die Aliste der Attribute von
line-break-system-details
sehr viel mehr Platzierungsparameter
akzeptiert (wie etwa ein korrespondierendes X-offset
-Paar), müssen
hier nur die Parameter Y-offset
und
alignment-distances
gesetzt werden, um den vertikalen Beginn
jedes Systems und jeder Systemgruppe zu kontrollieren. Y-offset
bestimmt also die vertikale Position von Systemgruppen und alignment-distances
die vertikale Position von einzelnen Notensystemen.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0) (alignment-distances . (30 10))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60) (alignment-distances . (10 10))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100) (alignment-distances . (10 30))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new StaffGroup << \new Staff { \repeat unfold 15 { d'4 d' d' d' } } \new Staff { \repeat unfold 15 { e'4 e' e' e' } } >> >> } }
Einige Dinge sollten beachtet werden:
- Wenn
alignment-distances
benutzt wird, werden Gesangstextzeilen nicht als ein System gezählt. - Die Einheiten der Zahlen, die für
X-offset
,Y-offset
undalignment-distances
benutzt werden, werden als Vielfaches des Abstandes zwischen zwei Notenlinien gewertet. Positive Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach unten. - Weil die Einstellungen von
NonMusicalPaperColumn #'line-break-system-details
es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar Notensysteme übereinander platzieren. Sinnvolle Werte für diese Parameter werden derartiges Verhalten vermeiden.
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Top][Contents][Index] | [ Standardeinstellungen verändern >> ] |
[ < Abstände von nicht-Notensystemzeilen ] | [ Up : Vertikale Abstände ] | [ Vermeidung von vertikalen Zusammenstößen > ] |