]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation'
authorFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 9 Oct 2008 11:04:17 +0000 (13:04 +0200)
committerFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 9 Oct 2008 11:04:17 +0000 (13:04 +0200)
Documentation/de/index.html.in
Documentation/de/user/macros.itexi
Documentation/de/user/scheme-tutorial.itely
Documentation/de/user/tweaks.itely
Documentation/de/user/working.itely
Documentation/es/user/input.itely
Documentation/es/user/percussion.itely
Documentation/po/es.po
Documentation/user/percussion.itely

index 8faf9f8bedffa7f648e839824cd63bc8e5eaab66..8d08dfd686388c4748cae2a2e88927cacb421ba9 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
-    Translation of GIT committish: 9700b86dcfbe60138b4a3f83d98578bcddfbbc08
+    Translation of GIT committish: 550152ed5d5015d13abf2af83b2e040f996a66a4
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -75,7 +75,9 @@ als <a class="title" href="user/lilypond-learning.de.pdf">PDF</a>)
 
         <li>
   <a  class="title" href="user/lilypond-internals/index.html">Referenz der Interna (IR)</a>
-  (auf <a class="title" href="user/lilypond-internals-big-page.html">einer gro&szlig;en Seite</a> ~ 1 Mb)
+  (auf <a class="title" href="user/lilypond-internals-big-page.html">einer gro&szlig;en Seite</a> ~ 1 Mb
+  als <a class="title" href="user/lilypond-internals.pdf">PDF</a>)
+
       <br>(Definitionen, wie die Standardeinstellungen ver&auml;ndert k&ouml;nnen.)</li>
          
    </ul>
@@ -133,7 +135,14 @@ als <a class="title" href="user/lilypond-snippets.pdf">PDF</a>)
         </tr>
       </tbody>
     </table>
-    <p><strong>Anmerkung</strong>: Wie auf allen HTML-Seiten dieser Dokumentation finden
+    <p>
+     Die gesamte Dokumentation, die Sie auf dieser Seite finden, gibt
+     es auch zum <strong>Herunterladen</strong>.
+     <a href="http://download.linuxaudio.org/lilypond/binaries/documentation/lilypond-@TOPLEVEL_VERSION@-1.documentation.tar.bz2">Laden
+     Sie sich das Tar-komprimierte Paket herunter</a>
+    </p>
+    <p> 
+     <strong>Anmerkung</strong>: Wie auf allen HTML-Seiten dieser Dokumentation finden
        sich am unteren Ende Links zu &Uuml;bersetzungen in anderen Sprachen.
     </p>
   </body>
index 7b0f44d78538457a72e4c3d9092e07241d63dad8..333775a2cc03d1d96f4abfc900418528079a2dfc 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: a88c1b861df238ad1c000e6a86926e6f19f2fedd
+    Translation of GIT committish: 2881ea603b63e4e335dc1104b0c22c71f373b20d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 6f0fdea4323d6dfe0932ef7ee957b1a0f20a8005..77575357063e6391b37cc4b745f89e35148e805f 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 79583ed701a443510826b8f22f20fd6e7d5eccbe
+    Translation of GIT committish: 550152ed5d5015d13abf2af83b2e040f996a66a4
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 
 LilyPond verwendet die Scheme-Programmiersprache sowohl als Teil 
 der Eingabesyntax als auch als internen Mechanismus, um Programmmodule 
-zusammenzufügen. Dieser Abschnitt ist ein sehr kurzer Überblick über 
-die Dateneingabe mit Scheme. Wenn Sie mehr über Scheme wissen wollen,
+zusammenzufügen.  Dieser Abschnitt ist ein sehr kurzer Überblick über 
+die Dateneingabe mit Scheme.  Wenn Sie mehr über Scheme wissen wollen,
 gehen Sie zu @uref{http://@/www@/.schemers@/.org}.
 
 Das Grundlegendste an einer Sprache sind Daten: Zahlen, Zeichen, 
-Zeichenketten, Listen usw. Hier ist eine Liste der Datentypen, die für 
+Zeichenketten, Listen usw.  Hier ist eine Liste der Datentypen, die für 
 LilyPond-Eingabedateien relevant sind.
 
 @table @asis
@@ -111,38 +111,38 @@ wie @code{(* 3 4)} wird durch seinen Wert @code{12} ersetzt. Ähnlich
 verhält es sich mit Variablen. Nachdem eine Variable definiert ist:
 
 @example
-twelve = #12
+zwoefl = #12
 @end example
 
 @noindent
 kann man sie in Ausdrücken weiterverwenden:
 
 @example
-twentyFour = #(* 2 twelve)
+vierundzwanzig = #(* 2 zwoelf)
 @end example
 
 @noindent
-Die 24 wird in der Variablen @code{twentyFour} gespeichert.
+Die 24 wird in der Variablen @code{vierundzwanzig} gespeichert.
 Die gleiche Zuweisung kann auch vollständig in Scheme geschrieben 
 werden:
 
 @example
-#(define twentyFour (* 2 twelve))
+#(define vierundzwanzig (* 2 zwoelf))
 @end example
 
 Der @emph{Name} einer Variable ist auch ein Ausdruck, genauso wie 
 eine Zahl oder eine Zeichenkette. Er wird wie folgt eingegeben:
 
 @example
-#'twentyFour
+#'vierundzwanzig
 @end example
 
 @funindex #'symbol
 @cindex Zitieren in Scheme
 
 Das Apostroph @code{'} verhindert, dass bei der Scheme-Auswertung
- @code{twentyFour} durch @code{24} ersetzt wird. Anstatt dessen erhalten 
- wir die Bezeichnung @code{twentyFour}.
+ @code{vierundzwanzig} durch @code{24} ersetzt wird. Anstatt dessen erhalten 
+ wir die Bezeichnung @code{vierundzwanzig}.
 
 Diese Syntax wird sehr oft verwendet, weil es manche
 Einstellungsveränderungen erfordern, dass Scheme-Werte einer 
@@ -156,14 +156,14 @@ Diese Anweisung verändert die Erscheinung der Notenhälse. Der Wert
 @code{2.6} wird der Variable @code{thickness} (Dicke) eines 
 @code{Stem}-(Hals)-Objektes gleichgesetzt. 
 @code{thickness} wird relativ zu den Notenlinien errechnet, in diesem 
-Fall sind die Hälse also 2,6 mal so dick wie die Notenlinien. Dadurch 
+Fall sind die Hälse also 2,6 mal so dick wie die Notenlinien.  Dadurch 
 werden Hälse fast zweimal so dick dargestellt, wie sie normalerweise sind. 
 Um zwischen Variablen zu unterscheiden, die in den Quelldateien direkt 
-definiert werden (wie @code{twentyFour} weiter oben), und zwischen denen, 
+definiert werden (wie @code{vierundzwanzig} weiter oben), und zwischen denen, 
 die für interne Objekte zuständig sind, werden hier die ersteren 
 @qq{Bezeichner} genannt, die letzteren dagegen @qq{Eigenschaften}.
 Das Hals-Objekt hat also eine @code{thickness}-Eigenschaft, während 
-@code{twentyFour} ein Bezeichner ist.
+@code{vierundzwanzig} ein Bezeichner ist.
 
 @cindex Eigenschaften versus Bezeichner
 @cindex Bezeichner versus Eigenschaften
@@ -222,3 +222,77 @@ Symbolliste und eine Liste von Listen:
 
 
 
+@menu
+* Tweaking with Scheme::        
+@end menu
+
+@node Tweaking with Scheme
+@appendixsec Tweaking with Scheme
+
+Wir haben gesehen wie LilyPond-Eingabe massiv beeinflusst
+werden kann, indem Befehle wie etwa
+@code{\override TextScript #'extra-offset = ( 1 . -1)}
+benutzt werden.  Aber es wurde gezeigt, dass Scheme noch
+mächtiger ist.  Eine bessere Erklärung findet sich in der@ref{Scheme tutorial} und in
+@ruser{Interfaces for programmers}.
+
+Scheme kann auch in einfachen @code{\override}-Befehlen
+benutzt werden:
+
+TODO Find a simple example
+@c This isn't a valid example with skylining
+@c It works fine without padText  -td
+
+@ignore
+@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
+}
+@end lilypond
+@end ignore
+
+Es kann auch benutzt werden, um Befehle zu erstellen:
+
+@c Check this is a valid example with skylining
+@c It is - 'padding still works
+
+@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 }
+#})
+
+\relative c'' {
+  c2 e
+  \tempoMark #3.0 #"Allegro"
+  g c
+}
+@end lilypond
+
+Sogar ganze Musikausdrücke können eingefügt werden:
+
+@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 }
+}
+@end lilypond
+
+
index c7bcae1d333b27c54a772857ed5971f8fdfad066..62ca00eb8376a2f61531bf2ea92188f3a62df4ef 100644 (file)
@@ -1,7 +1,7 @@
 @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: 550152ed5d5015d13abf2af83b2e040f996a66a4
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -831,7 +831,9 @@ 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.
+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:
@@ -961,6 +963,10 @@ wenn sie in einem @code{\override}-Befehl benutzt werden.
   @tab @code{'#(#t #t #f)}
 @end multitable
 
+@seealso
+
+Handbuch zum Lernen: @ref{Scheme tutorial}.
+
 
 @node Appearance of objects
 @section Appearance of objects
@@ -2199,332 +2205,1027 @@ die wir uns im folgenden Abschnitt genauer anschauen werden.
 
 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.
+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.
 
-@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.
+Es gibt im Grunde drei Herangehensweisen, überlappende Notation
+zu verbessern.  Man sollte sie in der folgenden Reihenfolge 
+anwenden:
 
-@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
+@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)
+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
+
+@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 Fixing overlapping notation
+@subsection Fixing overlapping notation
+
+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 (Verschiegungs-Eigenschaft)
+
+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.
+
+@lilypond[quote,fragment,relative=1,verbatim]
+c2\fermata
+\override Script #'padding = #3
+b2\fermata
 @end lilypond
 
-@cindex Abstände füllen
+@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
 
-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.
+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]
-  % 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
+<b bes>
+<b! bes>
+<b? bes>
 @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.
+@noindent
+Keiner davon funktioniert, und der zweite und dritte weist 
+hässliche Zusammenstöße zwischen den Zeichen auf.
 
-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:
+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:
 
-@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.
+@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
+
+@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:
 
 @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
+\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
 
-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:
 
-@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
+@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:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
+\voiceOne
+< a \2 >
+\once \override StringNumber #'self-alignment-X = #RIGHT
+< a \2 >
 @end lilypond
 
-@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.
 
-Eine letzte Warnung: in diesem Kapitel haben wir den Befehl 
+@subheading staff-position property
+@cindex staff-position-Eigenschaft
+@cindex Notensystem-Position-Eigenschaft
 
-@example
-\once \override TextScript @dots{}
-@end example
+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:
 
-@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.
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<< {c c c c} \\ {R1} >>
+@end lilypond
 
-@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
+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:
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<<
+  {c c c c}
+\\
+  \override MultiMeasureRest #'staff-position = #-8
+  {R1}
+>>
 @end lilypond
 
-@seealso
+Das ist besser, als etwa @code{extra-offset} zu benutzen, denn
+in unserem Fall wird die Hilfslinie der Pause automatisch gesetzt.
 
-@ruser{The \override command}, @ref{Common tweaks}.
+@subheading extra-offset property
+@cindex extra-offset-Eigenschaft
+@cindex Zusätzlicher Abstand, Positionierung
 
+Die @code{extra-offset}-Eigenschaft bietet vollständige Kontrolle
+über die Positionierung von Objekten in horizontaler und vertikaler
+Richtung.
 
-@node Fixing overlapping notation
-@subsection Fixing overlapping notation
+Im Beispiel unten ist das zweite Fingersatzzeichen (@code{Fingering}) etwas nach
+links und 1,8 Notenlinienabstände nach unten verschoben:
+
+@lilypond[quote,fragment,relative=1,verbatim]
+\stemUp
+f-5
+\once \override Fingering
+    #'extra-offset = #'(-0.3 . -1.8)
+f-5
+@end lilypond
 
-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.
 
-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:
+@subheading positions property
+@cindex positions-Eigenschaft
 
-@quotation
-@seealso
+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:
 
-Programmreferenz: @rinternals{DynamicText}, @rinternals{Hairpin}.
-Vertikale Positionierung dieser Symbole wird mit
-@rinternals{DynamicLineSpanner} erreicht.
-@end quotation
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4  \acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
 
 @noindent
-Um also Dynamik-Zeichen zu verschieben, muss
+Man könnte einfach den Phrasierungsbogen oberhalb der Noten setzen, und
+das wäre auch die beste Lösung:
 
-@example
-\override DynamicLineSpanner #'padding = #2.0
-@end example
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\phrasingSlurUp
+\acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
 
-benutzt werden. Es ist nicht genügend Platz, um jedes Objekt aufzulisten,
-aber die gebräuchlichsten finden sich hier:
+@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
 
-@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
+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:
+
+@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-Eigenschaft
+@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:
+
+@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
 
-@untranslated
+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 The following should appear as music without code
+@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
+}
 
-@c DEPRECATED SECTION
-@node Common tweaks
-@section Common tweaks
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-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.
+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:
 
-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.
+@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.
+}
 
-@itemize @bullet
+lhMusic = \relative c' {
+  r2 <c g ees>2 |
+  <d g, d>1 |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@cindex padding
-@cindex Füllung
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-@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.
+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,fragment,relative=1,verbatim]
-c2\fermata
-\override Script #'padding = #3
-b2\fermata
-@end lilypond
+@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.\)
+}
 
-@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
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1) |
+  r2. d,,4 r4 r |
+  r4
+}
 
-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}.
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
+@end lilypond
 
-@cindex extra-offset
-@cindex zusätzlicher Abstand
-@cindex Abstand, zusätzlicher
+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:
 
-@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,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.\)
+}
 
-Im folgenden Beispiel wird die zweite Fingersatzbezeichnung etwas nach 
-links verschoben und 1,8 Notenzeilenabstände nach unten:
+lhMusic = \relative c' {
+  r2 <c g ees>2( |
+  <d g, d>1)\arpeggio |
+  r2. d,,4 r4 r |
+  r4
+}
 
-@lilypond[quote,fragment,relative=1,verbatim]
-\stemUp
-f-5
-\once \override Fingering
-    #'extra-offset = #'(-0.3 . -1.8)
-f-5
+\score {
+  \new PianoStaff <<
+    \new Staff = "RH"  <<
+      \key g \minor
+      \rhMusic
+    >>
+    \new Staff = "LH" <<
+      \key g \minor
+      \clef "bass"
+      \lhMusic
+    >>
+  >>
+}
 @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.
+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
 
-@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,
+@example
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
+@end example
 
-@lilypond[quote,fragment,relative=2]
-<< {
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
-@end lilypond
+@noindent
+aus der Notationsreferenz, die wir an den Beginn unseres
+Abschnittes stellen und
+
+@example
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
+@end example
 
 @noindent
-und dann der erste Hals nach oben unsichtbar gemacht wird, scheint der 
-Bindebogen die Stimme zu wechseln:
+um das Verhalten wieder auszuschalten. Das sieht so aus:
 
+@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
+  % Start polyphonic section of four voices
+  <<
+    {c,8[ d fis bes a] | }
+  \\
+    {c,8~ c2 | }
+  \\
+    {s8 d2 | }
+  \\
+    {s4 fis4. | }
+  >>
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
+  g2.\)
+}
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+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
 
