]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc-de: updates for spacing.itely
authorTill Paala <till.rettig@gmx.de>
Mon, 23 Aug 2010 18:09:10 +0000 (21:09 +0300)
committerTill Paala <till.rettig@gmx.de>
Mon, 23 Aug 2010 18:09:10 +0000 (21:09 +0300)
Documentation/de/notation/spacing.itely

index 62a3de2d185d80ea022c7e8acbeb8bf929c2cc13..b97d19bf4f333fc1e8bb434c4480ad81e310fd22 100644 (file)
@@ -220,65 +220,81 @@ eines Systems ausdrücklich für @var{Verschiebung} verlangt wird.
 Der Standard beispielsweise ist:
 
 @example
-after-title-spacing = #'((space . 2) padding . 0.5))
+after-title-spacing = #'((Platz . 2) Verschiebung . 0.5))
 @end example
 
+Wenn eine Seite einen keinen ausgeglichenen unteren Rand hat, wird @var{Platz}
+nicht gestreckt.  Insbesondere der Abstand auf einer derartigen Seite der
+größte Wert von
 
+@itemize @bullet
+@item @var{Platz},
+@item @var{minimum-distance} und
+@item @var{Verschiebung} plus dem Mindestabstand, damit keine Überlappung
+auftreten.
+@end itemize
 
+@item before-title-spacing
 
+@funindex before-title-spacing
 
-@item before-title-space
+Definiert den Platz zwiscehn einem System und dem Titel (oder der obersten
+Beschriftung), der darauf folgt.  Der Abstand wird von der Mitte des letzten
+Notensystems der Systemgruppe zur Grundlinie des darauf folgenden Titels
+berechnet.  Siehe auch @var{after-title-spacing}.
 
-Die Größe des Abstands zwischen dem letzten Notensystem einer
-Partitur und dem Titel der nächsten Partitur. Standard: @code{10\mm}.
+@item between-scores-system-spacing
 
-@item between-system-padding
+@funindex between-scores-system-spacing
 
-Der Mindestabstand zwischen dem untersten Symbol in einem Notensystem
-und dem obersten Symbol im sich darunter befindlichen System.
-Standard: @code{4\mm}.
+Definiert den Abstand zwischen zwei Systemen, wenn sie sich in unterschiedlichen
+Partituren (Score) befinden, aber zwischen ihnen keine Überschrift kommt.  Siehe
+auch @var{after-title-spacing}.
 
-Wenn dieser Wert erhöht wird, werden Systeme, deren @qq{bounding box}
-sich beinahe berühren, weiter auseinander gezogen.
+@item between-system-spacing
 
-@item between-system-space
+@funindex between-system-spacing
 
-Der Abstand zwischen Systemen.  Das ist der ideale Abstand zwischen
-der Mitte des eines Systems (bzw. des untersten Systems einer Systemgruppe)
-und der Mitte des nächsten Systems (bzw. des obersten System der
-nächsten Systemgruppe).  Standard: @code{20\mm}.
+Definiert den Abstand zwischen der Mitte des untersten Notensystems einer
+Systemgruppe und der Mitte des obersten Notensystems der folgenden Systemgruppe.
+Siehe @var{after-title-spacing}.
 
-Wenn dieser Wert erhöht wird, erscheinen die Noten auf der Seite gleichmäßiger,
-wobei sie aber auch mehr Platz einnehmen.
+@item between-title-spacing
 
-@item between-title-space
+@funindex between-title-spacing
 
