+@seealso
+Notationsreferenz:
+@ref{Vertikale Abstände}.
+
+Schnipsel:
+@rlsr{Spacing}.
+
+
+@node Vertikale Abstände
+@section Vertikale Abstände
+@translationof Vertical spacing
+
+@cindex vertikale Positionierung
+@cindex Positionierung, vertikal
+@cindex Abstände, vertikal
+
+Vertikale Abstände werden durch drei Eigenschaften
+bestimmt: wieviel Platz frei ist (etwa Papiergröße
+und Ränder), wieviel Platz zwischen Systemgruppen
+(engl. system) gesetzt werden soll und wieviel
+Platz zwischen Notensystemen (engl. staff, Pl. staves)
+innerhalb von Gruppen gesetzt wird.
+
+@menu
+* Flexible vertikale Abstände in Systemgruppen::
+* Explizite Positionierung von Systemen::
+* Vermeidung von vertikalen Zusammenstößen::
+@end menu
+
+
+@node Flexible vertikale Abstände in Systemgruppen
+@subsection Flexible vertikale Abstände in Systemgruppen
+@translationof Flexible vertical spacing within systems
+
+@cindex Abstand zwischen Notensystemen
+@cindex Notensystemabstand
+@cindex Platz zwischen Notensystemen
+@cindex Platz innerhalb von Systemgruppen
+@cindex Systemgruppen, Abstände innerhalb
+
+Drei unterschiedliche Mechanismen kontrollieren das flexible Abstandaufteilung
+in Systemgruppen, einer für jede der folgenden Kathegorien:
+
+@itemize
+
+@item
+@emph{ungruppierte Systeme},
+
+@item
+@emph{Systemgruppen} (Systeme innerhalb einer @code{staff-group} wie etwa
+@code{ChoirStaff} usw.) und
+
+@item
+@emph{Nicht-Notensystemzeilen} (wie etwa @code{Lyrics} (Gesangstext),
+@code{ChordNames} (Akkordbezeichnungen) usw.).
+
+@end itemize
+
+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.
+
+Es ist zu beachten, dass der Platzverteilungsmechanismus, der in diesem
+Abschnitt behandelt wird, nur die vertikale Platzierung von Systemen und
+nicht-Systemzeilen in einzelnen Systemgruppen behandelt. Die vertikale
+Platzierung zwischen einzelnen Systemgruppen, Partituren, Beschriftungen
+usw. und den Rändern wird durch @code{\paper}-Variablen kontrolliert, die
+@ref{Vertikale \paper-Variablen mit flexiblen Abständen}.
+
+@menu
+* Eigenschaften für Abstände innerhalb von Systemgruppen::
+* Abstände von nicht gruppierten Notensystemen::
+* Abstände von gruppierten Notensystemen::
+* Abstände von nicht-Notensystemzeilen::
+@end menu
+
+
+@node Eigenschaften für Abstände innerhalb von Systemgruppen
+@unnumberedsubsubsec Eigenschaften für Abstände innerhalb von Systemgruppen
+@translationof Within-system spacing properties
+
+@funindex staff-affinity
+@funindex staffgroup-staff-spacing
+@funindex staff-staff-spacing
+@funindex nonstaff-unrelatedstaff-spacing
+@funindex nonstaff-relatedstaff-spacing
+@funindex nonstaff-nonstaff-spacing
+@funindex default-staff-staff-spacing
+@funindex minimum-Y-extent
+@funindex extra-offset
+@funindex self-alignment-X
+@funindex X-offset
+@funindex VerticalAxisGroup
+
+Der vertikalen Platzierungsmechanismen für Abstände innerhalb von Systemgruppen
+werden durch zwei Gruppen von Grob-Eigenschaften kontrolliert. Die erste
+Gruppe ist mit dem @code{VerticalAxisGroup}-Grob verknüpft, der von allen
+Notensystemen und Nicht-Notensystemzeilen erstellt wird. Die zweite Gruppe
+ist mit dem @code{StaffGrouper}-Grob verknüpft, der von Systemgruppen erstellt
+werden kann, aber nur, wenn das explizit verlangt wird. Die einzelnen Eigenschaften
+werden am Ende dieses Abschnitts beschrieben.
+
+Die Bezeichnungen dieser Eigenschaften (mit Außnahmen von @code{staff-affinity})
+haben das Format @code{@var{Element1}-@var{Element2}-spacing}, wobei
+@code{@var{Element1}} und @code{@var{Element2}} die Elemente sind, deren
+Abstände eingestellt werden sollen. Dabei ist allerdings zu beachten, dass
+@code{@var{Element2}} sich nicht notwendigerweise unterhalb von
+@code{@var{Element1}} befindet; beispielsweise
+@code{nonstaff-relatedstaff-spacing} (Nicht-Notensystem-verwandtesNotensystem)
+misst von dem Nicht-Notensystem nach oben, wenn @code{staff-affinity}
+(Richtung, an der sich ein System ausrichtet) auf @code{#UP} (nach oben)
+eingestellt ist.
+
+Jeder Abstand wird zwischen den @emph{Referenzpunkten} der zwei Objekten
+gemessen. Der Referenzpunkt eines Notensystems ist die vertikale Mitte
+seines @code{StaffSymbol}-Objekts (also die Mittellinie, wenn
+@code{line-count} (Notenlinienzähler) ungrade ist, oder der mittlere
+Zwischenraum, wenn @code{line-count} grade ist). Die Referenzpunkte für
+einzelne Nicht-Notensystemzeilen ergibt sich aus der folgenden Tabelle:
+
+@multitable {Nicht-Notensystemzeile} {Referenzpunkt}
+@headitem Nicht-Notensystemzeile @tab Referenzpunkt
+@item @code{ChordNames} @tab Grundlinie
+@item @code{NoteNames} @tab Grundlinie
+@item @code{Lyrics} @tab Grundlinie
+@item @code{Dynamics} @tab vertikale Mitte
+@item @code{FiguredBass} @tab höchster Punkt
+@item @code{FretBoards} @tab Oberlinie
+@end multitable
+
+Im nächsten Bild zeigen horizontale Striche die Positionen dieser
+Referenzpunkte an:
+
+@lilypond[quote,noragged-right,line-width=110\mm]
+#(define zero-space '((padding . -inf.0) (basic-distance . 0)))
+
+alignToZero = \with {
+ \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
+ \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
+}
+lowerCaseChords = \with {
+ chordNameLowercaseMinor = ##t
+}
+staffAffinityDown = \with {
+ \override VerticalAxisGroup #'staff-affinity = #DOWN
+}
+labelContext =
+#(define-music-function
+ (parser location context)
+ (string?)
+ #{ s1*0^\markup { \typewriter #context } #})
+
+\layout {
+ \context { \Dynamics \alignToZero }
+ \context { \FiguredBass \alignToZero }
+ \context { \Lyrics \alignToZero }
+ \context { \NoteNames \alignToZero \staffAffinityDown }
+ \context { \ChordNames \alignToZero
+ \staffAffinityDown
+ \lowerCaseChords }
+ \context { \FretBoards \alignToZero \staffAffinityDown }
+ \context { \Score
+ \override BarLine #'stencil = ##f
+ \override DynamicText #'self-alignment-X = #-1
+ \override FretBoard #'X-offset = #1.75
+ \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
+ \override InstrumentName #'extra-offset = #'(0 . -0.5)
+ \override TextScript #'minimum-Y-extent = #'(-2 . 3)
+ \override TimeSignature #'stencil = ##f
+ }
+}
+
+%% These contexts have reference points at the baseline:
+%% ChordNames, NoteNames, and Lyrics
+<<
+ \new ChordNames { \chords { g1:m } }
+ \new NoteNames { s1 | g1 | }
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"baseline "
+ \textLengthOn
+ \labelContext "ChordNames " s1 |
+ \labelContext "NoteNames " s1 |
+ \labelContext "Lyrics" s1 |
+ }
+ \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
+>>
+
+%% The reference point for Dynamics is its vertical center
+<<
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"vertical center "
+ \labelContext "Dynamics" s1*3
+ }
+ \new Dynamics { s1\mp s\fp }
+>>
+
+%% The reference point for FiguredBass is its highest point
+<<
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"highest point "
+ \labelContext "FiguredBass" s1
+ }
+ \new FiguredBass { \figuremode { <6 5>1 } }
+>>
+
+%% The reference point for FretBoards is the top line
+\include "predefined-guitar-fretboards.ly"
+<<
+ \new FretBoards { \chordmode { e1 } }
+ \new RhythmicStaff {
+ \set RhythmicStaff.instrumentName = #"top line "
+ \labelContext "FretBoards " s1
+ }
+>>
+@end lilypond
+
+Jeder der vertikalen Platzierungs-Grobeigenschaften (außer
+@code{staff-affinity}) benutzt die gleiche Alistenstruktur
+wie die @code{\paper}-Variablen, behandelt in
+@ref{Vertikale \paper-Variablen mit flexiblen Abständen}. Besondere
+Methoden um Alisten zu verändern finden sich in
+@ref{Alisten verändern}. Grob-Eigenschaften sollten mit
+dem @code{\override}-Befehle innerhalb einer @code{\score}-
+oder @code{\layout}-Umgebung angepasst werden, nicht innerhalb einer
+@code{\paper}-Umgebung.
+
+Das folgende Beispiel zeigt die beiden Arten, Alisten zu modifizieren.
+Der erste Aufruf verändert nur einen Schlüsselwert einzlen, während
+der zweite die Eigenschaft komplett neu definiert:
+
+@example
+\new Staff \with @{
+ \override VerticalAxisGroup #'default-staff-staff-spacing
+ #'basic-distance = #10
+@} @{ @dots{} @}
+
+\new Staff \with @{
+ \override VerticalAxisGroup #'default-staff-staff-spacing =
+ #'((basic-distance . 10)
+ (minimum-distance . 9)
+ (padding . 1)
+ (stretchability . 10))
+@} @{ @dots{} @}
+@end example
+
+Um Platzierungseinstellungen global vorzunehmen, müssen sie in der
+@code{\layout}-Umgebung vorgenommen werden:
+
+@example
+\layout @{
+ \context @{
+ \Staff
+ \override VerticalAxisGroup #'default-staff-staff-spacing
+ #'basic-distance = #10
+ @}
+@}
+@end example
+
+Standardeinstellungen für die vertikalen Platzierungs-Grobeigenscahften
+finden sich in @rinternals{VerticalAxisGroup} und
+@rinternals{StaffGrouper} aufgelistet. Standardveränderungen für bestimmte
+Typen von Nicht-Notensystemzeilen finden sich im relevanten Abschnitt in
+in @rinternals{Contexts} aufgelistet.
+
+
+@subsubheading Eigenschaften des @code{VerticalAxisGroup}-Grobs
+
+@code{VerticalAxisGroup}-Eigenschaften werden normalerweise mit einem
+@code{\override}-Befehl auf @code{Staff}-(Notensystem-)Ebene (oder
+entsprechend) vorgenommen.
+
+@table @code
+@item staff-staff-spacing
+System-System-Platzierung
+
+Wird benutzt, um den Abstand zwischen dem aktuellen Notensystem und dem
+Notensystem direkt darunter in der gleichen Notensystemgruppe zu bestimmen,
+auch wenn eine oder mehrere Nicht-Notensystemzeilen (wie etwa @code{Lyrics})
+dazwischen stehen. Gilt nicht für das unterste System einer Systemgruppe.
+
+Die Eigenschaft @code{staff-staff-spacing} einer @code{VerticalAxisGroup}
+ist eine Scheme-Funktion, welche die Eigenschaften vom @code{StaffGrouper}-Grob
+den Notensystemen zuweist, wenn sie einer Systemgruppe angehören, bzw.
+die @code{default-staff-staff-spacing}-Eigenschaft bei einem einzelnen Notensystem.
+Dadurch können Systeme unterschiedlich in Abhängigkeit von ihrer Zugehörigkeit
+zu einer Gruppe (StaffGroup) platziert werden. Wenn gleichmäßige Aufteilung
+ohne Berücksichtigung von Gruppierungen gewünscht ist, kann diese Funktion durch
+eine flexible Platzierungs-Aliste ersetzt werden, wobei man die vollständige
+Redefinition auf die oben gezeigte Weise vornehmen muss.
+
+@item default-staff-staff-spacing
+Normale-System-System-Platzierung
+
+Eine flexible Platzierungs-Aliste, die den Wert von @code{staff-staff-spacing}
+für ungruppierte Notensysteme einstellt, es sei denn,
+@code{staff-staff-spacing} wirde explizit mit @code{\override} eingestellt.
+
+@item staff-affinity
+System-Anziehung
+
+Die Richtung des Systems, die benutzt wird, um die aktuelle
+Nicht-Notensystemzeile zu platzieren. Mögliche Werte sind
+@code{UP} (nach oben), @code{DOWN} (nach unten) und
+@code{CENTER} (mittig). Wenn @code{CENTER} wird die Nicht-Notensystemzeile
+vertikal mittig zwischen den beiden nächsten Systemen oben und unten
+platziert, außer Zusammenstöße und andere Platzierungsprobleme verhindern
+das. Aufeinanderfolgende Nicht-Notensystemzeilen sollten nicht-aufsteigende
+@code{staff-affinity} von oben nach unten haben; also ein Nicht-Notensystemzeile
+mit @code{UP} sollte nicht direkt auf eine mit @code{DOWN} folgen.
+Nicht-Notensystemzeilen über einem Notensystem sollten @code{DOWN}
+benutzen, unter einem Notensystem dagegen @code{UP}. Wenn
+@code{staff-affinity} für eine Notensystem eingestellt wird, wird es wie
+eine Nicht-Notensystemzeile behandelt. Wenn @code{staff-affinity}
+auf @code{#f} gesetzt wird, wird eine Nicht-Notensystemzeile wie ein
+Notensystem behandelt. Wird @code{staff-affinity} auf @code{UP},
+@code{CENTER} oder @code{DOWN} gesetzt, wird das Notensystem als
+Nicht-Notensystemzeile plaziert.
+
+
+@item nonstaff-relatedstaff-spacing
+Nicht-Notensystem-verwandtesSystem-Platzierung
+
+Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und
+dem nächsten Notensystem in der Richtung von @code{staff-affinity},
+wenn keine Nicht-Notensystemzeilen dazwischen auftreten und @code{staff-affinity}
+entweder @code{UP} oder @code{DOWN} ist. Wenn @code{staff-affinity}
+@code{CENTER} ist, dann wird @code{nonstaff-relatedstaff-spacing} für die
+nächsten Notensysteme auf @emph{beiden} Seiten benutzt, auch wenn andere
+Nicht-Notensystemzeilen zwischen der aktuellen und einem der Notensystem
+auftreten. Das heißt, dass die Platzierung eine Nicht-Notensystemzeile
+sowohl von den umliegenden Notensystemen als auch den umliegenden
+Nicht-Notensystemzeilen abhängt. Wenn @code{stretchability} einer dieser
+Platzierungstypen auf einen kleinen Wert gesetzt wird, dominiert diese
+Platzierung. Wird es dagegen auf einen großen Wert gesetzt, hat die
+Platzierung dieses Objekts nur einen kleinen Einfluss.
+
+@item nonstaff-nonstaff-spacing
+Nicht-Notensystemzeile-Nicht-Notensystemzeile-Platzierung
+
+Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und der
+Nicht-Notensystemzeile in der Richtung von @code{staff-affinity},
+wenn beide sich auf der gleichen Seite des verwandten Notensystems
+befinden und @code{staff-affinity} entweder @code{UP} oder @code{DOWN} ist.
+
+@item nonstaff-unrelatedstaff-spacing
+Nicht-Notensystemzeile-Nicht-verwandtesSystem-Platzierung
+
+Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und
+dem Notensystem in der gegenüberliegenden Richtung von @code{staff-affinity},
+wenn keine anderen Nicht-Notensystemzeilen dazwischen auftreten und
+@code{staff-affinity} entweder @code{UP} oder @code{DOWN} ist. Das kann
+benutzt werden, um einen Minimalfüllabstand (padding) zwischen einer
+@code{Lyrics}-Gesangstextzeile und dem zugehörigen Notensystem zu verlangen.
+@end table
+
+
+@subsubheading Eigenschaften des @code{StaffGrouper}-Grobs
+
+@code{StaffGrouper}-Eigenschaften werden normalerweise mit einem
+@code{\override}-Befehl auf @code{StaffGroup}-Ebene (oder
+entsprechend) eingestellt.
+
+@table @code
+@item staff-staff-spacing
+Notensystem-Notensystem-Abstand
+
+Der Abstand zwischen zwei aufeinanderfolgenden Notensystemen in
+der aktuellen @code{StaffGroup}. Die @code{staff-staff-spacing}-Eigenschaft
+des @code{VerticalAxisGroup}-Grobs eines einzelnen Notensytems
+kann mit @code{\override} in andere Platzierungswerte für dieses Notensystem
+geändert werden.
+
+@item staffgroup-staff-spacing
+Systemgruppe-System-Abstand
+
+Der Abstand zwischen dem letzten Notensystem der aktuellen @code{StaffGroup}
+und dem Notensystem dirket darunter in der selben Notensystemgruppe,
+auch wenn eine oder mehrere Nicht-Notensystemzeilen (wie etwa
+Gesangstext) zwischen den zwei Notensystemen vorkommen. Gilt nicht
+für das letzte Notensystem einer Systemgruppe. Die
+@code{staff-staff-spacing}-Eigenschaft des @code{VerticalAxisGroup}-Grobs
+individueller Notensysteme kann mit @code{\override} in andere Platzierungswerte
+für dieses Notensystem geändert werden.
+@end table
+
+@seealso
+Notationsreferenz:
+@ref{Vertikale \paper-Variablen mit flexiblen Abständen},
+@ref{Alisten verändern}.
+
+Referenz der Interna:
+@rinternals{Contexts},
+@rinternals{VerticalAxisGroup},
+@rinternals{StaffGrouper}.
+
+Installierte Dateien:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+