-Damit der Hals den Bogen nicht zu sehr verkleinert, wird seine 
-Länge (@code{length}) auf den Wert @code{8} gesetzt:
+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]
+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.\)
+}
 
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
-  \once \override Stem #'transparent = ##t
-  \once \override Stem #'length = #8
-  b8~ b8\noBeam
-} \\ {
-  b[ g8]
-} >>
+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
 
-@end itemize
+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 Veränderungen von Abständen
-@cindex Optimierung von Abständen
-@cindex Abstände
+@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
 
-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.
 
 @node Further tweaking
 @section Further tweaking
@@ -2540,120 +3241,410 @@ im relevanten Teil der Programmreferenz.
 @node Other uses for tweaks
 @subsection Other uses for tweaks
 
-@untranslated
+@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 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 ober die Überbindung zwischen
+den Stimmen stattfindet:
+
+@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
+
+@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:
+
+@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]
+\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
 
-@untranslated
+@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
+noch in eine @code{\markup}-Umgebung eingeschlossen
+werden, was es mühsam macht, sie zu tippen.  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.  Also setzen wir
+anstatt dessen zwei Variablen, die diese Befehlsketten
+enthalten.  Die Namen können natürlich auch kürzer sein,
+um noch weniger schreiben zu müssen.  Die Benutzung der Befehle
+ist im Notenbeispiel gezeigt.
+
+@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.
+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:
 
-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.
+@strong{Von lilypond.org heruntergeladen}
 
 @itemize @bullet
+@item Linux
+
+Wechseln Sie in das Verzeichnis
+@file{@var{INSTALL_VERZ}/lilypond/usr/share/lilypond/current/}
 
-@item Linux: @file{@var{installdir}/lilypond/usr/share/lilypond/current/}
+@item MacOS X
 
-@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}.
+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: @file{@var{installdir}/LilyPond/usr/share/lilypond/current/}
+@item Windows
+
+Wechseln Sie mit dem Windows Explorer ins Verzeichnis
+@file{@var{INSTALL_VERZ}/LilyPond/usr/share/lilypond/current/}
 
 @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.
+@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.ly}
+  @tab Specifikationen 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
+@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, 
+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.
+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
-%%  Um sicher zu gehen, dass Texte und Liedtext 
-%%  innerhalb der Papierränder bleiben
-\override Score.PaperColumn #'keep-inside-line = ##t 
+\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
 
-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}.
-
-Scheme kann benutzt werden, um einfach nur Befehle zu @qq{überschreiben} 
-(@code{\override}):
+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.
 
 @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
+#(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 |
 }
-@end lilypond
-
-Hiermit können aber auch neue Befehle erstellt werden:
-
-@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 }
-#})
-
-\relative c'' {
-  c2 e
-  \tempoMark #3.0 #"Allegro"
-  g c
-}
-@end lilypond
-
-Sogar ganze musikalische Ausdrücke können eingefügt werden:
-
-@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 }
+\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}.
index 2da0721b78fc2f728c62521221334617eb097f01..3803169ee8b2b5041fd38e49bef0c21c1f5c5925 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 3121682025660b6c85fbf3f22bb9cd8396699ad1
+    Translation of GIT committish: 550152ed5d5015d13abf2af83b2e040f996a66a4
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -13,7 +13,7 @@
 @chapter Working on LilyPond projects
 
 Dieses Kapitel erklärt, wie bestimmte häufige Probleme zu 
-lösen oder ganz zu vermeiden sind. Wenn Sie schon 
+lösen oder ganz zu vermeiden sind.  Wenn Sie schon 
 Programmiererfahrung mitbringen, erscheinen diese Hinweise 
 vielleicht überflüssig, aber es wird dennoch empfohlen, dieses Kapitel 
 zu lesen.
@@ -36,24 +36,24 @@ Aber wie geht man das am besten an?
 
 Solange LilyPond Ihre Dateien versteht und die Noten so setzt, 
 wie Sie das wollen, spielt es eigentlich keine Rolle, wie Ihre 
-Dateien aussehen. Es gibt aber trotzdem ein paar Dinge, die man 
+Dateien aussehen.  Es gibt aber trotzdem ein paar Dinge, die man 
 beim Schreiben von LilyPond-Code berücksichtigen sollte.
 
 @itemize @bullet
-@item Was ist, wenn Sie einen Fehler machen? Die Struktur einer 
+@item Was ist, wenn Sie einen Fehler machen?  Die Struktur einer 
 LilyPond-Datei kann es erleichtern (oder erschweren), bestimmte 
 Fehler zu finden.
 
 @item Was ist, wenn Sie Ihre Dateien mit jemandem austauschen 
-wollen? Oder Ihre Dateien nach einige Jahren noch einmal überarbeiten 
-wollen? Manche LilyPond-Dateien versteht man auf den ersten Blick, 
+wollen?  Oder Ihre Dateien nach einige Jahren noch einmal überarbeiten 
+wollen?  Manche LilyPond-Dateien versteht man auf den ersten Blick, 
 über anderen muss man eine Stunde grübeln, um die Struktur zu ahnen.
 
 @item Was ist, wenn sie Ihre Dateien auf eine neuere LilyPond-Version 
-aktualisieren wollen? Die Syntax der Eingabesprache verändert sich 
-allmählich mit Verbesserungen im Programm. Die meisten Veränderungen 
+aktualisieren wollen?  Die Syntax der Eingabesprache verändert sich 
+allmählich mit Verbesserungen im Programm.  Die meisten Veränderungen 
 können automatisch durch @code{convert-ly} gelöst werden, aber 
-bestimmte Änderungen brauchen Handarbeit. LilyPond-Dateien können 
+bestimmte Änderungen brauchen Handarbeit.  LilyPond-Dateien können 
 strukturiert werden, damit sie einfacher aktualisierbar sind.
 @end itemize
 
@@ -74,23 +74,23 @@ Hier einige Vorschläge, wie Sie Probleme vermeiden oder lösen können:
 @itemize @bullet
 @item @strong{Schreiben Sie immer mit @code{\version} die 
 Versionsnummer 
-in jede Datei}. Beachten Sie, dass in allen Vorlagen die Versionsnummer  
-@code{\version "2.11.61"} eingetragen ist. Es empfiehlt sich, in alle 
+in jede Datei}.  Beachten Sie, dass in allen Vorlagen die Versionsnummer  
+@code{\version "2.11.61"} eingetragen ist.  Es empfiehlt sich, in alle 
 Dateien, unabhängig von ihrer Größe, den @code{\version}-Befehl 
-einzufügen. Persönliche Erfahrung hat gezeigt, dass es ziemlich 
+einzufügen.  Persönliche Erfahrung hat gezeigt, dass es ziemlich 
 frustrierend sein kann zu erinnern, welche Programmversion man etwa 
-vor einem Jahr verwendet hat. Auch @code{convert-ly} benötigt die 
+vor einem Jahr verwendet hat.  Auch @code{convert-ly} benötigt die 
 Versionsnummer.
 
 @item @strong{Benutzen Sie Überprüfungen}: @ruser{Octave checks}, und
 @ruser{Bar and bar number checks}.  Wenn Sie hier und da diese
 Überprüfungen einfügen, finden Sie einen möglichen Fehler weit
-schneller. Wie oft aber ist @qq{hier und da}?  Das hängt von der
-Komplexität der Musik ab. Bei einfachen Stücken reicht es vielleicht
+schneller.  Wie oft aber ist @qq{hier und da}?  Das hängt von der
+Komplexität der Musik ab.  ei einfachen Stücken reicht es vielleicht
 ein- oder zweimal, in sehr komplexer Musik sollte man sie vielleicht
 in jeden Takt einfügen.
 
-@item @strong{Ein Takt pro Textzeile}. Wenn irgendetwas kompliziertes 
+@item @strong{Ein Takt pro Textzeile}.  Wenn irgendetwas kompliziertes 
 vorkommt, entweder in der Musik selber oder in der Anpassung der 
 Ausgabe,
 empfiehlt es sich oft, nur einen Takt pro Zeile zu schreiben. 
@@ -112,13 +112,13 @@ Probleme entstehen durch ungerade Anzahl von  @code{@{} and
 @code{@}}-Klammern.
 
 @item @strong{Schreiben Sie Tondauerangaben} am Anfang von 
-Abschnitten und Bezeichnern. Wenn Sie beispielsweise 
+Abschnitten und Bezeichnern.  Wenn Sie beispielsweise 
  @code{c4 d e} am Anfang eines Abschnittes schreiben, 
 ersparen Sie sich viele Probleme, wenn Sie ihre Musik 
 eines Tages umarrangieren wollen.
 
 @item @strong{Trennen Sie Einstellungen} von den eigentlichen 
-Noten. Siehe auch @ref{Saving typing with variables and functions} 
+Noten.  Siehe auch @ref{Saving typing with variables and functions} 
 und
 @ref{Style sheets}.
 
@@ -135,15 +135,15 @@ LilyPond-Eingabe einer gedruckten Partitur):
 
 @item Schreiben Sie ein System ihrer Quelle nach dem anderen 
 (aber trotzdem nur einen Takt pro Textzeile) und überprüfen 
-Sie jedes System, nachdem Sie es fertig kopiert haben. Mit dem 
+Sie jedes System, nachdem Sie es fertig kopiert haben.  Mit dem 
 @code{showLastLength}-Befehl können Sie den Übersetzungsprozess 
 beschleunigen. Siehe auch 
 @ruser{Skipping corrected music}.
 
 @item Definieren Sie @code{mBreak = @{ \break @}} und schreiben Sie
  @code{\mBreak} in der Quelldatei immer dann, wenn im Manuskript 
-ein Zeilenumbruch vorkommt. Das macht es einfacher, die gesetzte 
-Zeile mit den ursprünglichen Noten zu vergleichen. Wenn Sie die 
+ein Zeilenumbruch vorkommt.  Das macht es einfacher, die gesetzte 
+Zeile mit den ursprünglichen Noten zu vergleichen.  Wenn Sie die 
 Partitur fertig gestellt haben, könne Sie  @code{mBreak = @{ @}}, 
 also leer definieren, um diese manuellen Zeilenumbrüche zu entfernen. 
 Damit kann dann LilyPond selber entscheiden, wohin es passende 
@@ -161,20 +161,20 @@ unumgänglich, dass Sie ihre LilyPond-Dateien klar strukturieren.
 @itemize @bullet
 
 @item @strong{Verwenden Sie Variablen für jede Stimme}, innerhalb 
-der Definition sollte so wenig Struktur wie möglich sein. Die 
+der Definition sollte so wenig Struktur wie möglich sein.  Die 
 Struktur des @code{\score}-Abschnittes verändert sich am ehesten, 
-während die @code{violin}-Definition sich wahrscheinlich mit einer 
+während die @code{violine}-Definition sich wahrscheinlich mit einer 
 neuen Programmversion nicht verändern wird.
 
 @example