-Der Abstand zwischen aufeinanderfolgenden Überschriften (etwa die
-Überschrift für ein @code{book} und die Überschrift einer Partitur.
-Standard: @code{2\mm}.
+Definiert den Abstand zwischen zwei Überschriften (oder Beschriftungen auf oberster
+Ebene).  Die Abstände werden von der Grundlinie der ersten Überschrift zur
+Grundlinie der zweiten Überschrift errechnet.  Siehe @var{after-title-spacing}.
 
 @item bottom-margin
 
 Der Rand zwischen der Fußzeile und dem unteren Rand der Seite.
 Standard: @code{6\mm}.
 
-@item foot-separation
+@item bottom-system-spacing
+
+@funindex bottom-system-spacing
 
-Der Abstand zwischen dem untersten Notensystem und der Fußzeile.
-Standard: @code{4\mm}.
+Definiert den Abstand von der Mitte des letzten Systems (oder der Grundlinie der
+letzten Beschriftung) zum Ende des bedruckbaren Bereichs (normalerweise die
+Oberkante des Seitenrandes).  Siehe @var{after-title-spacing}.
 
-@item head-separation
+@item top-title-spacing
 
-Der Abstand zwischen dem obersten System und der Kopfzeile. Standard:
-@code{4\mm}.
+@funindex top-title-spacing
 
-@item page-top-space
+Definiert den Abstand vom Oberrand des bedruckbaren Bereichs (also dem Unterrand
+des oberen Seitenrandes) zur Grundlinie der Ügerschrift.  Siehe @var{after-title-spacing}.
 
-Der Abstand von der Oberkante des druckbaren Bereichs bis zur
-Mitte des ersten Notensystems.  Das funktioniert nur für Systeme,
-die nicht vertikal ausgedehnt sind.  Hohe Systeme bzw. Systemgruppen
-werden mit ihrer @qq{bounding box} an der Oberkante des
-druckbaren Bereichs ausgerichtet.  Standard: @code{12\mm}.
+@item top-system-spacing
+
+@funindex top-system-spacing
+
+Definiert den Abstand vom Oberrand des bedruckbaren Bereiches (also dem Unterrand
+des oberen Seitenrandes) zur Mitte des ersten Notensystems.  Der Wert wird nur
+eingesetzt, wenn oben auf der Seite kein Titel gesetzt ist (in welchem Fall
+@var{top-title-spacing} benutzt wird).  Siehe @var{after-title-spacing}.
 
 @item paper-height
 
@@ -310,7 +326,7 @@ werden sollen.
 Beispiel:
 
 @example
-\paper@{
+\paper @{
   paper-width = 2\cm
   top-margin = 3\cm
   bottom-margin = 3\cm
@@ -337,7 +353,7 @@ Das nächste Beispiel zentriert Seitenzahlen unten auf jeder Seite:
 
 Werte der @code{\paper}-Umgebung können in Scheme definiert werden.  In diesem
 Fall sind @code{mm}, @code{in}, @code{pt} und @code{cm} Variablen,
-die in der Datei @file{paper-defaults.ly} mit Millimeter-Werten definiert
+die in der Datei @file{paper@/-defaults@/-init@/.ly} mit Millimeter-Werten definiert
 sind.  Darum muss der Wert 2 cm in dem Beispiel unten multipliziert werden
 muss:
 
@@ -347,6 +363,17 @@ muss:
 @}
 @end example
 
+Kopf- und Fußzeile werden durch die Funktionen @code{make-footer} und
+@code{make-header} erstellt, welche in @code{\paper} definiert sind.
+Die Standardwerte finden sich in @file{paper@/-defaults@/-init@/.ly} und
+@file{ly/@/titling@/-init@/.ly}.
+
+Das Seitenlayout selber wird von zwei Funktionen in @code{\paper} vorgenommen:
+@code{page-music-height} und @code{page-make-stencil}.  Die erste sagt
+dem Zeilenumbruchsalgorithmus, wieviel Platz auf einer Seite verteilt werden
+kann, die zweite erstellt die eigentliche Seite, wenn sie das System hat,
+das auf der Seite erscheinen soll.
+
 @seealso
 Notationsreferenz:
 @ref{Vertikale Abstände zwischen Systemen}.
@@ -359,71 +386,156 @@ Schnipsel:
 @unnumberedsubsubsec Horizontale Dimensionen
 @translationof Horizontal dimensions
 
-@funindex horizontal-shift
-@funindex indent
-@funindex left-margin
-@funindex line-width
-@funindex paper-width
-@funindex short-indent
-
-@warning{Wenn @code{paper-width} manuell gesetzt wird, müssen
-möglicherweise auch die Werte von @code{line-width},
-@code{left-margin}, @code{indent} und @code{short-indent} angepasst
-werden.}
-
 Es gibt einige Variablen, die die horizontalen Dimensionen der Seite
 beeinflussen:
 
 @table @code
 
+@item binding-offset
+
+@funindex binding-offset
+
+Der Wert, um welchen @code{inner-margin} erhöht wird, um sicherzugehen, dass
+nichts in der Bindung verschwindet.  Funktioniert nur, wenn @code{two-sided}
+wahr ist.  Standard: @code{0}.
+
 @item horizontal-shift
 
+@funindex horizontal-shift
+
 Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner)
 nach rechts verschoben werden.  Standard: @code{0.0}.
 
 @item indent
 
-Der Einzug für das erste System einer Partitur.  Standard:
-@code{paper-width} geteilt durch @code{14}, definiert in
-@code{set-default-paper-size} bzw. @code{set-paper-size}.
+@funindex indent
+
+Der Einzug für das erste System einer Partitur.  Standard: @code{15\mm}.
+
+@item inner-margin
+
+@funindex inner-margin
+
+Der Rand, den alle Seiten auf der Innenseite haben, wenn sie Teil eines
+Buches (@code{\book}) sind.  Funktioniert nur, wenn @code{two-sided}
+wahr ist.  Standard: @code{10\mm}.
 
 @item left-margin
 
+@funindex left-margin
+
 Der Rand zwischen dem linken Rand der Seite und dem Anfang der Notensysteme.
-Standard: @code{10\mm}, definiert in
-@code{set-default-paper-size} oder @code{set-paper-size}.
+Standard: @code{10\mm}.
 
 @item line-width
 
+@funindex line-width
+
 Die Breite der Notensystems. Standard: @code{paper-width} minus
-@code{20\mm}, definiert in @code{set-default-paper-size} bzw.
-@code{set-paper-size}.
+@code{left-margin} und @code{right}-margin}.
+
+@item outer-margin
+
+@funindex outer-margin
+
+Der Rand, den alle Seiten auf der Außenseite haben, wenn sie Teil eines Buches
+sind.  Funktioniert nur, wenn @code{two-sided} wahr ist.  Standard: @code{20\mm}.
 
 @item paper-width
 
