]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/de/notation/changing-defaults.itely
Doc-de: updating includes, learning, notation
[lilypond.git] / Documentation / de / notation / changing-defaults.itely
index da8aee913c96d26028222489bb9abcaba8c6c7e0..c3cce8cd6c5c3208d6f182f5707015ca23967447 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
+    Translation of GIT committish: c1df40da9f8b2794e173583c363f9e736e5531bd
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.36"
+@c \version "2.15.20"
 
 @c Translators: Till Paala
 
@@ -44,8 +44,8 @@ Intern benutzt LilyPond Scheme (ein LISP-Dialekt), um eine Infrastruktur
 zur Verfügung zu stellen.  Wenn Layoutentscheidungen verändert werden
 sollen, müssen auf die programminternen Prozesse zugegriffen werden,
 wozu Scheme-Code benötigt wird.  Scheme-Abschnitte werden in einer
-LilyPond-Quelldatei mit einer Raute @code{#} begonnen (siehe auch
-@rlearning{Scheme-Übung}).
+LilyPond-Quelldatei mit einer Raute@tie{}@code{#} begonnen.@footnote{@rextend{Scheme-Übung} enthält eine kurze Übung, wie
+man Zahlen, Listen, Zeichenketten und Symbole in Scheme notiert.}
 
 
 @menu
@@ -72,7 +72,7 @@ verändern kann.
 * Umgebungs-Plugins verändern::
 * Die Standardeinstellungen von Kontexten ändern::
 * Neue Kontexte definieren::
-* Kontexte aneinander ausrichten::
+* Reihenfolge des Kontextlayouts::
 @end menu
 
 
@@ -81,8 +81,8 @@ Handbuch zum Lernen:
 @rlearning{Kontexte und Engraver}.
 
 Installierte Dateien:
-@file{ly/@/engraver@/-init@/.ly},
-@file{ly/@/performer@/-init@/.ly}.
+@file{ly/engraver-init.ly},
+@file{ly/performer-init.ly}.
 
 Schnipsel:
 @rlsr{Contexts and engravers}.
@@ -285,7 +285,7 @@ Eine praktische Anwendung von @code{\new} ist eine Partitur mit vielen
 Systemen.  Jede Stimme wird auf einem eigenen System notiert, das
 mit @code{\new Staff} begonnen wird.
 
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
+@lilypond[quote,verbatim,relative=2,ragged-right]
 <<
   \new Staff { c4 c }
   \new Staff { d4 d }
@@ -569,7 +569,7 @@ Notationskontexte (wie @code{Score} oder @code{Staff}) speichern
 nicht nur Eigenschaften, sie enthalten auch Plugins (@qq{engraver}
 genannt), die die einzelnen Notationselemente erstellen.  Ein
 @code{Voice}-Kontext enthält beispielsweise einen
-@code{Note_head_engraver}, der die Notenköpfe erstellt, und ein
+@code{Note_heads_engraver}, der die Notenköpfe erstellt, und ein
 @code{Staff}-Kontext einen @code{Key_signature_engraver}, der die
 Vorzeichen erstellt.
 
@@ -617,7 +617,7 @@ Es folgt ein einfaches Beispiel, in dem der
 @code{Clef_engraver} (Engraver für den Schlüssel) aus dem
 @code{Staff}-Kontext entfernt werden:
 
-@lilypond[quote,relative=1,verbatim,fragment]
+@lilypond[quote,relative=1,verbatim]
 <<
   \new Staff {
     f2 g
@@ -736,28 +736,49 @@ sich auf alle Systeme in dieser Partitur erstrecken sollen.
 Veränderungen können auch für den @code{Score}- oder alle
 @code{Voice}-Kontexte auf gleiche Weise vorgenommen werden.
 
-@knownissues
+Kontextänderungen können in eine Variable geschrieben werden und dann
+einer @code{\context}-Definition zu gewiesen werden, indem man der
+Veränderung ein @code{\with} voranstellt:
 
-Es ist nicht möglich, Kontextänderungen als Variable zu definieren und
-sie dann in der @code{\context}-Definition anzuwenden, indem man die
-Variable aufruft.
+@lilypond[quote,verbatim]
+blubb = \with {
+  fontSize = #-4
+  \override Stem #'thickness = #4.0
+  \remove "Time_signature_engraver"
+}
 
-Der Befehl @code{\Staff \RemoveEmptyStaves} überschreibt die
-aktuellen Einstellungen für @code{Staff}.  Wenn die Einstellungen
-für Systeme verändert werden sollen, die @code{\Staff \RemoveEmptyStaves}
-benutzen, müssen die Veränderungen gemacht werden, nachdem
-@code{\Staff \RemoveEmptyStaves} aufgerufen wurde, etwa:
+bla = \with {
+  fontSize = #3
+  \override Stem #'thickness = #-2.0
+}
 
-@example
-\layout @{
-  \context @{
-    \Staff \RemoveEmptyStaves
+melody = \relative c'' {
+  a4 a a a |
+  a4 a a a |
+}
 
-    \override Stem #'thickness = #4.0
-  @}
-@}
-@end example
+\score {
+  <<
+    \new Staff <<
+      \melody
+      s1*0^"Small, thicker stems, no time signature"
+    >>
+    \new Staff \bla <<
+      \melody
+      s1*0^"Different"
+    >>
+  >>
+  \layout {
+    \context {
+      \Staff
+      \blubb
+    }
+  }
+}
+@end lilypond
 
+ @c TODO: add \with in here.
 
 @node Neue Kontexte definieren
 @subsection Neue Kontexte definieren
@@ -802,6 +823,7 @@ in Jazzmusik anzuzeigen.
   squashedPosition = #0
   \override NoteHead #'style = #'slash
   \override Stem #'transparent = ##t
+  \override Flag #'transparent = ##t
   \alias Voice
 }
 \context { \Staff
@@ -871,6 +893,7 @@ Die Noten sehen wie ein Querstrich aus und haben keine Hälse:
 @example
 \override NoteHead #'style = #'slash
 \override Stem #'transparent = ##t
+\override Flag #'transparent = ##t
 @end example
 
 Alle diese Engraver müssen zusammenarbeiten, und das wird erreicht mit
@@ -893,6 +916,7 @@ Alles zusammen haben wir folgende Einstellungen:
   squashedPosition = #0
   \override NoteHead #'style = #'slash
   \override Stem #'transparent = ##t
+  \override Flag #'transparent = ##t
   \alias Voice
 @}
 @end example