-violin = \relative c'' @{
+violine = \relative c'' @{
 g4 c'8. e16
 @}
 ...
 \score @{
   \new GrandStaff @{
     \new Staff @{
-      \violin
+      \violine
     @}
   @}
 @}
@@ -182,7 +182,7 @@ g4 c'8. e16
 
 @item @strong{Trennen Sie Einstellungen von den Noten}.  Diese 
 Empfehlung wurde schon im Abschnitt @ref{General suggestions} gegeben, 
-aber für große Projekte ist es unumgänglich. Muss z. B. die 
+aber für große Projekte ist es unumgänglich.  Muss z. B. die 
 Definition für @code{fdannp} verändert werden, so braucht 
 man es nur einmal vorzunehmen und die Noten in der Geigenstimme, 
 @code{violin}, bleiben unberührt.
@@ -252,11 +252,11 @@ violin = \relative c'' {
 @end lilypond
 
 Die Variablen haben in diesem Beispiel deutlich die 
-Tipparbeit erleichtert. Aber es lohnt sich, sie zu 
+Tipparbeit erleichtert.  Aber es lohnt sich, sie zu 
 einzusetzen, auch wenn man sie nur einmal anwendet, 
 denn sie vereinfachen die Struktur. 
 Hier ist das vorangegangene Beispiel ohne 
-Variablen. Es ist sehr viel komplizierter zu lesen, 
+Variablen.  Es ist sehr viel komplizierter zu lesen, 
 besonders die letzte Zeile. 
 
 @example
@@ -271,6 +271,9 @@ violin = \relative c'' @{
 @}
 @end example
 
+@c TODO Replace the following with a better example  -td
+@c Skylining handles this correctly without padText
+
 Bis jetzt wurde nur statische Substitution vorgestellt 
 -- wenn LilyPond den Befehl @code{\padText} findet, wird 
 er ersetzt durch durch unsere vorherige Definition (alles, 
@@ -297,23 +300,23 @@ padText =
 
 Die Benutzung von Variablen hilft auch, viele Schreibarbeit zu 
 vermeiden, wenn die Eingabesyntax von LilyPond sich verändert 
-(siehe auch @ref{Updating old files}). Wenn nur eine einzige 
+(siehe auch @ref{Updating old files}).  Wenn nur eine einzige 
 Definition (etwa @code{\dolce}) für alle Dateien verwendet wird 
 (vgl. @ref{Style sheets}), muss nur diese einzige Definition 
-verändert werden, wenn sich die Syntax ändert. Alle Verwendungen 
+verändert werden, wenn sich die Syntax ändert.  Alle Verwendungen 
 des Befehles beziehen sich dann auf die neue Definition.
 
 @node Style sheets
 @subsection Style sheets
 
 Die Ausgabe, die LilyPond erstellt, kann sehr stark modifiziert 
-werden, siehe @ref{Tweaking output} für Einzelheiten. Aber wie 
+werden, siehe @ref{Tweaking output} für Einzelheiten.  Aber wie 
 kann man diese Änderungen auf eine ganze Serie von Dateien 
-anwenden? Oder die Einstellungen von den Noten trennen? Das 
+anwenden?  Oder die Einstellungen von den Noten trennen?  Das 
 Verfahren ist ziemlich einfach.
 
-Hier ist ein Beispiel. Es ist nicht schlimm, wenn Sie nicht auf 
-Anhieb die Abschnitte mit den ganzen @code{#()} verstehen. Das 
+Hier ist ein Beispiel.  Es ist nicht schlimm, wenn Sie nicht auf 
+Anhieb die Abschnitte mit den ganzen @code{#()} verstehen.  Das 
 wird im Kapitel @ref{Advanced tweaks with Scheme} erklärt.
 
 @lilypond[quote,verbatim,ragged-right]
@@ -337,12 +340,12 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 Es treten einige Probleme mit überlappenden Symbolen auf. Sie 
 werden beseitigt mit den Tricks aus dem Kapitel @ref{Moving objects}.
 Aber auch die @code{mpdolce} und @code{tempoMark}-Definitionen 
-können verbessert werden. Sie produzieren das Ergebnis, das 
+können verbessert werden.  Sie produzieren das Ergebnis, das 
 gewünscht ist, aber es wäre schön, sie auch in anderen Stücken 
-verwenden zu können. Man könnte sie natürlich einfach kopieren 
-und in die anderen Dateien einfügen, aber das ist lästig. Die 
+verwenden zu können.  Man könnte sie natürlich einfach kopieren 
+und in die anderen Dateien einfügen, aber das ist lästig.  Die 
 Definitionen verbleiben auch in der Notendatei und diese @code{#()} 
-sehen nicht wirklich schön aus. Sie sollen in einer anderen 
+sehen nicht wirklich schön aus.  Sie sollen in einer anderen 
 Datei versteckt werden:
 
 @example
@@ -397,14 +400,14 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 Das sieht schon besser aus, aber es sind noch einige Verbesserungen 
 möglich. 
 Das Glissando ist schwer zu sehen, also soll es etwas dicker erscheinen 
-und dichter an den Notenköpfen gesetzt werden. Das Metronom-Zeichen 
-soll über dem Schlüssel erscheinen, nicht über der ersten Note. Und 
+und dichter an den Notenköpfen gesetzt werden.  Das Metronom-Zeichen 
+soll über dem Schlüssel erscheinen, nicht über der ersten Note.  Und 
 schließlich kann unser Kompositionsprofessor @qq{C}-Taktangaben 
 überhaupt nicht leiden, also 
 müssen sie in @qq{4/4} verändert werden.
 
 Diese Veränderungen sollten Sie aber nicht in der @file{music.ly}-Datei 
-vornehmen. Ersetzen Sie die @file{definitions.ly}-Datei hiermit:
+vornehmen.  Ersetzen Sie die @file{definitions.ly}-Datei hiermit:
 
 @example
 %%%  definitions.ly
@@ -465,11 +468,11 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 }
 @end lilypond
 
-Das sieht schon besser aus! Aber angenommen Sie möchten dieses 
-Stück jetzt veröffentlichen. Ihr Kompositionsprofessor mag 
+Das sieht schon besser aus!  Aber angenommen Sie möchten dieses 
+Stück jetzt veröffentlichen.  Ihr Kompositionsprofessor mag 
 die @qq{C}-Taktangaben nicht, aber Sie finden sie irgendwie 
-schöner. Also kopieren Sie die Datei @file{definitions.ly} nach 
-@file{web-publish.ly} und verändern diese. Weil die Noten 
+schöner.  Also kopieren Sie die Datei @file{definitions.ly} nach 
+@file{web-publish.ly} und verändern diese.  Weil die Noten 
 in einer PDF-Datei auf dem Bildschirm angezeigt werden sollen, 
 bietet es sich auch an, die gesamte Ausgabe zu vergrößern.
 
@@ -532,7 +535,7 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 
 In der Notendatei muss jetzt nur noch @code{\include "definitions.ly"}
 durch @code{\include "web-publish.ly"} ausgetauscht werden. 
-Das könnte man natürlich noch weiter vereinfachen. Also 
+Das könnte man natürlich noch weiter vereinfachen.  Also 
 eine Datei @file{definitions.ly}, die nur die Definitionen 
 von @code{mpdolce} und @code{tempoMark} enthält, eine Datei 
 @file{web-publish.ly}, die alle die Änderungen für den 
@@ -549,9 +552,9 @@ Der Anfang der @file{music.ly}-Datei würde dann so aussehen:
 @end example
 
 Durch diese Herangehensweise kann auch bei der Erstellung 
-von nur einer Ausgabeversion Arbeit gespart werden. Ich 
+von nur einer Ausgabeversion Arbeit gespart werden.  Ich 
 benutze ein halbes Dutzend verschiedener Stilvorlagen 
-für meine Projekte. Jede Notationsdatei fängt an mit 
+für meine Projekte.  Jede Notationsdatei fängt an mit 
 @code{\include "../global.ly"}, welches folgenden Inhalt hat:
 
 
@@ -578,21 +581,21 @@ für meine Projekte. Jede Notationsdatei fängt an mit
 @node Updating old files
 @subsection Updating old files
 
-Die Syntax von LilyPond verändert sich ab und zu. Wenn LilyPond 
+Die Syntax von LilyPond verändert sich ab und zu.  Wenn LilyPond 
 besser wird, muss auch die Syntax (Eingabesprache) entsprechend 
-angepasst werden. Teilweise machen diese Veränderungen die 
+angepasst werden.  Teilweise machen diese Veränderungen die 
 Eingabesprache einfacher lesbar, teilweise dienen sie dazu, neue 
 Eigenschaften des Programmes benutzbar zu machen.
 
 LilyPond stellt ein Programm bereit, das Aktualisierungen 
-vereinfacht: @code{convert-ly}. Einzelheiten zur Programmbenutzung 
+vereinfacht: @code{convert-ly}.  Einzelheiten zur Programmbenutzung 
 finden sich in @rprogram{Updating files with convert-ly}.
 
 Leider kann @code{convert-ly} nicht alle Veränderungen der Syntax
-berücksichtigen. Hier werden einfache @qq{Suchen und
+berücksichtigen.  Hier werden einfache @qq{Suchen und
 Ersetzen}-Veränderungen vorgenommen (wie etwa @code{raggedright} zu
-becoming @code{ragged-right}), aber einige Veränderungen sind zu
-kompliziert. Die Syntax-Veränderungen, die das Programm nicht
+@code{ragged-right}), aber einige Veränderungen sind zu
+kompliziert.  Die Syntax-Veränderungen, die das Programm nicht
 berücksichtigt, sind im Kapitel @rprogram{Updating files with
 convert-ly} aufgelistet.
 
@@ -609,7 +612,7 @@ verändern, das muss manuell vorgenommen werden.
 @subsection Troubleshooting (taking it all apart)
 
 Früher oder später werden Sie in die Lage kommen, 
-dass LilyPond Ihre Datei nicht kompilieren will. Die 
+dass LilyPond Ihre Datei nicht kompilieren will.  Die 
 Information, die LilyPond während der Übersetzung 
 gibt, können Ihnen helfen, den Fehler zu finden, aber 
 in vielen Fällen müssen Sie nach der Fehlerquelle 
@@ -617,11 +620,11 @@ auf die Suche gehen.
 
 Die besten Hilfsmittel sind in diesem Fall das Zeilen- 
 und Blockkommentar (angezeigt durch @code{%} bzw. 
-@code{%@{ ... %@}}). Wenn Sie nicht bestimmen können, 
+@code{%@{ ... %@}}).  Wenn Sie nicht bestimmen können, 
 wo sich das Problem befindet, beginnen Sie damit, große 
-Teile des Quelltextes auszukommentieren. Nachdem Sie 
+Teile des Quelltextes auszukommentieren.  Nachdem Sie 
 einen Teil auskommentiert haben, versuchen Sie, die Datei 
-erneut zu übersetzen. Wenn es jetzt funktioniert, muss 
+erneut zu übersetzen.  Wenn es jetzt funktioniert, muss 
 sich das Problem innerhalb der Kommentare befinden. 
 Wenn es nicht funktioniert, müssen Sie weitere Teile 
 auskommentieren bis sie eine Version haben, die funktioniert.
@@ -642,7 +645,7 @@ In Extremfällen bleibt nur noch solch ein Beispiel übrig:
 @noindent
 (also eine Datei ohne Noten).
 
-Geben Sie nicht auf, wenn das vorkommen sollte. Nehmen 
+Geben Sie nicht auf, wenn das vorkommen sollte.  Nehmen 
 Sie das Kommentarzeichen von einem Teil wieder weg, sagen 
 wir der Bassstimme, und schauen Sie, ob es funktioniert. 
 Wenn nicht, dann kommentieren Sie die gesamte Bassstimme 
@@ -670,8 +673,8 @@ Eine andere nützliche Technik zur Problemlösung ist es,
 @subsection Minimal examples
 
 Ein Minimalbeispiel ist eine Beispieldatei, die so klein wie 
-möglich ist. Diese Beispiele sind sehr viel einfacher zu 
-verstehen als die langen Originaldateien. Minimalbeispiele 
+möglich ist.  Diese Beispiele sind sehr viel einfacher zu 
+verstehen als die langen Originaldateien.  Minimalbeispiele 
 werden benutzt, um
 
 
@@ -679,13 +682,13 @@ werden benutzt, um
 @item Fehlerberichte zu erstellen,
 @item eine Hilfeanfrage an die E-Mail-Liste zu schicken,
 @item Ein Beispiel zur @uref{http://lsr@/.dsi@/.unimi@/.it/,LilyPond
-Schnipselsammlung}hinzuzufügen.
+Schnipselsammlung} hinzuzufügen.
 @end itemize
 
 Um ein Beispiel zu konstruieren, das so klein wie möglich ist, 
-gibt es eine einfache Regel: Alles nicht Notwendige entfernen. 
+gibt es eine einfache Regel:  Alles nicht Notwendige entfernen. 
 Wenn Sie unnötige Teile einer Datei entfernen, bietet es sich an, 
-sie auszukommentieren und nicht gleich zu löschen. Auf diese Weise 
+sie auszukommentieren und nicht gleich zu löschen.  Auf diese Weise 
 können Sie eine Zeile leicht wieder mit aufnehmen, sollten Sie sie 
 doch brauchen, anstatt sie von Anfang an neu zu schreiben.
 
@@ -712,15 +715,15 @@ Zweck des Beispieles sind.
 @section Scores and parts
 
 Orchesternoten werden alle zweimal gesetzt. Erstens als Stimmen für 
-die Musiker, und dann als große Partitur für den Dirigenten. Mit 
+die Musiker, und dann als große Partitur für den Dirigenten.  Mit 
 Variablen 
 kann hier doppelte Arbeit erspart werden. Die Musik muss nur einmal 
-eingegeben werden und wird in einer Variable abgelegt. Der Inhalt 
+eingegeben werden und wird in einer Variable abgelegt.  Der Inhalt 
 dieser 
 Variable wird dann benutzt, um sowohl die Stimme als auch die Partitur 
 zu erstellen.
 
-Es bietet sich an, die Noten in eigenen Dateien zu speichern. Sagen wir 
+Es bietet sich an, die Noten in eigenen Dateien zu speichern.  Sagen wir 
 beispielsweise, dass in der Datei @file{Horn-Noten.ly} die folgenden 
 Noten eines Duetts für Horn und Fagott gespeichert sind:
 
@@ -755,12 +758,12 @@ Die Zeile
 
 @noindent
 setzt den Inhalt der Datei @file{Horn-Noten.ly} an die Stelle des 
-Befehls in die aktuelle Datei. Damit besteht also eine Definition 
+Befehls in die aktuelle Datei.  Damit besteht also eine Definition 
 für @code{HornNoten}, so dass die Variable verwendet werden kann. 
 Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass das Argument, 
 also @code{\HornNoten}, um eine Quinte nach oben transponiert wird.
-Klingendes @q{f} wird also als @code{c'} notiert. Das entspricht 
-der Notation eines Waldhorn in F. Die Transposition zeigt die folgende 
+Klingendes @q{f} wird also als @code{c'} notiert.  Das entspricht 
+der Notation eines Waldhorns in F.  Die Transposition zeigt die folgende 
 Ausgabe:
 
 @lilypond[quote,ragged-right]
@@ -770,13 +773,13 @@ Ausgabe:
 }
 @end lilypond
 
-In Musik für mehrere Instrumente kommt es oft vor, dass eine Stimme 
-für mehrere Takte nicht spielt. Das wird mit einer besonderen Pause 
+In der Musik für mehrere Instrumente kommt es oft vor, dass eine Stimme 
+für mehrere Takte nicht spielt.  Das wird mit einer besonderen Pause 
 angezeigt, dem Pausenzeichen für mehrere Takte (engl. multi-measure 
-rest). Sie wird mit dem @emph{großen} Buchstaben @samp{R} eingegeben, 
+rest).  Sie wird mit dem @emph{großen} Buchstaben @samp{R} eingegeben, 
 gefolgt von einer Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}
-für eine Halbe usw.). Indem man die Dauer multipliziert, können längere  
-Pausen erstellt werden. Z. B. dauert diese Pause drei Takte eines 
+für eine Halbe usw.).  Indem man die Dauer multipliziert, können längere  
+Pausen erstellt werden.  Z. B. dauert diese Pause drei Takte eines 
 2/4-Taktes:
 
 @example
@@ -807,7 +810,7 @@ zu der Musik des Beispiels gesetzt wird, erhält man folgendes Ergebnis:
 
 Die Partitur wird erstellt, indem alle Noten zusammengesetzt werden. 
 Angenommen, die andere Stimme trägt den Namen @code{FagottNoten} 
- und ist in der Datei @file{Fagott-Noten.ly} gespeichert. Die
+ und ist in der Datei @file{Fagott-Noten.ly} gespeichert.  Die
 Partitur sieht dann folgendermaßen aus:
 
 @example
@@ -837,11 +840,4 @@ Und mit LilyPond übersetzt:
 >>
 @end lilypond
 
-Tiefer gehende Information darüber, wie Stimmauszüge und Partituren 
-erstellt werden, finden sich im Notationshandbuch, siehe 
-@ref{Scores and parts}.
-
-Das Setzen der Variablen, die das Verhalten von LilyPond beeinflussen 
-(@q{properties}), wird im Kapitel
-@ref{Modifying context properties} besprochen.
 
index aed4af225e6cadc3a3631dafbb74c328d253adf9..9c7a5f25b658d0d2793db90894776cfbb7b2f612 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 1d64963847973b27eeff0129094fde8541c29f6f
+    Translation of GIT committish: 550152ed5d5015d13abf2af83b2e040f996a66a4
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -23,6 +23,7 @@ generales de LilyPond, más que con la notación específica.
 * MIDI output::
 @end menu
 
+
 @node Input structure
 @section Input structure
 
@@ -35,22 +36,308 @@ Por convenio, el nombre de estos archivos termina en @code{.ly}.
 * File structure::
 @end menu
 
+
 @node Structure of a score
 @subsection Structure of a score
 
-@untranslated
+@funindex \score
+
+Ub bloque @code{\score} debe contener una expresión musical única
+delimitada por un par de llaves:
+
+@example
+\score @{
+...
+@}
+@end example
+
+@c outer?
+@warning{Sólo puede haber @strong{una} expresión musical dentro del
+bloque @code{\score}, y @strong{debe} estar encerrada entre llaves.}
+
+Esta expresión musical única puede tener cualquier tamaño, y puede
+contener otras expresiones musicales hasta cualquier grado de
+complejidad.  Todos los siguientes ejemplos son expresiones musicales:
+
+@example
+@{ c'4 c' c' c' @}
+@end example
+
+@lilypond[verbatim,quote]
+{
+  { c'4 c' c' c'}
+  { d'4 d' d' d'}
+}
+@end lilypond
+
+@lilypond[verbatim,quote]
+<<
+  \new Staff { c'4 c' c' c' }
+  \new Staff { d'4 d' d' d' }
+>>
+@end lilypond
+
+@example
+@{
+  \new GrandStaff <<
+    \new StaffGroup <<
+      \new Staff @{ \flute @}
+      \new Staff @{ \oboe @}
+    >>
+    \new StaffGroup <<
+      \new Staff @{ \violinI @}
+      \new Staff @{ \violinII @}
+    >>
+  >>
+@}
+@end example
+
+Los comentarios son una excepción a esta regla general (para ver otras
+excepciones, consulte @ref{File structure}).  Tanto los comentarios de
+una línea como los que están delimitados por @code{%@{ .. %@}} se
+pueden escribir en cualquier lugar dentro del archivo de entrada.  Se
+pueden escribir dentro o fuera del bloque @code{\score}, y dentro o
+fuera de la expresión musical única dentro del bloque @code{\score}.
+
+@seealso
+
+Manual de aprendizaje:
+@rlearning{Working on input files},
+@rlearning{Music expressions explained},
+@rlearning{Score is a (single) compound musical expression}.
 
 
 @node Multiple scores in a book
 @subsection Multiple scores in a book
 