+@funindex paper-width
+
 Die Breite der Seite.  Standard: Die Breite des aktuellen
 Papierformats.  Zu Einzelheiten siehe @ref{Papierformat}.
 
+@item right-margin
+
+@funindex right-margin
+
+Der Rand zwischen dem Papierrand und dem Ende jedes Systems.  Standard:
+@code{10\mm}.
+
 @item short-indent
 
+@funindex short-indent
+
 Der Einzug für alle Systeme einer Partitur ausschließlich das
-erste System.  Standard: @code{0}, definiert in
-@code{set-default-paper-size} bzw. @code{set-paper-size}.
+erste System.  Standard: @code{0}.
 
 @end table
 
+Wenn einige der Werte nicht definiert sind, werden die Standardwerte eingesetzt.
+Ihre exakten Werte werden entsprechend der angegebenen Papiergröße angepasst.
+Im Moment werden folgende Werte von dieser Skalierung berücksichtigt:
 
-@seealso
-Schnipsel:
-@rlsr{Spacing}.
+@itemize
+@item @var{left-margin}
+@item @var{right-margin}
+@item @var{top-margin}
+@item @var{bottom-margin}
+@item @var{head-separation}
+@item @var{foot-separation}
+@item @var{indent}
+@item @var{short-indent}
+@end itemize
 
+Die Einstellungen für @code{line-width}, @code{left-margin},
+@code{right-margin} und @code{paper-width} hängen voneinander ab,
+aber sie müssen nicht vollständig definiert werden.
 
-@knownissues
+@example
+\paper @{
+  left-margin = 30\mm
+@}
+@end example
+
+In diesem Beispiel wird nur @code{left-margin} definiert.  Der Wert
+für @code{right}margin} bleibt bei dem Standardwert, @code{line-width}
+wird automatisch errechnet.
+
+@example
+\paper @{
+  line-width = 150\mm
+@}
+@end example
+
+Hier erhalten @code{left-margin} und @code{right-margin} den gleichen Wert.
+Deshalb wird @code{line-width} von @code{paper-width} abgezogen und durch
+zwei geteilt.  Das bedeutet, dass Systeme auf der Seite zentriert werden, wenn
+nur @code{line-width} definiert wird.
+
+Einige Überprüfungen werden angestellt, um die Richtigkeit der Wert zu gewährleisten.
+Wenn die Werte nicht passen oder Systeme aus der Seite hinausragen würden, wird
+eine Warnung ausgegeben und die Standardwerte eingesetzt.
 
-Die Option @code{right-margin} ist definiert, bestimmt aber nicht den
-rechten Rand der Seite.  Der Wert für den rechten Rand ergibt sich
-aus den Werten des linken Randes (@code{left-margin}) und der Zeilenbreite
-(@code{line-width}).
+@example
+\paper @{
+  paper-width = 210\mm
+  left-margin = 20\mm
+  right-margin = 30\mm
+  line-width = 100\mm
+@}
+@end example
+
+Diese Überprüfungen können vermieden werden, indem man @code{check-consistency}
+als unwahr definiert.
+
+@example
+\paper @{
+  paper-width = 210\mm
+  left-margin = 20\mm
+  line-width = 200\mm
+  check-consistency = ##f
+@}
+@end example
+
+@warning{Wenn @code{paper-width} manuell definiert wird, müssen eventuell auch
+@code{line-width}, @code{left-margin}, @code{indent} und @code{short-indent}
+angepasst werden.}
+
+@seealso
+Schnipsel:
+@rlsr{Spacing}.
 
 
 @node Weitere Layout-Variablen