@@ -951,82 +975,75 @@ notiert werden:
 @end example
 
 
-@node Kontexte aneinander ausrichten
-@subsection Kontexte aneinander ausrichten
-@translationof Aligning contexts
-
-Neue Kontexte können über oder unter existierenden ausgerichtet
-werden.  Das kann nützlich sein, wenn man eine Chorparitur
-oder Ossia schreiben will:
-
-@cindex Ossia
-
-@funindex alignAboveContext
-@funindex alignBelowContext
-
-@lilypond[quote,ragged-right]
-ossia = { f4 f f f }
-\score{
-  \relative c' \new Staff = "main" {
-    c4 c c c
-    <<
-      \new Staff \with { alignAboveContext = #"main" } \ossia
-      { d8 f d f d f d f }
-    >>
-  }
-}
-@end lilypond
-
-@cindex verschachtelte Kontexte
-@cindex Kontexte, verschachtelt
+@node Reihenfolge des Kontextlayouts
+@subsection Reihenfolge des Kontextlayouts
+@translationof Context layout order
 
+@cindex Kontext, Layoutreihenfolge
 @funindex \accepts
-@funindex accepts
 @funindex \denies
-@funindex denies
 
-Kontexte wie @code{PianoStaff} können andere Kontexte innerhalb
-enthalten.  Kontexte, die als innere Kontexte akzeptiert werden,
-werden in einer @qq{accepts}-Liste für den bestimmten Kontext
-definiert.  Kontexte, die sich nicht in dieser Liste finden,
-werden unter den äußeren Kontext gesetzt.  Der
-@code{PianoStaff}-Kontext etwa akzeptiert die Kontexte @code{Staff}
-und @code{FiguredBass} innerhalb, aber beispielsweise keinen
-@code{Lyrics}-(Gesangstext)-Kontext.  In dem folgenden Beispiel
-wird deshalb der Gesangstext unter das gesamte Klaviersystem
-gesetzt, anstatt zwischen die beiden Notensysteme zu kommen:
+Kontexte werden in einer Systemgruppe normalerweise von oben nach
+unten positioniert in der Reihenfolge, wie sie in der Quelldatei
+auftreten.  Wenn Kontext verschachtelt ewrden, enthält der äußere
+Kontexte geschachtelte innere Kontexte, wie in der Quelldatei
+angegeben, vorausgesetzt, die inneren Kontexte befinden sich auch
+in der @qq{accepts}-Liste.  Geschachtelte Kontexte, die nicht
+in dieser @qq{accepts}-Liste enthalten sind, werden unterhalb
+des äußeren Kontextes neu positioniert, anstatt innerhalb von ihm
+gesetzt zu werden.
+
+Die @qq{accepts}-Liste eines Kontextes kann mit dem Befehlen
+@code{\accepts} und @code{\denies} verändert werden.  @code{\accepts} 
+fügt einen Kontext zur @qq{accepts}-Liste, und @code{\denies}
+entfernt einen Kontext aus der Liste.  Akkordbezeichnungen sollen
+beispielsweise normalerweise nicht innerhalb eines @code{Staff}-Kontextes
+geschachtelt werden, sodass der @code{ChordNames}-Kontext nicht
+automatisch in der @qq{accepts}-Liste des @code{Staff}-Kontextes
+geführt ist.  Wenn er aber benötigt wird, kann er hinzugefügt werden:
 
-@lilypond[verbatim,quote,relative=1]
-\new PianoStaff
-<<
-  \new Staff { e4 d c2 }
-  \addlyrics { Three blind mice }
+@lilypond[verbatim,quote]
+\score {
   \new Staff {
-    \clef "bass"
-    { c,1 }
+    c' d' e' f'
+    \chords { d1:m7 b1:min7.5- }
   }
->>
+}
 @end lilypond
 
-Die @qq{accepts}-Liste eines Kontextes kann verändert werden, so
-dass sie weitere innere Kontexte akzeptiert.  Wenn also der
-Gesangstext als Teil eines Klaviersystems gesetzt werden soll,
-müsste man schreiben:
-
-@lilypond[verbatim,quote,relative=1]
-\new PianoStaff \with { \accepts Lyrics }
-<<
-  \new Staff { e4 d c2 }
-  \addlyrics { Three blind mice }
+@lilypond[verbatim,quote]
+\score {
   \new Staff {
-    \clef "bass"
-    { c,1 }
+    c' d' e' f'
+    \chords { d1:m7 b1:min7.5- }
   }
->>
+  \layout {
+    \context {
+      \Staff
+      \accepts "ChordNames"
+    }
+  }
+}
 @end lilypond
 