-@untranslated
+@funindex \book
+@cindex movimientos, varios
+
+Un documento puede contener varias piezas de música y texto.  Son
+ejemplos un libro de estudios o una parte orquestal con varios
+movimientos.  Cada movimiento se introduce con un bloque
+@code{\score}:
+
+@example
+\score @{
+  @var{..música..}
+@}
+@end example
+
+y los textos se introducen con un bloque @code{\markup}:
+
+@example
+\markup @{
+  @var{..texto..}
+@}
+@end example
+
+@funindex \book
+
+Todos los movimientos y textos que aparecen en el mismo archivo
+@code{.ly} se tipografían normalmente en la forma de un solo archivo
+de salida.
+
+@example
+\score @{
+  @var{..}
+@}
+\markup @{
+  @var{..}
+@}
+\score @{
+  @var{..}
+@}
+@end example
+
+Sin embargo, si queremos varios archivos de salida a partir del mismo
+archivo @code{.ly}, podemos escribir varios bloques @code{\book},
+donde cada uno de estos bloques @code{\book} dará como resultado un
+archivo de salida distinto.  Si no especificamos ningún bloque
+@code{\book} en el archivo,, LilyPond trata implícitamente todo el
+archivo como un solo bloque @code{\book}, véase @ref{File structure}.
+Una excepción importante se da dentro de los documentos de
+lilypond-book, en los que tenemos que escribir explícitamente un
+bloque @code{\book}, pues en caso contrario sólo aparecerá en la
+salida el primer @code{\score} o @code{\markup}.
+
+El encabezamiento de cada pieza se puede poner dentro del bloque
+@code{\score}.  Antes de cada movimiento, se imprime el nombre de la
+pieza (@code{piece}) extraído del encabezamiento.  El título del libro
+entero se puede poner dentro del bloque @code{\book}, pero si no está
+presente se inserta el encabezamiento @code{\header} que está al
+principio del archivo.
+
+@example
+\header @{
+  title = "Ocho miniaturas"
+  composer = "Igor Stravinsky"
+@}
+\score @{
+  @dots{}
+  \header @{ piece = "Romanze" @}
+@}
+\markup @{
+   ..texto de la segunda estrofa..
+@}
+\markup @{
+   ..texto de la tercera estrofa..
+@}
+\score @{
+  @dots{}
+  \header @{ piece = "Menuetto" @}
+@}
+@end example
 
 
 @node File structure
 @subsection File structure
 
