]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/de/user/tweaks.itely
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / de / user / tweaks.itely
index 2b4056597b2ae25cc000e5f2b05b30e44d260d80..ace2c67eca6e0f9bb877ac66763474a575341adc 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1
+    Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.51"
+@c \version "2.12.0"
 
 @node Tweaking output
 @chapter Tweaking output
@@ -18,13 +18,12 @@ Notenfragment kann geändert werden.
 
 
 @menu
-* Tweaking basics::             
-* The Internals Reference manual::  
-* Appearance of objects::       
-* Placement of objects::        
-* Collisions of objects::       
-* Common tweaks::               
-* Further tweaking::            
+* Tweaking basics::
+* The Internals Reference manual::
+* Appearance of objects::
+* Placement of objects::
+* Collisions of objects::
+* Further tweaking::
 @end menu
 
 
@@ -32,10 +31,10 @@ Notenfragment kann geändert werden.
 @section Tweaking basics
 
 @menu
-* Introduction to tweaks::      
-* Objects and interfaces::      
-* Naming conventions of objects and properties::  
-* Tweaking methods::            
+* Introduction to tweaks::
+* Objects and interfaces::
+* Naming conventions of objects and properties::
+* Tweaking methods::
 @end menu
 
 @node Introduction to tweaks
@@ -73,6 +72,11 @@ von Optimierungen verstehen zu können.
 @cindex Interfaces
 @cindex Strecker
 @cindex Schnittstellen
+@cindex graphische Objekte (Grob)
+@cindex Objekteigenschaften
+@cindex Layout-Objekt
+@cindex Objekt, Layout-
+@cindex Eigenschaften von Objekten
 
 Optimierung bedeutet, die internen Operationen und Strukturen
 des LilyPond-Programmes zu verändern, darum sollen hier
@@ -108,8 +112,7 @@ Crescendo-Klammern, Oktavierungszeichen und viele andere
 Grobs sind nicht an einer Stelle plaziert -- sie haben vielmehr
 einen Anfangspunkt, einen Endpunkt und eventuell noch andere
 Eigenschaften, die ihre Form bestimmen. Objekte mit solch
-einer erweiterten Gestalt werden als
-@qq{Strecker} (engl. Spanners)
+einer erweiterten Gestalt werden als @qq{Strecker} (engl. Spanners)
 bezeichnet.
 
 Es bleibt uns noch übrig zu erklären, was @qq{Schnittstellen}
@@ -135,6 +138,12 @@ kommen sollen.
 @node Naming conventions of objects and properties
 @subsection Naming conventions of objects and properties
 
+@cindex Benennungskonventionen für Objekte
+@cindex Benennungskonventionen für Eigenschaften
+@cindex Objekte, Benennungskonventionen
+@cindex Eigenschaften, Benennungskonventionen
+@cindex Regeln zur Benennung von Objekten/Eigenschaften
+
 Es wurden schon früher einige Regeln zur Benennung von
 Objekten vorgestellt, siehe
 @ref{Contexts and engravers}. Hier eine Referenzliste der
@@ -146,7 +155,7 @@ beliebige Anzahl an Kleinbuchstaben eingesetzt. Andere
 Zeichen werden explizit angegeben.
 
 @multitable @columnfractions .33 .33 .33
-@headitem Objekt-/Eigenschaftstyp           
+@headitem Objekt-/Eigenschaftstyp
   @tab Naming convention
   @tab Beispiele
 @item Kontexte
@@ -160,7 +169,7 @@ Zeichen werden explizit angegeben.
   @tab Clef_engraver, Note_heads_engraver
 @item Schnittstellen
   @tab aaa-aaa-interface
-  @tab grob-interface, break-aligned-interface 
+  @tab grob-interface, break-aligned-interface
 @item Kontext-Eigenschaften
   @tab aaa oder aaaAaaaAaaa
   @tab alignAboveContext, skipBars
@@ -169,7 +178,7 @@ Zeichen werden explizit angegeben.
   @tab direction, beam-thickness
 @end multitable
 
-Es wird bald ersichtlich werden, dass die Eigenschaften von 
+Es wird bald ersichtlich werden, dass die Eigenschaften von
 unterschiedlichen Objekttypen mit unterschiedlichen Befehlen
 geändert werden. Deshalb ist es nützlich, aus der
 Schreibweise zu erkennen, um was
@@ -180,10 +189,11 @@ Befehl einsetzen zu können.
 @node Tweaking methods
 @subsection Tweaking methods
 
-@strong{Der \override-Befehl}
-
 @cindex override-Befehl
 @funindex \override
+@funindex override
+
+@strong{Der \override-Befehl}
 
 Wir haben uns schon mit den Befehlen @code{\set}
 und @code{\with} bekannt gemacht, mit welchen
@@ -206,7 +216,8 @@ uns an, wie das vor sich geht.
 Die allgemeine Syntax dieses Befehles ist:
 
 @example
-\override @var{Kontext}.@var{LayoutObjekt} #'@var{layout-eigenschaft} = #@var{Wert}
+\override @var{Kontext}.@var{LayoutObjekt} #'@var{layout-eigenschaft} =
+#@var{Wert}
 @end example
 
 @noindent
@@ -235,6 +246,11 @@ und der größte Teil dieses Abschnittes wird dazu benutzt, seine Benutzung
 zu erläutern. Hier ein einfaches Beispiel, um die Farbe des Notenkopfes
 zu ändern:
 
+@cindex color-Eigenschaft, Beispiel
+@cindex Farb-Eigenschaft, Beispiel
+@cindex NoteHead, Beispiel für override
+@cindex Notenkopf, Beispiel für Veränderung
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c d
 \override NoteHead #'color = #red
@@ -243,10 +259,12 @@ e f g
 a b c
 @end lilypond
 
+
 @strong{Der \revert-Befehl}
 
 @cindex revert-Befehl
 @funindex \revert
+@funindex revert
 
 Wenn eine Eigenschaft einmal überschrieben wurde, wird ihr
 neuer Wert so lange bewahrt, bis er noch einmal überschrieben
@@ -265,6 +283,11 @@ wird @var{Kontext} oft nicht benötigt. Er wird in vielen der folgenden
 Beispiele ausgelassen. Im nächsten Beispiel wird die Farbe des Notenkopfes
 wieder auf den Standardwert für die letzten zwei Noten gesetzt.
 
+@cindex color-Eigenschaft, Beispiel
+@cindex Farb-Eigenschaft, Beispiel
+@cindex NoteHead, Beispiel für override
+@cindex Notenkopf, Beispiel für Veränderung
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c d
 \override NoteHead #'color = #red
@@ -277,6 +300,9 @@ b c
 
 @strong{\once-Präfix}
 
+@funindex \once
+@funindex once
+
 Sowohl der @code{\override}-Befehl als auch der @code{\set}-Befehl können mit
 dem Präfix @code{\once} (@emph{einmal}) versehen werden. Dadurch wird
 der folgende @code{\override}- oder @code{\set}-Befehl nur für den aktuellen
@@ -284,6 +310,11 @@ Musik-Moment wirksam, bevor sich wieder der Standard einstellt. Am gleichen
 Beispiel demonstriert, kann damit die Farbe eines einzelnen Notenkopfes
 geändert werden:
 
+@cindex color-Eigenschaft, Beispiel
+@cindex Farb-Eigenschaft, Beispiel
+@cindex NoteHead, Beispiel für override
+@cindex Notenkopf, Beispiel für Veränderung
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 c d
 \once \override NoteHead #'color = #red
@@ -292,10 +323,13 @@ e f g
 a b c
 @end lilypond
 
+
 @strong{Der \overrideProperty-Befehl}
 
 @cindex overrideProperty-Befehl
+
 @funindex \overrideProperty
+@funindex overrideProperty
 
 Es gibt eine andere Form des @code{override}-Befehls,
 @code{\overrideProperty} (überschreibe Eigenschaft), 
@@ -304,10 +338,12 @@ Vollständigkeit halber erwähnt, sein Einsatz wird demonstriert
 in @ruser{Difficult tweaks}.
 @c Maybe explain in a later iteration  -td
 
+
 @strong{Der \tweak-Befehl}
 
 @cindex tweak-Befehl
 @funindex \tweak
+@funindex tweak
 
 Der letzte Optimierungsbefehl in LilyPond ist @code{\tweak}
 (engl. optimieren). Er wird eingesetzt um Eigenschaften
@@ -322,6 +358,10 @@ Notenkopfes (ein E) in einem C-Dur-Akkord soll geändert
 werden. Schauen wir zuerst, was wir mit 
 @code{\once \override} erhalten:
 
+@cindex Schriftgröße, Beispiel
+@cindex NoteHead, Beispiel für override
+@cindex Notenkopf, Beispiel für Veränderung
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
   <c e g>4
   \once \override NoteHead #'font-size = #-3
@@ -351,6 +391,10 @@ der spitzen Klammern zusammen mit der Note eingegeben werden.
 Um also zu unserem Beispiel zurückzukommen, könnte man die
 mittlere Note eines Akkordes auf diese Weise ändern:
 
+@cindex font-size-Eigenschaft, Beispiel
+@cindex Schriftgröße, Beispiel
+@cindex @code{\tweak}-Beispiel
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
   <c e g>4
   <c \tweak #'font-size #-3 e g>4
@@ -360,17 +404,21 @@ Beachten Sie, dass die Syntax des @code{\tweak}-Befehls sich
 von der des @code{\override}-Befehls unterscheidet. Weder
 Kontext noch Layout-Objekt konnen angegeben werden, denn 
 das würde zu einem Fehler führen. Beide Angaben sind 
-durch das folgende Element impliziert. Die verallgemeinerte
+durch das folgende Element impliziert. Hier sollte auch
+kein Gleichheitzeichen vorhanden sein.  Die verallgemeinerte
 Syntax des @code{\tweak}-Befehls ist also einfach
 
 @example
-\tweak #'@var{layout-eigenschaft} #@var{Wert}
+\tweak #'@var{layout-eigenschaft} #@var{Wert}
 @end example
 
 Ein @code{\tweak}-Befehl kann auch benutzt werden, um nur 
 eine von mehreren Artikulationen zu ändern, wie im nächsten
 Beispiel zu sehen ist.
 
+@cindex Farb-Eigenschaft, Beispiel
+@cindex @code{\tweak}-Beispiel
+
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 a ^Black
   -\tweak #'color #red ^Red
@@ -403,6 +451,12 @@ werden soll, und der zweite, dass die Zahl der rhythmischen
 Aufteilung für die erste der kurzen Klammern in rot
 gesetzt wird.
 
+@cindex Farb-Eigenschaft, Beispiel
+@cindex @code{\tweak}-Beispiel
+@cindex Richtungs-Eigenschaft, Beispiel
+@cindex color-Eigenschaft, Beispiel
+@cindex direction-Eigenschaft, Beispiel
+
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak #'direction #up
 \times 4/3 {
@@ -417,6 +471,13 @@ Wenn geschachtelte N-tolen nicht zum gleichen Zeitpunkt
 beginnen, kann ihr Aussehen auf die übliche Art mit dem
 @code{\override}-Befehl geändert werden:
 
+@cindex text-Eigenschaft, Beispiel
+@cindex tuplet-number-Funktion, Beispiel
+@cindex transparent-Eigenschaft, Beispiel
+@cindex TupletNumber, Beispiel zur Veränderung
+@cindex Triolennummer, Beispiel zur Veränderung
+@cindex Triolen-Nummer-Funktion, Beispiel
+
 @c NOTE Tuplet brackets collide if notes are high on staff
 @c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
@@ -432,22 +493,19 @@ beginnen, kann ihr Aussehen auf die übliche Art mit dem
 }
 @end lilypond
 
-@seealso
 
+@seealso
 Notationsreferenz:
 @ruser{The tweak command}.
 
 
-
-
-
 @node The Internals Reference manual
 @section The Internals Reference manual
 
 @menu
-* Properties of layout objects::  
-* Properties found in interfaces::  
-* Types of properties::         
+* Properties of layout objects::
+* Properties found in interfaces::
+* Types of properties::
 @end menu
 
 @node Properties of layout objects
@@ -458,6 +516,7 @@ Notationsreferenz:
 @cindex Grobs, Eigenschaften von
 @cindex Layout-Objekte, Eigenschaften von
 @cindex Property (Layout-Objekte, Grobs)
+@cindex Regerenz der Interna
 
 Angenommen, in Ihrer Partitur tritt ein Legatobogen
 auf, der Ihrer Meinung nach zu dünn ausgefallen ist.
@@ -488,14 +547,14 @@ aus der Referenz zu entnehmen, die Sie benötigen.
 Beachten Sie, dass die Referenz der Interna nur auf Englisch
 existiert. Um die Eigenschaftsbezeichnung eines bestimmten
 Objektes zu finden, können Sie das Glossar (siehe
-@c  @r glos{Music Glossary})
-  @ref{Music Glossary,,,music-glossary,Musikglossar})
+@rglosnamed{Top,Musikglossar})
  verwenden, in dem
 die englischen Begriffe in viele andere Sprachen übersetzt sind.
 
 @cindex Override-Beispiel
 @cindex Referenz der Interna, Benutzung
 @cindex IR (Referenz der Interna), Benutzung
+@cindex @code{\addlyrics}-Beispiel
 
 Das Vorgehen soll an einem konkreten Beispiel einer echten
 Komposition demonstriert werden. Hier das Beispiel:
@@ -512,7 +571,7 @@ Komposition demonstriert werden. Hier das Beispiel:
     The man who feels love's sweet e -- mo -- tion
   }
 }
-@end lilypond 
+@end lilypond
 
 Angenommen also, wir wollen die Legatobögen etwas
 dicker setzten. Ist das möglich? Die Legatobögen sind mit
@@ -571,7 +630,7 @@ für die Dicke eine andere Eigenschaft mit der
 Bezeichnung @code{line-thickness} ist.
 
 Wie schon früher gesagt, gibt es wenig bis gar keine Erklärungen
-in der IR, aber wir haben schon genug Informationen, um 
+in der IR, aber wir haben schon genug Informationen, um
 zu versuchen, die Dicke eines Legatobogens zu ändern. Die
 Bezeichnung des Layout-Objekts ist offensichtlich
 @code{Slur} und die Bezeichnung der Eigenschaft, die geändert
@@ -579,541 +638,3428 @@ werden soll
 @code{thickness}. Der neue Wert sollte etwas mehr als 1.2 sein,
 denn der Bogen soll ja dicker werden.
 
+Den benötigten @code{\override}-Befehl können wir jetzt einfach
+konstruieren, indem wir die Werte für die Bezeichnungen in den
+Modellbefehl einfügen und den Kontext auslassen. Setzen wir
+einmal einen sehr großen Wert für die Dicke um zu sehen, ob der
+Befehl auch funktioniert. Also:
 
+@example
+\override Slur #'thickness = #5.0
+@end example
 
+Vergessen Sie nicht das Rautenzeichen und Apostroph
+(@code{#'}) vor der Eigenschaftsbezeichnung und das
+Rautenzeichen vor dem neuen Wert!
 
-@node Properties found in interfaces
-@subsection Properties found in interfaces
-
-@untranslated
-
-@node Types of properties
-@subsection Types of properties
-
-@untranslated
-
-@node Appearance of objects
-@section Appearance of objects
+Die nächste Frage ist nun: @qq{Wohin soll dieser Befehl geschrieben
+werden?} Solange wir uns noch im Lernstadium befinden, ist
+die beste Antwort: @qq{Innerhalb der Noten, vor den ersten
+Legatobogen und nahe bei ihm.} Also etwa so:
 
-@untranslated
+@cindex Legatobogen, Beispiel für Veränderung
+@cindex thickness-Eigenschaft, Beispiel
+@cindex Dicke-Eigenschaft, Beispiel
 
-@menu
-* Visibility and color of objects::  
-* Size of objects::             
-* Length and thickness of objects::  
-@end menu
+@lilypond[quote,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    % Increase thickness of all following slurs from 1.2 to 5.0
+    \override Slur #'thickness = #5.0
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion
+  }
+}
+@end lilypond
 
-@node Visibility and color of objects
-@subsection Visibility and color of objects
+@noindent
+und wirklich wird der Legatobogen dicker.
+
+Das ist also die grundlegende Herangehensweise, 
+@code{\override}-Befehl zu formulieren. Es gibt einige
+zusätzliche Komplikationen, denen wir uns später widmen
+werden, aber Sie haben jetzt das Handwerkszeug, um Ihre
+eigenen Befehle zu konstruieren -- wenn Sie auch noch etwas
+Übung benötigen. Die sollen Sie durch die folgenden Übungen
+erhalten.
+
+
+@subheading Finding the context
+
+@cindex Kontext, Finden und identifizieren
+
+Manchmal muss dennoch der Kontext spezifiziert werden.
+Welcher aber ist der richtige Kontext? Wir könnten raten,
+dass Legatobögen sich im @code{Voice}-Kontext befinden,
+denn sie sind immer einzelnen Melodielinien zugewiesen.
+Aber wir können uns dessen nicht sicher sein. Um unsere
+Annahme zu überprüfen, gehen wir wieder zu der Seite im
+IR, die die Legatobögen beschreibt und die Überschrift
+@emph{Slur} hat. Dort steht: @qq{Slur objects are created 
+by: Slur engraver}. Legatobögen werden also in dem Kontext
+erstellt, in dem sich der @code{Slur_engraver} befindet. 
+Folgen Sie dem Link zu der @code{Slur_engraver}-Seite.
+Unten auf der Seite steht, dass der @code{Slur_engraver}
+sich in fünf Stimmen-Kontexten befindet, unter anderem
+auch im normalen @code{Voice}-Kontext. Unsere Annahme
+war also richtig. Und weil @code{Voice} einer der Kontexte
+der untersten Ebene ist, welcher eindeutig schon dadurch
+definiert ist, dass wir Noten eingeben, kann er an dieser Stelle
+auch weggelassen werden.
+
+
+@subheading Overriding once only
+
+@cindex Override nur einmal
+@cindex once override
+@funindex \once
+@funindex once
+
+Im Beispiel oben wurden @emph{alle} Legatobögen dicker
+gesetzt. Vielleicht wollen Sie aber nur den ersten Bogen
+dicker haben. Das können Sie mit dem @code{\once}-Befehl
+erreichen. Er wird direkt vor den @code{\override}-Befehl
+gesetzt und bewirkt, dass nur der Bogen geändert wird, der
+@strong{unmittelbar an der nächsten Note beginnt.} Wenn
+die nächste Note keinen Bogenbeginn hat, dann passiert
+gar nichts -- der Befehl wird nicht gespeichert, sondern einfach
+vergessen. Der Befehl, mit @code{\once} zusammen benutzt,
+muss also wie folgt positioniert werden:
+
+@cindex Legatobogen, Beispiel zur Veränderung
+@cindex thickness-Eigenschaft, Beispiel
 
-@untranslated
+@lilypond[quote,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion
+  }
+}
+@end lilypond
 
-@node Size of objects
-@subsection Size of objects
+@noindent
+Jetzt bezieht er sich nur noch auf den ersten Legatobogen.
 
-@untranslated
+Der @code{\once}-Befehl kann übrigens auch vor einem @code{\set}-Befehl
+eingesetzt werden.
 
-@node Length and thickness of objects
-@subsection Length and thickness of objects
 
-@untranslated
+@subheading Reverting
 
-@node Placement of objects
-@section Placement of objects
+@cindex Revert
+@cindex Rückgängig machen
+@cindex Wiederherstellen von Standardeinstellungen
+@cindex Standardeinstellungen, Wiederherstellen
+@funindex \revert
+@funindex revert
 
-@untranslated
+Eine weitere Möglichkeit: nur die beiden ersten Legatobögen sollen
+dicker gesetzt werden. Gut, wir könnten jetzt zwei Befehle benutzen,
+jeden mit dem @code{\once}-Präfix und direkt vor die entsprechende
+Note gestellt, an welcher der Bogen beginnt:
 
-@menu
-* Automatic behavior::          
-* Within-staff objects::        
-* Outside staff objects::       
-@end menu
+@cindex Legatobogen, Beispiel zur Veränderung
+@cindex thickness-Eigenschaft, Beispiel
 