-Das Gegenteil von @code{\accepts} ist @code{\denies}; es bedeutet,
-dass ein Kontext aus der @code{\accepts}-Liste gestrichen wird.
+@code{\denies} wird vorrangig eingesetzt, wenn ein neuer Kontext
+basierend auf einem existierenden erstellt wird, aber sein 
+Schachtelungsverhalten sich unterscheidet.  Der
+@code{VaticanaStaff}-Kontext beispielsweise basiert auf dem
+@code{Staff}-Kontext, hat aber den @code{VaticanaVoice}-Kontext
+anstellt des @code{Voice}-Kontexts in seiner @qq{accepts}-Liste.
+
+Zur Erinnerung: ein Kontext wird automatisch erstellt, wenn ein
+Befehl auftritt, der in den aktuellen Kontexten nicht enthalten
+sein kann.  Dass kann zu unerwarteten neuen Systemgruppen oder Partituren
+führen.
+
+@seealso
+Handbuch zur Benutzung:
+@rprogram{Ein zusätzliches System erscheint}.
+
+Installierte Dateien:
+@file{ly/engraver-init.ly}.
 
 
 @node Die Referenz der Programminterna erklärt
@@ -1054,7 +1071,7 @@ darum sind auch die Beispiele dieses Abschnittes nicht
 Folgende Aufgabe wird bearbeitet:  Der Fingersatz aus dem Beispiel
 unten soll verändert werden:
 
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
 c-2
 \stemUp
 f
@@ -1212,7 +1229,7 @@ Eigenschaften}), andere aber können verändert werden.
 
 Es wurde immer von einem @code{Fingering}-Objekt gesprochen, aber
 eigentlich handelt es sich nicht um sehr viel.  Die Initialisierungsdatei
-@file{scm/@/define@/-grobs@/.scm} zeigt den Inhalt dieses @qq{Objekts}
+@file{scm/define-grobs.scm} zeigt den Inhalt dieses @qq{Objekts}
 (zu Information, wo diese Dateien sich finden siehe
 @rlearning{Mehr Information}):
 
@@ -1251,7 +1268,7 @@ Referenz der Interna ist direkt aus diesen Anweisungen generiert.
 
 Die Position der @b{2} aus dem Beispiel unten soll also geändert werden:
 
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
 c-2
 \stemUp
 f
@@ -1295,7 +1312,7 @@ fügt drei Notenlinienzwischenräume zwischen die Zahl und den Notenkopf:
 Wenn dieser Befehl in den Quelltext eingefügt wird, bevor der
 Fingersatz notiert ist, erhält man folgendes:
 