-@untranslated
+@funindex \paper
+@funindex \midi
+@funindex \layout
+@funindex \header
+@funindex \score
+@funindex \book
+
+Un archivo @code{.ly} puede contener cualquier número de expresions
+del nivel superior, donde una expresión del nivel superior es una de
+las siguientes posibilidades:
+
+@itemize @bullet
+@item
+Una definición de salida, como @code{\paper}, @code{\midi} y
+@code{\layout}.  Tal definición en el nivel más alto cambia los
+ajustes predeterminados para todo el libro.  Si se introduce más de
+una de estas definiciones del mismo tipo en el nivel más alto,
+cualquier definición en una expresión posterior tiene prioridad.
+
+@item
+Una expresión directa de Scheme, como
+@code{#(set-default-paper-size "a7" 'landscape)} o
+@code{#(ly:set-option 'point-and-click #f)}.
+
+@item
+Un bloque @code{\header}.  Esto establece el bloque de encabezamiento
+global.  Es el bloque que contiene las definiciones de los ajustes
+para todo el libro, como el compositor, título, etc.
+
+@item
+Un bloque @code{\score}.  Esta partitura se reúne con otras partituras
+del nivel superior, y se combina con ellas formando un @code{\book}
+(libro) único.  Este comportamiento se puede cambiar estableciendo el
+valor de la variable @code{toplevel-score-handler} en el nivel
+superior.  El @emph{handler} predeterminado se define en el archivo de
+inicio @file{../scm/@/lily@/.scm}.
+
+@item
+Un bloque @code{\book} combina lógicamente varios movimientos (es
+decir, varios bloques @code{\score}) en un solo documento.  Si hay
+varias partituras @code{\score}, se crea un solo archivo de salida
+para cada bloque @code{\book}, en el que se concatenan todos los
+movimientos correspondientes.  La únca razón para especificar
+explícitamente bloques @code{\book} en un archivo de entrada
+@code{.ly} es si queremos crear varios archivos de salida a partir de
+un único archivo de entrada.  Una excepción se da dentro de los
+documentos de lilypond-book, en los que tenemos que escribir
+explícitamente un bloque @code{\book} si queremos tener más de una
+única partitura @code{\score} o marcado @code{\markup} en el mismo
+ejemplo.  Se puede cmbiar este comportamiento estableciendo el valor
+de la variable @code{toplevel-book-handler} en el nivel superior.  El
+@emph{handler} predeterminado se define en el archivo de inicio
+@file{../scm/@/lily@/.scm}.
+
+@item
+Una expresión musical compuesta, como
+@example
+@{ c'4 d' e'2 @}
+@end example
+
+Esto añade la pieza al @code{\score} y la conforma dentro de un libro
+único junto a todas las demás partituras @code{\score} y expresiones
+musicales del nivel superior.  En otras palabras, un archivo que
+contiene sólo la expresión musical anterior se traduce a
+
+@example
+\book @{
+  \score @{
+    \new Staff @{
+      \new Voice @{
+        @{ c'4 d' e'2 @}
+      @}
+    @}
+  @}
+       \layout @{ @}
+       \header @{ @}
+@}
+@end example
+
+Se puede cambiar este comportamiento estableciendo el valor de la
+bariable @code{toplevel-music-handler} en el nivel más alto.  El
+@emph{handler} predeterminado se define en el archivo de inicio
+@file{../scm/@/lily@/.scm}.
+
+@item
+Un texto de marcado, por ejemplo una estrofa
+@example
+\markup @{
+   2.  Estrofa dos, línea uno
+@}
+@end example
+
+Los textos de marcado se colocan encima, en medio o debajo de las
+partituras o expresiones musicales, según donde aparezcan escritos.
+
+@cindex variables
+
+@item
+Una variable, como
+@example
+fulano = @{ c4 d e d @}
+@end example
+
+Esto se puede utilizar más tarde en el archivo escribiendo
+@code{\fulano}.  El nombre de las variables ha de ser exclusivamente
+alfabético; sin números, guiones ni barras bajas.
+
+@end itemize
+
+El ejemplo siguiente muestra tres cosas que se pueden introducir en el
+nivel superior:
+
+@example
+\layout @{
+  % No justificar la salida
+  ragged-right = ##t
+@}
+
+\header @{
+   title = "Do-re-mi"
+@}
+
+@{ c'4 d' e2 @}
+@end example
+
+En cualquier punto del archivo se pueden introducir cualquiera de las
+instrucciones léxicas siguientes:
+
+@itemize
+@item @code{\version}
+@item @code{\include}
+@item @code{\sourcefilename}
+@item @code{\sourcefileline}
+@item
+Un comentario de una línea, determinado por un símbolo @code{%} al principio.
+
+@item
+Un comentario de varias líneas, delimitado por @code{%@{ .. %@}}.
+
+@end itemize
+
+@seealso
+
+Manual de aprendizaje:
+@rlearning{How LilyPond input files work}.
 
 
 @node Titles and headers
@@ -66,6 +353,7 @@ compositor; ciertas piezas tienen mucha más información.
 * Table of contents::
 @end menu
 
+
 @node Creating titles
 @subsection Creating titles
 
@@ -382,6 +670,7 @@ dígitos.
 
 @node Table of contents
 @subsection Table of contents
+
 Se puede insertar un índice general o tabla de contenidos utilizando
 la instrucción @code{\markuplines \table-of-contents}.  Los elementos
 que deben aparecer en la tabla de contenidos se introducen con la
@@ -487,7 +776,8 @@ tocAct =
 
 @seealso
 
-Archivos de inicio: @file{ly/@/toc@/-init@/.ly}.
+Archivos de inicio:
+@file{ly/@/toc@/-init@/.ly}.
 
 @predefined
 
@@ -507,10 +797,115 @@ Archivos de inicio: @file{ly/@/toc@/-init@/.ly}.
 * Displaying LilyPond notation::
 @end menu
 
+
 @node Including LilyPond files
 @subsection Including LilyPond files
 
-@untranslated
+@funindex \include
+@cindex including files
+
+Un proyecto grande se puede dividir en varios archivos.  Para
+referirse a otro archivo, utilice
+
+@example
+\include "otroarchivo.ly"
+@end example
+
+La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
+contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
+que aparece el @code{\include}.  Por ejemplo, en un proyecto grande
+podríamos querer archivos distintos para cada parte instrumental y
+crear un archivo de @qq{partitura completa} que reúne los archivos
+individuales de los instrumentos.  Normalmente el archivo incluido
+define un cierto número de variables que a partir de entonces quedan
+disponibles para poderlas utilizar en el archivo de la partitura
+completa.  En los archivos incluidos se pueden marcar las secciones
+etiquetadas para ayudar a hacerlas utilizables en distintos lugares de
+la partitura, véase @ref{Different editions from one source}.
+
+Los archivos que están en el directorio de trabajo actual se pueden
+referenciar simplemente especificando el nombre depués de la
+instrucción @code{\include}.  Los archivos en otros lugares se pueden
+incluir proporcionando una referencia de ruta completa o una ruta
+relativa (pero utilice la barra inclinada normal del UNIX, /, no la
+barra invertida de DOS/Windows, \, como separador de directorio).  Por
+ejemplo, si @file{material.ly} está situado un directorio por encima
+del directorio de trabajo actual, utilice
+
+@example
+\include "../material.ly"
+@end example
+
+@noindent
+o si los archivos de las partes orquestales incluidas están todos
+situados en un subdirectorio llamado @file{partes} dentro del
+directorio actual, use
+
+@example
+\include "partes/VI.ly"
+\include "partes/VII.ly"
+... etc.
+@end example
+
+Los archivos de inclusión también pueden contener enunciados
+@code{\include} a su vez.  Estos enunciados @code{\include} de segundo
+nivel no se interpretan hasta que se incorporan al archivo principal,
+por lo que los nombres de archivo que especifican deben ser relativos
+al directorio que contiene el archivo principal, no al directorio que
+contiene el archivo incluido.
+
+También se pueden incluir archivos de un directorio que está en una
+ruta de búsqueda especificada como opción al invocar a LilyPond desde
+la línea de órdenes.  Los archivos incluidos se especifican usando
+solamente su nombre de archivo.  Por ejemplo, para compilar mediante
+este método un archivo @file{principal.ly} que incluye archivos
+situados en un subdirectorio llamado @file{partes}, cambie al
+directorio que contiene @file{principal.ly} e introduzca
+
+@example
+lilypond --include=partes principal.ly
+@end example
+
+y en @file{principal.ly} escriba
+
+@example
+\include "VI.ly"
+\include "VII.ly"
+... etc.
+@end example
+
+Los archivos que se incluyen en muchas partituras se pueden poner en
+el directorio de LilyPond @file{../ly} (la localización de este
+directorio depende de la instalación: véase @rlearning{Other sources
+of information}).  Estos archivos se pueden incluir sencillamente por
+su nombre en un enunciado @code{\include}.  De esta forma se incluyen
+los archivos dependientes del idioma como @file{english.ly}.
+
+LilyPond incluye de forma predeterminada ciertos archivos cuando se
+inicia el programa.  Estas inclusiones no son visibles para el
+usuario, pero los archivos se pueden identificar ejecutando
+@code{lilypond --verbose} desde la línea de órdenes.  Esto presentará
+una lista de rutas y archivos que utiliza LilyPond, junto a muchas
+otras indicaciones.  De forma alternativa, pueden verse explicaciones
+sobre los archivos más importantes de este conjunto en
+@rlearning{Other sources of information}.  Estos archivos se pueden
+editar, pero los cambios realizados sobre ellos se perderán al
+instalar una nueva versión de LilyPond.
+
+Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
+@rlearning{Scores and parts}.
+
+@seealso
+
+Manual de aprendizaje:
+@rlearning{Other sources of information},
+@rlearning{Scores and parts}.
+
+@knownissues
+
+Si un archivo incluido recibe un nombre igual al de uno de los
+archivos de instalación de LilyPond, el archivo que tiene prioridad es
+el de los archivos de instalación de LilyPond.
 
 
 @node Different editions from one source
@@ -534,25 +929,345 @@ la notación.
 @node Using variables
 @unnumberedsubsubsec Using variables
 
-@untranslated
+@cindex variables, uso de las
+
+Si las secciones de la música se definen dentro de variables, se
+pueden reutilizar en distintas partes de la partitura, véase
+@rlearning{Organizing pieces with variables}.  Por ejemplo, una
+partitura vocal @notation{a cappella} con frecuencia incluye una
+reducción de piano de las partes para ensayar que ees idéntica a la
+música vocal, por lo que ésta sólo se tiene que escribir una vez.  Se
+puede combinar sobre un solo pentagrama la música de dos variables,
+véase @ref{Automatic part combining}.  He aquí un ejemplo:
+
+@lilypond[verbatim,quote]
+sopranoMusic = \relative c'' { a4 b c b8( a)}
+altoMusic = \relative g' { e4 e e f }
+tenorMusic = \relative c' { c4 b e d8( c) }
+bassMusic = \relative c' { a4 gis a d, }
+allLyrics = \lyricmode {King of glo -- ry }
+<<
+  \new Staff = "Soprano" \sopranoMusic
+  \new Lyrics \allLyrics
+  \new Staff = "Alto" \altoMusic
+  \new Lyrics \allLyrics
+  \new Staff = "Tenor" {
+    \clef "treble_8"
+    \tenorMusic
+  }
+  \new Lyrics \allLyrics
+  \new Staff = "Bass" {
+    \clef "bass"
+    \bassMusic
+  }
+  \new Lyrics \allLyrics
+  \new PianoStaff <<
+    \new Staff = "RH" {
+      \set Staff.printPartCombineTexts = ##f
+      \partcombine
+      \sopranoMusic
+      \altoMusic
+    }
+    \new Staff = "LH" {
+      \set Staff.printPartCombineTexts = ##f
+      \clef "bass"
+      \partcombine
+      \tenorMusic
+      \bassMusic
+    }
+  >>
+>>
+@end lilypond
+
+Se pueden producir partituras distintas que presenten sólo las partes
+vocales o sólo la parte de piano, cambiando solamente los enunciados
+estructurales, sin modificar la notación musical.
+
+Para partituras extensas, las definiciones de variable se pueden poner
+en archivos separados que se incluyen más tarde, véase @ref{Including
+LilyPond files}.
 
 
 @node Using tags
 @unnumberedsubsubsec Using tags
 
-@untranslated
+@funindex \tag
+@funindex \keepWithTag
+@funindex \removeWithTag
+@cindex etiqueta
+@cindex manetener música etiquetada
+@cindex quitar música etiquetada
+
+La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
+con el nombre @var{parteA}.  Las expresiones etoiquetadas de esta
+manera se pueden seleccionar o filtrar más tarde por su nombre, usando
+bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
+#'@var{nombre}}.  El resultado de la aplicación de estos filtros a la
+música etiquetada es como sigue:
+
+@multitable @columnfractions .5 .5
+@headitem Filtro
+  @tab Resultado
+@item
+Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
+@tab
+Se incluye la música no etiquetada y la música etiquetada con
+@var{nombre}; se excluye la música etiquetada con cualquier otro
+nombre de etiqueta.
+@item
+Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
+@tab
+Se incluye la música no etiquetada y la música etiquetada con
+cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
+música etiquetada con @var{nombre}.
+@item
+Música etiquetada no precedida de @code{\keepWithTag} ni de
+@code{\removeWithTag}
+@tab Se incluye toda la música etiquetada y no etiquetada.
+@end multitable
+
+Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
+@code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
+@code{#'parte}), seguido de una expresión musical.
+
+En el ejemplo siguiente vemos dos versiones de una pieza musical, una
+que muestra trinos con la notación usual y otra con los trinos
+expandidos explícitamente:
+
+@lilypond[verbatim,quote]
+music = \relative g' {
+  g8. c32 d
+  \tag #'trills {d8.\trill }
+  \tag #'expand {\repeat unfold 3 {e32 d} }
+  c32 d
+ }
+
+\score {
+  \keepWithTag #'trills \music
+}
+\score {
+  \keepWithTag #'expand \music
+}
+@end lilypond
+
+@noindent
+De forma alternativa, a veces es más fácil excluir secciones de música:
+
+@lilypond[verbatim,quote]
+music = \relative g' {
+  g8. c32 d
+  \tag #'trills {d8.\trill }
+  \tag #'expand {\repeat unfold 3 {e32 d} }
+  c32 d
+ }
+
+\score {
+  \removeWithTag #'expand
+  \music
+}
+\score {
+  \removeWithTag #'trills
+  \music
+}
+@end lilypond
+
+El flitrado con etiquetas se puede aplicar a articulaciones, textos,
+etc. anteponiendo
+
+@example
+-\tag #'@var{mi-etiqueta}
+@end example
+
+a una articulación.  Por ejemplo, esto define una nota con una
+indicación opcional de digitación y una nota con una anotación
+condicional:
+
+@example
+c1-\tag #'finger ^4
+c1-\tag #'warn ^"¡Ojo!"
+@end example
+
+Se pueden poner varias etiquetas sobre expresiones con varias entradas
+de @code{\tag}:
+
+@lilypond[quote,verbatim]
+music = \relative c'' {
+  \tag #'a \tag #'both { a a a a }
+  \tag #'b \tag #'both { b b b b }
+}
+<<
+\keepWithTag #'a \music
+\keepWithTag #'b \music
+\keepWithTag #'both \music
+>>
+@end lilypond
+
+Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
+expresión musical para quitar varias secciones etiquetadas con nombres
+distintos:
+
+@lilypond[verbatim,quote]
+music = \relative c'' {
+\tag #'A { a a a a }
+\tag #'B { b b b b }
+\tag #'C { c c c c }
+\tag #'D { d d d d }
+}
+{
+\removeWithTag #'B
+\removeWithTag #'C
+\music
+}
+@end lilypond
+
+Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
+musical producen la eliminación de @emph{todas} las secciones
+etiquetadas, porque el primer filtro quita todas las secciones
+etiquetadas excepto la que se nombra, y el segundo filtro elimina
+incluso esa sección etiquetada.
+
+@seealso
+
+Manual de aprendizaje:
+@rlearning{Organizing pieces with variables}.
+
+Referencia de la notación:
+@ref{Automatic part combining},
+@ref{Including LilyPond files}.
 
+@ignore
+@c This warning is more general than this placement implies.
+@c Rests are not merged whether or not they come from tagged sections.
+@c Should be deleted?  -td
+
+@knownissues
+
+Multiple rests are not merged if you create a score with more
+than one tagged section at the same place.
+
+@end ignore
 
 @node Text encoding
 @subsection Text encoding
 
-@untranslated
+LilyPond usa el conjunto de caracteres definido por el consorcio
+Unicode y la norma ISO/IEC 10646.  Define un nombre único y un código
+para los conjuntos de caracteres que se utilizan en prácticamente
+todos los idiomas modernos y también en muchos otros.  Unicode se
+puede implementar utilizando varios esquemas de codificación
+distintos.  LilyPond usa la codificación UTF-8 (UTF son las siglas de
+@emmph{Unicode Transformation Format}, o formato de transformación de
+Unicode) que representa todos los caracteres comunes de Latin en un
+solo byte, y representa otros caracteres usando un formato de longitud
+variable de hasta cuatro bytes.
+
+El aspecto visual real de los caracteres viene determinado por los
+glifos que se definen en las fuentes tipográficas concretas que se
+tengan disponibles: una fuente tipográfica define la asignación de un
+subconjunto de los códigos de Unicode a glifos.  LilyPond usa la
+biblioteca Pango para representar y disponer tipográficamente textos
+multilingües.
+
+Lilypond no realiza ninguna conversión en la codificación de la
+entrada.  Esto significa que cualquier text, ya sea el título, la
+letra de la canción o una instrucción musical que contenga caracteres
+distintos a los del conjunto ASCII, se deben codificar en UTF-8.  La
+forma más fácil de escribir dicho texto es utilizar un editor
+preparado para Unicode y guardar el archivo con la codificación UTF-8.
+Casi todos los editores modernos populares contemplan el UTF-8, por
+ejemplo lo hacen vim, Emacs, jEdit, y GEdit.  Todos los sistemas MS
+Windows posteriores a NT usan Unicode como codificación de caracteres
+nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
+puede editar y guardar un archivo en el formato UTF-8.  Una
+alternativa más funcional para Windows es BabelPad.
+
+Si un archivo de entrada que contiene un carácter que no es ASCII, no
+se guarda en el formato UTF-8, se genera el mensaje de error
+
+@example
+FT_Get_Glyph_Name () error: argumento inválido
+@end example
+
+He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
+
+@lilypond[quote]
+%c No verbatim here as the code does not display correctly in PDF
+% Cyrillic
+bulgarian = \lyricmode {
+  Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
+}
+
+% Hebrew
+hebrew = \lyricmode {
+  זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
+}
+
+% Portuguese
+portuguese = \lyricmode {
+  à vo -- cê uma can -- ção legal
+}
+
+\relative  {
+  c2 d e f g f e
+}
+\addlyrics { \bulgarian }
+\addlyrics { \hebrew }
+\addlyrics { \portuguese }
+@end lilypond
+
+Para introducir un caracter aislado para el que se conoce la secuencia
+de escape de Unicode pero no está disponible en el editor que se está
+usando, escriba
+
+@example
+#(ly:export (ly:wide-char->utf-8 #x03BE))
+@end example
+
+donde en este ejemplo @code{x03BE} es el código hexadecimal del
+carácter Unicode U+03BE, que tiene el nombre Unicode @qq{Letra griega
+Xi pequeña}.  Cualquier código exadecimal de Unicode se puede
+sustituir de esta forma y si todos los caracteres especiales se
+introducen en eeste formato no es necesario guardar el archivo de
+entrada en el formato UTF-8.
+
+@knownissues
+
+El formato @code{ly:export} se puede usar en textos dentro de
+instrucciones @code{\mark} o @code{\markup} pero no en la letra de las
+canciones.
 
 
 @node Displaying LilyPond notation
 @subsection Displaying LilyPond notation
 
-@untranslated
+@funindex \displayLilyMusic
+La impresión textual de una expresión musical en notación de LilyPond
+puede hacerse usando la función musical @code{\displayLilyMusic}.  Por
+ejemplo,
+
+@example
+@{
+  \displayLilyMusic \transpose c a, @{ c e g a bes @}
+@}
+@end example
+
+imprimirá
+
+@example
+@{ a, cis e fis g @}
+@end example
+
+De forma predeterminada, LilyPond imprime estos mensajes en la consola
+junto al resto de los mensajes.  Para discernir entre estos mensajes y
+guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
+salida hacia un archivo.
+
+@c TODO What happens under Windows?
+
+@example
+lilypond archivo.ly >resultado.txt
+@end example
+
 
 
 @node Controlling output
@@ -566,13 +1281,85 @@ la notación.
 @node Extracting fragments of music
 @subsection Extracting fragments of music
 
-@untranslated
+Es posible citar pequeños fragmentos de una partitura grande
+directamente a partir de la salida.  Puede compararse con la
+separación de una pieza de una partitura, recortándola con tijeras.
+
+Esto se hace definiendo los compases que se deben recortar.  Por
+ejemplo, la inclusión de la siguiente definición
+
+@verbatim
+\layout {
+  clip-regions
+  = #(list
+      (cons
+       (make-rhythmic-location 5 1 2)
+       (make-rhythmic-location 7 3 4)))
+}
+@end verbatim
+
+@noindent
+extrae un fragmento empezando por la mitad del quinto compás y
+finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
+después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
+después de tres negras del compás 7.
+
+Se pueden definir más zonas de recorte añadiendo más parejas de
+definición de tiempo rhythmic-location a la lista.
+
+Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
+la opción @code{-dclip-systems}.  Los recortes aparecen en la salida
+como archivos EPS, y se convierten en PDF y PNG si estos formatos
+también están activados.
+
+Para ver más información sobre los formatos de salida, consulte
+@rprogram{Invoking lilypond}.
 
 
 @node Skipping corrected music
 @subsection Skipping corrected music
 
-@untranslated
+@funindex skipTypesetting
+@funindex showLastLength
+
+Al escribir o copiar música, normalmente sólo es interesante de ver y
+corregir la música cercana al final (donde estams añadiendo las
+notas).  Para acelerar este proceso de corrección, es posible saltar
+la composición tipográfica de todos excepto unos pocos de los últimos
+compases.  Esto se consigue poniendo
+
+@verbatim
+showLastLength = R1*5
+\score { ... }
+@end verbatim
+
+@noindent
+en nuestro archivo fuente.  Esto hará que se tracens sólo los últimos
+cinco compases (suponniendo un compás de 4/4) de cada una de las
+partituras @code{\score} del archivo de entrada.  Para piezas largas,
+el tipografiado de únicamente una parte pequeña es con frecuencia un
+orden de magnitud más rápido que el de la obra completa.
+
+Este mecanismo de pasar por alto partes de un partitura se puede
+controlar con un grano más fino mediante la propiedad
+@code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
+lleva a cabo ningún tipografiado en absoluto.
+
+Esta propiedad se usa también para controlar la salida al archivo
+MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
+y los cambios de instrumento.  Está usted advertido.
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+\relative c'' {
+  c8 d
+  \set Score.skipTypesetting = ##t
+  e e e e e e e e
+  \set Score.skipTypesetting = ##f
+  c d b bes a g c2 }
+@end lilypond
+
+En música polifónica, @code{Score.skipTypesetting} afecta a todas las
+voces y pentagramas, ahorrando más tiempo incluso.
 
 
 @node MIDI output
@@ -594,21 +1381,11 @@ para comprobar la corrección de la música; las octavas equivocadas o
 las alteraciones erróneas se ponen de relieve muy claramente al
 escuchar la salida MIDI.
 
-@knownissues
-
-Muchos efectos con interés musical como el swing, la articulación, el
-fraseo, etc., no se traducen al midi.
-
-La salida midi reserva un canal para cada pentagrama, y uno más para
-los ajustes globales.  Por ello, el archivo de entrada no debería
-tener más de 15 pentagramas (o 14 si no usa percusión).  Los otros
-pentagramas permanecerán en silencio.
-
-No todos los reproductores de midi manejan correctamente los cambios
-de tempo en la salida midi.  Entre los reproductores que se sabe que
-funcionan, se encuentra
-@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
-
+@c TODO Check this
+La salida MIDI reserva un canal por cada pentagrama, y otro para los
+ajustes globales.  Por ello, el archivo MIDI no debe tener más de 15
+pautas (o 14 si no se usa la percusión).  Otros pentagramas permanecen
+en silencio.
 
 @menu
 * Creating MIDI files::
@@ -627,156 +1404,228 @@ Para crear un MIDI a partir de una pieza de música, escriba un bloque
 
 @example
 \score @{
-  @var{...música...}
-   \midi @{
-     \context @{
-       \Score
-       tempoWholesPerMinute = #(ly:make-moment 72 4)
-       @}
-     @}
+  @var{...music...}
+  \midi @{ @}
 @}
 @end example
 
-El tempo se puede especificar utilizando la instrucción @code{\tempo}
-dentro de la propia música, véase @ref{Metronome marks}.  Más abajo se
-muestra una alternativa que no da lugar a una indicación metronómica
-en la partitura impresa.  En este ejemplo, el tempo de negras se
-establece en 72 pulsos por minuto.  Esta clase de especificación del
-tempo no puede tomar notas con puntillo como argumento.  En este caso,
-divida las notas con puntillo en unidades más pequeñas.  Por ejemplo,
-un tempo de 90 negras con puntillo por minuto se puede especificar
-como 270 corcheas por minuto:
-
-@example
-tempoWholesPerMinute = #(ly:make-moment 270 8)
-@end example
-
-Si hay una instrucción @code{\midi} dentro de un @code{\score},
-solamente se producirá MIDI.  Si se necesita también una notación
-impresa, se debe escribir un bloque @code{\layout}
+If there is a @code{\midi} block in a @code{\score} with no
+@code{\layout} block, only MIDI output will be produced.  When
+notation is needed too, a @code{\layout} block must be also be
+present.
 
 @example
 \score @{
-  @var{...música...}
+  @var{...music...}
   \midi @{ @}
   \layout @{ @}
 @}
 @end example
-@cindex layout, bloque
 
+Se traducen correctamente a la salida MIDI la altura y duración de las
+notas, las ligaduras de unión, matices y cambios de tempo.  Las
+indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
+de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
+del rango de volumen MIDI disponible.  Los crescendi y decrescendi
+hacen que el volumen varía linealmente entre sus dos extremos. El
+efecto de las indicaciones dinámicas sobre la salida MIDI se puede
+eliminar por completo, véase @ref{MIDI block}.
+
+El tempo inicial y los cambios de tempo posteriores se pueden
+especificar utilizando la instrucción @code{\tempo} dentro de la
+propia notación musical.  Se reflejan en cambios de tempo en la salida
+MIDI.  Esta instrucción normalmente hace que se imprima la indicación
+metronómica, pero esto se puede eliminar, véase @ref{Metronome marks}.
+Más abajo se describe una forma alternativa de especificar el tempo
+MIDI inicial o global, véase @ref{MIDI block}.
+
+@unnumberedsubsubsec Instrument names
 
+@cindex instrumento, nombres de
+@funindex Staff.midiInstrument
 
-Se interpretan las ligaduras de unión, los matices dinámicos y los
-cambios de tempo.  Las marcas dinámicas, crescendi y decrescendi se
-traducen en niveles de volumen MIDI.  Las marcas de dinámica se
-traducen a una fracción fija del rango de volumen MIDI disponible, los
-crescendi y decrescendi hacen que el volumen varíe de forma lineal
-entre sus dos extremos.  Las fracciones se pueden ajustar mediante
-@code{dynamicAbsoluteVolumeFunction} dentro de un contexto
-@rinternals{Voice}.  Para cada tipo de instrumento MIDI se puede
-definir un rango de volumen.  Esto proporciona un control de
-ecualización básico, que puede realzar significativamente la calidad
-de la salida MIDI.  El ecualizador se puede controlar estableciendo un
-valor para @code{instrumentEqualizer}, o fijando
+El nombre del instrumento MIDI se establece mediante la propiedad
+@code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
+de entre los que están en la lista que aparece en @ref{MIDI
+instruments}.
 
 @example
-\set Staff.midiMinimumVolume = #0.2
-\set Staff.midiMaximumVolume = #0.8
+\new Staff @{
+  \set Staff.midiInstrument = "glockenspiel"
+  @var{...notes...}
+@}
 @end example
 
-Para quitar los matices dinámicos de la salida MIDI, escriba las
-siguientes líneas dentro de la sección @code{\midi@{@}}.
-
 @example
-\midi @{
-  ...
-  \context @{
-    \Voice
-    \remove "Dynamic_performer"
-  @}
+\new Staff \with @{midiInstrument = "cello"@} @{
+  @var{...notes...}
 @}
 @end example
 
+Si el instrumento elegido no coincide exactamente con uno de los
+instrumentos de la lista de instrumentos MIDI, se usará el instrumento
+Piano de Cola (@code{"acoustic grand"}).
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{changing-midi-output-to-one-channel-per-voice.ly}
 
 @knownissues
 
-Los (de)crescendos sin terminar no se procesarán adecuadamente en el
-archivo midi, dando como resultado pasajes de música en silenco.  Una
-forma de sortearlo es terminar el (de)crescendo explícitamente.  Por
-ejemmplo,
+@c In 2.11 the following no longer seems to be a problem -td
+@ignore
+Unterminated (de)crescendos will not render properly in the midi file,
+resulting in silent passages of music.  The workaround is to explicitly
+terminate the (de)crescendo.  For example,
 
 @example
 @{ a\< b c d\f @}
 @end example
 
 @noindent
-no funcionará bien, pero
+will not work properly but
 
 @example
 @{ a\< b c d\!\f @}
 @end example
 
 @noindent
-sí lo hará.
+will.
+@end ignore
+
+Los cambios del volumen MIDI sólo tienen lugar al principio de la
+nota, por lo que los crescendi y decrescendi no pueden afectar al
+volumen de una sola nota.
+
+No todos los repoductores de MIDI manejar adecuadamente los cambios de
+tempo de la salida MIDI.  Entre los reproductores que se sabe que
+funcionan se encuentran el Reproductor de Medios de MS Windows y
+@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
+
+
+@node MIDI block
+@subsection MIDI block
 
+@cindex bloque MIDI
 
-Solamente se crea una salida MIDI cuando la instrucción @code{\midi}
-está dentro de un bloque @code{\score}.  Si lo escribe dentro de un
-contexto instanciado explícitamente (es decir: @code{\new Score} ) el
-archivo no se producirá.  Para solucionarlo, encierre el @code{\new
-Score} y el @code{\midi} dentro de un bloque @code{\score}.
+Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
+dentro de un bloque de partitura.  Es análogo al bloque layout de
+diseño de página, pero algo maś simple.  Con frecuencia, el bloque
+@code{\midi} se deja vacío, pero puede contener reorganizaciones de
+contextos, definiciones de contexto nuevas o código para fijar valores
+de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
+tempo inicial exportado alarchivo MIDI sin hacer que se imprima una
+indicación de tempo:
 
 @example
 \score @{
-  \new Score @{ @dots{}notas@dots{} @}
-  \midi
+  @var{...música...}
+  \midi @{
+    \context @{
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 4)
+    @}
+  @}
 @}
 @end example
 
+En este ejemplo, el tempo se establece a 72 pulsos de negra por
+minuto.  Esta clase de especificación de tempo no puede tomar como
+argumento una figura con puntillo.  Si necesitamos una figura con
+puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
+ejemplo, un tempo de 90 negras con puntillo por minuto se puede
+especificar como 270 corcheas por minuto:
 
-@unnumberedsubsubsec Instrument names
-@cindex instrumento, nombres de
-@funindex Staff.midiInstrument
+@example
+tempoWholesPerMinute = #(ly:make-moment 270 8)
+@end example
 
-El nombre del instrumento MIDI se establece mediante la propiedad
-@code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
-de entre los que están en la lista que aparece en @ref{MIDI
-instruments}.
+@cindex MIDI, definiciones de contexto
+
+Las definiciones de contexto siguen con precisión la misma sintaxis
+que la de un bloque @code{\layout}.  Los módulos de traducción para el
+sonido reciben el nombre de ejecutantes.  Los contextos para la salida
+MIDI se definen en @file{../ly/@/performer@/-init@/.ly}, véase
+@rlearning{Other sources of information}.  Por ejemplo, para eliminar
+el efecto de los matices de la salida MIDI, inserte las líneas
+siguientes en el bloque @code{\midi@{ @}}.
 
 @example
-\set Staff.midiInstrument = "glockenspiel"
-@var{...notes...}
+\midi @{
+  ...
+  \context @{
+    \Voice
+    \remove "Dynamic_performer"
+  @}
+@}
 @end example
 
-Si el instrumento elegido no coincide exactamente con uno de los
-instrumentos de la lista de instrumentos MIDI, se usará el instrumento
-Piano de Cola (@code{"acoustic grand"}).
+La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
+dentro de un bloque de partitura definido con una instrucción
+@code{\score}.  Si se sitúa dentro de un contexto de partitura
+instanciado explícitamente (es decir, dentro de un bloque @code{\new
+Score}) el archivo no funciona.  Para resolverlo, encierre las
+instrucciones @code{\new Score} y @code{\midi} dentro de un bloque
+@code{\score}.
 
+@example
+\score @{
+  \new Score @{ @dots{}notas@dots{} @}
+  \midi @{ @}
+@}
+@end example
 
-@node MIDI block
-@subsection MIDI block
+@node What goes into the MIDI output?
+@subsection What goes into the MIDI output?
 
-@cindex bloque MIDI
+@unnumberedsubsubsec Supported in MIDI
 
+@cindex alturas en MIDI
+@cindex MIDI, alturas
+@cindex cuartos de tono en MIDI
+@cindex MIDI, cuartos de tono
+@cindex microtonos en MIDI
+@cindex MIDI, microtonos
+@cindex acordes, nombres de, en MIDI
+@cindex MIDI, nombres de
+@cindex duraciones en MIDI
+@cindex MIDI, duraciones
+@c TODO etc
 
-El bloque @code{\midi} es similar al bloque @code{\layout}, pero algo
-más simple.  Puede contener definiciones de contexto.
+Los siguientes elementos de notación se reflejan en la salida MIDI:
 
+@itemize
+@item Alturas
+@item Cuartos de tono (véase @ref{Accidentals}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
+@item Chords entered as chord names
+@item Rhythms entered as note durations, including tuplets
+@item Tremolos entered without @q{@code{:}[@var{number}]}
+@item Ties
+@item Dynamic marks
+@item Crescendi, decrescendi over multiple notes
+@item Tempo changes entered with a tempo marking
+@end itemize
 
-@cindex contexto, definición de
+@unnumberedsubsubsec Unsupported in MIDI
 
-Las definiciones de contexto siguen con exactitud la misma sintaxis
-que dentro del bloque \layout.  Los módulos de traducción para el
-sonido reciben el nombre de «performers» o intérpretes.  Los contextos
-para la salida MIDI se encuentran definidos dentro de
-@file{ly/@/performer@/-init@/.ly}.
+@c TODO index as above
 
+Los siguientes elementos de notación no tienen ningún efecto sobre la
+salida MIDI:
 
-@node What goes into the MIDI output?
-@subsection What goes into the MIDI output?
+@itemize
+@item Duraciones escritas como anotaciones, p.ej. el swing
+@item Cambios de tempo escritos como anotacioens sin marca de tempo
+@item Staccato y otras articulaciones y ornamentos
+@item Ligaduras de expresión y de fraseo
+@item Crescendi y decrescendi sobre una nota única
+@item Trémolos introducidos con @q{@code{:}[@var{número}]}
+@item Bajo cifrado
+@c TODO Check Lyrics
+@item Letra de las canciones
+@end itemize
 
-@unnumberedsubsubsec Supported in MIDI
-@unnumberedsubsubsec Unsupported in MIDI
 
 @node Repeats in MIDI
 @subsection Repeats in MIDI
@@ -830,11 +1679,288 @@ volumen relativo de los matices dinámicos y el volumen relativo de los
 distintos instrumentos.
 
 @unnumberedsubsubsec Dynamic marks
+
+Los matices o indicaciones de dinámica se traducen a una fracción fija
+del rango de volumen MIDI disponible.  Las fracciones predeterminadas
+se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
+@notation{fffff}.  El conjunto de indicaciones dinámicas y las
+fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
+@rlearning{Other sources of information}.  Este conjunto de fracciones
+se puede cmbiar o extender proporcionando una función que toma como
+argumento una indicación dinámica y devuelve la fracción requerida, y
+estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
+función.
+
+Por ejemplo, si se requiere una indicación dinámica
+@notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
+predeterminado sobre el voumen MIDI, pues no está incluida en el
+conjunto predeterminado.  De igual manera, si se define una indicación
+dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
+incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
+cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
+La función Scheme establece la fracción a 0.9 si se encuentra una
+indicación dinámica rfz, y en caso contrario llama a la función
+predeterminada.
+
+@lilypond[verbatim,quote]
+#(define (myDynamics dynamic)
+    (if (equal? dynamic "rfz")
+      0.9
+      (default-dynamic-absolute-volume dynamic)))
+
+\score {
+  \new Staff {
+    \set Staff.midiInstrument = "cello"
+    \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
+    \new Voice {
+       \relative c'' {
+         a\pp b c-\rfz
+       }
+    }
+  }
+  \layout {}
+  \midi {}
+}
+@end lilypond
+
+Como alternativa, si se necesitara redefinir la tabla completa de
+fracciones, sería mejor usar el procedimiento
+@notation{default-dynamic-absolute-volume} que aparece en
+@file{../scm/midi.scm} y la tabla asociada como modelo.  El último
+ejemplo de esta sección muestra cómo se puede hacer esto.
+
 @unnumberedsubsubsec Overall MIDI volume
+
+El volumen general máximo y mínimo de las indicaciones dinámicas de
+MIDI se controla estableciendo valores para las propiedades
+@code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
+@code{Score}.  Estas propiedades tienen efecto solamente sobre las
+indicaciones dinámicas, por ello si queremos que tengan validez desde
+el comienzo de la partitura, se debe colocar allí una indicación de
+dinámica.  La fracción que corresponde a cada indicación dinámica se
+modifica con esta fórmula:
+
+@example
+midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
+@end example
+
+En el ejemplo siguiente, el rango de intensidad dinámica del volumen
+general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
+
+@lilypond[verbatim,quote]
+\score {
+  <<
+    \new Staff {
+      \key g \major
+      \time 2/2
+      \set Staff.midiInstrument = #"flute"
+      \new Voice \relative c''' {
+        r2 g\mp g fis ~
+        fis4 g8 fis e2 ~
+        e4 d8 cis d2
+      }
+    }
+    \new Staff {
+      \key g \major
+      \set Staff.midiInstrument = #"clarinet"
+      \new Voice \relative c'' {
+        b1\p a2. b8 a
+        g2. fis8 e
+        fis2 r
+      }
+    }
+  >>
+  \layout { }
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 2)
+      midiMinimumVolume = #0.2
+      midiMaximumVolume = #0.5
+    }
+  }
+}
+@end lilypond
+
 @unnumberedsubsubsec Equalizing different instruments (i)
+
+Si las propiedades de volumen MIDI máximo y mínimo están establecidas
+en el contexto @code{Staff} se pueden controlar los volúmenes
+relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
+de instrumentos básico que puede realzar significativamente la calidad
+de la salida MIDI.
+
+En este ejemplo se reduce el volumen del clarinete con relación al de
+la flauta.  Debe haber una indicación dinámica en la primera nota de
+cada instrumento para que esto funcione correctamente.
+
+@lilypond[verbatim,quote]
+\score {
+  <<
+    \new Staff {
+      \key g \major
+      \time 2/2
+      \set Staff.midiInstrument = #"flute"
+      \set Staff.midiMinimumVolume = #0.7
+      \set Staff.midiMaximumVolume = #0.9
+      \new Voice \relative c''' {
+        r2 g\mp g fis ~
+        fis4 g8 fis e2 ~
+        e4 d8 cis d2
+      }
+    }
+    \new Staff {
+      \key g \major
+      \set Staff.midiInstrument = #"clarinet"
+      \set Staff.midiMinimumVolume = #0.3
+      \set Staff.midiMaximumVolume = #0.6
+      \new Voice \relative c'' {
+        b1\p a2. b8 a
+        g2. fis8 e
+        fis2 r
+      }
+    }
+  >>
+  \layout { }
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 2)
+    }
+  }
+}
+@end lilypond
+
 @unnumberedsubsubsec Equalizing different instruments (ii)
 