-@node Automatic behavior
-@subsection Automatic behavior
+@lilypond[quote,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    b[( g]) g |
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion
+  }
+}
+@end lilypond
 
-@untranslated
+@noindent
+Wir könnten aber auch den @code{\once}-Befehl weglassen und anstelle 
+dessen später den @code{\revert}-Befehl einsetzen, um die
+@code{thickness}-Eigenschaft wieder auf ihren Standardwert zurückzusetzen:
 
-@node Within-staff objects
-@subsection Within-staff objects
+@cindex Legatobogen, Beispiel zur Veränderung
+@cindex thickness-Eigenschaft, Beispiel
 
-@untranslated
+@lilypond[quote,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of all following slurs from 1.2 to 5.0
+    \override Slur #'thickness = #5.0
+    b[( g]) g |
+    g[( e])
+    % Revert thickness of all following slurs to default of 1.2
+    \revert Slur #'thickness
+    e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion
+  }
+}
+@end lilypond
 
-@node Outside staff objects
-@subsection Outside staff objects
+@noindent
+Der @code{\revert}-Befehl kann benutzt werden, um eine beliebige
+Eigenschaft, die mit @code{\override} geändert worden ist, wieder in 
+ihre Standardeinstellungen zurückzuversetzen. In unserem Beispiel können
+Sie die Methode benutzen, die Ihnen lieber ist, beide haben das gleiche
+Resultat.
 
-@untranslated
+Damit endet die Einleitung in die Referenz der Interna (IR) und die
+grundlegenden Optimierungsmethoden. Einige Beispiele folgen in späteren
+Abschnitten dieses Kapitel, einerseits um Sie mit weiteren Möglichkeiten
+der IR bekanntzumachen, andererseits um Ihnen mehr Übungsmöglichkeiten
+zu geben, die relevante Information dort zu finden. Die Beispiele werden
+Schritt für Schritt immer weniger Erklärungen beinhalten.
 
 
-@node Collisions of objects
-@section Collisions of objects
+@node Properties found in interfaces
+@subsection Properties found in interfaces
 