-@lilypond[quote,relative=2,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \once \override Voice.Fingering #'padding = #3
 c-2
 \stemUp
@@ -1358,6 +1375,7 @@ folgen bestimmten Regeln:
 * Der override-Befehl::
 * Der tweak-Befehl::
 * set versus override::
+* Alisten verändern::
 @end menu
 
 
@@ -1412,7 +1430,7 @@ Befehl den Kontext @code{Staff} angibt, wirkt er sich nur auf
 das gerade aktuelle Notensystem aus.  Andere Systeme behalten
 ihr normales Aussehen.  Hier ein Beispiel mit diesem Befehl:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 c4
 \override Staff.Stem #'thickness = #4.0
 c4
@@ -1430,7 +1448,7 @@ Kontext ausgelassen werden, wobei dann immer implizit der
 @code{Voice}-Kontext angenommen wird.  Mit einem zusätzlichen
 @code{\once} wirkt sich die Änderung nur einmal aus:
 
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c4
 \once \override Stem #'thickness = #4.0
 c4
@@ -1443,7 +1461,7 @@ ein Bogen verändert werden soll, muss der @code{\override}-Befehl
 schon geschrieben werden, bevor das Objekt begonnen wird.  In dem
 folgenden Beispiel
 
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \override Slur #'thickness = #3.0
 c8[( c
 \override Beam #'beam-thickness = #0.6
@@ -1521,7 +1539,7 @@ wird der @code{\set}-Befehl eingesetzt:
 \set @var{Kontext}.@var{Eigenschaft} = #@var{Wert}
 @end example
 
-@var{Wert} ist ein Scheme-Objekt, weshalb ihm @code{#} vorangestellt
+@var{Wert} ist ein Scheme-Objekt, weshalb ihm@tie{}@code{#} vorangestellt
 werden muss.
 
 Kontexteigenschaften werden üblicherweise mit @code{kleinGroßbuchstabe}
@@ -1537,7 +1555,7 @@ Mehrtaktpausen etwa können in einen Takt zusammengefasst werden, wenn die
 Kontexteigenschaft @code{skipBars} (Takte überspringen) auf @code{#t}
 (wahr) gesetzt wird:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 R1*2
 \set Score.skipBars = ##t
 R1*2
@@ -1548,7 +1566,7 @@ der Befehl auf den gerade aktiven unterstmöglichen Kontext,
 üblicherweise @code{ChordNames}, @code{Voice} oder
 @code{Lyrics}.
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 \set Score.autoBeaming = ##f
 <<
   {
@@ -1572,7 +1590,7 @@ keine Auswirkung, weil er sich auf den @code{Voice}-Kontext
 bezieht, die Eigenschaft sich aber im @code{Score}-Kontext
 befindet:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 R1*2
 \set skipBars = ##t
 R1*2
@@ -1598,7 +1616,7 @@ entfernt werden.  Dieser Befehl macht nur Einstellungen im richtigen
 Kontext rückgängig.  Wenn also im @code{Staff}-Kontext die
 Bebalkung ausgeschaltet wird:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 \set Score.autoBeaming = ##t
 <<
   {
@@ -1629,7 +1647,7 @@ verhalten sich gleich, wenn die gegenwärtige Basis der
 Einstellungen, die nur einmal vorgenommen werden sollen, können
 mit @code{\once} notiert werden, etwa:
 
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
 c4
 \once \set fontSize = #4.7
 c4
@@ -1667,7 +1685,7 @@ Internals Reference:
 Es gibt eine besondere Art von Kontexteigenschaft: die Grob-Beschreibung.
 Grob-Beschreibungen werden mit @code{GroßGroßbuchstabe} benannt.  Sie
 enthalten @qq{Standardeinstellungen} für ein bestimmtes Grob als eine
-assoziative Liste.  Siehe @file{scm/@/define@/-grobs@/.scm} für die
+assoziative Liste.  Siehe @file{scm/define-grobs.scm} für die
 Einstellungen aller Grob-Beschreibungen.  Grob-Beschreibungen werden
 mit @code{\override} verändert.
 
@@ -1694,7 +1712,7 @@ Grunde, die Eigenschaften mit Callback-Fuktionen auszurechnen.
 Beispielsweise kann die Dicke eines Notenhalses verändert werden, indem
 man die @code{thickness}-Eigenschaft des @code{Stem}-Objekts verändert:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote, verbatim, relative=2]
 c4 c
 \override Voice.Stem #'thickness = #3.0
 c4 c
@@ -1703,7 +1721,7 @@ c4 c
 Wenn kein Kontext angegeben wird, wird der tiefste aktuelle Kontext
 benutzt:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote, verbatim, relative=2]
 { \override Staff.Stem #'thickness = #3.0
   <<
     {
@@ -1728,7 +1746,7 @@ benutzt:
 Die Auswirkungen von @code{\override} können mit @code{\revert} wieder
 rückgängig gemacht werden:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote, verbatim, relative=2]
 c4
 \override Voice.Stem #'thickness = #3.0
 c4 c
@@ -1739,7 +1757,7 @@ c4
 Die Auswirkungen von @code{\override} und @code{\revert} wirken sich auf alle
 Grobs im entsprechenden Kontext aber der Stelle aus, an der sie gesetzt werden:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote, verbatim, relative=2]
 {
   <<
     {
@@ -1766,7 +1784,7 @@ Grobs im entsprechenden Kontext aber der Stelle aus, an der sie gesetzt werden:
 @code{\once} kann zusammen mit @code{\override} benutzt werden,
 um nur den aktuellen Zeitwert zu verändern:
 
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote, verbatim, relative=2]
 {
   <<
     {
@@ -1797,11 +1815,12 @@ um nur den aktuellen Zeitwert zu verändern:
 
 Viele Eigenschaften können unabhängig von der Art der Daten, die
 sie enthalten, ausgeschaltet werden, indem man sie als @qq{falsch}
-(@code{##f}) definiert.  Dadurch wird diese Eigenschaft von LilyPond
+(@code{#f}) definiert.  Dadurch wird diese Eigenschaft von LilyPond
 ignoriert.  Das ist insbesondere nützlich, wenn man Grob-Eigenschaften
 ausschalten will, die Probleme verursachen.
 @end ignore
 
+
 @seealso
 
 Referenz der Interna:
@@ -2006,7 +2025,7 @@ wird der erste Bogen verändert, der in der Eingabedatei auftritt.
 @subsection @code{\\set} versus @code{\\override}
 @translationof set versus override
 
-TODO: überflüssig?
+@c TODO: überflüssig?
 
 @ignore
 Es wurden zwei unterschiedliche Methoden vorgestellt, mit denen
@@ -2031,7 +2050,7 @@ Elementbeschreibung.  Diese Eigenschaften werden mit
 @code{GroßGroß} benannt (beginnen also auch mit einem
 Großbuchstaben).  Sie beinhalten die Standardeinstellungen
 für die besagten graphischen Objekte in Form einer
-Assosiationsliste.  Siehe auch die Datei @file{scm/@/define@/-grobs@/.scm}
+Assosiationsliste.  Siehe auch die Datei @file{scm/define-grobs.scm}
 für ein Beispiel zu diesen Einstellungen.  Elementbeschreibungen
 können mit dem Befehl @code{\override} verändert werden.
 
@@ -2064,6 +2083,125 @@ die spezielle Form (die mit @code{\set} verändert wird) erstellt.
 @end ignore
 
 
+@node Alisten verändern
+@subsection Alisten verändern
+@translationof Modifying alists
+
+Einige vom Benutzer einstellbare Eigenschaften sind intern als
+@emph{alists} (Assoziative Listen) dargestellt, die Paare von
+Schlüsseln und Werten speichern.  Die Struktur einer Aliste ist:
+
+@example
+'((@var{Schlüssel1} . @var{Wert1})
+  (@var{Schlüssel2} . @var{Wert2})
+  (@var{Schlüssel3} . @var{Wert3})
+  @dots{})
+@end example
+
+Wenn eine Aliste eine Grob-Eigenschaft oder eine Variable der
+@code{\paper}-Umgebung ist, können ihre Schlüssel einzeln verändert
+werden, ohne andere Schlüssel zu beeinflussen.
+
+Um beispielsweise den Freiraum zwischen benachbarten Systemen
+in einer Systemgruppe zu verkleinern, kann man die
+@code{staff-staff-spacing}-Eigenschaft des
++@code{StaffGrouper}-Grobs benutzen.  Die Eigenschaft ist eine
+Aliste mit vier Schlüsseln: : @code{basic-distance} (Grund-Abstand),
+@code{minimum-distance} (minimaler Abstand), @code{padding} (Verschiebung)
+und @code{stretchability} (Dehnbarkeit).  Die Standardwerte dieser
+Eigenschaft finden sich im Abschnitt @qq{Backend} der Referenz der
+Interna (siehe @rinternals{StaffGrouper}):
+
+@example
+'((basic-distance . 9)
+  (minimum-distance . 7)
+  (padding . 1)
+  (stretchability . 5))
+@end example
+
+Eine Möglichkeit, die Systemen dichter zueinander zu zwingen,
+ist es, der Wert des  @code{basic-distance}-Schlüssels (@code{9}) zu
+verändern, sodass der den gleichen Wert wie
+@code{minimum-distance} (@code{7}) hat.  Um einen einzelnen
+Schlüssel zu verändern, wird ein geschachtelter Aufruf benutzt:
+
+@lilypond[quote,verbatim]
+% default space between staves
+\new PianoStaff <<
+  \new Staff { \clef treble c''1 }
+  \new Staff { \clef bass   c1   }
+>>
+
+% reduced space between staves
+\new PianoStaff \with {
+  % this is the nested declaration
+  \override StaffGrouper #'staff-staff-spacing #'basic-distance = #7
+} <<
+  \new Staff { \clef treble c''1 }
+  \new Staff { \clef bass   c1   }
+>>
+@end lilypond
+
+Wenn man diese Art des geschachtelten Aufrufs einsetzt, wird der
+spezifische Schlüssel (@code{basic-distance} im obigen Beispiel) verändert,
+ohne dass sich andere Wert für die gleiche Eigenschaft ändern würden.
+
+Nun sollen die Systeme so dicht wie möglich gesetzt werden, ohne das
+Überlappungen vorkommen.  Die einfachste Möglichkeit, das zu tun, wäre
+es, alle vier Wert auf 0 zu setzen.  Man muss jedoch nicht vier
+Werte definieren, sondern die Eigenschaft
+kann mit einem Aufruf als Aliste vollständig verändert werden:
+
+@lilypond[quote,verbatim]
+\new PianoStaff \with {
+  \override StaffGrouper #'staff-staff-spacing =
+    #'((basic-distance . 0)
+       (minimum-distance . 0)
+       (padding . 0)
+       (stretchability . 0))
+} <<
+  \new Staff { \clef treble c''1 }
+  \new Staff { \clef bass   c1   }
+>>
+@end lilypond
+
+Dabei sollte beachtet werden, dass alle Schlüssel, die bei dieser
+Weise des Aufrufs nicht explizit aufgelistet sind, auf den Standardwert
+gesetzt werden, den sie hätten, wenn sie nicht definiert werden.
+Im Falle von @code{staff-staff-spacing} würden alle nicht genannten
+Schlüsselwerte auf 0 gesetzt (außer @code{stretchability}, welche immer
+den Wert von @code{space} hat, wenn sie nicht definiert ist).  Somit sind
+folgende Aufrufe äquivalent:
+
+@example
+\override StaffGrouper #'staff-staff-spacing =
+  #'((basic-distance . 7))
+
+\override StaffGrouper #'staff-staff-spacing =
+  #'((basic-distance . 7)
+     (minimum-distance . 0)
+     (padding . 0)
+     (stretchability . 7))
+@end example
+
+Eine möglicherweise ungewollte Konsequenz hiervon ist, dass alle
+Standardwerte, die etwa in einer Initialisierungsdatei
+zu Beginn einer LilyPond-Partitur geladen werden, nach dem Aufruf
+rückgängig gemacht werden.  Im obigen Beispiel werden die
+initialisierten Standardwerte für @code{padding} und @code{minimum-distance}
+(definiert in @file{scm/define-grobs.scm}) auf den Standard zurückgesetzt,
+den sie uninitialisiert hätten (0 in beiden Fällen).  Wenn eine Eigenschaft oder
+Variable in Form einer Aliste (jeder Größe) definiert wird, werden
+immer alle Schlüsselwerte auf den uninitialisierten Zustand zurückgesetzt.
+Es ist also sicherer, geschachtelte Aufrufe zu benutzen, wenn man nicht
+bewusst alle Werte zurücksetzen will.
+
+@warning{Geschachtelte Aufrufe funktionieren nicht mit
+Kontexteigenschaften (wie etwa @code{beamExceptions}, @code{keySignature},
+@code{timeSignatureSettings}, usw.)  Diese Eigenschaften können
+nur verändert werden, indem man sie vollständig als Alisten umdefiniert.}
+
+
 @node Nützliche Konzepte und Eigenschaften
 @section Nützliche Konzepte und Eigenschaften
 @translationof Useful concepts and properties
@@ -2071,7 +2209,6 @@ die spezielle Form (die mit @code{\set} verändert wird) erstellt.
 @menu
 * Eingabe-Modi::
 * Richtung und Platzierung::
-* Reihenfolge des Kontextlayouts::
 * Abstände und Maße::
 * Eigenschaften des Staff-Symbols::
 * Strecker::
@@ -2224,8 +2361,8 @@ benutzen) normalerweise weggelassen werden.  In diesem Fall wird
 @item @code{\markup}-(Textbeschriftungs-)Befehlen
 @item @code{\tag}-Befehlen
 @item Textbeschriftungen in reiner Textform, wie etwa @code{-"string"}
-@item Fingersatzanweisungen: @code{-1}
-@item Abkürzungen von Artikulationen, wie @code{-.}, @code{->}, @code{--}
+@item Fingersatzanweisungen: @w{@code{-1}}
+@item Abkürzungen von Artikulationen, wie @w{@code{-.}}, @w{@code{->}}, @w{@code{--}}
 @end itemize
 
 Ausrichtungsmarkierer haben nur eine Auswirkung auf die nächste Note:
@@ -2245,10 +2382,10 @@ Die Position oder Richtung vieler Layoutobjekte wird von der
 
 Der Wert der @code{direction}-Eigenschaft kann auf den Wert
 @code{1} gesetzt werden, was gleichbedeutend mit @qq{nach oben}
-bzw. @qq{oberhalb} ist, oder auf den Wert @code{-1}, was
+bzw. @qq{oberhalb} ist, oder auf den Wert @w{@code{-1}}, was
 @qq{nach unten} bzw. @qq{unterhalb} bedeutet.  Die Symbole
 @code{UP} und @code{DOWN} können anstelle von @code{1}
-und @code{-1} benutzt werden.  Die Standardausrichtung kann
+und @w{@code{-1}} benutzt werden.  Die Standardausrichtung kann
 angegeben werden, indem @code{direction} auf den Wert
 @code{0} oder @code{CENTER} gesetzt wird.  In vielen Fällen
 bestehen auch vordefinierte Befehle, mit denen die Ausrichtung
@@ -2266,7 +2403,7 @@ In wenigen Fällen, von denen Arpeggio das einzige häufiger
 vorkommende Beispiel darstellt, entscheidet der Wert von
 @code{direction}, ob das Objekt auf der rechten oder linken
 Seite das Ursprungsobjektes ausgegeben wird.  In diesem Fall
-bedeutet @code{-1} oder @code{LEFT} @qq{auf der linken Seite}
+bedeutet @w{@code{-1}} oder @code{LEFT} @qq{auf der linken Seite}
 und @code{1} oder @code{RIGHT} @qq{auf der rechten Seite}.  @code{0}
 oder @code{CENTER} bedeutet @qq{benutze Standardausrichtung}.
 
@@ -2284,36 +2421,6 @@ c2( c)
 @end lilypond
 
 
-@node Reihenfolge des Kontextlayouts
-@subsection Reihenfolge des Kontextlayouts
-@translationof Context layout order
-
-@cindex Kontexte, Reihenfolge
-
-Kontexte werden normalerweise in einer Notensystemgruppe dargestellt,
-von oben nach unten in der Reihenfolge, in der sie
-in der Eingabedatei auftreten.  Wenn Kontexte verschachtelt sind,
-enthält der äußere Kontext die inneren geschachtelten Kontexte,
-wie in der Eingabedatei angegeben, vorausgesetzt die inneren
-Kontexte befinden sich in der @qq{accepts}-Liste des äußeren
-Kontextes.  Verschachtelte Kontexte, die nicht in dieser Liste
-auftauchen, werden neu unter den äußeren Kontext angeordnet, anstatt
-dass sie innerhalb dieses Kontextes gesetzt werden.
-
-Es ist wichtig zu erinnern, dass ein Kontext implizit erstellt
-werden kann, wenn ein Befehl vorkommt und kein passender Kontext
-zur Verfügung steht, um den Befehl auszuführen.  Dadurch können
-unerwartet neue Systeme oder Partituren erstellt werden.
-
-Die Standardreihenfolge, in der die Kontexte gesetzt werden und
-die @qq{accepts}-Liste können geändert werden, siehe auch
-@ref{Aligning contexts}.
-
-@seealso
-Handbuch zum Lernen
-@rlearning{An extra staff appears}.
-
-
 @node Abstände und Maße
 @subsection Abstände und Maße
 @translationof Distances and measurements
@@ -2339,7 +2446,7 @@ eines Zolls).  Abstände des Seitenlayouts können auch in
 skalierbaren Einheiten (siehe folgenden Absatz) definiert
 werden, indem man den Befehl @code{\staff-space} an die
 Zahl hängt.  Das Seitenlayout ist genauer beschrieben in
-@ref{Seitenformatierung}.
+@ref{Seitenlayout}.
 
 Skalierbare Abstände werden immer in Einheiten von
 Notenlinienabständen angegeben, oder seltener in halben
@@ -2380,7 +2487,7 @@ Handbuch zum Lernen:
 @rlearning{Länge und Dicke von Objekten}.
 
 Notationsreferenz:
-@ref{Seitenformatierung},
+@ref{Seitenlayout},
 @ref{Die Notensystemgröße einstellen}.
 
 
@@ -2629,7 +2736,7 @@ ist sein Wert mit 0 definiert.
 
 @item attach-dir
 Das entscheidet, wo die Linie auf der X-Achse beginnt und endet,
-relativ zum Elternobjekt.  Ein Wert @code{-1} (oder
+relativ zum Elternobjekt.  Ein Wert @w{@code{-1}} (oder
 @code{LEFT}) lässt die Linie an der linken Seite der Noten
 beginnen/enden, mit der sie verknüpft ist.
 
@@ -2650,7 +2757,7 @@ Das ist eine Textbeschriftung, die ausgewertet wird und die
 um @i{cresc.}, @i{tr} oder andere Texte an horizontale
 Strecker zu setzen.
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
 \override TextSpanner #'(bound-details left text)
    = \markup { \small \bold Slower }
 c2\startTextSpan b c a\stopTextSpan
@@ -2681,7 +2788,7 @@ c4^\startTextSpan c c c \stopTextSpan
 
 Dabei sollte beachtet werden, dass negative Werte das Objekt
 nach @emph{oben} verschieben, anders als man erwarten könnte,
-weil der Wert @code{-1} oder @code{DOWN} bedeutet, dass
+weil der Wert @w{@code{-1}} oder @code{DOWN} bedeutet, dass
 die @emph{Unterkante} des Textes mit der Streckerlinie
 ausgerichtet wird.  Ein Wert @code{1} oder @code{UP}
 richtet die Oberkante des Textes mit der Streckerlinie aus.
@@ -2705,7 +2812,7 @@ einer Note beendet, oder am nächsten Taktstrich, wenn
 @code{to-barline} auf wahr gesetzt ist und eine Taktlinie
 vor der nächsten Note erscheint.
 
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+@lilypond[verbatim,quote,ragged-right,relative=2]
 \endSpanners
 c2 \startTextSpan c2 c2
 \endSpanners
@@ -2851,7 +2958,7 @@ Im oberen Beispiel wird der weiße Schlüssel, der einen Wert von
 @code{1} für @code{layer} hat, nach den Notenlinien gesetzt
 (die einen Wert von @code{0} für @code{layer} haben) und
 überschneidet sie also.  Um das zu ändern, muss dem @code{Clef}-Objekt
-(Notenschlüssel) ein niedrigerer Wert, etwa @code{-1}, gegeben
+(Notenschlüssel) ein niedrigerer Wert, etwa @w{@code{-1}}, gegeben
 werden, sodass es früher gesetzt wird:
 
 @lilypond[quote,verbatim,relative=2]
@@ -2898,7 +3005,7 @@ wird.  Oder, genauer gesagt, vor einem Zeilenumbruch, an Stellen,
 wo kein Zeilenumbruch auftritt oder nach einem Zeilenumbruch.
 
 Die acht möglichen Kombinationen können auch durch vordefinierte
-Funktionen bestimmt werden, welche in der Datei @file{scm/@/output@/-lib@/.scm}
+Funktionen bestimmt werden, welche in der Datei @file{scm/output-lib.scm}
 definiert sind.  Die letzten drei Spalten der folgenden Tabelle
 zeigen an, ob das Layout-Objekt an einer bestimmten Position
 sichtbar sein wird oder nicht:
@@ -3099,10 +3206,10 @@ auftreten.
 
 Das kleine Oktavierungssymbol von oktavierten Notenschlüsseln
 wird durch das @code{OctavateEight}-Layout-Objekt erstellt.
-Seine Sichtbarkeit wird unabhängig vom @code{Clef}-Objekt
-bestimmt, sodass notwendige Veränderungen von @code{break-visibility}
-sowohl für @code{Clef} als auch für @code{OctavateEight} vorgenommen
-werden müssen, damit derartige Schlüssel entfernt werden.
+Seine Sichtbarkeit wird automatisch vom @code{Clef}-Objekt
+geerbt, sodass Veränderungen von @code{break-visibility}
+des @code{OctavateEight}-Layout-Objekts nicht auch noch
+für unsichtbare Schlüssel zusätzlich vorgenommen werden müssen.
 
 Bei expliziten Schlüsseländerungn kontrolliert die
 @code{explicitClefVisibility}-Eigenschaft wohl das
@@ -3158,7 +3265,7 @@ e2 \glissando f
 @end lilypond
 
 Der Wert von @code{Y} wird für den rechten Endpunkt auf
-@code{-2} gesetzt.  Die linke Seite kann ähnlich angepasst
+@w{@code{-2}} gesetzt.  Die linke Seite kann ähnlich angepasst
 werden, indem man @code{left} anstelle von @code{right} angibt.
 
 Wenn @code{Y} nicht gesetzt ist, wird der Wert ausgehend von
@@ -3268,7 +3375,7 @@ Notationsreferenz:
 @ref{Schnittstellen für Programmierer}.
 
 Installierte Dateien:
-@file{scm/@/define@/-grobs@/.scm}.
+@file{scm/define-grobs.scm}.
 
 Schnipsel:
 @rlsr{Tweaks and overrides}.
@@ -3424,12 +3531,12 @@ Zahl zugewiesen werden, in Einheiten der Hälfte der
 X-Gesamtausdehnung des Objekts.  Negative Werte verschieben
 das Objekt nach rechts, positive nach links.  Ein Wert von
 @code{0} zentriert das Objekt auf dem Referenzpunkt des
-Ursprungs, ein Wert von @code{-1} richtet die linke Ecke des
+Ursprungs, ein Wert von @w{@code{-1}} richtet die linke Ecke des
 Objekts am Referenzpunkt des Ursprungsobjektes aus, ein
 Wert von @code{1} richtet die rechte Ecke des Objektes am
 Referenzpunkt des Ursprungsobjektes aus.  Die Symbole
 @code{LEFT}, @code{CENTER} und @code{RIGHT} können anstelle
-von @code{-1, 0, 1} eingesetzt werden.
+von @w{@code{-1}}, @code{0} und @code{1} eingesetzt werden.
 
 Normalerweise würde der @code{\override}-Befehl benutzt werden, um
 die Werte von @code{self-alignment-X} zu verändern, aber der
@@ -3461,14 +3568,14 @@ Berechnung benutzt werden.  Darum ist es kompliziert, den
 Wert für einige Objekte richtig anzupassen.  Die Einheiten
 sind Halbe der vertikalen Ausdehnung des Objektes, welche
 normalerweise recht klein ist, sodass ziemlich große Werte
-erforderlich sein können.  Der Wert @code{-1} richtet die
+erforderlich sein können.  Der Wert @w{@code{-1}} richtet die
 untere Kante des Objekts am Referenzpunkt des Ursprungsobjektes
 aus, der Wert @code{0} richtet die Mitte des Objekts am
 Referenzpunkt des Ursprungsobjektes aus und der Wert @code{1}
 richtet die Oberkante des Objektes am Referenzpunkt des
 Ursprungsobjektes aus.  Die Symbole @code{DOWN}, @code{CENTER}
-und @code{UP} können anstelle von @code{-1, 0, 1} benutzt
-werden.
+und @code{UP} können anstelle von @w{@code{-1}}, @code{0}
+und @code{1} benutzt werden.
 
 @emph{Automatische Ausrichtung in beide Richtungen}
 
@@ -3683,7 +3790,7 @@ Siehe auch @ref{Die Feta-Schriftart}.
 Notationsreferenz:
 @ref{Graphische Notation innerhalb einer Textbeschriftung},
 @ref{Text formatieren},
-@ref{Text markup commands},
+@ref{Textbeschriftungsbefehle},
 @ref{Die Feta-Schriftart}.
 
 
@@ -3730,7 +3837,7 @@ lösen würde.
 
 @lilypond[verbatim,quote,relative=1]
 <<
-  { e1 ~ e }
+  { e1~ e }
 \\
   { r4 <g c,> <g c,> <g c,> }
 >>
@@ -3767,10 +3874,10 @@ wird.
   {
   \once \override Tie
     #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
-  e1 ~ e1
+  e1~ e1
   }
 \\
-  { r4 <g c,> <g c,> <g c,>4  }
+  { r4 <g c,> <g c,> <g c,>  }
 >>
 @end lilypond
 
@@ -3778,8 +3885,14 @@ wird.
 
 Es ist nicht möglich, die Form von Bögen anhand ihrer
 @code{control-points}-Eigenschaft zu verändern, wenn
-mehr als ein Bogen zum gleichen musikalischen Moment
-auftritt, nicht einmal mit dem @code{\tweak}-Befehl.
+mehrere Binde- oder Legatobögen zum gleichen musikalischen Moment
+auftreten, nicht einmal mit dem @code{\tweak}-Befehl.  Die Eigenschaft
+@code{tie-configuration} von @code{TieColumn} kann jedoch verändert
+werden, sodass Startlinie und Richtung wie benötigt platziert werden.
+
+@seealso
+Referenz der Interna:
+@rinternals{TieColumn}.
 
 
 
@@ -3832,11 +3945,12 @@ wobei
 den Wert @code{#t} ausgibt.
 
 @item @code{@var{@dots{}Noten@dots{}}}
-@tab normale LilyPond-Eingab, wobei @code{$} benutzt wird, um
+@tab normale LilyPond-Eingabe, wobei @code{$} (wenn nur LilyPond-Konstruktionen
+erlaubt sind) oder @code{#} (um es als Scheme-Wert oder Argument einer
+musikalischen Funktionen einzusetzen) benutzt wird, um
 Argumente zu referenzieren (etwa @samp{$Arg1}).
 @end multitable
 
-
 Die @code{parser} und @code{location}-Argumente sind zwingend und
 werden in einigen fortgeschrittenen Situationen benutzt, wie sie
 im @qq{Erweitern}-Handbuch beschrieben werden (siehe
@@ -3851,7 +3965,9 @@ benutzt werden, sind:
 @example
 boolean?
 cheap-list?  @emph{(benutze anstelle von }@q{list?}@emph{ für schnelleres Kompilieren)}
+ly:duration?
 ly:music?
+ly:pitch?
 markup?
 number?
 pair?
@@ -3896,7 +4012,7 @@ padText =
      (parser location padding)
      (number?)
    #{
-     \once \override TextScript #'padding = $padding
+     \once \override TextScript #'padding = #padding
    #})
 
 \relative c''' {
@@ -3939,8 +4055,8 @@ tempoPadded =
      (parser location padding tempotext)
      (number? string?)
    #{
-     \once \override Score.MetronomeMark #'padding = $padding
-     \tempo \markup { \bold $tempotext }
+     \once \override Score.MetronomeMark #'padding = #padding
+     \tempo \markup { \bold #tempotext }
    #})
 
 \relative c'' {