+Si las propiedades de volumen MIDI máximo y mínimo no están
+establecidas, de forma predeterminada LilyPond aplica un pequeño grado
+de ecualización a algunos instrumentos.  Los instrumentos y la
+ecualización que se aplica se muestra en la tabla
+@notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
+
+El ecualizador básico predeterminado se puede sustituir estableciendo
+@code{instrumentEqualizer} en el contexto @code{Score} a un
+procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
+como único argumento y devuelva un par de fracciones que dan los
+volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
+sustitución se hace de la misma forma que mostramos para reestablecer
+la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
+al comienzo de esta sección.  El ecualizador predeterminado,
+@notation{default-instrument-equalizer}, en @file{../scm/midi.scm},
+muestra cómo se puede escribir tal procedimiento.
+
+El ejemplo siguiente establece los volúmenes relativos de la flauta y
+del clarinete a los mismos valores que el ejemplo anterior.
+
+@lilypond[verbatim,quote]
+#(define my-instrument-equalizer-alist '())
+
+#(set! my-instrument-equalizer-alist
+  (append
+    '(
+      ("flute" . (0.7 . 0.9))
+      ("clarinet" . (0.3 . 0.6)))
+    my-instrument-equalizer-alist))
+
+#(define (my-instrument-equalizer s)
+  (let ((entry (assoc s my-instrument-equalizer-alist)))
+    (if entry
+      (cdr entry))))
+
+\score {
+  <<
+    \new Staff {
+      \key g \major
+      \time 2/2
+      \set Score.instrumentEqualizer = #my-instrument-equalizer
+      \set Staff.midiInstrument = #"flute"
+      \new Voice \relative c''' {
+        r2 g\mp g fis ~
+        fis4 g8 fis e2 ~
+        e4 d8 cis d2
+      }
+    }
+    \new Staff {
+      \key g \major
+      \set Staff.midiInstrument = #"clarinet"
+      \new Voice \relative c'' {
+        b1\p a2. b8 a
+        g2. fis8 e
+        fis2 r
+      }
+    }
+  >>
+  \layout { }
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 2)
+    }
+  }
+}
+@end lilypond
+
+@ignore
+@c Delete when satisfied this is adequately covered elsewhere -td
+
+@n ode Microtones in MIDI
+@s ubsection Microtones in MIDI
+
+@cindex microtones in MIDI
+
+Microtones consisting of half sharps and half flats are exported
+to the MIDI file and render correctly in MIDI players which support
+pitch bending.  See @ref{Note names in other languages}.  Here is
+an example showing all the half sharps and half flats.  It can be
+copied out and compiled to test microtones in your MIDI player.
+
+@lilypond[verbatim,quote]
+\score {
+  \relative c' {
+    c cih cis cisih
+    d dih ees eeh
+    e eih f fih
+    fis fisih g gih
+    gis gisih a aih
+    bes beh b bih
+  }
+  \layout {}
+  \midi {}
+}
+@end lilypond
+@end ignore
+
+
 @node Percussion in MIDI
 @subsection Percussion in MIDI
 
-@untranslated
+La notación de los instrumentos de percusión se realiza normalmente en
+un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
+salida correctamente por el canal MIDI@tie{}10, pero ciertos
+instrumentos de percusión de altura determinada, como el xilófono,
+marimba, vibráfono, timbales, etc., se tratan como instrumentos
+@qq{normales} y la música para estos instrumentos se debe introducir
+en contestos de @code{Staff} normales, no en un contexto
+@code{DrumStaff}, para obtener la salida MIDI correcta.
+
+Ciertos sonidos de altura indeterminada que están incluidos en el
+estándar General MIDI, como el tom melódico, el tambor taiko, los
+tambores sintéticos, etc., no se pueden acceder a través del canal
+MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
+introducir también en un contexto normal de @code{Staff}, utilizando
+las alturas normales adecuadas.
+
+Muchos instrumentos de percusión no están incluidos dentro del
+estándar General MIDI standard, p.ej. las castañuelas.  El método más
+fácil (aunque no satisfactorio) de producir una salida MIDI al
+escribir para estos instrumentos es sustituirlos por el sonido más
+parecido del conjunto estándar.
+
+@c TODO Expand with examples, and any other issues
+
+@knownissues
+
+Debido a que el estándar General MIDI no contiene golpes de aro
+(@emph{rim shots}), para este propósito se utiliza en su lugar el
+golpe lateral de baqueta (@emph{sidestick}).
index dda41290ef86186a3fcd1e1e721fa3da9ac4f109..40094d28aaee3a4d128c038c9737acd6192ba7b2 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 223846f933f47587fd0403e1a75cc1776990a785
+    Translation of GIT committish: 2881ea603b63e4e335dc1104b0c22c71f373b20d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @node Common notation for percussion
 @subsection Common notation for percussion
 
-La notación rítmica se emplea primordialmente para la percusión y la batería, pero también
-se puede utilizar para mostrar los valores rítmicos una melodía.
+La notación rítmica se emplea primordialmente para la percusión y la
+batería, pero también se puede utilizar para mostrar los valores
+rítmicos una melodía.
 
 @menu
 * References for percussion::
 * Basic percussion notation::
+* Drum rolls::
+* Pitched percussion::
 * Percussion staves::
+* Custom percussion staves::
 * Ghost notes::
 @end menu
 
 @node References for percussion
 @unnumberedsubsubsec References for percussion
 
-@untranslated
+@itemize
+
+@item
+La notación de algunas percusiones se puede hacer sobre una pauta de
+ritmo; esto se estudia en @ref{Showing melody rhythms} y
+@ref{Instantiating new staves}.
+
+@item
+La salida MIDI se trata en una sección aparte; véase @ref{Percussion
+in MIDI}.
+
+@end itemize
+
+@seealso
+
+Referencia de la notación:
+@ref{Showing melody rhythms},
+@ref{Instantiating new staves}.
+@ref{Percussion in MIDI}.
+
+Fragmentos de código:
+@rlsr{Percussion}.
 
 
 @node Basic percussion notation
@@ -41,34 +66,57 @@ se puede utilizar para mostrar los valores rítmicos una melodía.
 @cindex percusión
 @cindex batería
 
-
 Las notas de percusión se pueden escribir en el modo @code{\drummode},
-que es similar al modo estándar para introducir notas.  Cada elemento
-de un set de percusión lleva un nombre completo y un nombre abreviado,
-y los dos se pueden usar en la entrada.  La manera más fácil de
-escribir notas de percusión es utilizar la instrucción @code{\drums},
-que crea el contexto y el modo de entrada apropiados para percusión:
+que es similar al modo estándar para introducir notas.  La manera más
+fácil de escribir notas de percusión es utilizar la instrucción
+@code{\drums}, que crea el contexto y el modo de entrada apropiados
+para percusión:
 
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
 \drums {
-  hihat hh bassdrum bd
+  hihat4 hh bassdrum bd
 }
 @end lilypond
 
 Esto es una abreviatura de
 
-@lilypond[quote,ragged-right,verbatim]
-\new DrumStaff
-\drummode {
-  hihat hh bassdrum bd
+@lilypond[quote,verbatim]
+\new DrumStaff {
+  \drummode {
+    hihat4 hh bassdrum bd
+  }
 }
 @end lilypond
 
+Cada elemento de un set de percusión lleva un nombre completo y un
+nombre abreviado, y los dos se pueden usar en la entrada.  La lista
+completa de nombre de instrumentos de percusión se encuentra en
+@ref{Percussion notes}.
+
+Observe que la notación normal de las notas con altura determinada
+(como @code{cis4}) en un contexto @code{DrumStaff} procuden un mensaje
+de error.  Las claves de percusión se añaden automáticamente al
+contexto @code{DrumStaff}, pero también se pueden usar otras claves.
+
+Hay ciertos detalles respecto a cómo está contemplado el MIDI para los
+instrumentos de percusión; para ver los detalles consulte
+@ref{Percussion in MIDI}.
 
+@seealso
+
+Referencia de la notación:
+@ref{Percussion in MIDI},
+@ref{Percussion notes}.
 
-La lista completa de nombre de instrumentos de percusión se encuentra en el archivo de inicio
+Archivos de inicio:
 @file{ly/@/drumpitch@/-init@/.ly}.
-@c TODO: properly document this.
+
+Fragmentos de código:
+@rlsr{Percussion}.
+
+
+@node Drum rolls
+@unnumberedsubsubsec Drum rolls
 
 Los redobles se indican mediante tres barras cruzadas en la plica.
 Para las negras o notas más largas, las tres barras se muestran
@@ -79,14 +127,13 @@ normales.  Esto se consigue mediante la notación de trémolo,
 @code{:32}, véase @ref{Tremolo repeats}.  He aquí un ejemplo de
 redobles de caja:
 
-@lilypond[quote,ragged-right,verbatim]
-\new DrumStaff
-\drummode {
+@lilypond[quote,verbatim]
+\drums {
   \time 2/4
-  sn16 sn8 sn16 sn8 sn8:32~ |
-  sn8 sn8 sn4:32~ |
-  sn4 sn8 sn16 sn16 |
-  sn4 r4 |
+  sn16 sn8 sn16 sn8 sn8:32 ~
+  sn8 sn8 sn4:32 ~
+  sn4 sn8 sn16 sn16
+  sn4 r4
 }
 @end lilypond
 
@@ -95,65 +142,95 @@ Los golpes de baqueta se pueden indicar mediante la colocación de
 @code{staff-padding} se puede sobreescribir para conseguir una línea
 de base satisfactoria.
 
-@c TODO Add example of sticking
+@lilypond[quote,verbatim]
+\drums {
+  \repeat unfold 2 {
+    sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L"  sn^"R" sn^"R"
+  }
+}
+@end lilypond
 
 @seealso
 
-Referencia del programa:
-@rinternals{note-event}.
+Fragmentos de código:
+@rlsr{Percussion}.
+
+
+@node Pitched percussion
+@unnumberedsubsubsec Pitched percussion
+
+Ciertos instrumentos de percusión de altura determinada (p.ej.: el
+xilófono, el vibráfono y los timbales) se escriben usando pentagramas
+normales.  Esto se estudia en otras secciones del manual.
+
+@seealso
+
+@c TODO: possibly link to an alternate section of NR 3.5, if
+@c "percussion in MIDI" gets a separate subsubsection for
+@c pitched percussion sounds.  -gp
+
+Referencia de la notación:
+@ref{Percussion in MIDI}.
+
+Fragmentos de código:
+@rlsr{Percussion}.
+
 
 @node Percussion staves
 @unnumberedsubsubsec Percussion staves
+
 @cindex percusión
 @cindex batería
 
 Una parte de percusión para más de un instrumento, normalmente utiliza
 una pauta de varias líneas donde cada posición dentro de la pauta se
-refiere a un elemento de percusión.
-
-
-Para tipografiar la música, se deben interpretar las notas dentro de
-los contextos @rinternals{DrumStaff} y @rinternals{DrumVoice}
+refiere a un elemento de percusión.  Para tipografiar la música, se
+deben interpretar las notas dentro de los contextos
+@rinternals{DrumStaff} y @rinternals{DrumVoice}.
 
-@lilypond[quote,ragged-right,verbatim]
-up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
-down = \drummode { bassdrum4 snare8 bd r bd sn4 }
-  \new DrumStaff <<
-    \new DrumVoice { \voiceOne \up }
-    \new DrumVoice { \voiceTwo \down }
-  >>
+@lilypond[quote,verbatim]
+up = \drummode {
+  crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat
+}
+down = \drummode {
+  bassdrum4 snare8 bd r bd sn4
+}
+\new DrumStaff <<
+  \new DrumVoice { \voiceOne \up }
+  \new DrumVoice { \voiceTwo \down }
+>>
 @end lilypond
 
 El ejemplo anterior muestra una notación polifónica prolija.  La
 notación polifónica abreviada, descrita en @rlearning{I'm hearing
-Voices}, también se puede usar si las @rinternals{DrumVoice}s se
-instancian primero a mano.  Por ejemplo,
+Voices}, también se puede usar si las voces se instancian primero a
+mano.  Por ejemplo,
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,verbatim]
 \new DrumStaff <<
-  \new DrumVoice = "1" { s1 *2 }
-  \new DrumVoice = "2" { s1 *2 }
+  \new DrumVoice = "1" { s1*2 }
+  \new DrumVoice = "2" { s1*2 }
   \drummode {
     bd4 sn4 bd4 sn4
-    <<
-      { \repeat unfold 16 hh16 }
-      \\
-      { bd4 sn4 bd4 sn4 }
-    >>
+    << {
+      \repeat unfold 16 hh16
+    } \\ {
+      bd4 sn4 bd4 sn4
+    >>
   }
 >>
 @end lilypond
 
-
 También existen otras posibilidades en lo referente a la disposición.
 Para usarlas, establezca la propiedad @code{drumStyleTable} en el
 contexto @rinternals{DrumVoice}.  Se han predefinido las siguientes
 variables:
 
 @table @code
+
 @item drums-style
 Es la opción por defecto.  Tipografía un típico set de percusión sobre
-una pauta de cinco líneas
+pentagrama:
 
 @lilypond[quote,line-width=10.0\cm]
 nam = \lyricmode {
@@ -267,7 +344,7 @@ mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 }
 
 @item percussion-style
 Para tipografiar toda clase de percusiones simples sobre pautas de una
-línea.
+línea:
 
 @lilypond[quote,ragged-right]
 nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc }
@@ -290,10 +367,14 @@ mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 }
 @end lilypond
 @end table
 
+
+@node Custom percussion staves
+@unnumberedsubsubsec Custom percussion staves
+
 Si no le gusta ninguna de las listas predefinidas, puede definir su
 propia lista al principio de su archivo
 
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
 #(define mydrums '(
          (bassdrum     default   #f         -1)
          (snare        default   #f         0)
@@ -310,22 +391,192 @@ down = \drummode { bd4 sn bd toml8 toml }
 >>
 @end lilypond
 
+@snippets
+
+@c FIXME: MOVE ALL THESE TO LSR!  -gp
+
+He aquí algunos ejemplos adicionales:
+
+Dos bloques de madera, escritos con wbh (@emph{woodblock-high}, bloque
+alto) y wbl (@emph{woodblock-low} bloque bajo)
+
+@lilypond[quote,verbatim]
+% These lines define the position of the woodblocks in the stave;
+% if you like, you can change it or you can use special note heads
+% for the woodblocks.
+#(define mydrums '((hiwoodblock default #t  3)
+                   (lowoodblock default #t -2)))
+
+woodstaff = {
+  % This defines a staff with only two lines.
+  % It also defines the positions of the two lines.
+  \override Staff.StaffSymbol #'line-positions = #'(-2 3)
+
+  % This is neccessary; if not entered, the barline wuld be too short!
+  \override Staff.BarLine #'bar-size = #3
+}
+
+\new DrumStaff {
+  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+
+  % with this you load your new drum style table
+  \woodstaff
+
+  \drummode {
+    \time 2/4
+    wbl8 wbl16 wbl wbh8-> wbl |
+    wbl8 wbl16 wbh-> ~ wbh wbl16 r8 |
+  }
+}
+@end lilypond
+
+Observe que en este caso especial se debe alterar la longitud de la
+línea divisoria con @code{\override Staff.BarLine #'bar-size #number}.
+En caso contrario resulta demasiado corta.  También debe definir las
+posiciones de las dos líneas del pentagrama.  Para más información
+sobre estos delicados asuntos, consulte @ref{Staff symbol}.
+
+Una pandereta, escrita mediante @q{tamb} (@emph{tambourine}:
+
+@lilypond[quote,verbatim]
+tambustaff = {
+  \override Staff.StaffSymbol #'line-positions = #'( 0 )
+  \override Staff.BarLine #'bar-size = #3
+  \set DrumStaff.instrumentName = "Tambourine"
+}
+
+\new DrumStaff {
+  \tambustaff
+  % broken
+  % \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+
+  \drummode {
+    \time 6/8
+    \repeat "unfold" 2 { tamb8. tamb16 tamb8 tamb tamb tamb | }
+    tamb4. tamb8 tamb tamb |
+    % the trick with the scaled duration and the shorter rest
+    % is neccessary for the correct ending of the trill-span!
+    tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
+  }
+}
+@end lilypond
+
+Música para gong, introducida con @q{tt} (tam-tam):
+
+@lilypond[quote,verbatim]
+#(define mydrums '((tamtam default #t 0)))
+
+tamtamstaff = {
+  \override Staff.StaffSymbol #'line-positions = #'( 0 )
+  \override Staff.BarLine #'bar-size = #3
+  \set DrumStaff.instrumentName = "Tamtam"
+}
+
+\new DrumStaff {
+  \tamtamstaff
+  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+
+  \drummode {
+    tt 1 \pp \laissezVibrer
+  }
+}
+@end lilypond
+
+Dos campanas, introducidas con @q{cb} (@emph{cowbell}, cencerro) y
+@q{rb} (@emph{ridebell}, campana normal)
+
+@lilypond[quote,verbatim]
+#(define mydrums '((ridebell default #t  3)
+                   (cowbell  default #t -2)))
+
+bellstaff = {
+  \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
+  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+  \override Staff.BarLine #'bar-size = #3
+  \set DrumStaff.instrumentName = "Different Bells"
+}
+
+\new DrumStaff {
+  \bellstaff
+  \drummode {
+    \time 2/4
+    \repeat "unfold" 2 { rb8 rb cb cb16 rb-> ~ |
+                         rb16 rb8 rb16 cb8 cb | }
+  }
+}
+@end lilypond
+
+Aquí un breve ejemplo del maestro Stravinsky (procedende de la
+@q{Historia del soldado})
+
+@lilypond[quote,verbatim]
+#(define mydrums '((bassdrum   default #t  4)
+                   (snare      default #t -4)
+                   (tambourine default #t  0)))
+
+global = {
+  \time 3/8 s4.
+  \time 2/4 s2*2
+  \time 3/8 s4.
+  \time 2/4 s2
+}
+
+drumsA = {
+  \context DrumVoice <<
+    { \global }
+    { \drummode {
+        \autoBeamOff
+        \stemDown sn8 \stemUp tamb s8 |
+        sn4 \stemDown sn4 |
+        \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
+        \stemDown sn8 \stemUp tamb s8 |
+        \stemUp sn4 s8 \stemUp tamb
+      }
+    }
+  >>
+}
+
+drumsB = {
+  \drummode {
+    s4 bd8 s2*2 s4 bd8 s4 bd8 s8
+  }
+}
+
+\layout {
+  indent = #40
+}
+
+\score {
+  \new StaffGroup <<
+    \new DrumStaff {
+      \set DrumStaff.instrumentName = \markup {
+        \column {
+          "Tambourine"
+          "et"
+          "caisse claire s. timbre"
+        }
+      }
+      \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+      \drumsA
+    }
+
+   \new DrumStaff {
+     \set DrumStaff.instrumentName = "Grosse Caisse"
+     \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+     \drumsB }
+  >>
+}
+@end lilypond
 
 @seealso
 
-Archivos de inicio:
-@file{ly/@/drumpitch@/-init@/.ly}.
+Fragmentos de código:
+@rlsr{Percussion}.
 
 Referencia de funcionamiento interno:
 @rinternals{DrumStaff},
 @rinternals{DrumVoice}.
 
-@knownissues
-
-A causa de que el estándar General MIDI no contiene golpes de aro (rim
-shot), para este propósito se usa el golpe lateral de baqueta
-(sidestick) en su lugar.
-
 
 @c FIXME: check name -gp
 @node Ghost notes
@@ -337,7 +588,6 @@ en @ref{Parentheses}.  Sin embargo, el modo por defecto
 @code{\drummode} no incluye el complemento grabador
 @code{Parenthesis_engraver} que permite esto.
 
-
 @lilypond[quote,ragged-right,verbatim,fragment]
 \new DrumStaff \with {
   \consists "Parenthesis_engraver"
@@ -348,8 +598,8 @@ en @ref{Parentheses}.  Sin embargo, el modo por defecto
     <<
       {
         hh8[ hh] <hh sn> hh16
-        < \parenthesize sn > hh < \parenthesize
-        sn > hh8 <hh sn> hh
+        < \parenthesize sn > hh
+        < \parenthesize sn > hh8 <hh sn> hh
       } \\ {
         bd4 r4 bd8 bd r8 bd
       }
@@ -362,4 +612,7 @@ en @ref{Parentheses}.  Sin embargo, el modo por defecto
 Observe, además, que debe añadir acordes (paréntesis en ángulo @code{<
 >}) alrededor de cada una de las instrucciones @code{\parenthesize}.
 
+@seealso
 
+Fragmentos de código:
+@rlsr{Percussion}.
index cbcbb828f9ea00486e8806a98049baf7b7e5b663..f09646e64e51b01daa2c4c7b383841ce488abb21 100644 (file)
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: es\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2008-10-06 22:02+0200\n"
-"PO-Revision-Date: 2008-10-03 13:48+0200\n"
+"PO-Revision-Date: 2008-10-06 23:49+0200\n"
 "Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
 "Language-Team: Español\n"
 "MIME-Version: 1.0\n"
@@ -2139,8 +2139,7 @@ msgstr "Aumentar solamente el grosor de la ligadura siguiente"
 
 #. Documentation/user/tweaks.itely:669 (comment)
 msgid "Revert thickness of all following slurs to default of 1.2"
-msgstr ""
-"Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
+msgstr "Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
 
 #. Documentation/user/tweaks.itely:1275 (comment)
 msgid "Don't print clefs in this staff"
@@ -2156,8 +2155,7 @@ msgstr "Reducir el tamaño de la fuente en un 24% aprox."
 
 #. Documentation/user/tweaks.itely:1394 (comment)
 msgid "Reduce stem length and line spacing to match"
-msgstr ""
-"Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
+msgstr "Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
 
 #. Documentation/user/tweaks.itely:1768 (comment)
 #. Documentation/user/tweaks.itely:1829 (comment)
@@ -2199,8 +2197,7 @@ msgstr "Detener el corchete de octava"
 
 #. Documentation/user/tweaks.itely:1834 (comment)
 msgid "Place following Ottava Bracket below Text Spanners"
-msgstr ""
-"Situar el corchete de octava ulterior por debajo de los extensores de texto"
+msgstr "Situar el corchete de octava ulterior por debajo de los extensores de texto"
 
 #. Documentation/user/tweaks.itely:1890 (comment)
 msgid "Cause notes to space out to accommodate text"
@@ -2628,8 +2625,7 @@ msgstr "la propiedad padding (relleno)"
 #. @subheading in Documentation/user/tweaks.itely
 #. @subheading in Documentation/es/user/tweaks.itely
 msgid "left-padding and right-padding"
-msgstr ""
-"left-padding y right-padding (relleno por la izquierda y por la derecha)"
+msgstr "left-padding y right-padding (relleno por la izquierda y por la derecha)"
 
 #. @subheading in Documentation/user/tweaks.itely
 #. @subheading in Documentation/es/user/tweaks.itely
@@ -4246,8 +4242,7 @@ msgstr "Establecer longitud de barra del subgrupo a semicorchea"
 
 #. Documentation/user/rhythms.itely:1698 (comment)
 msgid "end 1/16 beams for all time signatures at the 1/16 moment"
-msgstr ""
-"finalizar barras de semicorchea para todos los compases en el momento 1/16"
+msgstr "finalizar barras de semicorchea para todos los compases en el momento 1/16"
 
 #. Documentation/user/rhythms.itely:1702 (comment)
 msgid "end 1/32 beams for all time signatures at the 1/16 moment"
@@ -4289,8 +4284,7 @@ msgstr "Imprimir el número de compás cada dos compases"
 
 #. Documentation/user/rhythms.itely:2198 (comment)
 msgid "Prevent bar numbers at the end of a line and permit them elsewhere"
-msgstr ""
-"No poner números de compás al final de la línea, pero sí en otros lugares"
+msgstr "No poner números de compás al final de la línea, pero sí en otros lugares"
 
 #. Documentation/user/rhythms.itely:2202 (comment)
 #. Documentation/user/rhythms.itely:2228 (comment)
@@ -5316,8 +5310,7 @@ msgstr "Formateo de las notas de aviso"
 
 #. Documentation/user/editorial.itely:321 (comment)
 msgid "this is deliberate nonsense; note that the stems remain black"
-msgstr ""
-"esto no tiene sentido, intencionalmente. Observe que las plicas siguen negras"
+msgstr "esto no tiene sentido, intencionalmente. Observe que las plicas siguen negras"
 
 #. @node in Documentation/user/editorial.itely
 #. @section in Documentation/user/editorial.itely
@@ -5722,9 +5715,8 @@ msgstr "Introducir la letra"
 #. @unnumberedsubsubsec in Documentation/es/user/vocal.itely
 #. @node in Documentation/de/user/vocal.itely
 #. @unnumberedsubsubsec in Documentation/de/user/vocal.itely
-#, fuzzy
 msgid "Lyrics explained"
-msgstr "Explicación de las fuentes tipográficas"
+msgstr "Explicación de la letra"
 
 #. @node in Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in Documentation/user/vocal.itely
@@ -5834,7 +5826,7 @@ msgstr "Letras y repeticiones"
 #. @node in Documentation/de/user/vocal.itely
 #. @subsection in Documentation/de/user/vocal.itely
 msgid "Specific uses of lyrics"
-msgstr ""
+msgstr "Usos específicos de la letra"
 
 #. @node in Documentation/user/vocal.itely
 #. @unnumberedsubsubsec in Documentation/user/vocal.itely
@@ -6163,23 +6155,22 @@ msgstr "Referencias para cuerdas sin trastes"
 
 #. @node in Documentation/user/unfretted-strings.itely
 #. @unnumberedsubsubsec in Documentation/user/unfretted-strings.itely
-#, fuzzy
 msgid "Bowing indications"
-msgstr "indicación del tempo"
+msgstr "Indicaciones de arco"
 
 #. @node in Documentation/user/unfretted-strings.itely
 #. @unnumberedsubsubsec in Documentation/user/unfretted-strings.itely
 msgid "Harmonics"
-msgstr ""
+msgstr "Armónicos"
 
 #. @rglos in Documentation/user/unfretted-strings.itely
 msgid "harmonics"
-msgstr ""
+msgstr "armónicos"
 
 #. @node in Documentation/user/unfretted-strings.itely
 #. @unnumberedsubsubsec in Documentation/user/unfretted-strings.itely
 msgid "Snap (Bartók) pizzicato"
-msgstr ""
+msgstr "Pizzicato de Bartók (Snap)"
 
 #. Documentation/user/fretted-strings.itely:223 (variable)
 msgid "melodia"
@@ -6403,8 +6394,7 @@ msgstr "También define las posiciones de las dos líneas."
 
 #. Documentation/user/percussion.itely:396 (comment)
 msgid "This is neccessary; if not entered, the barline wuld be too short!"
-msgstr ""
-"Esto es necesario; si no se pone, la línea divisoria sería demasiado corta."
+msgstr "Esto es necesario; si no se pone, la línea divisoria sería demasiado corta."
 
 #. Documentation/user/percussion.itely:403 (comment)
 msgid "with this you load your new drum style table"
@@ -7477,8 +7467,7 @@ msgstr "esta vez el texto estará más cerca del pentagrama"
 
 #. Documentation/user/spacing.itely:1721 (comment)
 msgid "by setting outside-staff-priority to a non-number,"
-msgstr ""
-"ajustando el valor de outside-staff-priority a algo que no sea un número,"
+msgstr "ajustando el valor de outside-staff-priority a algo que no sea un número,"
 
 #. Documentation/user/spacing.itely:1722 (comment)
 msgid "we disable the automatic collision avoidance"
@@ -7906,13 +7895,11 @@ msgstr "la RehearsalMark se centra sobre la armadura"
 #. Documentation/user/changing-defaults.itely:2913 (comment)
 #. Documentation/user/changing-defaults.itely:2929 (comment)
 #. Documentation/user/changing-defaults.itely:2936 (comment)
-msgid ""
-"The RehearsalMark will be aligned with the left edge of the KeySignature"
+msgid "The RehearsalMark will be aligned with the left edge of the KeySignature"
 msgstr "la RehearsalMark se alinea por la izquierda con la armadura"
 
 #. Documentation/user/changing-defaults.itely:2918 (comment)
-msgid ""
-"The RehearsalMark will be aligned with the right edge of the KeySignature"
+msgid "The RehearsalMark will be aligned with the right edge of the KeySignature"
 msgstr "la RehearsalMark se alinea por la derecha con la armadura"
 
 #. Documentation/user/changing-defaults.itely:2930 (comment)
@@ -9332,11 +9319,3 @@ msgstr "Notas al pie"
 msgid "Table of Contents"
 msgstr "Índice general"
 
-#~ msgid "Common notation for vocals"
-#~ msgstr "Notación usual para voces"
-
-#~ msgid "Placement of lyrics"
-#~ msgstr "Colocación de la letra"
-
-#~ msgid "Deeper nested staff groups"
-#~ msgstr "Grupos de pentagramas más complejos"
index 14f090c17a8ca3cfb817fe7cff90a7fa0a476f33..ce45bd7f5e12fbe6a4400ad8fc6ee23fffff6168 100644 (file)
@@ -12,7 +12,7 @@
 @section Percussion
 
 @menu
-* Common notation for percussion::  
+* Common notation for percussion::
 @end menu
 
 @node Common notation for percussion
@@ -22,13 +22,13 @@ Rhythmic music is primarily used for percussion and drum notation, but it can
 also be used to show the rhythms of melodies.
 
 @menu
-* References for percussion::   
-* Basic percussion notation::   
-* Drum rolls::                  
-* Pitched percussion::          
-* Percussion staves::           
-* Custom percussion staves::    
-* Ghost notes::                 
+* References for percussion::
+* Basic percussion notation::
+* Drum rolls::
+* Pitched percussion::
+* Percussion staves::
+* Custom percussion staves::
+* Ghost notes::
 @end menu
 
 @node References for percussion
@@ -147,7 +147,7 @@ Snippets: @rlsr{Percussion}.
 @unnumberedsubsubsec Pitched percussion
 
 Certain pitched percussion instruments (e.g. xylophone,
-vibraphone, and timpani) are written using with normal staffs.
+vibraphone, and timpani) are written using normal staves.
 This is covered in other sections of the manual.
 
 @seealso
@@ -396,12 +396,12 @@ woodstaff = {
   % This is neccessary; if not entered, the barline wuld be too short!
   \override Staff.BarLine #'bar-size = #3
 }
+
 \new DrumStaff {
-  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) 
+  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
 
   % with this you load your new drum style table
-  \woodstaff 
+  \woodstaff
 
   \drummode {
     \time 2/4
@@ -411,27 +411,25 @@ woodstaff = {
 }
 @end lilypond
 
-@seealso
-
 Note that in this special case the length of the barline must
 altered with @code{\override Staff.BarLine #'bar-size #number}.
-Otherwise it would be too short. And You have also to define the
-positions of the to stafflines.  For more information about these
+Otherwise it would be too short.  And you have also to define the
+positions of the two stafflines.  For more information about these
 delicate things have a look at @ref{Staff symbol}.
 
 A tambourine, entered with @q{tamb}:
 
 @lilypond[quote,verbatim]
 tambustaff = {
-  \override Staff.StaffSymbol #'line-positions = #'( 0 )   
+  \override Staff.StaffSymbol #'line-positions = #'( 0 )
   \override Staff.BarLine #'bar-size = #3
   \set DrumStaff.instrumentName = "Tambourine"
 }
 
 \new DrumStaff {
-  \tambustaff 
+  \tambustaff
   % broken
-  % \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) 
+  % \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
 
   \drummode {
     \time 6/8
@@ -442,7 +440,7 @@ tambustaff = {
     tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
   }
 }
-@end lilypond 
+@end lilypond
 
 Music for Tam-Tam (entered with @q{tt}):
 
@@ -450,18 +448,18 @@ Music for Tam-Tam (entered with @q{tt}):
 #(define mydrums '((tamtam default #t 0)))
 
 tamtamstaff = {
-  \override Staff.StaffSymbol #'line-positions = #'( 0 )   
+  \override Staff.StaffSymbol #'line-positions = #'( 0 )
   \override Staff.BarLine #'bar-size = #3
   \set DrumStaff.instrumentName = "Tamtam"
 }
 
 \new DrumStaff {
   \tamtamstaff
-  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) 
+  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
 
   \drummode {
-    tt 1 \pp \laissezVibrer 
-  } 
+    tt 1 \pp \laissezVibrer
+  }
 }
 @end lilypond
 
@@ -472,12 +470,12 @@ Two different bells, entered with @q{cb} (cowbell) and @q{rb} (ridebell)
                    (cowbell  default #t -2)))
 
 bellstaff = {
-  \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)  
-  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) 
+  \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
+  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
   \override Staff.BarLine #'bar-size = #3
   \set DrumStaff.instrumentName = "Different Bells"
 }
+
 \new DrumStaff {
   \bellstaff
   \drummode {
@@ -501,12 +499,12 @@ global = {
   \time 3/8 s4.
   \time 2/4 s2
 }
+
 drumsA = {
   \context DrumVoice <<
     { \global }
     { \drummode {
-        \autoBeamOff 
+        \autoBeamOff
         \stemDown sn8 \stemUp tamb s8 |
         sn4 \stemDown sn4 |
         \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
@@ -522,12 +520,12 @@ drumsB = {
     s4 bd8 s2*2 s4 bd8 s4 bd8 s8
   }
 }
+
 \layout {
   indent = #40
-} 
+}
 
-\score { 
+\score {
   \new StaffGroup <<
     \new DrumStaff {
       \set DrumStaff.instrumentName = \markup {
@@ -539,13 +537,13 @@ drumsB = {
       }
       \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
       \drumsA
-    } 
+    }
 
    \new DrumStaff {
      \set DrumStaff.instrumentName = "Grosse Caisse"
      \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
      \drumsB }
-  >> 
+  >>
 }
 @end lilypond