@@ -465,7 +577,7 @@ sie ist oder um eins erhöht wird.  Standard: @code{##f}.
 
 @ignore
 
-FIXME: this variable is used, but I don't know what it does. -pm
+TODO: this variable is used, but I don't know what it does. -pm
 @item blank-after-score-page-force
 @funindex blank-after-score-page-force
 
@@ -485,6 +597,14 @@ auftritt.  Das wird nicht benutzt von @code{ly:optimal-breaking},
 weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen
 werden.  Standard: @code{5}.
 
+@item check-consistency
+
+@funindex check-consistency
+
+Wenn wahr, wird überprüft, ob @code{left-margin}, @code{right-margin} und
+@code{line-width} zueinander passen.  Ihr Gesamtwert darf auch nicht die
+Seitenbreite (@code{paper-width} übertreffen.  Standard: @code{##t}.
+
 @item first-page-number
 
 Der Wert der Seitenzahl auf der ersten Seite.  Standard: @code{#1}.
@@ -502,12 +622,15 @@ kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert
 zu groß gewählt wird.  Die Option ist zur Zeit nur von dem
 @code{ly:optimal-breaking}-Algorithmus unterstützt.  Standard: nicht gesetzt.
 
-@item page-breaking-between-system-padding
+@item page-breaking-between-system-spacing
+
+@funindex page-breaking-between-system-spacing
 
 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
-für @code{between-system-padding} mitgeteilt wird, als in Wirklichkeit
-eingestellt ist.  Wenn diese Variable beispielsweise auf einen
-deutlich größeren Wert als @code{between-system-padding} gesetzt
+für @code{between-system-spacing} mitgeteilt wird, als in Wirklichkeit
+eingestellt ist.  Wenn beispielsweise 
+@code{page-breaking-between-system-spacing #'padding} auf einen
+deutlich größeren Wert als @code{between-system-spacing #'padding} gesetzt
 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
 Seite.  Standard: nicht gesetzt.
 
@@ -596,7 +719,7 @@ benutzt werden, etwa so:
 #(set-default-paper-size "a6" 'landscape)
 \book {
   \score {
-    \relative { c1 \break c1 }
+    \relative c' { c1 \break c1 }
   }
   \paper {
     system-separator-markup = \slashSeparator
@@ -616,6 +739,19 @@ Die Anzahl an Systemen, die auf jede Seite gesetzt werden sollen.
 Diese Option wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
 unterstützt.  Standard: nicht gesetzt.
 
+@item two-sided
+
+@funindex two-sided
+
+@cindex Bundsteg
+@cindex Binderand
+
+Wenn auf wahr (@code{##t}) gesetzt, werden  @code{inner-margin}, @code{outer-margin}
+und @code{binding-offset} zusammen benutzt, um die Ränder der Seite in Abhängigkeit
+von einer geraden oder ungeraden Seitennummer zu errechnen.  Damit werden die
+Werte von @code{left-margin} und @code{right-margin} überschrieben.  Standard:
+@code{##f}.
+
 @end table
 
 
@@ -1325,7 +1461,6 @@ innerhalb von Gruppen gesetzt wird.
 * Vertikale Abstände innerhalb eines Systems::
 * Vertikale Abstände zwischen Systemen::
 * Explizite Positionierung von Systemen::
-* Vertikale Abstände mit zwei Durchgängen::
 * Vermeidung von vertikalen Zusammenstößen::
 @end menu
 
@@ -1340,111 +1475,189 @@ innerhalb von Gruppen gesetzt wird.
 @cindex Platz innerhalb von Systemgruppen
 @cindex Systemgruppen, Abstände innerhalb
 
-Die Höhe jeder Notensystemgruppe (engl. system) wird automatisch errechnet.
-Um einzelne Notensysteme daran zu hindern, sich zu überschneiden,
-werden Minimalabstände festgelegt.  Indem man diese ändert,
-können die Systeme enger zusammen gerückt werden.  Dadurch
-brauchen die Gruppen weniger Platz und es passen mehr Gruppen
-auf eine Seite.
-
-Normalerweise werden die Notensysteme vertikal gestapelt.  Damit
-die Systeme einen bestimmten Abstand einhalten, haben sie
-Füllabstände, die in der Eigenschaft @code{minimum-Y-extent}
-definiert sind.  Wenn diese Eigenschaft für ein
-@code{VerticalAxisGroup}-Objekt gesetzt wird, kann eingestellt
-werden, wieviel Platz nach unten oder oben die vertikale Linie
-(also das Notensystem oder eine Textzeile) einnimmt.  Die
-Eigenschaft braucht ein Zahlenpaar; der Standardwert ist
-@code{#'(-4 . 4)}.  Um also ein Notensystem schmaler zu machen,
-kann man schreiben:
+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.
 
-@example
-\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
-@end example
+@unnumberedsubsubsec Abstand zwischen Notensystemen
 
-@noindent
-Damit wird die vertikale Größe des Systems auf jeweils drei
-Notenlinienzwischenräume nach oben und unten von der Systemmitte
-aus eingestellt.  Der Wert @code{(-3 . 3)} wird als ein
-Intervall ausgewertet, dessen Zentrum bei 0 liegt; deshalb
-ist die erste Zahl immer negativ.  Die Zahlen müssen nicht
-gleich sein: man kann etwa die Ausdehnung nach unten vergrößern,
-indem man @code{(-6 . 4)} setzt.
+Abstand zwischen Notensystemen wird durch die Eigenschaft
+@code{next-staff-spacing} des @code{VerticalAxisGroup}-Grobs kontrolliert.
+Diese Eigenschaft ist eine Aliste mit vier Elementen: @var{Abstand},
+@var{minimum-distance}, @var{Verschiebung} und @var{Dehnbarkeit}:
 
-@ignore
-FIXME: update this section
-
-Nachdem die Seitenumbrüche bestimmt wurden, wird die vertikale
-Platzverteilung innerhalb jeder Systemgruppe neu ausgewertet
-um die Seite so gleichmäßig wie möglich zu füllen.  Wenn auf
-einer Seite viel Platz übrigbleibt, werden die Gruppen etwas
-gedehnt um die Seite besser auszufüllen.  Die Größe dieser
-Dehnung kann mit der @code{max-stretch}-Eigenschaft
-des @code{VerticalAlignment}-Grobs eingestellt werden.
-Standardmäßig hat @code{max-stretch} den Wert 0, sodass
-die Dehnung ausgeschaltet ist.  Um sie einzuschalten, kann
-als guter Wert für @code{max-stretch} der Wert von
-@code{ly:align-interface::calc-max-stretch} eingesetzt werden.
-
-In manchen Situationen sollen zwar die meisten Systeme gedehnt
-werden, einige Gruppen sollen aber einen festen Abstand einhalten.
-Das kann etwa der Fall sein, wenn ein Klaviersystem in der
-Mitte einer Orchesterpartitur vorkommt.  Mit der
-@code{keep-fixed-while-stretching}-Eigenschaft des
-@code{VerticalAxisGroup}-Objektes kann das erreicht werden.
-Wenn sie auf @code{##t} gesetzt wird, wird das entsprechende
-System (oder die Textzeile) nicht von der Zeile entfernt, die
-sich direkt darüber befindet.  Man müsste diese Einstellung
-als beispielsweise für das zweite Notensystem eines Klaviersystems
-vornehmen:
+@itemize
+@item
+@var{Abstand} ist die Größe des dehnbaren Platzes zwischen der Mittellinie
+eines Notensystems und der Mittellinie des nächsten.
+
+@item
+@var{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 @var{minimum-distance}.
+
+@item
+@var{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 @code{minimum-distance} dadurch, dass die Auswirkung von @var{Verschiebung}
+von der Höhe der Objekte im System abhängt.  @var{Verschiebung} wird also
+wahrscheinlich eingesetzt, wenn ein Notensystem viele Noten tief unter den
+Notenlinien aufweist.
+
+@item
+@var{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 @code{0} die Abstände vollständig
+daran hindert, gedehnt zu werden.  Wenn nicht definiert, hat @var{Dehnbarkeit}
+einen Wert von @code{Abstand - minimum-distance}.
+@end itemize
 
 @lilypond[verbatim]
-#(set-default-paper-size "a6")
-#(set-global-staff-size 14.0)
+#(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 #'next-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 #'next-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 #'next-staff-spacing =
+      #'((space . 4) (padding . -10))
+  }
+  { \clef bass c, }
+  \new Staff { \clef bass c, }
+>>
+@end lilypond
 
-\book {
-\paper {
-  ragged-last-bottom = ##f
-}
+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
+@code{StaffGrouper}-Grob beeinflusst werden:  Der Standardwert von
+@code{next-staff-spacing} für @code{VerticalAxisGroup} ist eine
+Callback-Funktion, die nach einem @code{StaffGrouper}-Grob sucht, der ein
+Notensystem enthält.  Wenn sie einen @code{StaffGrouper}-Grob findet und
+das hierin enthaltene System ist in der Mitte einer Gruppe, wird der
+Wert von @code{between-staff-spacing} von @code{StaffGrouper} ausgelesen
+und ausgegeben.  Wenn das enthaltene Notensystem das letzte einer Gruppe
+ist, wird die @code{after-last-staff-spacing}-Eigenschaft von @code{StaffGrouper}
+ausgelesen und ausgegeben.  Wenn kein @code{StaffGrouper}-Grob gefunden
+wird, wird @var{default-next-staff-spacing} aus der jeweiligen
+@code{VerticalAxisGroup} ausgelesen und ausgegeben.
 
-\new Score \with
-{
-  \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
-}
-{
-\new GrandStaff
+@lilypond[verbatim]
+#(set-global-staff-size 16)
 <<
-  \new StaffGroup
-  <<
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
-  >>
-
-  \new PianoStaff
+  \new PianoStaff \with {
+    \override StaffGrouper #'between-staff-spacing #'space = #1
+    \override StaffGrouper #'between-staff-spacing #'padding = #0
+    \override StaffGrouper #'after-last-staff-spacing #'space = #20
+  }
   <<
-    \new Staff {c' d' e' f'}
-    \new Staff \with {
-      \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
-    }
-    {c' d' e' f'}
+    \new Staff c'1
+    \new Staff c'1
   >>
 
-  \new StaffGroup
+  \new StaffGroup \with {
+    \override StaffGrouper #'between-staff-spacing #'space = #1
+    \override StaffGrouper #'between-staff-spacing #'padding = #0
+  }
   <<
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
+    \new Staff c'1
+    \new Staff c'1
   >>
 >>
+@end lilypond
+
+@unnumberedsubsubsec 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 @code{staff-affinity}-Eigenschaft, mit der ihre
+vertikale Ausrichtung bestimmt wird.  Zum Beispiel erstellt
+
+@example
+\new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #DOWN @}
+@end example
+
+@noindent
+einen Gesangstext-Kontext, der sehr nah an dem sich darunter befindlichen
+System liegt.  Wenn @code{staff-affinity} auf einen Wert gesetzt wird, der
+keine Zahl ist (wie etwa @code{#f}), wird die Zeile wie ein Notensystem
+behandelt.  Wenn andererseits @code{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
+@code{next-staff-spacing} oben.
+
+@itemize
+
+@item
+Wenn die nächste Zeile in der Richtung von @code{staff-affinity} ein
+Notensystem ist, ergibt sich aus dem Wert von @code{inter-staff-spacing} der
+Abstand zwischen dem Nicht-Notensystem und dem Notensystem.  Wenn
+@code{staff-affinity} @code{CENTER} ist, dann wird @code{inter-staff-spacing}
+in beide Richtungen benutzt.
+
+@item
+Wenn die nächste Zeile in der Richtung von @code{staff-affinity} ein
+Nicht-Notensystem ist, ergibt sich aus dem Wert von
+@code{inter-loose-line-spacing} der Abstand zwischen den beiden
+Nicht-Notensystemen.
+
+@item
+Wenn die nächste Zeile der der entgegengesetzten Richtung von @code{staff-affinity}
+ein Notensystem ist, dann gibt @code{non-affinity-spacing} den 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.
+
+@end itemize
+
+@lilypond[verbatim]
+#(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
+      #'inter-loose-line-spacing #'stretchability = #1000
+  }
 }
-}
+
+\new StaffGroup
+<<
+  \new Staff \with {
+    \override VerticalAxisGroup #'next-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 }
+>>
 @end lilypond
-@end ignore
 
-Die vertikale Ausrichtung von Notensystemen wird
-von dem @code{VerticalAlignment}-Objekt vorgenommen.
-Die Kontextparameter für die vertikale Ausdehnung
-werden für den @code{Axis_group_engraver} angegeben.
 
 @seealso
 Schnipsel:
@@ -1454,68 +1667,59 @@ Schnipsel:
 @c @lsr{spacing,alignment-vertical-spacing.ly}.
 
 Referenz der Interna:
+@rinternals{VerticalAxisGroup},
 @rinternals{VerticalAlignment},
 @rinternals{Axis_group_engraver}.
 
-
-@node Vertikale Abstände zwischen Systemen
-@subsection Vertikale Abstände zwischen Systemen
-@translationof Vertical spacing between systems
-
-Der Platz zwischen Notensystemgruppen wird von vier
-Variablen in der @code{\paper}-Umgebung kontrolliert:
+@knownissues
+Aufeinanderfolgende Nicht-Notensystem-Zeilen sollten nicht-ansteigende
+@var{staff-affinity}-Werte von oben nach unten.  Das Verhalten von
+beispielsweise
 
 @example
-\paper @{
-  between-system-space = 1.5\cm
-  between-system-padding = #1
-  ragged-bottom=##f
-  ragged-last-bottom=##f
-@}
+<<
+  \new Staff c
+  \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #DOWN @}
+  \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #UP @}
+  \new Staff c
+>>
 @end example
 
-Wenn nur ein paar schmale Systeme auf eine Seite gesetzt werden,
-kann die vertikale Platzverteilung recht negativ ausfallen, so
-dass etwa ein System ganz oben auf der Seite und das nächste
-unten auf der Seite erscheint, mit einer großen Lücke dazwischen.
-Um derartige Situationen zu umgehen, kann der Platz, der zwischen
-Gruppen eingefügt wird, begrenzt werden.  Dieses Verhalten wird
-aktiviert, indem die @code{page-limit-inter-system-space}-Variable
-in der @code{\paper}-Umgebung auf @code{##t} gesetzt wird.  Die
-Variable @code{page-limit-inter-system-space-factor} bestimmt,
-um wieviel der Platz zwischen Gruppen gedehnt werden darf:  Bei
-einem Wert von @code{1.3} etwa darf der Platz 30% größer sein
-als er es wäre, wenn die Seite mit der Option @code{ragged-bottom}
-gesetzt worden wäre.
-
-Im folgenden Beispiel würde das zweite System der ersten Seite
-unten auf der Seite gesetzt werden, wenn der Platz zwischen
-den Systemen nicht begrenzt wäre.  Weil aber die Begrenzung
-eingesetzt wurde, wird das zweite System näher am ersten
-platziert.  Wenn @code{page-limit-inter-system-space-factor}
-auf @code{1} gesetzt wird, wäre die Platzverteilung die gleiche
-auf einer Seite mit @code{ragged-bottom}, wie etwa die letzte
-Seite einer Partitur.
+ist nicht definiert.
 
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-\book {
-  \paper {
-    page-limit-inter-system-space = ##t
-    page-limit-inter-system-space-factor = 1.3
-
-    oddFooterMarkup = \markup "page bottom"
-    evenFooterMarkup = \markup "page bottom"
-    oddHeaderMarkup = \markup \fill-line {
-      "page top" \fromproperty #'page:page-number-string }
-    evenHeaderMarkup = \markup \fill-line {
-      "page top" \fromproperty #'page:page-number-string }
-  }
-  \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
-                { s1*2 \pageBreak } >>
-}
-@end lilypond
+Eine Nicht-Notensystem-Zeile unter einem Notensystem sollte
+@var{staff-affinity} als @code{UP} definiert haben.  Gleichfalls
+sollte eine Nicht-Notensystem-Zeile über einem System
+@var{staff-affinity} als @code{DOWN} definiert haben.
+
+
+@node Vertikale Abstände zwischen Systemen
+@subsection Vertikale Abstände zwischen Systemen
+@translationof Vertical spacing between systems
 
+Der Mechanismus, der Abstände zwischen zwei Systemgruppen kontrolliert, ist dem
+sehr ähnlich, der Abstände innerhalb einer Systemgruppe kontrolliert
+(siehe @ref{Abstände innerhalb eines Systems}).  Der Hauptunterschied ist,
+dass die Variablen, die Abstände zwischen Systemgruppen definieren, in der
+@code{\paper}-Umgebung und nicht als Grob-Eigenschaften definiert werden.
+Diese Variablen der @code{\paper}-Umbgebung sind @var{between-system-spacing},
+@var{between-scores-system-spacing}, @var{after-title-spacing},
+@var{before-title-spacing}, @var{between-title-spacing},
+@var{top-system-spacing}, @var{top-title-spacing} und
+@var{bottom-system-spacing}.  Beachten Sie, dass diese Variablen
+Nicht-Notensystem-zeilen ignorieren.  Beispielsweise kontrolliert
+@var{between-system-spacing} den Abstand der mittleren Notenlinie des
+tiefsten Systems einer Gruppe zur mittleren Notenlinie des höchsten
+Notensystems der nächsten Gruppe, egal ob dazwischen Gesangstext gesetzt
+ist oder nicht.  Siehe auch @ref{Vertikale Dimensionen} für eine
+Beschreibung dieser Variablen.
+
+Es gibt zwei weiter Variablen der @code{\paper}-Umgebung, die die vertikale
+Aufteilung beeinflussen: wenn @code{ragged-bottom} wahr (@code{##t}) ist,
+dann wird keine Seite gedehnt (was bedeutet, dass weder der Platz zwischen
+Systemgruppen noch der Platz innerhalb von Systemgruppen gedehnt wird).  Wenn
+@code{ragged-last-bottom} wahr (@code{##t}) ist, dann wird die letzte Seite
+nicht gedehnt.
 
 @seealso
 Schnipsel:
@@ -1541,14 +1745,12 @@ definieren, werden mit
 Positionen auf der Seite festgelegt.
 
 @code{NonMusicalPaperColumn #'line-break-system-details} akzeptiert eine
-Liste aus fünf unterschiedlichen Einstellungen:
+Liste aus drei unterschiedlichen Einstellungen:
 
 @itemize
 @item @code{X-offset}
 @item @code{Y-offset}
-@item @code{alignment-offsets}
-@item @code{alignment-extra-space}
-@item @code{fixed-alignment-extra-space}
+@item @code{alignment-distances}
 @end itemize
 
 Veränderungen von Grobs (wozu auch @code{NonMusicalPaperColumn} gehört),
@@ -1580,11 +1782,11 @@ Veränderungen von @code{NonMusicalPaperColumn} mit dem
   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
 
 \overrideProperty NonMusicalPaperColumn
-  #'line-break-system-details #'((alignment-offsets . (0 -15)))
+  #'line-break-system-details #'((alignment-distances . (0 -15)))
 
 \overrideProperty NonMusicalPaperColumn
   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
-                                 (alignment-offsets . (0 -15)))
+                                 (alignment-distances . (0 -15)))
 @end example
 
 Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
@@ -1666,7 +1868,7 @@ neue Systemgruppe begonnen wird.
 
 Da jetzt der exakte Beginn eines jeden Systems explizit festgelegt wurde,
 können wir auch den exakten Beginn eines jeden Notensystems in der
-Gruppe festlegen.  Dies geschieht mit der @code{alignment-offsets}-Eigenschaft
+Gruppe festlegen.  Dies geschieht mit der @code{alignment-distances}-Eigenschaft
 von @code{line-break-system-details}.
 
 @lilypond[quote]
@@ -1679,15 +1881,15 @@ von @code{line-break-system-details}.
         \new Voice {
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 20)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 60)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 100)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
         }
         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@@ -1705,9 +1907,9 @@ Dem @code{line-break-system-details}-Attribut des
 zugewiesen.  Auch wenn die Liste (alist) von
 @code{line-break-system-details} sehr viel mehr Platzierungsparameter
 akzeptiert, müssen hier nu die Parameter @code{Y-offset} und
-@code{alignment-offsets} gesetzt werden, um den vertikalen Beginn
+@code{alignment-distances} gesetzt werden, um den vertikalen Beginn
 jedes Systems und jeder Systemgruppe zu kontrollieren.  @code{Y-offset}
-bestimmt also die vertikale Position von Systemgruppen und @code{alignment-offsets}
+bestimmt also die vertikale Position von Systemgruppen und @code{alignment-distances}
 die vertikale Position von einzelnen Notensystemen.
 
 @lilypond[quote]
@@ -1720,15 +1922,15 @@ die vertikale Position von einzelnen Notensystemen.
         \new Voice {
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 0)
-                                           (alignment-offsets . (0 -30 -40)))
+                                           (alignment-distances . (30 10)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 60)
-                                           (alignment-offsets . (0 -10 -20)))
+                                           (alignment-distances . (10 10)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 100)
-                                           (alignment-offsets . (0 -10 -40)))
+                                           (alignment-distances . (10 30)))
           s1*5 \break
         }
         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@@ -1745,11 +1947,11 @@ die vertikale Position von einzelnen Notensystemen.
 Einige Dinge sollten beachtet werden:
 
 @itemize
-@item Wenn @code{alignment-offsets} benutzt wird, werden Gesangtextzeilen
-als ein System gezählt.
+@item Wenn @code{alignment-distances} benutzt wird, werden Gesangtextzeilen
+nicht als ein System gezählt.
 
 @item Die Einheiten der Zahlen, die für @code{X-offset},
-@code{Y-offset} und @code{alignment-offsets} benutzt werden, werden als
+@code{Y-offset} und @code{alignment-distances} benutzt werden, werden als
 Vielfaches des Abstandes zwischen zwei Notenlinien gewertet.  Positive
 Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach
 unten.
@@ -1767,75 +1969,6 @@ Schnipsel:
 @rlsr{Spacing}.
 
 
-@node Vertikale Abstände mit zwei Durchgängen
-@subsection Vertikale Abstände mit zwei Durchgängen
-@translationof Two-pass vertical spacing
-
-@warning{Vertikale Positionierung in zwei Durchgängen ist veraltet
-(deprecated) und wird in zukünftigen Versionen von LilyPond entfernt
-werden.  Systeme werden jetzt automatisch in einem einzigen
-Durchlauf gedehnt.  Siehe auch @ref{Vertikale Abstände innerhalb eines Systems}.}
-
-Um Systeme zu dehnen, sodass sie den restlichen Platz auf der Seite
-auffüllen, kann ein Verfahren benutzt werden, dass die Positionierung
-in zwei Durchläufen ermittelt:
-
-@enumerate
-@item Im ersten Durchlauf wird der Platz berechnet, um den jede
-Systemgruppe gedehnt werden sollte und in eine Datei geschrieben.
-@item Im zweiten Durchlauf werden die Systemgruppen anhand der
-Daten aus dieser Datei entsprechend gedehnt.
-@end enumerate
-
-Die @code{ragged-bottom}-Eigenschaft fügt den Platz zwischen
-Systemgruppen ein, während mit der Technik in zwei Durchläufen
-die Systemgruppen selber gedehnt werden.
-
-Um dieses Verhalten zu erzeugen, muss die @code{tweak-key}-Eigenschaft
-in der @code{\layout}-Umgebung jeder Partitur definiert werden und diese
-Anpassungen dann in jeder Partitur mit dem Befehl @code{\scoreTweak}
-angewandt werden.
-
-@quotation
-@verbatim
-%% die erstellte Layout-Datei einfügen
-\includePageLayoutFile
-
-\score {
-  \new StaffGroup <<
-    \new Staff <<
-      %% Anpassungen für diese Partitur einfügen
-      \scoreTweak "scoreA"
-      { \clef french c''1 \break c''1 }
-    >>
-    \new Staff { \clef soprano g'1 g'1 }
-    \new Staff { \clef mezzosoprano e'1 e'1 }
-    \new Staff { \clef alto g1 g1 }
-    \new Staff { \clef bass c1 c1 }
-  >>
-  \header {
-    piece = "Score with tweaks"
-  }
-  %% Definieren, wie die Anpassungen für diese Datei genannt werden:
-  \layout { #(define tweak-key "scoreA") }
-}
-@end verbatim
-@end quotation
-
-Für den ersten Durchgang sollte die @code{dump-tweaks}-Option gesetzt
-werden, damit die Layout-Datei erstellt wird.
-
-@example
-lilypond -dbackend=null -d dump-tweaks <file>.ly
-lilypond <file>.ly
-@end example
-
-
-@seealso
-Schnipsel:
-@rlsr{Spacing}.
-
-
 @node Vermeidung von vertikalen Zusammenstößen
 @subsection Vermeidung von vertikalen Zusammenstößen
 @translationof Vertical collision avoidance
@@ -2016,8 +2149,9 @@ würden sie von 1/2 NKA gefolgt werden:
 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
 @end lilypond
 
-In der Einleitung (siehe @rlearning{Notensatz}) wurde erklärt, dass die
-Richtung der Notenhälse die Platzverteilung beeinflusst.  Das wird
+In dem @emph{Aufsatz zum automatisierten Notensatz} wurde erklärt, dass die
+Richtung der Notenhälse die Platzverteilung beeinflusst (siehe
+@ressay{Optischer Ausgleich}).  Das wird
 kontrolliert durch die @code{stem-spacing-correction}-Eigenschaft
 in dem @code{NoteSpacing}-Objekt.  Dieses Objekt wird für jeden
 @code{Voice}-Kontext erstellt.  Das @code{StaffSpacing}-Objekt (in
@@ -2229,7 +2363,9 @@ werden die Systeme linksbündig gesetzt und nicht bis zum
 rechten Rand hin durchgezogen, sondern den Noten entsprechend
 gesetzt.  Das ist oftmals nützlich für kleine Notenfragmente
 und um zu überprüfen, wie eng die Noten natürlicherweise
-gesetzt werden würden.
+gesetzt werden würden.   Die normale Einstellung ist unwahr
+(@code{#f}, aber wenn eine Partitur nur aus einer Zeile besteht,
+ist der Standardwert wahr.
 
 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
@@ -2620,8 +2756,7 @@ Wenn man derartige Platzierungsprobleme untersucht, ist die
 Funktion @code{annotate-spacing} von sehr großer Hilfe.  Hiermit
 wird in den Musiksatz zusätzlich Information darüber ausgegeben,
 wieviel Platz bestimmten Parametern zugewiesen wird.  Genaueres
-hierzu in
-@ref{Abstände anzeigen lassen}.
+hierzu in @ref{Abstände anzeigen lassen}.
 
 @menu
 * Abstände anzeigen lassen::
@@ -2706,8 +2841,7 @@ dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
 
 @example
 \paper @{
-  between-system-padding = #0.1
-  between-system-space = #0.1
+  between-system-spacing = #'((padding . 0) (space . 0.1))
   ragged-last-bottom = ##f
   ragged-bottom = ##f
 @}