-@menu
-* Moving objects::              
-* Fixing overlapping notation::  
-* Real music example::          
-@end menu
+@cindex Interface-Eigenschaften
+@cindex Eigenschaften von Interfaces
+@cindex Schnittstellen, Eigenschaften von
+@cindex Eigenschaften von Schnittstellen
+
+Der Text unseres Beispiels soll jetzt kursiv gesetzt werden. Was für
+ein @code{\override}-Befehl wird dazu benötigt? Schauen wir
+uns zunächst das Inhaltsverzeichnis in der IR an: @qq{All layout objects},
+wie auch schon zuvor. Welches Objekt könnte die Darstellung des
+Textes (engl. lyrics) beeinflussen? Es gibt den Eintrag @code{LyricText},
+das hört sich schon sehr gut an. Ein Klick hierauf zeigt alle Eigenschaften
+an, die verändert werden können. Dazu gehört 
+@code{font-series} und @code{font-size}, aber nichts, womit man kursiven
+Text erreichen könnte. Das liegt daran, dass die Schnitteigenschaft allen
+Schrift-Objekten gemeinsam ist. Sie findet sich also nicht in jedem einzlenen
+Layout-Objekt aufgelistet, sondern ist mit anderen ähnlichen Eigenschaften
+zusammen in einem @strong{Interface} -- einer Schnittstelle -- verortet;
+in diesem Fall das
+@code{font-interface}.
+
+Jetzt müssen wir also lernen, wie wir Eigenschaften von Schnittstellen finden
+und wie wir herausfinden, welche Objekte diese Schnittstelleneigenschaften
+benutzen.
+
+Schauen Sie sich noch einmal die Seite in der IR an, die @code{LyricText}
+beschreibt. Unten auf der Seite ist eine klickbare Liste (in der HTML-Version
+der IR) an Eigenschaften, die von @code{LyricText} unterstützt
+werden. Diese Liste enthält sieben Einträge, darunter auch
+@code{font-interface}. Ein Klick hierauf bringt uns zu den Eigenschaften,
+die mit dieser Schnittstelle verbunden sind, also auch @code{LyricText}.
+
+Jetzt sehen wir alle die Eigenschaften, die der Benutzer verändern kann,
+um die Schriftartendarstellung zu beeinflussen. Dazu gehört nun auch
+@code{font-shape(symbol)}, wobei @code{symbol} auf die Werte
+@code{upright} (gerade), @code{italics} (kursiv) oder @code{caps}
+(Kapitälchen) gesetzt werden kann.
+
+Sie werden gemerkt haben, dass @code{font-series} und @code{font-size}
+hier auch aufgelistet sind. Es stellt sich die Frage, warum diese
+allgemeinen Schriftarteigenschaften @code{font-series} und
+@code{font-size} sowohl unter der Überschrift
+@code{LyricText} als unter dem @code{font-interface} aufgelistet 
+sind, aber @code{font-shape} befindet sich nur im 
+@code{font-interface}? Die Antwort ist: Die globalen Einstellungen 
+von @code{font-series} und @code{font-size} werden geändert, wenn
+ein @code{LyricText}-Objekt erstellt wird, aber @code{font-shape} 
+wird davon nicht beeinflusst. Die zusätzlichen Einträge unter der
+Überschrift @code{LyricText} beinhalten dann die Werte der
+Standardeinstellungen dieser zwei Eigenschaften, wenn es sich
+um ein @code{LyricText}-Objekt handelt. Andere Objekte,
+die auch das @code{font-interface} unterstützen, setzen diese
+Eigenschaften anders, wenn sie erstellt werden.
+
+Versuchen wir nun einen @code{\override}-Befehl zu konstruieren,
+der den Gesantext kursiv setzt. Das Objekt hat die Bezeichnung
+@code{LyricText}, die Eigenschaft ist @code{font-shape} 
+und der Wert @code{italic}. Wie vorher schon lassen wir den
+Kontext aus.
+
+Am Rande sei angemerkt, dass die Werte der @code{font-shape}-Eigenschaft
+mit einem Apostroph (@code{'}) gekennzeichnet werden
+müssen, weil es sich um Symbole handelt. Aus dem gleichen
+Grund mussten auch für @code{thickness} weiter oben im
+Text ein Apostroph gesetzt werden. Symbole sind besondere
+Bezeichnungen, die LilyPond intern bekannt sind. Einige
+sind Bezeichnungen von Eigenschaften, wie eben @code{thickness}
+oder @code{font-shape}. Andere sind besondere Werte,
+die an Eigenschaften übergeben werden können, wie
+@code{italic}. Im Unterschied hierzu gibt es auch beliebige
+Zeichenketten, die immer mit Anführungszeichen, also
+als @code{"Zeichenkette"} auftreten. Für weitere
+Einzelheiten zu Zeichenketten und Werten, siehe 
+@ref{Scheme tutorial}.
+
+Gut, der @code{\override}-Befehl, mit dem der Gesangstext
+kursiv gesetzt wird, lautet:
 
-@node Moving objects
-@subsection Moving objects
+@example
+\override LyricText #'font-shape = #'italic
+@end example
 
-Es wird vielleicht eine Überraschung sein, aber LilyPond ist nicht 
-perfekt. Einige Notationselemente können sich überschneiden. Das 
-ist nicht schön, kann aber (in den meisten Fällen) sehr einfach
-korrigiert werden.
+@noindent
+und er muss direkt vor den Text gesetzt werden, auf den er sich
+bezieht, etwa so:
 
-@c  FIXME: find a better example for 5.1 Moving Objects.  -gp
-@c  yes, I want this TODO to be visible to end-users.  It's better
-@c  than having nothing at all.
-TODO: Mit den neuen Abstandseigenschaften seit Version 2.12 sind die
-jeweiligen Beispiele nicht mehr relevant. Sie zeigen jedoch immer noch 
-machtvolle Eigenschaften von LilyPond und verbleiben deshalb in der 
-Dokumentation, bis jemand bessere Beispiel zur Verfügung stellt.
+@cindex font-shape-Eigenschaft, Beispiel
+@cindex LyricText, Beispiel zur Veränderung
+@cindex kursiv, Beispiel
+@cindex @code{\addlyrics}, Beispiel
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-e4^\markup{ \italic ritenuto } g b e
+{
+  \time 6/8
+  {
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    \override LyricText #'font-shape = #'italic
+    The man who feels love's sweet e -- mo -- tion
+  }
+}
 @end lilypond
 
-@cindex Abstände füllen
-
-Die einfachste Lösung ist es, Abstände zwischen Objekt und Note zu vergrößern 
- (genauso auch für Fingersätze oder Dynamikzeichen). In 
-LilyPond wird das durch Veränderung der @code{padding} (Füllungs)-Eigenschaft
-erreicht, ihre Maßeinheit sind Notenzeilenabstände. Für die meisten 
-Objekte ist der Wert etwa 1.0 oder weniger (das unterscheidet sich 
-von Objekt zu Objekt). Hier soll der Abstand vergrößert werden, also
-scheint 1.5 eine gute Wahl.
+@noindent
+Jetzt wird der Text kursiv gesetzt.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'padding = #1.5
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
 
-Das sieht besser aus, ist aber noch nicht groß genug. Nach einigen
-Experimenten wird darum 2.3 genommen für diesen Fall. Diese Zahl
-ist aber nur das Resultat einigen Probierens und persönlicher
-Geschmack. Probieren Sie selber ein wenig herum und entscheiden 
-Sie nach eigenem Geschmack.
+@subheading Specifying the context in lyric mode
 
-Die @code{staff-padding}-Eigenschaft ist der vorigen sehr ähnlich. 
- @code{padding} entscheidet über den minimalen Abstand zwischen einem
-Objekt und dem nächsten anderen Objekt (meistens eine Note oder 
-Notenzeile); @code{staff-padding} entscheidet über den minimalen
-Abstand zwischen einem Objekt und dem Notensystem. Das ist nur ein 
-kleiner Unterschied, aber hier wird das Verhalten demonstriert:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-c4^"piu mosso" b a b
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-\once \override TextScript #'staff-padding = #4.6
-c4^"piu mosso" fis a g
-\break
-c'4^"piu mosso" b a b
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-\once \override TextScript #'staff-padding = #4.6
-c4^"piu mosso" fis a g
-@end lilypond
-
-@cindex Abstand, zusätzlicher
-@cindex extra-offset
-
-Eine andere Lösung ermöglicht vollständige Kontrolle über die Positionierung
-eines Objektes sowohl horizontal als auch vertikal. Das wird mit der 
-@code{extra-offset} (Zusätzlicher-Abstand)-Eigenschaft erreicht. Das 
-ist etwas komplizierter und kann andere Probleme mit sich ziehen. Wenn 
-Objekte mit dieser Eigenschaft verschoben werden, heißt das, dass 
-LilyPond sie erst setzt, nachdem alle anderen Objekte positioniert 
-worden sind. Deshalb können sich die Objekte am Ende überlagern.
+@cindex Kontext im Gesangstextmodus angeben
+@cindex Gesangstextmodus, Kontext angeben
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'extra-offset = #'( 1.0 . -1.0 )
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
+Bei Gesangstexten funktioniert der @code{\override}-Befehl
+nicht mehr, wenn Sie den Kontext im oben dargestellten
+Format angeben.  Eine Silbe wird im Gesangtextmodus
+(lyricmode) entweder von einem Leerzeichen, einer
+neuen Zeile oder einer Zahl beendet.  Alle anderen
+Zeichen werden als Teil der Silbe integriert.  Aus diesem 
+Grund muss auch vor der schließenden Klammer
+@code{@}} ein Leerzeichen gesetzt oder eine neue
+Zeile begonnen werden.  Genauso müssen Leerzeichen
+vor und nach einem Punkt benutzt werden, um die
+Kontext-Bezeichnung von der Objekt-Bezeichnung zu 
+trennen, denn sonst würden beide Bezeichnungen als
+ein Begriff interpretiert und von LilyPond nicht verstanden 
+werden.  Der Befehl muss also lauten:
 
-Bei Verwendung von @code{extra-offset} bestimmt die erste Zahl über die
-horizontale Verschiebung (nach links ist negativ), die zweite Zahl 
-bestimmt die vertikale Verschiebung (nach oben ist positiv). Nach einigen 
-Experimenten wurden hier folgende Werte für gut befunden:
+@example
+\override Lyrics . LyricText #'font-shape = #'italic
+@end example
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'extra-offset = #'( -1.6 . 1.0 )
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
+@warning{Innerhalb von Gesangstext muss immer ein
+Leerzeichen zwischen der letzten Silbe und der schließenden
+Klammer gesetzt werden.}
 
-@noindent
-Auch diese Zahlen sind nur Resultat einigen Herumprobierens und Vergleichens 
-der Ergebnisse. Sie wollen den Text vielleicht etwas höher oder etwas mehr 
-nach links setzen. Versuchen Sie es selber und vergleichen Sie das Ergebnis.
+@warning{Innerhalb von @code{\override}-Befehlen in
+Gesangstexten müssen Leerzeichen um Punkte zwischen
+Kontext- und Objektbezeichnungen gesetzt werden.}
 
-Eine letzte Warnung: in diesem Kapitel haben wir den Befehl 
 
-@example
-\once \override TextScript @dots{}
-@end example
+@node Types of properties
+@subsection Types of properties
 
-@noindent 
-benutzt. Dieser Befehl verändert die Anzeige des Textes für die nächste 
-Note. Wenn die Note keinen Text zugeordnet hat, wird auch nichts 
-verändert (und es wird @strong{nicht} nach dem nächsten Text gesucht). 
-Um das Verhalten zu verändern, so dass alles, was nach dem Befehl
-kommt, verändert wird, müssen Sie den Befehl @code{\once} weglassen. 
-Um die Veränderung zu stoppen, benutzen Sie den Befehl @code{\revert}.
-Das wird genauer im Kapitel
-@ruser{The \override command} erklärt.
+@cindex Eigenschaftsarten
+
+Bis jetzt hatten wir es mit zwei Arten von Eigenschaften zu
+tun: @code{number} (Zahl) und @code{symbol}.  Damit
+ein Befehl funktioniert, muss der Wert einer Eigenschaft
+vom richtigen Typ sein und die Regeln befolgen, die
+für diesen Typ gelten.  Der Eigenschaftstyp ist in der
+IR in Klammern hinter der Eigenschaftsbezeichnung
+angegeben.  Hier eine Liste der Typen, die Sie vielleicht
+benötigen werden, mit den Regeln, die für den jeweiligen
+Typ gelten und einigen Beispielen. Sie müssen immer
+ein Rautenzeichen (@code{#}) vor den Typeintrag setzen,
+wenn sie in einem @code{\override}-Befehl benutzt werden.
+
+@multitable @columnfractions .2 .45 .35
+@headitem Eigenschaftstyp
+  @tab Regeln
+  @tab Beispiele
+@item Boolesch
+  @tab Entweder wahr oder falsch, dargestellt als #t oder #f
+  @tab @code{#t}, @code{#f}
+@item Dimension (in Notenlinienabständen)
+  @tab Eine positive Dezimalzahl (in Notenlinienabstand-Einheiten)
+  @tab @code{2.5}, @code{0.34}
+@item Richtung
+  @tab Eine gültige Richtungskonstante oder das numerische Äquivalent
+  @tab @code{LEFT}, @code{CENTER}, @code{UP},
+       @code{1}, @code{-1}
+@item Integer
+  @tab Eine positive ganze Zahl
+  @tab @code{3}, @code{1}
+@item Liste
+  @tab Eine eingeklammerte Anzahl von Einträgen, mit Klammern getrennt
+  und angeführt von einem Apostroph
+  @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+       @code{'(1.0 0.25 0.5)}
+@item Textbeschriftung (markup)
+  @tab Beliebige gültige Beschriftung
+  @tab @code{\markup @{ \italic "cresc." @}}
+@item Moment
+  @tab Ein Bruch einer ganzen Note, mit der make-moment-Funktion
+  konstruiert
+  @tab @code{(ly:make-moment 1 4)},
+       @code{(ly:make-moment 3 8)}
+@item Zahl
+  @tab Eine beliebige positive oder negative Dezimalzahl
+  @tab @code{3.5}, @code{-2.45}
+@item Paar (Zahlenpaar)
+  @tab Zwei Zahlen getrennt von @qq{Leerzeichen . Leerzeichen}, eingeklammert
+  und angeführt von einem Apostroph
+  @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
+@item Symbol
+  @tab Eine beliebige Anzahl von Symbolen, die für die Eigenschaft 
+  gültig sind, angeführt von einem Apostroph
+  @tab @code{'italic}, @code{'inside}
+@item Unbekannt
+  @tab Eine Prozedur oder @code{#f} (um keine Aktion hervorzurufen)
+  @tab @code{bend::print}, @code{ly:text-interface::print},
+       @code{#f}
+@item Vektor
+  @tab Eine Liste mit drei Einträgen, eingeklammert und mit
+  Apostroph-Raute ( @code{'#}) angeführt.
+  @tab @code{'#(#t #t #f)}
+@end multitable
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
-  % temporary code to break this example:
-  \override TextScript #'outside-staff-priority = ##f
-c4^"piu mosso" b
-\once \override TextScript #'padding = #4.6
-  a4 b
-c4^"piu mosso" d e f
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-c4^"piu mosso" d e f
-\break
-\override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-c4^"piu mosso" d e f
-\revert TextScript #'padding
-c4^"piu mosso" d e f
-@end lilypond
 
 @seealso
+Handbuch zum Lernen: @ref{Scheme tutorial}.
 
-@ruser{The \override command}, @ref{Common tweaks}.
 
+@node Appearance of objects
+@section Appearance of objects
 
-@node Fixing overlapping notation
-@subsection Fixing overlapping notation
+In diesem Abschnitt wollen wir zeigen, wie die Kenntnisse der
+vorigen Abschnitte in der Praxis angewandt werden können,
+um das Aussehen des Musiksatzes zu beeinflussen.
 
-Im Kapitel @ref{Moving objects} wurde gezeigt, wie man Texte 
-(@code{TextScript}-Objekte) verschiebt. Mit der gleichen 
-Technik können auch andere Objektklassen verschoben werden, 
-@code{TextScript} muss dann nur durch den Namen des Objektes 
-ersetzt werden.
+@menu
+* Visibility and color of objects::
+* Size of objects::
+* Length and thickness of objects::
+@end menu
 
-Um den Objektnamen zu finden, siehe die @q{@strong{see also}}-Hinweise 
-am Ende des jeweiligen Abschnittes. Zum Beispiel am Ende des
-Kapitels  @ruser{Dynamics} findet sich:
 
-@quotation
-@seealso
+@node Visibility and color of objects
+@subsection Visibility and color of objects
 
-Programmreferenz: @rinternals{DynamicText}, @rinternals{Hairpin}.
-Vertikale Positionierung dieser Symbole wird mit
-@rinternals{DynamicLineSpanner} erreicht.
-@end quotation
+In Unterrichtsmaterial für den Musikunterricht wird oft
+eine Partitur dargestellt, in der bestimmte Notationselemente
+fehlen, so dass der Schüler die Aufgabe bekommt, die 
+nachzutragen.  Ein einfaches Beispiel ist etwa, die
+Taktlinien zu entfernen, damit der Schüler sie selber zeichnen
+kann.  Aber die Tatklinien werden normalerweise automatisch
+eingefügt.  Wie verhindern wir, dass sie ausgegeben werden?
+
+Bevor wir uns hieran machen, sei daran erinnert, dass
+Objekteigenschaften in sogenannten @emph{Schnittstellen}
+-- engl. interface -- gruppiert sind, siehe auch
+@ref{Properties found in interfaces}.  Das dient ganz einfach
+dazu, die Eigenschaften zusammenzufassen, die üblicherweise
+zusammen benötigt werden -- wenn eine davon für ein Objekt
+gilt, dann auch die anderen.  Manche Objekte brauchen die
+Eigenschaften von der einen Schnittstelle, andere von einer 
+anderen.  Die Schnittstellen, die die Eigenschaften von einem
+bestimmten Grob beinhalten, sind in der IR unten auf der
+Seite aufgelistet, die dieses Grob beschreibt.  Die Eigenschaften
+können betrachtet werden, indem die Seite der entsprechenden
+Schnittstelle geöffnet wird.
+
+Zu Information, wie man Eigenschaften von Grobs findet, siehe
+@ref{Properties of layout objects}.  Wir benutzen also jetzt
+die selbe Methode um in der IR das Layout-Objekt zu finden,
+dass für die Tatklinien zuständig ist. Über die Überschriften
+@emph{Backend} und @emph{All layout objects} kommen
+wir zu einem Layout-Objekt mit der Bezeichnung
+@code{BarLine} (engl. TaktLinie).  Seine Eigenschaften 
+beinhalten zwei, die über die Sichtbarkeit entscheiden:
+@code{break-visibility} und @code{stencil}.  
+@code{BarLine} unterstützt auch einige Schnittstellen,
+unter anderem @code{grob-interface}, wo wir eine
+@code{transparent} und eine @code{color}-Eigenschaft
+finden.  Alle können die Sichtbarkeit von Taktlinien (und
+natürlich auch die Sichtbarkeit von vielen anderen Objekten)
+beeinflussen.  Schauen wir uns diese Eigenschaften eine
+nach der anderen an.
+
+@subheading stencil
+
+@cindex Stencil-Eigenschaft
+@cindex Matrizen-Eigenschaft
+
+Diese Eigenschaft kontrolliert die Erscheinung der Taktlinien,
+indem sie das Symbol bestimmt, das ausgegeben werden soll.
+Wie bei vielen anderen Eigenschaften auch, kann sie so
+eingestellt werden, dass sie nichts ausgibt, indem ihr Wert
+auf @code{#f} (falsch) gesetzt wird.  Ein Versuch also,
+wie vorher, indem wir den impliziten Kontext (@code{Voice})
+auslassen:
+
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex stencil-Eigenschaft, Beispiel
 
-@noindent
-Um also Dynamik-Zeichen zu verschieben, muss
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override BarLine #'stencil = ##f
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
 
-@example
-\override DynamicLineSpanner #'padding = #2.0
-@end example
+Die Taktlinien werden aber immer noch angezeigt.  Was ist da
+falsch gelaufen?  Gehen Sie zurück zur IR und schauen Sie auf 
+die Seite, die die Eigenschafter für @code{BarLine} angibt.
+Oben auf der Seite steht: @qq{Barline objects are created
+by: Bar_engraver}.  Schauen Sie sich die
+@code{Bar_engraver}-Seite an.  Unten auf der Seite steht
+eine Liste der Kontexte, in denen der Takt-Engraver
+funktioniert.  Alle Kontexte sind @code{Staff}-Typen (also
+Notensystem-Typen).  Der Grund, warum der
+@code{\override}-Befehl nicht funktioniert hat, liegt
+also darin, dass das Taktlinie-Objekt (@code{BarLine}) sich nicht
+im @code{Voice}-Kontextbefindet.  Wenn der Kontext
+falsch angegeben wird, bewirkt der Befehl einfach gar
+nichts.  Keine Fehlermeldung wird ausgegeben und auch
+nichts in die Log-Datei geschrieben.  Versuchen wir also,
+den richtigen Kontext mitanzugeben:
+
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex stencil-Eigenschaft, Beispiel
 
-benutzt werden. Es ist nicht genügend Platz, um jedes Objekt aufzulisten,
-aber die gebräuchlichsten finden sich hier:
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'stencil = ##f
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
 
-@multitable @columnfractions .33 .66
-@headitem Objekttyp           @tab Objektbezeichnung
-@item Dynamikzeichen (vertikal)     @tab @code{DynamicLineSpanner}
-@item Dynamikzeichen (horizontal)   @tab @code{DynamicText}
-@item Bindebögen                      @tab @code{Tie}
-@item Phrasierungsbögen                     @tab @code{Slur}
-@item Artikulationszeichen             @tab @code{Script}
-@item Fingersatz                @tab @code{Fingering}
-@item Text, z. B. @code{^"text"}  @tab @code{TextScript}
-@item Übungs-/Textmarken    @tab @code{RehearsalMark}
-@end multitable
+@noindent
+Jetzt sind die Taktlinien wirklich verschwunden.
 
 
-@node Real music example
-@subsection Real music example
+@subheading break-visibility
 
-@untranslated
+@cindex break-visibility-Eigenschaft
+@cindex Unsichtbar machen (break-visibility)
 
+Aus der Beschreibung der Eigenschaften für @code{BarLine}
+in der IR geht hervor, dass die @code{break-visibility}-Eigenschaft
+einen Vektor mit drei Booleschen Werten benötigt. Diese
+kontrollieren jeweils, ob die Taktlinien am Ende einer Zeile,
+in der Mitte einer Zeile und am Anfang einer Zeile ausgegeben
+werden.  Wenn also alle Taktlinien unsichtbar sein sollen, wie in
+unserem Beispiel, brauchen wir den Wert @code{'#(#f #f #f)}.
+Versuchen wir es also, und berücksichtigen wir auch den
+@code{Staff}-Kontext.  Beachten Sie auch, dass Sie @code{#'#}
+vor der öffnenden Klammer schreiben müssen: 
+@code{'#} wird benötigt als Teil des Wertes, um einen Vektor zu
+signalisieren, und das erste @code{#} wird benötigt, um
+den Wert in einem @code{\override}-Befehl anzuführen.
 
-@c DEPRECATED SECTION
-@node Common tweaks
-@section Common tweaks
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex break-visibility-Eigenschaft, Beispiel
 
-Bestimmte Korrekturen sind so häufig, dass für sie schon fertige 
-angepasste Befehle bereitgestellt sind, so etwa 
- @code{\slurUp} um einen Bindebogen oberhalb anzuzeigen oder 
-@code{\stemDown} um den Notenhals nach unten zu zwingen. Diese 
-Befehle sind im Teil Alles über die Notation unter dem
-entsprechenden Abschnitt erklärt.
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
 
-Eine vollständige Liste aller Veränderungen, die für jeden Objekttypen 
-(etwa Bögen oder Balken) zur Verfügung stehen, ist in der Programmreferenz
-dargestellt. Viele Layoutobjekte benutzen jedoch gleiche Eigenschaften, 
-die benutzt werden können, um eigene Einstellungen vorzunehmen.
+@noindent
+Auch auf diesem Weg gelingt es, die Taktlinien unsichtbar zu machen.
 
-@itemize @bullet
 
-@cindex padding
-@cindex Füllung
+@subheading transparent
 
-@item
-@code{padding}-Eigenschaft kann gesetzt werden, um den Abstand zwischen 
-Symbolen über oder unter den Noten zu vergrößern oder zu verkleinern. 
-Das gilt für alle Objekte, die ein @code{side-position-interface} 
-besitzen, also unterscheiden, auf welcher Seite der Note sie sich befinden.
+@cindex transparent-Eigenschaft
+@cindex Durchsichtig machen (transparent)
 
-@lilypond[quote,fragment,relative=1,verbatim]
-c2\fermata
-\override Script #'padding = #3
-b2\fermata
-@end lilypond
+Aus den Eigenschaftsdefinitionen auf der @code{grob-interface}-Seite
+in der IR geht hervor, dass die @code{transparent}-Eigenschaft
+boolesch ist.  Mit @code{#t} (wahr) wird also ein Grob durchsichtig
+gemacht.  Im unserem Beispiel soll jetzt die Taktart durchsichtig
+gemacht werden, anstatt die Taktlinien durchsichtig zu machen.
+Wir brauchen also wieder die Grob-Bezeichnung für die Taktart.
+Auf der @qq{All layout objects}-Seite in der IR müssen wir die
+Eigenschaften des @code{TimeSignature}-Layout-Objekts suchen
+Das Objekt wird vom @code{Time_signature_engraver} erstellt,
+der sich auch im @code{Staff}-Kontext befindet und genauso das
+@code{grob-interface} unterstützt, wie Sie sich
+überzeugen können.  Der Befehl, um die Taktangabe unsichtbar zu
+machen, ist also:
 
-@lilypond[quote,fragment,relative=1,verbatim]
-% This will not work, see below:
-\override MetronomeMark #'padding = #3
-\tempo 4=120
-c1
-% This works:
-\override Score.MetronomeMark #'padding = #3
-\tempo 4=80
-d1
+@cindex Taktart, Beispiel zur Veränderung
+@cindex transparent-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.TimeSignature #'transparent = ##t
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
 @end lilypond
 
-Im zweiten Beispiel ist es sehr wichtig zu wissen, welcher Kontext 
-für bestimmte Objekte zuständig ist. Weil das 
- @code{MetronomeMark}-Objekt vom @code{Score}-Kontext gesetzt 
-wird, werden Veränderungen innerhalb des @code{Voice}-Kontextes 
-nicht berücksichtigt. Genauere Details im Kapitel
-@ruser{The \override command}.
+@noindent
+Die Taktangabe ist verschwunden, aber mit diesem Befehl wird ein
+freier Platz gelassen, wo sich die Taktangabe eigentlich befinden
+würde.  Das braucht man vielleicht für eine Schulaufgabe, in der
+die richtige Taktangabe eingefügt werden soll, aber in anderen
+Fällen ist diese Lücke nicht schön.  Um auch die Lücke zu entfernen,
+muss die Matrize (stencil) der Taktangabe auf @code{#f} (falsch)
+gesetzt werden:
 
-@cindex extra-offset
-@cindex zusätzlicher Abstand
-@cindex Abstand, zusätzlicher
+@cindex Taktart, Beispiel zur Veränderung
+@cindex stencil-Eigenschaft, Beispiel
 
-@item
-Die @code{extra-offset}-Eigenschaft verschiebt Objekte, hier ist ein 
-Zahlenpaar zur Angabe der Positionierung erforderlich. Die erste Nummer bestimmt 
-die horizontale Bewegung, eine positive Zahl bewegt das Objekt nach rechts.
-Die zweite Zahl bestimmt die vertikale Bewegung, eine positive Zahl bewegt 
-das Objekt nach oben. Die 
-@code{extra-offset}-Eigenschaft läuft auf unterster Ebene ab: Die 
-Formatierungsmaschine ist sich der Veränderungen nicht bewusst.
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.TimeSignature #'stencil = ##f
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
 
-Im folgenden Beispiel wird die zweite Fingersatzbezeichnung etwas nach 
-links verschoben und 1,8 Notenzeilenabstände nach unten:
+@noindent
+Und der Unterschied wird deutlich: hiermit wird das gesamte Objekt
+entfernt, während man mit @code{transparent} ein Objekt
+unsichtbar machen kann, es aber an seinem Platz gelassen wird.
+
+
+@subheading color
+
+@cindex color-Eigenschaft
+@cindex Farb-Eigenschaft
+
+Abschließend wollen wir die Taktlinien unsichtbar machen, indem
+wir sie weiß einfärben.  (Es gibt hier eine Schwierigkeit: die weiße
+Taktlinie übermalt manchmal die Taktlinienen, wo sie sie kreuzt, 
+manchmal aber auch nicht.  Sie können in den Beispielen unten
+sehen, dass das nicht vorhersagbar ist.  Die Einzelheiten dazu, warum
+das passiert und wie sie es kontrollieren können, werden dargestellt
+in @ruser{Painting objects white}.  Im Moment wollen wir lernen, wie
+man mit Farbe arbeitet, akzeptieren Sie bitte an dieser Stelle die
+Beschränkung.)
+
+Das @code{grob-interface} bestimmt, dass der Wert der Farb-Eigenschaft
+eine Liste ist, aber es gibt keine Erklärung, was für eine Liste das
+sein soll.  Die Liste, die benötigt wird, ist eine Liste mit Werten in
+internen Einheiten, aber damit Sie nicht wissen müssen, wie diese
+aussehen, gibt es mehrere Wege, Farben anzugeben.  Der erste
+Weg ist es, @qq{normale} Farben zu benutzen, wie sie in der
+Tabelle in @ruser{List of colors} aufgelistet sind.  Beachten Sie,
+dass die Bezeichnungen auf English sind.  Um die Taktlinien auf
+weiß zu setzen, können Sie schreiben:
+
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex color-Eigenschaft, Beispiel
 
-@lilypond[quote,fragment,relative=1,verbatim]
-\stemUp
-f-5
-\once \override Fingering
-    #'extra-offset = #'(-0.3 . -1.8)
-f-5
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'color = #white
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
 @end lilypond
 
-@item
-Die Verwendung der @code{transparent}-Eigenschaft druckt das entsprechende Objekt 
-mit @qq{unsichtbarer Druckerschwärze}: Das Objekt wird nicht angezeigt, aber 
-sein Verhalten bleibt bestehen. Das Objekt nimmt weiterhin Platz ein, es nimmt 
-teil an Überschneidungen und deren Auflösung durch das Programm, Bögen und Balken 
-können daran angebunden werden.
-
-@cindex transparente Objekte
-@cindex Entfernen von Objekten
-@cindex Verstecken von Objekten
-@cindex unsichtbare Objekte
-Das nächste Beispiel zeigt, wie man unterschiedliche Stimmen mit 
-Bindebögen verbinden kann. Normalerweise können Bindebögen nur 
-zwei Noten der selben Stimme verbinden. Indem aber ein Bogen in einer 
-anderen Stimme erstellt wird,
+@noindent
+und die Taktlinien verschwinden in der Tat.  Beachten Sie,
+dass @emph{white} nicht mit einem Apostroph angeführt
+wird -- es ist kein Symbol, sondern eine @emph{Funktion}.
+Wenn sie aufgerufen wird, stellt sie eine Liste mit internen
+Werten zu Verfügung, mit welcher die Farbe auf weiß
+gestellt wird.  Die anderen Farben in der Liste sind auch
+Funktionen.  Um sich zu überzeugen, dass der Befehl auch
+wirklich funktioniert, können Sie die Farbe auf eine der
+anderen Funktionen dieser Liste abändern.
+
+@cindex Farben, X11
+@cindex X11-Farben
+@funindex x11-color
+
+Die zweite Art die Farbe zu ändern geschieht, indem die Liste
+der X11-Farbbezeichnungen einzusetzen, siehe die zweite Liste
+in @ruser{List of colors}.  Diesen Farben muss jedoch eine
+andere Funktion vorangestellt werden, die die X11-Farbbezeichnungen
+in interne Werte konvertiert: 
+@code{x11-color}.  Das geschieht wie folgt:
+
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex color-Eigenschaft, Beispiel
 
-@lilypond[quote,fragment,relative=2]
-<< {
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'color = #(x11-color 'white)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
 @end lilypond
 
 @noindent
-und dann der erste Hals nach oben unsichtbar gemacht wird, scheint der 
-Bindebogen die Stimme zu wechseln:
-
+In diesem Fall hat die Funktion @code{x11-color} ein Symbol
+als Argument, darum muss dem Symbol ein Apostroph vorangestellt
+und beide zusammen in Klammern gesetzt werden.
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
-@end lilypond
+@cindex RGB-Farben
+@cindex Farben, RGB
+@funindex rgb-color
 
-Damit der Hals den Bogen nicht zu sehr verkleinert, wird seine 
-Länge (@code{length}) auf den Wert @code{8} gesetzt:
+Es gibt noch eine dritte Funktion, die RGB-Werte in die
+internen Werte übersetzt -- die @code{rgb-color}-Funktion.  Sie
+braucht drei Argumente, um die Stärke von Rot, Grün und
+Blau darzustellen. Die Werte befinden sich zwischen 
+0 und 1.  Um also die Farbe Rot darzustellen, muss der
+Wert der Funktion lauten: @code{(rgb-color 1 0 0)}, weiß
+würde sein: @code{(rgb-color 1 1 1)}.
 
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex color-Eigenschaft, Beispiel
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  \once \override Stem #'length = #8
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.BarLine #'color = #(rgb-color 1 1 1)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
 @end lilypond
 
-@end itemize
+Schließlich gibt es noch eine Grauskala, die zu den X11-Farben
+gehört.  Sie reicht von schwarz (@code{'grey0'}) bis
+weiß (@code{'grey100}), in Einserschritten.  Wir wollen das
+illustrieren, indem alle Layout-Objekte im Beispiel
+verschiede Grauschattierungen erhalten:
+
+@cindex StaffSymbol, Beispiel zur Veränderung
+@cindex TimeSignature, Beispiel zur Veränderung
+@cindex Schlüssel, Beispiel zur Veränderung
+@cindex Notenhals, Beispiel zur Veränderung
+@cindex Taktlinie, Beispiel zur Veränderung
+@cindex Farbeigenschaft, Beispiel
+@cindex x11-Farben, Beispiel
+@cindex Taktlinien, Beispiel zur Veränderung
+@cindex Taktart, Beispiel zur Veränderung
+@cindex Clef, Beispiel zur Veränderung
+@cindex Stem, Beispiel zur Veränderung
+@cindex NoteHead, Beispiel zur Veränderung
+@cindex Notenkopf, Beispiel zur Veränderung
 
-@cindex Veränderungen von Abständen
-@cindex Optimierung von Abständen
-@cindex Abstände
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 12/16
+  \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
+  \override Staff.TimeSignature #'color = #(x11-color 'grey60)
+  \override Staff.Clef          #'color = #(x11-color 'grey60)
+  \override Voice.NoteHead      #'color = #(x11-color 'grey85)
+  \override Voice.Stem          #'color = #(x11-color 'grey85)
+  \override Staff.BarLine       #'color = #(x11-color 'grey10)
+  c4 b8 c d16 c d8 |
+  g, a16 b8 c d4 e16 |
+  e8
+}
+@end lilypond
 
-Abstände in LilyPond werden in Notenzeilenabständen
-(@code{staff-space}) gemessen, während die meisten Dicke-Eigenschaften 
-auf mit der Notenliniendicke korrespondieren. Eine Eigenschaften 
-verhalten sich anders, etwa die Dicke von Balken ist an die 
-Notenzeilenabstände gekoppelt. Mehr Information findet sich 
-im relevanten Teil der Programmreferenz.
+@noindent
+Beachten Sie die Kontexte, die mit jedem einzelnen Layout-Objekt
+verbunden sind.  Es ist wichtig, den richtigen Kontext einzusetzen,
+damit die Befehle funktionieren.  Denken Sie daran, dass der 
+Kontext sich daran orientiert, wo sich der entsprechende
+Engraver befindet.  Den Standardkontext für Engraver finden
+Sie, indem Sie beim Layout-Objekt beginnen, zum Engraver
+gehen, der es produziert und auf der Seite des Engravers in der
+IR finden Sie Information, in welchem Kontext sich der
+Engraver normalerweise befindet.
 
-@node Further tweaking
-@section Further tweaking
 
-@menu
-* Other uses for tweaks::       
-* Using variables for tweaks::  
-* Other sources of information::  
-* Avoiding tweaks with slower processing::  
-* Advanced tweaks with Scheme::  
-@end menu
+@node Size of objects
+@subsection Size of objects
 
-@node Other uses for tweaks
-@subsection Other uses for tweaks
+@cindex Veränderung von Objektgrößen
+@cindex Objektgrößen, verändern
+@cindex Größen von Objekten verändern
 
-@untranslated
+Als Startpunkt wollen wir wieder ein früheres Beispiel
+wählen, siehe @ref{Nesting music expressions}. Hier wurde
+ein neues Notensystem erstellt, wie man es für ein @rglos{ossia}
+braucht.
 
-@node Using variables for tweaks
-@subsection Using variables for tweaks
+@cindex alignAboveContext-Eigenschaft, Beispiel
+@cindex über dem System anordnen, Beispiel
+@cindex @code{\with}-Beispiel
 
-@untranslated
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+       \relative g' {
+         r4 g8 g c4 c8 d |
+         e4 r8
+         <<
+           { f c c }
+           \new Staff \with {
+             alignAboveContext = #"main" }
+           { f8 f c }
+         >>
+         r4 |
+       }
+     }
+@end lilypond
 
-@node Other sources of information
-@subsection Other sources of information
+Ossia-Systeme werden normalerweise ohne Schlüssel und Taktangabe
+geschrieben, und sie werden etwas kleiner als das Hauptsystem gesetzt.
+Wie man Schlüssel und Taktangabe entfernt, wissen wir schon:
+wir setzen den Stencil von beiden auf @code{#f}:
 
-Die Programmreferenz enthält sehr viel Information über LilyPond, aber 
-noch mehr Information findet sich in den internen 
-LilyPond-Dateien.
+@cindex alignAboveContext-Eigenschaft, Beispiel
+@cindex über dem System anordnen, Beispiel
+@cindex @code{\with}-Beispiel
+@cindex stencil-Eigenschaft, Beispiel
+@cindex Schlüssel, Beispiel zur Veränderung
+@cindex Taktart, Beispiel zur Veränderung
 
-Eine Standardeinstellungen (wie die Definitionen für den Kopf (@code{\header} 
-sind als @code{.ly}-Datei gespeichert. Andere Einstellungen 
-(wie die Definition für Beschriftung (@code{markup}) sind 
-als @code{.scm} (Scheme)-Datei gespeichert. Eine nähere Erklärung 
-geht über den Rahmen dieses Handbuches hinaus. Der Hinweis 
-scheint aber angebracht, dass es grundlegende technische 
-Kenntnis und sehr viel Zeit  erfordert, diese Dateien zu verstehen.
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = #"main"
+      }
+      {
+        \override Staff.Clef #'stencil = ##f
+        \override Staff.TimeSignature #'stencil = ##f
+        { f8 f c }
+      }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+wobei ein zusätzliches Klammerpaar nach der @code{\with}-Konstruktion
+erforderlich ist um sicherzugehen, dass die Modifikation und 
+die Noten sich auch auf das Ossia-System beziehen.
+
+Was für einen Unterschied macht es, ob man den @code{Staff}-Kontext
+mit @code{\with} verändert, oder ob man die Stencils mit 
+@code{\override} beeinflusst?  Der größte Unterschied liegt
+darin, dass Änderungen, die mit @code{\with} eingeführt werden,
+während der Erstellung des Kontextes miterzeugt werden und
+als @strong{Standardeinstellungen} für diesen Kontext während seiner
+gesamten Dauer gelten, während @code{\set}- oder @code{\override}-Befehle
+dynamisch in die Noten eingebettet werden -- sie führen die
+Änderungen synchron mit einem bestimmten Zeitpunkt in 
+der Musik aus.  Wenn die Änderungen mit  @code{\unset}
+oder @code{\revert} rückgängig gemacht werden, werden
+wieder die Standardwerte eingesetzt, die also die sind, die
+mit einer @code{\with}-Konstruktion definiert wurden, oder
+wenn hier keine definiert worden sind, die normalen
+Standardwerte.
+
+Manche Kontexteigenschaften können nur ein einer
+@code{\with}-Konstruktion verändert werden.  Das sind
+Eigenschaften, die nicht sinnvoll mitten im System geändert
+werden können.  @code{alignAboveContext} (Orientierung
+über dem Kontext) und die Parallele,
+@code{alignBelowContext} (Orientierung unter dem Kontext)
+sind zwei derartige Eigenschaften -- wenn das Notensystem
+einmal erstellt wurde, ist die Orientierung schon bestimmt
+und es wäre nicht sinnvoll, sie später zu ändern.
+
+Die Standardwerte für Layout-Objekt-Eigenschaften können
+auch in der @code{\with}-Konstruktion gesetzt werden.
+Benutzen Sie einfach den normalen @code{\override}-Befehl
+ohne den Kontext, denn der Kontext ist eindeutig definiert
+durch die Stelle, an welcher sich @code{\with} befindet.
+Wenn an dieser Stelle ein Kontext angegeben wird, produziert LilyPond
+eine Fehlermeldung.
+
+Das obige Beispiel könnte also auch so aussehen:
+
+@cindex alignAboveContext-Eigenschaft, Beispiel
+@cindex über dem System anordnen, Beispiel
+@cindex @code{\with}-Beispiel
+@cindex stencil-Eigenschaft, Beispiel
+@cindex Schlüssel, Beispiel zur Veränderung
+@cindex Taktart, Beispiel zur Veränderung
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = #"main"
+        % Don't print clefs in this staff
+        \override Clef #'stencil = ##f
+        % Don't print time signatures in this staff
+        \override TimeSignature #'stencil = ##f
+      }
+        { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Nun können wir daran gehen, auch wirklich die
+Größe der Objekte zu ändern.
+
+Manche Layout-Objekte werden aus Glyphen erstellt,
+die sich in einer Schriftartdatei befinden.  Dazu gehören
+die Notenköpfe, Versetzungszeichen, Text, Schlüssel,
+Taktbezeichnung, Dynamik und Gesangstext.  Ihre
+Größe wird verändert, indem die
+@code{font-size}- (Schriftgröße)-Eigenschaft geändert wird, wie
+wir bald sehen werden.  Andere Layout-Objekte, wie
+Bögen -- oder allgemein Strecker-Objekte -- werden
+individuell gezeichnet, es gibt dazu also keine 
+@code{font-size}, die mit ihnen verknüpft wäre.
+Weitere Eigenschaften wie die Länge von Hälsen und
+Taktlinien, Dicke von Balken und anderen Linien und 
+der Abstand der Notenlinien voneinander müssen auf
+spezielle Weise verändert werden.
+
+In unserem Ossia-Beispiel wollen wir zuerst die
+Schriftgröße verändern.  Das ist auf zwei Arten möglich. 
+Entweder wir ändern die Schriftgröße für jede Objektart
+mit einem eigenen Befehl, etwa:
+
+@example
+\override NoteHead #'font-size = #-2
+@end example
+
+@noindent
+oder wir ändern die Größe aller Schriftobjekte, indem wir
+den Wert einer besonderen Eigenschaft, @code{fontSize},
+mit dem @code{\set}-Befehl bestimmen oder sie in 
+eine @code{\with}-Konstruktion (ohne @code{\set} einschließen.
+
+@example
+\set fontSize = #-2
+@end example
+
+Beide Beispiele reduzieren die Schriftgröße um zwei Schritte
+im Vergleich zum vorigen Wert, wobei jeder Schritt die
+Schriftgröße um etwa 12% verändert.
+
+Setzen wir das also in unserem Ossia-Beispiel ein:
+
+@cindex alignAboveContext-Eigenschaft, Beispiel
+@cindex über dem System anordnen, Beispiel
+@cindex @code{\with}-Beispiel
+@cindex stencil-Eigenschaft, Beispiel
+@cindex Schlüssel, Beispiel zur Veränderung
+@cindex Taktart, Beispiel zur Veränderung
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = #"main"
+        \override Clef #'stencil = ##f
+        \override TimeSignature #'stencil = ##f
+        % Reduce all font sizes by ~24%
+        fontSize = #-2
+      }
+        { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Das sieht aber immer noch nicht richtig aus.  Die Notenköpfe
+und Fähnchen sind kleiner, aber die Hälse im Vergleich
+dazu zu lang und die Notenlinien zu weit auseinander.
+Sie müssen auch proportional zur Schriftart verkleinert
+werden.  Der nächste Abschnitt behandelt diese Anpassung.
+
+
+@node Length and thickness of objects
+@subsection Length and thickness of objects
+
+@cindex Entfernungen
+@cindex Dicke
+@cindex Länge
+@funindex magstep
+@cindex Größe, verändern
+@cindex Notenhalslänge, verändern
+@cindex Hälse, Länge verändern
+@cindex Notenlinien, Länge verändern
+
+Abstände und Längen werden in LilyPond üblicherweise
+in Notenlinienabständen (engl. staff-spaces) gemessen. 
+Das ist der Abstand zwischen zwei Notenlinien im System.
+Die meisten Dicken (engl. thickness) dagegen werden in
+einer internen Einheit Linien-Dicke (engl. line-thickness)
+gemessen.  Die Linien von Dynamikklammern zum Beispiel
+haben standardmäßig eine Dicke von einer Einheit
+@code{line-thickness}, während die Dicke eines
+Notenhalses 1,3 ist.  Beachten Sie jedoch, dass sich
+manche Dicken anders verhalten: die Dicke von
+Balken etwa wird in Notenlinienabständen gemessen.
+
+Wie also werden Längen skaliert um der Schriftgröße
+zu entsprechen?  Das kann mit einer besonderen Funktion
+@code{magstep} vorgenommen werden, die genau für
+diesen Zweck vorhanden ist.  Sie nimmt ein Argument auf,
+die Änderung der Schriftgröße (#-2 im obigen Beispiel)
+und gibt einen Skalierungsfaktor aus, der dazu dient,
+Objekte proportionell zueinander zu verändern.  So wird
+sie benutzt:
+
+@cindex alignAboveContext-Eigenschaft, Beispiel
+@cindex über dem System anordnen, Beispiel
+@cindex @code{\with}-Beispiel
+@cindex stencil-Eigenschaft, Beispiel
+@cindex Schlüssel, Beispiel zur Veränderung
+@cindex Taktart, Beispiel zur Veränderung
+@cindex Notenlinienabstände verändern
+@cindex staff-space-Eigenschaft verändern
+@cindex magstep-Funktion, Beispiel
+@cindex Schriftart-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = #"main"
+        \override Clef #'stencil = ##f
+        \override TimeSignature #'stencil = ##f
+        fontSize = #-2
+        % Reduce stem length and line spacing to match
+        \override StaffSymbol #'staff-space = #(magstep -2)
+      }
+        { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+Da die Länge eines Halses und viele andere Längeneigenschaften
+relativ zum Wert des Notenlinienabstands (@code{staff-space})
+errechnet werden, werden sie auch automatisch verkleinert.
+Das wirkt sich jedoch nur auf die vertikale Skalierung des Ossias
+aus -- die horizontale Skala ist durch das Layout des Haupsystems
+bestimmt und wird also von diesen Größenänderungen nicht
+betroffen.  Wenn natürlich die Größe der gesamten Noten reduziert
+würde, würde sich auch die horizontalen Abstände ändern.  Dass
+wird später im Layout-Abschnitt betrachtet.
+
+Mit dieser Änderung ist unser Ossia fertig.  Die Größen und Längen
+aller anderen Objekte können auf analoge Weise geändert
+werden.
+
+Für kleine Größenänderungen, wie in dem obigen Beispiel,
+braucht die Dicke der verschiedenen Linien, wie Taktlinien,
+Notenlinien, Balken, Dynamikklammern usw. normalerweise
+keine spezielle Anpassung.  Wenn die Dicke eines bestimmten
+Layout-Objektes angepasst werden muss, kann man das erreichen,
+indem die entsprechende @code{thickness}-Eigenschaft des
+Objekts mit @code{\override} verändert wird.  Ein Beispiel,
+wie man die Dicke von Bögen ändert, wurde schon gezeigt,
+siehe @ref{Properties of layout objects}.  Die Dicke aller
+gezeichneten Objekte (die also nicht aus einer Schriftart 
+stammen) können auf gleiche Weise geändert werden.
+
+
+@node Placement of objects
+@section Placement of objects
+
+@menu
+* Automatic behavior::
+* Within-staff objects::
+* Outside-staff objects::
+@end menu
+
+
+@node Automatic behavior
+@subsection Automatic behavior
+
+@cindex within-staff-Objekte
+@cindex outside-staff-Objekte
+@cindex Objekte innerhalb des Notensystems
+@cindex Objekte außerhalb des Notensystems
+
+Es gibt Objekte der Notation, die zum Notensystem gehören, und
+andere, die außerhalb des Systems gesetzt werden müssen.  Sie
+werden @code{within-staff}-Objekte bzw.
+@code{outside-staff}-Objekte genannt.
+
+@code{within-staff}-Objekte werden innerhalb des Notensystems
+(engl. staff) gesetzt: Notenköpfe, Hälse, Versetzungszeichen
+usw.  Ihre Position ist üblicherweise durch die notierte Musik
+bestimmt -- sie werden vertikal auf bestimmten Linien notiert
+oder sind an andere Objekte gebunden, die vertikal festgelegt
+sind.  Kollisionen von Notenköpfen, Hälsen und Versetzungszeichen
+werden normalerweise automatisch vermieden.  Es gibt 
+Befehle, um dieses automatische Verhalten zu verändern, wie
+unten gezeigt werden soll.
+
+Objekte, die außerhalb des Notensystems gesetzt werden, sind
+unter Anderem Übungsmarkierungen, Text und Dynamikzeichen.
+LilyPonds Regel für ihre vertikale Positionierung lautet, sie so nah wie
+möglich am Notensystem zu setzen, aber nicht so nah, dass
+sie mit anderen Objekten kollidieren.  Dabei wird die
+@code{outside-staff-priority}-(Priorität außerhalb des Notensystems)-Eigenschaft
+eingesetzt, um die Reihenfolge zu bestimmen, in denen Objekte gesetzt werden 
+sollen.
+
+Zuerst werden alle Innersystemobjekte von LilyPond gesetzt.
+Dann werden die Objekte außerhalb des Systems nach
+ihrer 
+@code{outside-staff-priority} geordnet.  Die @code{outside-staff}-Objekte
+werden dann nacheinander gesetzt, mit der niedrigsten
+Priorität beginnend, und so gesetzt, dass sie nicht mit anderen
+Objekten kollidieren, die schon gesetzt wurden.  Wenn also zwei
+@code{outside-staff}-Objekte um den selben Platz streiten,
+wird das mit der geringeren @code{outside-staff-priority} näher
+am System gesetzt werden.  Wenn zwei Objekte die selbe Priorität
+haben, wird das näher am System gesetzt, welches zuerst
+auftritt.
+
+Im folgenden Beispiel haben alle Textbeschriftungen die gleiche
+Priorität (weil sie nicht explizit gesetzt worden ist).  Beachten Sie,
+dass @qq{Text3} wieder dicht am System gesetzt wurde, weil
+er unter @qq{Text2} passt.
+
+@cindex Textbeschriftungsbeispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+c2^"Text1"
+c^"Text2"
+c^"Text3"
+c^"Text4"
+@end lilypond
+
+Notensysteme werden in den Standardeinstellungen auch so dicht
+beeinander gesetzt wie es möglich ist (mit einem minimalen Abstand).
+Wenn Noten sehr weit aus einem System herausragen, zwingen sie
+das nächste System weiter weg, wenn eine Kollision drohen würde.
+Im nächsten Beispiel sehen Sie, wie Noten auf zwei Systemen
+@qq{ineinander greifen}.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \new Staff {
+    \relative c' { c a, }
+  }
+  \new Staff {
+    \relative c'''' { c a, }
+  }
+>>
+@end lilypond
+
+
+@node Within-staff objects
+@subsection Within-staff objects
+
+Es wurde schon gezeigt, wie die Befehle @code{\voiceXXX} die Richtung
+von Bögen, Fingersatz und allen anderen Objekten beeinflusst,
+die von der Richtung der Notenhälsen abhängen.  Diese Befehle
+sind nötig, wenn polyphone Musik geschrieben wird, damit sich 
+die einzelnen Melodielinien klar abzeichnen.  Es kann aber von Zeit
+zu Zeit nötig sein, dieses automatische Verhalten zu verändern.  Das
+kann entweder für ganze Abschnitte, aber genauso auch nur für eine
+einzelne Note vorgenommen werden.  Die Eigenschaft, die die Richtung
+bestimmt, ist die @code{direction}-Eigenschaft jedes Layout-Objekts.
+Es soll erst erklärt werden, was sie bewirkt und dann eine Anzahl
+an fertigen Befehlen für die üblicheren Situationen präsentiert werden,
+mit denen Sie gleich loslegen können.
+
+Manche Layout-Objekte, wie Legato- und Bindebögen, biegen sich
+oder zeigen entweder nach oben oder nach unten, andere, wie
+Hälse und Fähnchen, verändern auch die Position rechts oder links,
+je nach der Richtung, in die sie zeigen.  Das wird automatisch 
+berücksichtigt, wenn die @code{direction}-Eigenschaft verändert
+wird.
+
+@funindex down
+@funindex up
+@funindex center
+@funindex neutral
+@cindex hoch-Eigenschaft
+@cindex runter-Eigenschaft
+@cindex zentriert-Eigenschaft
+@cindex neutral-Eigenschaft
+
+Das folgende Beispiel zeigt im ersten Takt die Standardeinstellung
+für Hälse, die bei hohen Noten nach unten zeigen und bei tiefen
+noten nach oben. Im nächsten Takt werden alle Hälse nach unten
+gezwungen, im dritten Takt nach oben, und im vierten wird wieder
+der Standard eingestellt.
+
+@cindex Notenhals, Beispiel zur Veränderung
+@cindex Richtungseigenschaft, Beispiel
+
+@lilypond[quote,verbatim,relative=2]
+a4 g c a
+\override Stem #'direction = #DOWN
+a g c a
+\override Stem #'direction = #UP
+a g c a
+\revert Stem #'direction
+a g c a
+@end lilypond
+
+Hier werden die Konstanten @code{DOWN} und @code{UP}
+eingesetzt.  Sie haben die Werte @code{-1} bwz. @code{+1}, und
+diese numerischen Werte können ebenso benutzt werden.  Auch
+der Wert @code{0} kann in manchen Fällen benutzt werden.  Er
+bedeutet für die Hälse das gleiche wie @code{UP}, für einige
+andere Objekte jedoch @qq{zentiert}.  Es gibt hierzu die Konstante
+@code{CENTER}, die den Wert @code{0} hat.
+
+Es gibt aber einfachere Befehle, die normalerweise benutzt werden.
+Hier eine Tabelle der häufigsten.  Die Bedeutung des Befehls wird
+erklärt, wenn sie nicht selbsverständlich ist.
+
+@multitable @columnfractions .2 .2 .25 .35
+@headitem Runter/Links
+  @tab Rauf/Rechts
+  @tab Rückgängig
+  @tab Wirkung
+@item @code{\arpeggioArrowDown}
+  @tab @code{\arpeggioArrowUp}
+  @tab @code{\arpeggioNormal}
+  @tab Arpeggio mit Pfeil nach unten, oben oder ohne Pfeil
+@item @code{\dotsDown}
+  @tab @code{\dotsUp}
+  @tab @code{\dotsNeutral}
+  @tab Richtung der Verschiebung eines Punktes, um Notenlinien zu vermeiden
+@item @code{\dynamicDown}
+  @tab @code{\dynamicUp}
+  @tab @code{\dynamicNeutral}
+  @tab Position der Dynamik-Bezeichnung relativ zum System
+@item @code{\phrasingSlurDown}
+  @tab @code{\phrasingSlurUp}
+  @tab @code{\phrasingSlurNeutral}
+  @tab Befehl für Richtung von Phrasierungsbögen
+@item @code{\slurDown}
+  @tab @code{\slurUp}
+  @tab @code{\slurNeutral}
+  @tab Befehl für Richtung von Legatobögen
+@item @code{\stemDown}
+  @tab @code{\stemUp}
+  @tab @code{\stemNeutral}
+  @tab Befehl für Richtung von Hälsen
+@item @code{\textSpannerDown}
+  @tab @code{\textSpannerUp}
+  @tab @code{\textSpannerNeutral}
+  @tab Position von Textbeschrifungen, die als Strecker eingegeben werden
+@item @code{\tieDown}
+  @tab @code{\tieUp}
+  @tab @code{\tieNeutral}
+  @tab Befehl für Richtung von Bindebögen
+@item @code{\tupletDown}
+  @tab @code{\tupletUp}
+  @tab @code{\tupletNeutral}
+  @tab Befehl für Richtung von Klammern/Zahlen der N-tolen
+@end multitable
+
+Diese vordefinierten Befehl können allerdings @strong{nicht}
+zusammen mit @code{\once} benutzt werden.  Wenn Sie die
+Wirkung eines Befehl auf eine einzige Noten begrenzen wollen,
+müssen Sie den entsprechenden
+@code{\once \override}-Befehl benutzen oder den definierten
+Befehl, gefolgt von dem entsprechenden neutralisierenden
+@code{xxxNeutral}-Befehl nach der Note.
+
+
+@subheading Fingering
+
+@cindex Fingersatz, Positionierung
+@cindex Fingersatz, Akkorde
+
+Die Positionierung von Fingersatz kann auch durch den Wert
+seiner @code{direction}-Eigenschaft beeinflusst werden, aber
+eine Veränderung von  @code{direction} hat keinen Einfluss auf
+Akkorde. es gibt auch hier
+besondere Befehle, mit denen der Fingersatz von einzelnen
+Noten in Akkorden kontrolliert werden kann, wobei mögliche
+Positionen über, unter der Note und rechts bzw. links von
+ihr sind.
+
+Zunächst die Wirkungsweise von @code{direction} auf
+den Fingersatz: im ersten Takt der Standard, dann
+die Wirkung von @code{DOWN} (runter) und @code{UP}
+(hinauf).
+
+@cindex Fingersatz, Beispiel zur Veränderung
+@cindex direction-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim,relative=2]
+c-5 a-3 f-1 c'-5
+\override Fingering #'direction = #DOWN
+c-5 a-3 f-1 c'-5
+\override Fingering #'direction = #UP
+c-5 a-3 f-1 c'-5
+@end lilypond
+
+Eine Beeinflussung der @code{direction}-Eigenschaft ist jedoch 
+nicht die einfachste Art, Fingersatzbezeichnungen manuell über oder
+unter das System zu setzen.  Normalerweise bietet es sich an,
+@code{_} oder @code{^} anstelle von @code{-} vor der Fingersatz-Zahl
+zu benutzen.  Hier das vorherigen Beispiel mit dieser Methode:
+
+@cindex Fingersatz-Beispiel
+
+@lilypond[quote,verbatim,relative=2]
+c-5 a-3 f-1 c'-5
+c_5 a_3 f_1 c'_5
+c^5 a^3 f^1 c'^5
+@end lilypond
+
+Die @code{direction}-Eigenschaft wirkt sich nicht auf
+Akkorde aus, während die Präfixe @code{_} und @code{^} funktionieren.
+Standardmäßig wird der Fingersatz automatisch entweder
+über oder unter dem Akkord gesetzt:
+
+@cindex Fingersatz-Beispiel
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3>
+<c-5 g-3 e-2>
+<c-5 g-3 e-2 c-1>
+@end lilypond
+
+@noindent
+aber das kann manuell geändert werden, um einzelne Fingersatzanweisungen
+nach oben oder unten zu zwingen:
+
+@cindex Fingersatz-Beispiel
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3 e-2 c-1>
+<c^5 g_3 e_2 c_1>
+<c^5 g^3 e^2 c_1>
+@end lilypond
+
+Noch bessere Kontrolle über die Positionierung von Fingersatz für
+einzelne Noten in einem Akkord ist mit dem
+@code{\set fingeringOrientations}-Befehl möglich.  Die Syntax
+lautet:
+
+@example
+@code{\set fingeringOrientations = #'([up] [left/right] [down])}
+@end example
+
+@noindent
+@code{\set}wird benutzt, weil @code{fingeringOrientations} eine
+Eigenschaft des @code{Voice}-Kontextes ist, erstellt und eingesetzt
+vom @code{New_fingering_engraver}.
+
+Die Eigenschaft kann als Wert eine Liste mit einem bis drei Einträgen
+haben.  Damit wird bestimmt, ob Fingersatz oberhalb gesetzt
+werden kann (wenn @code{up} in der Liste auftaucht), darunter
+(wenn@code{down} auftaucht), links (wenn @code{left} auftaucht)
+oder rechts (wenn @code{right} auftaucht).  Wenn andererseits
+ein Wert nicht auftaucht, wir auch kein Fingersatz in dieser Richtung
+gesetzt.  LilyPond nimmt diese Beschränkung als Bedingung und
+errechnet die besten Positionen für die Noten des nächsten Akkordes.
+Die seitliche Positionierung kann nur auf einer Seite des Akkordes
+geschehen, nicht auf beiden gleichzeitig, es kann also nur entweder
+@code{left} oder @code{right} auftreten, nicth beide gleichzeitig.
+
+@warning{Damit eine einzelne Note mit diesem Befehl beeinflusst werden
+kann, muss sie als ein @qq{Ein-Noten-Akkord} geschrieben
+werden, indem einfache spitze Klammern um die Note positioniert
+werden.}
+
+Hier ein paar Beispiele:
+
+@cindex Fingersatz-Beispiel
+@cindex @code{\set}, Benutzungsbeispiel
+@cindex fingerOrientations-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim,relative=1]
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left down)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(right)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+@end lilypond
+
+@noindent
+Wenn die Fingersatzbezeichnung zu gedrungen aussieht,
+kann auch die Schriftgröße (@code{font-size}) verringert
+werden.  Der Standardwert kann aus dem
+@code{Fingering}-Objekt in der IR entnommen werden,
+er ist @code{-5}, versuchen wir es also mit @code{-7}.
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\override Fingering #'font-size = #-7
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left down)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(right)
+<f-2>
+< c-1  e-2 g-3 b-5 > 4
+@end lilypond
 
-@itemize @bullet
 
-@item Linux: @file{@var{installdir}/lilypond/usr/share/lilypond/current/}
 
-@item OS X:
-@file{@var{installdir}/LilyPond.app/Contents/Resources/share/lilypond/current/}.
-Um diese Ordner anzuschauen, wechseln Sie entweder mit @code{cd} im Terminal 
-zu der Adresse oder klicken Sie mit der rechten Maustaste auf das LilyPond-Symbol 
-und wählen Sie @q{Show Package Contents}.
+@node Outside-staff objects
+@subsection Outside-staff objects
+
+Objekte außerhalb des Notensystems werden automatisch gesetzt,
+um Kollisionen zu vermeiden.  Objekten mit einem geringeren
+Prioritätswert der Eigenschaft @code{outside-staff-priority}
+werden näher an das System gesetzt, und andere Objekte außerhalb
+des Systems werden dann soweit vom System entfernt gesetzt, dass
+Zusammenstöße vermieden werden.  Die
+@code{outside-staff-priority}-Eigenschaft ist im
+@code{grob-interface} definiert und ist also eine Eigenschaft
+von allen Layout-Objekten.  Standardmäßig ist sie für alle Objekte
+auf falsch (@code{#f}) gesetzt; dieser Wert wird in einen numerischen
+Wert dem Objekt entsprechend geändert, wenn das Objekt für die
+Notenausgabe erstellt wird.  Die Tabelle unten zeigt die 
+Standardwerte für die meistbenutzten @code{outside-staff}-Objekte,
+die den Voreinstellungen nach im
+@code{Staff}- oder @code{Voice}-Kontext gesetzt werden.
+
+@multitable @columnfractions .3 .3 .3
+@headitem Layout-Objekt        
+  @tab Priorität
+  @tab Kontrolliert Position von:
+@item @code{MultiMeasureRestText}
+  @tab @code{450}
+  @tab Text über Ganztaktpausen
+@item @code{TextScript}
+  @tab @code{450}
+  @tab Textbeschriftung
+@item @code{OttavaBracket}
+  @tab @code{400}
+  @tab Ottava (Oktavierungsklammern)
+@item @code{TextSpanner}
+  @tab @code{350}
+  @tab Text-Strecker
+@item @code{DynamicLineSpanner}
+  @tab @code{250}
+  @tab Alle Dynamik-Bezeichnungen
+@item @code{VoltaBracketSpanner}
+  @tab @code{100}
+  @tab Volta-Klammern
+@item @code{TrillSpanner}
+  @tab @code{50}
+  @tab Triller-Strecker
+@end multitable
+
+Hier ein Beispiel, das die Standardpositionierung von einigen
+Objekten zeigt.
 
-@item Windows: @file{@var{installdir}/LilyPond/usr/share/lilypond/current/}
+@cindex Text-Strecker
+@cindex Text-Spanner
+@funindex \startTextSpan
+@funindex \stopTextSpan
+@funindex startTextSpan
+@funindex stopTextSpan
+@cindex Ottava-Klammer
+@cindex Oktavierungsklammer
+
+@cindex TextSpanner, Beispiel zur Veränderung
+@cindex bound-details-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+% Set details for later Text Spanner
+\override TextSpanner #'(bound-details left text)
+    = \markup { \small \bold Slower }
+% Place dynamics above staff
+\dynamicUp
+% Start Ottava Bracket
+\ottava #1
+c' \startTextSpan
+% Add Dynamic Text
+c\pp
+% Add Dynamic Line Spanner
+c\<
+% Add Text Script
+c^Text
+c c
+% Add Dynamic Text
+c\ff c \stopTextSpan
+% Stop Ottava Bracket
+\ottava #0
+c, c c c
+@end lilypond
+
+Dieses Beispiel zeigt auch, wie man Text-Strecker erstellt, d.h.
+Text mit Bindestrichen, der sich über eine bestimmte Länge
+erstreckt.  Der Strecker beginnt mit dem
+@code{\startTextSpan}-Befehl und endet mit dem
+@code{\stopTextSpan}-Befehl, und das Format des Textes
+wird mit dem @code{\override TextSpanner}-Befehl bestimmt.
+Mehr Einzelheiten siehe @ruser{Text spanners}.
+
+Im Beispiel wird auch gezeigt, wie Oktavierungsklammern
+(Ottava) erstellt werden.
+
+@cindex Taktzahlposition verändern
+@cindex Verändern der Taktzahlposition
+@cindex Position der Taktzahl, verändern
+@cindex Metronom-Bezeichnungsposition verändern
+@cindex Verändern der Metronom-Bezeichnungsposition
+@cindex Übungszeichenposition verändern
+@cindex Verändern der Übungszeichenposition
+
+Beachten Sie, dass Taktnummern, Metronombezeichnungen
+und Übungszeichen nicht gezeigt werden.  Sie werden
+standardmäßig im @code{Score}-(Partitur)-Kontext
+erstellt und ihre @code{outside-staff-priority} wird
+in Bezug auf die Layout-Objekte, die im @code{Staff}-Kontext
+erstellt werden, ignoriert.  Wenn Sie Taktnummern,
+Metronombezeichnungen oder Übungszeichen entsprechend
+ihrer Außersystem-Priorität setzen wollen, müssen Sie
+die entsprechenden Engraver (@code{Bar_number_engraver},
+@code{Metronome_mark_engraver} oder @code{Mark_engraver})
+vom @code{Score}-Kontext entfernen und dem
+@code{Staff}-Kontext hinzufügen.  Wenn die Engraver so
+geändert werden, erhalten sie folgenden Werte für
+@code{outside-staff-priority}:
+
+@multitable @columnfractions .3 .3
+@headitem Layout-Objekt           @tab Priorität
+@item @code{RehearsalMark}        @tab @code{1500}
+@item @code{MetronomeMark}        @tab @code{1000}
+@item @code{BarNumber}            @tab @code{ 100}
+@end multitable
+
+Wenn die Standardwerte der @code{outside-staff-priority} nicht
+die Positionierung hervorrufen, die Sie wünschen, kann die
+Priorität eines jeden Objektes geändert werden.  Als Beispiel
+wollen wir zeigen, wie sich die Oktavierungsklammer unter
+den Textstrecker des vorigen Beispiels setzen lässt.  Wir müssen
+nur die Priorität des
+@code{OttavaBracket}-Objektes in der IR oder der Tabelle oben
+herausfinden und einen kleineren Wert angeben als der Wert, den
+das @code{TextSpanner}-(Strecker)-Objekt bekommt, wobei noch daran
+zu denken ist, dass @code{OttavaBracket} im @code{Staff}-Kontext
+erstellt wird:
+
+@cindex TextSpanner, Beispiel zur Veränderung
+@cindex bound-details-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+% Set details for later Text Spanner
+\override TextSpanner #'(bound-details left text)
+    = \markup { \small \bold Slower }
+% Place dynamics above staff
+\dynamicUp
+%Place following Ottava Bracket below Text Spanners
+\once \override Staff.OttavaBracket #'outside-staff-priority = #340
+% Start Ottava Bracket
+\ottava #1
+c' \startTextSpan
+% Add Dynamic Text
+c\pp
+% Add Dynamic Line Spanner
+c\<
+% Add Text Script
+c^Text
+c c
+% Add Dynamic Text
+c\ff c \stopTextSpan
+% Stop Ottava Bracket
+\ottava #0
+c, c c c
+@end lilypond
+
+@cindex Legatobögen und outside-staff-priority
+@cindex Legatobögen und Artikulationszeichen
+@cindex Artikulationszeichen und Legatobögen
+
+Legatobögen werden als Innersystem-Objekte klassifiziert, aber
+sie erscheinen oft auch über dem System, wenn die Noten, an die
+sie verbunden sind, sehr hoch im System notiert sind.  Dadurch
+können Außersystem-Objekte, wie Artikulationszeichen, zu hoch
+gerückt werden.  Die @code{avoid-slur}-Eigenschaft hat nur
+eine Auswirkung, wenn auch die @code{outside-staff-priority}
+auf @code{#f} gesetzt ist.  Alternativ kann die
+@code{outside-staff-priority}  des Legatobogens auf einen
+numerischen Wert gesetzt werden, sodass er mit anderen
+Außersystem-Objekten anhand dieses Wertes gesetzt wird.
+Hier ein Beispiel, das die beiden Möglichkeiten veranschaulicht:
+
+@lilypond[quote,verbatim,relative=2]
+c4( c^\markup\tiny\sharp d4.) c8
+c4(
+\once \override TextScript #'avoid-slur = #'inside
+\once \override TextScript #'outside-staff-priority = ##f
+c^\markup\tiny\sharp d4.) c8
+\once \override Slur #'outside-staff-priority = #500
+c4( c^\markup\tiny\sharp d4.) c8
+@end lilypond
+
+Eine Änderung der @code{outside-staff-priority} kann auch dazu
+benutzt werden, die vertikale Plazierung von individuellen Objekten
+zu kontrollieren, auch wenn das Ergebnis nicht immer optimal
+ist.  Im nächsten Beispiel soll @qq{Text3} oberhalb von @qq{Text4}
+gesetzt werden, das Beispiel wurde behandelt in
+@ref{Automatic behavior}.  Der Wert der Priorität muss also für
+die Eigenschaft @code{TextScript} entweder in der IR oder in der
+Tabelle oben festgestellt werden und dann die Priorität für
+@qq{Text3} höher eingestellt werden:
+
+@cindex TextScript, Beispiel zur Veränderung
+@cindex outside-staff-priority-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+c2^"Text1"
+c^"Text2"
+\once \override TextScript #'outside-staff-priority = #500
+c^"Text3"
+c^"Text4"
+@end lilypond
+
+Damit wird zwar @qq{Text3} ganz richtig über @qq{Text4}
+platziert, aber auch über @qq{Text2}, und @qq{Text4}
+wird jetzt weiter unten gesetzt.  Eigentlich sollten ja alle
+diese Anmerkungen gleichweit vom System entfernt sein.
+Dazu muss offensichtlich horizontal etwas Platz gemacht
+werden.  Das kann erreicht werden mit dem
+@code{textLengthOn}-(Textlänge an)-Befehl.
+
+@subheading \textLengthOn
+
+@cindex Noten, durch Text gespreizt
+@funindex \textLengthOn
+@funindex textLengthOn
+@funindex \textLengthOff
+@funindex textLengthOff
+
+Standardmäßig wird Text, der mit dem Beschriftungsbefehl
+@code{\markup} bzw. Äquivalenten erstellt wird, kein
+zusätzlicher Platz in Bezug auf die Positionierung der Noten
+zugestanden.  Der @code{\textLengthOn}-Befehl ändert
+dieses Verhalten, so dass die Noten gespreizt werden, wenn
+die Breite des Textes es erfordert:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\textLengthOn  % Cause notes to space out to accommodate text
+c2^"Text1"
+c^"Text2"
+c^"Text3"
+c^"Text4"
+@end lilypond
+
+Dieses Verhalten wird mit dem @code{\textLengthOff}-Befehl 
+rückgängig gemacht.  Erinnern Sie sich, dass @code{\once} nur mit
+@code{\override}, @code{\set}, @code{\revert} oder @code{unset}
+funktioniert, der Befehl kann also nicht zusammen mit
+@code{\textLengthOn} benutzt werden.
+
+@cindex Textbeschriftung, Vermeidung von Zusammenstößen
+@cindex Zusammenstöße vermeiden mit Textbeschriftung
+
+Textbeschriftung vermeidet auch Noten, die über das System hinausstehen.
+Wenn das nicht gewünscht ist, kann die automatische Verschiebung
+nach oben hin auch vollständig ausgeschaltet werden, indem die
+Priorität auf @code{#f} gesetzt wird.  Hier ein Beispiel, wie
+eine Textbeschriftung mit diesen Noten reagiert:
+
+@cindex Textbeschriftung, Beispiel zur Veränderung
+@cindex outside-staff-priority-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+% This markup is short enough to fit without collision
+c2^"Tex"
+c''2
+R1
+% This is too long to fit, so it is displaced upwards
+c,,2^"Text"
+c''2
+R1
+% Turn off collision avoidance
+\once \override TextScript #'outside-staff-priority = ##f
+c,,2^"Long Text   "
+c''2
+R1
+% Turn off collision avoidance
+\once \override TextScript #'outside-staff-priority = ##f
+\textLengthOn  % and turn on textLengthOn
+c,,2^"Long Text   "  % Spaces at end are honored
+c''2
+@end lilypond
+
+
+@subheading Dynamics
+
+@cindex Verändern der Positionierung von Dynamikzeichen
+@cindex Dynamikzeichen: Positionierung verändern
+
+Dynamikbezeichnung wird üblicherweise unter dem System
+gesetzt, kann aber auch nach oben mit dem Befehl
+@code{dynamicUp} gezwungen werden.  Die Bezeichnung
+wird vertikal relativ zu der Note positioniert, an die sie angefügt
+wurde.  Sie wird vertikal variabel gesetzt in Bezug zu 
+Innersystemobjekten wie Bögen oder Taktnummern. Damit
+können oft recht gute Resultate erreicht werden, wie im
+folgenden Beispiel:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\clef "bass"
+\key aes \major
+\time 9/8
+\dynamicUp
+bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
+ees,2.~\)\mf ees4 r8 |
+@end lilypond
+
+Wenn aber Noten und Dynamikzeichen sehr dicht beieinander
+stehen, positioniert die automatische Kollisionsvermeidung
+später kommende Dynamikzeichen weiter weg, was allerdings
+nicht immer die beste Möglichkeit ist, wie in dem folgenden,
+etwas gewollten Beispiel zu sehen ist:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+Wenn eine ähnliche Situation in @qq{echter} Musik auftaucht,
+kann es nötig sein, die Noten etwas zu spreizen, damit die
+Dynamikzeichen alle auf der selben vertikalen Position
+gesetzt werden können.  Dieses Verhalten war im Falle von
+Textbeschriftungen möglich mit dem @code{\textLengthOn}-Befehl,
+aber es gibt keinen entsprechenden Befehl für Dynamik.  Wir
+müssen also unsere eigenen Befehle mit @code{\override}
+konstruieren.
+
+
+@subheading Grob sizing
+
+@cindex Grob, Größenveränderung
+@cindex Größenveränderung von grobs
+
+Zuallererst müssen wir lernen, wie die Größe von Grobs verändert
+wird.  Alle Grobs besitzen einen Referenzpunkt, der
+benutzt wird, um ihre Position in Relation zu ihnen übergeordneten
+Objekten zu bestimmen.  Dieser Punkt innerhalb des Grobs wird dann
+auf einer horizontalen Position (@code{X-offset}) und einer
+vertikalen Position (@code{Y-offset}) ausgerichtet, immer bezüglich
+des übergeordneten Objektes.  Eine horizontale Strecke wird
+durch ein Zahlenpaar angegeben (@code{X-extent}), welche
+die linke und rechte Grenze relativ zum übergeordneten Objekt
+bezeichnen.  Die vertikale Strecke wir genauso durch ein
+Zahlenpaar (@code{Y-extent}) definiert.  Diese Eigenschaften
+gehören zu allen Grobs, die das
+@code{grob-interface} unterstützen.
+
+@cindex @code{extra-spacing-width}
+
+Standardmäßig haben Außersystemobjekte eine Länge von Null,
+so dass sie sich in horizontaler Richtung überlappen können.  Das
+geschieht, indem dem linken Rand Unendlich zugewiesen wird
+und dem rechten Rand minus Undendlich (der Code der 
+@code{extra-spacing-width}-(zusätzliche Positionierungslänge)-Eigenschaft
+lautet: @code{'(+inf.0 . -inf.0)}).
+Damit sich diese Objekte also horizontal nicht überschneiden, muss
+der Wert von @code{extra-spacing-width} auf
+@code{'(0 . 0)} gesetzt werden, sodass die wirkliche Länge eines
+Objektes zur Geltung kommt.  Mit diesem Befehl wird das für
+Dynamik-Zeichen erledigt:
+
+@example
+\override DynamicText #'extra-spacing-width = #'(0 . 0)
+@end example
+
+@noindent
+Schauen wir uns an, wie es mit dem vorigen Beispiel funktioniert:
+
+@cindex DynamicText, Beispiel zur Veränderung
+@cindex extra-spacing-width-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+\override DynamicText #'extra-spacing-width = #'(0 . 0)
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+Damit werden die Dynamik-Zeichen also wirklich nebeneinander
+gesetzt, aber es gibt noch zwei Probleme.  Die Zeichen sollten
+etwas weiter außeinander stehen und es wäre gut, wenn sie alle
+den gleichen Abstand zum System hätte.  Das erste Problem ist
+einfach behoben.  Anstatt der @code{extra-spacing-width}-Eigenschaft
+Null zuzuweisen, können wir auch einen etwas größeren Wert
+wählen.  Die Einheit wird gemessen in dem Abstand zwischen zwei
+Notenlinien, es scheint also gut, den rechten und linken
+Rand eine halbe Einheit zu vergrößern:
+
+@cindex DynamicText, Beispiel zur Veränderung
+@cindex extra-spacing-width-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Extend width by 1 staff space
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+Das sieht schon besser aus, aber es wäre noch besser, wenn die
+Dynamik-Zeichen alle an einer Linie ausgerichtet wären, anstatt
+höher und tiefer zu sitzen.  Das kann mit der
+@code{staff-padding}-Eigenschaft erreicht werden,
+die wir uns im folgenden Abschnitt genauer anschauen werden.
+
+
+
+@node Collisions of objects
+@section Collisions of objects
+
+@menu
+* Moving objects::
+* Fixing overlapping notation::
+* Real music example::
+@end menu
+
+@node Moving objects
+@subsection Moving objects
+
+@cindex Verschieben von überschneidenden Objekten
+@cindex Verschieben von Zusammenstößen
+@cindex Zusammenstöße vermeiden
+@cindex Objekte, verschieben von Zusammestößen
+@cindex Vermeiden von Zusammenstößen
+
+Es wird vielleicht eine Überraschung sein, aber LilyPond ist nicht 
+perfekt. Einige Notationselemente können sich überschneiden. Das 
+ist nicht schön, aber zum Glück sehr selten.  Normalerweise müssen
+die Objekte zur Klarheit oder aus ästhetischen Gründen verschoben
+werden -- sie könnten besser aussehen, wenn sie etwas zusätzlichen
+Platz erhalten.
+
+Es gibt im Grunde drei Herangehensweisen, überlappende Notation
+zu verbessern.  Man sollte sie in der folgenden Reihenfolge 
+anwenden:
+
+@enumerate
+@item
+Die @strong{Richtung} eines der überlappenden Objekte kann 
+geändert werden, indem die vordefinierten Befehle für
+Innersystemobjekte verwendet werden, wie beschrieben in
+@ref{Within-staff objects}.  Hälse, Bögen, Balken, Dynamik-Zeichen
+und Triolen können auf diese Weise einfach umgeordnet
+werden.  Beschränkt ist diese Methode insofern, als es nur
+zwei Möglichkeiten zur Veränderung gibt: oben oder unten.
+
+@item
+Die @strong{Objekteigenschaft}, die LilyPond benutzt um die
+Layout-Objekte zu platzieren, können mit dem 
+@code{\override}-Befehl positioniert werden.  Die Vorteile
+von Änderungen dieser Art sind a) dass einige Objekte
+automatisch verschoben werden, wenn es nötig ist Platz zu
+schaffen und b) ein einziges @code{\override} sich auf
+alle Fälle eines Objekttyps bezieht.  Zu diesen Eigenschaften
+gehören:
+
+@itemize
+
+@item
+@code{direction} (Richtung)
+
+Das wurde schon detailliert behandelt, siehe
+@ref{Within-staff objects}.
+
+@item
+@code{padding}, @code{left-padding},
+@code{right-padding}, @code{staff-padding} (Verschiebung)
+
+@cindex left-padding-Eigenschaft
+@cindex Padding-Eigenschaft
+@cindex right-padding-Eigenschaft
+@cindex staff-padding-Eigenschaft
+@cindex Verschieben (padding)
+@cindex Füllung (padding)
+@cindex padding (Füllung)
+
+Wenn ein Objekt platziert wird, bestimmt der Wert seiner
+@code{padding}-(Füllungs)-Eigenschaft die Größe des
+Abstandes, der zwischen dem Objekt selber und dem
+Objekt, relativ zu welchem es positioniert wird, gelassen
+werden muss.  Dabei zählt der @code{padding}-Wert
+des Objektes, das platziert werden soll, der @code{padding}-Wert
+des Objektes, das schon gesetzt wurde, wird hingegegen
+ignoriert.  Abstände mit @code{padding} können zu 
+allen Objekten hinzugefügt werden, die das
+@code{side-position-interface} unterstützen.
+
+Anstelle von @code{padding} wird die Position von
+Versetzungszeichengruppen durch die Eigenschaften
+@code{left-padding} und @code{right-padding} bestimmt.
+Diese Eigenschaften werden im
+@code{AccidentalPlacement}-(Versetzungszeichen-Positionierungs)-Objekt
+gefunden, das sich innerhalb des @strong{Staff}-Kontexts
+befindet.  Während des Notensatzes werden die Notenköpfe
+zuerst gesetzt und dann die Versetzungszeichen, wenn denn
+welche gesetzt werden,  durch die @code{right-padding}-Eigenschaft
+auf die linke Seite der Notenköpfe positioniert, um die Entfernung
+von den Notenköpfen zu bestimmen.  Also nur die
+@code{right-padding}-(Verschiebung nach rechts)-Eigenschaft des
+@code{AccidentalPlacement}-Objekts hat Einfluss auf die
+Positionierung der Versetzungszeichen.
+
+Die @code{staff-padding}-(Verschiebung zum System)-Eigenschaft
+ist sehr ähnlich wie die @code{padding}-Eigenschaft:
+@code{padding} bestimmt den Minimalabstand zwischen
+einem Objekt, das das @code{side-position-interface} 
+unterstützt, und dem nächsten anderen Objekt (normalerweise
+die Note oder Notenlinie); @code{staff-padding} dagegen
+wirkt nur auf Objekte die immer außerhalb des Notensystems
+sind -- damit wird der minimale Abstand bestimmt, der
+zwischen dem Objekt und dem Notensystem gelassen werden 
+soll.  @code{staff-padding} hat also @strong{keinen Einfluss}
+auf Objekte, die relativ zu einer Note positioniert werden, sondern
+nur auf solche, die zum System relativ stehen. Wenn es mit einem
+anderen Objekt eingesetzt wird, erhält man keine Fehlermeldung, aber
+der Befehl hat auch keine Auswirkungen.
+
+Um herauszufinden, welche @code{padding}-Eigenschaft für
+das bestimmte Objekt nötig, ist, das Sie verschieben wollen,
+müssen Sie in der IR nach den Objekt-Eigenschaften schauen.
+Dabei sollten Sie bedenken, dass sich die @code{padding}-Eigenschaften
+nicht unbedingt in dem Objekt selber befinden, schauen Sie
+also auch in Objekten nach, die offensichtlich Ähnlichkeiten
+haben.
+
+Alle @code{padding}-Werte werden in Notenlinienabständen 
+gemessen.  Für die meisten Objekte ist der Wert ungefähr auf
+1.0 oder weniger gesetzt (das variiert von Objekt zu Objekt).
+Der Wert kann geändert werden, wenn ein größerer (oder
+kleinerer) Abstand gewünscht wird.
+
+@item
+@code{self-alignment-X} (Selbstpositionierung)
+
+@cindex self-alignment-X-Eigenschaft
+@cindex Selbstpositionierung von Objekten
+@cindex Ausrichtung von Objekten
+
+Diese Eigenschaft kann benutzt werden, um ein Objekt
+nach links, rechts oder zentriert an dem Referenzpunkt des Objekts
+auszurichten, an das es verknüpft ist.  Es kann bei allen
+Objekten benutzt werden, die das @code{self-alignment-interface}
+unterstützen.  Das sind üblicherweise Objekte, die Text
+enthalten.  Die möglichen Werte der Eigenschaft sind @code{LEFT},
+@code{RIGHT} oder @code{CENTER}.  Alternativ kann ein
+numerischer Wert zwischen @code{-1} und @code{+1} 
+bestimmt werden: @code{-1} heißt linksbündig, @code{+1}
+rechtsbündig und Zahlen dazwischen bewegen den Text
+schrittweise von links nach rechts.  Zahlen größer als
+@code{1} können angegeben werdne, um den Text
+noch weiter nach links zu bewegen, oder weniger als @code{-1},
+um ihn weiter nach rechts zu schieben.  Eine Änderung
+um @code{1} des Wertes entspricht einer Bewegung um 
+die halbe Textbreite.
+
+@item
+@code{extra-spacing-width} (zusätzliche Breite)
+
+@cindex extra-spacing-width-Eigenschaft
+
+Diese Eigenschaft steht für alle Objekte zur Verfügung, die
+das @code{item-interface} unterstützen.  Es braucht zwei
+Zahlen als Argument, die erste wird zur rechten Ausdehnung,
+die zweite zur linken Ausdehnung hinzugerechnet.  Negative
+Zahlen verschieben die Ausdehnung nach rechts, positive nach
+links, um also ein Objekt zu verbreitern, muss die erste
+Zahl negativ und die zweite positiv sein.  Allerdings beachten
+nicht alle Objekte beide Zahlen.  Das 
+@code{accidental}-(Versetzungszeichen)-Objekt etwa beachtet
+nur erste Zahl für die linke Ausdehnung.
+
+@item
+@code{staff-position} (Notensystempositionierung)
+
+@cindex staff-position-Eigenschaft
+
+@code{staff-position} ist eine Eigenschaft des
+@code{staff-symbol-referencer-interface}, die von Objekten unterstützt
+wird, die relativ zum Notensystem (engl. staff) positioniert werden.
+Hiermit wird die vertikale Position eines Objekts relativ zur
+Mittellinie des Systems in halben Notenlinienabständen angegeben.
+Das ist sehr nützlich, um Zusammenstöße zwischen Layout-Objekten
+wie Ganztaktpausen, Bögen und Noten in verschiedenen Stimmen
+zu lösen.
+
+@item
+@code{force-hshift} (vertikale Verschiebung erzwingen)
+
+@cindex force-hshift-Eigenschaft
+
+Eng beeinander stehende Noten in einem Akkord oder Noten, die zum
+gleichen Zeitpunkt in unterschiedlichen Stimmen stehen, werden
+in zwei oder manchmal auch mehr Kolumnen gesetzt, um Kollisionen
+zu umgehen.  Diese Kolumnen werden Notenkolumnen genannt;
+ein @code{NoteColumn}-Objekt wird erstellt um die Noten in den
+Kolumnen zu setzen.
+
+Die @code{force-hshift}-(erzwinge horizontale Verschiebung)-Eigenschaft
+ist eine Eigenschaft von @code{NoteColumn} (bzw. vom
+@code{note-column-interface}).  Eine Veränderung dieser Eigenschaft
+macht es möglich, eine Notenkolumne zu verschieben, dabei gilt als
+Einheit die Breite einer Kolumne, also die Breite des Notenkopfes der
+ersten Stimme.  Diese Eigenschaft kann in Situationen benutzt werden,
+in denen die normalen @code{\shiftOn}-Befehle (siehe auch
+@ref{Explicitly instantiating voices}) das Problem nicht beseitigen.
+Diese Eigenschaft ist besser in solchen Fällen zu verwenden als die
+@code{extra-offset}-Eigenschaft, weil man die richtige Entfernung nicht
+in Notenlinienabständen ausrechnen muss.  Wenn eine Note in eine
+Notenkolumne oder aus ihr heraus geschoben wird, werden auch andere
+Funktionen beeinflusst, wie etwa die Verschmelzung von Notenköpfen.
 
 @end itemize
 
-Die @file{ly/} und @file{scm/}-Ordner sind von besonderem Interesse.
-Dateien wie @file{ly/property-init.ly} und
-@file{ly/declarations-init.ly} definieren alle häufig vorkommenden Veränderungen.
+@item
+Zu guter Letzt, wenn alles andere nicht funktioniert, können Objekte auch
+manuell positioniert werden, entweder vertikal in Bezug auf die
+Mittellinie des Systems, oder indem sie einen beliebigen Abstand weit
+auf eine neue Position verschoben werden.  Der Nachteil ist, dass die
+richtigen Werte für eine gute Position manuell ausprobiert werden müssen,
+meistens durch Herantasten an den richtigen Wert, und das für jedes
+einzelne Objekt extra.  Und weil diese Verschiebungen erst vorgenommen
+werden, wenn LilyPond alle anderen Objekte gesetzt hat, ist man als
+Notensetzer selber dafür verantwortlich, ob es Zusammenstöße gibt.
+Am schwerwiegendsten ist aber die Tatsache, dass die
+Verschiebungskoordinaten wahrscheinlich neu errechnent oder 
+ausprobiert werden müssen, wenn sich an den Noten und deren
+Layout später irgend etwas ändert.  Die Eigenschaften, die für diese
+Arte der manuellen Verschiebung verwendet werden können, sind:
+
+@table @code
+@item extra-offset (zusätzlicher Abstand)
+
+@cindex extra-offset-Eigenschaft
+
+Diese Eigenschaft gehört zu jedem Layout-Objekt, das das
+@code{grob-interface} unterstützt.  Sie braucht ein Zahlenpaar,
+das die exakte Verschiebung in horizontaler und vertikaler Richtung
+bezeichnet.  Negative Zahlen verschieben das Objekt nach links oder
+unten.  Die Einheit sind Notenlinienabstände.  Die zusätzliche
+Positionierung wird vorgenommen, nachdem alle anderen Objekte
+platziert sind, weshalb ein Objekt irgendwohin verschoben werden
+kann, ohne den restlichen Satz zu beeinflussen.
+
+@item positions (Position)
+
+@cindex positions-Eigenschaft
+
+Diese Eigenschaft ist am sinnvollsten, um die Steigung und die
+Höhe von Balken, Bögen und Triolenklammern anzupassen.
+Sie braucht ein Zahlenpaar, das die Position des rechten und linken
+Endes relativ zur Mittellinie des Notensystems bestimmt.  Die
+Einheit sind Notenlinienabstände.  Bögen allerdings können nicht
+beliebig weit weg positioniert werden.  LilyPond erstellt zunächst eine
+Liste an möglichen Positionen für den Bogen und findet normalerweise
+die Version, die @qq{am besten aussieht}.  Wenn die 
+@code{positions}-Eigenschaft verändert worden ist, wird der
+Bogen aus der Liste gewählt, der der gewünschten Position am
+nächsten kommt.
+@end table
+
+@end enumerate
+
+Ein bestimmtes Objekt hat vielleicht nicht alle dieser Eigenschaften.
+Darum ist es nötig, in der IR nachzuschlagen, welche Eigenschaften
+ein bestimmtes Objekt unterstützt.
+
+Hier ist eine Liste an Objekten, die am wahrscheinlichsten an einer
+Kollision beteiligt sind, daneben findet sich die Bezeichnung des
+Objektes, mit der Sie es in der IR finden, um zu bestimmen,
+welche Eigenschaften benutzt werden können, um es zu verschieben.
+
+@multitable @columnfractions .5 .5
+@headitem Objekttyp           @tab Objektbezeichnung
+@item Articulationszeichen             @tab @code{Script}
+@item Balken                     @tab @code{Beam}
+@item Dynamikzeichen (vertikal)     @tab @code{DynamicLineSpanner}
+@item Dynamikzeichen (horizontal)   @tab @code{DynamicText}
+@item Fingersatz                @tab @code{Fingering}
+@item Übungs-/Textmarken    @tab @code{RehearsalMark}
+@item Legatobögen                     @tab @code{Slur}
+@item Text z. B. @code{^"text"}  @tab @code{TextScript}
+@item Bindebögen                      @tab @code{Tie}
+@item N-tolen                   @tab @code{TupletBracket}
+@end multitable
 
 
-@node Avoiding tweaks with slower processing
-@subsection Avoiding tweaks with slower processing
+@node Fixing overlapping notation
+@subsection Fixing overlapping notation
 
-LilyPond kann einige zusätzliche Tests durchführen, während 
-die Noten gesetzt werden. Dadurch braucht das Programm länger, 
-um den Notensatz zu produzieren, aber üblicherweise werden 
-weniger nachträgliche Anpassungen nötig sein.
+Hier soll nun gezeigt werden, wie die Eigenschaften, die im
+vorigen Abschnitt vorgestellt wurden, bei der Problemlösung
+mit sich überschneidenden Notationselementen eingesetzt
+werden können.
+
+@subheading padding property
+
+@cindex padding (Verschiebungs-Eigenschaft)
+@cindex Überschneidende Notation korrigieren
+@cindex Korrigieren von überschneidender Notation
+
+Die @code{padding}-(Verschiebungs-)Eigenschaft kann benutzt
+werden, um den Abstand zwischen Symbolen zu vergößern (oder
+zu verkleinern), die über oder unter den Noten gesetzt werden.
+
+@cindex Script, Beispiel zur Veränderung
+@cindex Verschiebungs-Eigenschaft, Beispiel
+@cindex padding (Verschiebuns-Eigenschaft), Beispiel
+
+@lilypond[quote,fragment,relative=1,verbatim]
+c2\fermata
+\override Script #'padding = #3
+b2\fermata
+@end lilypond
+
+@cindex MetronomMark, Beispiel zur Veränderung
+@cindex Verschiebungs-Eigenschaft, Beispiel
+@cindex padding (Verschiebuns-Eigenschaft), Beispiel
+
+@lilypond[quote,fragment,relative=1,verbatim]
+% This will not work, see below:
+\override MetronomeMark #'padding = #3
+\tempo 4=120
+c1
+% This works:
+\override Score.MetronomeMark #'padding = #3
+\tempo 4=80
+d1
+@end lilypond
+
+Im zweiten Beispiel können Sie sehen, wie wichtig es ist den richtigen
+Kontext anzugeben.  Weil das @code{MetronomeMark}-Objekt
+sich im @code{Score}-Kontext befindet, werden Eigenschaftsänderungen
+im @code{Voice}-Kontext einfach ignoriert.  Für mehr Einzelheiten siehe
+@ruser{Modifying properties}.
+
+Wenn die @code{padding}-Eigenschaft eines Objektes erhöht wird, das
+sich in einem Stapel von Objekten befindet, die nach ihrer
+Außersystempriorität (@code{outside-staff-priority}) positioniert werden,
+werden das Objekt und alle,  die sich außerhalb davon befinden,
+entsprechend verschoben.
+
+@subheading left-padding and right-padding
+
+@cindex left-padding-Eigenschaft (Verschiebung nach links)
+@cindex Verschiebung nach rechts oder links
+@cindex right-padding-Eigenschaft (Verschiebung nach rechts)
+
+Die @code{right-padding}-Eigenschaft wirkt sich auf den Abstand
+zwischen einem Versetzungszeichen und der Note, auf das sie sich
+bezieht, aus.  Sie wird nicht sehr oft benötigt, aber das folgende
+Beispiel zeigt eine Situation, wo man sie braucht.  Das Beispiel
+stellt eine Situation dar, in der in einem Akkord sowohl H als auch
+B vorkommen sollen.  Damit keine Ambiguität ensteht, sollen beide
+Noten ein Zeichen haben, also ein B und ein Auflösungszeichen.
+Hier einige Notationsversuche:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+<b bes>
+<b! bes>
+<b? bes>
+@end lilypond
+
+@noindent
+Keiner davon funktioniert, und der zweite und dritte weist 
+hässliche Zusammenstöße zwischen den Zeichen auf.
+
+Eine Möglichkeit, das Gewünschte zu erhalten, ist es den
+Stencil des Versetzungszeichens zu ersetzen mit einer
+Textbeschriftung (Markup), die sowohl das B als auch das
+Aulösungszeichen enthält:
+
+@cindex Versetzungszeichen, Beispiel zur Veränderung
+@cindex Accidental, Beispiel zur Veränderung
+@cindex Text-Eigenschaft, Beispiel
+@cindex stencil-Eigenschaft, Beispiel
+@cindex AccidentalPlacement, Beispiel zur Veränderung
+@cindex right-padding-Eigenschaft, Beispiel
+@cindex Verschiebung nach rechts (rigth-padding), Beispiel
+
+@lilypond[quote,ragged-right,verbatim]
+naturalplusflat = \markup { \natural \flat }
+\relative c'' {
+  \once \override Accidental
+    #'stencil = #ly:text-interface::print
+  \once \override Accidental #'text = #naturalplusflat
+  \once \override Score.AccidentalPlacement #'right-padding = #1.5
+  <b bes>
+}
+@end lilypond
+
+@noindent
+Dazu ist aber ein @code{\override}-Befehl für den Stencil des
+Versetzungszeichens nötig, der bisher nicht behandelt wurde.
+Der Typ des Stencils muss eine Prozedur sein, die hier geändert
+wurde, um den Inhalt der @code{text}-Eigenschaft des
+@code{Accidental} (Versetzungszeichen)-Objekts zu setzen,
+die dann so definiert wird, dass sie ein Auflösungszeichen gefolgt
+von einem B enthält.  Diese werden dann mit @code{right-padding}
+weiter nach rechts verschoben.
+
+
+@subheading staff-padding property
+
+@cindex staff-padding-Eigenschaft
+@cindex Objekte an der Grundlinie ausrichten
+@cindex Ausrichten von Objekten an der Grundlinie
+
+@code{staff-padding} (Verschiebung zum Notensystem) kann 
+verwendet werden um Objekte wie Dynamikzeichen an einer
+Grundlinie auf einer bestimmten Höhe über dem System 
+auszurichten, sodass sie nicht von der Position der Note abhängen,
+an die sie angehängt sind.  Diese Verschiebung ist keine Eigenschaft
+von @code{DynamicText}, sondern von @code{DynamicLineSpanner}.
+Das liegt daran, dass die Grundlinie sich gleicherweise auf 
+@strong{alle} Dynamikzeichen beziehen soll, also auch auf die,
+die als Strecker erstellt wurden.  Hier also die Lösung, die Dynamikzeichen
+aus dem Beispiel des vorigen Abschnitts auszurichten:
+
+@cindex DynamikText, Beispiel zur Veränderung
+@cindex extra-spacing-width-Eigenschaft, Beispiel
+@cindex DynamicLineSpanner, Beispiel zur Veränderung
+@cindex staff-padding-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Extend width by 1 unit
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+% Align dynamics to a base line 2 units above staff
+\override DynamicLineSpanner #'staff-padding = #2
+a4\f b\mf c\mp b\p
+@end lilypond
+
+
+@subheading self-alignment-X property
+
+@cindex self-alignment-X-Eigenschaft
+
+Das nächste Beispiel zeigt, wie man den Zusammenstoß
+einer Fingersatzbezeichnung mit einem Notenhals
+verhindern kann, indem die rechte Ecke an dem
+Referenzpunkt der abhängigen Note angeordnet wird:
+
+@cindex StringNumber, Beispiel zur Veränderung
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
+\voiceOne
+< a \2 >
+\once \override StringNumber #'self-alignment-X = #RIGHT
+< a \2 >
+@end lilypond
+
+
+@subheading staff-position property
+
+@cindex staff-position-Eigenschaft
+@cindex Notensystem-Position-Eigenschaft
+@cindex Kollision von Objekten im System
+@cindex Zusammenstöße von Objekten im System
+
+Vieltaktpausen in einer Stimmen können mit Noten in anderen
+Stimmen kollidieren.  Da diese Pausen zentriert zwischen den
+Taktlinien gesetzt werden, würde es für LilyPond eine recht große
+Anstrengung bedeuten herauszufinden, welche Noten mit ihnen
+zusammenstoßen könnten, denn alle Kollisionsvermeidung
+für Noten und Pausen funktioniert nur für Noten bzw. Pausen, die
+zur selben Zeit auftreten.  Hier ein typisches Beispiel für eine
+Kollision dieser Art:
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<< {c c c c} \\ {R1} >>
+@end lilypond
+
+Die beste Lösung ist es, die Ganztaktpause nach unten zu
+schieben, denn die Pause ist in der zweiten Stimme.  Per
+Standardeinstellung für die zweite Stimme (@code{\voiceTwo},
+also die zweite Stimme in der
+@code{<<@{...@} \\ @{...@}>>}-Konstruktion) wird die
+Position auf dem System (@code{staff-position}) auf -4
+für @code{MultiMeasureRest}, in unserem Beispiel muss
+es also bspw. auf die Position @code{-8} gesetzt werden, 
+d.h. vier halbe Notenlinienabstände weiter nach unten:
+
+@cindex MultiMeasureRest, Beispiel zur Veränderung
+@cindex Ganztaktpausen, Beispiel zur Veränderung
+@cindex staff-position-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<<
+  {c c c c}
+\\
+  \override MultiMeasureRest #'staff-position = #-8
+  {R1}
+>>
+@end lilypond
+
+Das ist besser, als etwa @code{extra-offset} zu benutzen, denn
+in unserem Fall wird die Hilfslinie der Pause automatisch gesetzt.
+
+
+@subheading extra-offset property
+
+@cindex extra-offset-Eigenschaft
+@cindex Zusätzlicher Abstand, Positionierung
+@cindex Positionierung von Objekten
+@cindex Objekte, Positionierung
+
+Die @code{extra-offset}-Eigenschaft bietet vollständige Kontrolle
+über die Positionierung von Objekten in horizontaler und vertikaler
+Richtung.
+
+Im Beispiel unten ist das zweite Fingersatzzeichen (@code{Fingering}) etwas nach
+links und 1,8 Notenlinienabstände nach unten verschoben:
+
+@cindex Fingersatz, Beispiel zur Veränderung
+@cindex extra-offset-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,relative=1,verbatim]
+\stemUp
+f-5
+\once \override Fingering
+    #'extra-offset = #'(-0.3 . -1.8)
+f-5
+@end lilypond
+
+
+@subheading positions property
+
+@cindex positions-Eigenschaft
+@cindex Kontrolle über Triolen, Bögen und Balken manuell
+@cindex manuelle Kontrolle über Triolen, Bögen, Balken
+@cindex Balken, manuelle Kontrolle
+@cindex Bögen, manuelle Kontrolle
+@cindex Legatobögen, manuelle Kontrolle
+@cindex Phrasierungsbögen, manuelle Kontrolle
+@cindex Triollen-Klammer, manuelle Kontrolle
+
+Die @code{positions}-Eigenschaft erlaubt die Kontrolle von Position und
+Steigung von Balken, Legato- und Phrasierungsbögen sowie Triolenklammern.
+Hier ein Beispiel, in der ein unschöner Phrasierungsbogen auftritt, weil
+er den Bogen des Vorschlags vermeidet:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4  \acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
+
+@noindent
+Man könnte einfach den Phrasierungsbogen oberhalb der Noten setzen, und
+das wäre auch die beste Lösung:
+
+@cindex Phrasierungsbogen, Beispiel zur Veränderung
+@cindex positions-Eigenschaft, Beispiel
+@cindex Positionierung, Beispiel
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\phrasingSlurUp
+\acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
+
+@noindent
+aber wenn es einen Grund geben sollte, warum das nicht geht, könnte
+man das linke Ende des Phrasierungsbogens etwas nach unten verschieben,
+indem man die @code{positions}-Eigenschaft einsetzt.  Damit
+verschwindet auch die etwas unschöne Form:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\once \override PhrasingSlur #'positions = #'(-4 . -3)
+\acciaccatura
+e8\( d8 c ~c d c d\)
+@end lilypond
+
+Hier noch ein weiteres Beispiel aus der Einleitung von Chopins
+Prelude Op. 28 Nr. 2, das untere System.  Wie zu sehen ist,
+stößt der Balken mit den oberen Noten zusammen:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+\clef "bass"
+<< {b,8 ais, b, g,} \\ {e, g e, g} >>
+<< {b,8 ais, b, g,} \\ {e, g e, g} >>
+}
+@end lilypond
+
+@noindent
+Das kann manuell gelöst werden, indem beide Enden des Balkens
+von ihrer Position 2 Notenlinienabstände über der Mittellinie
+hochgeschoben werden, etwa auf 3:
+
+@cindex Balken, Beispiel zur Veränderung
+@cindex positions-Eigenschaft, Beispiel
+@cindex Positionierung, Beispiel
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+  \clef "bass"
+  <<
+    \override Beam #'positions = #'(3 . 3)
+    {b,8 ais, b, g,}
+  \\
+    {e, g e, g}
+  >>
+  << {b,8 ais, b, g,} \\ {e, g e, g} >>
+}
+@end lilypond
+
+@noindent
+Hier ist zu beobachten, dass die Veränderung sich auch auf die
+weiteren Achtelbalken der ersten Stimme auwirkt, während sie keine
+Auswirkung auf die Balken der zweiten Stimme hat.
+
+@subheading force-hshift property
+
+@cindex force-hshift-Eigenschaft
+@cindex Vertikale Verschiebung erzwingen
+
+@c FIXME: formatting stuff  (ie not important right now IMO)
+@c @a nchor Chopin finally corrected TODOgp
+
+An diesem Punkt können wir den letzten Feinschliff an unserem
+Chopin-Beispiel vornhemen, das wir behandelt haben in
+@ref{I'm hearing Voices}.  Wir hatten es in folgende Form
+gebracht:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\
+    { aes2 f4 fes   } \\
+    { \voiceFour
+      <ees c>2
+      des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+Die unteren zwei Noten des ersten Akkords (also diein der
+dritten Stimme) sollten nicht aus der Notenkolumne der
+oberen zwei Noten weggeschoben werden.  Um das zu
+korrigieren, setzen wir @code{force-hshift}, das eine
+Eigenschaft von
+@code{NoteColumn} ist, für diese Noten auf Null.
+Die untere Note des zweiten Akkordes wird am besten
+direkt rechts von den oberen Noten gesetzt.  Das erreichen
+wir, indem wir @code{force-hshift} für diese Note auf
+0.5 setzen, also eine halbe Notenkopfbreite nach rechts von
+der Kolumne der oberen Noten aus.
+
+Hier das Endergebnis:
+
+@cindex Notenkolumne, Beispiel zur Veränderung
+@cindex force-hshift-Eigenschaft, Beispiel
+@cindex vertikale Verschiebung, Beispiel
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\
+    { aes2 f4 fes   } \\
+    { \voiceFour
+      \once \override NoteColumn #'force-hshift = #0 <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5 des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+
+@node Real music example
+@subsection Real music example
+
+Das Kapitel zu Optimierungen soll mit einem komplizierten Beispiel
+beendet werden, in dem verschiedene Optimierungen vorgenommen
+werden müssen, bis das Ergebnis gut ausssieht.  Das Beispiel wurde
+ganz bewusst gewählt um die Benutzung der Notationsreferenz
+zu zeigen, wenn ungewöhnliche Notationsprobleme gelöst werden
+müssen.  Es ist nicht repräsentativ für normale Notationsprojekte,
+lassen Sie sich also nicht durch dieses Beispiel entmutigen!  Zum
+Glück sind Probleme wie die hier gezeigten nicht sehr häufig.
+
+Das Beispiel stammt aus Chopins Premiére Ballade, Op. 23, Takte
+6--9, der Übergang vom Lento der Einleitung zum Moderato.
+Hier zunächst der Satz, wie er aussehen soll, allerdings ohne
+Dynamik, Fingersatz und Pedalbezeichnung, um das Beispiel nicht
+zu kompliziert zu machen.
+
+@c This example should not be indexed
+@lilypond[quote,ragged-right]
+rhMusic = \relative c'' {
+  r2
+  c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  bes2.^\markup {\bold "Moderato"} r8
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    % Reposition the c2 to the right of the merged note
+    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
+    % Move the c2 out of the main note column so the merge will work
+    \shiftOnn c2}
+  \\
+    % Stem on the d2 must be down to permit merging
+    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+  \\
+    {s4 fis4.}
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+Die erste Überlegung ist, dass das System für die rechte Hand
+im dritten Takt vier Stimmen braucht.  Das sind die fünf
+Achtelnoten mit Balken, das übergebundene C, die Halbe D, die
+mit der Achtel D verschmolzen ist, und die punktierte Viertel
+Fis, die auch mit einer Achtelnote verschmolzen ist.  Alles
+andere ist eine einzige Stimme, es ist also am einfachsten, die
+Stimmen nur zeitweise zu erstellen, wenn sie auftreten.  Wenn
+Sie vergessen haben, wie man das anstellt, schauen Sie sich
+nochmal den Abschnitt @ref{I'm hearing Voices} an.  Wir
+wollen anfange, indem wir die Noten in zwei Variablen
+notieren und dann die Systemstruktur in einer
+@code{\score}-Umgebung erstellen.  Das ist, was LilyPond
+erstellt:
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4. g8 |
+  bes1~ |
+  \time 6/4
+  bes2. r8
+  % Start polyphonic section of four voices
+  <<
+    {c,8 d fis bes a | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  g2.
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2 |
+  <d g, d>1 |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+Alle Noten sind richtig, aber die Positionierung sehr
+verbesserungsbedürftig.  Der Bindebogen stößt mit
+der veränderten Taktart zusammen, die Balkung im
+dritten Takt ist falsch, die Noten werden nicht 
+verschmolzen und einige Notationselemente fehlen ganz.
+Behandeln wir zunächst die einfacheren Dinge.  Der
+Balken kann durch eine manuelle Begrenzung einfach
+korrigiert werden, und auch der Legatobogen der linken
+Hand und der Phrasierungsbogen der rechten Hand
+sind schnell gesetzt, denn sie wurden schon in der
+Übung erklärt.  Damit haben wir folgendes Notenbild:
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  bes1~ |
+  \time 6/4
+  bes2. r8
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1) |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+Der erste Takt stimmt jetzt schon.  Der zweite Takt enthält ein
+Arpeggio und wird mit einer doppelten Taktlinie beschlossen.
+Wie können wir diese notieren, denn sie sind im Handbuch zum
+Lernen nicht vorgekommen?  Hier brauchen wir jetzt die
+Notationsreferenz.  Ein Blick in den Index zeigt uns die
+Einträge für @qq{Arpeggio} und @qq{Taktlinien}: ein
+Arpeggio also erstellt man mit dem Befehl @code{\arpeggio}
+hinter einem Akkord und eine doppelte Taktlinie wird mit dem
+Befehl @code{\bar "||"} erstellt.  Das ist einfach.  Als nächstes
+muss der Zusammenstoß des Bindebogens mit der Taktartbezeichnung
+gelöst werden.  Das geht am besten, indem wir den Bogen nach
+oben verschieben.  Wie man Objekte verschiebt wurde schon
+behandelt in @ref{Moving objects}, wo stand, dass Objekte
+die
+relativ zum System positioniert werden, verschoben werden 
+können, indem ihre @code{staff-position}-Eigenschaft
+geändert wird, die in halben Notenlienienabständen relativ
+zur Mittellinie angegeben wird.  Dieser @code{\override}-Befehl
+also, direkt vor die erste übergebundene Note gestellt, verschiebt
+den Bindebogen (@code{tie}) 3,5 halbe Notenlinienabstände
+über die Mittellinie:
+
+@code{\once \override Tie #'staff-position = #3.5}
+
+Damit ist auch der zweite Takt vollständig:
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2. r8
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+In Takt drei beginnt der Moderato-Abschnitt.  In der
+Übung wurde behandelt, wie man fetten Text mit dem
+@code{\markup}-Befehl eingibt, es ist also einfach, das
+@qq{Moderato} hinzuzufügen.  Wie aber werden Noten
+verschmolzen?  Hier nehmen wir wieder die Notationsreferenz
+zu Hilfe.  Die Suche nach @qq{Verschmelzen} (engl. merge)
+im Index führt uns zu den Befehlen um Noten mit
+unterschiedlichen Köpfen und unterschiedlichen Punkten
+zu verschmelzen in @ruser{Collision resolution}.  In unserem
+Beispiel müssen sowohl unterschiedliche Köpfe also auch
+unterschiedliche Punktierung verschmolzen werden, wir
+brauchen also die Befehle
 
 @example
-%%  Um sicher zu gehen, dass Texte und Liedtext 
-%%  innerhalb der Papierränder bleiben
-\override Score.PaperColumn #'keep-inside-line = ##t 
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
 @end example
 
+@noindent
+aus der Notationsreferenz, die wir an den Beginn unseres
+Abschnittes stellen und
 
-@node Advanced tweaks with Scheme
-@subsection Advanced tweaks with Scheme
+@example
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
+@end example
 
-Es wurde schon gezeigt, wie die LilyPond-Ausgabe sehr stark verändert 
-werden kann, indem man Befehle wie 
-@code{\override TextScript #'extra-offset = ( 1 . -1)} benutzt. Aber 
-noch mehr Einfluss auf die Formatierung kann durch den Einsatz von 
-Scheme genommen werden. Eine vollständige Erklärung findet sich in der 
- @ref{Scheme tutorial} und den
-@ruser{Interfaces for programmers}.
+@noindent
+um das Verhalten wieder auszuschalten. Das sieht so aus:
 
-Scheme kann benutzt werden, um einfach nur Befehle zu @qq{überschreiben} 
-(@code{\override}):
+@cindex Bindebogen, Beispiel zur Veränderung
+@cindex staff-position-Eigenschaft, Beispiel
 
 @lilypond[quote,verbatim,ragged-right]
-padText = #(define-music-function (parser location padding) (number?)
-#{
-  \once \override TextScript #'padding = #$padding
-#})
-
-\relative c''' {
-  c4^"piu mosso" b a b
-  \padText #1.8
-  c4^"piu mosso" d e f
-  \padText #2.6
-  c4^"piu mosso" fis a g
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2.^\markup {\bold "Moderato"} r8
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
 }
 @end lilypond
 
-Hiermit können aber auch neue Befehle erstellt werden:
+Mit diesen Veränderungen wurden die beiden Fis-Noten 
+verschmolzen, aber nicht die zwei Ds.  Warum nicht?  Die
+Antwort befindet sich im gleicher Abschnitt der Notationsreferenz:
+Noten, die verschmolzen werden, müssen Hälse in entgegengesetzte
+Richtungen aufweisen und zwei Noten können nicht verschmolzen
+werden, wenn eine dritte Noten in der gleichen Kolumne
+stört.  In unserem Fall weisen beide Hälse nach oben und es
+befindet sich zur gleichen Zeit auch noch eine dritte Note, das C.
+Wie die Richtung von Hälsen geändert wird, wissen wir schon:
+mit @code{\stemDown}, und in der Notationsreferenz findet
+sich auch Information, wie das C verschoben werden kann: mit
+dem @code{\shift}-Befehl.  Aber welcher von ihnen?  Das C
+befindet sich in der zweiten Stimme, die @qq{shift off} hat,
+die zwei Ds sind in den Stimmen eins und drei, die @qq{shift
+off} bzw. @qq{shift on} haben.  Das C muss also noch eine
+Stufe weiter verschoben werden mit @code{\shiftOnn}, damit
+es die Verschmelzung der Ds nicht stört.  Das sieht jetzt so
+aus:
 
 @lilypond[quote,verbatim,ragged-right]
-tempoMark = #(define-music-function (parser location padding marktext)
-                                    (number? string?)
-#{
-  \once \override Score . RehearsalMark #'padding = $padding
-  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-  \mark \markup { \bold $marktext }
-#})
+rhMusic = \relative c'' {
+  r2 c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2.^\markup {\bold "Moderato"} r8
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    % Move the c2 out of the main note column so the merge will work
+    {c,8~ \shiftOnn c2 | }
+  \\
+    % Stem on the d2 must be down to permit merging
+    {s8 \stemDown d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
 
-\relative c'' {
-  c2 e
-  \tempoMark #3.0 #"Allegro"
-  g c
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+Fast schon geschafft.  Nur noch ein Problem ist übrig: Der Hals nach
+unten des verschmolzenen sollte nicht da sein, und das C sähe
+besser auf der rechten Seite des Ds aus.  Beides können wir mit den
+gelernten Optimierungsmethoden erreichen. Den Hals machen
+wir durchsichtig und das C verschieben wir mit der
+@code{force-hshift}-Eigenschaft.  Hier ist das Endergebnis:
+
+@cindex Notenkolumne, Beispiel zur Veränderung
+@cindex force-hshift-Eigenschaft, Beispiel
+@cindex Hals, Beispiel zur Veränderung
+@cindex Notenhals, Beispiel zur Veränderung
+@cindex transparent-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+  r2
+  c4.\( g8 |
+  \once \override Tie #'staff-position = #3.5
+  bes1~ |
+  \bar "||"
+  \time 6/4
+  bes2.^\markup {\bold "Moderato"} r8
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    % Reposition the c2 to the right of the merged note
+    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
+    % Move the c2 out of the main note column so the merge will work
+    \shiftOnn c2}
+  \\
+    % Stem on the d2 must be down to permit merging
+    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+  \\
+    {s4 fis4.}
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
+
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
 }
+
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
+
+
+@node Further tweaking
+@section Further tweaking
+
+@menu
+* Other uses for tweaks::
+* Using variables for tweaks::
+* Other sources of information::
+* Avoiding tweaks with slower processing::
+* Advanced tweaks with Scheme::
+@end menu
+
+@node Other uses for tweaks
+@subsection Other uses for tweaks
+
+@cindex Transparente Objekte
+@cindex Entfernen von Objekten
+@cindex Verstecken von Objekten
+@cindex Unsichtbare Objekte
+@cindex transparent-Eigenschaft, Benutzung
+@cindex Objekte unsichtbar machen
+@cindex Objekte entfernen
+@cindex Objekte verstecken
+@cindex Noten zwischen Stimmen überbinden
+@cindex Überbinden von Noten zwischen Stimmen
+
+@subheading Tying notes across voices
+
+Das nächste Beispiel zeigt, wie man Noten von verschiedenen
+Stimmen miteinander verknüpfen kann, indem man Bindebögen
+für Überbindungen benutzt.  Normalerweise können nur zwei
+Noten der gleichen Stimme übergebunden werden.  Wenn
+man zwei Stimmen benutzt, wobei die überbundenen Noten
+sich in der selben befinden,
+
+@lilypond[quote,fragment,relative=2]
+<< { b8~ b8\noBeam }
+\\ { b[ g8] }
+>>
+@end lilypond
+
+@noindent
+und dann den ersten Hals nach oben unsichtbar macht,
+sieht es so aus, als ob die Überbindung zwischen
+den Stimmen stattfindet:
+
+@cindex Hals, Beispiel zur Veränderung
+@cindex Notenhals, Beispiel zur Veränderung
+@cindex transparent-Eigenschaft, Beispiel
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+  {
+    \once \override Stem #'transparent = ##t
+    b8~ b8\noBeam
+  }
+\\
+  { b[ g8] }
+>>
+@end lilypond
+
+Um sicherzugehen, dass der unsichtbare Hals den Bindebogen
+nicht zu sehr verkleinert, kann er verlängert werden, indem
+seine Länge (@code{length}) auf den Wert @code{8}
+gesetzt wird:
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+  {
+    \once \override Stem #'transparent = ##t
+    \once \override Stem #'length = #8
+    b8~ b8\noBeam
+  }
+\\
+  { b[ g8] }
+>>
 @end lilypond
 
-Sogar ganze musikalische Ausdrücke können eingefügt werden:
+
+@subheading Simulating a fermata in MIDI
+
+@cindex stencil-Eigenschaft, Benutzung
+@cindex Fermate, Benutzung in MIDI
+@cindex MIDI: Fermate erstellen
+
+Für Objekte außerhalb des Notensystems ist es normalerweise
+besser, die @code{stencil}-Eigenschaft anstelle der
+@code{transparent}-Eigenschaft zu verändern, wenn man
+sie vom fertigen Notensatz entfernen will.  Indem die
+@code{stencil}-Eigenschaft auf falsch (@code{#f}) gesetzt
+wird, wird das entsprechende Objekt vollständig entfernt.
+Das bedeutet, dass es die Positionierung der anderen Objekte
+nicht beeinflusst.
+
+Auf diese Art kann etwa das Tempo geändert werden, damit
+in der MIDI-Ausgabe eine Fermate zu hören ist, ohne dass
+im Notensatz etwas von diesen Tempoänderungen zu sehen
+ist.  Die Metronombezeichnung soll auch nicht die Position
+von Text an der gleichen Stelle oder die Abstände zwischen
+zwei Systemen beeinflussen.  Darum ist es am besten, 
+@code{stencil} auf @code{#f} zu setzen.  Im Beispiel wird
+der Unterschied zwischen einem unsichtbaren Objekt und
+einem entfernten Objekt gezeigt:
+
+@cindex Metronom-Bezeichnung, Beispiel zur Veränderung
+@cindex transparent-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  \relative c'' {
+    % Visible tempo marking
+    \tempo 4=120
+    a4 a a
+    \once \override Score.MetronomeMark #'transparent = ##t
+    % Invisible tempo marking to lengthen fermata in MIDI
+    \tempo 4=80
+    a\fermata
+    % New tempo for next section
+    \tempo 4=100
+    a a a a
+  }
+  \layout { }
+  \midi { }
+}
+@end lilypond
 
 @lilypond[quote,verbatim,ragged-right]
-pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
-#{
-  $x e8 a b $y b a e
-#})
-
-\relative c''{
-  \pattern c8 c8\f
-  \pattern {d16 dis} { ais16-> b\p }
+\score {
+  \relative c'' {
+    % Visible tempo marking
+    \tempo 4=120
+    a4 a a
+    \once \override Score.MetronomeMark #'stencil = ##f
+    % Invisible tempo marking to lengthen fermata in MIDI
+    \tempo 4=80
+    a\fermata
+    % New tempo for next section
+    \tempo 4=100
+    a a a a
+  }
+  \layout { }
+  \midi { }
+}
+@end lilypond
+
+@noindent
+Mit beiden Methoden wird die Tempobezeichnung entfernt, mit
+der die Fermate verlängert wird, und beide beeinflussen die
+MIDI-Ausgabe wie gewünscht.  Die unsichtbare Metronombezeichnung
+schiebt aber die folgende Bezeichnung in die Höhe, während
+das im zweiten Beispiel, in dem der @code{stencil} entfernt
+wurde, nicht passiert.
+
+
+@node Using variables for tweaks
+@subsection Using variables for tweaks
+
+@cindex Variablen, Benutzung zur Optimierung
+@cindex Optimierung mit Variablen
+
+@code{\override}-Befehle sind oft lang und mühsam zu
+tippen, und sie müssen immer absolut richtig sein.  Wenn
+derselbe Befehl mehrere Male benutzt werden muss, lohnt
+es sich oft schon, eine Variable zu definieren, in der er
+sich befindet.
+
+Als Beispiel sollen einige Worte im
+Gesangstext fett und kursiv hervorgehoben werden.
+Die Befehle @code{\italic} und @code{\bold} funktionieren
+im Gesangstext-Kontext nur, wenn sie gleichzeitig mit den Wörtern,
+auf die sie angewendet werden sollen, zusätzlich
+in eine @code{\markup}-Umgebung eingeschlossen
+werden. Durch diese Einbettung können einzelne Wörter nicht
+einfach zu einer Variable umgeformt werden.  Als
+Alternative versuchen wir, einen Befehl mit
+@code{\override} und @code{\revert} zu konstruieren.
+
+@example
+@code{\override Lyrics . LyricText #'font-shape = #'italic}
+@code{\override Lyrics . LyricText #'font-series = #'bold}
+
+@code{\revert Lyrics . LyricText #'font-shape}
+@code{\revert Lyrics . LyricText #'font-series}
+@end example
+
+Das wäre natürlich noch viel mühsamer, wenn viele Wörter eine
+Hervorhebung benötigen.  Anstelle dieser Befehlsketten @emph{können}
+wir jedoch zwei Variablen definieren.  Mit ihnen und dem entsprechenden
+Wort in geschweiften Klammern erreichen wir den gewünschten Effekt.
+Ein weiterer Vorteil ist, dass in diesem Fall die Leerzeichn um die
+Punkte herum nicht benötigt werden, weil sie nicht innerhalb des
+@code{lyricmode}-Kontextes interpretiert werden.  Hier ein Beispiel;
+die Bezeichnungen können natürlich auch kürzer sein,
+um noch weniger schreiben zu müssen:
+
+@cindex LyricText, Beispiel zur Veränderung
+@cindex Gesangstext, Beispiel zur Veränderung
+@cindex font-shape-Eigenschaft, Beispiel
+@cindex font-series-Eigenschaft, Beispiel
+
+@lilypond[quote,verbatim]
+emphasize = {
+  \override Lyrics.LyricText #'font-shape = #'italic
+  \override Lyrics.LyricText #'font-series = #'bold
+}
+normal = {
+  \revert Lyrics.LyricText #'font-shape
+  \revert Lyrics.LyricText #'font-series
+}
+
+global = { \time 4/4 \partial 4 \key c \major}
+SopranoMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
+TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
+VerseOne   = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
+VerseTwo   = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
+VerseFour  = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \clef "treble"
+      \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
+      \new Voice = "Alto" { \voiceTwo \AltoMusic }
+      \new Lyrics \lyricsto "Soprano" { \VerseOne   }
+      \new Lyrics \lyricsto "Soprano" { \VerseTwo   }
+      \new Lyrics \lyricsto "Soprano" { \VerseThree }
+      \new Lyrics \lyricsto "Soprano" { \VerseFour  }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \new Voice = "Tenor" { \voiceOne \TenorMusic }
+      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
+    >>
+  >>
+}
+@end lilypond
+
+
+@node Other sources of information
+@subsection Other sources of information
+
+Die Programmreferenz enthält sehr viel Information über LilyPond, aber 
+noch mehr Information findet sich in den internen 
+LilyPond-Dateien.  Um sie erforschen zu können, müssen Sie erst
+das richtige Verzeichnis auf Ihrem System finden.  Die Position
+hängt a) davon ab, ob Ihre LilyPond-Installation mit der vorkompilierten
+Version von der LilyPond-Internetseite vorgenommen wurde oder Sie
+die Version durch Ihren Paketmanager installiert haben (also
+z. B. in einer Linux-Distribution oder unter fink oder cygwin
+installiert), und b) auf welchem Betriebssystem Sie das Programm
+benutzen:
+
+@strong{Von lilypond.org heruntergeladen}
+
+@itemize @bullet
+@item Linux
+
+Wechseln Sie in das Verzeichnis
+@file{@var{INSTALL_VERZ}/lilypond/usr/share/lilypond/current/}
+
+@item MacOS X
+
+Wechseln Sie in das Verzeichnis
+@file{@var{INSTALL_VERZ}/LilyPond.app/Contents/Resources/share/lilypond/current/}
+indem Sie entweder mit dem Befehl @code{cd} vom Terminal aus
+in das Verzeichnis wechseln, oder mit Control-Klick auf das
+LilyPond-Programmsymbol gehen und @qq{Show Package Contents}
+auswählen.
+
+@item Windows
+
+Wechseln Sie mit dem Windows Explorer ins Verzeichnis
+@file{@var{INSTALL_VERZ}/LilyPond/usr/share/lilypond/current/}
+
+@end itemize
+
+@strong{Mit einem Paket-Manager installiert oder selber aus
+den Quellen kompiliert}
+
+Wechseln Sie in das Verzeichnis
+@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, wobei
+@var{PREFIX} bei Ihrem Paket-Manager oder dem
+@code{configure}-Skript gesetzt wird, und @var{X.Y.Z}
+die LilyPond-Versionsnummer.
+
+@smallspace
+
+In diesem Ordner sind die zwei interessanten Unterordner:
+
+@itemize
+@item @file{ly/} - beinhaltet Dateien im LilyPond-Format
+@item @file{scm/} - beinhaltet Dateien im Scheme-Format
+@end itemize
+
+Schauen wir uns zuerst einige Dateien in @file{ly/} an.
+Öffnen Sie @file{ly/property-init.ly} in einem Texteditor.
+Der, den Sie normalerweise für @code{.ly}-Dateien benutzen,
+genügt.  Diese Datei enthält die Definitionen aller vordefinierten
+Befehle für LilyPond, wie etwa @code{\stemUp} und
+@code{\slurDotted}.  Sie können sehen, dass es sich um
+nichts mehr handelt als Definitionen von Variablen, die eine
+oder mehrere @code{\override}-Befehle enthalten.  Der
+Befehl @code{/tieDotted} etwa wird folgendermaßen definiert:
+
+@example
+tieDotted = @{
+  \override Tie #'dash-period = #0.75
+  \override Tie #'dash-fraction = #0.1
+@}
+@end example
+
+Wenn Sie diese Voreinstellungen der vordefinierten Befehl nicht
+mögen, können Sie sie ganz einfach umdefinieren, genauso wie
+jede andere Variable auch, indem Sie sie an den Anfang Ihrer
+Quelldatei schreiben.
+
+Hier sind die wichtisgsten Dateien, die sich im Ordner
+@file{ly/} befinden:
+
+@multitable @columnfractions .4 .6
+@headitem Dateiname
+  @tab Inhalt
+@item @file{ly/engraver-init.ly}
+  @tab Definitionen von Engraver-Kontexten
+@item @file{ly/paper-defaults-init.ly}
+  @tab Spezifikationen von Voreinstellungen für Papiermaße
+@item @file{ly/performer-init.ly}
+  @tab Definitionen von Performer-Kontexten
+@item @file{ly/property-init.ly}
+  @tab Definitionen aller vordefinierten Befehle
+@item @file{ly/spanner-init.ly}
+  @tab Definitionen aller vordefinierten Strecker-Befehle
+@end multitable
+
+Andere Einstellungen (wie die Definitionen von Beschriftungsbefehlen)
+sind in @code{.scm}-(Scheme)-Dateien gespeichert.  Die
+Scheme-Programmiersprache wird benutzt, um eine
+programmierbare Schnittstelle zu den internen Operationen von
+LilyPond zu haben.  Eine weitere Erklärung dieser Dateien ist
+im Moment außerhalb des Rahmens dieses Handbuchs, denn
+sie erfordern einige Kenntnis der Scheme-Sprache.  Die Warnung
+ist hier angebracht, dass des ein gutes technisches Verständnis
+oder sehr viel Zeit braucht, um Scheme und diese
+Dateien zu verstehen (siehe auch @ref{Scheme tutorial}).
+
+Wenn Sie sich mit Scheme auskennen, sind hier mögliche
+interessante Dateien:
+
+@multitable @columnfractions .4 .6
+@headitem Dateiname
+  @tab Inhalt
+@item @file{scm/auto-beam.scm}
+  @tab Sub-Balken-Voreinstellungen
+@item @file{scm/define-grobs.scm}
+  @tab Voreinstellungen für Grob-Eigenschaften
+@item @file{scm/define-markup-commands.scm}
+  @tab Definition aller Markup-Beschriftungsbefehle
+@item @file{scm/midi.scm}
+  @tab Voreinstellung für die MIDI-Ausgabe
+@item @file{scm/output-lib.scm}
+  @tab Einstellungen mit Einfluss auf die Darstellung von Bunddiagrammen, Farben, Versetzungszeichen, Taktlinien usw.
+@item @file{scm/parser-clef.scm}
+  @tab Definitionen der unterstützten Schlüssel
+@item @file{scm/script.scm}
+  @tab Voreinstellungen for Artikulationszeichen
+@end multitable
+
+
+@node Avoiding tweaks with slower processing
+@subsection Avoiding tweaks with slower processing
+
+LilyPond kann einige zusätzliche Tests durchführen, während 
+die Noten gesetzt werden.  Dadurch braucht das Programm länger, 
+um den Notensatz zu produzieren, aber üblicherweise werden 
+weniger nachträgliche Anpassungen nötig sein.  Wenn eine
+Textsilbe oder eine Beschriftung aus dem Rand der Partitur
+ragt, wird durch diese Tests die Zeile gerade so weit komprimiert,
+dass sie sich innerhalb der Ränder befindet.
+
+@example
+\new Score \with @{
+ %  Um sicher zu gehen, dass Texte und Liedtext 
+ %  innerhalb der Papierränder bleiben
+ \override PaperColumn #'keep-inside-line = ##t
+ \override NonMusicalPaperColumn #'keep-inside-line = ##t
+@} @{
+   ...
+@}
+@end example
+
+
+@node Advanced tweaks with Scheme
+@subsection Advanced tweaks with Scheme
+
+Auch wenn viele Sachen mit @code{\override} und @code{\tweak}
+möglich sind, gibt es eine sehr viel mächtigere Möglichkeit, die
+Arbeitsweise von LilyPond mit Hilfe der programmierbaren Schnittstelle
+zu beeinflussen.  Code, der in der Scheme-Programmiersprache
+geschrieben ist, kann direkt in die interne Satzmaschine von LilyPond
+eingefügt werden.  Natürlich brauchen Sie dazu wenigstens ein
+grundlegendes Verständnis von Scheme.  Eine Einleitung finden
+Sie in der @ref{Scheme tutorial}.
+
+Zur Illustration der vielen Möglichkeiten soll gezeigt werden, dass eine
+Eigenschaft nicht nur auf eine Konstante, sondern auch auf eine
+Scheme-Prozedur gesetzt werden kann, die dann jedes Mal
+aufgerufen wird, wenn die Eigenschaft von LilyPond benutzt
+wird.  Die Eigenschaft kann damit dynamisch auf einen Wert
+gesetzt werden, der durch die Prozedur jedes Mal neu bestimmt
+wird.  In diesem Beispiel wird die Farbe der Notenköpfe entsprechend
+zu ihrer Position innerhalb der Tonleiter gesetzt.
+
+@cindex x11-Farben, Beispiel zur Benutzung
+@cindex Notenkopf, Beispiel zur Veränderung
+@cindex Farb-Eigenschaft, in Scheme-Prozedur gesetzt
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (color-notehead grob)
+  "Color the notehead according to its position on the staff."
+  (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
+    (case mod-position
+      ;;   Return rainbow colors
+      ((1) (x11-color 'red    ))  ; for C
+      ((2) (x11-color 'orange ))  ; for D
+      ((3) (x11-color 'yellow ))  ; for E
+      ((4) (x11-color 'green  ))  ; for F
+      ((5) (x11-color 'blue   ))  ; for G
+      ((6) (x11-color 'purple ))  ; for A
+      ((0) (x11-color 'violet ))  ; for B
+    )
+  )
+)
+
+\relative c' {
+  % Arrange to obtain color from color-notehead procedure
+  \override NoteHead #'color = #color-notehead
+  c2 c' |
+  b4 g8 a b4 c |
+  c,2 a' |
+  g1 |
+}
+\addlyrics {
+  Some -- where o -- ver the Rain -- bow, way up high,
 }
 @end lilypond
 
+Weiter Beispiele, die die Benutzung dieser programmierbaren
+Schnittstelle zeigen, finden sich in @ref{Tweaking with Scheme}.