]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation'
authorJohn Mandereau <john.mandereau@gmail.com>
Mon, 1 Nov 2010 16:18:08 +0000 (17:18 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Mon, 1 Nov 2010 16:18:08 +0000 (17:18 +0100)
84 files changed:
Documentation/de/essay/engraving.itely
Documentation/de/extending.tely
Documentation/de/extending/programming-interface.itely
Documentation/de/extending/scheme-tutorial.itely
Documentation/de/included/authors.itexi
Documentation/de/learning/common-notation.itely
Documentation/de/learning/fundamental.itely
Documentation/de/learning/preface.itely
Documentation/de/learning/templates.itely
Documentation/de/learning/tutorial.itely
Documentation/de/learning/tweaks.itely
Documentation/de/notation/changing-defaults.itely
Documentation/de/notation/chords.itely
Documentation/de/notation/editorial.itely
Documentation/de/notation/fretted-strings.itely
Documentation/de/notation/input.itely
Documentation/de/notation/notation-appendices.itely
Documentation/de/notation/repeats.itely
Documentation/de/notation/rhythms.itely
Documentation/de/notation/simultaneous.itely
Documentation/de/notation/text.itely
Documentation/de/notation/wind.itely
Documentation/de/notation/world.itely
Documentation/de/usage/lilypond-book.itely
Documentation/de/web.texi
Documentation/de/web/community.itexi
Documentation/de/web/download.itexi
Documentation/de/web/introduction.itexi
Documentation/es/changes.tely
Documentation/es/essay.tely
Documentation/es/essay/engraving.itely
Documentation/es/essay/literature.itely
Documentation/es/extending.tely
Documentation/es/extending/programming-interface.itely
Documentation/es/extending/scheme-tutorial.itely
Documentation/es/included/generating-output.itexi
Documentation/es/included/helpus.itexi
Documentation/es/learning/common-notation.itely
Documentation/es/learning/fundamental.itely
Documentation/es/learning/preface.itely
Documentation/es/learning/templates.itely
Documentation/es/learning/tutorial.itely
Documentation/es/learning/tweaks.itely
Documentation/es/notation/ancient.itely
Documentation/es/notation/changing-defaults.itely
Documentation/es/notation/cheatsheet.itely
Documentation/es/notation/chords.itely
Documentation/es/notation/contemporary.itely
Documentation/es/notation/editorial.itely
Documentation/es/notation/expressive.itely
Documentation/es/notation/fretted-strings.itely
Documentation/es/notation/input.itely
Documentation/es/notation/keyboards.itely
Documentation/es/notation/notation-appendices.itely
Documentation/es/notation/notation.itely
Documentation/es/notation/percussion.itely
Documentation/es/notation/pitches.itely
Documentation/es/notation/repeats.itely
Documentation/es/notation/rhythms.itely
Documentation/es/notation/simultaneous.itely
Documentation/es/notation/spacing.itely
Documentation/es/notation/specialist.itely
Documentation/es/notation/staff.itely
Documentation/es/notation/unfretted-strings.itely
Documentation/es/notation/vocal.itely
Documentation/es/notation/world.itely
Documentation/es/texidocs/adding-orchestral-cues-to-a-vocal-score.texidoc
Documentation/es/texidocs/beam-endings-in-score-context.texidoc
Documentation/es/texidocs/customizing-fretboard-fret-diagrams.texidoc
Documentation/es/texidocs/defining-predefined-fretboards-for-other-instruments.texidoc
Documentation/es/usage/external.itely
Documentation/es/usage/lilypond-book.itely
Documentation/es/usage/running.itely
Documentation/es/usage/suggestions.itely
Documentation/es/usage/updating.itely
Documentation/es/web.texi
Documentation/es/web/community.itexi
Documentation/es/web/download.itexi
Documentation/es/web/introduction.itexi
Documentation/es/web/news-front.itexi
Documentation/es/web/news.itexi
Documentation/fr/notation/rhythms.itely
Documentation/snippets/customizing-fretboard-fret-diagrams.ly
Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly

index 755a3634a0a1edacc07a64be7ee4a24c4f37c87e..387686198157600138f5be57dc4ba9680e7344da 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
 
     When revising a translation, copy the HEAD committish of the
@@ -487,8 +487,9 @@ global = {
   \key c \minor
 }
 
-\new Score <<
-  \new Staff \with {
+\score {
+  <<
+    \new Staff \with {
       fontSize = #-4
       \override StaffSymbol #'staff-space = #(magstep -4)
       \override StaffSymbol #'thickness = #(magstep -3)
@@ -500,30 +501,34 @@ global = {
       g8.(^> b16 c ees) g8-.^> r r
       R2.
     }
-  \new PianoStaff <<
-    \set PianoStaff.instrumentName = #"Piano"
-    \new Staff \relative c' {
-      \global
-      s2.
-      s4. s8 r8 r16 <c f aes c>
-      <c f aes c>4.^> <c ees g>8 r r
-    }
-    \new Staff \relative c {
-      \global
-      \clef "bass"
-      << {
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = #"Piano"
+      \new Staff \relative c' {
+        \global
+        s2.
+        s4. s8 r8 r16 <c f aes c>
+        <c f aes c>4.^> <c ees g>8 r r
+      }
+      \new Staff \relative c {
+        \global
+        \clef "bass"
+        <<
+        {
         \once \override DynamicText #'X-offset = #-3
         <ees g c>2.~->^\f
         <ees g c>4.~ <ees g c>8
       } \\ {
         <c g c,>2.~
         <c g c,>4.~ <c g c,>8
-      } >>
-      r8 r16 <f, c' aes'>16
-      <f c' aes'>4.-> <c' g'>8 r r
-    }
+      } 
+        >>
+        r8 r16 <f, c' aes'>16
+        <f c' aes'>4.-> <c' g'>8 r r
+      }
+    >>
   >>
 >>
+}
 @end lilypond
 @end ignore
 
@@ -839,10 +844,12 @@ partII = \relative c' {
   d4 r4 r8 d'16 c bes8 c16 d
   ees8 d c ees a, r r4
 }
+
 partIII = \relative c' {
   \voiceOne
   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
 }
+
 partIV = \relative c {
   \voiceTwo
   d4 r r2
@@ -902,16 +909,19 @@ die untere und obere Stimme zeitweise ausgetauscht werden:
 
 @lilypond
 collide = \once \override NoteColumn #'force-hshift = #0
-\new Score <<
-  \new Voice = "sample" \relative c''{
-    \key g \minor
-    <<
-      { \voiceOne g4 \collide g4 }
-      \new Voice { \voiceTwo bes \collide bes }
-    >>
-  }
-  \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
->>
+
+\score {
+  <<
+    \new Voice = "sample" \relative c''{
+      \key g \minor
+      <<
+        { \voiceOne g4 \collide g4 }
+        \new Voice { \voiceTwo bes \collide bes }
+      >>
+    }
+    \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
+  >>
+}
 @end lilypond
 
 @item Finale positioniert alle Pausen an einer festen Position auf
@@ -1444,13 +1454,19 @@ Beim ersten Akkord sind alle Objekte nach unten (oder links)
 ausgerichtet, beim zweiten nach oben (rechts).
 
 @lilypond[quote,ragged-right]
-\new Score \with {
-   \override SpacingSpanner #'spacing-increment = #3
-   \override TimeSignature #'transparent = ##t
-} \relative c' {
-   \stemDown <e g b>4_>-\arpeggio
-   \override Arpeggio #'direction = #RIGHT
-   \stemUp <e g b>4^>-\arpeggio
+\score {
+  \relative c' {
+    \stemDown <e g b>4_>-\arpeggio
+    \override Arpeggio #'direction = #RIGHT
+    \stemUp <e g b>4^>-\arpeggio
+  }
+  \layout {
+    \context {
+      \Score
+      \override SpacingSpanner #'spacing-increment = #3
+      \override TimeSignature #'transparent = ##t
+    }
+  }
 }
 @end lilypond
 
index 02e9f14d82148ea5d75e1f1fb6b6013b589d2532..3bfcaa8cbacb72e8229187a5756dd1efa36721ab 100644 (file)
@@ -1,14 +1,14 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: 4f7427e7a314a71bde16559247885544256b8213
+    Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
-    Guide, node Updating translation committishes..
+    Guide, node Updating translation committishes.
 @end ignore
 
 @setfilename lilypond-extending.info
-@settitle Extending LilyPond
+@settitle LilyPond erweitern
 @documentencoding UTF-8
 @documentlanguage de
 @afourpaper
@@ -48,7 +48,7 @@ Copyright @copyright{} 2003--2010 bei den Autoren.
 @menu
 * Scheme-Übung::                Programmieren innerhalb von LilyPond.
 * Schnittstellen für Programmierer::     Wie man mit Scheme kommunizieren kann.
-* LilyPond Scheme interfaces::     Information in die Noten senden und aus den Noten erhalten.
+* LilyPond Scheme-Schnittstellen::     Information in die Noten senden und aus den Noten erhalten.
 
 Anhänge
 
index 8bc446fbbdb798d34d48a04aeb4936786b37ab7c..5a1ae6dcfecba7a225305b81aabbed2a7e5fafe9 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 
 @ignore
-    Translation of GIT committish: 3d7ffa1f82bb44673134b28becf7898482fe7316
+    Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
 Fortgeschrittene Anpassungen können mithilfe der Programmiersprache
 Scheme vorgenommen werden.  Wenn Sie Scheme nicht kennen, gibt
 es eine grundlegende Einleitung in LilyPonds
-@rlearning{Scheme-Übung}.
+@ref{Scheme-Übung}.
 
 @menu
 * Musikalische Funktionen::
-* Schnittstelle für Programmierer::
-* Komplizierte Funktionen erstellen::
-* Programmierungsschnittstelle für Textbeschriftungen::
+* Textbeschriftungsfunktionen::
 * Kontexte für Programmierer::
-* Scheme-Vorgänge als Eigenschaften::
-* Scheme-Code anstelle von \tweak verwenden::
+* Callback-Funktionen::
+* Scheme-Code innerhalb LilyPonds::
 * Schwierige Korrekturen::
 @end menu
 
@@ -38,163 +36,122 @@ es eine grundlegende Einleitung in LilyPonds
 @translationof Music functions
 
 Dieser Abschnitt behandelt die Erstellung von musikalischen Funktionen
-innerhalb von LilyPond.
+innerhalb von LilyPond. @emph{Musikalische Funktionen} sind Scheme-Prozeduren,
+die musikalische Ausdrücke automatisch erstellen können und dadurch die
+Eingabedatei maßgeblich vereinfachen können.
 
 @menu
-* Überblick über musikalische Funktionen::
+* Syntax der musikalischen Funktionen::
 * Einfache Ersetzungsfunktionen::
-* Paarige Ersetzungsfunktionen::
+* Mittlere Ersetzungsfunktionen::
 * Mathematik in Funktionen::
-* Leere Funktionen::
 * Funktionen ohne Argumente::
-* Überblick über vorhandene musikalische Funktionen::
+* Leere Funktionen::
 @end menu
 
-@node Überblick über musikalische Funktionen
-@subsection Überblick über musikalische Funktionen
-@translationof Overview of music functions
+@node Syntax der musikalischen Funktionen
+@subsection Syntax der musikalischen Funktionen
+@translationof Music function syntax
 
-Es ist einfach, eine Funktion zu erstellen, die Variablen
-im LilyPond-Code ersetzt.  Die allgemeine Form derartiger
-Funktionen ist
+Die allgemeine Form von musikalischen Funktionen ist:
 
 @example
 function =
-#(define-music-function (parser location @var{var1} @var{var2}...@var{vari}... )
-                        (@var{var1-type?} @var{var2-type?}...@var{vari-type?}...)
-  #@{
-    @emph{...Noten...}
-  #@})
+#(define-music-function
+     (parser location @var{Arg1} @var{Arg2} @dots{})
+     (@var{Typ1?} @var{Typ2?} @dots{})
+   @var{Noten})
 @end example
 
 @noindent
 wobei
 
 @multitable @columnfractions .33 .66
-@item @var{vari}         @tab die @var{i}te Variable
-@item @var{vari-type?}   @tab die Art der @var{i}ten Variable
-@item @var{...Noten...}  @tab normaler LilyPond-Code, in dem Variablen 
-wie @code{#$var1} usw. benutzt werden.
-@end multitable
+@item @var{ArgN}
+@tab das @var{n}te Argument
 
-Die folgenden Eingabetypen können als Variablen in einer musikalischen
-Funktion benutzt werden.  Diese Liste ist nicht vollständig -- siehe
-auch andere Dokumentationen über Scheme für weitere Variablenarten.
+@item @var{TypN?}
+@tab ein Scheme-Typenprädikat (engl. type predicate), für welches
+@code{@var{ArgN}} @code{#t} ausgeben muss
+
+@item @var{...Noten...}
+@tab ein musikalischer Ausdruck, optional in Scheme geschrieben, mit allem
+LilyPond-Code in Raute/geschweifte Klammer eingeschlossen
+(@tie{}@w{@code{#@{@dots{}#@}}}@tie{}).  Innerhalb der LilyPond-Codeumgebungen
+wird @code{$} eingesetzt, um auf Funktionsargumente zu verweisen (etwa
+@samp{$Arg1}), oder ein neuer Scheme-Ausdruck muss begonnen werden,
+der die Funktionsargumente enthält (etwa @w{@samp{$(cons Arg1 Arg2)}}).
 
-@multitable @columnfractions .33 .66
-@headitem Eingabetyp           @tab @var{vari-type?}-Notation
-@item Ganzzahl                 @tab @code{integer?}
-@item Float (Dezimalzahl)      @tab @code{number?}
-@item Zeichenkette             @tab @code{string?}
-@item Textbeschriftung         @tab @code{markup?}
-@item Musikalischer Ausdruck   @tab @code{ly:music?}
-@item Ein Variablenpaar        @tab @code{pair?}
 @end multitable
 
-Die Argumente @code{parser} und @code{location} sind zwingend erforderlich
-und werden in einigen fortgeschrittenen Situationen eingesetzt.  Das
-Argument @code{parser} wird benutzt, um auf den Wert einer weiteren
-LilyPond-Variable zuzugreifen.  Das Argument @code{location} wird
-benutzt, um den @qq{Ursprung} des musikalischen Ausdrucks zu definieren, der von
-der musikalischen Funktion erzeugt wird.  Das hilft, wenn ein
-Syntaxfehler auftaucht: in solchen Fällen kann LilyPond mitteilen,
-an welcher Stelle in der Eingabedatei sich der Fehler befindet.
+Eine Liste der möglichen Typenprädikate findet sich in
+@ruser{Vordefinierte Typenprädikate}.  Durch den Benutzer definierte
+Typenprädikate sind auch erlaubt.
 
+@seealso
 
-@node Einfache Ersetzungsfunktionen
-@subsection Einfache Ersetzungsfunktionen
-@translationof Simple substitution functions
+Notationsreferenz:
+@ruser{Vordefinierte Typenprädikate}.
 
-Hier ist ein einfaches Beispiel:
+Installierte Dateien:
+@file{lily/music-scheme.cc},
+@file{scm/c++.scm},
+@file{scm/lily.scm}.
 
-@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
 
-Musikalische Ausdrücke können auch ersetzt werden:
-
-@lilypond[quote,verbatim,ragged-right]
-custosNote = #(define-music-function (parser location note)
-                                     (ly:music?)
-  #{
-    \once \override Voice.NoteHead #'stencil =
-      #ly:text-interface::print
-    \once \override Voice.NoteHead #'text =
-      \markup \musicglyph #"custodes.mensural.u0"
-    \once \override Voice.Stem #'stencil = ##f
-    $note
-  #})
-
-{ c' d' e' f' \custosNote g' }
-@end lilypond
-
-Mehrere Variablen können benutzt werden:
+@node Einfache Ersetzungsfunktionen
+@subsection Einfache Ersetzungsfunktionen
+@translationof Simple substitution functions
 
-@lilypond[quote,verbatim,ragged-right]
-tempoPadded = #(define-music-function (parser location padding tempotext)
-  (number? string?)
-#{
-  \once \override Score.MetronomeMark #'padding = $padding
-  \tempo \markup { \bold $tempotext }
-#})
+Einfache Ersetzungsfunktionen sind musikalische Funktionen, deren 
+musikalische Ausgabe-Funktion im LilyPond-Format geschrieben ist
+und Funktionsargumente in der Ausgabefunktion enthält.  Sie werden
+beschrieben in @ruser{Beispiele der Ersetzungsfunktionen}
 
-\relative c'' {
-  \tempo \markup { "Low tempo" }
-  c4 d e f g1
-  \tempoPadded #4.0 #"High tempo"
-  g4 f e d c1
-}
-@end lilypond
 
+@node Mittlere Ersetzungsfunktionen
+@subsection Mittlere Ersetzungsfunktionen
+@translationof Intermediate substitution functions
 
-@node Paarige Ersetzungsfunktionen
-@subsection Paarige Ersetzungsfunktionen
-@translationof Paired substitution functions
+Mittlere Ersetzungsfunktionen setzen sich aus einer Mischung von
+Scheme-Code und LilyPond-Code in der musikalischen Ausgabe-Funktion
+zusammen.
 
 Einige @code{\override}-Befehle benötigen ein Zahlenpaar
-(als @code{cons}-Zelle in Scheme bezeichnet).  Um beide Zahlen
-einer Funktion zuzuweisen, kann entweder die Variable @code{pair?}
-benutzt werden oder die @code{cons} in die musikalische Funktion
-eingefügt werden.
+(als @code{cons}-Zelle in Scheme bezeichnet).
+
+Das Paar kann direkt an die musikalische Funktion
+mit der Variable @code{pair?} weitergeleitet werden:
 
-@quotation
 @example
 manualBeam =
-#(define-music-function (parser location beg-end)
-                        (pair?)
-#@{
-  \once \override Beam #'positions = #$beg-end
-#@})
-
-\relative @{
+#(define-music-function
+     (parser location beg-end)
+     (pair?)
+   #@{
+     \once \override Beam #'positions = $beg-end
+   #@})
+
+\relative c' @{
   \manualBeam #'(3 . 6) c8 d e f
 @}
 @end example
-@end quotation
 
-@noindent
-oder
+Anstelle dessen können auch die Zahlen, aus denen das Paar besteht,
+einzeln als eigenständige Argumente weitergeleitet und der
+Scheme-Code, der das Paar erstellt, in die musikalische Funktion
+augenommen werden:
 
 @lilypond[quote,verbatim,ragged-right]
 manualBeam =
-#(define-music-function (parser location beg end)
-                        (number? number?)
-#{
-  \once \override Beam #'positions = #(cons $beg $end)
-#})
-
-\relative {
+#(define-music-function
+     (parser location beg end)
+     (number? number?)
+   #{
+     \once \override Beam #'positions = $(cons beg end)
+   #})
+
+\relative c' {
   \manualBeam #3 #6 c8 d e f
 }
 @end lilypond
@@ -208,18 +165,25 @@ Musikalische Funktionen können neben einfachen Ersetzungen
 auch Scheme-Programmcode enthalten:
 
 @lilypond[quote,verbatim,ragged-right]
-AltOn = #(define-music-function (parser location mag) (number?)
-  #{ \override Stem #'length = #$(* 7.0 mag)
+AltOn =
+#(define-music-function
+     (parser location mag)
+     (number?)
+   #{
+     \override Stem #'length = $(* 7.0 mag)
      \override NoteHead #'font-size =
-       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #})
+       $(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
+   #})
 
 AltOff = {
   \revert Stem #'length
   \revert NoteHead #'font-size
 }
 
-{ c'2 \AltOn #0.5 c'4 c'
-  \AltOn #1.5 c' c' \AltOff c'2 }
+\relative c' {
+  c2 \AltOn #0.5 c4 c
+  \AltOn #1.5 c c \AltOff c2
+}
 @end lilypond
 
 @noindent
@@ -227,47 +191,26 @@ Dieses Beispiel kann auch umformuliert werden, um musikalische Ausdrücke
 zu integrieren:
 
 @lilypond[quote,verbatim,ragged-right]
-withAlt = #(define-music-function (parser location mag music) (number? ly:music?)
-  #{ \override Stem #'length = #$(* 7.0 mag)
+withAlt =
+#(define-music-function
+     (parser location mag music)
+     (number? ly:music?)
+   #{
+     \override Stem #'length = $(* 7.0 mag)
      \override NoteHead #'font-size =
-       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
+       $(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
      $music
      \revert Stem #'length
-     \revert NoteHead #'font-size #})
+     \revert NoteHead #'font-size
+   #})
 
-{ c'2 \withAlt #0.5 {c'4 c'}
-  \withAlt #1.5 {c' c'} c'2 }
+\relative c' {
+  c2 \withAlt #0.5 { c4 c }
+  \withAlt #1.5 { c c } c2
+}
 @end lilypond
 
 
-@node Leere Funktionen
-@subsection Leere Funktionen
-@translationof Void functions
-
-Eine musikalische Funktion muss einen musikalischen Ausdruck
-ausgeben, aber in manchen Fällen müssen Funktionen erstellt werden,
-die keine Notation enthalten (wie etwa eine Funktion, mit der
-man @qq{Point and Click} ausschalten kann).  Um das vornehmen zu
-können, wird ein @code{leere}r musikalischer Ausdruck ausgegeben.
-
-Das ist der Grund, warum die Form, die ausgegeben wird,
-@code{(make-music ...)} heißt.  Wird die Eigenschaft
-@code{'void} (engl. für @qq{leer}) auf @code{#t} gesetzt, wird der
-Parser angewiesen, den ausgegebenen musikalischen Ausdruck zu ignorieren.
-Der maßgebliche Teil der @code{'void}-Funktion ist also die Verarbeitung,
-die die Funktion vornimmt, nicht der musikalische Ausdruck, der ausgegeben
-wird.
-
-@example
-noPointAndClick =
-#(define-music-function (parser location) ()
-   (ly:set-option 'point-and-click #f)
-   (make-music 'SequentialMusic 'void #t))
-...
-\noPointAndClick   % disable point and click
-@end example
-
-
 @node Funktionen ohne Argumente
 @subsection Funktionen ohne Argumente
 @translationof Functions without arguments
@@ -284,7 +227,9 @@ musikalische Funktion ohne Argumente zu erstellen:
 
 @example
 displayBarNum =
-#(define-music-function (parser location) ()
+#(define-music-function
+     (parser location)
+     ()
    (if (eq? #t (ly:get-option 'display-bar-numbers))
        #@{ \once \override Score.BarNumber #'break-visibility = ##f #@}
        #@{#@}))
@@ -302,623 +247,51 @@ lilypond -d display-bar-numbers Dateiname.ly
 aufgerufen werden.
 
 
-@node Überblick über vorhandene musikalische Funktionen
-@subsection Überblick über vorhandene musikalische Funktionen
-@translationof Overview of available music functions
-
-@c fixme ; this should be move somewhere else?
-Die folgenden Befehle sind musikalische Funktionen:
-
-@include identifiers.tely
-
-
-
-@node Schnittstelle für Programmierer
-@section Schnittstelle für Programmierer
-@translationof Programmer interfaces
-
-Dieser Abschnitt zeigt, wie LilyPond und
-Scheme gemischt werden können.
-
-@menu
-* Eingabevariablen und Scheme::
-* Interne Repräsentation der Musik::
-@end menu
-
-
-@node Eingabevariablen und Scheme
-@subsection Eingabevariablen und Scheme
-@translationof Input variables and Scheme
-
-Das Eingabeformat unterstützt die Notation von Variablen: im
-folgenden Beispiel wird ein musikalischer Ausdruck einer Variable
-mit der Bezeichnung @code{traLaLa} zugewiesen:
-
-@example
-traLaLa = @{ c'4 d'4 @}
-@end example
-
-Der Geltungsbereich von Variablen ist beschränkt: im folgenden
-Beispiel enthält die @code{\layout}-Umgebung auch eine
-@code{traLaLa}-vVariable, die unabhängig von der äußeren
-@code{\traLaLa}-Variable ist:
-
-@example
-traLaLa = @{ c'4 d'4 @}
-\layout @{ traLaLa = 1.0 @}
-@end example
-
-Grundsätzlich ist jede Eingabedatei ein Geltungsbereich, und
-alle @code{\header}-, @code{\midi}- und @code{\layout}-Umgebungen
-sind Geltungsbereiche, die unterhalb des globalen Geltungsbereiches
-angeordnet sind.
-
-Sowohl Variablen als auch Geltungsbereiche sind in Form des
-GUILE-Modulsystems implementiert.  Ein anonymes Scheme-Modul
-wird an jeden Geltungsbereich angehängt.  Eine Zuweisung der Form
-
-@example
-traLaLa = @{ c'4 d'4 @}
-@end example
-
-@noindent
-wird intern in die Scheme-Definition
-
-@example
-(define traLaLa @var{Scheme-Wert von `@code{... }'})
-@end example
 
-@noindent
-umgewandelt.
-
-Das bedeutet, dass Eingabe- und Scheme-Variablen frei vermischt
-werden können.  Im nächsten Beispiel wird ein Notenfragment in
-der Variable @code{traLaLa} gespeichert und mithilfe von Scheme
-dupliziert.  Das Ergebnis wird in eine @code{\score}-Umgebung
-mit der zweiten Variable @code{twice} integriert:
-
-@lilypond[verbatim]
-traLaLa = { c'4 d'4 }
-
-%% dummy action to deal with parser lookahead
-#(display "this needs to be here, sorry!")
-
-#(define newLa (map ly:music-deep-copy
-  (list traLaLa traLaLa)))
-#(define twice
-  (make-sequential-music newLa))
-
-{ \twice }
-@end lilypond
-
-In diesem Beispiel geschieht die Zuweisung, nachdem der Parser
-festgestellt hat, dass nichts interessantes mehr nach
-@code{traLaLa = @{ ... @}} vorkommt.  Ohne die Pseudovariable
-in dem Beispiel würde die @code{newLa}-Definition ausgeführt
-werden, bevor @code{traLaLa} definiert ist, was zu einem
-Syntax-Fehler führen würde.
-
-Das obige Beispiel zeigt, wie man musikalische Ausdrücke
-von der Eingabe in den Scheme-Interpretierer @qq{exportieren}
-kann.  Es geht auch in die andere Richtung.  Indem man einen
-Scheme-Wert in die Funktion @code{ly:export} einpackt, wird
-der Scheme-Wert interpretiert als ob er in LilyPond-Syntax
-notiert worden wäre.  Anstatt @code{\twice} zu definieren,
-hätte man also auch schreiben können:
+@node Leere Funktionen
+@subsection Leere Funktionen
+@translationof Void functions
 
-@example
-...
-@{ #(ly:export (make-sequential-music (list newLa))) @}
-@end example
+Eine musikalische Funktion muss einen musikalischen Ausdruck
+ausgeben, aber in manchen Fällen müssen Funktionen erstellt werden,
+die keine Noten enthalten (wie etwa eine Funktion, mit der
+man @qq{Point and Click} ausschalten kann).  Um das vornehmen zu
+können, wird ein @code{leere}r musikalischer Ausdruck ausgegeben.
 
-Scheme-Code wird sofort ausgewertet, wenn der Parser darauf
-stößt.  Um Scheme-Code in einem Makro zu definieren (das dann
-erst später aufgerufen werden soll), müssen leere Funktionen
-benutzt werden (siehe @ref{Leere Funktionen}) oder das Folgende:
+Das ist der Grund, warum die Form, die ausgegeben wird,
+@w{@code{(make-music @dots{})}} heißt.  Wird die Eigenschaft
+@code{'void} (engl. für @qq{leer}) auf @code{#t} gesetzt, wird der
+Parser angewiesen, den ausgegebenen musikalischen Ausdruck zu ignorieren.
+Der maßgebliche Teil der @code{'void}-Funktion ist also die Verarbeitung,
+die die Funktion vornimmt, nicht der musikalische Ausdruck, der ausgegeben
+wird.
 
 @example
-#(define (nopc)
-  (ly:set-option 'point-and-click #f))
-
+noPointAndClick =
+#(define-music-function
+     (parser location)
+     ()
+   (ly:set-option 'point-and-click #f)
+   (make-music 'SequentialMusic 'void #t))
 ...
-#(nopc)
-@{ c'4 @}
-@end example
-
-@knownissues
-
-Scheme- und LilyPond-Variablen können im LilyPond-Modus mit der
-@code{--safe}-Option nicht vermischt werden.
-
-
-@node Interne Repräsentation der Musik
-@subsection Interne Repräsentation der Musik
-@translationof Internal music representation
-
-Wenn ein musikalischer Ausdruck ausgewertet wird, wird er in eine
-Anzahl von musikalischen Scheme-Objekten konvertiert.  Die Eigenschaft, die ein
-musikalisches Objekt definiert, ist, dass es Zeit einnimmt.  Zeit ist
-eine rationale Zahl, die die Länge eines Stückes in ganzen Noten
-misst.
-
-Ein musikalisches Objekt hat drei Typusarten:
-@itemize
-@item
-musikalische Bezeichnung: Jeder musikalische Ausdruck hat eine Bezeichnung.
-Eine Note beispielsweise führt zu einem @rinternals{NoteEvent} und
-@code{\simultaneous} führt zu @rinternals{SimultaneousMusic}.  Eine Liste
-aller möglichen Ausdrücke findet sich in der Referenz der Interna, unter
-@rinternals{Music expressions}.
-
-@item
-@q{Typ} oder Schnittstelle:  Jede musikalische Bezeichnung hat mehrere
-@qq{Typen} oder Schnittstellten, beispielsweise ist eine Note ein
-@code{event}, ober sie ist auch ein @code{note-event}, ein
-@code{rhythmic-event} und ein @code{melodic-event}.  Alle diese
-Notationsklassen finden sich in der Referenz der Interna unter
-@rinternals{Music classes}.
-
-@item
-C++-Objekt:  Jedes musikalische Objekt wird von einem Objekt der
-C++-Klasse @code{Music} repräsentiert.
-@end itemize
-
-Die eigentlich Information eines musikalischen Ausdrucks ist in
-Eigenschaften gespeichert.  Ein @rinternals{NoteEvent} hat zum
-Beispiel @code{pitch}- und @code{duration}-Eigenschaften, die
-die Tonhöhe und die Dauer dieser Note speichern.  Eine Liste aller
-verfügbaren Eigenschaften findet sich in der Referenz der Interna unter
-@rinternals{Music properties}.
-
-Ein zusammengesetzter musikalischer Ausdruck ist ein musikalisches
-Objekt, das andere Objekte in seinen Eigenschaften enthält.  Eine Liste
-der Objekte kann in der @code{elements}-Eigenschaft eines
-musikalischen Objektes gespeichert werden, oder ein einziges
-@qq{Kind}-Objekt in der @code{element}-Eigenschaft.  Sa hat etwa
-@rinternals{SequentialMusic} seine @qq{Kinder} in @code{elements},
-und @rinternals{GraceMusic} hat sein einziges Argument in
-@code{element}.  Der Hauptteil einer Wiederholung wird in der
-@code{element}-Eigenschaft von @rinternals{RepeatedMusic} gespeichert,
-und die Alternativen in @code{elements}.
-
-
-
-@node Komplizierte Funktionen erstellen
-@section Komplizierte Funktionen erstellen
-@translationof Building complicated functions
-
-Dieser Abschnitt zeigt, wie man Information zusammensucht,
-um komplizierte musikalische Funktionen  zu erstellen.
-
-@menu
-* Musikalische Funktionen darstellen::
-* Eigenschaften von Musikobjekten::
-* Verdoppelung einer Note mit Bindebögen (Beispiel)::
-* Artikulationszeichen zu Noten hinzufügen (Beispiel)::
-@end menu
-
-
-@node Musikalische Funktionen darstellen
-@subsection Musikalische Funktionen darstellen
-@translationof Displaying music expressions
-
-@cindex interne Speicherung
-@cindex Musikausdrücke anzeigen
-@cindex Anzeigen von Musikausdrücken
-
-@funindex displayMusic
-@funindex \displayMusic
-
-Wenn man eine musikalische Funktion erstellt, ist es oft
-hilfreich sich anzuschauen, wie musikalische Funktionen
-intern gespeichert werden.  Das kann mit der Funktion
-@code{\displayMusic} erreicht werden:
-
-@example
-@{
-  \displayMusic @{ c'4\f @}
-@}
-@end example
-
-@noindent
-zeigt:
-
-@example
-(make-music
-  'SequentialMusic
-  'elements
-  (list (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 0 0))
-                (make-music
-                  'AbsoluteDynamicEvent
-                  'text
-                  "f")))))
-@end example
-
-Normalerweise gibt LilyPond diese Ausgabe auf der Konsole mit
-allen anderen Nachrichten aus.  Um die wichtigen Nachrichten
-in einer Datei zu speichern, kann die Ausgabe in eine Datei
-umgeleitet werden:
-
-@example
-lilypond file.ly >display.txt
-@end example
-
-Mit etwas Umformatierung ist die gleiche Information sehr viel
-einfacher zu lesen:
-
-@example
-(make-music 'SequentialMusic
-  'elements (list (make-music 'EventChord
-                    'elements (list (make-music 'NoteEvent
-                                      'duration (ly:make-duration 2 0 1 1)
-                                      'pitch (ly:make-pitch 0 0 0))
-                                    (make-music 'AbsoluteDynamicEvent
-                                      'text "f")))))
-@end example
-
-Eine musikalische @code{@{ ... @}}-Sequenz hat die Bezeichnung
-@code{SequentialMusic} und ihre inneren Ausdrücke werden als
-Liste in seiner @code{'elements}-Eigenschaft gespeichert.  Eine
-Note ist als als ein @code{EventChord}-Ausdruck dargestellt,
-der ein @code{NoteEvent}-Objekt (welches Dauer und
-Tonhöhe speichert) und zusätzliche Information enthält (in
-diesem Fall ein @code{AbsoluteDynamicEvent} mit einer
-@code{"f"}-Text-Eigenschaft.
-
-
-@node Eigenschaften von Musikobjekten
-@subsection Eigenschaften von Musikobjekten
-@translationof Music properties
-
-Das @code{NoteEvent}-Objekt ist das erste Objekt der
-@code{'elements}-Eigenschaft von @code{someNote}.
-
-@example
-someNote = c'
-\displayMusic \someNote
-===>
-(make-music
-  'EventChord
-  'elements
-  (list (make-music
-          'NoteEvent
-          'duration
-          (ly:make-duration 2 0 1 1)
-          'pitch
-          (ly:make-pitch 0 0 0))))
-@end example
-
-Die @code{display-scheme-music}-Funktion ist die Funktion, die von
-@code{\displayMusic} eingesetzt wird, um die Scheme-Repräsentation
-eines musikalischen Ausdrucks anzuzeigen.
-
-@example
-#(display-scheme-music (first (ly:music-property someNote 'elements)))
-===>
-(make-music
-  'NoteEvent
-  'duration
-  (ly:make-duration 2 0 1 1)
-  'pitch
-  (ly:make-pitch 0 0 0))
-@end example
-
-Danach wird die Tonhöhe der Note von der @code{'pitch}-Eigenschaft
-des @code{NoteEvent}-Objektes gelesen:
-
-@example
-#(display-scheme-music
-   (ly:music-property (first (ly:music-property someNote 'elements))
-                      'pitch))
-===>
-(ly:make-pitch 0 0 0)
-@end example
-
-Die Tonhöhe einer Note kann geändert werden, indem man diese
-@code{'pitch}-Eigenschaft umdefiniert:
-
-@funindex \displayLilyMusic
-@funindex displayLilyMusic
-
-@example
-#(set! (ly:music-property (first (ly:music-property someNote 'elements))
-                          'pitch)
-       (ly:make-pitch 0 1 0)) ;; Die Tonhöhen auf d' verändern.
-\displayLilyMusic \someNote
-===>
-d'
-@end example
-
-
-@node Verdoppelung einer Note mit Bindebögen (Beispiel)
-@subsection Verdoppelung einer Note mit Bindebögen (Beispiel)
-@translationof Doubling a note with slurs (example)
-
-In diesem Abschnitt soll gezeigt, werden, wie man eine
-Funktion erstellt, die eine Eingabe wie @code{a}
-nach @code{a( a)} umdefiniert.  Dazu wird zuerst die
-interne Repräsentation der Musik betrachtet, die
-das Endergebnis darstellt:
-
-@example
-\displayMusic@{ a'( a') @}
-===>
-(make-music
-  'SequentialMusic
-  'elements
-  (list (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 5 0))
-                (make-music
-                  'SlurEvent
-                  'span-direction
-                  -1)))
-        (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 5 0))
-                (make-music
-                  'SlurEvent
-                  'span-direction
-                  1)))))
-@end example
-
-Eine schlechte Nachricht ist, dass die
-@code{SlurEvent}-Ausdrücke @qq{innerhalb}
-der Noten (bzw. innerhalb der
-@code{EventChord}-Ausdrücke) hinzugefügt werden müssen.
-
-Jetzt folgt eine Betrachtung der Eingabe:
-
-@example
-(make-music
-  'SequentialMusic
-  'elements
-  (list (make-music
-          'EventChord
-          'elements
-          (list (make-music
-                  'NoteEvent
-                  'duration
-                  (ly:make-duration 2 0 1 1)
-                  'pitch
-                  (ly:make-pitch 0 5 0))))))
-@end example
-
-In der gewünschten Funktion muss also dieser Ausdruck
-kopiert werden (sodass zwei Noten vorhanden sind, die
-eine Sequenz bilden), dann müssen @code{SlurEvent}
-zu der @code{'elements}-Eigenschaft jeder Noten hinzugefügt
-werden, und schließlich muss eine @code{SequentialMusic}
-mit den beiden @code{EventChords} erstellt werden.
-
-@example
-doubleSlur = #(define-music-function (parser location note) (ly:music?)
-         "Return: @{ note ( note ) @}.
-         `note' is supposed to be an EventChord."
-         (let ((note2 (ly:music-deep-copy note)))
-           (set! (ly:music-property note 'elements)
-                 (cons (make-music 'SlurEvent 'span-direction -1)
-                       (ly:music-property note 'elements)))
-           (set! (ly:music-property note2 'elements)
-                 (cons (make-music 'SlurEvent 'span-direction 1)
-                       (ly:music-property note2 'elements)))
-           (make-music 'SequentialMusic 'elements (list note note2))))
+\noPointAndClick   % Point and Click ausschalten
 @end example
 
 
-@node Artikulationszeichen zu Noten hinzufügen (Beispiel)
-@subsection Artikulationszeichen zu Noten hinzufügen (Beispiel)
-@translationof Adding articulation to notes (example)
-
-Am einfachsten können Artikulationszeichen zu Noten
-hinzugefügt werden, indem man zwei musikalische Funktionen
-in einen Kontext einfügt, wie erklärt in
-@ref{Kontexte erstellen}.  Hier soll jetzt eine musikalische
-Funktion entwickelt werden, die das vornimmt.
-
-Eine @code{$variable} innerhalb von @code{#@{...#@}} ist das
-gleiche wie die normale Befehlsform @code{\variable} in
-üblicher LilyPond-Notation.  Es ist bekannt dass
-
-@example
-@{ \music -. -> @}
-@end example
-
-@noindent
-in LilyPond nicht funktioniert.  Das Problem könnte vermieden
-werden, indem das Artikulationszeichen an eine Pseudonote
-gehängt wird:
-
-@example
-@{ << \music s1*0-.-> @}
-@end example
-
-@noindent
-aber in diesem Beispiel soll gezeigt werden, wie man das in
-Scheme vornimmt.  Zunächst wird die Eingabe und die gewünschte
-Ausgabe examiniert:
-
-@example
-%  Eingabe
-\displayMusic c4
-===>
-(make-music
-  'EventChord
-  'elements
-  (list (make-music
-          'NoteEvent
-          'duration
-          (ly:make-duration 2 0 1 1)
-          'pitch
-          (ly:make-pitch -1 0 0))))
-=====
-%  gewünschte Ausgabe
-\displayMusic c4->
-===>
-(make-music
-  'EventChord
-  'elements
-  (list (make-music
-          'NoteEvent
-          'duration
-          (ly:make-duration 2 0 1 1)
-          'pitch
-          (ly:make-pitch -1 0 0))
-        (make-music
-          'ArticulationEvent
-          'articulation-type
-          "marcato")))
-@end example
-
-Dabei ist zu sehen, dass eine Note (@code{c4}) als @code{EventChord}
-repräsentiert ist, mit einem @code{NoteEvent}-Ausdruck in ihrer
-Elementenliste.  Um eine Marcato-Artikulation hinzuzufügen, muss
-ein @code{ArticulationEvent}-Ausdruck zu der Elementeigenschaft
-des @code{EventChord}-Ausdrucks hinzugefügt werden.
 
-Um diese Funktion zu bauen, wird folgendermaßen begonnen:
-
-@example
-(define (add-marcato event-chord)
-  "Add a marcato ArticulationEvent to the elements of `event-chord',
-  which is supposed to be an EventChord expression."
-  (let ((result-event-chord (ly:music-deep-copy event-chord)))
-    (set! (ly:music-property result-event-chord 'elements)
-          (cons (make-music 'ArticulationEvent
-                  'articulation-type "marcato")
-                (ly:music-property result-event-chord 'elements)))
-    result-event-chord))
-@end example
-
-Die erste Zeile definiert eine Funktion in Scheme: Die Bezeichnung
-der Funktion ist @code{add-marcato} und sie hat eine Variable
-mit der Bezeichnung @code{event-chord}.  In Scheme geht der Typ
-einer Variable oft direkt aus der Bezeichnung hervor (das ist auch
-eine gute Methode für andere Programmiersprachen).
-
-@example
-"Add a marcato..."
-@end example
-
-@noindent
-ist eine (englische) Beschreibung, was diese Funktion tut.  Sie ist
-nicht unbedingt notwendig, aber genauso wie klare Variablen-Bezeichnungen
-ist auch das eine gute Methode.
-
-@example
-(let ((result-event-chord (ly:music-deep-copy event-chord)))
-@end example
-
-@code{let} wird benutzt, um die lokalen Variablen zu definieren.  Hier
-wird eine lokale Variable benutzt: @code{result-event-chord}.  Sie erhält
-den Wert @code{(ly:music-deep-copy event-chord)}.  @code{ly:music-deep-copy}
-ist eine LilyPond-spezifische Funktion, die wie alle Funktionen mit dem
-Präfix @code{ly:} versehen ist.  Sie wird benutzt, um eine Kopie eines
-musikalischen Ausdrucks anzufertigen.  Hier wird @code{event-chord}
-(der Parameter der Funktion) kopiert.  Die Funktion soll ja nur ein
-Artikulationszeichen an einen @code{EventChord} gehängt werden, deshalb ist es besser,
-den @code{EventChord}, der als Argument gegeben wurde, nicht zu
-verändern, weil er woanders benutzt werden könnte.
-
-Jetzt gibt es @code{result-event-chord}, wobei es sich um einen
-@code{NoteEventChord}-Ausdruck handelt, welcher gleichzeitig eine Kopie
-von @code{event-chord} ist.  Das Makro wird seiner Eigenschaftsliste
-hinzugefügt:
-
-@example
-(set! place new-value)
-@end example
-
-Was in diesem Fall @qq{gesetzt} werden soll (@qq{place}) ist die
-@q{elements}-Eigenschaft des @code{result-event-chord}-Ausdrucks.
-
-@example
-(ly:music-property result-event-chord 'elements)
-@end example
-
-@code{ly:music-property} ist die Funktion, mit der musikalische
-Eigenschaften erreicht werden können (die @code{'elements},
-@code{'duration}, @code{'pitch} usw., die in der Ausgabe von
-@code{\displayMusic} weiter oben angezeigt werden).  Der neue
-Wert ist, was ehemals die Elementeigenschaft war, mit einem
-zusätzlichen Element: dem @code{ArticulationEvent}-Ausdruck,
-der aus der Ausgabe von
-@code{\displayMusic} kopiert werden kann:
-
-@example
-(cons (make-music 'ArticulationEvent
-        'articulation-type "marcato")
-      (ly:music-property result-event-chord 'elements))
-@end example
-
-@code{cons} wird benutzt, um ein Element zu einer Liste hinzuzufügen,
-ohne dass die originale Liste verändert wird.  Das ist es, was die
-Funktion tun soll:  die gleiche Liste, aber mit dem neuen
-@code{ArticulationEvent}-Ausdruck.  Die Reihenfolge innerhalb
-der Elementeeigenschaft ist hier nicht relevant.
-
-Wenn schließlich die Marcato-Artikulation zu der entsprechenden
-@code{elements}-Eigenschaft hinzugefügt ist, kann
-@code{result-event-chord} ausgegeben werden, darum die letzte Zeile
-der Funktion.
-
-Jetzt wird die @code{add-marcato}-Funktion in eine musikalische
-Funktion umgewandelt:
-
-@example
-addMarcato = #(define-music-function (parser location event-chord)
-                                     (ly:music?)
-    "Add a marcato ArticulationEvent to the elements of `event-chord',
-    which is supposed to be an EventChord expression."
-    (let ((result-event-chord (ly:music-deep-copy event-chord)))
-      (set! (ly:music-property result-event-chord 'elements)
-            (cons (make-music 'ArticulationEvent
-                    'articulation-type "marcato")
-                  (ly:music-property result-event-chord 'elements)))
-      result-event-chord))
-@end example
-
-Eine Überprüfung, dass die Funktion richtig arbeitet, geschieht
-folgendermaßen:
-
-@example
-\displayMusic \addMarcato c4
-@end example
-
-
-@node Programmierungsschnittstelle für Textbeschriftungen
-@section Programmierungsschnittstelle für Textbeschriftungen
-@translationof Markup programmer interface
+@node Textbeschriftungsfunktionen
+@section Textbeschriftungsfunktionen
+@translationof Markup functions
 
 Textbeschriftungselemente sind als besondere Scheme-Funktionen
-definiert, die ein Stencil-Objekt erstellen, dem eine Anzahl
+definiert, die ein @code{Stencil}-Objekt erstellen, dem eine Anzahl
 an Argumenten übergeben wird.
 
 @menu
 * Beschriftungskonstruktionen in Scheme::
 * Wie Beschriftungen intern funktionieren::
 * Neue Definitionen von Beschriftungsbefehlen::
-* Neue Definitionen von Beschriftungsbefehlen für Listen::
+* Neue Definitionen von Beschriftungslistenbefehlen::
 @end menu
 
 
@@ -960,11 +333,11 @@ Textbeschriftungssyntax in Scheme.
 @item @code{\markup Text1} @tab @code{(markup Text1)}
 @item @code{\markup @{ Text1 Text2 ... @}} @tab
         @code{(markup Text1 Text2 ... )}
-@item @code{\Befehl} @tab @code{#:Befehl}
+@item @code{\Beschriftungsbefehl} @tab @code{#:Beschriftungsbefehl}
 @item @code{\Variable} @tab @code{Variable}
 @item @code{\center-column @{ ... @}} @tab @code{#:center-column ( ... )}
 @item @code{Zeichenkette} @tab @code{"Zeichenkette"}
-@item @code{#scheme-arg} @tab @code{scheme-arg}
+@item @code{#scheme-Arg} @tab @code{scheme-Arg}
 @end multitable
 @end quotation
 
@@ -1037,225 +410,315 @@ in diesem Abschnitt und in der Datei
 @subsection Neue Definitionen von Beschriftungsbefehlen
 @translationof New markup command definition
 
+Dieser Abschnitt behandelt die Definition von neuen Textbeschriftungsbefehlen.
+
+@menu
+* Syntax der Definition von Textbeschriftungsbefehlen::
+* Über Eigenschaften::
+* Ein vollständiges Bespiel::
+* Eingebaute Befehle anpassen::
+@end menu
+
+@node Syntax der Definition von Textbeschriftungsbefehlen
+@unnumberedsubsubsec Syntax der Definition von Textbeschriftungsbefehlen
+@translationof Markup command definition syntax
+
 Neue Textbeschriftungsbefehle können mit dem
 @code{define-markup-command}-Scheme-Makro definiert werden.
 
 @lisp
-(define-markup-command (@var{befehl-bezeichnung} @var{layout} @var{props} @var{arg1} @var{arg2} ...)
-            (@var{arg1-type?} @var{arg2-type?} ...)
+(define-markup-command (@var{befehl-bezeichnung} @var{layout} @var{props} @var{Arg1} @var{Arg2} ...)
+            (@var{Arg1-typ?} @var{Arg2-typ?} ...)
+    [ #:properties ((@var{Eigenschaft1} @var{Standard-Wert1})
+                    ...) ]
   ..Befehlkörper..)
 @end lisp
 
 Die Argumente sind:
 
 @table @var
-@item argi
-@var{i}te Befehlsargument
-@item argi-type?
-eine Eigenschaft für das @var{i}te Argument
-@item layout
+@item @var{befehl-bezeichnung}
+die Bezeichnung des Befehls
+
+@item @var{layout}
 die @q{layout}-Definition
+
 @item props
-eine Liste an alists, in der alle aktiven Eigenschaften enthalten sind
+eine Liste an  assoziativen Listen, in der alle aktiven Eigenschaften enthalten sind
+
+@item @var{argi}
+das @var{i}te Befehlsargument
+
+@item @var{argi-type?}
+eine Eigenschaft für das @var{i}te Argument
 @end table
 
-Als einfaches Beispiel soll gezeigt werden, wie man einen
-@code{\smallcaps}-Befehl hinzufügen kann, der die Kapitälchen
-für die Schriftzeichen auswählt.  Normalerweise würde man Kapitälchen
-folgendermaßen auswählen:
+Wenn der Befehl Eigenschaften des @code{props}-Arguments benutzt,
+kann das @code{#:properties}-Schlüsselwort benutzt werden um zu
+bestimmen, welche Eigenschaften mit welchen Standard-Werten benutzt
+werden.
 
-@example
-\markup @{ \override #'(font-shape . caps) Text-in-Kapitälchen @}
-@end example
+Argumente werden nach ihrem Typ unterschieden:
 
-@noindent
-Damit wird die Kapitälchenschriftart ausgewählt, indem die
-@code{font-shape}-Eigenschaft auf @code{#'caps} gesetzt wird,
-während @code{Text-in-caps} interpretiert wird.
+@itemize
+@item eine Textbeschriftung entspricht einem Typenprädikat @code{markup?};
+@item eine Textbeschriftungsliste entspricht einem Typenprädikat
+@code{markup-list?};
+@item jedes andere Scheme-Objekt entspricht Typenprädikaten wie etwa
+@code{list?}, @code{number?}, @code{boolean?}, usw.
+@end itemize
 
-Damit diese Funktion als @code{\smallcaps}-Befehl zur Verfügung
-gestellt werden kann, muss eine Funktion mit @code{define-markup-command}
-definiert werden.  Der Befehl braucht ein Argument vom Typ @code{markup}.
-Darum sollte der Beginn der Funktion lauten:
+Es gibt keine Einschränkung in der Reihenfolge der Argumente (nach
+den Standard-Argumenten @code{layout} und @code{props}).  Textbeschriftungsfunktionen,
+die als letztes Argument eine Textbeschriftung haben, haben die
+Besonderheit, dass sie auf Textbeschriftungslisten angewendet werden
+können, und das Resultat ist eine Textbeschriftungsliste, in der
+die Textbeschriftungsfuktion (mit den angegebenen Argumenten am Anfang)
+auf jedes Element der originalen Textbeschriftungsliste angewendet
+wurde.
 
-@example
-(define-markup-command (smallcaps layout props argument) (markup?)
-@end example
+Da das Wiederholen der Argumente am Anfang bei der Anwendung einer
+Textbeschriftungsfunktion auf eine Textbeschriftungsliste for allem
+für Scheme-Argumente sparsam ist, kann man Leistungseinbußen vermeiden,
+indem man nur Scheme-Argumente für die Argumente am Anfang einsetzt,
+wenn es sich um Textbeschriftungsfunktionen handelt, die eine Textbeschriftung
+als letztes Argument haben.
 
-@noindent
 
-Was jetzt folgt, ist der eigentliche Inhalt des Befehls: das
-@code{argument} soll als Beschriftung (markup) interpretiert werden,
-also:
+@node Über Eigenschaften
+@unnumberedsubsubsec Über Eigenschaften
+@translationof On properties
 
-@example
-(interpret-markup layout @dots{} argument)
-@end example
+Die @code{layout}- und @code{props}-Argumente der Textbeschriftungsbefehle
+bringen einen Kontext für die Interpretation der Beschriftung:
+Schriftgröße, Zeilenlänge usw.
 
-@noindent
-Diese Interpretation sollte @code{'(font-shape . caps)} zu den
-aktiven Eigenschaften hinzufügen, weshalb wir das Folgende anstelle
-der @dots{} in dem Beispiel einfügen:
+Das @code{layout}-Argument greift auf Eigenschaften zu, die in der
+@code{paper}-Umgebung definiert werden, indem man die @code{ly:output-def-lookup}-Funktion
+benutzt.  Beispielsweise liest man die Zeilenlänge (die gleiche, die auch in
+Partituren benutzt wird) aus mit:
 
 @example
-(cons (list '(font-shape . caps) ) props)
+(ly:output-def-lookup layout 'line-width)
 @end example
 
-@noindent
-Die Variable @code{props} ist eine Liste an alists, und mit @code{cons}
-wird ihr eine zusätzliche Einstellung hinzugefügt.
+Das @code{props}-Argument stellt einige Eigenschaften für die Textbeschriftungsbefehle
+zur Verfügung.  Beispielsweise wenn der Überschrifttext einer
+@code{book}-Umgebung interpretiert wird, werden alle Variablen, die
+in der @code{\header}-Umgebung definiert werden, automatisch zu @code{props}
+hinzugefügt, sodass die Beschriftung auf Titel, Komponist usw. der
+@code{book}-Umgebung zugreifen kann.  Das ist auch eine Möglichkeit, das
+Verhalten eines Beschriftungsbefehls zu konfigurieren: Wenn etwa ein
+Befehl die Schriftgröße während der Verarbeitung einsetzt, wird die
+Schriftgröße aus den @code{props} ausgelesen und nicht mit einem eigenen
+@code{font-size}-Argument definiert.  Beim Aufruf des Beschriftungsbefehls
+kann der Wert der Schriftgröße geändert werden, womit sich auch das Verhalten
+des Befehls verändert.  Benutzen Sie das @code{#:properties}-Schlüsselwort
+von @code{define-markup-command} um zu definieren, welche Eigenschaften aus den
+@code{props}-Argumenten ausgelesen werden sollen.
 
-Man könnte sich auch vorstellen, dass ein Rezitativ einer Oper
-gesetzt werden soll, und ein Befehl wäre sehr bequem, mit dem
-man die Namen der Charaktere auf eine eigene Art darstellen könnte.
-Namen sollen in Kapitälchen gesetzt werden und etwas nach links und
-oben verschoben werden.  Man kann also einen @code{\character}-Befehl
-definieren, der die nötige Verschiebung berücksichtigt und
-den neuen @code{\smallcaps}-Befehl einsetzt:
+Das Beispiel im nächsten Abschnitt illustriert, wie man auf Eigenschaften
+in einem Beschriftungsbefehl zugreifen und sie verändern kann.
 
-@example
-#(define-markup-command (character layout props name) (string?)
-  "Print the character name in small caps, translated to the left and
-  top.  Syntax: \\character #\"name\""
+
+@node Ein vollständiges Bespiel
+@unnumberedsubsubsec Ein vollständiges Bespiel
+@translationof A complete example
+
+Das folgende Beispiel definiert einen Beschriftungsbefehl, der einen
+doppelten Kasten um einen Text zeichnet.
+
+Zuerst wollen wir ein annäherndes Ergebnis mit Textbeschriftungen definieren.
+Nach Stöbern in @ruser{Textbeschriftungsbefehle} finden wir den Befehl
+@code{\box}:
+
+@lilypond[quote,verbatim,ragged-right]
+\markup \box \box HELLO
+@end lilypond
+
+Wir wollen aber etwas mehr Abstand (engl. padding) zwischen dem Text und dem Kasten.
+Nach der Dokumentation von @code{\box} hat der Befehl eine
+@code{box-padding}-Eigenschaft, die den Standardwert von 0.2 hat.  Die
+Dokumentation zeit auch, wir man den Wert verändert:
+
+@lilypond[quote,verbatim,ragged-right]
+\markup \box \override #'(box-padding . 0.6) \box A
+@end lilypond
+
+Auch der Abstand zwischen den zwei Kästen ist uns zu klein und soll auch
+vergrößert werden:
+
+@lilypond[quote,verbatim,ragged-right]
+\markup \override #'(box-padding . 0.4) \box \override #'(box-padding . 0.6) \box A
+@end lilypond
+
+Diese lange Textbeschriftung immer wieder schreiben zu müssen, ist
+anstrengend.  Hier kömmt ein Textbeschriftungsbefehl ins Spiel.  Wir
+schreiben uns alle einen @code{double-box}-Beschriftungsbefehl, der
+ein Argument annimmt (den Text).  Er zeichnet zwei Kästen mit genügend Abstand:
+
+@lisp
+#(define-markup-command (double-box layout props text) (markup?)
+  "Draw a double box around text."
   (interpret-markup layout props
-   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps name)))
-@end example
+    (markup #:override '(box-padding . 0.4) #:box
+            #:override '(box-padding . 0.6) #:box text)))
+@end lisp
 
-Hier ist eine Komplikation, die erklärt werden muss: Text über oder
-unter dem Notensystem wird vertikal verschoben um in einem bestimmten
-Abstand von dem System und den Noten zu sein (das wird als @qq{padding}
-bezeichnet).  Um sicherzugehen, dass dieser Mechanismus nicht die
-vertikale Verschiebung von @code{#:translate} annulliert, wird
-die leere Zeichenkette (@code{#:hspace 0}) vor den zu verschiebenden
-Text gesetzt.  Das @code{#:hspace 0} wird jetzt also über die Noten
-gesetzt und @code{name} dann relativ zu der leeren Zeichenkette
-verschoben.  Im Endeffekt wird der Text nach links oben verschoben.
+@code{text} ist die Bezeichnung des Arguments dieses Befehls,
+und @code{markup?} ist seine Art: hiermit wird der Befehl als
+Beschriftungsbefehl identifiziert.  Die @code{interpret-markup}-Funktion
+wird in den meisten Beschriftungsbefehlen benutzt: sie erstellt einen
+Stencil, wobei @code{layout}, @code{props} und eine Beschriftung benutzt
+werden.  In unserem Fall wird diese Beschriftung durch das
+@code{markup}-Scheme-Makro erstellt, siehe auche @ref{Beschriftungskonstruktionen in Scheme}.
+Die Transformation des @code{\markup}-Ausdrucks in einen
+Scheme-Beschriftungsausdruck geschieht durch umschreiben des LilyPond-Codes
+in Scheme-Code.
 
-Das Resultat sieht folgendermaßen aus:
+Der neue Befehl kann wie folgt benutzt werden:
 
 @example
-@{
-  c''^\markup \character #"Cleopatra"
-  e'^\markup \character #"Giulio Cesare"
-@}
+\markup \double-box A
 @end example
 
-@lilypond[quote,ragged-right]
-#(define-markup-command (smallcaps layout props str) (string?)
-  "Print the string argument in small caps.  Syntax: \\smallcaps #\"string\""
+Es wäre schön, den @code{double-box}-Befehl noch konfigurierbar zu gestalten:
+in unserem Fall sind die Werte von @code{box-padding} direkt definiert und
+können nicht mehr vom Benutzer verändert werden.  Es wäre auch besser, wenn
+der Abstand zwischen den beiden Kästen vom Abstand zwischen dem inneren Kasten
+und dem Text unterschieden werden könnte.  Eine neue Eigenschaft muss also
+definiert werden: @code{inter-box-padding} für den Abstand zwischen den Kästen.
+@code{box-padding} wird für den inneren Abstand benutzt.  Der neue Befehl wird
+so definiert:
+
+@lisp
+#(define-markup-command (double-box layout props text) (markup?)
+  #:properties ((inter-box-padding 0.4)
+                (box-padding 0.6))
+  "Draw a double box around text."
   (interpret-markup layout props
-   (make-line-markup
-    (map (lambda (s)
-          (if (= (string-length s) 0)
-              s
-              (markup #:large (string-upcase (substring s 0 1))
-                      #:translate (cons -0.6 0)
-                      #:tiny (string-upcase (substring s 1)))))
-         (string-split str #\Space)))))
-
-#(define-markup-command (character layout props name) (string?)
-  "Print the character name in small caps, translated to the left and
-  top.  Syntax: \\character #\"name\""
+    (markup #:override `(box-padding . ,inter-box-padding) #:box
+            #:override `(box-padding . ,box-padding) #:box text)))
+@end lisp
+
+In diesem Code wird das @code{#:properties}-Schlüsselwort benutzt, sodass
+die Eigenschaften @code{inter-box-padding} und @code{box-padding} aus dem
+@code{props}-Argument ausgelesen werden, und Standardwerte werden gegeben,
+falls die Eigenschaften nicht definiert sein sollten.
+
+Dann werden diese Werte benutzt, um die @code{box-padding}-Eigenschaft
+zu verändert, die von beiden @code{\box}-Befehlen benutzt wird.  Beachten
+Sie Akzent und das Komma des @code{\override}-Arguments: hiermit kann man
+einen Variablenwert in einen wörtlichen Ausdruck überführen.
+
+Jetzt kann der Befehl in Beschriftungen benutzt werden und der Abstand
+der Kästen kann angepasst werden:
+
+@lilypond[quote,verbatim,ragged-right]
+#(define-markup-command (double-box layout props text) (markup?)
+  #:properties ((inter-box-padding 0.4)
+                (box-padding 0.6))
+  "Draw a double box around text."
   (interpret-markup layout props
-   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps name)))
+    (markup #:override `(box-padding . ,inter-box-padding) #:box
+            #:override `(box-padding . ,box-padding) #:box text)))
 
-{
-  c''^\markup \character #"Cleopatra" c'' c'' c''
-  e'^\markup \character #"Giulio Cesare" e' e' e'
-}
+\markup \double-box A
+\markup \override #'(inter-box-padding . 0.8) \double-box A
+\markup \override #'(box-padding . 1.0) \double-box A
 @end lilypond
 
-In diesen Befehlen wurden Kapitälchen eingesetzt, aber es kann
-vorkommen, dass die Schriftart keine Kapitälchen zur Verfügung
-stellt.  In diesem Fall können die Kapitälchen nachempfunden
-werden, indem man Großbuchstaben setzt, deren Anfangsbuchstabe
-etwas größer gesetzt wird:
+@node Eingebaute Befehle anpassen
+@unnumberedsubsubsec Eingebaute Befehle anpassen
+@translationof Adapting builtin commands
 
-@example
-#(define-markup-command (smallcaps layout props str) (string?)
-  "Print the string argument in small caps."
-  (interpret-markup layout props
-   (make-line-markup
-    (map (lambda (s)
-          (if (= (string-length s) 0)
-              s
-              (markup #:large (string-upcase (substring s 0 1))
-                      #:translate (cons -0.6 0)
-                      #:tiny (string-upcase (substring s 1)))))
-         (string-split str #\Space)))))
-@end example
+Ein guter Weg, einen neuen Beschriftungsbefehl zu schreiben, ist es, als Vorbild
+einen existierenden zu nehmen.  Die meisten Beschriftungsbefehle, die
+LilyPond mitbringt, finden sich in der Datei
+@file{scm/@/define@/-markup@/-commands@/.scm}.
 
-Der @code{smallcaps}-Befehl spaltet die Argumente zuerst in
-Einzelstücke auf, die von Leerzeichen getrennt sind
-(@code{(string-split str #\Space)}); für jedes Einzelstück
-wird dann eine Beschriftung aufgebaut, deren erster Buchstabe
-vergrößert wird und als Versalbuchstabe gesetzt wird
-(@code{#:large (string-upcase (substring s 0 1))}), und eine
-zweite Versalbuchstaben gesetzt werden
-(@code{#:tiny (string-upcase (substring s 1))}).  Wenn
-LilyPond ein Leerzeichen zwischen Beschriftungen einer Zeile
-entdeckt, wird die zweite Beschriftung nach links verschoben
-(@code{#:translate (cons -0.6 0) ...}).  Dann werden die
-Beschriftungen für jedes Einzelstück in eine Zeile gesetzt
-@code{(make-line-markup ...)}.  Schließlich wird die resultierende
-Beschriftung an die @code{interpret-markup}-Funktion zusammen
-mit den Argumenten @code{layout} und @code{props} weitergereicht.
-
-Achtung: ist gibt keinen internen Befehl @code{\smallCaps}, der
-benutzt werden kann, um Text in Kapitälchen zu setzen.  Siehe auch
-@ref{Text markup commands}.
+Man könnte beispielsweise den Befehl @code{\draw-line}, der eine Linie
+zeichnet, anpassen, sodass er eine Doppellinie zeichnet.  Der
+Befehl @code{\draw-line} ist wie folgend definiert (Dokumentation entfernt):
 
-@knownissues
+@lisp
+(define-markup-command (draw-line layout props dest)
+  (number-pair?)
+  #:category graphic
+  #:properties ((thickness 1))
+  "..documentation.."
+  (let ((th (* (ly:output-def-lookup layout 'line-thickness)
+               thickness))
+        (x (car dest))
+        (y (cdr dest)))
+    (make-line-stencil th 0 0 x y)))
+@end lisp
 
-Im Moment sind die möglichen Kombinationen von Argumenten (nach den
-Standardargumenten @var{layout} und @var{props}), die mit
-@code{define-markup-command} definiert werden, wie folgt
-limitiert:
-
-@table @asis
-@item (kein Argument)
-@itemx @var{list}
-@itemx @var{markup}
-@itemx @var{markup markup}
-@itemx @var{scm}
-@itemx @var{scm markup}
-@itemx @var{scm scm}
-@itemx @var{scm scm markup}
-@itemx @var{scm scm markup markup}
-@itemx @var{scm markup markup}
-@itemx @var{scm scm scm}
-@end table
+Um einen neuen Befehl, der auf einem existierenden basiert, zu definieren,
+wird die Befehlsdefinition kopiert und die Bezeichnung des Befehls
+geändert.  Das @code{#:category}-Schlagwort kann entfernt werden,
+weil es nur zur Erstellung der LilyPond-Dokumentation eingesetzt wird
+und keine Bedeutung für selbstdefinierte Befehle hat.
 
-@noindent
-Hier stellt @var{scm} native Scheme-Datentypen dar wie
-@q{number} oder @q{string}.
+@lisp
+(define-markup-command (draw-double-line layout props dest)
+  (number-pair?)
+  #:properties ((thickness 1))
+  "..documentation.."
+  (let ((th (* (ly:output-def-lookup layout 'line-thickness)
+               thickness))
+        (x (car dest))
+        (y (cdr dest)))
+    (make-line-stencil th 0 0 x y)))
+@end lisp
 
-Es ist beispielsweise nicht möglich, einen Beschriftungsbefehl
-@code{foo} mit vier Argumenten in folgender Weise zu nutzen:
+Dann braucht man eine Eigenschaft, um den Abstand zwischen den zwei
+Linien zu definieren, als @code{line-gap} bezeichnet und etwa mit
+dem Standardwert 0.6:
 
-@example
-#(define-markup-command (foo layout props
-                         num1    str1    num2    str2)
-                        (number? string? number? string?)
-  ...)
-@end example
+@lisp
+(define-markup-command (draw-double-line layout props dest)
+  (number-pair?)
+  #:properties ((thickness 1)
+                (line-gap 0.6))
+  "..documentation.."
+  ...
+@end lisp
 
-@noindent
-Wenn es folgendermaßen eingesetzt wird:
+Schließlich wird der Code, der die zwei Linien zeichnet, hinzugefügt.
+Zwei Aufrufe an @code{make-line-stencil} werden benutzt, um beide Linien
+zu zeichnen, und die beiden sich daraus ergebenden Stencils werden mit
+@code{ly:stencil-add} kombiniert:
 
-@example
-\markup \foo #1 #"bar" #2 #"baz"
-@end example
+@lilypond[quote,verbatim,ragged-right]
+#(define-markup-command (my-draw-line layout props dest)
+  (number-pair?)
+  #:properties ((thickness 1)
+                (line-gap 0.6))
+  "..documentation.."
+  (let* ((th (* (ly:output-def-lookup layout 'line-thickness)
+                thickness))
+         (dx (car dest))
+         (dy (cdr dest))
+         (w (/ line-gap 2.0))
+         (x (cond ((= dx 0) w)
+                  ((= dy 0) 0)
+                  (else (/ w (sqrt (+ 1 (* (/ dx dy) (/ dx dy))))))))
+         (y (* (if (< (* dx dy) 0) 1 -1)
+               (cond ((= dy 0) w)
+                     ((= dx 0) 0)
+                     (else (/ w (sqrt (+ 1 (* (/ dy dx) (/ dy dx))))))))))
+     (ly:stencil-add (make-line-stencil th x y (+ dx x) (+ dy y))
+                     (make-line-stencil th (- x) (- y) (- dx x) (- dy y)))))
+
+\markup \my-draw-line #'(4 . 3)
+\markup \override #'(line-gap . 1.2) \my-draw-line #'(4 . 3)
+@end lilypond
 
-@cindex Scheme signature
-@cindex Signatur, Scheme
-@noindent
-beschwert sich @command{lilypond}, dass @code{foo} wegen einer unbekannten
-Scheme Signatur nicht analysiert werden kann.
 
 
-@node Neue Definitionen von Beschriftungsbefehlen für Listen
-@subsection Neue Definitionen von Beschriftungsbefehlen für Listen
+@node Neue Definitionen von Beschriftungslistenbefehlen
+@subsection Neue Definitionen von Beschriftungslistenbefehlen
 @translationof New markup list command definition
 
 Beschriftungslistenbefehle können mit dem Scheme-Makro
@@ -1279,7 +742,7 @@ denen die erste Zeile eingerückt ist.  Der Einzug wird aus dem
                                                args)))))
 @end example
 
-Neben den üblichen @code{layout} und @code{props}-Argumenten, nimmt der
+Neben den üblichen @code{layout} und @code{props}-Argumenten nimmt der
 @code{paragraph}-Beschriftungslistenbefehl als Argument eine Beschriftungsliste,
 die @code{args} genannt wird.  Das Prädikat für Beschriftungslisten ist
 @code{markup-list?}.
@@ -1366,7 +829,9 @@ während der Kompilation.
 @funindex \applyOutput
 
 Der vielfältigste Weg, ein Objekt zu beeinflussen, ist
-@code{\applyOutput}.  Die Syntax lautet:
+@code{\applyOutput}.  Das funktioniert, indem ein musikalisches
+Ereignis in den angegebenen Kontext eingefügt wird
+(@rinternals{ApplyOutputEvent}).  Die Syntax lautet:
 
 @example
 \applyOutput @var{Kontext} @var{proc}
@@ -1376,8 +841,8 @@ Der vielfältigste Weg, ein Objekt zu beeinflussen, ist
 wobei @var{proc} eine Scheme-Funktion ist, die drei Argumente
 benötigt.
 
-Während der Interpretation wird die Funktion @var{proc} für
-jedes Layoutobjekt aufgerufen, dass im Kontext @var{Kontext}
+Während der Interpretation wird die Funktion @code{@var{proc}} für
+jedes Layoutobjekt aufgerufen, dass im Kontext @code{@var{Kontext}}
 vorgefunden wird, und zwar mit folgenden Argumenten:
 
 @itemize
@@ -1390,30 +855,30 @@ Zusätzlich findet sich der Grund für das Layoutobjekt, etwa
 der musikalische Ausdruck oder das Objekt, das für seine Erstellung
 verantwortlich war, in der Objekteigenschaft @code{cause}.
 Für einen Notenkopf beispielsweise ist das ein
-@rinternals{NoteHead}-Ereignis, und für einen Notenhals
-(ein @rinternals{Stem}-Objekt) ist es ein @rinternals{NoteHead}-Objekt.
+@rinternals{NoteHead}-Ereignis, und für einen Notenhals ist es
+ein @rinternals{Stem}-Objekt.
 
 Hier ist eine Funktion, die mit @code{\applyOutput} benutzt
-werden kann; sie macht Notenköpfe auf der Mittellinie unsichtbar:
+werden kann; sie macht Notenköpfe auf und neben der Mittellinie unsichtbar:
 
 @lilypond[quote,verbatim,ragged-right]
 #(define (blanker grob grob-origin context)
    (if (and (memq 'note-head-interface (ly:grob-interfaces grob))
-            (eq? (ly:grob-property grob 'staff-position) 0))
+            (< (abs (ly:grob-property grob 'staff-position)) 2))
        (set! (ly:grob-property grob 'transparent) #t)))
 
-\relative {
-  e4 g8 \applyOutput #'Voice #blanker b d2
+\relative c' {
+  a'4 e8 <<\applyOutput #'Voice #blanker a c d>> b2
 }
 @end lilypond
 
 
-@node Scheme-Vorgänge als Eigenschaften
-@section Scheme-Vorgänge als Eigenschaften
-@translationof Scheme procedures as properties
+@node Callback-Funktionen
+@section Callback-Funktionen
+@translationof Callback functions
 
-Eigenschaften (wie Dicke, Richtung usw.) können mit
-@code{\override} auf feste Werte gesetzt werden, etwa:
+Eigenschaften (wie Dicke (@code{thickness}), Richtung (@code{direction})
+usw.) können mit @code{\override} auf feste Werte gesetzt werden, etwa:
 
 @example
 \override Stem #'thickness = #2.0
@@ -1485,10 +950,22 @@ für @var{proc} zur Verfügung, das äußere stellt sicher, dass das
 Resultat der Funktion ausgegeben wird und nicht das
 @code{simple-closure}-Objekt.
 
+Aus dem Callback heraus kann man eine Beschriftung am einfachsten mit
+@code{grob-interpret-markup} auswerten.  Beispielsweise:
+
+@example
+mein-callback = #(lambda (grob)
+                 (grob-interpret-markup grob (markup "foo")))
+@end example
+
+
+
+
+
 
-@node Scheme-Code anstelle von \tweak verwenden
-@section Scheme-Code anstelle von @code{       weak} verwenden
-@translationof Using Scheme code instead of \tweak
+@node Scheme-Code innerhalb LilyPonds
+@section Scheme-Code innerhalb LilyPonds
+@translationof Inline Scheme code
 
 Der hauptsächliche Nachteil von @code{\tweak} ist seine
 syntaktische Inflexibilität.  Folgender Code beispielsweise
@@ -1580,8 +1057,8 @@ wenn ja, wird @code{extra-offset} gesetzt.
 @end itemize
 
 Diese Funktion muss in @rinternals{Tie} (Bindebogen) installiert
-werden, und der letzte Teil eines gebrochenen Bindebogens wird
-nach oben verschoben.
+werden, damit der letzte Teil eines gebrochenen Bindebogens
+neu ausgerichtet wird.
 
 @lilypond[quote,verbatim,ragged-right]
 #(define (my-callback grob)
@@ -1609,7 +1086,7 @@ Wenn man diesen Trick anwendet, sollte das neue @code{after-line-breaking}
 auch das alte @code{after-line-breaking}-Callback aufrufen,
 wenn es vorhanden ist.  Wenn diese Funktion etwa mit
 @code{Hairpin} (Crescendo-Klammer) eingesetzt wird, sollte auch
-@code{ly:hairpin::after-line-breaking} aufgerufen werden.
+@code{ly:spanner::kill-zero-spanned-time} aufgerufen werden.
 
 
 @item
@@ -1631,3 +1108,15 @@ Es sollte angemerkt werden, dass @code{\override}, wenn man es auf
 innerhalb der @code{\context}-Umgebung funktioniert.
 
 @end itemize
+
+
+
+@node LilyPond Scheme-Schnittstellen
+@chapter LilyPond Scheme-Schnittstellen
+@translationof LilyPond Scheme interfaces
+
+Dieses Kapitel behandelt die verschiedenen Werkzeuge, die LilyPond als
+Hilfe für Scheme-Programmierer zur Verfügung stellt, um Information in
+den Musik-Stream zu senden und aus ihm herauszubekommen.
+
+TODO: was gehört hier eigentlich hin?
index c1bd17555c17a09a79cbcecab87dc443f7e1fc35..b1bbe5e60c8a35d0e92d14e57ca1f8e160f161df 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: 3d7aec6a2b5f3910f8d5a43e58cb5c741d3fcc77
+    Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -11,7 +11,7 @@
 @c \version "2.12.0"
 
 @node Scheme-Übung
-@appendix Scheme-Übung
+@chapter Scheme-Übung
 @translationof Scheme tutorial
 
 @funindex #
@@ -19,6 +19,7 @@
 @cindex GUILE
 @cindex Scheme, in einer LilyPond-Datei
 @cindex LISP
+@cindex Auswertung von Scheme-Code
 
 LilyPond verwendet die Scheme-Programmiersprache sowohl als Teil 
 der Eingabesyntax als auch als internen Mechanismus, um Programmmodule 
@@ -35,6 +36,36 @@ unter @uref{http://www.gnu.org/software/guile/}.  Der
 @qq{R5RS}-Standard von Scheme befindet sich unter der Adresse
 @uref{http://www.schemers.org/Documents/Standards/R5RS/}.
 
+
+@menu
+* Einleitung in Scheme::
+* Scheme in LilyPond::
+* Komplizierte Funktionen erstellen::
+@end menu
+
+@node Einleitung in Scheme
+@section Einleitung in Scheme
+@translationof Introduction to Scheme
+
+Wir wollen mit einer Einführung in Scheme beginnen.  Für diese kurze Einfürung
+soll der GUILE-Interpreter genommen werden, um zu erforschen, wie die Sprache
+funktioniert.  Nach besserer Bekanntschaft mit Scheme soll gezeigt werden, wie
+die Sprache in LilyPond-Dateien eingefügt werden kann.
+
+@menu
+* Scheme-Sandkasten::
+* Scheme-Variablen::
+* Einfache Scheme-Datentypen::
+* Zusammengesetzte Scheme-Datentypen::
+* Berechnungen in Scheme::
+* Scheme-Prozeduren::
+* Scheme-Konditionale::
+@end menu
+
+@node Scheme-Sandkasten
+@subsection Scheme-Sandkasten
+@translationof Scheme sandbox
+
 Die LilyPond-Installation enthält gleichzeitig auch die
 Guile-Implementation von Scheme.  Auf den meisten Systemen kann
 man in einer Scheme-sandbox experimentieren, indem man ein
@@ -42,10 +73,77 @@ Kommandozeilen-Fenster öffnet und @code{guile} aufruft.  Unter
 einigen Systemen, insbesondere unter Windows, muss man evtl.
 die Umgebungsvariable @code{GUILE_LOAD_PATH} auf das Verzeichnis
 @code{../usr/shr/guile/1.8} innerhalb des LilyPond-Installationsverzeichnisses
-setzen (der vollständige Pfad ist erklärt in @ref{Other sources of information}).
+setzen (der vollständige Pfad ist erklärt in @rlearning{Mehr Information}).
 Alternativ können Windows-Benutzer auch einfach @qq{Ausführen} im
 Startmenü wählen und @code{guile} schreiben.
 
+Wenn guile einmal läuft, erhält man die Eingabeaufforderung von guile:
+
+@lisp
+guile>
+@end lisp
+
+Man kann Scheme-Ausdrucke hier eingeben und mit Scheme experimentieren.
+
+
+@node Scheme-Variablen
+@subsection Scheme-Variablen
+@translationof Scheme variables
+
+Scheme-Variablen können jedlichen gültigen Scheme-Wert erhalten, auch
+Scheme-Prozeduren.
+
+Scheme-Variablen werden mit @code{define} definiert:
+
+@lisp
+guile> (define a 2)
+guile>
+@end lisp
+
+Scheme-Variablen können an der Guile-Eingabeaufforderung ausgewertet werden,
+indem man einfach die Variable eintippt.
+
+@lisp
+guile> a
+2
+guile>
+@end lisp
+
+Scheme-Variablen können auf dem Bildschirm ausgegeben werden, indem man
+@code{display} zum Anzeigen benutzt:
+
+@lisp
+guile> (display a)
+2guile>
+@end lisp
+
+Sowohl der Wert @code{2} als auch die Eingabeaufforderung @code{guile}
+werden auf der gleichen Zeile ausgegeben.  Das kann man vermeiden, indem
+man eine @code{newline}-Prozedur für eine Leerzeile aufruft oder das
+Zeichen für eine neue Zeile anzeigen lässt:
+
+@lisp
+guile> (display a)(newline)
+2
+guile> (display a)(display "\n")
+2
+guile>
+@end lisp
+
+Wenn eine Variable einmal erstellt wurde, kann ihr Wert durch @code{set!}
+verändert werden:
+
+@lisp
+guile> (set! a 12345)
+guile> a
+12345
+guile>
+@end lisp
+
+@node Einfache Scheme-Datentypen
+@subsection Einfache Scheme-Datentypen
+@translationof Scheme simple data types
+
 Das Grundlegendste an einer Sprache sind Daten: Zahlen, Zeichen, 
 Zeichenketten, Listen usw.  Hier ist eine Liste der Datentypen, die für
 LilyPond-Eingabedateien relevant sind.
@@ -59,8 +157,8 @@ für Wahr ist @code{#t} und für Falsch @code{#f}.
 
 @item Zahlen
 Zahlen werden wie üblich eingegeben, @code{1} ist die (ganze) 
-Zahl Eins, während @code{-1.5} ist eine Gleitkommazahl (also 
-eine nicht-ganze).
+Zahl Eins, während @code{-1.5} eine Gleitkommazahl (also 
+eine nicht-ganze) ist.
 
 @item Zeichenketten
 Zeichenketten werden in doppelte Anführungszeichen gesetzt:
@@ -77,6 +175,17 @@ ist
 eine Zeichenkette"
 @end example
 
+@noindent
+und die Zeichen für eine neue Zeile am Ende jeder Zeile werden auch
+in die Zeichenkette aufgenommen.
+
+Zeichen für eine neue Zeile können auch hinzugefügt werden, indem man
+@code{\n} in die Zeichenkette aufnimmt.
+
+@example
+"das\nist eine\nmehrzeilige Zeichenkette"
+@end example
+
 Anführungszeichen und neue Zeilen können auch mit sogenannten 
 Fluchtsequenzen eingefügt werden. Die Zeichenkette
 @code{a sagt "b"} wird wie folgt eingegeben:
@@ -85,21 +194,458 @@ Fluchtsequenzen eingefügt werden. Die Zeichenkette
 "a sagt \"b\""
 @end example
 
-Neue Zeilen und Backslashe werden mit @code{\n} bzw. @code{\\}
-eingegeben.
 @end table
 
-In einer Notationsdatei werden kleine Scheme-Abschnitte mit der 
-Raute (@code{#}) eingeleitet. Die vorigen Beispiele heißen also in 
-LilyPond:
+Weitere zusätzliche Scheme-Datentypen, die hier nicht besprochen wurden,
+finden sich in einer vollständigen Liste der Scheme-Datentypen in der
+Guile-Referenzanleitung:
+@uref{http://www.gnu.org/software/guile/manual/html_node/Simple-Data-Types.html}.
+
+
+@node Zusammengesetzte Scheme-Datentypen
+@subsection Zusammengesetzte Scheme-Datentypen
+@translationof Scheme compound data types
+
+Es gibt auch zusammengesetzte Datentypen in Scheme.  Die Datentypen, die in
+LilyPond häufig benutzt werden, beinhalten Paare, Listen, assoziative Listen
+und Hash-Tabellen.
+
+@subheading Paare (pair)
+
+Der wichtigeste zusammengesetzte Datentyp in Scheme ist ein Paar (@code{pair}).
+Wie aus dem Namen schon hervorgeht, besteht ein Paar aus zwei zusammengeschweißten
+Werten.  Die Prozedur um ein Paar zu erstellen ist @code{cons}.
+
+@lisp
+guile> (cons 4 5)
+(4 . 5)
+guile>
+@end lisp
+
+Das Paar wird dargestellt als zwei Elemente, von Klammern umgeben
+und durch Leerzeichen und einen Punkt (@code{.}) getrennt.  Der Punkt ist
+@emph{kein} Dezimalpunkt, sondern markiert die Gruppe als Paar.
+
+Paare können auch wörtlich eingegeben werden, indem man ihnen voraus ein
+einfaches Anführungszeichen (@code{'} setzt.
+
+@lisp
+guile> '(4 . 5)
+(4 . 5)
+guile>
+@end lisp
+
+Beide Elemente eines Paares können beliebige gültige Scheme-Werte sein:
+
+@lisp
+guile> (cons #t #f)
+(#t . #f)
+guile> '("blah-blah" . 3.1415926535)
+("blah-blah" . 3.1415926535)
+guile>
+@end lisp
+
+Das erste Element eines Paares kann mit der Prozedur @code{car},
+das zweite mit der Prozedur @code{cdr} angesprochen werden.
+
+@lisp
+guile> (define mypair (cons 123 "hello there")
+... )
+guile> (car mypair)
+123
+guile> (cdr mypair)
+"hello there"
+guile>
+@end lisp
+
+@noindent
+
+Achtung:  @code{cdr} wird ausgeprochen wie "kudd-err", nach Sussman und
+Abelson, siehe
+@uref{http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-14.html#footnote_Temp_133}
+
+@subheading Listen (list)
+
+Ein sehr häufiger Datentyp in Scheme ist die Liste (@emph{list}).  Formal
+gesehen wird eine Liste entweder als leere Liste definiert
+(repräsentiert als @code{'()}), oder als ein Paar, dessen @code{cdr}
+eine Liste ist.
+
+Es gibt viele Arten, Listen zu erstellen.  Die vielleicht häufigste Methode
+ist die @code{list}-Prozedur:
+
+@lisp
+guile> (list 1 2 3 "abc" 17.5)
+(1 2 3 "abc" 17.5)
+@end lisp
+
+Wie man sehen kann, wird eine Liste dargestellt in Form der einzelnen
+Elemente, getrennt durch ein Leerzeichen und als Gruppe in Klammern eingeschlossen.
+Anders als bei einem Paar, befindet sich kein Punkt zwischen den Elementen.
+
+Eine Liste kann auch als wörtliche Liste notiert werden, indem man die
+enthaltenen Elemente in Klammern einschließt und ein einfaches Anführungszeichen
+voranschreibt:
+
+@lisp
+guile> '(17 23 "foo" "bar" "bazzle")
+(17 23 "foo" "bar" "bazzle")
+@end lisp
+
+Listen haben eine zentrale Stellung in Scheme.  Scheme wird als Dialekt
+von Lisp angesehen, und das Wort @qq{lisp} steht für @qq{List Processing}.
+Scheme-Ausdrücke sind immer Listen.
+
+@subheading Assoziative Listen (alist)
+
+Eine besonderer Listentyp ist die @emph{assoziative Liste} oder @emph{alist}.
+Eine Alist wird benutzt, um Daten zum einfachen Abrufen zu speichern.
+
+Alisten sind Listen, deren Elemente als Paare kommen.  Der @code{car}-Teil
+jedes Elements wird als @emph{Schlüssel} (key) bezeichnet, der
+@code{cdr}-Teil jedes Elements wird @emph{Wert} (value) genannt.
+Die Scheme-Prozedur @code{assoc} wird benutzt, um einen Eintrag aus einer
+Aliste aufzurufen, und mit @code{cdr} wird sein Wert abgefragt:
+
+@lisp
+guile> (define my-alist '((1  . "A") (2 . "B") (3 . "C")))
+guile> my-alist
+((1 . "A") (2 . "B") (3 . "C"))
+guile> (assoc 2 my-alist)
+(2 . "B")
+guile> (cdr (assoc 2 my-alist))
+"B"
+guile>
+@end lisp
+
+Alisten werden sehr viel in LilyPond genutzt, um Eigenschaften und
+andere Daten zu speichern.
+
+@subheading Hash-Tabellen (hash table)
+
+Eine Datenstruktur, die ab und zu in LilyPond eingesetzt wird.
+Eine Hash-Tabelle ähnelt einem Array, aber die Indexe des Arrays
+können beliebige Scheme-Werte sein, nicht nur Integre.
+
+Hash-Tabellen sind effizienter als Alisten, wenn man viele Daten
+speichern will und die Daten sich oft ändern.
+
+Die Syntax, mit der Hash-Tabellen erstellt werden, ist etwas komplex,
+aber man kann Beispiele hierzu im LilyPond-Quellcode finden.
+
+@lisp
+guile> (define h (make-hash-table 10))
+guile> h
+#<hash-table 0/31>
+guile> (hashq-set! h 'key1 "val1")
+"val1"
+guile> (hashq-set! h 'key2 "val2")
+"val2"
+guile> (hashq-set! h 3 "val3")
+"val3"
+@end lisp
+
+Werte werden aus den Hash-Tabellen mit @code{hashq-ref} ausgelesen.
+
+@lisp
+guile> (hashq-ref h 3)
+"val3"
+guile> (hashq-ref h 'key2)
+"val2"
+guile>
+@end lisp
+
+Schlüssel und Werte werden als Paar mit @code{hashq-get-handle} ausgelesen.
+Das ist die beste Art, weil hier @code{#f} ausgegeben wird, wenn ein
+Schlüssel nicht gefunden werden kann.
+
+@lisp
+guile> (hashq-get-handle h 'key1)
+(key1 . "val1")
+guile> (hashq-get-handle h 'frob)
+#f
+guile>
+@end lisp
+
+
+@node Berechnungen in Scheme
+@subsection Berechnungen in Scheme
+@translationof Calculations in Scheme
+
+@ignore
+We have been using lists all along.  A calculation, like @code{(+ 1 2)}
+is also a list (containing the symbol @code{+} and the numbers 1
+and@tie{}2).  Normally lists are interpreted as calculations, and the
+Scheme interpreter substitutes the outcome of the calculation.  To enter a
+list, we stop the evaluation.  This is done by quoting the list with a
+quote @code{'} symbol.  So, for calculations do not use a quote.
+
+Inside a quoted list or pair, there is no need to quote anymore.  The
+following is a pair of symbols, a list of symbols and a list of lists
+respectively,
 
 @example
-##t ##f
-#1 #-1.5
-#"Das ist eine Zeichenkette"
-#"Das
-ist
-eine Zeichenkette"
+#'(stem . head)
+#'(staff clef key-signature)
+#'((1) (2))
+@end example
+@end ignore
+
+Scheme kann verwendet werden, um Berechnungen durchzuführen. Es 
+verwendet eine @emph{Präfix}-Syntax. Um 1 und@tie{}2 zu addieren, muss 
+man @code{(+ 1 2)} schreiben, und nicht @math{1+2}, wie in traditioneller
+Mathematik.
+
+@lisp
+guile> (+ 1 2)
+3
+@end lisp
+
+Berechnungen können geschachtelt werden und das Ergebnis einer Berechnung
+kann für eine neue Berechnung eingesetzt werden.
+
+@lisp
+guile> (+ 1 (* 3 4))
+13
+@end lisp
+
+Diese Berechnungen sind Beispiele von Auswertungen. Ein Ausdruck 
+wie @code{(* 3 4)} wird durch seinen Wert @code{12} ersetzt.
+
+Scheme-Berechnungen können zwischen Integren und Nich-Integren
+unterscheiden.  Integre Berechnungen sind exakt, während Nicht-Integre
+nach den passenden Genauigkeitseinschränkungen berechnet werden:
+
+@lisp
+guile> (/ 7 3)
+7/3
+guile> (/ 7.0 3.0)
+2.33333333333333
+@end lisp
+
+Wenn der Scheme-Berechner einen Ausdruck antrifft, der eine Liste darstellt,
+wird das erste Element der Liste als Prozedur behandelt, die mit
+Argumenten des Restes der Liste ausgewertet werden.  Darum sind alle
+Operatoren in Scheme vorangestellt.
+
+Wenn das erste Element eines Scheme-Ausdrucks, der eine Liste darstellt,
+@emph{kein} Operator oder keine Prozedur ist, gibt es einen Fehler:
+
+@lisp
+guile> (1 2 3)
+
+Backtrace:
+In current input:
+  52: 0* [1 2 3]
+
+<unnamed port>:52:1: In expression (1 2 3):
+<unnamed port>:52:1: Wrong type to apply: 1
+ABORT: (misc-error)
+guile>
+@end lisp
+
+Hier kann man sehen, dass Scheme versucht hat, 1 als einen Operator oder
+eine Prozedur zu behandeln, was aber nicht möglich war.  Darum der Fehler
+"Wrong type to apply: 1".
+
+Wenn man also eine Liste erstellen will, braucht man also einen Listen-Operator
+oder man muss die Liste als wörtliches Zitat schreiben, sodass Scheme sie
+nicht auszuwerten versucht.
+
+@lisp
+guile> (list 1 2 3)
+(1 2 3)
+guile> '(1 2 3)
+(1 2 3)
+guile>
+@end lisp
+
+Dieser Fehler kann durchaus vorkommen, wenn man Scheme unter LilyPond
+einsetzt.
+
+@ignore
+The same assignment can be done in completely in Scheme as well,
+
+@example
+#(define twentyFour (* 2 twelve))
+@end example
+
+@c this next section is confusing -- need to rewrite
+
+The @emph{name} of a variable is also an expression, similar to a
+number or a string.  It is entered as
+
+@example
+#'twentyFour
+@end example
+
+@funindex #'symbol
+@cindex quoting in Scheme
+
+The quote mark @code{'} prevents the Scheme interpreter from substituting
+@code{24} for the @code{twentyFour}.  Instead, we get the name
+@code{twentyFour}.
+@end ignore
+
+
+@node Scheme-Prozeduren
+@subsection Scheme-Prozeduren
+@translationof Scheme procedures
+
+Scheme-Prozeduren sind ausführbare Scheme-Ausdrücke, die einen
+Wert ausgeben, der das Resultat ihrer Ausführung darstellt.  Sie können
+auch Variablen verändern, die außerhalb dieser Prozedur definiert wurden.
+
+@subheading Prozeduren definieren
+
+Prozeduren werden in Scheme mit @code{define} definiert:
+
+@example
+(define (function-name arg1 arg2 ... argn)
+ scheme-expression-that-gives-a-return-value)
+@end example
+
+Beispielsweise könnte man eine Prozedur definieren, die den Durchschnitt
+berechnet:
+
+@lisp
+guile> (define (average x y) (/ (+ x y) 2))
+guile> average
+#<procedure average (x y)>
+@end lisp
+
+Wenn die Prozedur einmal definiert ist, wird sie aufgerufen indem man
+die Prozedur und die Argumente in eine Liste schreibt.  Man könnte also den
+Durchschnitt von 3 und 12 berechnen:
+
+@lisp
+guile> (average 3 12)
+15/2
+@end lisp
+
+@subheading Prädikate
+
+Scheme-Prozeduren, die Boolsche Werte ausgeben, werden oft als Prädikate
+(predicate) bezeichnet.  Es herrscht die Übereinkunft, Prädikat-Bezeichnungen
+mit einem Fragezeichen abzuschließen:
+
+@lisp
+guile> (define (less-than-ten? x) (< x 10))
+guile> (less-than-ten? 9)
+#t
+guile> (less-than-ten? 15)
+#f
+@end lisp
+
+@subheading Wiedergabe-Werte
+
+Scheme-Prozeduren geben immer einen Wiedergabe-Wert (return value) aus, welcher
+der Wert des letzten Ausdrucks ist, der in der Prozedur ausgeführt wurde.  Der
+Wiedergabewert kann ein beliebiger gültiger Scheme-Wert sein, auch eine
+komplexe Datenstruktur oder eine Prozedur.
+
+Manchmal würden Benutzer gerne mehrere Scheme-Ausdrucke in einer Prozedur haben.
+Es gibt zwei Arten, wie merhere Ausdrücke kombiniert werden können.  Die erste
+Art ist die @code{begin}-Prozedur, der es ermöglicht, dass mehrere Ausdrücke
+ausgewertet werden und den Wert des letzten Ausdrucks wiedergibt.
+
+@lisp
+guile> (begin (+ 1 2) (- 5 8) (* 2 2))
+4
+@end lisp
+
+Die andere Art, mehrere Ausdrücke zu kombinieren, ist eine @code{let}-Umgebung.
+In dieser Umgebung wird eine Serie von Verbindungen erstellt, und dann wird eine
+Sequenz von Ausdrücken ausgewertet, die diese Bindungen einschließen können.
+Der Wiedergabewert der let-Umgebung ist der Wiedergabewert der letzten Aussage
+in der let-Umgebung:
+
+@lisp
+guile> (let ((x 2) (y 3) (z 4)) (display (+ x y)) (display (- z 4))
+... (+ (* x y) (/ z x)))
+508
+@end lisp
+
+
+@node Scheme-Konditionale
+@subsection Scheme-Konditionale
+@translationof Scheme conditionals
+
+@subheading if
+
+Scheme hat eine @code{if}-Prozedur:
+
+@example
+(if test-expression true-expression false-expression)
+@end example
+
+@var{test-expression} ist ein Ausdruck, der einen Booleschen
+Wert zurück gibt.  Wenn @var{test-expression} den Wert @code{#t}
+ausgibt, gibt die if-Prozedur den Wert von @var{true-expression} aus,
+in allen anderen Fällen den Wert von @var{false-expression}.
+
+@lisp
+guile> (define a 3)
+guile> (define b 5)
+guile> (if (> a b) "a is greater than b" "a is not greater than b")
+"a is not greater than b"
+@end lisp
+
+@subheading cond
+
+Eine andere konditionale Prozedur in Scheme ist
+@code{cond}:
+
+@example
+(cond (test-expression-1 result-expression-sequence-1)
+      (test-expression-2 result-expression-sequence-2)
+      ...
+      (test-expression-n result-expression-sequence-n))
+@end example
+
+Beispielsweise:
+
+@lisp
+guile> (define a 6)
+guile> (define b 8)
+guile> (cond ((< a b) "a is less than b")
+...          ((= a b) "a equals b")
+...          ((> a b) "a is greater than b"))
+"a is less than b"
+@end lisp
+
+
+
+@node Scheme in LilyPond
+@section Scheme in LilyPond
+@translationof Scheme in LilyPond
+
+@menu
+* LilyPond Scheme-Syntax::
+* LilyPond-Variablen::
+* Eingabe-Variablen und Scheme::
+* Objekteigenschaften::
+* Zusammengesetzte LilyPond-Variablen::
+* Interne musikalische Repräsentation::
+@end menu
+
+@node LilyPond Scheme-Syntax
+@subsection LilyPond Scheme-Syntax
+@translationof LilyPond Scheme syntax
+
+Der Guile-Auswerter ist ein Teil von LilyPond, sodass Scheme also auch in
+normale LilyPond-Eingabedateien eingefügt werden kann.  Das Rautenzeichen
+(@code{#}) wird benutzt, um dem LilyPond-Parser mitzuteilen, dass der nächste
+Wert ein Scheme-Wert ist.
+
+Wenn der Parser eine Raute sieht, wird der Eingabe-Code an den Guile-Auswerter
+weitergereicht, der den Scheme-Ausdruck auswertet.  Der Auswerter behandelt
+die Eingabe so lange, bis er zum Ende eines Scheme-Ausdrucks kommt.
+
+Scheme-Prozeduren können in LilyPond-Eingabedateien definiert werden:
+
+@example
+#(define (average a b c) (/ (+ a b c) 3))
 @end example
 
 LilyPond-Kommentare (@code{%} oder @code{%@{ %@}}) können innerhalb
@@ -115,11 +661,15 @@ werden wie folgt notiert:
   selten benutzt und nie im Quellcode
   von LilyPond
 !#
-+@end example
+@end example
+
+Für den Rest dieses Abschnitts soll angenommen werden, dass die Daten in
+einer LilyPond-Eingabedatei notiert werden sollen, sodass immer @code{#}
+vor die Scheme-Ausdrücke gestellt wird.
 
-Mehrere aufeinander folgende Scheme-Ausdrücke in einer Notationsdatei
-können kombiniert werden, wenn man @code{begin} einsetzt.  Das
-erlaubt es, die Anzahl an Rauten auf eins zu begrenzen.
+Alle Scheme-Ausdrücke auf oberster Ebene in einer LilyPond-Eingabedatei
+können in einen einzigen Scheme-Ausdruck zusammengefasst werden mit
+@code{begin}:
 
 @example
 #(begin
@@ -127,159 +677,725 @@ erlaubt es, die Anzahl an Rauten auf eins zu begrenzen.
   (define bar 1))
 @end example
 
-Wenn @code{#} von einer öffnenden Klammer, @code{(}, gefolgt wird, wie
-in dem Beispiel oben, bleibt der Parser im Scheme-Modus bis eine
-passende schließende Klammer, @code{)}, gefunden wird, sodass keine
-weiteren @code{#}-Zeichen benötigt werden, um einen Scheme-Abschnitt
-anzuzeigen.
 
-Für den Rest dieses Abschnitts nehmen wir an, dass die Daten immer in 
-einer LilyPond-Datei stehen, darum wird immer die Raute verwendet.
+@node LilyPond-Variablen
+@subsection LilyPond-Variablen
+@translationof LilyPond variables
 
-Scheme kann verwendet werden, um Berechnungen durchzuführen. Es 
-verwendet eine @emph{Präfix}-Syntax. Um 1 und@tie{}2 zu addieren, muss 
-man @code{(+ 1 2)} schreiben, und nicht @math{1+2}, wie in traditioneller
-Mathematik.
+LilyPond-Variablen werden intern als Scheme-Variablen gespeichert. Darum
+ist
 
-@lisp
-#(+ 1 2)
-  @result{} #3
-@end lisp
+@example
+Zwoelf = 12
+@end example
 
-Der Pfeil @result{} zeigt an, dass das Ergebnis der Auswertung von 
-@code{(+ 1 2)} @code{3}@tie{}ist. Berechnungen können geschachtelt 
-werden und das Ergebnis einer Berechnung kann für eine neue 
-Berechnung eingesetzt werden.
+@noindent
+das Gleiche wie
 
-@lisp
-#(+ 1 (* 3 4))
-  @result{} #(+ 1 12)
-  @result{} #13
-@end lisp
+@example
+#(define Zwoelf 12)
+@end example
 
-Diese Berechnungen sind Beispiele von Auswertungen. Ein Ausdruck 
-wie @code{(* 3 4)} wird durch seinen Wert @code{12} ersetzt. Ähnlich 
-verhält es sich mit Variablen. Nachdem eine Variable definiert ist:
+Das bedeutet, dass Scheme-Ausdrücke auf LilyPond-Variablen zugreifen können.
+Man könnte also schreiben:
 
 @example
-zwoelf = #12
+Vierundzwanzig = #(* 2 Zwoelf)
 @end example
 
 @noindent
-kann man sie in Ausdrücken weiterverwenden:
+was zur Folge hätte, dass die Zahl 24 in der LilyPond (und Scheme-)Variablen
+@code{Vierundzwanzig} gespeichert wird.
+
+
+@node Eingabe-Variablen und Scheme
+@subsection Eingabe-Variablen und Scheme
+@translationof Input variables and Scheme
+
+Das Eingabeformat unterstützt die Notation von Variablen: Im folgenden
+Beispiel wird ein musikalischer Ausdruck einer Variablen mit der
+Bezeichnung @code{traLaLa} zugewiesen:
 
 @example
-vierundzwanzig = #(* 2 zwoelf)
+traLaLa = @{ c'4 d'4 @}
+@end example
+
+Variablen haben beschränkte Geltungsbereiche: im unten stehenden Beispiel
+enthält auch die @code{\layout}-Umgebung eine @code{traLaLa}-Variable,
+die sich aber von der @code{traLaLa}-Variable auf oberster Ebene unterscheidet:
+
+@example
+traLaLa = @{ c'4 d'4 @}
+\layout @{ traLaLa = 1.0 @}
+@end example
+
+Jede Eingabedatei ist solch ein Gültigkeitsbereich, und alle
+@code{\header}-, @code{\midi}- und @code{\layout}-Umgebungen
+sind Gültigkeitsbereiche, die in diesen obersten Gültigkeitsbereich
+eingebettet sind.
+
+Sowohl Variablen als auch Gültigkeitsbereiche sind im Guile Modulsystem
+eingebaut.  Ein anonymes Scheme-Modul wird jedem Gültigkeitsbereich
+angehängt.  Eine Zuweisen in der Form von
+
+@example
+traLaLa = @{ c'4 d'4 @}
+@end example
+
+@noindent
+wird intern in die Scheme-Definition
+
+@example
+(define traLaLa @var{Scheme-Wert von `@code{... }'})
 @end example
 
 @noindent
-Die 24 wird in der Variablen @code{vierundzwanzig} gespeichert.
-Die gleiche Zuweisung kann auch vollständig in Scheme geschrieben 
-werden:
+konvertiert.
+
+Das bedeutet, dass LilyPond-Variablen und Scheme-Variablen frei gemischt
+werden können.  Im folgenden Beispiel wird ein Notenfragment in der
+Variable @code{traLaLa} gespeichert und mit Scheme dupliziert.  Das
+Resultat wird in eine @code{\score}-Umgebung mit einer weiteren
+Variable @code{twice} importiert:
+
+@lilypond[verbatim]
+traLaLa = { c'4 d'4 }
+
+%% dummy action to deal with parser lookahead
+#(display "this needs to be here, sorry!")
+
+#(define newLa (map ly:music-deep-copy
+  (list traLaLa traLaLa)))
+#(define twice
+  (make-sequential-music newLa))
+
+{ \twice }
+@end lilypond
+
+In diesem Beispiel geschieht die Zuweisung, nachdem der Parser sichergestellt
+hat, dass nichts interessantes mehr nach @code{traLaLa = @{ ... @}} passiert.
+Ohne die Dummy-Aussage in dem Beispiel würde die @code{newLa}-Definition ausgeführt,
+bevor @code{traLaLa} definiert ist, was einen Syntax-Fehler hervorrufen würde.
+
+Das Beispiel zeigt, wie man musikalische Ausdrücke aus der Eingabe in den
+Scheme-Auswerter @qq{exportieren} kann.  Es geht auch andersherum.  Indem
+man Scheme-Werten in die Funktion @code{ly:export} einschließt, wird ein
+Scheme-Wert interpretiert, als ob er in LilyPond-Syntax eingeben wäre.
+Anstatt @code{\twice} zu definieren, könne man also auch schreiben:
 
 @example
-#(define vierundzwanzig (* 2 zwoelf))
+...
+@{ #(ly:export (make-sequential-music (list newLa))) @}
 @end example
 
-Der @emph{Name} einer Variable ist auch ein Ausdruck, genauso wie 
-eine Zahl oder eine Zeichenkette. Er wird wie folgt eingegeben:
+Scheme-Code wird sofort interpretiert, wenn der Parser darauf stößt.  Um
+Scheme-Code als Makro zu definieren (das später aufgerufen werden soll),
+muss man @ref{Leere Funktionen} benutzen oder
 
 @example
-#'vierundzwanzig
+#(define (nopc)
+  (ly:set-option 'point-and-click #f))
+
+...
+#(nopc)
+@{ c'4 @}
 @end example
 
-@funindex #'symbol
-@cindex Zitieren in Scheme
+@knownissues
+
+Scheme- und LilyPond-Variablen können nicht gemischt werden, wenn man die
+@code{--safe}-Option benutzt.
 
-Das Apostroph @code{'} verhindert, dass bei der Scheme-Auswertung
- @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 
-internen Variable zugewiesen werden, wie etwa
+@node Objekteigenschaften
+@subsection Objekteigenschaften
+@translationof Object properties
+
+Objekteigenschaften werden in LilyPond in Form von Alisten-Ketten
+gespeichert, also als Listen von Alisten.  Eigenschaften werden
+geändert, indem man Werte an den Anfang der Eigenschaftsliste
+hinzufügt.  Eigenschaften werden gelesen, indem Werte aus der
+Aliste gelesen werden.
+
+Ein neuer Wert für eine Eigenschaft kann gesetzt werden, indem man
+der Alist einen Wert mit Schlüssel und dem Wert zuweist.  Die
+LilyPond-Syntax hierfür ist:
 
 @example
 \override Stem #'thickness = #2.6
 @end example
 
-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. 
+Diese Anweisung verändert die Erscheinung der Notenhälse. Der Alist-Eintrag 
+@code{'(thickness . 2.6)} wird zu der Eigenschaftsliste eines
+@code{Stem}-(Hals-)Objektes hinzugefügt.
 @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 
 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{vierundzwanzig} 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}.
+@qq{Variablen} genannt, die letzteren dagegen @qq{Eigenschaften}.
 Das Hals-Objekt hat also eine @code{thickness}-Eigenschaft, während 
-@code{vierundzwanzig} ein Bezeichner ist.
+@code{Vierundzwanzig} eine Variable ist.
 
 @cindex Eigenschaften versus Bezeichner
 @cindex Bezeichner versus Eigenschaften
 
-Sowohl zweidimensionale Abstände (X- und Y-Koordinaten) als auch 
-Größen von Objekten (Intervalle mit linker und rechter Begrenzung) werden 
-als @code{pairs} (Paare) eingegeben. Ein Paar@footnote{In der 
-Scheme-Terminologie wird ein Paar @code{cons} genannt und seine 
-zwei Elemente @code{car} und @code{cdr}.} wird als @code{(erster . zweiter)}
-eingegeben und sie müssen mit dem Apostroph eingeleitet werden, genauso 
-wie Symbole:
+
+@node Zusammengesetzte LilyPond-Variablen
+@subsection Zusammengesetzte LilyPond-Variablen
+@translationof LilyPond compound variables
+
+@subheading Abstände (offset)
+
+
+
+Zweidimensionale Abstände (X- und Y-Koordinaten) werden 
+als @code{pairs} (Paare) gespeichert. Der @code{car}-Wert des
+Abstands ist die X-Koordinate und der @code{cdr}-Wert die
+Y-Koordinate.
 
 @example
 \override TextScript #'extra-offset = #'(1 . 2)
 @end example
 
-Hierdurch wird das Paar (1, 2) mit der Eigenschaft @code{extra-offset}
+Hierdurch wird das Paar @code{(1 . 2)} mit der Eigenschaft @code{extra-offset}
 des TextScript-Objektes verknüpft. Diese Zahlen werden in 
 Systembreiten  gemessen, so dass der Befehl das Objekt eine Systembreite 
 nach rechts verschiebt und zwei Breiten nach oben.
 
-Die zwei Elemente eines Paares können von beliebigem Inhalt sein, etwa
+Prozeduren, um mit Abständen zu arbeiten, finden sich in @file{scm/lily-library.scm}.
+
+@subheading Bereiche (extend)
+
+Paare werden auch benutzt, um Intervalle zu speichern, die einen Zahlenbereich
+vom Minimum (dem @code{car}) bis zum Maximum (dem @code{cdr}) darstellen.
+Intervalle werden benutzt, um die X- und Y-Ausdehnung von druckbaren
+Objekten zu speichern.  Bei X-Ausdehnungen ist @code{car} die linke
+X-Koordinate und @code{cdr} die rechte X-Koordinate.  Für Y-Ausdehnungen
+ist @code{car} die untere Koordinate und @code{cdr} die obere Koordinate.
+
+Prozeduren, um mit Intervallen zu arbeiten, finden sich in
+@file{scm/lily-library.scm}.  Diese Prozeduren sollten benutzt, wenn es möglich
+ist, um den Code konsistent zu halten.
+
+@subheading Eigenschafts-Alisten (property alist)
+
+Eine Eigenschafts-Aliste ist eine LilyPond-Datenstruktur, die eine Aliste
+darstellt, deren Schlüssel Eigenschaften sind und deren Werte
+Scheme-Ausdrücke sind, die den erwünschen Wert der Eigenschaft ausgeben.
+
+LilyPond-Eigenschaften sind Scheme-Symbole, wie etwa @code{'thickness}
+(Dicke).
+
+@subheading Alisten-Ketten (alist chains)
+
+Eine Alisten-Kette ist eine Liste, die Eigenschafts-Alisten enthält.
+
+Die Menge aller Eigenschaften, die sich auf einen Grob auswirken, wird
+typischerweise in einer Alisten-Kette gespeichert.  Um den Wert einer
+bestimmten Eigenschaft zu finden, die ein Grob haben soll, wird jede
+Liste in der Kette nach einander durchsucht, wobei nach einem Eintrag
+geschaut wird, der den Eigenschaftsschlüssel enthält.  Der erste
+gefundene Alisten-Eintrag wird benutzt und dessen Wert ist der
+Wert der Eigenschaft.
+
+Die Scheme-Prozedur @code{chain-assoc-get} wird normalerweise benutzt,
+um Grob-Eigenschaftenwerte zu erhalten.
+
+
+@node Interne musikalische Repräsentation
+@subsection Interne musikalische Repräsentation
+@translationof Internal music representation
+
+Intern werden Noten als Scheme-Liste dargestellt.  Die Liste enthält
+verschiedene Elemente, die die Druckausgabe beeinflussen.  Parsen
+nennt man den Prozess, der die Noten aus der LilyPond-Repräsentation
+in die interne Scheme-Repräsentation überführt.
+
+Wenn ein musikalischer Ausdruck geparst wird, wird er in eine Gruppe
+von Scheme-Musikobjekten konvertiert.  Die definierende Eigenschaft
+eines Musikobjektes ist, dass es Zeit einnimmt.  Die Zeit, die
+ein Objekt braucht, wird Dauer (engl. @emph{duration}) genannt.
+Dauern werden in rationalen Zahlen ausgedrückt, die die Länge des
+Musikobjekts in Ganzen Noten angeben.
+
+Ein Musikobjekt hat drei Typen:
+
+@itemize
+@item
+Musikbezeichnung (music name): Jeder Musikausdruck hat eine Bezeichnung.  Eine
+Note beispielsweise erzeugt ein @rinternals{NoteEvent} und @code{\simultaneous}
+produziert @rinternals{SimultaneousMusic}.  Eine Liste aller möglichen
+Ausdrücke findet sich in der Referenz der Interna, unter
+@rinternals{Music expressions}.
+
+@item
+Typ (type) oder Schnittstelle (interface): Jede Musikbezeichnung hat mehrere
+Typen oder Schnittstellen, beispielsweise eine Note ist ein Ereignis (@code{event}),
+aber auch ein Notenereignis (@code{note-event}), ein rhythmisches Ereignis
+(@code{rhythmic-event}) und ein Melodieereignis (@code{melodic-event}).
+Alle Musikklassen sind in der Referenz der Interna aufgelistet, unter
+@rinternals{Music classes}.
+
+@item
+C++-Objekt: Jedes Musikobjekt ist durch ein Objekt der C++-Klasse @code{Music}
+repräsentiert.
+@end itemize
+
+Die eigentliche Information eines musikalischen Ausdrucks wird in Eigenschaften
+gespeichert.  Ein @rinternals{NoteEvent} beispielsweise hat die Eigenschaften
+Tonhöhe (@code{pitch}) und Dauer (@code{duration}), die die Dauer und die
+Tonhöhe der Note speichern.  Eine Liste aller möglichen Eigenschaften findet
+sich in der Referenz der Interna, unter
+@rinternals{Music properties}.
+
+Ein zusammengesetzter musikalischer Ausdruck ist ein Musikobjekt, das andere
+Musikobjekte als Eigenschaften enthält.  Eine Liste an Objekten kann in der
+@code{elements}-Eigenschaft eines Musikobjekts bzw. ein einziges
+Ableger-Musikelement in der @code{element}-Eigenschaft gespeichert werden.
+@rinternals{SequentialMusic} beispielsweise hat sein einziges Argument in
+@code{element}.  Der Körper einer Wiederholung wird in der @code{element}-Eigenschaft
+von @rinternals{RepeatedMusic} gespeichert, und die alternativen Endungen
+in @code{elements}.
+
+
+@node Komplizierte Funktionen erstellen
+@section Komplizierte Funktionen erstellen
+@translationof Building complicated functions
+
+Dieser Abschnitt zeigt, wie man Information zusammensucht,
+um komplizierte musikalische Funktionen  zu erstellen.
+
+@menu
+* Musikalische Funktionen darstellen::
+* Eigenschaften von Musikobjekten::
+* Verdoppelung einer Note mit Bindebögen (Beispiel)::
+* Artikulationszeichen zu Noten hinzufügen (Beispiel)::
+@end menu
+
+
+@node Musikalische Funktionen darstellen
+@subsection Musikalische Funktionen darstellen
+@translationof Displaying music expressions
+
+@cindex interne Speicherung
+@cindex Musikausdrücke anzeigen
+@cindex Anzeigen von Musikausdrücken
+
+@funindex displayMusic
+@funindex \displayMusic
+
+Wenn man eine musikalische Funktion erstellt, ist es oft
+hilfreich sich anzuschauen, wie musikalische Funktionen
+intern gespeichert werden.  Das kann mit der Funktion
+@code{\displayMusic} erreicht werden:
 
 @example
-#'(1 . 2)
-#'(#t . #f)
-#'("blah-blah" . 3.14159265)
+@{
+  \displayMusic @{ c'4\f @}
+@}
 @end example
 
-Eine Liste wird eingegeben, indem die Elemente der Liste in Klammern 
-geschrieben werden, mit einem Apostroph davor. Beispielsweise:
+@noindent
+zeigt:
 
 @example
-#'(1 2 3)
-#'(1 2 "string" #f)
+(make-music
+  'SequentialMusic
+  'elements
+  (list (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 0 0))
+                (make-music
+                  'AbsoluteDynamicEvent
+                  'text
+                  "f")))))
 @end example
 
-Die ganze Zeit wurde hier schon Listen benutzt. Eine Berechnung, 
-wie @code{(+ 1 2)}, ist auch eine Liste (welche das Symbol @code{+} 
-und die Nummern 1 und@tie{}2 enthält. Normalerweise werden Listen 
-als Berechnungen interpretiert und der Scheme-Interpreter ersetzt 
-die Liste mit dem Ergebnis der Berechnung. Um eine Liste an sich 
-einzugeben, muss die Auswertung angehalten werden. Das geschieht, 
-indem der Liste ein Apostroph vorangestellt wird. Für Berechnungen 
-kann man also den Apostroph nicht verwenden.
+Normalerweise gibt LilyPond diese Ausgabe auf der Konsole mit
+allen anderen Nachrichten aus.  Um die wichtigen Nachrichten
+in einer Datei zu speichern, kann die Ausgabe in eine Datei
+umgeleitet werden:
+
+@example
+lilypond file.ly >display.txt
+@end example
 
-Innerhalb einer zitierten Liste (also mit Apostroph) muss man keine 
-Anführungszeichen mehr setzen. Im Folgenden ein Symbolpaar, eine 
-Symbolliste und eine Liste von Listen:
+Mit etwas Umformatierung ist die gleiche Information sehr viel
+einfacher zu lesen:
 
 @example
-#'(stem . head)
-#'(staff clef key-signature)
-#'((1) (2))
+(make-music 'SequentialMusic
+  'elements (list (make-music 'EventChord
+                    'elements (list (make-music 'NoteEvent
+                                      'duration (ly:make-duration 2 0 1 1)
+                                      'pitch (ly:make-pitch 0 0 0))
+                                    (make-music 'AbsoluteDynamicEvent
+                                      'text "f")))))
+@end example
+
+Eine musikalische @code{@{ ... @}}-Sequenz hat die Bezeichnung
+@code{SequentialMusic} und ihre inneren Ausdrücke werden als
+Liste in seiner @code{'elements}-Eigenschaft gespeichert.  Eine
+Note ist als als ein @code{EventChord}-Ausdruck dargestellt,
+der ein @code{NoteEvent}-Objekt (welches Dauer und
+Tonhöhe speichert) und zusätzliche Information enthält (in
+diesem Fall ein @code{AbsoluteDynamicEvent} mit einer
+@code{"f"}-Text-Eigenschaft.
+
+
+@node Eigenschaften von Musikobjekten
+@subsection Eigenschaften von Musikobjekten
+@translationof Music properties
+
+Das @code{NoteEvent}-Objekt ist das erste Objekt der
+@code{'elements}-Eigenschaft von @code{someNote}.
+
+@example
+someNote = c'
+\displayMusic \someNote
+===>
+(make-music
+  'EventChord
+  'elements
+  (list (make-music
+          'NoteEvent
+          'duration
+          (ly:make-duration 2 0 1 1)
+          'pitch
+          (ly:make-pitch 0 0 0))))
+@end example
+
+Die @code{display-scheme-music}-Funktion ist die Funktion, die von
+@code{\displayMusic} eingesetzt wird, um die Scheme-Repräsentation
+eines musikalischen Ausdrucks anzuzeigen.
+
+@example
+#(display-scheme-music (first (ly:music-property someNote 'elements)))
+===>
+(make-music
+  'NoteEvent
+  'duration
+  (ly:make-duration 2 0 1 1)
+  'pitch
+  (ly:make-pitch 0 0 0))
+@end example
+
+Danach wird die Tonhöhe der Note von der @code{'pitch}-Eigenschaft
+des @code{NoteEvent}-Objektes gelesen:
+
+@example
+#(display-scheme-music
+   (ly:music-property (first (ly:music-property someNote 'elements))
+                      'pitch))
+===>
+(ly:make-pitch 0 0 0)
 @end example
 
+Die Tonhöhe einer Note kann geändert werden, indem man diese
+@code{'pitch}-Eigenschaft umdefiniert:
+
+@funindex \displayLilyMusic
+@funindex displayLilyMusic
+
+@example
+#(set! (ly:music-property (first (ly:music-property someNote 'elements))
+                          'pitch)
+       (ly:make-pitch 0 1 0)) ;; Die Tonhöhen auf d' verändern.
+\displayLilyMusic \someNote
+===>
+d'
+@end example
+
+
+@node Verdoppelung einer Note mit Bindebögen (Beispiel)
+@subsection Verdoppelung einer Note mit Bindebögen (Beispiel)
+@translationof Doubling a note with slurs (example)
+
+In diesem Abschnitt soll gezeigt, werden, wie man eine
+Funktion erstellt, die eine Eingabe wie @code{a}
+nach @code{a( a)} umdefiniert.  Dazu wird zuerst die
+interne Repräsentation der Musik betrachtet, die
+das Endergebnis darstellt:
+
+@example
+\displayMusic@{ a'( a') @}
+===>
+(make-music
+  'SequentialMusic
+  'elements
+  (list (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 5 0))
+                (make-music
+                  'SlurEvent
+                  'span-direction
+                  -1)))
+        (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 5 0))
+                (make-music
+                  'SlurEvent
+                  'span-direction
+                  1)))))
+@end example
+
+Eine schlechte Nachricht ist, dass die
+@code{SlurEvent}-Ausdrücke @qq{innerhalb}
+der Noten (bzw. innerhalb der
+@code{EventChord}-Ausdrücke) hinzugefügt werden müssen.
+
+Jetzt folgt eine Betrachtung der Eingabe:
+
+@example
+(make-music
+  'SequentialMusic
+  'elements
+  (list (make-music
+          'EventChord
+          'elements
+          (list (make-music
+                  'NoteEvent
+                  'duration
+                  (ly:make-duration 2 0 1 1)
+                  'pitch
+                  (ly:make-pitch 0 5 0))))))
+@end example
+
+In der gewünschten Funktion muss also dieser Ausdruck
+kopiert werden (sodass zwei Noten vorhanden sind, die
+eine Sequenz bilden), dann müssen @code{SlurEvent}
+zu der @code{'elements}-Eigenschaft jeder Noten hinzugefügt
+werden, und schließlich muss eine @code{SequentialMusic}
+mit den beiden @code{EventChords} erstellt werden.
+
+@example
+doubleSlur = #(define-music-function (parser location note) (ly:music?)
+         "Return: @{ note ( note ) @}.
+         `note' is supposed to be an EventChord."
+         (let ((note2 (ly:music-deep-copy note)))
+           (set! (ly:music-property note 'elements)
+                 (cons (make-music 'SlurEvent 'span-direction -1)
+                       (ly:music-property note 'elements)))
+           (set! (ly:music-property note2 'elements)
+                 (cons (make-music 'SlurEvent 'span-direction 1)
+                       (ly:music-property note2 'elements)))
+           (make-music 'SequentialMusic 'elements (list note note2))))
+@end example
+
+
+@node Artikulationszeichen zu Noten hinzufügen (Beispiel)
+@subsection Artikulationszeichen zu Noten hinzufügen (Beispiel)
+@translationof Adding articulation to notes (example)
+
+Am einfachsten können Artikulationszeichen zu Noten
+hinzugefügt werden, indem man zwei musikalische Funktionen
+in einen Kontext einfügt, wie erklärt in
+@ruser{Kontexte erstellen}.  Hier soll jetzt eine musikalische
+Funktion entwickelt werden, die das vornimmt.
+
+Eine @code{$variable} innerhalb von @code{#@{...#@}} ist das
+gleiche wie die normale Befehlsform @code{\variable} in
+üblicher LilyPond-Notation.  Es ist bekannt dass
+
+@example
+@{ \music -. -> @}
+@end example
+
+@noindent
+in LilyPond nicht funktioniert.  Das Problem könnte vermieden
+werden, indem das Artikulationszeichen an eine Pseudonote
+gehängt wird:
+
+@example
+@{ << \music s1*0-.-> @}
+@end example
+
+@noindent
+aber in diesem Beispiel soll gezeigt werden, wie man das in
+Scheme vornimmt.  Zunächst wird die Eingabe und die gewünschte
+Ausgabe examiniert:
+
+@example
+%  Eingabe
+\displayMusic c4
+===>
+(make-music
+  'EventChord
+  'elements
+  (list (make-music
+          'NoteEvent
+          'duration
+          (ly:make-duration 2 0 1 1)
+          'pitch
+          (ly:make-pitch -1 0 0))))
+=====
+%  gewünschte Ausgabe
+\displayMusic c4->
+===>
+(make-music
+  'EventChord
+  'elements
+  (list (make-music
+          'NoteEvent
+          'duration
+          (ly:make-duration 2 0 1 1)
+          'pitch
+          (ly:make-pitch -1 0 0))
+        (make-music
+          'ArticulationEvent
+          'articulation-type
+          "marcato")))
+@end example
 
+Dabei ist zu sehen, dass eine Note (@code{c4}) als @code{EventChord}
+repräsentiert ist, mit einem @code{NoteEvent}-Ausdruck in ihrer
+Elementenliste.  Um eine Marcato-Artikulation hinzuzufügen, muss
+ein @code{ArticulationEvent}-Ausdruck zu der Elementeigenschaft
+des @code{EventChord}-Ausdrucks hinzugefügt werden.
+
+Um diese Funktion zu bauen, wird folgendermaßen begonnen:
+
+@example
+(define (add-marcato event-chord)
+  "Add a marcato ArticulationEvent to the elements of `event-chord',
+  which is supposed to be an EventChord expression."
+  (let ((result-event-chord (ly:music-deep-copy event-chord)))
+    (set! (ly:music-property result-event-chord 'elements)
+          (cons (make-music 'ArticulationEvent
+                  'articulation-type "marcato")
+                (ly:music-property result-event-chord 'elements)))
+    result-event-chord))
+@end example
+
+Die erste Zeile definiert eine Funktion in Scheme: Die Bezeichnung
+der Funktion ist @code{add-marcato} und sie hat eine Variable
+mit der Bezeichnung @code{event-chord}.  In Scheme geht der Typ
+einer Variable oft direkt aus der Bezeichnung hervor (das ist auch
+eine gute Methode für andere Programmiersprachen).
+
+@example
+"Add a marcato..."
+@end example
+
+@noindent
+ist eine (englische) Beschreibung, was diese Funktion tut.  Sie ist
+nicht unbedingt notwendig, aber genauso wie klare Variablen-Bezeichnungen
+ist auch das eine gute Methode.
+
+@example
+(let ((result-event-chord (ly:music-deep-copy event-chord)))
+@end example
+
+@code{let} wird benutzt, um die lokalen Variablen zu definieren.  Hier
+wird eine lokale Variable benutzt: @code{result-event-chord}.  Sie erhält
+den Wert @code{(ly:music-deep-copy event-chord)}.  @code{ly:music-deep-copy}
+ist eine LilyPond-spezifische Funktion, die wie alle Funktionen mit dem
+Präfix @code{ly:} versehen ist.  Sie wird benutzt, um eine Kopie eines
+musikalischen Ausdrucks anzufertigen.  Hier wird @code{event-chord}
+(der Parameter der Funktion) kopiert.  Die Funktion soll ja nur ein
+Artikulationszeichen an einen @code{EventChord} gehängt werden, deshalb ist es besser,
+den @code{EventChord}, der als Argument gegeben wurde, nicht zu
+verändern, weil er woanders benutzt werden könnte.
+
+Jetzt gibt es @code{result-event-chord}, wobei es sich um einen
+@code{NoteEventChord}-Ausdruck handelt, welcher gleichzeitig eine Kopie
+von @code{event-chord} ist.  Das Makro wird seiner Eigenschaftsliste
+hinzugefügt:
+
+@example
+(set! place new-value)
+@end example
+
+Was in diesem Fall @qq{gesetzt} werden soll (@qq{place}) ist die
+@q{elements}-Eigenschaft des @code{result-event-chord}-Ausdrucks.
+
+@example
+(ly:music-property result-event-chord 'elements)
+@end example
+
+@code{ly:music-property} ist die Funktion, mit der musikalische
+Eigenschaften erreicht werden können (die @code{'elements},
+@code{'duration}, @code{'pitch} usw., die in der Ausgabe von
+@code{\displayMusic} weiter oben angezeigt werden).  Der neue
+Wert ist, was ehemals die Elementeigenschaft war, mit einem
+zusätzlichen Element: dem @code{ArticulationEvent}-Ausdruck,
+der aus der Ausgabe von
+@code{\displayMusic} kopiert werden kann:
+
+@example
+(cons (make-music 'ArticulationEvent
+        'articulation-type "marcato")
+      (ly:music-property result-event-chord 'elements))
+@end example
+
+@code{cons} wird benutzt, um ein Element zu einer Liste hinzuzufügen,
+ohne dass die originale Liste verändert wird.  Das ist es, was die
+Funktion tun soll:  die gleiche Liste, aber mit dem neuen
+@code{ArticulationEvent}-Ausdruck.  Die Reihenfolge innerhalb
+der Elementeeigenschaft ist hier nicht relevant.
+
+Wenn schließlich die Marcato-Artikulation zu der entsprechenden
+@code{elements}-Eigenschaft hinzugefügt ist, kann
+@code{result-event-chord} ausgegeben werden, darum die letzte Zeile
+der Funktion.
+
+Jetzt wird die @code{add-marcato}-Funktion in eine musikalische
+Funktion umgewandelt:
+
+@example
+addMarcato = #(define-music-function (parser location event-chord)
+                                     (ly:music?)
+    "Add a marcato ArticulationEvent to the elements of `event-chord',
+    which is supposed to be an EventChord expression."
+    (let ((result-event-chord (ly:music-deep-copy event-chord)))
+      (set! (ly:music-property result-event-chord 'elements)
+            (cons (make-music 'ArticulationEvent
+                    'articulation-type "marcato")
+                  (ly:music-property result-event-chord 'elements)))
+      result-event-chord))
+@end example
+
+Eine Überprüfung, dass die Funktion richtig arbeitet, geschieht
+folgendermaßen:
+
+@example
+\displayMusic \addMarcato c4
+@end example
+
+
+
+
+
+
+@ignore
 
 @menu
 * Optimierungen mit Scheme::
 @end menu
 
-@node Optimierungen mit Scheme
-@appendixsec Optimierungen mit Scheme
-@translationof Tweaking with Scheme
+@node Optimierungen mit Scheme
+@appendixsec Optimierungen mit Scheme
+@translationof Tweaking with Scheme
 
 Wir haben gesehen wie LilyPond-Eingabe massiv beeinflusst
 werden kann, indem Befehle wie etwa
@@ -295,7 +1411,7 @@ 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?)
 #{
@@ -310,7 +1426,7 @@ padText = #(define-music-function (parser location padding) (number?)
   c4^"piu mosso" fis a g
 }
 @end lilypond
-@end ignore
+
 
 Es kann auch benutzt werden, um Befehle zu erstellen:
 
@@ -346,5 +1462,5 @@ pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
   \pattern {d16 dis} { ais16-> b\p }
 }
 @end lilypond
-
+@end ignore
 
index ea4fb5b02c46eedba5148f804ca18ee34625309d..fa710e5d0dbc6beeed74d46117e30a0345554c7d 100644 (file)
@@ -2,7 +2,7 @@
 @c This file is part of community.itexi and ../topdocs/AUTHORS.itexi
 
 @ignore
-    Translation of GIT committish:  144cd434d02e6d90b2fb738eeee99119a7c5e1d2
+    Translation of GIT committish:  aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -70,7 +70,7 @@ Fonts, bug squasher
 
 @item John Mandereau:
 @email{john.mandereau@@free.fr},
-Translation meister
+Translations
 
 @item Patrick McCarty:
 SVG guru, bug squad member, bug squasher, text handling
@@ -107,7 +107,7 @@ Core developer, Schemer extraordinaire
 Core developer, Frog meister
 
 @item Francisco Vila:
-Translations
+Translation Meister
 
 @item Valentin Villenave:
 LSR editor and Bug squad member
@@ -126,6 +126,10 @@ LSR editor and Bug squad member
 @item Pedro Kroeger:
 Build meister
 
+@item John Mandereau:
+@email{john.mandereau@@free.fr},
+Translation meister
+
 @item Graham Percival:
 @uref{http://percival-music.ca},
 Bug meister, Grand Documentation Project leader
index 03396ff5174fc6865be69b5db9901654ecc32101..bfb3b23aeab9513910e6009bfe01c01aa7bd95ee 100644 (file)
@@ -823,7 +823,10 @@ als Partituren mit unterschiedlichen Taktarten.
 @funindex GrandStaff
 @funindex ChoirStaff
 
-Glossar: @rglos{brace}.
+Glossar:
+@rglos{brace},
+@rglos{staff},
+@rglos{system}.
 
 Musik für das Klavier wird üblicherweise auf zwei Systemen notiert,
 die durch eine @notation{geschweifte Klammer} verbunden sind
index 4067e1e9d84556867c9aa9dc35d77835bcc8696e..28253279aa5c3ff0a2518148bf348d16c17a6cf1 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -1605,17 +1605,13 @@ wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
 beginnt, den @var{muskalischen Ausdruck} innerhalb dieses
 Kontexts auszuwerten.
 
-(Beachten Sie, dass man normalerweise keinen @code{\new Score}-Befehl
-braucht: der Partitur-(Score)-Kontext der obersten Ebene wird
-normalerweise automatisch erstellt, wenn der musikalische Ausdruck
-innerhalb der @code{\score}-Umgebung interpretiert wird.  Der
-einzige Grund, einen @code{Score}-Kontext explizit mit
-@code{\new Score} zu erstellen ist es, wenn man eine @code{\with}-Umgebung
-beginnen will, in der man eine oder mehrere Partitur-weite
-Standardwerte definiert werden.  Information über die Benutzung
-von @code{\with}-Umgebungen finden sich unter der Unterüberschrift
-@qq{Kontexteigenschaften mit @code{\\with} setzen} in
-@ref{Kontexteigenschaften verändern}.)
+@warning{Der @bs{}@code{new Score}-Befehl sollte nicht benutzt werden,
+weil der Partitur-(Score)-Kontext der obersten Ebene
+normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck
+innerhalb der @code{\score}-Umgebung interpretiert wird.  Standard-Werte
+von Kontexteigenschaften, die für einen bestimmten @code{Score} gelten
+sollen, können innerhalb der @bs{}@code{layout}-Umgebung definiert werden.
+Siehe @ref{Kontexteigenschaften verändern}.}
 
 Wir haben schon viele explizite Beispiel gesehen, in denen
 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
@@ -2051,27 +2047,6 @@ etwa so:
 >>
 @end lilypond
 
-Oder, wenn das @code{\override} für die Eigenschaft auf alle
-Notensysteme innerhalb der Partitur gelten soll, kann es auch
-direkt an ein @code{\new Score} gehängt werden, wie etwa hier:
-
-@lilypond[quote,verbatim,ragged-right]
-\score {
-  \new Score \with { extraNatural = ##f } <<
-    \new Staff {
-      \relative c'' {
-        gis4 ges aes ais
-      }
-    }
-    \new Staff {
-      \relative c'' {
-        gis4 ges aes ais
-      }
-    }
-  >>
-}
-@end lilypond
-
 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden,
@@ -2104,7 +2079,7 @@ eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
 von einer @code{\layout}-Umgebung steht.  Jede @code{\context}-Umgebung
 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
 aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}-
-oder @code{\book}-Umgebung.  Hier ist ein Beispiel, wie man diese
+oder @code{\book}-Umgebung).  Hier ist ein Beispiel, wie man diese
 Funktion anwendet:
 
 @lilypond[verbatim,quote]
@@ -2123,6 +2098,31 @@ Funktion anwendet:
 }
 @end lilypond
 
+Wenn die Veränderung der Eigenschaft sich auf alle Systeme einer
+@code{score}-Umgebung beziehen soll:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff {
+      \relative c'' {
+        gis4 ges aes ais
+      }
+    }
+    \new Staff {
+      \relative c'' {
+        gis4 ges aes ais
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score extraNatural = ##f
+    }
+  }
+}
+@end lilypond
+
 @noindent
 Kontext-Eigenschaften, die auf diese Weise gesetzt werden, können für 
 bestimmten Kontexte überschrieben werden, indem die 
@@ -3216,6 +3216,10 @@ PedalOrganMusic = \relative c {
 }  % end Score context
 @end lilypond
 
+@seealso
+Glossar:
+@rglos{system}.
+
 
 @node Tipparbeit durch Variablen und Funktionen ersparen
 @subsection Tipparbeit durch Variablen und Funktionen ersparen
index c8c66a383e4102878ebc414f3094adf383d47613..0f42cd94917924698cc189f1a4653ce484f8a847 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: 940a3955254888e14a8c5ef7e835225e5cc3852c
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @node Vorwort
 @unnumbered Vorwort
index a7d78e5e24e26895e9fb208d1b82c30ec287b142..fc9cd39006fcc34cfa620d575ca9ad9df6136324 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -208,7 +208,7 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print
 
 @ The `line-width' is for \header.
 @li lypond[quote,verbatim,ragged-right,line-width]
-\version "2.12.0"
+\version "2.13.36"
 \header {
   dedication = "dedication"
   title = "Title"
index f5686450f0551c049f139bf80dabe7eafc4f9e6c..414b50ae0f0c5d5d808bdfed6d1a6692a1c78ef4 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: 4f7427e7a314a71bde16559247885544256b8213
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
index 3150ecd02fe2a4896012473105d51fb6891c4adf..aa49cde567a102256b8db6d4175b8772fc53f9a3 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -3895,6 +3895,10 @@ schiebt aber die folgende Bezeichnung in die Höhe, während
 das im zweiten Beispiel, in dem der @code{stencil} entfernt
 wurde, nicht passiert.
 
+@seealso
+Glossar:
+@rglos{system}.
+
 
 @node Variablen für Optimierungen einsetzen
 @subsection Variablen für Optimierungen einsetzen
@@ -4473,14 +4477,23 @@ 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.
 
+Damit diese Tests immer funktionieren, müssen sie aktiviert werden,
+indem die @bs{}@code{override}-Befehle in einer @code{context}-Umgebung
+innerhalb der @code{layout}-Umgebung notiert werden und nicht innerhalb
+der Noten:
+
 @example
-\new Score \with @{
+\score @{
+  @{ @dots{}Noten@dots{} @}
+  \layout @{
+    \context @{
+      \Score
  %  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
 
index 9cda46e7cf1ad0a4b1d5127a12d09085be45a2dd..505f2f4ae6c9d673fb4464dd709a0f39a7482b11 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -117,8 +117,7 @@ dafür, dass Elemente wie Schlüssel und Taktart- oder Tonartbezeichnungen
 
 Ein @code{Score}-Kontext wird eingerichtet, wenn eine
 @code{\score @{@dots{}@}} oder @code{\layout @{@dots{}@}}-Umgebung
-interpretiert wird, oder explizit mit dem @code{\new Score}-Befehl.
-
+interpretiert wird.
 
 @node Oberste Kontexte -- Container für Systeme
 @unnumberedsubsubsec Oberste Kontexte -- Container für Systeme
@@ -652,26 +651,32 @@ jedes System eine unterschiedliche Taktart hat:
 @cindex Taktarten, mehrere in Partitur
 @cindex Taktarten, unterschiedliche per System
 
-@lilypond[quote,relative=1,ragged-right,verbatim,fragment]
-\new Score \with {
-  \remove "Timing_translator"
-  \remove "Default_bar_line_engraver"
-} <<
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff \with {
+      \consists "Timing_translator"
+      \consists "Default_bar_line_engraver"
+    } {
+        \time 3/4
+        c4 c c c c c
+    }
   \new Staff \with {
     \consists "Timing_translator"
     \consists "Default_bar_line_engraver"
   } {
-      \time 3/4
+      \time 2/4
       c4 c c c c c
   }
-  \new Staff \with {
-    \consists "Timing_translator"
-    \consists "Default_bar_line_engraver"
-  } {
-       \time 2/4
-       c4 c c c c c
-  }
 >>
+\layout {
+  \context {
+    \Score
+    \remove "Timing_translator"
+    \remove "Default_bar_line_engraver"
+    }
+  }
+}
 @end lilypond
 
 @knownissues
@@ -737,16 +742,16 @@ Es ist nicht möglich, Kontextänderungen als Variable zu definieren und
 sie dann in der @code{\context}-Definition anzuwenden, indem man die
 Variable aufruft.
 
-Der Befehl @code{\RemoveEmptyStaffContext} überschreibt die
+Der Befehl @code{\Staff \RemoveEmptyStaves} überschreibt die
 aktuellen Einstellungen für @code{Staff}.  Wenn die Einstellungen
-für Systeme verändert werden sollen, die @code{\RemoveEmptyStaffContext}
+für Systeme verändert werden sollen, die @code{\Staff \RemoveEmptyStaves}
 benutzen, müssen die Veränderungen gemacht werden, nachdem
-@code{\RemoveEmptyStaffContext} aufgerufen wurde, etwa:
+@code{\Staff \RemoveEmptyStaves} aufgerufen wurde, etwa:
 
 @example
 \layout @{
   \context @{
-    \RemoveEmptyStaffContext
+    \Staff \RemoveEmptyStaves
 
     \override Stem #'thickness = #4.0
   @}
@@ -1222,7 +1227,7 @@ eigentlich handelt es sich nicht um sehr viel.  Die Initialisierungsdatei
      (script-priority . 100)
      (stencil . ,ly:text-interface::print)
      (direction . ,ly:script-interface::calc-direction)
-     (font-encoding . fetaNumber)
+     (font-encoding . fetaText)
      (font-size . -5)          ; don't overlap when next to heads.
      (meta . ((class . Item)
      (interfaces . (finger-interface
@@ -1441,7 +1446,7 @@ folgenden Beispiel
 @lilypond[quote,fragment,verbatim,relative=2]
 \override Slur #'thickness = #3.0
 c8[( c
-\override Beam #'thickness = #0.6
+\override Beam #'beam-thickness = #0.6
 c8 c])
 @end lilypond
 
@@ -2153,7 +2158,7 @@ nachfolgenden Gesangstext mit der vorhergehenden Musik verknüpft.
 
 Man erreicht ihn mit dem Befehl @code{\markup}.  Die Eingabe wird
 entsprechend der Syntax für Textbeschriftung interpretiert, siehe
-@ref{Text markup commands}.
+@ref{Textbeschriftungsbefehle}.
 
 @c silly work-around for texinfo broken-ness
 @c (@strong{Note...} causes a spurious cross-reference in Info)
@@ -2600,7 +2605,7 @@ Im Fall eines Zeilenumbruchs werden die Werte der Endpunkte
 in den Unterlisten @code{left-broken} bzw. @code{right-broken}
 von @code{bound-details} abgelegt.  Zum Beispiel:
 
-@lilypond[relative=2,ragged-right,verbatim,fragment]
+@lilypond[relative=2,ragged-right,verbatim,quote]
 \override Glissando #'breakable = ##t
 \override Glissando #'(bound-details right-broken Y) = #-3
 c1 \glissando \break
@@ -2661,7 +2666,7 @@ definiert) zentriert, ausgegeben.  Wenn entweder
 gesetzt werden, wird das Symbol am Rand vertikal entsprechend
 des Endpunktes der Linie verschoben:
 
-@lilypond[relative=1,fragment,verbatim]
+@lilypond[relative=1,quote,verbatim]
 \override TextSpanner
   #'(bound-details left stencil-align-dir-y) = #-2
 \override TextSpanner
@@ -3129,7 +3134,7 @@ im gewünschten Linienstil.
 Hier einige Beispiele, welche Linienstile möglich sind
 und wie sie verändert werden können:
 
-@lilypond[relative=2,ragged-right,verbatim,fragment]
+@lilypond[relative=2,ragged-right,verbatim,quote]
 d2 \glissando d'2
 \once \override Glissando #'style = #'dashed-line
 d,2 \glissando d'2
@@ -3145,8 +3150,8 @@ Die Position der Endpunkte des Streckers werden in
 Realzeit für jedes graphische Objekt errechnet, aber
 es ist möglich, sie manuell vorzugeben:
 
-@c FIXME Complete
-@lilypond[relative=2,ragged-right,verbatim,fragment]
+@c TODO Complete
+@lilypond[relative=2,ragged-right,verbatim,quote]
 e2 \glissando f
 \once \override Glissando #'(bound-details right Y) = #-2
 e2 \glissando f
index e0f61df97e5717834a2107e90cc032b6322864a3..4a3931ffba325ea2832a6a06831775e0aa3822cd 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -515,7 +515,7 @@ mit der @code{noChordSymbol}-Beschriftung darstellt.
     g1
     c1
   }
-  \new Score \chordmode {
+  \chordmode {
     c1
     r1
     g1
index 6672e86b890747897921d94d77fcb943f1b1dca4..6e87929fc85acdc5d552f831ebe86f56dfb19766 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -155,7 +155,7 @@ Referenz der Interna:
 @funindex finger
 
 Fingersatzanweisungen können folgenderweise notiert werden:
-@var{Note}-@var{Zahl}
+@samp{Note}-@var{Zahl}
 
 @lilypond[verbatim,quote,relative=2]
 c4-1 d-2 f-4 e-3
@@ -314,8 +314,8 @@ e
 
 Die ganze Farbpalette, die für X11 definiert ist, kann mit der
 Scheme-Funktion @code{x11-color} benutzt werden.  Diese Funktion
-hat ein Argument: entweder ein Symbol in der Form @var{'FooBar}
-oder eine Zeichenkette in der Form @code{"FooBar"}.  Die erste
+hat ein Argument: entweder ein Symbol in der Form @code{'@var{FooBar}}
+oder eine Zeichenkette in der Form @code{"@var{FooBar}"}.  Die erste
 Form ist schneller zu schreiben und effizienter.  Mit der zweiten
 Form ist es allerdings möglich, auch Farbbezeichnungen einzusetzen,
 die aus mehr als einem Wort bestehen.
index 3ab89da4ed01f7b08a44a01cccc9e67d64c5c465..47bcdf1a882c95ae87683509adfbdd0c2cebd988 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -576,7 +576,7 @@ gewünschten Bunddiagramm.  Es gibt drei unterschiedliche
 Darstellungsarten: normal, knapp und ausführlich.  Die drei
 Arten erzeugen die gleiche Ausgabe, aber mit jeweils mehr oder
 weniger Einzelheiten.  Einzelheiten zu Textbeschriftungsbefehlen
-findet sich in @ref{Text markup commands}.
+findet sich in @ref{Textbeschriftungsbefehle}.
 
 Die Standard-Bunddiagrammbeschriftung beinhaltet die Saitennummer
 und die Bundnummer für jeden Punkt, der notiert werden soll.
@@ -963,7 +963,7 @@ Schnittstelle gehören dem @code{Voice.TextScript}-Kontext an.
 
 @seealso
 Notationsreferenz:
-@ref{Text markup commands}.
+@ref{Textbeschriftungsbefehle}.
 
 Schnipsel:
 @rlsr{Fretted strings}.
@@ -1317,7 +1317,7 @@ werden.
 
 \storePredefinedDiagram #default-fret-table <c e g c' e'>
                         #guitar-tuning
-                        #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
+                        #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
 <<
   \context ChordNames {
     \chordmode {
@@ -1371,6 +1371,8 @@ Fingersatz kann zu FretBoard-Bunddiagrammen hinzugefügt werden.
 >>
 @end lilypond
 
+@funindex minimumFret
+
 Der kleinste Bund, der benutzt wird, um Saiten und Bünde im
 FretBoard-Kontext zu errechnen, kann mit der
 @code{minimumFret}-Eigenschaft gesetzt werden.
@@ -1460,7 +1462,7 @@ werden und ein Leerzeichen nach dem schließenden @code{>}.}
 <g-\rightHandFinger #3 >
 <c-\rightHandFinger #4 >
 <c,-\rightHandFinger #1 e-\rightHandFinger #2
 g-\rightHandFinger #3 c-\rightHandFinger #4 >1
+ g-\rightHandFinger #3 c-\rightHandFinger #4 >1
 @end lilypond
 
 Zur Erleichterung kann der Befehl @code{\rightHandFinger} zu ein paar
@@ -1503,6 +1505,7 @@ werden.
 @menu
 * Position und Barré anzeigen::
 * Flageolett und gedämpfte Noten::
+* Powerakkorde anzeigen::
 @end menu
 
 @node Position und Barré anzeigen
@@ -1519,13 +1522,13 @@ werden.
 Das Beispiel zeigt, wie man Griff- und Barréposition
 notieren kann.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=0]
+@lilypond[quote,ragged-right,verbatim,relative=0]
 \clef "treble_8"
 b16 d g b e
 \textSpannerDown
 \override TextSpanner #'(bound-details left text) = #"XII "
-  g16\startTextSpan
-  b16 e g e b g\stopTextSpan
+g16\startTextSpan
+b16 e g e b g\stopTextSpan
 e16 b g d
 @end lilypond
 
@@ -1623,6 +1626,90 @@ Schnipsel:
 @rlsr{Fretted strings}.
 
 
+@node Powerakkorde anzeigen
+@unnumberedsubsubsec Powerakkorde anzeigen
+@translationof Indicating power chords
+
+@funindex powerChords
+@funindex \powerChords
+
+@cindex Powerakkorde
+@cindex Powerchords
+
+Powerakkorde und ihre Symbole können im Akkordmodus oder als Akkordkonstruktionen
+gesetzt werden:
+
+@lilypond[quote,ragged-right,verbatim]
+ChordsAndSymbols = {
+  \chordmode {
+    \powerChords
+    e,,1:1.5
+    a,,1:1.5.8
+    \set minimumFret = #8
+    c,1:1.5
+    f,1:1.5.8
+  }
+  \set minimumFret = #5
+  <a, e>1
+  <g d' g'>1
+}
+\score {
+  <<
+    \new ChordNames {
+    \ChordsAndSymbols
+    }
+    \new Staff {
+      \clef "treble_8"
+      \ChordsAndSymbols
+    }
+    \new TabStaff {
+      \ChordsAndSymbols
+    }
+  >>
+}
+@end lilypond
+
+Powerakkord-Symbole werden automatisch ausgeschaltet, wenn einer der anderen
+normalen Akkord-Modifikatoren verwendet wird:
+
+@lilypond[quote,ragged-right,verbatim]
+mixedChords = \chordmode {
+  c,1
+  \powerChords
+  b,,1:1.5
+  fis,,1:1.5.8
+  g,,1:m
+}
+\score {
+  <<
+    \new ChordNames {
+      \mixedChords
+    }
+    \new Staff {
+      \clef "treble_8"
+      \mixedChords
+    }
+    \new TabStaff {
+      \mixedChords
+    }
+  >>
+}
+@end lilypond
+
+@seealso
+Glossar:
+@rglos{power chord}.
+
+Notationsreferenz:
+@ref{Erweiterte und modifizierte Akkorde},
+@ref{Akkordbezeichnungen drucken}.
+
+Schnipsel:
+@rlsr{Fretted strings}.
+
+
+
+
 @node Banjo
 @subsection Banjo
 @translationof Banjo
index c24a22df0f082c8e29c93d8e45df1c0132fed5b1..9a122763c45de8b46ec56e6bc26ff71532397e66 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -1938,15 +1938,11 @@ entfernen, müssen folgende Zeilen eingefügt werden:
 
 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
-@code{\score} beginnt.  Wenn eine Partitur explizit etwa mit
-@code{\new Score} begonnen wird, und sich die MIDI-Umgebung hierin
-befindet, wird keine Ausgabe produziert.  Eine Lösung ist es, sowohl
-die @code{\new Score}- als auch die @code{\midi}-Umgebungen in eine
-@code{\score}-Umgebung einzuschließen.
+@code{\score} beginnt.
 
 @example
 \score @{
-  \new Score @{ @dots{}Noten@dots{} @}
+  @{ @dots{}Noten@dots{} @}
   \midi @{ @}
 @}
 @end example
index f5e190d2f913c80170a0a9fb57f5864ed061cd88..aab6edf46ac573601aa86d0b8e3731480e39e8b8 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -200,11 +200,11 @@ Kleine MollSept
 @tab
 Molldreiklang, große Septime
 @tab
-@code{maj7.3-}
+@code{m7+}
 @tab
 @lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
-  c1:maj7.5-
+  c1:m7+
 }
 @end lilypond
 
@@ -390,6 +390,34 @@ perfekte Quarte, perfekte Quinte
 }
 @end lilypond
 
+@item
+Powerakkord (zweistimmig)
+@tab
+Perfekte Quinte
+@tab
+@code{1.5}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+  \powerChords
+  c1:1.5
+}
+@end lilypond
+
+@item
+Powerakkord (dreistimmig)
+@tab
+Perfekte Quinte, Oktave
+@tab
+@code{1.5.8}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+  \powerChords
+  c1:1.5.8
+}
+@end lilypond
+
 
 @end multitable
 
@@ -1382,8 +1410,8 @@ Referenz der Interna:
 @include identifiers.tely
 
 
-@node Vordefinierte Typprädikate
-@appendixsec Vordefinierte Typprädikate
+@node Vordefinierte Typenprädikate
+@appendixsec Vordefinierte Typenprädikate
 @translationof Predefined type predicates
 
 @include type-predicates.tely
index f0118d988e785c07cbc6ae5cb1e576bbf41f996e..b545940bbac044f29d843919ed453a8983beb96e 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -32,7 +32,7 @@ Standardnotationspraxis für Wiederholungen mit alternativen Schlüssen.
 
 @item unfold (aufklappen)
 Die wiederholte Musik wird ausgeschrieben, so oft, wie es durch
-@var{Wiederholungszähler} definiert wird.  Das erspart Arbeit,
+@code{@var{Wiederholungszähler}} definiert wird.  Das erspart Arbeit,
 wenn repetitive Musik notiert wird.
 
 @item percent (Prozent-Wiederholung)
@@ -87,7 +87,7 @@ Die Syntax für normale Wiederholungen ist
 @end example
 
 @noindent
-wobei @var{musikAusdr} ein musikalischer Ausdruck ist.
+wobei @code{@var{musikAusdr}} ein musikalischer Ausdruck ist.
 
 Wiederholung ohne alternativen Schluß:
 
@@ -110,7 +110,7 @@ müssen sie in geschweiften Klammern zusammengefasst werden.
 @end example
 
 @noindent
-wobei @var{musikAusdr} ein musikalischer Ausdruck ist.
+wobei @code{@var{musikAusdr}} ein musikalischer Ausdruck ist.
 
 Wenn
 es mehr Wiederholungen gibt, als Alternativen angegeben sind, erhalten
@@ -460,9 +460,9 @@ um repetitive Musik zu notieren.  Die Syntax ist
 @end example
 
 @noindent
-wobei @var{musikAusdr} ein musikalischer Ausdruck ist und
-@var{Wiederholungszähler} die Anzahl bezeichnet, mit der
-@var{musikAusdr} wiederholt wird.
+wobei @code{@var{musikAusdr}} ein musikalischer Ausdruck ist und
+@code{@var{Wiederholungszähler}} die Anzahl bezeichnet, mit der
+@code{@var{musikAusdr}} wiederholt wird.
 
 @lilypond[verbatim,quote,relative=2]
 \repeat unfold 2 { c4 d e f }
@@ -570,11 +570,11 @@ Muster wird durch ein besonderes Zeichen ersetzt.
 Die Syntax lautet:
 
 @example
-@code{\repeat percent @var{Wiederholungszahl} @var{musikAusdr}}
+\repeat percent @var{Wiederholungszahl} @var{musikAusdr}
 @end example
 
 @noindent
-wobei @var{musikAusdr} ein musikalischer Ausdruck ist.
+wobei @code{@var{musikAusdr}} ein musikalischer Ausdruck ist.
 
 Muster, die kürzer als ein Takt sind, werden mit Schrägstrichen
 ersetzt:
@@ -690,7 +690,7 @@ eingeklammert:
 @funindex :
 
 Die gleiche Darstellung wird erreicht, indem nach der Note
-@qq{@code{:}[@var{Zahl}]} geschrieben wird.  Die Zahl zeigt
+@code{:@var{Zahl}} geschrieben wird.  Die Zahl zeigt
 die Dauer der Unterteilung an, und sie muss mindestens den
 Wert 8 haben.  Ein Wert von 8 ergibt einen Balken durch den
 Notenhals.  Wenn die Zahl ausgelassen wird, wird der letzte
index 15f9b8af64163c8ac48e86a65146f8ea968d8c77..a78a235b2a595e9c72c1a75485d5d534a86b7f53 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 @ignore
-    Translation of GIT committish: 144cd434d02e6d90b2fb738eeee99119a7c5e1d2
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -599,7 +599,6 @@ Referenz der Interna:
 @rinternals{Tie}.
 
 @knownissues
-
 Der Wechsel zwischen Systemen bei aktiver Überbindung produziert keinen
 gekrümmten Bogen.
 
@@ -642,12 +641,12 @@ den Noten notiert.
 @funindex breve
 
 Pausen werden wie Noten eingegeben, ihre Bezeichnung ist @code{r}.
-Dauern, die länger als eine Ganze sind, haben die gezeigten
+Dauern, die länger als eine Ganze sind, haben die
 vordefinierten Befehle:
 
 @c \time 16/1 is used to avoid spurious bar lines
 @c and long tracts of empty measures
-@lilypond[quote,verbatim]
+@lilypond[quote,verbatim,relative=2]
 \new Staff {
   % These two lines are just to prettify this example
   \time 16/1
@@ -763,7 +762,7 @@ der folgenden Noten aus, anders als@tie{}@code{s}.
 @lilypond[quote,verbatim,relative=2]
 <<
   {
-    \repeat unfold 8 {a4}
+    \repeat unfold 8 { a4 }
   }
   {
     a4 \skip 2 a |
@@ -775,14 +774,14 @@ der folgenden Noten aus, anders als@tie{}@code{s}.
 Die Platzhalterpause mit @code{s} erstellt @code{Staff}- und
 @code{Voice}-Kontext, wenn es erforderlich ist, genauso wie Noten und Pausen.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 s1 s s
 @end lilypond
 
 Der Überspringungsbefehl (@code{\skip}) ist einfach ein leerer Platzhalter.
 Durch ihn wird überhaupt nichts gesetzt, auch keine transparenten Objekte.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This is valid input, but does nothing
 \skip 1 \skip1 \skip 1
 @end lilypond
@@ -832,7 +831,7 @@ Dauer von Noten.  Die Dauer einer Ganztaktpause muss immer
 eine ganze Anzahl an Taktlängen sein, weshalb Punktierungen
 und Brüche recht häufig eingesetzt werden müssen.
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \compressFullBarRests
 \time 2/4
 R1 | R2 |
@@ -847,7 +846,7 @@ R4*5*4 |
 Eine Ganztaktpause wird abhängig von der Taktart entweder als
 Ganze oder Brevis-Pause gesetzt, zentriert im Takt.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \time 4/4
 R1 |
 \time 6/4
@@ -873,7 +872,7 @@ aber auch nur in einem Takt angezeigt werden, der ein
 Mehrtaktpausensymbol beinhaltet, wobei die Anzahl der Takte
 der Pausendauer über dem Pausenzeichen ausgegeben wird:
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
 % Default behavior
 \time 3/4 r2. | R2.*2 |
 \time 2/4 R2 |
@@ -904,7 +903,7 @@ hinzugefügt werden.  Ein
 vordefinierte Befehl @code{\fermataMarkup} fügt eine
 Fermate ein.
 
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
@@ -919,11 +918,11 @@ müssen auf das richtige Objekt gerichtet werden, damit sie
 nicht ignoriert werden.  Siehe auch das folgende Beispiel.
 }
 
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This fails, as the wrong object name is specified
 \override TextScript #'padding = #5
 R1^"wrong"
-% This is correct and works
+% This is the correct object name to be specified
 \override MultiMeasureRestText #'padding = #5
 R1^"right"
 @end lilypond
@@ -992,7 +991,6 @@ Referenz der Interna:
 @cindex Ganztaktpausen und Fingersatz
 
 @knownissues
-
 Wenn man versucht, mit Fingersatz (etwa @code{R1*10-4} Zahlen
 über Ganztaktpausen zu setzen, kann die Zahl des Fingersatzes
 (4) mit der Taktanzahl (10) zusammenstoßen.
@@ -1112,7 +1110,7 @@ werden.
       #'(3 1)    % beatStructure
       #'()       % beamExceptions
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
   }
 }
 @end lilypond
@@ -1139,21 +1137,20 @@ Veränderte Werte der Taktart-Eigenschaften können wieder auf den
 Standard zurückgesetzt werden:
 
 @lilypond[quote,verbatim]
-
 \score{
   \relative c' {
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
     \overrideTimeSignatureSettings
-      #'Score
-      #'(4 . 4)
-      #'(1 . 4)
-      #'(3 1)
-      #'((end . (((1 . 8) . (3 1)))))
+      #'Score                         % context
+      #'(4 . 4)                       % timeSignatureFraction
+      #'(1 . 4)                       % baseMomentFraction
+      #'(3 1)                         % beatStructure
+      #'((end . (((1 . 8) . (3 1))))) % beamExceptions
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
     \revertTimeSignatureSettings #'Score #'(4 . 4)
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
   }
 }
 @end lilypond
@@ -1385,10 +1382,10 @@ erwünscht. Mit den Befehlen @code{\cadenzaOn} und
 @code{\cadenzaOff} kann dieses Verhalten ausgeschaltet und
 wieder angeschaltet werden.
 
-@lilypond[verbatim,quote,relative=2,fragment]
+@lilypond[verbatim,relative=2,quote]
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
@@ -1402,12 +1399,31 @@ ob es die Kadenz nicht gegeben hätte:
 \override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
 @end lilypond
 
+@cindex Bebalkung in Kadenzen
+@cindex Bebalken in taktloser Musik
+@cindex Kadenzen, Bebalkung
+@cindex Balken in Kadenzen
+@cindex Taktlose Musik, Bebalkung
+
+@lilypond[verbatim,relative=2,quote]
+\repeat unfold 8 { c8 }
+\cadenzaOn
+\repeat unfold 5 { c8 }
+\bar"|"
+\cadenzaOff
+\repeat unfold 8 { c8 }
+@end lilypond
+
+Automatische Bebalkung wird durch @code{\cadenzeOn} ausgestellt und durch
+@code{\cadenzaOff} wieder angestellt.  Darum müssen alle Balken in Kadenzen
+manuell eingegeben werden (siehe @ref{Manuelle Balken}).
+
 Diese vordefinierten Befehle wirken sich auf alle Systeme in der
 Partitur aus, auch wenn sie nur in einer einzigen Stimme notiert werden.
 Um dieses Verhalten zu ändern, müsen Sie @code{Timing_translator}
@@ -1425,7 +1441,8 @@ Glossar:
 
 Notationsreferenz:
 @ref{Sichtbarkeit von Objekten},
-@ref{Polymetrische Notation}.
+@ref{Polymetrische Notation}
+@ref{Manuelle Balken}.
 
 Schnipsel:
 @rlsr{Rhythms}.
@@ -1447,13 +1464,16 @@ Sie müssen explizit einen @code{Voice}-Kontext erstellen, wenn
 Sie ein Stück mit @code{cadenzaOn} beginnen wollen, weil sonst
 ein seltsamer Fehler auftreten kann.
 
-@lilypond[verbatim,relative=2,fragment]
-\new Voice \relative c'{
-  \cadenzaOn
-  c16^"Solo Free Time" d e f g2. \bar "||"
-  \cadenzaOff
-}
-@end lilypond
+@example
+\new Voice @{
+  \relative c' @{
+    \cadenzaOn
+    c16[^"Solo Free Time" d e f] g2.
+    \bar "||"
+    \cadenzaOff
+  @}
+@}
+@end example
 
 
 @node Polymetrische Notation
@@ -1503,7 +1523,7 @@ System werden die gezeigten Dauern mit 3/5 multipliziert, da
 weil die Skalierung sich auch auf die automatische Bebalkung
 auswirkt.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim]
 \relative c' <<
   \new Staff {
     \time 3/4
@@ -1786,7 +1806,7 @@ LilyPond setzt Balken (engl. beam) automatisch.
 
 @lilypond[quote,verbatim,relative=2]
 \time 2/4 c8 c c c
-\time 6/8 c c c c8. c16 c8
+\time 6/8 c8 c c c8. c16 c8
 @end lilypond
 
 Wenn diese automatischen Entscheidungen nicht gut genug sind, können
@@ -1899,101 +1919,23 @@ Stimmen zusammenstoßen.
 @funindex \set
 @funindex set
 
-Die Platzierung der automatischen Bebalkung wird entsprechend
-der Kontexteigenschaften @code{baseMoment}, @code{beatStructure}, @code{beamExceptions} und @code{autoBeaming} entschieden.
+In den meisten Fällen enden automatische Balken am Ende eines Taktes.
+Die Endpunkte für Schläge werden durch die Kontexteigenschaften
+@code{baseMoment} und @code{beatStructure} bestimmt.  @code{beatStructure}
+ist eine Scheme-Liste, die die Länge jedes Schlages im Takt in
+Einheiten von @code{baseMoment} angibt.  Der Standard von
+@code{baseMoment} ist Eins durch den Numerator der Taktangabe.  Der
+Standardwert jeder Längeneinheit @code{baseMoment} ist ein
+einzelner Taktschlag.
 
-Die folgenden Regeln, in der Reihenfolge ihrer Priorität, gelten, wenn das Aussehen der Balken bestimmt wird:
-
-@itemize
-
-@item
-Wenn ein manueller Balken mit @code{[...]} definiert ist, wird er gesetzt, andernfalls
-
-@item
-wenn @code{\autoBeamOff} eingeschaltet ist, werden keine Balken gesetzt, andernfalls
-
-@item
-wenn eine Balkenendung-Regel für einen größeren Balkentyp in
-@code{beamExceptions} definiert ist, wird es verwendet, um die
-gültigen Plätze für Balkenenden zu berechnen, andernfalls
-
-@item
-benutze die Werte von @code{baseMoment} und @code{beatStructure},
-um die Enden der Balken im Takt zu definieren und beende Balken
-am Ende jedes Taktes.
-
-@end itemize
-
-Der Balkentyp ist die Dauer Dauer der kürzesten Note in einer
-bebalkten Gruppe.  Wenn keine Balkenendungsregeln für einen
-Balkentyp definiert sind, wird die Regel für den kleinsten
-Balkentyp größer als der aktuelle Balken benutzt.
-
-@i{@strong{Die Gruppierung von Taktzeiten verändern}}
-
-Standardmäßig wird @code{baseMoment} (Grundschlag) durch die
-Taktart definiert, normalerweise als 1 über dem Nenner der
-Taktart.  Ausnahmen dieses Standardverhaltens finden sich in
-@file{scm/@/time@/-signature@/-settings@/.scm}.  Wie der Wert
-von @code{baseMoment} für eine bestimmte Taktart geändert wird,
-siehe @ref{Taktangabe}.
-
-@code{baseMoment} ist ein @emph{Momentum}, eine Einheit musikalischer
-Dauer.  Eine Menge der Art @emph{Momentum} wird durch die
-Scheme-Funktion @code{ly:make-moment} erstellt.  Für mehr Information
-zu dieser Funktion, siehe @ref{Verwaltung der Zeiteinheiten}.
-
-Besondere (das heißt andere als zum Ende eines Grundschlags)
-Bebalkungsregeln werden in der @code{beamExceptions}-Eigenschaft
-gespeichert.  Standardwerte von @code{beamExceptions} werden durch
-den @code{\time}-Befehl festgelegt.  Standardwerte von
-@code{beamExceptions} für eine Taktart werden in der Datei
-@file{scm/@/time@/-signature@/-settings@/.scm} festgelegt.  Einträge
-in @code{beamExceptions} werden nach Regeltyp und Balkentyp
-indiziert.
-
-Der Regeltyp sollte für Balkenende-Regeln @code{#'end} lauten.
-
-Die Endungs- und Unterteilungsregeln bestehen aus einer
-Scheme-Aliste (oder Liste von Paaren), die den Balkentyp und
-die Gruppierung, die auf diesen Balkentyp angewendet werden
-soll, anzeigt.
-
-@example
-#'((beam-type1 . grouping-1)
-   (beam-type2 . grouping-2)
-   (beam-type3 . grouping-3))
-@end example
-
-Balkentyp ist ein Scheme-Paar, das die Dauer des Balkens
-anzeigt, etwa @code{(1 . 16)}.
-
-Die Balkengruppierung ist eine Scheme-Liste, die die Gruppierungsart
-für einen Balkentyp darstellt.  Die Gruppierung wird in Einheiten
-von @code{beatLength} dargestellt.
-
-Zur Referenz finden sich die Standard-Bebalkunsregeln in der Datei
-@file{scm/time-signature-settings.scm}.
-
-Alternative Werte für @code{beamExceptions} können mit dem
-@code{\set}-Befehl definiert werden.
-
-@warning{
-Ein @code{beamExceptions}-Wert muss eine @emph{vollständige}
-Ausnahmeliste sein.  Das heißt, das jede Ausnahme, die angewendet
-werden soll, auch in den Einstellungen enthalten sein muss.  Es
-ist nicht möglich, nur eine Ausnahme hinzuzufügen, zu ändern oder
-zu entfernen.  Während das seltsam erscheinen kann, bedeutet es,
-dass die aktuellen Bebalkunsregeln nicht bekannt sein müssen, um
-eine neue Regel zu definieren.}
 
 @lilypond[quote,relative=2,verbatim]
 \time 5/16
-c8^"beats" c16 c8 |
-\set beatStructure = #'(2 3)
-c8^"(2+3)" c16 c8
-\set beatStructure = #'(3 2)
-c8^"(3+2)" c16 c8
+c16^"default" c c c c |
+\set Timing.beatStructure = #'(2 3)
+c16^"(2+3)" c c c c |
+\set Timing.beatStructure = #'(3 2)
+c16^"(3+2)" c c c c |
 @end lilypond
 
 Balkenregelveränderungen können auf bestimmte Kontexte beschränkt
@@ -2027,7 +1969,7 @@ Systems angewendet werden sollen:
 @lilypond[quote,verbatim,relative=2]
 \time 7/8
 % rhythm 3-1-1-2
-% Context Voice specified --  does not work correctly
+% Context applied to Voice by dafault --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
 \set beatStructure = #'(3 1 1 2)
@@ -2038,23 +1980,133 @@ Systems angewendet werden sollen:
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
-@funindex revertBeamSettings
+Der Wert von @code{baseMoment} kann angepasst werden, um das
+Bebalkungsverhalten zu ändern, wenn gewünscht.  In diesem Fall
+muss der Wert von @code{beatStructure} so gesetzt werden, dass
+er kompatibel mit dem neuen Wert von @code{baseMoment} ist.
+
+@lilypond[quote,verbatim,relative=2]
+\time 5/8
+\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.beatStructure = #'(7 3)
+\repeat unfold 10 { a16 }
+@end lilypond
+
+@code{baseMoment} ist ein @i{Moment}, eine Einheit an musikalischer
+Dauer.  Eine Anzahl vom Typus @i{Moment} wird durch die Scheme-Funktion
+@code{ly:make-moment} erstellt.  Zu mehr Information über diese Funktion
+siehe @ref{Verwaltung der Zeiteinheiten}.
+
+Der Standardwert von @code{baseMoment} ist Eins durch den Denominator
+der Taktangabe.  Alle Ausnahmen dieses Standards finden sich in der Datei
+@file{scm/@/time@/-signature@/-settings@/.scm}.
+
+Besondere automatische Bebalkungsregeln (außer dass ein Balken auf einem
+Taktschlag aufhört) sind in der @code{beamExceptions}-Eigenschaft
+definiert.
+
+@lilypond[quote,relative=2,verbatim]
+\time 3/16
+\set Timing.beatStructure = #'(2 1)
+\set Timing.beamExceptions =
+  #'(                         ;start of alist
+     (end .                   ;entry for end of beams
+      (                       ;start of alist of end points
+       ((1 . 32) . (2 2 2))   ;rule for 1/32 beams -- end each 1/16
+      )))                     %close all entries
+c16 c c |
+\repeat unfold 6 { c32 } |
+@end lilypond
+
+@code{beamExceptions} ist eine Aliste mit einem Schlüssel der Regeltypen
+(rule-type) und einem Wert der Bebalkungsregeln (beaming-rules).
+
+Im Moment ist der einzige mögliche rule-type @code{#'end} für ein
+Balkenende.
 
-Balkenregeln können rückgängig gemacht und das Standardverhalten
-wieder hergestellt werden.  Das erreicht man durch erneutes
-Setzen der Taktart.
+Beaming-rules ist eine Scheme-Aliste (oder eine paarige Liste), die
+den Balkentyp und die Gruppierung anzeigt, die auf Balken angewendet
+werden, welche Noten mit einer kürzesten Dauer des Balkentyps enthalten.
+
+@example
+#'((beam-type1 . grouping-1)
+   (beam-type2 . grouping-2)
+   (beam-type3 . grouping-3))
+@end example
+
+Beam-type ist ein Scheme-Paar, das die Dauer eines Balkens anzeigt,
+etwa @code{(1 . 16)} für ein Sechszehntel.
+
+Grouping ist eine Scheme-Liste, die die auf den Balken anzuwendene
+Gruppierung anzeigt.  Die Gruppierung wird in Einheiten des
+Balkentyps angegeben.
+
+@warning{Ein @code{beamExceptions}-Wert muss eine @emph{vollständige}
+Ausnahme-Liste sein.  Das heißt, dass jede Ausnahme, die angewendet werden
+soll, auch in die Einstellungen mit aufgenommen werden muss.  Es ist nicht
+möglich, nur eine der Einstellungen zu ändern, zu entfernen oder hinzuzufügen.
+Das mag seltsam erscheinen, bedeutet aber, dass die aktuellen
+Balkenregeln bekann sein müssen, um ein neues Bebalkungsmuster definieren zu können.}
+
+Wenn die Taktart geändert wird, werden neue Standardwerte für
+@code{Timing.baseMoment}, @code{Timing.beatStructure} und
+@code{Timing.beamExceptions} definiert.  Wenn die Taktart
+definiert wird, werden die automatischen Bebalkungsregeln für den
+@code{Timing}-Kontext auf den Standard zurückgesetzt.
 
 @lilypond[quote,verbatim,relative=2]
-\time 4/4
-\repeat unfold 8 {a8}
-% eliminate beam exception that groups beats 1, 2 and 3, 4
-\set Timing.beamExceptions = #'()
-\repeat unfold 8 {a8}
+\time 6/8
+\repeat unfold 6 { a8 }
+% group (4 + 2)
+\set Timing.beatStructure = #'(4 2)
+\repeat unfold 6 { a8 }
 % go back to default behavior
-\time 4/4
-\repeat unfold 8 {a8}
+\time 6/8
+\repeat unfold 6 { a8 }
 @end lilypond
 
+Diese automatischen Standardeinstellungen für die Bebalkung einer
+Taktart werden in der Datei @file{scm/@/time@/-signature@/-settings@/.scm}
+bestimmt.  Die automatischen Bebalkungsregeln für eine Taktart
+können nach der Beschreibung in @ref{Taktangabe} geändert werden.
+
+@i{@strong{Wie die automatische Bebalkung funktioniert}}
+
+Wenn die automatische Bebalkung aktiviert ist, wird die Platzierung
+der automatischen Balken durch die Kontexteigenschaften
+@code{baseMoment}, @code{beatStructure} und @code{beamExceptions}
+bestimmt.
+
+Die folgenden Regeln, in der Reihenfolge ihrer Priorität, gelten, wenn das Aussehen der Balken bestimmt wird:
+
+@itemize
+
+@item
+Wenn ein manueller Balken mit @code{[...]} definiert ist, wird er gesetzt, andernfalls
+
+@item
+wenn eine Balkenendung-Regel für den Balkentyp in
+@code{beamExceptions} definiert ist, wird sie verwendet, um die
+gültigen Plätze für Balkenenden zu berechnen, andernfalls
+
+@item
+wenn eine Balkenendung-Regel für einen größeren Balkentyp
+in @code{beamExceptions} definiert ist, wird sie verwendet,
+um die gültigen Plätze für Balkenenden zu berechnen, andernfalls
+
+@item
+benutze die Werte von @code{baseMoment} und @code{beatStructure},
+um die Enden der Balken im Takt zu definieren und beende Balken
+am Ende jedes Taktes.
+
+@end itemize
+
+In den oben genannten Regeln ist der Balkentyp die Dauer der
+kürzesten Note der bebalkten Gruppe.
+
+Zur Erinnerung: die Standardbebalkungsregeln finden sich in der Datei
+@file{scm/time-signature-settings.scm}.
+
 
 @snippets
 
@@ -2097,12 +2149,11 @@ Referenz der Interna:
 
 
 @knownissues
-
 Wenn eine Partitur endet, während ein automatischer Balken noch
 nicht beendet wurde und weiterhin Noten erwartet, wird dieser
 letzte Balken nicht ausgegeben.  Das Gleiche gilt auch für
-polyphone Stimmen, die mit der @code{<<
-@dots{} \\ @dots{} >>}-Konstruktion notiert wurden.  Wenn eine
+polyphone Stimmen, die mit der 
+@code{<< @dots{} \\ @dots{} >>}-Konstruktion notiert wurden.  Wenn eine
 polyphone Stimme endet, während ein Balken noch weitere Noten
 erwartet, wird der Balken nicht gesetzt.  Eine Notlösung für
 dieses Probelm ist, den letzten Balken in der Stimme oder
@@ -2128,9 +2179,7 @@ Manuell definierte Balken werden mit den Zeichen @code{[} und
 @code{]} (AltGr+8 bzw. 9) markiert.
 
 @lilypond[quote,relative=1,verbatim]
-{
-  r4 r8[ g' a r8] r8 g[ | a] r8
-}
+r4 r8[ g' a r] r g[ | a] r
 @end lilypond
 
 @cindex manuelle Balken, Richtung zuweisen
@@ -2160,7 +2209,7 @@ normalen Balken gesetzt.
 @lilypond[quote,verbatim,relative=2]
 c4 d8[
 \grace { e32[ d c d] }
-e8] e8[ e
+e8] e[ e
 \grace { f16 }
 e8 e]
 @end lilypond
@@ -2411,7 +2460,7 @@ g1 \bar ":|:"
 a1 \bar ":|.|:"
 b1 \bar ":|.:"
 c1 \bar ":|"
-d1
+e1
 @end lilypond
 
 Zusätzliche kann ein Taktstrich auch nur als kleines Komma gesetzt
@@ -2644,7 +2693,6 @@ Referenz der Interna:
 @cindex Zusammenstöße, Taktnummern
 
 @knownissues
-
 Taktnummern können mit der oberen Ecke der Klammer zu Beginn des
 Systems zusammenstoßen.  Um das zu verhindert, kann die
 @code{padding}-Eigenschaft von @code{BarNumer} verwendet werden,
@@ -2707,10 +2755,10 @@ als Taktüberprüfung zu funktionieren.
 @lilypond[quote,verbatim]
 pipeSymbol = \bar "||"
 {
-  c'2 c'2 |
-  c'2 c'2
-  c'2 | c'2
-  c'2 c'2
+  c'2 c' |
+  c'2 c'
+  c'2 | c'
+  c'2 c'
 }
 @end lilypond
 
index 97d2835d85ffb1102ea994d2ffd68681b9dc5ac6..0bfeb204dc565887a92345f982cdbdacbab93fd8 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -401,6 +401,42 @@ Es wird sehr empfohlen, in allen außer den allereinfachsten
 Stücken explizite Stimmenkontexte zu erstellen, wie erklärt in@rlearning{Kontexte und Engraver} und
 @rlearning{Stimmen explizit beginnen}.
 
+@strong{@i{Stimmen-Anordnung}}
+
+Wenn mehrere Stimmen notiert werden, sollte folgende Anordnung eingehalten
+werden:
+
+@example
+Stimme 1: höchste
+Stimme 2: tiefste
+Stimme 3: zweithöchste
+Stimme 4: zweittiefste
+Stimme 5: dritthöchste
+Stimme 6: dritttiefste
+usw.
+@end example
+
+Auch wenn das erst nicht einleuchtend erscheint, erleichtert es den
+automatischen Layoutprozess doch sehr.  Die ungeraden Stimmen erhalten
+Hälse nach oben, die graden Stimmen Hälse nach unten:
+
+@lilypond[quote,verbatim]
+\new Staff <<
+  \time 2/4
+  { f''2 }  % 1: highest
+  \\
+  { c'2  }  % 2: lowest
+  \\
+  { d''2 }  % 3: second-highest
+  \\
+  { e'2  }  % 4: second-lowest
+  \\
+  { b'2  }  % 5: third-highest
+  \\
+  { g'2  }  % 6: third-lowest
+>>
+@end lilypond
+
 @strong{@i{Identische Rhythmen}}
 
 Wenn parallele Abschnitte gesetzt werden sollen,
@@ -628,14 +664,54 @@ Köpfen) so wie es soll.
 >>
 @end lilypond
 
-Die Befehle @code{\shiftOn}, @code{\shiftOnn} und @code{\shiftOnnn}
-bezeichnen den Grad, mit dem Noten der aktuellen Stimme verschoben
-werden sollen.  Die äußeren Stimmen (normalerweise Stimme eins und
-zwei) haben diese Funktion standardmäßig ausgeschaltet
-(@code{\shiftOff}), während die inneren Stimmen (drei und vier)
-ein @code{\shiftOn} eingestellt haben (Verschiebung an).  Die
-Befehle @code{\shiftOnn} und @code{\shiftOnnn} stellen weitere
-Verschiebungesebenen dar.
+Der @code{shiftOn}-Befehl ermöglicht die Noten einer Stimme zu verschieben,
+erzwingt dieses Verhalten aber nicht.  Wenn @code{shiftOn} auf eine Stimme
+angewendet wird, eine Note oder ein Akkord in der Stimme wird nur verschoben,
+wenn sein Hals mit dem Hals der Note einer anderen Stimme kollidieren würde,
+und nur, wenn der Hals der Kollisionsnote in die gleiche Richtung zeigt.
+Der @code{shiftOff}-Befehl verhindert, dass eine derartige Verschiebung
+stattfinden kann.
+
+Die äußeren Stimmen (also normalerweise Stimmen 1 und 2) haben als Standard
+@code{shiftOff} eingestellt, während die inneren Stimmen (3 und mehr)
+@code{shiftOn} definiert haben.  Wenn eine Verschiebung stattfindet, werden
+Stimmen mit den Hälsen nach oben (also ungerade Stimmen) nach rechts verschoben,
+während Stimmen mit den Hälsen nach unten (also gerade Stimmen) nach links
+verschoben werden.
+
+Hier ein Beispiel, das verstehen hilft, wie ein verkürzter polyphonischer
+Abschnitt intern ausgeweitet wird.
+
+@warning{Wenn Sie drei oder mehr Stimmen haben, sollte die vertikale Anordnung
+der Stimmen in der Eingabedatei nicht die gleiche sein wie die vertikale
+Anordnung der Stimmen im Notensystem!}
+
+@lilypond[quote,verbatim]
+\new Staff \relative c'' {
+  %% abbreviated entry
+  <<
+    { f2  }  % 1: highest
+    \\
+    { g,2 }  % 2: lowest
+    \\
+    { d'2 }  % 3: upper middle
+    \\
+    { b2  }  % 4: lower middle
+  >>
+  %% internal expansion of the above
+  <<
+    \new Voice = "1" { \voiceOne   \shiftOff f'2 }
+    \new Voice = "2" { \voiceTwo   \shiftOff g,2 }
+    \new Voice = "3" { \voiceThree \shiftOn  d'2 } % shifts right
+    \new Voice = "4" { \voiceFour  \shiftOn  b2  } % shifts left
+  >>
+}
+@end lilypond
+
+Zwei zusätzliche Befehle, @code{shiftOnn} und @code{shiftOnnn} stellen
+weitere Verschiebungsebenen zu verfügung, die vorübergehend eingesetzt
+werden können um Zusammenstöße in komplizierten Situationen aufzulösen.
+Siehe auch @rlearning{Beispiel aus dem Leben}.
 
 Noten werden nur verschmolzen, wenn ihre Hälse in entgegengesetzte
 Richtungen zeigen (also etwa wie @code{Voice} 1 und 2 in den
@@ -680,7 +756,6 @@ Referenz der Interna:
 @rinternals{RestCollision}.
 
 @knownissues
-
 @ignore
 @c TODO investigate! Sometimes it works, sometimes not. --FV
 The requirements for successfully merging different note heads that
@@ -772,7 +847,7 @@ benutzt werden, also:
 
 @noindent
 Ein @code{\relative}-Abschnitt, der sich außerhalb von@code{\partcombine} befindet, hat keinen Einfluss auf
-die Tonhöhen von @var{musikAusdr1} oder @var{musikAusdr2}.
+die Tonhöhen von @code{@var{musikAusdr1}} oder @code{@var{musikAusdr2}}.
 
 @snippets
 
index 8eed40f01eea98b637ca9d37a90b9e76c58efb04..9d958e678f370875f70beb66af2ddc8a5b0a56a2 100644 (file)
@@ -530,12 +530,12 @@ allegro = \markup { \bold \large Allegro }
 
 @noindent
 Eine ausführliche Liste der @code{\markup}-Befehle findet sich in
-@ref{Text markup commands}.
+@ref{Textbeschriftungsbefehle}.
 
 
 @seealso
 Notationsreferenz:
-@ref{Text markup commands}.
+@ref{Textbeschriftungsbefehle}.
 
 Schnipsel:
 @rlsr{Text}.
@@ -1377,17 +1377,17 @@ eine Liste von Beschriftungslisten.
 @end itemize
 
 Eine vollständige Liste der Beschriftungslistenbefehle findet sich in
-@ref{Text markup list commands}.
+@ref{Textbeschriftungslistenbefehle}.
 
 @seealso
 Notationsreferenz:
-@ref{Text markup list commands}.
+@ref{Textbeschriftungslistenbefehle}.
 
 Schnipsel:
 @rlsr{Text}.
 
 Erweitern:
-@rextend{Neue Definitionen von Beschriftungsbefehlen für Listen}.
+@rextend{Neue Definitionen von Beschriftungslistenbefehlen}.
 
 Referenz der Interna:
 @rinternals{TextScript}.
index d1f25f61a68d3b4d4cb546f5c19b5bf7736a7de9..183c1cd2d2abc4ce142b316589f78306bb87f2ea 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
index 455e60ed6b208d0a4914801e39ab49d76f03df4d..c3926be820a6d769ba37f2c4a981869fab40c29e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
index 7b6b8c7acf077ece8120540618a910c56032f69d..9dca5ecd71d35d8b54f6394eadd5f322549931a5 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
 
 @ignore
-    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -58,6 +58,7 @@ angewendet werden.
 * lilypond-book aufrufen::
 * Dateiendungen::
 * lilypond-book-Vorlagen::
+* Das Inhaltsverzeichnis flexibel einsetzen::
 * Alternative Methoden Text und Musik zu kombinieren::
 @end menu
 
@@ -1189,6 +1190,113 @@ lilypond-book.
 @end verbatim
 
 
+@node Das Inhaltsverzeichnis flexibel einsetzen
+@section Das Inhaltsverzeichnis flexibel einsetzen
+@translationof Sharing the table of contents
+
+Diese Funktionen existieren schon im OrchestraLily-Paket:
+
+@example
+@url{http://repo.or.cz/w/orchestrallily.git}
+@end example
+
+Um den Text flexibler behandeln zu können, bevorzugen manche Benutzer es,
+das Inhaltsverzeichnis aus LilyPond zu exportieren und dann mit 
+@LaTeX{} einzulesen.
+
+@subsubheading Das Ihaltsverzeichnis (ToC) aus LilyPond exportieren
+
+Hier wird angenommen, dass in Ihrer Partitur mehrere Sätze vorkommen, die
+sich alle in der selben LilyPond-Datei befinden.
+
+@smallexample
+#(define (oly:create-toc-file layout pages)
+  (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
+    (if (not (null? label-table))
+      (let* ((format-line (lambda (toc-item)
+             (let* ((label (car toc-item))
+                    (text  (caddr toc-item))
+                    (label-page (and (list? label-table)
+                                     (assoc label label-table)))
+                    (page (and label-page (cdr label-page))))
+               (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
+             (formatted-toc-items (map format-line (toc-items)))
+             (whole-string (string-join formatted-toc-items ",\n"))
+             (output-name (ly:parser-output-name parser))
+             (outfilename (format "~a.toc" output-name))
+             (outfile (open-output-file outfilename)))
+        (if (output-port? outfile)
+            (display whole-string outfile)
+            (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
+        (close-output-port outfile)))))
+
+\paper @{
+  #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
+@}
+@end smallexample
+
+@subsubheading Das Inhaltsverzeichnis in LaTeX importieren
+
+In der LaTeX-Datei sollte folgendes enthalten:
+
+@c no, this doesn't require the smallexample, but since the other
+@c two blocks on this page use it, I figured I might as well
+@c user it here as well, for consistency. -gp
+@smallexample
+\usepackage@{pdfpages@}
+\includescore@{nameofthescore@}
+@end smallexample
+
+@noindent
+wobei @code{\includescore} wiefolgt definiert ist:
+
+@smallexample
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \includescore@{PossibleExtension@}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Read in the TOC entries for a PDF file from the corresponding .toc file.
+% This requires some heave latex tweaking, since reading in things from a file
+% and inserting it into the arguments of a macro is not (easily) possible
+
+% Solution by Patrick Fimml on #latex on April 18, 2009:
+% \readfile@{filename@}@{\variable@}
+% reads in the contents of the file into \variable (undefined if file
+% doesn't exist)
+\newread\readfile@@f
+\def\readfile@@line#1@{%
+@{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
+\edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
+\ifeof\readfile@@f\else%
+\readfile@@line@{#1@}%
+\fi%
+@}
+\def\readfile#1#2@{%
+\openin\readfile@@f=#1 %
+\ifeof\readfile@@f%
+\typeout@{No TOC file #1 available!@}%
+\else%
+\gdef#2@{@}%
+\readfile@@line@{#2@}%
+\fi
+\closein\readfile@@f%
+@}%
+
+
+\newcommand@{\includescore@}[1]@{
+\def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
+\let\oly@@addtotoc\undefined
+\readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
+\ifx\oly@@addtotoc\undefined
+\includepdf[pages=-]@{\oly@@fname@}
+\else
+\edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
+@{\oly@@fname@}@}\includeit
+\fi
+@}
+@end smallexample
+
+
 @node Alternative Methoden Text und Musik zu kombinieren
 @section Alternative Methoden Text und Musik zu kombinieren
 @translationof Alternate methods of mixing text and music
index 6ab9a8bd823bfacc589add7536c02aec13b9dc20..9dc8277cc2c08ed259388b51504a2491f2563962 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish:  4f7427e7a314a71bde16559247885544256b8213
+    Translation of GIT committish:  aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -120,7 +120,9 @@ Für LilyPond Version @version{}
 @divId{quickSummary}
 @subheading Was ist LilyPond?
 
-LilyPond ist ein Open Source Notensatzprogramm, dass es sich zum Ziel gemacht hat, Notendruck von der bestmöglichen Qualität zu erstellen.  Dieses Open Source Programm ermöglicht, die Ästhetik handgestochenen traditionellen Notensatzes mit computergesetzen Noten zu erreichen.
+LilyPond ist ein Notensatzprogramm, dass es sich zum Ziel gemacht hat, Notendruck von der bestmöglichen Qualität zu erstellen.  Mit dem Programm wird es
+möglich, die Ästhetik handgestochenen traditionellen Notensatzes mit computergesetzen Noten zu erreichen.  LilyPond ist ein Open Source-Programm
+und Teil des @uref{http://gnu.org,GNU Projekts}.
 
 @divClass{align-right}
 Lesen Sie mehr in der @ref{Einleitung}!
@@ -279,6 +281,34 @@ Distributions will want to install lilypond.info in postinstall, doing:
 @end macro
 
 
+@ifhtml
+@macro contactUsAbout{topic}
+
+@divClass{heading-center}
+@divClass{contactBox}
+Wenn Sie irgendein \Thema\ hier vermissen, teilen Sie das uns
+bitte mit und beachten Sie die Anleitung dazu unter
+@ref{Fehlerberichte}.
+
+@divEnd
+@divEnd
+
+@end macro
+@end ifhtml
+
+@ifnothtml
+@macro contactUsAbout{topic}
+@cartouche
+Wenn Sie die Erwähnung von \topic\ hier vermissen, teilen Sie das uns
+bitte mit und beachten Sie die Anleitung dazu unter
+@ref{Fehlerberichte}.
+
+@end cartouche
+
+@end macro
+@end ifnothtml
+
+
 
 @include web/introduction.itexi
 @include web/download.itexi
index 55085663ed67c88852f8e22f33d1099ca76a2b05..4cfe02229f4e3fd584ef6c5c9fb21c15e967a314 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish:  ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish:  aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -487,8 +487,8 @@ Sie einen Google-Account haben.
 
 @warning{Hier handelt es sich um nicht stabile Entwicklerversionen.
 Wenn Sie nicht genau wissen, wie man LilyPond installiert und
-benutzt, empfehlen wir ausdrücklich, die stabilen @ref{Download}-Versionen
-zu benutzen und die stabilen @ref{Handbücher} zu lesen.}
+benutzt, empfehlen wir ausdrücklich, die @ref{Download, stabilen Download}-Versionen
+zu benutzen und die @ref{Handbücher, stabilen Handbücher} zu lesen.}
 
 @divEnd
 
@@ -621,8 +621,11 @@ lilypond-book-Teste dieser Version.
 @subsubheading Alle Versionen
 
 @itemize
-@item @uref{http://lilypond.org/test, Archiv der Regressionsteste}:
-Vergleiche zweier Versionen.
+@item @uref{http://lilypond.org/test, Vergleiche zweier Versionen}:
+
+@item @uref{http://lilypond.org/download/binaries/test-output/,
+Archiv aller Regressionsteste}
+
 @end itemize
 
 @divEnd
@@ -843,6 +846,8 @@ Handbücher finden sich auf @url{http://lilypond.org}.}
 @divEnd
 @divEnd
 
+@contactUsAbout{wissenschaftliche Aufsätzen}
+
 
 @node Ältere Neuigkeiten
 @unnumberedsec Ältere Neuigkeiten
index fe66d3959e8cdc5cd49a4238aecad1554c7ab6fc..8893fe7073de4adba5f4446e45b629b1bcf1d9ef 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish:  ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
+    Translation of GIT committish:  aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -289,12 +289,12 @@ Alle Logos und Produktabbildungen erkennen Copyright und Trademark an.
 @item
 @sourceimage{logo-macosx,,,}
 @downloadStableDarwinNormal
-Für Intel-Prozessoren (wenn Sie Zweifel haben, benutzen Sie diese Version).
+Für MacOS X 10.4 und höher auf Intel-Prozessoren (wenn Sie Zweifel haben, benutzen Sie diese Version).
 
 @item
 @sourceimage{logo-macosx,,,}
 @downloadStableDarwinPPC
-Für G3 und G4 Prozessoren (alte Apple-Computer).
+Für MacOS X 10.4 oder höher auf G3 und G4 Prozessoren (alte Apple-Computer).
 
 @end itemize
 
index f48de887db324800d8a8ff7420b69eb6a0366b82..0a49f5e4a77689e112199989c9ef3100ba891abf 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish:  144cd434d02e6d90b2fb738eeee99119a7c5e1d2
+    Translation of GIT committish:  aa632c095138aaaa0f50f73c90e72efb4b61d745
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -643,6 +643,16 @@ Ann Drinan präsentiert auf der
 Kommentare von zwei Orchsterbibliothekaren, die sich über die Benutzung von
 Software zur Unterhaltung ihrer Bibliotheken unterhalten.
 
+ @item
+June 2009
+
+In einem @uref{http://news.lilynet.net/Free-Music-Now, Artikel}
+in der Jahreszeitschrift der @emph{National Conservatory Parent
+Association} erklärt der französischer Komponist und LilyPond-Mitarbeiter
+Valentin Villenave wie freie Lizenzen und insbesondere mit LilyPond
+gesetzte Partituren dazu beitragen, dass notierte Musik allen zugänglich
+gemacht wird.
+
 @item
 Februar 2008
 
index c424953e695739442ef919337d4cf9c50f619df8..c06f8d9c5dff8b8587be5c7cfb5cc89772b422a5 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: d9d72186ca281ea763cb2d50446a113ab0a26779
+    Translation of GIT committish: f6deb2ea10fb60c6b1afa9c1a78d7256d3be789f
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -75,6 +75,13 @@ which scares away people.
 
 @end ignore
 
+@item
+Ahora el barrado automático se desactiva mediante @code{\cadenzaOn} y
+se habilita con @code{\cadenzaOff}.  Hay que indicar el barrado de las
+cadencias manualmente.  Asimismo, si se usa una cadencia en una pieza
+con el barrado automático desactivado, tiene que desactivarse de nuevo
+después de la cadencia.
+
 @item
 Ahora el usuario puede especificar el nombre de la tabla
 predeterminada de diagramas de posiciones de acordes.  Esto permite la
index 4a9b27ced5a9590198042343064da7025175ad53..aaf277c773c5056a2ca91259275a62e46c8b403d 100644 (file)
@@ -1,4 +1,4 @@
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
     Translation of GIT committish: 3b870eb9ab448ebc11a2d6283ad35796b22351aa
 
index 734fa932c6abc902bec65f460e1ec780a8c83184..a21a10e62a3ea5aa183f74d483c67ac9b34eb317 100644 (file)
@@ -1,14 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fb382fd467dea1bf5c5735cf4b5c59935fbd40a8
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Grabado musical
 @chapter Grabado musical
index 394b5919b2c65fcec68441957d72c5c5c1beb0f4..7e2431074d4bd0c651b5de90d7f757a8fb4170e3 100644 (file)
@@ -1,14 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: efdc514b7a7357d67c6e0f3927c38b70d645f9c7
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Lista de referencias bibliográficas
 @chapter Lista de referencias bibliográficas
index 73ac379dbb59c10241f812d8562f1ba8f10bc7e3..f00f03a1150d29528f77aa000cb9ba1f2130073e 100644 (file)
@@ -1,4 +1,4 @@
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
     Translation of GIT committish: 3b870eb9ab448ebc11a2d6283ad35796b22351aa
 
index fa8f6b3d58f4834f216fae4425fe067c7a67b886..c056047f5da8dcea9e23dd3635d4bd4c404bca00 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of extending.tely
 @ignore
-    Translation of GIT committish: 87a9977bbd54e3822338e290716845d8e2e304e3
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Interfaces para programadores
 @chapter Interfaces para programadores
index 3afef4b85f5e89d53492b8b78cbb10eec01ae2bf..42642987f9ee125291c2a0758799b78a4e371f32 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Tutorial de Scheme
 @appendix Tutorial de Scheme
index ec224a4a4fdbc538c10d6879d84ae10d2565150c..527bcb0a3db502be9fc42d25f6c8a2198ccfd771 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of web/download.itexi and
 @c learning/tutorial.itely
 
index 4471cbd8e9a50f55e37d73464e5ca79f1313ac22..c546a8aaf3be1bafe37a94b4269175d7977ec8d2 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of web/community.itexi and
 @c contributor/introduction.itely
 
index d658a69a597a30afcb2014c26d2b516ed70637e6..3efe2bc1d1063b19aa1acc5c61045a882e850a68 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @ignore
 Tutorial guidelines:  (different from policy.txt!)
@@ -820,6 +820,7 @@ partituras polirrítmicas.
 }
 @end lilypond
 
+
 @node Grupos de pentagramas
 @subsection Grupos de pentagramas
 @translationof Staff groups
@@ -836,7 +837,9 @@ partituras polirrítmicas.
 @funindex ChoirStaff
 
 Glosario musical:
-@rglos{brace}.
+@rglos{brace},
+@rglos{staff},
+@rglos{system}.
 
 La música para piano se compone tipográficamente en forma de dos
 pentagramas unidos mediante una @notation{llave}. El aspecto impreso
index 3d1f359f1784263174f6c48256140a9381fc9224..4a016b1e2f641f233db8742bcd161d262e28e6f2 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 
 @node Conceptos fundamentales
@@ -1530,18 +1530,13 @@ donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
 interpretar la @var{expresión_musical} que está dentro de ese
 contexto.
 
-(Observe que normalmente no se necesita una instrucción @code{\new
-Score}, pues el contexto esencial del nivel superior, @code{Score}, se
-crea automáticamente cuando se interpreta la expresión musical que
-está dentro del bloque @code{\score}.  La única razón para crear un
-contexto @code{Score} explícitamente utilizando @code{\new Score} es
-introducir un bloque @code{\with} en el que se pueden especificar uno
-o más valores predeterminados de propiedades de contexto para toda la
-partitura.  Se puede encontrar más información sobre el uso de los
-bloques @code{\with} bajo el epígrafe @qq{Setting context properties
-with @code{\\with} } en @ref{Modificar las propiedades de los
-contextos}).
-
+@warning{No se debe usar @bs{}@code{new Score} porque el contexto
+@code{Score} esencial del nivel superior ya se crea automáticamente al
+interpretarse la expresión musical que está dentro del bloque
+@bs{}@code{score}.  Los valores predeterminados de propiedades de
+contexto válidos para toda la partitura se pueden cambiar dentro del
+bloque @bs{}@code{layout}.  Véase @ref{Modificar las propiedades de
+los contextos}.}
 
 En las secciones anteriores ha podido ver muchos ejemplos prácticos que
 creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
@@ -1961,27 +1956,6 @@ de la siguiente forma:
 >>
 @end lilypond
 
-O bien, si la sobreescritura de la propiedad se va a aplicar a todos
-los pentagramas de la partitura, se puede añadir a una instrucción
-@code{\new Score} explícita, como se ve a continuación:
-
-@lilypond[quote,verbatim,ragged-right]
-\score {
-  \new Score \with { extraNatural = ##f } <<
-    \new Staff {
-      \relative c'' {
-        gis4 ges aes ais
-      }
-    }
-    \new Staff {
-      \relative c'' {
-        gis4 ges aes ais
-      }
-    }
-  >>
-}
-@end lilypond
-
 Las propiedades ajustadas de esta manera aún pueden cambiarse
 dinámicamente utilizando @code{\set} y ser devueltas al valor
 predeterminados que se estableció en el bloque @code{\with} mediante
@@ -2032,6 +2006,31 @@ continuación presentamos un ejemplo que muestra el formato:
 }
 @end lilypond
 
+Si se quiere aplicar la sobreescritura de propiedades a todos los
+pentagramas de la partitura:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff {
+      \relative c'' {
+        gis4 ges aes ais
+      }
+    }
+    \new Staff {
+      \relative c'' {
+        gis4 ges aes ais
+      }
+    }
+  >>
+  \layout {
+    \context {
+      \Score extraNatural = ##f
+    }
+  }
+}
+@end lilypond
+
 @noindent
 Las propiedades de contexto establecidas de esta forma se pueden
 sobreescribir para ejemplares concretos de contextos mediante
@@ -3073,6 +3072,9 @@ PedalOrganMusic = \relative c {
 }  % end Score context
 @end lilypond
 
+@seealso
+Glosario musical:
+@rglos{system}.
 
 @node Ahorrar tecleo mediante variables y funciones
 @subsection Ahorrar tecleo mediante variables y funciones
index 12b98c6bc002c3b496b69adf1807027cbb98fe21..a092eaca139ec58c406fb87c7afbdb2f8da9a565 100644 (file)
@@ -1,14 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 3dd9b13331489a191d0e901245cc98476e5fcac1
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Preámbulo
 @unnumbered Preámbulo
index 5287fd6f105f7eadda0bd1c2beab9187ae37dadc..1d8c03eb5b8513af8d0b18c95ff6469a71cdcd10 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 66bd391a59ab23b366bd0d534123768fc92006f4
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Plantillas
 @appendix Plantillas
index 22995b9a7a3f21f234c5b67fef0f1784cb35f6ba..fe907db605fb24a7e4d6603439b87db8c45dd0dd 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 9e1b534c81e101c449acfa176f923be57cbcaea5
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -10,7 +10,7 @@
 
 @include included/generating-output.itexi
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Tutorial
 @chapter Tutorial
index f88fd3cc442510ba6426fe99b0d04eb2aa75625e..2aeaa5ee145540201c95f181b60332f426bcce18 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: cd6d449de0bfc3236b87fbec08389697be8cae81
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Trucar la salida
 @chapter Trucar la salida
@@ -3702,6 +3702,11 @@ queríamos, pero la indicación metronómica transparente de la primera
 línea fuerza una colocación muy alta de la indicación de tempo que
 sigue, mientras que la segunda (con el sello suprimido) no lo hace.
 
+@seealso
+Glosario musical:
+@rglos{system}.
+
+
 @node Uso de variables para los trucos
 @subsection Uso de variables para los trucos
 @translationof Using variables for tweaks
@@ -4352,6 +4357,6 @@ notas un color que depende de su posición dentro del pentagrama.
 @end lilypond
 
 Se pueden encontrar ejemplos adicionales que muestran la utilización
-de estos interfaces programables, en @rextendnamed{Callback
-functions,Funciones de callback}.
+de estos interfaces programables, en
+@rextendnamed{Callback functions,Funciones de callback}.
 
index 69419c5bb619c63d21900f13518d886146a1d802..8d96256e62bd1f820a4ddc3c6aac09f758efe574 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c vim: foldmethod=marker
 @ignore
-    Translation of GIT committish: 0f160f02f8fcf7859e18ab1ea0be1e3d69953879
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Notación antigua
 @section Notación antigua
index a86a33519432d3dc8b3944c28533be3577fe8dc1..32cc0191901fe6c382ed6afff08a1754e9015d2a 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-Translation of GIT committish: cd6d449de0bfc3236b87fbec08389697be8cae81
+Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Cambiar los valores por omisión
 @chapter Cambiar los valores por omisión
@@ -42,8 +42,8 @@ LISP) para aportar la infraestructura.  La sobreescritura de las
 decisiones de disposición da acceso efectivo a las interioridades del
 programa, lo que requiere código de Scheme como entrada.  Los
 elementos de Scheme se inauguran dentro de un archivo @code{.ly} con
-el símbolo de cuadradillo @code{#}.@footnote{@rextend{Tutorial de
-Scheme} contiene un breve tutorial sobre la introducción de números,
+el símbolo de cuadradillo @code{#}.@footnote{@rextend{Tutorial de Scheme}
+contiene un breve tutorial sobre la introducción de números,
 listas, cadenas y símbolos en Scheme.}
 
 @menu
@@ -363,8 +363,9 @@ importar qué nombre se le ha dado.
 
 Esta variante se usa con expresiones musicales que se pueden
 interpretar en varios niveles.  Por ejemplo, la instrucción
-@code{\applyOutput} (véase @rextend{Ejecutar una función sobre todos
-los objetos de la presentación}).  Sin una instrucción @code{\context}
+@code{\applyOutput} (véase
+@rextend{Ejecutar una función sobre todos los objetos de la presentación}).
+Sin una instrucción @code{\context}
 explícita, normalmente se aplicaría a @code{Voice}
 
 @example
@@ -720,7 +721,7 @@ variable.
 La instrucción @code{\RemoveEmptyStaves} sobreescribe nuestros ajustes
 en curso para el contexto @code{\Staff}.  Si queremos cambiar los
 valores predeterminados para un pentagrama que utilice
-@code{\RemoveEmptyStaves}, debe hacerlo después de llamar a
+@code{\RemoveEmptyStaves}, debemos hacerlo después de llamar a
 @code{\RemoveEmptyStaves}, o sea
 
 @example
@@ -1921,8 +1922,8 @@ f'
 
 El flujo musical que se genera a partir de una sección de un archivo
 de entrada (incluido cualquier elemento insertado automáticamente)
-puede examinarse, véase @rextend{Presentación de las expresiones
-musicales}.  Esto puede ser de utilidad en la determinación de lo que
+puede examinarse, véase @rextend{Presentación de las expresiones musicales}.
+Esto puede ser de utilidad en la determinación de lo que
 puede modificarse por medio de una instrucción @code{\tweak}.
 
 
@@ -3134,7 +3135,7 @@ Fragmentos de código:
 @rlsr{Tweaks and overrides}.
 
 Extender:
-@rextend{Interfaces for programmers}.
+@rextend{Interfaces para programadores}.
 
 Referencia de funcionamiento interno:
 @rinternals{All layout objects}.
@@ -3705,8 +3706,8 @@ referenciar argumentos (p.ej. @samp{$arg1}).
 
 Los argumentos @code{parser} y @code{location} son necesarios, y se
 utilizan en algunas situaciones avanzadas como se encuentra descrito
-en @rextend{Music function syntax}.  Para las funciones de
-sustitución, tan sólo hemos de asegurarnos de incluirlos.
+en @rextend{Sintaxis de las funciones musicales}.  Para las funciones
+de sustitución, tan sólo hemos de asegurarnos de incluirlos.
 
 También es necesaria la lista de predicados de tipo.  Algunos de los
 predicados de tipo más comunes que se utilizan en las funciones
index a3e456986b9a4c8c53a21d925de6f754dabf26e1..e5e547f971f257f1d75042629033c049f9390714 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 3dd9b13331489a191d0e901245cc98476e5fcac1
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 
 @c TODO: add tablature.
index 72f330a03a6874653721183cddeb77e9aead20a0..4f0863f4fd421f4b3024ce26f6d53d351a2df06a 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 6e36ca8cc133568378f03e519d2d44a3eeb6abf8
+    Translation of GIT committish: d7f5cebae73078d1919381df574c69323043a224
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Notación de acordes
 @section Notación de acordes
@@ -113,6 +113,7 @@ nuevo contexto de @code{Staff}:
 <c e g>2 <g' b d>
 @end lilypond
 
+@noindent
 Para evitar este comportamiento podemos crear explícitamente el
 contexto de @code{Staff}:
 
index b8226edbcfa4a228eddb6a89277ccd21ddf977f1..840c7c7393269d9ed194760b92eb233e7c1735c0 100644 (file)
@@ -1,13 +1,13 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 3dd9b13331489a191d0e901245cc98476e5fcac1
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 
 @node Música contemporánea
index 4b8968e46c9e77c65399fd13f0aa6bd3b97931e4..b5e7855aee5b6446e96adda38b3718085047c50c 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is included from notation.itely
 @ignore
-    Translation of GIT committish: 8e0330b913e0c7494282e6b00cebbf4dcee79b50
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Anotaciones editoriales
 @section Anotaciones editoriales
index 3311cb5af98d7e029b074d048440ad1bd57c286f..e5a457296f6e11fa2963c8d006198e1db378783a 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 8e0330b913e0c7494282e6b00cebbf4dcee79b50
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Expresiones
 @section Expresiones
index 70a3f757cef608f06fb995edb871c3da3bace922..76923aecd4f56d9f4b91e7cd708732d7453c4b07 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: a90b4f6c28f125d797df443241501a679c900424
+    Translation of GIT committish: 2ca56357edecc917e7d9f09941f0953497e2d52b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Instrumentos de cuerda con trastes
 @section Instrumentos de cuerda con trastes
@@ -1321,7 +1321,7 @@ con instrucciones predefinidas:
 
 \storePredefinedDiagram #default-fret-table <c e g c' e'>
                         #guitar-tuning
-                        #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
+                        #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
 <<
   \context ChordNames {
     \chordmode {
@@ -1376,6 +1376,8 @@ FretBoard.
 >>
 @end lilypond
 
+@funindex minimumFret
+
 El traste mínimo que usar en el cálculo de cuerdas y trastes para el
 contexto FretBoard se puede fijar con la propiedad @code{minimumFret}.
 
@@ -1459,7 +1461,7 @@ la partitura, incluso si se aplican a una nota suelta.
 <g-\rightHandFinger #3 >
 <c-\rightHandFinger #4 >
 <c,-\rightHandFinger #1 e-\rightHandFinger #2
 g-\rightHandFinger #3 c-\rightHandFinger #4 >1
+ g-\rightHandFinger #3 c-\rightHandFinger #4 >1
 @end lilypond
 
 Por brevedad, se puede escribir @code{\rightHandFinger} como algo más
@@ -1505,6 +1507,7 @@ experiencia, un tipografiador como GuitarTeX.
 @menu
 * Indicar la posición y la cejilla::
 * Indicar armónicos y notas tapadas::
+* Indicación de acordes de potencia o de quinta vacía::
 @end menu
 
 
@@ -1518,13 +1521,13 @@ experiencia, un tipografiador como GuitarTeX.
 Este ejemplo muestra cómo incluir indicaciones de posición y cejilla
 de guitarra:
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=0]
+@lilypond[quote,ragged-right,verbatim,relative=0]
 \clef "treble_8"
 b16 d g b e
 \textSpannerDown
 \override TextSpanner #'(bound-details left text) = #"XII "
-  g16\startTextSpan
-  b16 e g e b g\stopTextSpan
+g16\startTextSpan
+b16 e g e b g\stopTextSpan
 e16 b g d
 @end lilypond
 
@@ -1617,6 +1620,93 @@ Referencia de la notación:
 @ref{Estilos de cabezas de nota}.
 
 
+@node Indicación de acordes de potencia o de quinta vacía
+@unnumberedsubsubsec Indicación de acordes de potencia o de quinta vacía
+@translationof Indicating power chords
+
+@funindex powerChords
+@funindex \powerChords
+
+@cindex potencia, acordes de
+@cindex acordes de potencia
+@cindex acordes de quinta vacía
+@cindex quinta vacía, acordes de
+@cindex vacía, acordes de quinta
+
+Los acordes de quinta vacía o acordes de potencia (@emph{power
+chords}) y sus símbolos se pueden tipografiar en el modo de acordes o
+como construcciones de acorde normales:
+
+@lilypond[quote,ragged-right,verbatim]
+ChordsAndSymbols = {
+  \chordmode {
+    \powerChords
+    e,,1:1.5
+    a,,1:1.5.8
+    \set minimumFret = #8
+    c,1:1.5
+    f,1:1.5.8
+  }
+  \set minimumFret = #5
+  <a, e>1
+  <g d' g'>1
+}
+\score {
+  <<
+    \new ChordNames {
+    \ChordsAndSymbols
+    }
+    \new Staff {
+      \clef "treble_8"
+      \ChordsAndSymbols
+    }
+    \new TabStaff {
+      \ChordsAndSymbols
+    }
+  >>
+}
+@end lilypond
+
+Los símbolos de acordes de quinta vacía se desactivan automáticamente
+tan pronto como se utiliza cualquiera de los otros modificadores de
+acorde:
+
+@lilypond[quote,ragged-right,verbatim]
+mixedChords = \chordmode {
+  c,1
+  \powerChords
+  b,,1:1.5
+  fis,,1:1.5.8
+  g,,1:m
+}
+\score {
+  <<
+    \new ChordNames {
+      \mixedChords
+    }
+    \new Staff {
+      \clef "treble_8"
+      \mixedChords
+    }
+    \new TabStaff {
+      \mixedChords
+    }
+  >>
+}
+@end lilypond
+
+@seealso
+Glosario musical:
+@rglos{power chord}.
+
+Referencia de la notación:
+@ref{Acordes extendidos y alterados},
+@ref{Impresión de los nombres de acorde}.
+
+Fragmentos de código:
+@rlsr{Fretted strings}.
+
+
 @node Banjo
 @subsection Banjo
 @translationof Banjo
index a333ee2b2db2e5185d57b70fa43f7a3989dd8c2a..c03f9a2e39f8527eaba7bd9dd98e0def1b5c6910 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: cd6d449de0bfc3236b87fbec08389697be8cae81
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Entrada y salida generales
 @chapter Entrada y salida generales
index 39511f12c8a4be7a41e3341d09a98671ebb67465..74dcf05b232031549376c9e531d2079cd981d24f 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Teclados y otros instrumentos de varios pentagramas
 @section Teclados y otros instrumentos de varios pentagramas
index 97a14738c4b6276e5d3560ccb52a4601e2473725..b489a9438e9c034de5483152179296761a251b75 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 05321651998ea6b04cd6649f5d4dcdd9b102d7f5
+    Translation of GIT committish: b1bddd0e522d91483a4cd70baaa2e7e229fc786d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Tablas del manual sobre notación
 @appendix Tablas del manual sobre notación
@@ -199,11 +199,11 @@ Menor con séptima mayor
 @tab
 Tríada menor con séptima mayor
 @tab
-@code{maj7.3-}
+@code{m7+}
 @tab
 @lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
-  c1:maj7.3-
+  c1:m7+
 }
 @end lilypond
 
@@ -389,6 +389,33 @@ Cuarta justa y quinta justa
 }
 @end lilypond
 
+@item
+Acorde de potencia o de quinta vacía (de dos notas)
+@tab
+Perfect fifth
+@tab
+@code{1.5}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+  \powerChords
+  c1:1.5
+}
+@end lilypond
+
+@item
+Acorde de potencia o de quinta vacía (de tres notas)
+@tab
+Perfect fifth, octave
+@tab
+@code{1.5.8}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+  \powerChords
+  c1:1.5.8
+}
+@end lilypond
 
 @end multitable
 
index 6b1f91174bf702eeee674418bad3175b3434b27d..4f0f3c78d324108f2899e11976e62bb0c5d990fa 100644 (file)
@@ -1,13 +1,13 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 3dd9b13331489a191d0e901245cc98476e5fcac1
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Notación musical
 @chapter Notación musical
index 70a58b14195aa396081fb9e18304892357d1c199..1945fa47dd9e26f444571585a15665e15d4c3d45 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Percusión
 @section Percusión
index 76a7b6d6ffd885db5e0a8fea7bd3ba1d95a5d47d..1bcc458ccd97bfba8ecaff94e616e70ce219d6a1 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 8e0330b913e0c7494282e6b00cebbf4dcee79b50
+    Translation of GIT committish: 7a57acf2755504cfb0813ca02662ad43e7456506
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 
 @node Alturas
index be949b08682b7b2d9b36991f7626ee4c2d4f7de0..2dcf718d718dbf5a4f05200a5ef23d3a5cae2fee 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 8e0330b913e0c7494282e6b00cebbf4dcee79b50
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Repeticiones
 @section Repeticiones
index 3f267707e32e5a512aa8d496b3b16a76f599a3b0..59f33f8c6e7115470bf13f20bcfe6cf572e3b214 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Duraciones
 @section Duraciones
@@ -639,7 +639,7 @@ predefinidas que se muestran aquí:
 
 @c \time 16/1 is used to avoid spurious bar lines
 @c and long tracts of empty measures
-@lilypond[fragment,quote,verbatim]
+@lilypond[quote,verbatim,relative=2]
 \new Staff {
   % These two lines are just to prettify this example
   \time 16/1
@@ -757,7 +757,7 @@ por omisión de las notas siguientes, a diferencia de@tie{}@code{s}.
 @lilypond[quote,verbatim,relative=2]
 <<
   {
-    \repeat unfold 8 {a4}
+    \repeat unfold 8 { a4 }
   }
   {
     a4 \skip 2 a |
@@ -770,14 +770,14 @@ Un silencio de separación produce implícitamente contextos
 @code{Staff} y @code{Voice} si no existe ninguno, igual que las notas
 y los silencios normales:
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 s1 s s
 @end lilypond
 
 @code{\skip} tan sólo desplaza un tiempo musical; no produce ninguna
 salida, de ninguna clase.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This is valid input, but does nothing
 \skip 1 \skip1 \skip 1
 @end lilypond
@@ -828,7 +828,7 @@ notación de la duración que se usa para las notas.  La duración de un
 silencio multi-compás debe ser siempre un número entero de compases,
 por lo que con frecuencia han de utilizarse puntillos o fracciones:
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 2/4
 R1 | R2 |
@@ -844,7 +844,7 @@ Un silencio de un compás completo se imprime como un silencio de
 redonda o de breve, centrado en el compás, según el tipo de compás
 vigente.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \time 4/4
 R1 |
 \time 6/4
@@ -867,7 +867,7 @@ silencio.  De forma alternativa, un silencio multicompás se puede
 presentar como un solo compás que contiene un símbolo de silencio
 multicompás, con el número de compases impreso encima del compás:
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,verbatim,relative=2]
 % Default behavior
 \time 3/4 r2. | R2.*2 |
 \time 2/4 R2 |
@@ -899,7 +899,7 @@ Se pueden añadir elementos de marcado a los silencios multicompás.  Se
 proporciona la instrucción predefinida @code{\fermataMarkup} para
 añadir calderones.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
@@ -912,11 +912,11 @@ multicompás son objetos del tipo @code{MultiMeasureRestText}, no
 dirigidas hacia el objeto correcto, o se ignorarán.  Véase el ejemplo
 siguiente.}
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This fails, as the wrong object name is specified
 \override TextScript #'padding = #5
 R1^"wrong"
-% This is correct and works
+% This is the correct object name to be specified
 \override MultiMeasureRestText #'padding = #5
 R1^"right"
 @end lilypond
@@ -1104,7 +1104,7 @@ existentes se pueden cambiar, o pueden añadirse valores nuevos:
       #'(3 1)    % beatStructure
       #'()       % beamExceptions
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
   }
 }
 @end lilypond
@@ -1146,7 +1146,7 @@ compás se pueden restaurar a los valores originales:
 @lilypond[quote,verbatim]
 \score{
   \relative c' {
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
     \overrideTimeSignatureSettings
       #'Score                         % context
       #'(4 . 4)                       % timeSignatureFraction
@@ -1154,10 +1154,10 @@ compás se pueden restaurar a los valores originales:
       #'(3 1)                         % beatStructure
       #'((end . (((1 . 8) . (3 1))))) % beamExceptions
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
     \revertTimeSignatureSettings #'Score #'(4 . 4)
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
   }
 }
 @end lilypond
@@ -1389,7 +1389,7 @@ activarlos de nuevo use @code{\cadenzaOff}.
 @lilypond[verbatim,relative=2,quote]
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
@@ -1403,7 +1403,7 @@ la cadencia no existiera:
 \override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
@@ -1460,13 +1460,16 @@ Debemos crear un contexto de voz explícitamente al empezar una
 pieza con @code{\cadenzaOn}, pues en caso contrario pueden
 ocurrir algunos errores extraños.
 
-@lilypond[verbatim,relative=2,quote]
-\new Voice \relative c'{
-  \cadenzaOn
-  c16^"Solo Free Time" d e f g2. \bar "||"
-  \cadenzaOff
-}
-@end lilypond
+@example
+\new Voice @{
+  \relative c' @{
+    \cadenzaOn
+    c16[^"Solo Free Time" d e f] g2.
+    \bar "||"
+    \cadenzaOff
+  @}
+@}
+@end example
 
 @node Notación polimétrica
 @unnumberedsubsubsec Notación polimétrica
@@ -1513,7 +1516,7 @@ las duraciones que se muestran están multiplicadas por 3/5, pues 3/5 *
 forma manual, pues el escalado de las duraciones afecta a las reglas
 de barrado automático.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim]
 \relative c' <<
   \new Staff {
     \time 3/4
@@ -1730,7 +1733,6 @@ rasgueado.  Esto se puede hacer con el grabador
       c1 f g c
     }
   }
-
   \new Voice \with {
     \consists Pitch_squash_engraver
   } \relative c'' {
@@ -1795,7 +1797,7 @@ automáticamente:
 
 @lilypond[quote,verbatim,relative=2]
 \time 2/4 c8 c c c
-\time 6/8 c c c c8. c16 c8
+\time 6/8 c8 c c c8. c16 c8
 @end lilypond
 
 Cuando estas decisiones automáticas no son lo bastante buenas, se
@@ -2001,11 +2003,11 @@ barrado nuevo.}
 
 @lilypond[quote,relative=2,verbatim]
 \time 5/16
-c8^"beats" c16 c8 |
-\set beatStructure = #'(2 3)
-c8^"(2+3)" c16 c8
-\set beatStructure = #'(3 2)
-c8^"(3+2)" c16 c8
+c16^"default" c c c c |
+\set Timing.beatStructure = #'(2 3)
+c16^"(2+3)" c c c c |
+\set Timing.beatStructure = #'(3 2)
+c16^"(3+2)" c c c c |
 @end lilypond
 
 Los cambios en los ajustes de barrado se pueden limitar a contextos
@@ -2040,7 +2042,7 @@ pentagrama:
 @lilypond[quote,verbatim,relative=2]
 \time 7/8
 % rhythm 3-1-1-2
-% Context Voice specified --  does not work correctly
+% Change applied to Voice by default --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
 \set beatStructure = #'(3 1 1 2)
@@ -2056,14 +2058,14 @@ comportamiento predeterminado.  Esto se consigue mediante el
 ajuste de la indicación de compás.
 
 @lilypond[quote,verbatim,relative=2]
-\time 4/4
-\repeat unfold 8 {a8}
-% eliminate beam exception that groups beats 1, 2 and 3, 4
-\set Timing.beamExceptions = #'()
-\repeat unfold 8 {a8}
+\time 6/8
+\repeat unfold 6 { a8 }
+% group (4 + 2)
+\set Timing.beatStructure = #'(4 2)
+\repeat unfold 6 { a8 }
 % go back to default behavior
-\time 4/4
-\repeat unfold 8 {a8}
+\time 6/8
+\repeat unfold 6 { a8 }
 @end lilypond
 
 
@@ -2132,7 +2134,7 @@ especifican manualmente marcando los puntos de comienzo y final con
 @code{[} y @code{]}
 
 @lilypond[quote,relative=1,verbatim]
-r4 r8[ g' a r8] r8 g[ | a] r8
+r4 r8[ g' a r] r g[ | a] r
 @end lilypond
 
 @cindex barras manuales, abreviatura de dirección
@@ -2164,7 +2166,7 @@ de las barras de notas normales.
 @lilypond[quote,verbatim,relative=2]
 c4 d8[
 \grace { e32[ d c d] }
-e8] e8[ e
+e8] e[ e
 \grace { f16 }
 e8 e]
 @end lilypond
@@ -2713,10 +2715,10 @@ de un compás.
 @lilypond[quote,verbatim]
 pipeSymbol = \bar "||"
 {
-  c'2 c'2 |
-  c'2 c'2
-  c'2 | c'2
-  c'2 c'2
+  c'2 c' |
+  c'2 c'
+  c'2 | c'
+  c'2 c'
 }
 @end lilypond
 
index 9adb57549963a1e4b2c82cb486bd97eec64b03bf..6b0520b0917770240aa28b64c34b63111c178671 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 8e0330b913e0c7494282e6b00cebbf4dcee79b50
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @c Translation status: post-GDP
 
index 908b86d8f5e7204f271a4764b54d3ff99777f6f9..3efbfe70a345a436e1b02d399c3d7e86c5c8a0d8 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: af3c4ca42e348ec53b5034c50f3eeb435f7db05e
+    Translation of GIT committish: 7477d35aa8f656fa4ed82e186ad97109ee4fe108
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -142,6 +142,8 @@ Fragmentos de código:
 @subsection Formateo de las páginas
 @translationof Page formatting
 
+@funindex \paper
+
 Los márgenes, encabezamientos y pies de página y otras variables de
 diseño de página se establecen automáticamente de acuerdo con el
 tamaño del papel.
@@ -155,136 +157,237 @@ Esta sección relaciona y describe cierto número de variables del papel
 que se pueden alterar.
 
 @menu
-* Dimensiones verticales::
+* Dimensiones verticales fijas::
+* Dimensiones verticales flexibles::
 * Dimensiones horizontales::
 * Otras variables de diseño de página::
 @end menu
 
 
-@node Dimensiones verticales
-@unnumberedsubsubsec Dimensiones verticales
-@translationof Vertical dimensions
+@node Dimensiones verticales fijas
+@unnumberedsubsubsec Dimensiones verticales fijas
+@translationof Fixed vertical dimensions
 
-Estas variables se utilizan para establecer las diferentes dimensiones
-verticales de la página:
+@table @code
+@item paper-height
+@funindex paper-height
 
-@funindex \paper
+Altura de la página.  Valor predeterminado: altura del tamaño actual
+del papel.  Para ver más detalles, consulte @ref{Tamaño del papel}.
 
-@table @code
+@item top-margin
+@funindex top-margin
 
-@item markup-system-spacing
-@funindex markup-system-spacing
+Margen entre el extremo superior de la página y la parte superior del
+área imprimible.  Valor predeterminado: @code{5\mm}.
+
+@item bottom-margin
+@funindex bottom-margin
+
+Margen entre el extremo inferior del área imprimible y la parte
+inferior de la página.  Valor predeterminado: @code{6\mm}.
+@end table
+
+
+@node Dimensiones verticales flexibles
+@unnumberedsubsubsec Dimensiones verticales flexibles
+@translationof Flexible vertical dimensions
+
+En casi todos los casos es preferible que las distancias verticales
+entre ciertos elementos (como márgenes, títulos, sistemas y las
+distintas partituras) sean flexibles, de manera que se amplíen y
+compriman adecuadamente dependiendo de la situación.  Están
+disponibles un cierto número de variables del bloque @code{\paper}
+(relacionadas más abajo) para realizar un ajuste fino del
+comportamiento de estas dimensiones frente a su ampliación o
+compresión.
+
+Observe que las variables de @code{\paper} que se estudian en esta
+sección no controlan el espaciado de los pentagramas que están dentro
+de los sistemas individuales.  El espaciado dentro de los sistemas se
+controla por medio de propiedades de grob, con ajustes que se escriben
+normalmente dentro de un bloque @code{\score}, y no dentro del bloque
+@code{\paper}.  Véase @ref{Espaciado vertical entre sistemas}.
 
-Especifica cómo calcular el espacio entre un título (o un elemento de
-marcado del nivel superior) y el sistema que le sigue.  Es una lista
-asociativa con cinco componentes:
-@itemize @bullet
-@item @var{space}:
-cantidad de espacio que puede ensancharse entre la línea base de un
-título y el centro del pentagrama que le sigue;
-@item @var{padding}:
-cantidad mínima de espacio vacío que se debe dejar entre un título y
-el pentagrama que le sigue;
-@item @var{stretchability}:
-facilidad con que el espacio ensanchable aumenta cuando se estira una
-página.  Si es cero, la distancia al pentagrama siguiente no se
-ensancha en absoluto;
-@item @var{minimum-distance}:
-distancia mínima que poner entre la línea de base de un título y el
-centro del pentagrama que le sigue. Se diferencia de @var{padding} en
-que la altura de un pentagrama no tiene ningún efecto sobre la
-aplicación de @var{minimum-distance} (mientras que la altura del
-pentagrama es crucial para @var{padding}).
+
+@subsubheading Esctructura de las listas-A de espaciado para las variables de @code{\paper}
+
+Cada una de estas variables es una lista-A (lista asociativa) que
+contiene cuatro @emph{claves}:
+
+@itemize
+@item @code{padding} (relleno):
+mínimo espacio vertical vacío necesario entre dos elementos, medido en
+espacios de pentagrama.  Se puede pensar como la altura mínima de un
+rectángulo invisible que abarca desde el punto más a la izquierda
+hasta el situado más a la derecha de los elementos combinados.
+
+@item @code{space} (espacio):
+distancia vertical predeterminada, medida en espacios de pentagrama,
+entre los @emph{puntos de referencia} de los dos elementos, cuando no
+resulte ninguna colisión, y no se produzca ninguna ampliación o
+compresión.  El punto de referencia de un elemento de marcado (de
+título o del nivel jerárquico superior) es su punto más alto, y el
+punto de referencia de un sistema es la línea central del pentagrama
+más cercano.  Los valores de @code{space} menores de @code{padding} o
+de @code{minimum-distance} no son significativos, porque la distancia
+resultante nunca será menor de @code{padding} o de
+@code{minimum-distance}.
+
+@item @code{minimum-distance} (distancia mínima):
+la distancia vertical mínima requerida, medida en espacios de
+pentagrama, entre los puntos de referencia de los dos elementos,
+cuando se produce una compresión.  Los valores de
+@code{minimum-distance} menores de @code{padding} no son
+significativos, porque la distancia resultante nunca será menor de
+@code{padding}.
+
+@item @code{stretchability} (ampliabilidad):
+medida sin unidades de la propensión relativa de esta dimensión a
+ampliarse.  Si es cero, la distancia no se ampliará (a no ser que
+resultasen colisiones).  Si es positiva, la significación del valor de
+ampliabilidad de una dimensión concreta depende solamente de su
+relación con los valores de @code{stretchability} de las otras
+dimensiones.  Por ejemplo, si una dimensión tiene el doble de
+@code{stretchability} que otra, se ampliará con el doble de facilidad.
+Los valores deben ser no negativos y finitos.  El valor @code{+inf.0}
+desencadena un error de programación y se ignora, pero se puede usar
+@code{1.0e7} para un muelle casi infinitamente ampliable.  Si no se
+fija un valor, el valor predeterminado se establece a @code{space}.
+Observe que la propensión de la dimensión a @emph{comprimirse} no se
+puede establecer directamente por el usuario y es igual a
+(@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
+@end itemize
+
+Si una página tiene un margen inferior no justificado, la distancia
+resultante es la mayor de:
+
+@itemize
+@item @code{space},
+@item @code{minimum-distance}, y
+@item @code{padding} más la menor distancia necesaria para eliminar las colisiones.
 @end itemize
 
-Por ejemplo, los valores predeterminados son:
+
+@subsubheading Modificación de las listas-A de espaciado para variables de @code{\paper}
+
+Para fijar o modificar una sola clave para una variable de dimensión,
+utilice una declaración anidada:
 
 @example
-markup-system-spacing = #'((space . 2) (padding . 0.5))
+\paper @{
+  system-system-spacing #'space = #10
+@}
 @end example
 
+Esto actualiza la clave especificada sin alterar ninguna de las otras
+claves ya establecidas para la misma variable.  Para redefinir
+completamente una variable con una declaración, defínala como una
+lista-A:
 
-Si una página tiene la parte de abajo no ajustada, @var{space} no se
-ensancha.  Concretamente, la distancia que resulta sobre esta página
-es la mayor de
-@itemize @bullet
-@item @var{space},
-@item @var{minimum-distance}, y
-@item @var{padding} más la menor distancia necesaria para eliminar la superposición.
-@end itemize
+@example
+\paper @{
+  system-system-spacing =
+    #'((padding . 1)
+       (space . 12)
+       (minimum-distance . 8)
+       (stretchability . 12))
+@}
+@end example
+
+Sin embargo, observe que cualquier clave que no esté relacionada en la
+definición de una lista-A aún se sobreescribirá; se restablecerán al
+valor cero (excepto @code{stretchability}, que toma el valor de
+@code{space}).  Así, las dos declaraciones siguientes son equivalentes:
+
+@example
+system-system-spacing =
+  #'((space . 10))
+
+system-system-spacing =
+  #'((padding . 0)
+     (space . 10)
+     (minimum-distance . 0)
+     (stretchability . 10))
+@end example
+
+Una consecuencia posiblemente no intencionada del ejemplo anterior es
+la eliminación de los valores predeterminados para @code{padding} y
+@code{minimum-distance}.  Definir una variable como una lista-A (de
+cualquier tamaño) siempre restablece todos sus valores de clave
+predeterminados.  Los ajustes predeterminados para las dimensiones
+flexibles verticales de @code{\paper} están definidas en
+@file{ly/paper-defaults-init.ly}.
+
+
+@subsubheading Variables de dimensión de @code{\paper} verticales flexibles
+
+Los nombres de estas variables siguen el formato
+@code{@var{superior}-@var{inferior}-spacing}, donde
+@code{@var{superior}} e @code{@var{inferior}} son los elementos que
+van a ser espaciados.  Cada distancia se mide entre los puntos de
+referencia de los dos elementos: el punto de referencia de un elemento
+de marcado (de título o de nivel superior) es su punto más alto, y el
+punto de referencia de un sistema es la línea central de pentagrama
+más cercano.  Observe que en estos nombres de variable, el término
+@q{@code{markup}} se refiere tanto a @emph{elementos de marcado de
+título} (@code{bookTitleMarkup} o @code{scoreTitleMarkup}) como a
+@emph{elementos de marcado del nivel superior} (véase @ref{Estructura
+del archivo}).
+
+@table @code
+@item markup-system-spacing
+@funindex markup-system-spacing
+
+distancia entre un elemento de marcado (de título o del nivel
+superior) y el sistema que le sigue.
 
 @item score-markup-spacing
 @funindex score-markup-spacing
 
-Especifica el espacio entre un sistema y el título (o elemento de
-marcado del nivel superior) que le sigue.  Las distancias se miden a
-partir del centro del último pentagrama del sistema hasta la línea de
-base del título que le sigue.  Véase @var{markup-system-spacing}.
+distancia entre el último sistema de una partitura y el elemento de
+marcado (de título o del nivel superior) que le sigue.
 
 @item score-system-spacing
 @funindex score-system-spacing
 
-Especifica el espacio entre dos sistemas si están en diferentes
-partituras, pero no hay ningún título entre ellas. Véase
-@var{markup-system-spacing}.
+distancia entre el último sistema de una partitura y el primer sistema
+de la partitura que le sigue, cuando no existe ningún elemento de
+marcado (de título o del nivel superior) entre ellos.
 
 @item system-system-spacing
 @funindex system-system-spacing
 
-Especifica el espacio entre el centro del pentagrama inferior de un
-sistema y el centro del pentagrama superior del sistema siguiente.
-Véase @var{markup-system-spacing}.
+distancia entre dos sistemas dentro de la misma partitura.
 
 @item markup-markup-spacing
 @funindex markup-markup-spacing
 
-Especifica el espacio entre dos títulos (o elementos de marcado del
-nivel superior).  Las distancias se miden a partir de la línea de base
-de del primer título hasta la línea de base del segundo.  Véase
-@var{markup-system-spacing}.
-
-@item bottom-margin
-@funindex bottom-margin
-
-Margen entre el pie y el final de la página.  Valor predeterminado:
-@code{6\mm}.
+distancia entre dos elementos de marcado (de título o del nivel
+superior).
 
 @item last-bottom-spacing
 @funindex last-bottom-spacing
 
-Especifica el espacio desde el centro del último pentagrama (o la
-línea de base del último elemento de marcado del nivel superior) hasta
-el final del área imprimible (es decir, el límite superior del margen
-inferior).  Véase @var{markup-system-spacing}.
-
-@item top-markup-spacing
-@funindex top-markup-spacing
-
-Especifica el espacio desde el principio del área imprimible (es
-decir, el límite inferior del margen superior) hasta la línea de base
-del título.  Véase @var{markup-system-spacing}.
+distancia desde el último sistema o elemento de marcado del nivel
+superior en una página, hasta la parte inferior de la zona imprimible
+(es decir, el extremo superior del margen inferior).
 
 @item top-system-spacing
 @funindex top-system-spacing
 
-Especifica el espacio desde el principio del área imprimible (es
-decir, el límite inferior del margen superior) hasta el centro del
-primer pentagrama.  Sólo tiene efecto si no hay ningún título al
-principio de la página (en cuyo caso se utiliza en su lugar
-@var{top-markup-spacing}).  Véase @var{markup-system-spacing}.
+distancia desde la parte superior de la zona imprimible (es decir, el
+extremo inferior del margen superior) hasta el primer sistema de una
+página, cuando no hay ningún elemento de marcado (de título o del
+nivel superior) entre los dos.
 
-@item paper-height
-@funindex paper-height
-
-Altura de la página.  Predeterminado: altura del tamaño actual del
-papel.  Para ver más detalles, consulte @ref{Tamaño del papel}.
-
-@item top-margin
-@funindex top-margin
-
-Margen entre el encabezamiento y la parte alta del papel.
-Predeterminado: @code{5\mm}.
+@item top-markup-spacing
+@funindex top-markup-spacing
 
+distancia desde el extremo superior de la zona imprimible (es decir,
+el extremo inferior del margen superior) hasta el primer elemento de
+marcado (de título o del nivel superior) sobre una página, cuando no
+hay ningún sistema entre los dos.
 @end table
 
 
@@ -305,7 +408,7 @@ ella.
 Se pueden definir valores del bloque @code{\paper} en Scheme.  En tal
 caso, @code{mm}, @code{in}, @code{pt}, y @code{cm} son variables que
 están definidas en @file{paper-defaults.ly} con valores en milímetros.
-Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
+Por ello el valor @w{@code{2 cm}} se debe multiplicar en el siguiente ejemplo:
 
 @example
 \paper @{
@@ -343,30 +446,6 @@ papel.
 @}
 @end example
 
-También podemos definir estos valores en Scheme.  En tal caso,
-@code{mm}, @code{in}, @code{pt} y @code{cm} son variables definidas en
-@file{paper@/-defaults@/-init@/.ly} con valores en milímetros.  Es la
-razón por la que el valor se debe multiplicar en el ejemplo
-
-@example
-\paper @{
-  #(define bottom-margin (* 2 cm))
-@}
-@end example
-
-El encabezamiento y el pie se crean por parte de las funciones
-@code{make-footer} y @code{make-header}, definidas en @code{\paper}.
-Las implementaciones predeterminadas están en
-@file{ly/@/paper@/-defaults@/-init@/.ly} y en
-@file{ly/@/titling@/-init@/.ly}.
-
-La propia disposición de la página se realiza por parte de dos
-funciones del bloque @code{\paper}, @code{page-music-height} y
-@code{page-make-stencil}.  La primera dice al algoritmo de saltos de
-línea cuánto espacio se puede emplear en la página, y la segunda crea
-la página en sí dado el sistema que poner en ella.
-
-
 @seealso
 Referencia de la notación:
 @ref{Espaciado vertical entre sistemas}.
@@ -1357,7 +1436,6 @@ directamente entremezclado dentro del código de notas.
 @}
 @end example
 
-
 Esto hace sencillas de introducir a las instrucciones @code{\break} y
 @code{\pageBreak}, pero mezcla la escritura de música con información
 que especifica cómo se debe disponer la música sobre la página.
@@ -1617,7 +1695,7 @@ de letra y el pentagrama a que no pertenece.
 \layout {
   \context {
     \Lyrics
-    % By default, Lyrics are placed close together. Here, we allow them to
+    % By default, Lyrics are placed close together.  Here, we allow them to
     % be stretched more widely.
     \override VerticalAxisGroup
       #'inter-loose-line-spacing #'stretchability = #1000
@@ -1693,7 +1771,8 @@ estas variables ignoran las líneas que nos son pautas.  Por ejemplo,
 media del pentagrama inferior de un sistema hasta la línea del
 pentagrama superior del sistema siguiente, tanto si hay letra debajo
 del sistema superior como si no.  Consulte @ref{Dimensiones
-verticales} para ver una descripción de cada una de dichas variables.
+verticales flexibles} para ver una descripción de cada una
+de dichas variables.
 
 Aún hay otras dos variables del bloque @code{\paper} que afectan al
 espaciado vertical: si @var{ragged-bottom} está ajustado a @code{##t},
@@ -2341,8 +2420,6 @@ ocupa su longitud horizontal natural.
 @c stretch as the previous line.  eTeX uses \lastlinefit to
 @c interpolate between both these solutions.
 
-@c interesting! -FV
-
 @example
 \layout @{
   indent = #0
@@ -2809,6 +2886,7 @@ página, establezca @code{annotate-spacing} en el bloque @code{\paper}:
 }
 @end lilypond
 
+
 @noindent
 Todas las dimensiones de disposición se muestran en espacios de
 pentagrama, independientemente de las unidades especificadas en los
index f86aee88112786280ec498007b628632f7ac9109..770857006b0543fc26b2e617b2721c9e01a71e78 100644 (file)
@@ -1,13 +1,13 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 3dd9b13331489a191d0e901245cc98476e5fcac1
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Notación especializada
 @chapter Notación especializada
index e2e209c3db4cca6f1f3e45d7d6d66d31a87c6fb8..d3bbcff780917aa64fec21e963f670cc508e85a4 100644 (file)
@@ -1,13 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 8e0330b913e0c7494282e6b00cebbf4dcee79b50
+    Translation of GIT committish: fbc66ca73dac98eb538791022eeab66e7d5c3c1a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Notación de los pentagramas
 @section Notación de los pentagramas
index 06e073bd495e49a0405ba25c8239b8c97482d767..9aee4743e41fa3308a1dfa4be12b540e031823a8 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: ab33677eec38b683b5a5223bf7aa5f4bed38549c
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Instrumentos de cuerda sin trastes
 @section Instrumentos de cuerda sin trastes
index 0a11d977ed053084f60eed5568372d119c857226..2cc158a69e1a8bee252f01d93493b6fa0e157e09 100644 (file)
@@ -1,15 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 01097a2a0d059f418cf7803d6c83c41ecc639110
+    Translation of GIT committish: 23e9acfb081e6d194b63fa185bf54b34bb425c59
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
-
+@c \version "2.13.36"
 
 @node Música vocal
 @section Música vocal
@@ -57,7 +56,7 @@ tipos de música vocal.
 @translationof References for vocal music
 
 Esta sección indica dónde encontrar los detalles de las cuestiones de
-notación que pueden surgir en cualquie tipo de música vocal.
+notación que pueden surgir en cualquier tipo de música vocal.
 
 @itemize
 
@@ -84,72 +83,83 @@ principio de los pentagramas vocales, como se explica en
 Glosario musical:
 @rglos{ambitus}.
 
+Fragmentos de código:
+@rlsr{Vocal music}.
 
 @node Introducir la letra
 @unnumberedsubsubsec Introducir la letra
 @translationof Entering lyrics
 
 @cindex letra
-@funindex \lyricmode
+@cindex lyrics, entering
+@cindex entering lyrics
+@cindex punctuation in lyrics
+@cindex lyrics punctuation
+@cindex spaces in lyrics
+@cindex quotes in lyrics
 @cindex puntuación
 @cindex espacios, en la letra
 @cindex comillas, en la letra
+@funindex \lyricmode
 
-@c FIXME: this section is to be rewritten.
-Dado que los archivos de entrada de LilyPond son de texto, existe al
-menos un asunto que tener en cuenta al trabajar con música vocal: los
-textos de las canciones se deben interpretar como texto, no como
-notas.  Por ejemplo, la entrada@tie{}@code{d} debe interpretarse como
-una sílaba de una sola letra, no como la nota@tie{}Re.  Por tanto se
-hace necesario utilizar un modo especial para la letra, ya sea
-explícitamente o mediante el uso de métodos abreviados.
+@c TODO should we explain hyphens here
 
 La letra de las canciones se introduce en un modo de entrada especial
 que se inicia mediante la palabra clave @code{\lyricmode}, o bien
-mediante @code{\addlyrics} ó @code{\lyricsto}.  En este modo puede
-introducir la letra, con puntuación y acentos, y el carácter @code{d}
-no se analiza como una nota, sino más bien como una sílaba de una sola
-letra.  Las sílabas se introducen como las notas, pero con texto en
-lugar de alturas de nota.  Por ejemplo,
+mediante @code{\addlyrics} ó @code{\lyricsto}.  En este modo especial
+de entrada, el carácter @code{d} no se analiza como una nota, sino más
+bien como una sílaba de una sola letra.  Dicho de otra forma, las
+sílabas se introducen como las notas, pero la altura de las notas se
+sustituye por texto.
 
+Por ejemplo:
+
+@c TODO translate -FV
 @example
-\lyricmode @{ Cam-4 pa-4 ni- ta del- lu- gar2 @}
+\lyricmode @{ Three4 blind mice,2 three4 blind mice2 @}
 @end example
 
+
 Existen dos métodos principales para especificar la colocación
-horizontal de las sílabas, bien especificando la duración de cada
-sílaba de forma explícita, como en el ejemplo anterior, o bien
-alineando automáticamente la letra a la melodía o a cualquier otra
-voz, usando @code{\addlyrics} o @code{\lyricsto}.
-@c  TODO: broken
-@c For more details see @ref{The Lyrics context}.
-
-Una palabra o sílaba de la letra comienza con un carácter alfabético,
-y termina con cualquier espacio o dígito.  Los caracteres que siguen
-pueden ser cualesquiera excepto un dígito o un espacio.
-
-Cualquier carácter excepto un dígito o un espacio en blanco se
-considera parte de una sílaba; esto tiene una importante consecuencia,
-y es que una palabra puede terminar en @code{@}}, lo que con
-frecuencia conduce al siguiente error:
+horizontal de las sílabas: mediante la indicación de la duración de
+cada sílaba explícitamente, como en el ejemplo anterior, o dejando que
+la letra se alinee automáticamente con una melodía u otra voz de
+música, utilizando @code{\addlyrics} o @code{\lyricsto}.  El primer
+método se describe a continuación bajo el epígrafe @ref{Duración
+manual de las sílabas}.  El segundo método se describe en
+@ref{Duración automática de las sílabas}.
+
+Una palabra o sílaba de la letra comienza con un carácter alfabético
+(y algunos otros caracteres, véase más abajo) y termina con un espacio
+o un dígito.  El resto de los caracteres dentro de la sílaba pueden
+ser cualesquier caracteres que no sean dígitos o espacios.
+
+A causa de que cualquier carácter que no es un dígito o un espacio se
+considera parte de la sílaba, una palabra es válida incluso si termina
+con @code{@}}, lo que a menudo lleva al siguiente fallo:
 
 @example
-\lyricmode @{ la- la@}
+\lyricmode @{ la la la@}
 @end example
 
 En este ejemplo, el símbolo @code{@}} se encuentra incluido dentro de
 la sílaba final, por tanto la llave de apertura no se compensa con la
 correspondiente llave de cierre y el archivo de entrada probablemente
-no se podrá procesar.
+no se podrá procesar.  En vez de ello, las llaves siempre deben ir
+rodeadas por espacios:
 
+@example
+\lyricmode @{ la la la @}
+@end example
 
+@cindex sobreescrituras en el modo de letra
 @funindex \property dentro de \lyricmode
 
-@noindent
-De forma similar, un punto que sigue a una secuencia alfabética queda
-incluido dentro de la cadena resultante.  Como consecuencia, se deben
-insertar espacios antes y después de los comandos de propiedades:
-@emph{no} escriba
+De forma similar, en el modo de letra, un punto ortográfico se
+incluirá dentro de la secuencia alfabética a la que sigue.  Como
+consecuencia, se deben insertar espacios antes y después del punto
+dentro de las instrucciones @code{\override}.  @emph{No} escriba lo
+siguiente:
 
 @example
 \override Score.LyricText #'font-shape = #'italic
@@ -162,161 +172,251 @@ sino lo siguiente:
 \override Score . LyricText #'font-shape = #'italic
 @end example
 
-Para escribir letra con caracteres de una lengua no inglesa, o que
-tenga caracteres acentuados o especiales (como el símbolo del corazón
-o comillas inclinadas), introduzca simplemente los caracteres
-directamente en el archivo de entrada y guárdelo con una codificación
-utf-8.  Consulte @ref{Codificación del texto}, para ver más información.
+Los signos de puntuación, las letras con caracteres acentuados o de
+cualquier idioma distinto del inglés, o los caracteres especiales
+(como el símbolo del corazón o las comillas inclinadas), se pueden
+insertar directamente en el archivo de entrada, siempre que éste se
+grabe con la codificación UTF-8.  Para más información, consulte
+@ref{Codificación del texto}.
 
-@c FIXME: quotes.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\relative c' { e4 f e d e f e2 }
-\addlyrics { He said: “Let my peo ple go”. }
+@lilypond[quote,verbatim]
+\relative c'' { d8 c16 a bes8 f e' d c4 }
+\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }
 @end lilypond
 
-Para utilizar comillas normales en la letra, escriba una barra
-invertida antes de las comillas.  Por ejemplo,
+Se pueden usar las comillas normales dentro de la letra, pero deben ir
+precedidas por el carácter de barra invertida y la sílaba en su
+conjunto se debe encerrar en otro par de comillas.  Por ejemplo,
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,verbatim]
 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
-\addlyrics { "\"I" am so lone- "ly\"" said she }
+\addlyrics { "\"I" am so lone -- "ly,\"" said she }
 @end lilypond
 
 La definición completa del comienzo de una palabra en el modo Lyrics
-(letra) es algo más compleja.
-
-Una palabra en el modo Lyrics comienza por: un carácter alfabético,
-@code{_}, @code{?}, @code{!}, @code{:}, @code{'}, los caracteres de
-control desde @code{^A} hasta @code{^F}, desde @code{^Q} hasta
-@code{^W}, @code{^Y}, @code{^^}, cualquier carácter de 8 bits con
-código ASCII por encima del 127, o una combinación de dos caracteres
-consistente en la combinación de una barra invertida seguida por
-@code{`}, @code{'}, @code{"} ó @code{^}.
+(letra) es algo más compleja.  Una palabra en el modo Lyrics comienza
+por: un carácter alfabético, @code{_}, @code{?}, @code{!}, @code{:},
+@code{'}, los caracteres de control desde @code{^A} hasta @code{^F},
+desde @code{^Q} hasta @code{^W}, @code{^Y}, @code{^^}, cualquier
+carácter de 8 bits con código ASCII por encima del 127, o una
+combinación de dos caracteres consistente en la combinación de una
+barra invertida seguida por @code{`}, @code{'}, @code{"} ó @code{^}.
 
 @c " to balance double quotes for not-so-bright context-sensitive editors
 
-Para definir identificadores que contengan letra, se debe usar la
-función @code{lyricmode}.
-
-@example
-verseOne = \lyricmode @{ Joy to the world the Lord is come @}
-\score @{
-  <<
-    \new Voice = "one" \relative c'' @{
-      \autoBeamOff
-      \time 2/4
-      c4 b8. a16 g4. f8 e4 d c2
-    @}
-    \addlyrics @{ \verseOne @}
-  >>
-@}
-@end example
-
-
 @seealso
+Manual de aprendizaje:
+@rlearning{Canciones}.
+
 Referencia de la notación:
-@ref{Tipografías}.
+@ref{Duración automática de las sílabas},
+@ref{Tipografías},
+@ref{Modos de entrada},
+@ref{Duración manual de las sílabas}.
 
 Referencia de funcionamiento interno:
-@rinternals{LyricText},
-@rinternals{LyricSpace}.
+@rinternals{LyricText}.
 
 
 @node Alineación de la letra a una melodía
 @unnumberedsubsubsec Alineación de la letra a una melodía
 @translationof Aligning lyrics to a melody
 
+@cindex letra, alineación a una melodía
+@cindex @code{associatedVoice}
 @funindex \lyricmode
 @funindex \addlyrics
 @funindex \lyricsto
 
-La alineación del texto con las melodías se puede hacer
-automáticamente, pero si especificamos las duraciones de las sílabas
-también puede hacerse de forma manual.  La alineación y el
-tipografiado de la letra se preparan con la ayuda de saltos o
-@i{skips}, guiones y líneas extensoras.
-
-La letra se imprime a través de su interpretación dentro del contexto
-llamado @code{Lyrics}; véase @rinternals{Lyrics} para más información.
+La letra se imprime mediante su interpretación dentro del contexto
+llamado @code{Lyrics}, véase @ref{Explicación de los contextos}.
 
 @example
-\new Lyrics \lyricmode @dots{}
+\new Lyrics \lyricmode @{ @dots{} @}
 @end example
 
-Existen dos métodos principales para especificar la colocación
-horizontal de las sílabas:
+La letra se puede alinear con la melodía de dos maneras principales:
 
 @itemize
+
 @item
-alineando automáticamente el texto a una melodía o a otra voz,
-utilizando @code{\addlyrics} o @code{\lyricsto}
+Se puede alinear la letra automáticamente, tomándose las duraciones de
+las sílabas de otra voz de música, o (en circunstancias especiales)
+una melodía asociada, usando @code{\addlyrics}, @code{\lyricsto}, o
+estableciendo el valor de la propiedad @code{associatedVoice}.  Para
+ver más detalles, consulte @ref{Duración automática de las sílabas}.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \new Staff <<
+    \time 2/4
+    \new Voice = "one" \relative c'' {
+      \voiceOne
+      c4 b8. a16 g4. r8 a4 ( b ) c2
+    }
+    \new Voice = "two" \relative c' {
+      \voiceTwo
+       s2 s4. f8 e4 d c2
+    }
+  >>
+
+% takes durations and alignment from notes in "one"
+  \new Lyrics \lyricsto "one" {
+    Life is __ _ love, live __ life.
+  }
+
+% takes durations and alignment from notes in "one" initially
+% then switches to "two"
+  \new Lyrics \lyricsto "one" {
+    No more let
+    \set associatedVoice = "two"  % must be set one syllable early
+    sins and sor -- rows grow.
+  }
+>>
+@end lilypond
+
+La primera línea de letra muestra la forma normal de introducir la
+letra.
+
+La segunda línea de texto muestra cómo se puede cambiar la voz de la
+que se toman las duraciones para las sílabas.  Esto es útil si el
+texto de las distintas estrofas corresponde a las mismas notas de
+formas diferentes, y todas las duraciones están disponibles dentro de
+contextos de voz.  Para ver más detalles, consulte @ref{Versos}.
 
 @item
-o especificando la duración de cada sílaba explícitamente, utilizando
-@code{\lyricmode}
+El texto se puede alinear independientemente de la duración de
+cualquier nota si las duraciones de de las sílabas se especifican
+explícitamente, y se escriben con @code{\lyricmode}.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \new Voice = "one" \relative c'' {
+    \time 2/4
+    c4 b8. a16 g4. f8 e4 d c2
+  }
+
+% uses previous explicit duration of 2;
+  \new Lyrics \lyricmode {
+    Joy to the earth!
+  }
+
+% explicit durations, set to a different rhythm
+  \new Lyrics \lyricmode {
+    Life4 is love,2. live4 life.2
+  }
+>>
+@end lilypond
+
+El primer verso no está alineado con las notas porque no se
+especificaron las duraciones, y se utiliza el valor previo de 2
+(blanca) para todas las sílabas.
+
+El segundo verso muestra cómo las palabras se pueden alinear de forma
+independiente de las notas.  Esto es útil si el texto de los distintos
+versos se corresponde con las notas de maneras diferentes, pero las
+duraciones requeridas no están disponibles en un contexto de música.
+Para ver más detalles, consulte @ref{Duración manual de las sílabas}.
+Esta técnica también es útil cuando se quiere preparar un diálogo
+encima de la música; para ver ejemplos que lo muestran, consulte
+@ref{Diálogos encima de la música}.
+
+Cuando se escriben de esta forma, las sílabas del texto se alinean por
+la izquierda con las notas, de forma predeterminada, pero se pueden
+centrar sobre las notas de una melodía especificando una voz asociada,
+si existe.  Para ver más detalles, consulte @ref{Duración manual de
+las sílabas}.
+
 @end itemize
 
-El contexto @code{Voice} que contiene la melodía con la que se está
-alineando la letra no debe haber @qq{muerto}, o se perderá la letra
-después de ese punto.  Esto puede ocurrir si existen períodos en los
-que dicha voz no tiene nada que hacer.  Para ver métodos de mantener
-vivos los contextos, consulte @ref{Mantener vivos los contextos}.
+@seealso
+Manual de aprendizaje:
+@rlearning{Alineación de la letra a una melodía}.
 
+Referencia de funcionamiento interno:
+@rinternals{Lyrics}.
 
 @node Duración automática de las sílabas
 @unnumberedsubsubsec Duración automática de las sílabas
 @translationof Automatic syllable durations
 
-@cindex sílabas, duraciones automáticas
+@cindex sílabas, duración automática de las
 @cindex letra y melodías
+@cindex associatedVoice
+@funindex \addlyrics
+@funindex \lyricsto
 
-La letra se puede alinear automáticamente bajo una melodía dada.  Esto
-se consigue combinando la melodía y el texto con la expresión
-@code{\lyricsto}
+Las sílabas de la letra se pueden alinear automáticamente con las
+notas de una melodía de tres formas:
 
-@example
-\new Lyrics \lyricsto @var{nombre} @dots{}
-@end example
+@itemize
 
-@noindent
-Esto alinea la letra a las notas del contexto de @code{Voice}
-llamado @var{nombre}, que debe existir previamente.  Por ello la
-@code{Voice} normalmente se especifica en primer lugar, y después se
-especifica la letra con @code{\lyricsto}.  La instrucción
-@code{\lyricsto} cambia automáticamente al modo @code{\lyricmode}, por
-lo que la palabra clave @code{\lyricmode} se puede omitir.
-
-El ejemplo siguiente utiliza comandos diferentes para introducir la
-letra.
+@item
+especificando por su nombre el contexto Voice que contiene la melodía,
+con @code{\lyricsto},
 
-@lilypond[quote,fragment,ragged-right,verbatim]
-<<
-  \new Voice = "one" \relative c'' {
-    \autoBeamOff
-    \time 2/4
-    c4 b8. a16 g4. f8 e4 d c2
-  }
+@item
+introduciendo la letra con @code{\addlyrics} y colocándola
+inmediatamente después del contexto de voz que contiene la melodía,
+
+@item
+estableciendo un valor para la propiedad @code{associatedVoice}, la
+alineación de la letra se puede mover a un contexto de voz distinto,
+especificado por su nombre, en cualquier momento musical.
+
+@end itemize
+
+En los tres métodos se pueden trazar guiones de separación entre las
+sílabas de una palabra y líneas extensoras después del final de una
+palabra.  Para ver más detalles, véase @ref{Líneas de extensión y
+guiones}.
+
+El contexto @code{Voice} que contiene la melodía con que se está
+alineando la letra, no debe haber @qq{muerto}, o se perderá la letra a
+partir de este punto.  Esto puede ocurrir si existen períodos en que
+dicha voz no tiene nada que hacer.  Para ver métodos para mantener
+vivos los contextos, consulte @ref{Mantener vivos los contextos}.
+
+@subheading Uso de @code{\lyricsto}
 
-% not recommended: left-aligned syllables
-  \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
+@cindex \lyricsto
+@funindex \lyricsto
 
-% wrong: durations needed
-  \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
+Las sílabas de la letra se pueden alinear automáticamente bajo las
+notas de una melodía especificando por su nombre el contexto de voz
+que contiene la melodía, con @code{\lyricsto}:
 
-%correct
-  \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
+@lilypond[quote,verbatim,relative=2]
+<<
+  \new Voice = "melody" {
+    a4 a a a
+  }
+  \new Lyrics \lyricsto "melody" {
+    These are the words
+  }
 >>
 @end lilypond
 
-El segundo verso no está bien alineado porque las duraciones
-no se han especificado.  Una solución para eso sería usar @code{\lyricsto}.
+@noindent
+Esto alinea las sílabas con las notas del contexto @code{Voice}
+nombrado, que debe existir previamente.  Por tanto, normalmente se
+especifica primero el contexto @code{Voice} seguido del contexto
+@code{Lyrics}.  La letra en sí sigue a la instrucción
+@code{\lyricsto}.  La instrucción @code{\lyricsto} invoca
+automáticamente el modo de letra, por lo que la palabra clave
+@code{\lyricmode} se puede omitir.  De forma predeterminada, la letra
+se coloca por debajo de las notas.  Para otras colocaciones, consulte
+@ref{Posicionamiento vertical de la letra}.
+
+
+@subheading Uso de @code{\addlyrics}
 
 @cindex \addlyrics
+@funindex \addlyrics
 
-El comando @code{\addlyrics} es realmente tan sólo una forma cómoda de
-escribir una estructura de LilyPond más complicada que establece la
-letra.
+La instrucción @code{\addlyrics} es realmente tan sólo una forma
+cómoda de escribir una estructura de LilyPond más complicada que
+establece la letra.
 
 @example
 @{ MÚSICA @}
@@ -333,10 +433,12 @@ es lo mismo que
 
 He aquí un ejemplo:
 
-@lilypond[ragged-right,verbatim,fragment,quote]
-\time 3/4
-\relative c' { c2 e4 g2. }
-\addlyrics { play the game }
+@lilypond[verbatim,quote]
+{
+  \time 3/4
+  \relative c' { c2 e4 g2. }
+  \addlyrics { play the game }
+}
 @end lilypond
 
 Se pueden añadir más versos poniendo más secciones @code{\addlyrics}:
@@ -350,51 +452,132 @@ Se pueden añadir más versos poniendo más secciones @code{\addlyrics}:
 @end lilypond
 
 La instrucción @code{\addlyrics} no es capaz de manejar situaciones de
-polifonía.  Para estos casos debería usar @code{\lyricsto} y
-@code{\lyricmode}, para ver más detalles consulte @ref{Introducir la
-letra}.
+polifonía.  Para estos casos debería usar @code{\lyricsto}.
 
+@subheading Uso de @code{associatedVoice}
+
+Se puede cambiar la melodía a la que se alinea la letra mediante el
+establecimiento de la propiedad @code{associatedVoice},
+
+@example
+\set associatedVoice = #"lala"
+@end example
+
+@noindent
+
+El valor de la propiedad (aquí: @code{"lala"}) debe ser el nombre de
+un contexto @code{Voice}.  Por razones técnicas, la instrucción
+@code{\set} se debe escribir una sílaba antes de aquella a la que se
+quiere aplicar el cambio de voz.
+
+He aquí un ejemplo que muestra su uso:
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \new Staff <<
+    \time 2/4
+    \new Voice = "one" \relative c'' {
+      \voiceOne
+      c4 b8. a16 g4. r8 a4 ( b ) c2
+    }
+    \new Voice = "two" \relative c' {
+      \voiceTwo
+       s2 s4. f8 e8 d4. c2
+    }
+  >>
+% takes durations and alignment from notes in "one" initially
+% then switches to "two"
+  \new Lyrics \lyricsto "one" {
+    No more let
+    \set associatedVoice = "two"  % must be set one syllable early
+    sins and sor -- rows grow.
+  }
+>>
+@end lilypond
+
+@seealso
+Referencia de la notación:
+@ref{Líneas de extensión y guiones},
+@ref{Mantener vivos los contextos}.
 
 @node Duración manual de las sílabas
 @unnumberedsubsubsec Duración manual de las sílabas
 @translationof Manual syllable durations
 
-El texto también se puede introducir sin @code{\addlyrics} ni
-@code{\lyricsto}.  En este caso, las sílabas se escriben como notas
-(pero con las alturas sustituidas por texto) y la duración de cada
-sílaba se debe escribir explícitamente.  Por ejemplo:
+En ciertas músicas vocales complejas puede ser deseable colocar la
+letra de forma completamente independiente de las notas.  En este
+caso, no use @code{\lyricsto} ni @code{\addlyrics} y no establezca un
+valor para @code{associatedVoice}.  Las sílabas se escriben como notas
+-- pero sustituyendo los nombres de las notas por texto -- y la
+duración de cada sílaba se escribe explícitamente después de la
+sílaba.
 
-@example
-play2 the4 game2.
-sink2 or4 swim2.
-@end example
+De forma predeterminada, las sílabas se alinean por la izquierda con
+el momento musical correspondiente.  Se pueden trazar líneas
+separadores entre las sílabas, como es usual, pero no se pueden trazar
+líneas extensoras cuando no hay una voz asociada.
 
-La alineación respecto de una melodía se puede especificar con la
-propiedad @code{associatedVoice},
+He aquí dos ejemplos:
 
-@example
-\set associatedVoice = #"lala"
-@end example
+@lilypond[relative=1,verbatim,quote]
+<<
+  \new Voice = "melody" {
+    \time 3/4
+    c2 e4 g2 f
+  }
+  \new Lyrics \lyricmode {
+    play1 the4 game4
+  }
+>>
+@end lilypond
 
-@noindent
-El valor de la propiedad (aquí: @code{"lala"}) ha de ser el nombre de
-un contexto de @code{Voice}.  Sin este ajuste, las líneas de
-extensión no se formatearán correctamente.
 
-Presentamos a continuación un ejemplo que muestra el uso de las
-duraciones manuales de las sílabas del texto:
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \new Staff {
+    \relative c'' {
+      c2 c2
+      d1
+    }
+  }
+  \new Lyrics {
+    \lyricmode {
+      I2 like4. my8 cat!1
+    }
+  }
+  \new Staff {
+    \relative c' {
+      c8 c c c c c c c
+      c8 c c c c c c c
+    }
+  }
+>>
+@end lilypond
+
+Esta técnica es muy útil cuando se escriben diálogos encima de la
+música, véase @ref{Diálogos encima de la música}.
+
+Para centrar las sílabas sobre las notas en sus momentos musicales
+correspondientes, ajuste @code{associatedVoice} al nombre del contexto
+de voz que contiene dichas notas.  Cuando está establecido el valor de
+@code{associatedVoice}, se pueden usar tanto dobles guiones como
+dobles barras bajas para trazar correctamente guiones separadores y
+líneas extensoras bajos los melismas.
 
-@lilypond[relative=1,ragged-right,verbatim,fragment,quote]
-<< \new Voice = "melody" {
+@lilypond[relative=1,verbatim,quote]
+<<
+  \new Voice = "melody" {
     \time 3/4
-    c2 e4 g2.
- }
- \new Lyrics \lyricmode {
-   \set associatedVoice = #"melody"
-   play2 the4 game2.
- } >>
+    c2 e4 g f g
+  }
+  \new Lyrics \lyricmode {
+    \set associatedVoice = #"melody"
+    play2 the4 game2. __
+  }
+>>
 @end lilypond
 
+@c TODO see also feature request 707 - show how to do this with manual durations
 
 @seealso
 Referencia de la notación:
@@ -414,7 +597,7 @@ Referencia de funcionamiento interno:
 @cindex espacios en la letra
 @cindex comillas en la letra
 
-Para asignar más de una sílaba a una única nota con espacioes entre
+Para asignar más de una sílaba a una única nota con espacios entre
 las sílabas, podemos encerrar la frase entre comillas o utilizar un
 carácter de guión bajo @code{_}.  De forma alternativa, podemos usar
 el símbolo de tilde curva (@code{~}) para obtener una ligadura de
@@ -436,10 +619,6 @@ Referencia de funcionamiento interno:
 @rinternals{LyricCombineMusic}.
 
 
-@c Here come the section which used to be "Melismata"
-@c the new title might be more self-explanatory
-
-
 @node Varias notas sobre una sílaba
 @unnumberedsubsubsec Varias notas sobre una sílaba
 @translationof Multiple notes to one syllable
@@ -447,110 +626,185 @@ Referencia de funcionamiento interno:
 @cindex melisma
 @cindex melismata
 @cindex fraseo, en la letra
+@funindex \melisma
+@funindex \melismaEnd
 
 A veces, y sobre todo en la música medieval, varias notas se cantan
 sobre una sílaba única; tales vocalizaciones reciben el nombre de
-melismas, o melismata.
-
-@c this method seems to be the simplest; therefore
-@c it might be better to present it first - vv
-
-Podemos definir los melismas completamente dentro de la letra,
-escribiendo un guión bajo @code{_} por cada nota que se quiere añadir
-al melisma.
-
-@c FIXME: clarify: __ is used to crate a lyric extender,
-@c _ is used to add a note to a melisma, so both __ and _ are needed.
-
-@c verbose! --FV
-@c duplicated: TODO fix
-Además, podemos hacer que se imprima una línea extensora para indicar
-el melisma en la partitura, escribiendo un doble guión bajo junto a la
-primera sílaba del melisma.  Este ejemplo presenta los tres elementos
-que se usan con este fin (todos ellos circundados por espacios):
-guiones dobles para separar las sílabas de una palabra, guiones bajos
-para añadir notas al melisma, y un doble guión bajo para poner una
-línea extensora.
-
-@c wrong: extender line only on last syllable of a word.  Change example
-@lilypond[relative=1,verbatim,fragment,quote]
-{ \set melismaBusyProperties = #'()
- c d( e) f f( e) e e  }
-\addlyrics
- { Ky -- _ _ ri __ _ _ _  e }
-@end lilypond
-
-En este caso también podemos tener ligaduras de unión y de expresión
-en la melodía, si establecemos @code{melismaBusyProperties}, como se
-hizo en el ejemplo anterior.
-
-Sin embargo la instrucción @code{\lyricsto} también puede detectar los
-melismas automáticamente: sólo pone una sílaba debajo de un grupo de
-notas unidas mediante ligadura de unión o de expresión.  Si quiere
-forzar que un grupo de notas sin ligadura sea un melisma, inserte
-@code{\melisma} después de la primera nota del grupo, y
-@code{\melismaEnd} después de la última, p.ej.:
-
-@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
+melismas, o melismata.  La sílaba de un melisma se suele alinear por
+la izquierda con la primera nota del melisma.
+
+Cuando se produce un melisma sobre una sílaba distinta de la última de
+una palabra, dicha sílaba se suele unir a la siguiente con un guión
+separador.  Esto se indica en el código de entrada escribiendo un
+doble guión, @code{--}, inmediatamente después de la sílaba.
+
+De forma alternativa, cuando se produce un melisma sobre la última o
+sobre la única sílaba de una palabra, se suele trazar una línea
+extensora desde el final de la sílaba hasta la última nota del
+melisma.  Esto se indica en el código de entrada escribiendo una doble
+barra baja o carácter de subrayado, @code{__}, inmediatamente después
+de la palabra.
+
+Existen cinco formas de indicar los melismas:
+
+@itemize
+
+@item
+Se crean melismas automáticamente sobre las notas unidas mediante
+ligadura de unión:
+
+@lilypond[quote,relative=2,verbatim]
+<<
+  \new Voice = "melody" {
+    \time 3/4
+    f4 g2 ~ |
+    g4 e2 ~ |
+    e8
+  }
+  \new Lyrics \lyricsto "melody" {
+    Ky -- ri -- e __
+  }
+>>
+@end lilypond
+
+@item
+Se pueden crear melismas automáticamente a partir de la música
+escribiendo ligaduras de expresión sobre las notas de cada melisma.
+Ésta es la forma usual de escribir la letra:
+
+@lilypond[quote,relative=2,verbatim]
+<<
+  \new Voice = "melody" {
+    \time 3/4
+    f4 g8 ( f e f )
+    e8 ( d e2 )
+  }
+  \new Lyrics \lyricsto "melody" {
+    Ky -- ri -- e __
+  }
+>>
+@end lilypond
+
+@item
+Se considera que las notas forman un melisma cuando se unen
+manualmente mediante barra, siempre y cuando el barrado automático
+esté desactivado.  Véase @ref{Establecer el comportamiento de las
+barras automáticas}.
+
+@lilypond[quote,relative=2,verbatim]
 <<
-  \new Voice = "lala" {
+  \new Voice = "melody" {
+    \time 3/4
+    \autoBeamOff
+    f4 g8[ f e f]
+    e2.
+  }
+  \new Lyrics \lyricsto "melody" {
+    Ky -- ri -- e
+  }
+>>
+@end lilypond
+
+Claramente, esto no es adecuado para los melismas formados por notas
+de duración más larga que la corchea.
+
+@item
+Un grupo de notas sin ligadura de expresión se trata como un melisma
+si están comprendidas entre @code{\melisma} y @code{\melismaEnd}.
+
+@lilypond[quote,relative=2,verbatim]
+<<
+  \new Voice = "melody" {
     \time 3/4
     f4 g8
     \melisma
     f e f
     \melismaEnd
-    e2
+    e2.
   }
-  \new Lyrics \lyricsto "lala" {
-    la di __ daah
+  \new Lyrics \lyricsto "melody" {
+    Ky -- ri -- e
   }
 >>
 @end lilypond
 
-Además, las notas se consideran un melisma si están unidas manualmente
-mediante una barra, y el barrado automático
-(véase @ref{Establecer el comportamiento de las barras automáticas})
-está desactivado.
+Observe que este método no se puede usar para indicar dos melismas si
+el primero va seguido inmediatamente por el otro.
 
-@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
+@item
+Se puede definir un melisma enteramente dentro de la letra escribiendo
+un carácter de barra baja suelto, @code{_}, por cada nota adicional
+que se quiere añadir al melisma.
+
+@lilypond[verbatim, quote, relative=2]
 <<
-  \new Voice = "lala" {
+  \new Voice = "melody" {
     \time 3/4
-    \autoBeamOff
-    f4 g8[ f e f]
-    e2
+    f4 g8 f e f
+    e8 d e2
   }
-  \new Lyrics \lyricsto "lala" {
-    la di __ daah
+  \new Lyrics \lyricsto "melody" {
+    Ky -- ri -- _ _ _ e __ _ _
   }
 >>
 @end lilypond
 
-@c FIXME: this now links to LM -vv
+@end itemize
 
-@cindex SATB
-@cindex coral, partitura
+Es posible tener ligaduras de unión o de expresión y barras manuales
+en la melodía sin que indiquen melisma.  Para hacerlo, ajuste el valor
+de @code{melismaBusyProperties} e indique los melismas mediante barras
+bajas sueltas dentro de la letra, una barra baja por cada nota
+adicional:
 
-Hay un ejemplo completo de una disposición de partitura SATB
-en @rlearning{Conjuntos vocales}.
+@lilypond[relative=1,verbatim,quote]
+<<
+  \new Voice = "melody" {
+    \time 3/4
+    \set melismaBusyProperties = #'()
+    c4 d ( e )
+    g8 [ f ] f4( e)
+    d e ~ e
+  }
+  \new Lyrics \lyricsto "melody" {
+    Ky -- _ _ _ _ ri -- _ _ e __ _
+  }
+>>
+@end lilypond
 
+Se pueden usar otros valores para @code{melismaBusyProperties} si
+queremos incluir o excluir las ligaduras de unión, ligaduras de
+expresión o barras de la detección automática de los melismas; véase
+@code{melismaBusyProperties} en el apartado @rinternals{Tunable
+context properties}.
 
 @predefined
-@funindex \melisma
+
+@code{\autoBeamOff},
+@code{\autoBeamOn},
 @code{\melisma},
-@funindex \melismaEnd
 @code{\melismaEnd}.
-@endpredefined
 
+@seealso
+Glosario musical:
+@rglos{melisma}.
+
+Manual de aprendizaje:
+@rlearning{Alineación de la letra a una melodía}.
 
-@c @seealso
-@c @lsr{vocal,lyric@/-combine.ly}.
+Referencia de la notación:
+@ref{Alineación de la letra a una melodía},
+@ref{Duración automática de las sílabas},
+@ref{Establecer el comportamiento de las barras automáticas}.
 
+Referencia de funcionamiento interno:
+@rinternals{Tunable context properties}.
 
 @knownissues
 
-Los melismas no se detectan automáticamente, y las líneas de extensión
-se deben insertar a mano.
+No se crean automáticamente líneas extensoras bajo los melismas; se
+deben insertar manualmente con un doble guión bajo.
 
 @node Saltar notas
 @unnumberedsubsubsec Saltar notas
@@ -561,8 +815,8 @@ la melodía, mediante la inserción de desplazamientos o @code{\skip}s
 en la letra.  Por cada @code{\skip}, el texto se retrasa en una nota.
 La instrucción @code{\skip} debe ir seguida de una duración válida,
 pero esta duración se ignora cuando se usa @code{\skip} en las letras
-cuya duración se toma de las notas de una melodía asociada por medio de
-@code{\addlyrics} o de @code{\lyricsto}.
+cuya duración se toma de las notas de una melodía asociada por medio
+de @code{\addlyrics} o de @code{\lyricsto}.
 
 @lilypond[verbatim,ragged-right,quote]
 \relative c' { c c g' }
@@ -581,6 +835,8 @@ cuya duración se toma de las notas de una melodía asociada por medio de
 @cindex extensora, línea
 @cindex línea de extensión
 
+@c TODO cf Multiple notes to one syllable; should this be merged in?
+
 @c leave this as samp. -gp
 Los melismas se indican mediante una línea horizontal centrada entre
 una sílaba y la siguiente.  Esta línea recibe el nombre de línea de
@@ -603,10 +859,10 @@ guiones).  El guión quedará centrado entre las sílabas, y su longitud
 se ajustará en función del espacio que exista entre ellas.
 
 En la música grabada de modo muy apretado, se pueden quitar los
-guiones.  Se puede controlar si esto ocurre o no, mediante la
-@code{minimum-distance} (distancia mínima entre las dos sílabas) y la
-@code{minimum-length} (umbral por debajo del cual se suprimen los
-guiones).
+guiones.  Se puede controlar si esto ocurre o no, mediante las
+propiedades @code{minimum-distance} (distancia mínima entre las dos
+sílabas) y la @code{minimum-length} (umbral por debajo del cual se
+suprimen los guiones) de @code{LyricHyphen}.
 
 
 @seealso
@@ -619,15 +875,14 @@ Referencia de funcionamiento interno:
 @subsection Técnicas específicas para la letra
 @translationof Techniques specific to lyrics
 
-@c TODO This whole section is to be reorganized. -vv
+@c TODO this whole section is to be reorganised
 
 @menu
 * Trabajar con letra y variables::
+* Posicionamiento vertical de la letra::
+* Colocación horizontal de las sílabas::
 * Letra y repeticiones::
 * Letras en divisi::
-* Letra independiente de las notas::
-* Espaciado de las sílabas::
-* Colocación de la letra::
 @end menu
 
 
@@ -636,98 +891,291 @@ Referencia de funcionamiento interno:
 @unnumberedsubsubsec Trabajar con letra y variables
 @translationof Working with lyrics and variables
 
-@cindex letra y variables
+@cindex lyrics, using variables
 
-Para definir variables que contengan letra de canciones, se debe
-utilizar la función @code{\lyricmode}.  No tenemos que introducir las
-duraciones si escribimos @code{\addlyrics} ó @code{\lyricsto} en el
-momento de invocar nuestra variable.
+Se pueden crear variables que contienen letra, pero la letra se debe
+introducir en el modo de letra:
 
-@example
-verseOne = \lyricmode @{ Joy to the world the Lord is come @}
-\score @{
- <<
-   \new Voice = "one" \relative c'' @{
-     \autoBeamOff
-     \time 2/4
-     c4 b8. a16 g4. f8 e4 d c2
-   @}
-   \addlyrics @{ \verseOne @}
- >>
-@}
-@end example
+@lilypond[quote,verbatim]
+musicOne = \relative c'' {
+  c4 b8. a16 g4. f8 e4 d c2
+}
+verseOne = \lyricmode {
+  Joy to the world, the Lord is come.
+}
+\score {
+  <<
+    \new Voice = "one" {
+      \time 2/4
+      \musicOne
+    }
+    \new Lyrics \lyricsto "one" {
+      \verseOne
+    }
+  >>
+}
+@end lilypond
 
-Para disposiciones distintas o de mayor complejidad, la mejor forma es
-configurar primero una jerarquía de pautas y letras, por ejemplo:
+No es necesario escribir las duraciones si la variables se va a
+invocar con @code{\addlyrics} o con @code{\lyricsto}.
 
-@example
-\new ChoirStaff <<
-  \new Voice = "soprano" @{ @emph{music} @}
-  \new Lyrics = "sopranoLyrics" @{ s1 @}
-  \new Lyrics = "tenorLyrics" @{ s1 @}
-  \new Voice = "tenor" @{ @emph{music} @}
->>
-@end example
+Para disposiciones distintas o más complejas, la mejor forma es
+definir en primer lugar las variables de la música y de la letra,
+después preparar una jerarquía de pentagramas y letras, omitiendo la
+letra en sí, y después poner la letra utilizando @code{\context} por
+debajo.  Esto asegura que las voces referenciadas por @code{\lyricsto}
+siempre han sido definidas previamente.  Por ejemplo:
+
+@lilypond[quote,verbatim]
+sopranoMusic = \relative c'' { c4 c c c }
+contraltoMusic = \relative c'' { a4 a a a }
+sopranoWords = \lyricmode { Sop -- ra -- no words }
+contraltoWords = \lyricmode { Con -- tral -- to words }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff {
+      \new Voice = "sopranos" {
+        \sopranoMusic
+      }
+    }
+    \new Lyrics = "sopranos"
+    \new Lyrics = "contraltos"
+    \new Staff {
+      \new Voice = "contraltos" {
+        \contraltoMusic
+      }
+    }
+    \context Lyrics = "sopranos" {
+      \lyricsto "sopranos" {
+        \sopranoWords
+      }
+    }
+    \context Lyrics = "contraltos" {
+      \lyricsto "contraltos" {
+        \contraltoWords
+      }
+    }
+  >>
+}
+@end lilypond
+
+
+@seealso
+Referencia de la notación:
+@ref{Posicionamiento vertical de la letra}.
+
+Referencia de funcionamiento interno:
+@rinternals{LyricCombineMusic},
+@rinternals{Lyrics}.
+
+
+@node Posicionamiento vertical de la letra
+@unnumberedsubsubsec Posicionamiento vertical de la letra
+@translationof Placing lyrics vertically
+
+@cindex posicionamiento de la letra
+@cindex letra, posicionamiento
+
+Dependiendo del tipo de música, la letra puede colocarse sobre el
+pentagrama, debajo del pentagrama, o entre dos pentagramas.  Lo más
+fácil es situar la letra debajo de la pauta asociada, y se puede
+conseguir simplemente definiendo el contexto Lyrics por debajo del
+contexto Staff:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff {
+      \new Voice = "melody" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \new Lyrics {
+      \lyricsto "melody" {
+        Here are the words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Se puede colocar la letra sobre el pentagrama usando uno de los dos
+métodos disponibles: el más sencillo es usar la misma sintaxis que se
+ha visto más arriba y especificar explícitamente la posición de la
+letra:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Staff = "staff" {
+      \new Voice = "melody" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \new Lyrics \with { alignAboveContext = "staff" } {
+      \lyricsto "melody" {
+        Here are the words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Como alternativa, se puede usar un proceso en dos pasos.  En primer
+lugar se declara el contexto Lyrics (sin ningún contenido) antes de
+los contextos Staff y Voice, y después se escribe la instrucción
+@code{\lyricsto} después de la declaración de Voice a que hace
+referencia, usando @code{\context}, como se ve a continuación:
+
+@lilypond[quote,verbatim]
+\score {
+  <<
+    \new Lyrics = "lyrics"
+    \new Staff {
+      \new Voice = "melody" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \context Lyrics = "lyrics" {
+      \lyricsto "melody" {
+        Here are the words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Cuando hay dos voces sobre pentagramas separados, la letra se puede
+colocar entre ellos usando cualquiera de estos métodos.  He aquí un
+ejemplo del segundo método:
+
+@lilypond[quote,verbatim]
+\score {
+  \new ChoirStaff <<
+    \new Staff {
+      \new Voice = "sopranos" {
+        \relative c'' { c4 c c c }
+      }
+    }
+    \new Lyrics = "sopranos"
+    \new Lyrics = "contraltos"
+    \new Staff {
+      \new Voice = "contraltos" {
+        \relative c'' { a4 a a a }
+      }
+    }
+    \context Lyrics = "sopranos" {
+      \lyricsto "sopranos" {
+        Sop -- ra -- no words
+      }
+    }
+    \context Lyrics = "contraltos" {
+      \lyricsto "contraltos" {
+        Con -- tral -- to words
+      }
+    }
+  >>
+}
+@end lilypond
+
+Es posible generar otras combinaciones de letra y pautas mediante la
+elaboración de los ejemplos anteriores, o examinando las plantillas de
+@rlearning{Conjuntos vocales} del manual de aprendizaje.
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Conjuntos vocales}.
+
+Referencia de la notación:
+@ref{Alinear los contextos},
+@ref{Crear contextos}.
+
+@node Colocación horizontal de las sílabas
+@unnumberedsubsubsec Colocación horizontal de las sílabas
+@translationof Placing syllables horizontally
+
+@cindex espaciado de la letra
+@cindex letra, aumentar la separación
+
+Para aumentar la separación entre las líneas de texto, establezca la
+propiedad @code{minimum-distance} de @code{LyricSpace}.
+
+@lilypond[relative,verbatim,fragment,quote,ragged-right]
+{
+  c c c c
+  \override Lyrics.LyricSpace #'minimum-distance = #1.0
+  c c c c
+}
+\addlyrics {
+  longtext longtext longtext longtext
+  longtext longtext longtext longtext
+}
+@end lilypond
 
 @noindent
-y después combinar las melodías adecuadas con las líneas de texto:
+Para efectuar este cambio en todas las letras de la partitura, ajuste
+la propiedad dentro del bloque @code{\layout}.
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+  \relative c' {
+  c c c c
+  c c c c
+  }
+  \addlyrics {
+  longtext longtext longtext longtext
+  longtext longtext longtext longtext
+  }
+  \layout {
+    \context {
+      \Lyrics
+      \override LyricSpace #'minimum-distance = #1.0
+    }
+  }
+}
+@end lilypond
+
+@snippets
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{lyrics-alignment.ly}
+
+@c TODO: move to LSR -vv
+
+La comprobación necesaria para asegurar que las inscripciones de texto
+están dentro de los márgenes es una tarea relativamente costosa en
+términos computacionales.  Para acelerar el procesado, LilyPond no
+realiza estos cálculos de forma predeterminada; para activarlo, use
 
 @example
-\context Lyrics = sopranoLyrics \lyricsto "soprano"
-@emph{the lyrics}
+\override Score.PaperColumn #'keep-inside-line = ##t
 @end example
 
-@noindent
-El código final de entrada sería algo parecido a esto:
+Para hacer que el texto evite también las líneas divisorias, use
 
 @example
-<<\new ChoirStaff << @emph{setup the music} >>
- \lyricsto "soprano" @emph{etc}
- \lyricsto "alto" @emph{etc}
-@emph{etc}
->>
+\layout @{
+  \context @{
+    \Lyrics
+      \consists "Bar_engraver"
+      \consists "Separating_line_group_engraver"
+      \override BarLine #'transparent = ##t
+  @}
+@}
 @end example
 
-@ignore
-@c TODO
-http://code.google.com/p/lilypond/issues/detail?id=329
-The problem cannot be reproduced.
-The following has no sense, because the issue seems to be fixed.
-A comment is in tracker waiting for response ---FV
-
-
-Be careful when defining a variable with lyrics that creates a new
-context, for example, using the deprecated @code{\lyrics} command.  See
-the next erroneous example:
+@c TODO Create and add lsr example of lyricMelismaAlignment
+@c It's used like this to center-align all lyric syllables,
+@c even when notes are tied. -td
 
-@example
-words = \lyrics{ %warning: this creates a new context
- one two
+@ignore
+\layout
+{
+     \context { \Score lyricMelismaAlignment = #0 }
 }
-<<
-  \new Voice = "sop" { c1 }
-  \new Lyrics \lyricsto "sop" { \words }
-  \new Voice = "alt" { c2 c }
-  \new Lyrics \lyricsto "alt" { \words }
->>
-@end example
-
-the problem is that \lyricsto will try to connect the "sop" melody with the context
-created by "\new Lyrics".
-
-Then \lyrics in \words creates another context, and the original "\new Lyrics" one
-remains empty.
-
 @end ignore
 
 
-@seealso
-@c TODO: document \new Staff << Voice \lyricsto >> bug
-Referencia de funcionamiento interno:
-@rinternals{LyricCombineMusic},
-@rinternals{Lyrics}.
-
-
 @node Letra y repeticiones
 @unnumberedsubsubsec Letra y repeticiones
 @translationof Lyrics and repeats
@@ -793,8 +1241,8 @@ se despliegan.
 }
 @end lilypond
 
-Si la sección repetida tiene distintos textos y está desplegada, tan
-sólo escriba el texto completo:
+Si la sección repetida ha de desplegarse y tiene distinta letra,
+escriba simplemente todo el texto:
 
 @lilypond[verbatim,quote,ragged-right]
 \score {
@@ -828,9 +1276,9 @@ deben saltar en la segunda repetición y siguientes.  La manera más
 fácil de saltar varias notas es utilizar @code{\repeat unfold} con una
 instrucción @code{\skip} en su interior.
 
-Observación: no utilice un guión bajo, @code{_}, para saltar notas,
-pues esto indica un melisma y hará que la sílaba precedente aparezca
-alineada por la izquierda.
+Observación: no utilice un guión bajo, @code{_}, para saltar notas en
+este caso concreto, pues esto indica un melisma y hará que la sílaba
+precedente aparezca alineada por la izquierda.
 
 @warning{La instrucción @code{@bs{}skip} debe ir seguida de un número,
 pero este número se ignora en aquellas letras cuya duración
@@ -1116,296 +1564,71 @@ manualmente.
 @unnumberedsubsubsec Letras en divisi
 @translationof Divisi lyrics
 
-Podemos imprimir letras alternativas (o en divisi) nombrando los
-contextos de voz y adosando la letra a dichos contextos específicos.
-
-@lilypond[verbatim,ragged-right,quote]
-\score{ <<
-  \new Voice = "melody" {
-    \relative c' {
-      c4
-      <<
-        { \voiceOne c8 e }
-        \new Voice = "splitpart" { \voiceTwo c4 }
-      >>
-      \oneVoice c4 c | c
-    }
-  }
-  \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
-  \new Lyrics \lyricsto "splitpart" { will }
->> }
-@end lilypond
-
-
-Podemos usar este truco para presentar las distintas letras de una
-sección que se repite.
-
-@lilypond[verbatim,ragged-right,quote]
-\score{ <<
-  \new Voice = "melody" \relative c' {
-    c2 e | g e | c1 |
-    \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
-    a2 b | c1}
-  \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
-    do mi sol mi do
-    la si do }
-  \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
-   do re mi fa sol }
-  \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
-   dodo rere mimi fafa solsol }
->>
-}
-@end lilypond
-
-
-@node Letra independiente de las notas
-@unnumberedsubsubsec Letra independiente de las notas
-@translationof Lyrics independent of notes
-
-En cierta música vocal compleja, podría ser deseable colocar la letra
-de forma totalmente independiente de las notas.  La música que se
-define dentro de @code{lyricrhythm} desaparece dentro del contexto
-@code{Devnull}, pero los valores rítmicos aún se pueden utilizar para
-colocar la letra.
-
-@lilypond[quote,verbatim,ragged-right]
-voice = {
-  c''2
-  \tag #'music { c''2 }
-  \tag #'lyricrhythm { c''4. c''8 }
-  d''1
-}
-
-lyr = \lyricmode { I like my cat! }
-
-<<
-  \new Staff \keepWithTag #'music \voice
-  \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
-  \new Lyrics \lyricsto "nowhere" \lyr
-  \new Staff { c'8 c' c' c' c' c' c' c'
-  c' c' c' c' c' c' c' c' }
->>
-@end lilypond
-
-Sólo se recomienda este método si la música que está en el contexto
-@code{Devnull} no contiene melismas.  Los melismas están definidos por
-el contexto @code{Voice}.  La conexión de la letra a un contexto
-@code{Devnull} hace que se pierdan los enlaces entre la voz y las
-sílabas, y también la información relativa a los melismas.  Por tanto,
-si enlazamos la letra a un contexto @code{Devnull}, los melismas
-implícitos se ignoran.
-
-@c Conclusion: do not use devnull for lyrics -FV
-
-@c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248
-
-@node Espaciado de las sílabas
-@unnumberedsubsubsec Espaciado de las sílabas
-@translationof Spacing out syllables
-
-@cindex Espaciado de la letra
-@cindex Letra, aumentar el espaciado
-
-Para aumentar el espaciado entre las sílabas de la letra, establezca
-la propiedad @code{minimum-distance} de @code{LyricSpace}.
-
-@lilypond[relative,verbatim,fragment,quote,ragged-right]
-{
-  c c c c
-  \override Lyrics.LyricSpace #'minimum-distance = #1.0
-  c c c c
-}
-\addlyrics {
-  longtext longtext longtext longtext
-  longtext longtext longtext longtext
-}
-@end lilypond
-
-@noindent
-Para que este cambio sea válido para la letra de la partitura
-completa, establezca la propiedad dentro del @q{layout} o disposición.
-
-@lilypond[verbatim,quote,ragged-right]
-\score {
-  \relative c' {
-  c c c c
-  c c c c
-  }
-  \addlyrics {
-  longtext longtext longtext longtext
-  longtext longtext longtext longtext
-  }
-  \layout {
-    \context {
-      \Lyrics
-      \override LyricSpace #'minimum-distance = #1.0
-    }
-  }
-}
-@end lilypond
-
-@c @snippets
-@c This snippet has been renamed to "lyrics-alignment.ly"
-@c update as soon as lsr/is updated -vv
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-@c {lyrics-alignment.ly}
-
-@c TODO: move to LSR -vv
-@snippets
-
-La comprobación que asegura que las inscripciones de texto y la letra
-de las canciones se mantienen dentro de los márgenes, es una tarea
-computacional relativamente costosa.  Para acelerar el procesado,
-LilyPond no hace tales cálculos de forma predeterminada; para
-habilitarlos, utilice
-
-@example
-\override Score.PaperColumn #'keep-inside-line = ##t
-@end example
-
-Para hacer también que las sílabas de la letra eviten las barras de compás, use
-
-@example
-\layout @{
-  \context @{
-    \Lyrics
-      \consists "Bar_engraver"
-      \consists "Separating_line_group_engraver"
-      \override BarLine #'transparent = ##t
-  @}
-@}
-@end example
-
-@c TODO Create and add lsr example of lyricMelismaAlignment
-@c It's used like this to center-align all lyric syllables,
-@c even when notes are tied. -td
-
-@ignore
-\layout
-{
-     \context { \Score lyricMelismaAlignment = #0 }
-}
-@end ignore
-
-
-@node Colocación de la letra
-@unnumberedsubsubsec Colocación de la letra
-@translationof Placement of lyrics
-
-@cindex colocación de la letra
-@cindex letra, posicionar
-
-@c TODO Add text from -user
+@cindex dividida, letra
+@cindex letra dividida
 
-Las letras se sitúan sobre el pentagrama, debajo del pentagrama o
-entre pentagramas, dependiendo del tipo de música.  Para situar la
-letra debajo de la pauta asociada, tan sólo tenemos que definir el
-contexto Lyrics debajo del contexto Staff:
+Cuando solamente difieren las palabras y las duraciones de las dos
+partes mientras que la altura de las notas es la misma, el método
+adecuado puede ser la desactivación temporal de la detección
+automática de los melismas e indicar el melisma dentro de la letra:
 
 @lilypond[quote,verbatim]
 \score {
   <<
-    \new Staff {
-      \new Voice = "melody" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \new Lyrics {
-      \lyricsto "melody" {
-        Here are the words
+    \new Voice = "melody" {
+      \relative c' {
+        \set melismaBusyProperties = #'()
+        \slurDown
+        \slurDashed
+        e4 e8 ( e ) c4 c |
+        \unset melismaBusyProperties
+        c
       }
     }
-  >>
-}
-@end lilypond
-
-Para posicionar la letra por encima del pentagrama, coloque la
-declaración del contexto Lyrics entres de los contextos Staff y Voice,
-pero la instrucción @code{\lyricsto} debe venir después de la
-declaración de Voice a la que hace referencia, de esta forma:
-
-@lilypond[quote,verbatim]
-\score {
-  <<
-    \new Lyrics = "lyrics"
-    \new Staff {
-      \new Voice = "melody" {
-        \relative c'' { c4 c c c }
-      }
+    \new Lyrics \lyricsto "melody" {
+      They shall not o -- ver -- come
     }
-    \context Lyrics = "lyrics" {
-      \lyricsto "melody" {
-        Here are the words
-      }
+    \new Lyrics \lyricsto "melody" {
+      We will _
     }
   >>
 }
 @end lilypond
 
-De manera alternativa, se puede especificar la posición de la letra
-explícitamente:
+Cuando difieren tanto la música como las palabras, puede ser mejor
+imprimir la música y la letra que difieren mediante el nombrado de
+contextos de voz y adjuntando la letra a estos contextos específicos:
 
-@lilypond[quote,verbatim]
+@lilypond[verbatim,ragged-right,quote]
 \score {
   <<
-    \new Staff = "staff" {
-      \new Voice = "melody" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \new Lyrics \with { alignAboveContext = "staff" } {
-      \lyricsto "melody" {
-        Here are the words
-      }
-    }
-  >>
-}
-@end lilypond
-
-Cuando hay dos voces en pentagramas separados, la letra se puede
-situar entre los pentagramas utilizando uno cualquiera de estos
-métodos.  He aquí un ejemplo del primer método:
-
-@lilypond[quote,verbatim]
-\score {
-  \new ChoirStaff <<
-    \new Staff {
-      \new Voice = "sopranos" {
-        \relative c'' { c4 c c c }
-      }
-    }
-    \new Lyrics = "sopranos"
-    \new Lyrics = "contraltos"
-    \new Staff {
-      \new Voice = "contraltos" {
-        \relative c'' { a4 a a a }
+    \new Voice = "melody" {
+      \relative c' {
+        <<
+          {
+            \voiceOne
+            e4 e8 e
+          }
+          \new Voice = "splitpart" {
+            \voiceTwo
+            c4 c
+          }
+        >>
+        \oneVoice
+        c4 c |
+        c
       }
     }
-    \context Lyrics = "sopranos" {
-      \lyricsto "sopranos" {
-        Sop -- ra -- no words
-      }
+    \new Lyrics \lyricsto "melody" {
+      They shall not o -- ver -- come
     }
-    \context Lyrics = "contraltos" {
-      \lyricsto "contraltos" {
-        Con -- tral -- to words
-      }
+    \new Lyrics \lyricsto "splitpart" {
+      We will
     }
   >>
 }
 @end lilypond
 
-Se pueden generar otras combinaciones de letras y pentagramas
-elaborando algo más estos ejemplos, o examinando las plantillas SATB
-que están en el manual de aprendizaje.
-
-@seealso
-Manual de aprendizaje:
-@rlearning{Conjuntos vocales}.
-
-Referencia de la notación:
-@ref{Alinear los contextos},
-@ref{Crear contextos}.
 
 @node Versos
 @subsection Versos
@@ -1621,15 +1844,17 @@ bloque @code{\with} o @code{\context}:
 >>
 @end lilypond
 
-
 @subsubheading Cambio a una melodía alternativa
 
-Son posibles variaciones más complejas en la disposición del texto.
-Se puede cambiar la melodía para una línea de la letra durante el
-texto.  Esto se hace estableciendo la propiedad
-@code{associatedVoice}.  En el ejemplo
+@cindex associatedVoice
+@cindex melodía alternativa, cambio a una
 
-@lilypond[ragged-right,quote]
+Son posibles variaciones más complejas en la coordinación de la letra
+y la música.  La melodía a la que se está alineando la letra puede
+cambiarse desde dentro de la letra mediante el establecimiento de la
+propiedad @code{associatedVoice}:
+
+@lilypond[verbatim,quote]
 <<
   \relative c' \new Voice = "lahlah" {
     \set Staff.autoBeaming = ##f
@@ -1656,56 +1881,43 @@ texto.  Esto se hace estableciendo la propiedad
   \new Lyrics \lyricsto "lahlah" {
     % Tricky: need to set associatedVoice
     % one syllable too soon!
-    \set associatedVoice = alternative % applies to "ran"
+    \set associatedVoice = "alternative" % applies to "ran"
     Ty --
     ran --
     no --
-    \set associatedVoice = lahlah % applies to "rus"
+    \set associatedVoice = "lahlah" % applies to "rus"
     sau -- rus Rex
   } >>
 @end lilypond
 
 @noindent
-el texto del primer verso se aplica a una melodía llamada @q{lahlah},
+El texto del primer verso se fija a la melodía llamada @q{lahlah} de
+la forma usual, pero el segundo verso se fija inicialmente al contexto
+@code{lahlah} y después se cambia a la melodía @code{alternative} para
+las sílabas desde @q{ran} hasta @q{sau} mediante las líneas:
 
 @example
-\new Lyrics \lyricsto "lahlah" @{
-  Ju -- ras -- sic Park
-@}
-@end example
-
-
-El segundo verso se aplica en principio al contexto de @code{lahlah},
-pero para la sílaba @q{ran}, cambia a una melodía diferente.  Esto se
-consigue con
-@example
-\set associatedVoice = alternative
+\set associatedVoice = "alternative" % se aplica a "ran"
+Ty --
+ran --
+no --
+\set associatedVoice = "lahlah" % se aplica a "rus"
+sau -- rus Rex
 @end example
 
 @noindent
 Aquí, @code{alternative} es el nombre del contexto de @code{Voice} que
 contiene el tresillo.
 
-@c FIXME: make this easier to understand -vv
-La instrucción debe ir una sílaba antes de la cuenta, antes de @q{Ty}
-en este caso.  En otras palabras, el cambio en la voz asociada
-associatedVoice se produce un paso más tarde de lo que se espera.
-Esto es así por razones técnicas, y no es un fallo del programa.
-
-@example
-\new Lyrics \lyricsto "lahlah" @{
-  \set associatedVoice = alternative % se aplica al "ran"
-  Ty --
-  ran --
-  no --
-  \set associatedVoice = lahlah % se aplica al "rus"
-  sau -- rus Rex
-@}
-@end example
+Observe la posición de la instrucción @code{\set associatedVoice}:
+parece estar situada una sílaba antes de lo normal, pero está bien
+así.
 
-@noindent
-La disposición se vuelve a cambiar a la situación inicial mediante la
-asignación de @code{lahlah} a @code{associatedVoice}.
+@warning{La instrucción @code{\set associatedVoice} se debe escribir
+una sílaba @emph{antes} de aquella en la que queremos que se produzca
+el cambio a la voz nueva.  Dicho de otra forma, el cambio de la voz
+asociada se produce una sílaba más tarde de lo esperado.  Esto es por
+razones técnicas, y no es un fallo.}
 
 
 @node Imprimir los versos al final
@@ -1869,7 +2081,8 @@ Para imprimir la letra de una línea melódica, véase @ref{Notación
 común para música vocal}.
 
 @item
-Para posicionar la letra, véase @ref{Colocación de la letra}.
+Para colocar la letra, véase @ref{Posicionamiento vertical de la
+letra}.
 
 @item
 Para escribir versos véase @ref{Versos}.
@@ -1877,12 +2090,12 @@ Para escribir versos véase @ref{Versos}.
 @item
 Las canciones se imprimen frecuentemente con los acordes indicados
 mediante cifrado americano (los nombres de los acordes en letras
-mayúsculas) sobre las pautas.  Esto se decribe en @ref{Imprimir los
+mayúsculas) sobre las pautas.  Esto se describe en @ref{Imprimir los
 acordes}.
 
 @item
 Para imprimir diagramas de posiciones de los acordes para
-elacompañamiento de guitarra o para otros instrumentos con trastes en
+el acompañamiento de guitarra o para otros instrumentos con trastes en
 el mástil, consulte @qq{Marcados de diagramas de posiciones de acorde}
 dentro de @ref{Notación común para cuerdas con trastes}.
 
@@ -1897,16 +2110,18 @@ Referencia de la notación:
 @ref{Imprimir los acordes},
 @ref{Impresión de los pentagramas},
 @ref{Teclados y otros instrumentos de varios pentagramas},
-@ref{Colocación de la letra},
+@ref{Posicionamiento vertical de la letra},
 @ref{Versos}.
 
+Fragmentos de código:
+@rlsr{Vocal music}.
+
 @node Hojas guía de acordes
 @unnumberedsubsubsec Hojas guía de acordes
 @translationof Lead sheets
 
 Se pueden imprimir hojas guía de acordes combinando partes vocales y
 el @q{modo de acordes}; esta sintaxis se explica en
-
 @ref{Notación de acordes}.
 
 @snippets
@@ -2002,6 +2217,9 @@ Referencia de la notación:
 @ref{Cabezas de notas con formas diversas},
 @ref{Polifonía en un solo pentagrama}.
 
+Fragmentos de código:
+@rlsr{Vocal music}.
+
 Referencia de funcionamiento interno:
 @rinternals{ChoirStaff},
 @rinternals{Lyrics},
@@ -2020,7 +2238,7 @@ en cuenta los siguientes ajustes:
 @itemize
 
 @item
-Se puede modificar el tamañod global de pentagrama para alterar el
+Se puede modificar el tamaño global de pentagrama para alterar el
 tamaño general de los elementos de la partitura.  Véase
 @ref{Establecer el tamaño del pentagrama}.
 
@@ -2037,7 +2255,7 @@ páginas menor, se describen en @ref{Encajar la música en menos
 páginas}.
 
 @item
-Si el número de sistemas po página cambia de uno a dos, es costumbre
+Si el número de sistemas por página cambia de uno a dos, es costumbre
 indicarlo mediante una marca separadora de sistemas entre los dos
 sistemas.  Véase @ref{Separación de sistemas}.
 
@@ -2112,7 +2330,7 @@ Referencia de funcionamiento interno:
 {using-arpeggiobracket-to-make-divisi-more-visible.ly}
 
 @seealso
-Referncia de la notación:
+Referencia de la notación:
 @ref{Expresiones como líneas}.
 
 
@@ -2148,14 +2366,14 @@ acompañamiento), a veces en combinación con el libreto.
 @item
 Un @emph{Libreto} que contiene los diálogos completos que normalmente
 hay en los musicales, junto a la letra de las partes cantadas.  Suelen
-incluirse también las indicacioens de escena.  Se puede utilizar
+incluirse también las indicaciones de escena.  Se puede utilizar
 LilyPond para tipografiar libretos, pero dado que no contienen música,
 puede ser preferible algún método alternativo.
 
 @end itemize
 
 En la sección de referencias que aparece a continuación están
-relacionadas las secciones de la documentación de lilyPond que se
+relacionadas las secciones de la documentación de LilyPond que se
 ocupan de los temas necesarios para crear partituras en los estilos
 habituales de la ópera y los musicales.  Después aparecen secciones
 que cubren las técnicas peculiares de la tipografía musical de las
@@ -2163,7 +2381,7 @@ partituras de ópera y de musicales.
 
 @menu
 * Referencias para ópera y musicales::
-* Nombres de los perasonajes::
+* Nombres de los personajes::
 * Guías musicales::
 * Música hablada::
 * Diálogos encima de la música::
@@ -2227,25 +2445,26 @@ Referencia de la notación:
 @ref{Escritura de las particellas},
 @ref{Escritura del texto}.
 
+Snippets:
+@rlsr{Vocal music}.
+
 
-@node Nombres de los perasonajes
-@unnumberedsubsubsec Nombres de los perasonajes
+@node Nombres de los personajes
+@unnumberedsubsubsec Nombres de los personajes
 @translationof Character names
 
 @cindex personajes, nombres
 @cindex nombres de personajes
 
-Se suene mostrar los nombres de los personajes a la izquierda del
-pentagrama cuando éste está dedicado a dicho personaje solamente.  Se
-puede utilizar la propiedad del nombre del instrumento para este
-propósito.
+Se suelen mostrar los nombres de los personajes a la izquierda del
+pentagrama cuando éste está dedicado a dicho personaje solamente:
 
 @lilypond[quote,verbatim,ragged-right]
 \score {
   <<
     \new Staff {
-      \set Staff.instrumentName = #"Kaspar"
-      \set Staff.shortInstrumentName = #"Kas"
+      \set Staff.vocalName = \markup \smallCaps Kaspar
+      \set Staff.shortVocalName = \markup \smallCaps Kas.
       \relative c' {
         \clef "G_8"
         c4 c c c
@@ -2254,8 +2473,8 @@ propósito.
       }
     }
     \new Staff {
-      \set Staff.instrumentName = #"Melchior"
-      \set Staff.shortInstrumentName = #"Mel"
+      \set Staff.vocalName = \markup \smallCaps Melchior
+      \set Staff.shortVocalName = \markup \smallCaps Mel
       \clef "bass"
       \relative c' {
         a4 a a a
@@ -2268,7 +2487,7 @@ propósito.
 
 Cuando dos o más personajes comparten un pentagrama, el nombre del
 personaje se suele imprimir encima del pentagrama al principio de cada
-sección correspondiente a dicho personaje.  Eesto se puede hacer con
+sección correspondiente a dicho personaje.  Esto se puede hacer con
 elementos de marcado.  Con frecuencia se usa un tipo de letra especial
 para este propósito.
 
@@ -2346,14 +2565,12 @@ ayuda al director cuando no está disponible una partitura del
 director.
 
 El mecanismo básico para insertar guías se explica de forma exhaustiva
-en el texto principal, véase @ref{Citar otras voces} yand
-@ref{Formateo de las notas guía}.  Pero cuando se deben insertar
-muchas guías, por ejemplo, como ayuda para el director en una
-partitura vocal, el nombre del instrumento se debe colocar
-cuidadosamente justo antes del comienzo de las notas citadas, y cerca
-de ellas.  El siguiente ejemplo muestra cómo se hace esto.  Observe
-que el nombre del grob para sobreescribir la propiedad del instrumento
-citado es @code{InstrumentSwitch}.
+en el texto principal, véase @ref{Citar otras voces} y @ref{Formateo
+de las notas guía}.  Pero cuando se deben insertar muchas guías, por
+ejemplo, como ayuda para el director en una partitura vocal, el nombre
+del instrumento se debe colocar cuidadosamente justo antes del
+comienzo de las notas guía, y cerca de ellas.  El siguiente ejemplo
+muestra cómo se hace esto.
 
 @lilypond[quote,verbatim]
 flute = \relative c'' {
@@ -2363,12 +2580,9 @@ flute = \relative c'' {
 
 pianoRH = \relative c'' {
   c4. g8
-  % position name of cued instrument just before the cued notes
-  \once \override CueVoice.InstrumentSwitch
-    #'self-alignment-X = #RIGHT
-  % position name of cued instrument above the staff
-  \once \override CueVoice.InstrumentSwitch #'direction = #UP
-  \set CueVoice.instrumentCueName = "Flute"
+  % position name of cue-ing instrument just before the cue notes,
+  % and above the staff
+  s1*0^\markup { \right-align { \tiny "Flute" } }
   \cueDuring "flute" #UP { g4 bes4 }
 }
 pianoLH = \relative c { c4 <c' e> e, <g c> }
@@ -2394,7 +2608,7 @@ ejemplo son bajas en el pentagrama, por lo que se especifica
 @code{#DOWN} en @code{\cueDuring} (para que las plicas se orienten
 hacia abajo) y el nombre del instrumento se coloca debajo del
 pentagrama.  Observe también que la voz de la mano derecha del piano
-está declarada explíctamente.  Esto es así porque las notas citadas en
+está declarada explícitamente.  Esto es así porque las notas citadas en
 este ejemplo comienzan al principio del primer compás y en caso
 contrario produciría que todas las notas de la mano derecha del piano
 se situaran dentro de un contexto @code{CueVoice}.
@@ -2408,12 +2622,8 @@ clarinet = \relative c' {
 
 pianoRH = \relative c'' {
   \transposition c'
-  % position name of cued instrument just before the cued notes
-  \once \override CueVoice.InstrumentSwitch
-    #'self-alignment-X = #RIGHT
-  % position name of cued instrument below the staff
-  \once \override CueVoice.InstrumentSwitch #'direction = #DOWN
-  \set CueVoice.instrumentCueName = "Clar."
+  % position name of cue-ing instrument below the staff
+  s1*0_\markup { \right-align { \tiny "Clar." } }
   \cueDuring "clarinet" #DOWN { c4. g8 }
   g4 bes4
 }
@@ -2437,9 +2647,9 @@ pianoLH = \relative c { c4 <c' e> e, <g c> }
 @end lilypond
 
 A partir de estos dos ejemplos debería quedar claro que insertar
-muchas notas guía en una partitura vocal puede ser extremadamente
-tedioso, y las notas de la parte de piano quedarían entorpecidas por
-la gran cantidad de sobreescrituras de propiedades.  Sin embargo, como
+muchas notas guía en una partitura vocal puede ser
+tedioso, y la visión de las notas de la parte de piano quedaría
+entorpecida.  Sin embargo, como
 muestra el siguiente fragmento de código, es posible definir una
 función musical para reducir la cantidad de texto que se teclea y para
 hacer que las notas del piano estén más claras.
@@ -2460,7 +2670,7 @@ Referencia de la notación:
 @ref{Uso de las funciones musicales}.
 
 Fragmentos de código:
-@rlsr{vocal-music}.
+@rlsr{Vocal music}.
 
 Referencia de funcionamiento interno:
 @rinternals{InstrumentSwitch},
@@ -2498,7 +2708,81 @@ en forma de cruz, como se muestra en @ref{Cabezas de nota especiales}.
 @unnumberedsubsubsec Diálogos encima de la música
 @translationof Dialogue over music
 
-Continuará...
+Los diálogos sobre la música se imprimen normalmente por encima de los
+pentagramas en un estilo inclinado, con el comienzo de cada frase
+ligado a un momento musical en particular.
+
+Para interjecciones cortas, basta un simple elemento de marcado.
+
+@lilypond[quote,verbatim,relative=2]
+a4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a
+a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a
+a4 a a a
+@end lilypond
+
+Para frases más largas puede ser necesario expandir la música de forma
+que que las palabras quepan holgadamente.  No está previsto en
+LilyPond hacer esto de manera completamente automática, y puede ser
+necesaria cierta intervención manual sobre la disposición.
+
+Para frases largas o pasajes con un diálogo en disposición apretada,
+puede dar mejores resultados la utilización de un contexto de letra.
+El contexto Lyrics no se debe asociar con una voz musical; en vez de
+ello, cada sección del diálogo recibe una duración explícita.  Si hay
+una pausa en medio del diálogo, se debe separar la palabra final del
+resto y dividirse la duración entre ellas de forma que la música
+subyacente reciba un espaciado continuo y adecuado.
+
+Si el diálogo se extiende a más de una línea, será necesario insertar
+@code{\break}s manualmente y ajustar la colocación del diálogo para
+evitar que se extienda más allá del margen derecho.  La última palabra
+del último compás de una línea debe separarse también, como se ha
+visto antes.
+
+He aquí un ejemplo que ilustra cómo puede hacerse.
+
+@c This should be a snippet, but it can't be as it needs to be
+@c manually adjusted to suit the imposed line length.  -td
+
+@lilypond[quote,verbatim,ragged-right]
+music = \relative c'' {
+  \repeat unfold 3 { a4 a a a }
+}
+
+dialogue = \lyricmode {
+  \markup {
+    \fontsize #1 \upright \smallCaps Abe:
+    "Say this over measures one and"
+  }4*7
+  "two"4 |
+  \break
+  "and this over measure"4*3
+  "three"4 |
+}
+
+\score {
+  <<
+    \new Lyrics \with {
+      \override LyricText #'font-shape = #'italic
+      \override LyricText #'self-alignment-X = #LEFT
+    }
+    { \dialogue }
+    \new Staff {
+      \new Voice { \music }
+    }
+  >>
+}
+@end lilypond
+
+@c TODO show use of \column to produce dialogue on two lines
+
+@seealso
+Referencia de la notación:
+@ref{Duración manual de las sílabas},
+@ref{Texto}.
+
+Referencia de funcionamiento interno:
+@rinternals{LyricText}.
 
 
 @node Cánticos salmos e himnos
@@ -2531,9 +2815,12 @@ El tipografiado del canto gregoriano en distintos estilos de notación
 antigua se describe en @ref{Notación antigua}.
 
 @seealso
-Referncia de la notación:
+Referencia de la notación:
 @ref{Notación antigua}.
 
+Snippets:
+@rlsr{Vocal music}.
+
 
 @node Preparar un cántico
 @unnumberedsubsubsec Preparar un cántico
@@ -2650,7 +2937,7 @@ a4 b c2
 @end lilypond
 
 Como alternativa, se usa a veces la notación del canto gregoriano para
-las pausas o silencios, aunque el resto de la ntoación sea moderna.
+las pausas o silencios, aunque el resto de la notación sea moderna.
 Este ejemplo utiliza una marca @code{\breathe} modificada:
 
 @lilypond[verbatim,quote]
@@ -2720,9 +3007,9 @@ omiten la clave también.
 
 Los cánticos de salmos en la tradición anglicana suelen ser
 @emph{sencillos}, con siete compases de música, o @emph{dobles}, con
-dos períodos de siete compases.  cada grupo de siete compases se
+dos períodos de siete compases.  Cada grupo de siete compases se
 divide en dos mitades, que corresponden a las dos mitades de cada
-verso, normalmente separados mediante una dobre línea divisoria.  Sólo
+verso, normalmente separados mediante una doble línea divisoria.  Sólo
 se utilizan redondas y blancas.  El primer compás de cada mitad
 siempre contiene un único acorde en redondas.  Ésta es la @qq{nota de
 recitado}.  Los cánticos se suelen centrar sobre la página.
@@ -2891,7 +3178,7 @@ tick = \markup {
 }
 @end lilypond
 
-Donde hay una redonda en un compás, todo eltexto que corresponde a ese
+Donde hay una redonda en un compás, todo el texto que corresponde a ese
 compás se recita sobre esa nota en el ritmo de la palabra.  Donde hay
 dos notas en un compás, suele haber solamente una o dos sílabas
 correspondientes.  Si hay más de dos sílabas, se suele insertar un
@@ -2999,7 +3286,7 @@ Referencia de la notación:
 @unnumberedsubsubsec Compases parciales en melodías de himno
 @translationof Partial measures in hymn tunes
 
-COn frecuencia las melodías de himno comienzan y terminan cada línea
+Con frecuencia las melodías de himno comienzan y terminan cada línea
 de música con compases parciales de forma que cada línea de música
 corresponde exactamente con una línea de texto.  Esto requiere una
 instrucción @code{\partial} al principio de la música e instrucciones
index 5599a08045f94709f7f6311f713ea7346b44be91..4eeaf6d6f9f9f2f057dc6cea762ab99c6a43456f 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 928c859642a4b39a8cc3de611b1b93c11ce171f9
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Músicas del mundo
 @section Músicas del mundo
index 305c61c84a2e6c5117d7f195eafffb7623b6ff77..f8060775d9cd2379d9b979a6b053a17757fe9c4d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 8b9a694a483632437fb5110b3531074ddb31c04a
+%% Translation of GIT committish: 4c1aa3b16f7b94ca32b0c022f60ed66826d031b0
 
   texidoces = "
    Este ejemplo muestra una forma de simplificar la adición de muchas
index f6dcf40c8cd98a4bffacaadf97dc3ced56ef97b1..a9b171ed9d8cc77a97a7ad7a49416acbf4af409c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 5160eccb26cee0bfd802d844233e4a8d795a1e94
+%% Translation of GIT committish: cde045f4e833aa491fb63f2222e14bef49507577
   texidoces = "
 Las reglas de final de barra especificadas en el contexto
 @code{Score} se aplican a todos los pentagramas, pero se pueden
index 31057e736b3b17ba830ea329ec1e2f1c60472a68..8c5f9947d8f03390f1443a13ba5e34950e578722 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 5160eccb26cee0bfd802d844233e4a8d795a1e94
+%% Translation of GIT committish: 744a847e0471d60530588b746fe8a66f3c25536d
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones de acordes por medio de @code{'fret-diagram-details}.
index 215da967ec89b268a92daed65c71fa23b95644a5..8661afc54a0a2be9ab32adefe0aae9fcec139c86 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 5160eccb26cee0bfd802d844233e4a8d795a1e94
+%% Translation of GIT committish: cde045f4e833aa491fb63f2222e14bef49507577
   texidoces = "
 
 Se pueden añadir diagramas de posiciones predefinidas para
index b84bf8f46e56a45a6277f5a6dc2a2fd790f2c21c..29749fa611bbb1da19c2b1e877b86bf3aca0494d 100644 (file)
@@ -1,14 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 5c6e54cb116ec894b6b2ff7b1fca6ed56628f53b
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Programas externos
 @chapter Programas externos
index bfdc046bc5ce954661a8fd19df2c47b2898eff5e..bd2602905c36c8a17a2fc18cf61a0669bc644949 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 2f9b33bc922d93c36e3b6bfe59f1c9deffd94af4
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @c Note: keep this node named so that `info lilypond-book' brings you here.
 @node lilypond-book
index 58352ba5dd9d5c4111ae00c37c25ff6d1099b987..a8cd76efb59aefcd4fcbeaf78eb8ee0c540db1c9 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: e97ca85dab74d4cdf388fc489789bddd69275186
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 
 @node Ejecutar LilyPond
index 03e00e6e28acb8c41b3e11eda3136c197ec2865d..99a48963d191e4a553224bbd3d5cf64a70f20ee2 100644 (file)
@@ -1,14 +1,14 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 @node Sugerencias para escribir archivos de entrada
 @chapter Sugerencias para escribir archivos de entrada
index 68d5ce9fb4f019d17971de11d2c998173368357d..756e2f46d85cafe99df8678740d60b09d7e6550b 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 
 @ignore
-    Translation of GIT committish: 3dd9b13331489a191d0e901245cc98476e5fcac1
+    Translation of GIT committish: 10bd5cc93870ac4b884b8cb938cfc6a19c768097
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.29"
+@c \version "2.13.36"
 
 
 @node Actualizar ficheros con convert-ly
index 9c3272f462822b6aaa398e1c39099a6554e5783c..6ec662261fb192a5eb7a2b237165a2c701294547 100644 (file)
@@ -1,6 +1,6 @@
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: a2e97a25e3f33c847c4d6a039c2f93d8d050a990
+    Translation of GIT committish: 4d852ef65fc654e4ed02413926fc0cb78a1da1be
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -120,11 +120,15 @@ Para LilyPond versión @version{}
 @divId{quickSummary}
 @subheading ¿Qué es LilyPond?
 
-LilyPond es un programa de grabado musical de código abierto,
-consagrado a la producción de partituras de la calidad más alta
-posible.  Este programa de software libre lleva la estética de la
-música grabada de la forma tradicional a las partituras impresas
-mediante ordenador.
+LilyPond es un programa de grabado musical
+(tipografía musical o edición de partituras),
+consagrado a la producción de partituras de la
+calidad más alta posible.  Lleva la estética
+de la música tipografiada de la forma tradicional
+a las partituras impresas mediante ordenador.
+LilyPond es software libre y forma parte del
+@uref{http://gnu.org,Proyecto GNU}.
+
 
 @divClass{align-right}
 ¡Puede leer más en nuestra @ref{Introducción}!
index 6b863200ed04db3d2535fa30d318583619ed748f..64fa752c94a4c53319bc3ee6de67068db8d84ddb 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
     Translation of GIT committish: ff092354107e43a7c29abad74226b302d9a93faa
 
index ceaf39570499556e37e6081d7d38a18058ad6132..ec0af5eb7fcfba16f7fd171ca6d4f2ac201533f3 100644 (file)
@@ -1,6 +1,6 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 98d54187c3da37a2f2a7d21c2aeaa5f6dd148193
+    Translation of GIT committish: f64b0d88f1c8355e87f37d2e6cacdcf47c959d5a
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -291,12 +291,14 @@ todos los logotipos e imágenes de producto.
 @item
 @sourceimage{logo-macosx,,,}
 @downloadStableDarwinNormal
-Para procesadores Intel (si no está seguro, utilice éste).
+Para MacOS X 10.4 o superior sobre
+CPU Intel (si no está seguro, utilice éste).
 
 @item
 @sourceimage{logo-macosx,,,}
 @downloadStableDarwinPPC
-Para CPUs G3 y G4 (ordenadores Apple antiguos).
+Para MacOS X 10.4 o superior sobre
+CPUs G3 y G4 (ordenadores Apple antiguos).
 
 @end itemize
 
index 22ef69c267ded8c4584dd07b67e518435c87c7ce..665ab1d3c7cfbd8681dbcd9c6440582a7880ee1d 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
     Translation of GIT committish: cd0fa693cd2297298aabfdc2d2d9d8b0d7746a5c
 
index d36f28eb4da547f143711d42e27b47a7133964cf..0c310b6e1937f799579d250741a8ceb0fc1c68ee 100644 (file)
@@ -1,6 +1,6 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: b17e2f3d7a5853a30f7d5a3cdc6b5079e77a3d2a
+    Translation of GIT committish: 7fdd64899c9931d8d5f66786bdf49459a1a0ac53
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
 
 @c used for news about the upcoming release; see CG 10.2
 
-@newsItem
-@subsubheading El Informe LilyPond, número 21.  @emph{3 de octubre de 2010}
-
-¡Vuelve el @emph{Informe LilyPond}, con sus dos editores: @qq{gruñón}
-y @qq{blandito}!  Esta edición se ocupa principalmente de la notación
-microtonal en LilyPond, pero también incluye un tutorial sobre la
-forma de ejecutar LilyPond a partir de una memoria USB, sin olvidar
-las acostumbradas notas de lanzamientos, el fragmento de código del
-día y las noticias que nos llegan de la charca de las ranas.
-
-Acérquese al @uref{http://news.lilynet.net/The-LilyPond-Report-21,
-Informe LilyPond 21} y léalo ahora mismo; ¡animamos calurosamente a
-todos a que hagan sus comentarios y contribuciones!
-
-@newsEnd
 
 @newsItem
-@subsubheading Segunda versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.35! @emph{29 de septiembre de 2010}
+@subsubheading Tercera versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.37! @emph{25 de octubre de 2010}
 
-Ha salido LilyPond 2.13.35; ésta es la segunda versión alfa de la
+Ha salido LilyPond 2.13.37; ésta es la tercera versión alfa de la
 inminente versión estable 2.14.  Se invita a los usuarios a que hagan
 experimentos con esta versión.  Las funcionalidades nuevas desde
 2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
 sección @ref{Desarrollo} de estas páginas.
 
-Aún existen tres regresiones conocidas contra 2.12.3:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
-Problema número 1173 - No se pueden alinear las MetronomeMarks sobre
-una nota si existe un silencio multicompás en otra voz}, y dos fallos
-de espaciado:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1240,
-Problema 1240} y
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1252,
-Problema 1252} pero esperamos encontrar más.  Si se decide a probar
-2.13.35, no se sorprenda al encontrar problemas; tan sólo envíenos
-@ref{Informes de fallos} educados.
+Aún permanecen algunos problemas calificados como Críticos
+en esta versión: el espaciado vertical sorprende en
+dos casos, y lilypond puede salir de manera abrupta frente
+a algunos códigos de entrada extraños.  Si se decide a probar
+2.13.37, no se sorprenda al descubrir problemas; tan sólo
+envíenos @ref{Informes de fallos} educados.
 
 @newsEnd
 
 
 @newsItem
-@subsubheading Versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.34! @emph{21 de septiembre de 2010}
+@subsubheading ¡Lanzado LilyPond 2.13.36! @emph{19 de octubre de 2010}
 
-Ha salido LilyPond 2.13.34; ésta es la primera versión alfa de la
-inminente versión estable 2.14.  Se invita a los usuarios a que hagan
-experimentos con esta versión.  Las funcionalidades nuevas desde
-2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
-sección @ref{Desarrollo} de estas páginas.
+Nos complace anunciar el lanzamiento de LilyPond 2.13.36.
+Esta versión contiene el conjunto habitual de correcciones de fallos.
+Sin embargo, aún permanecen un cierto número de problemas críticos,
+por lo que está orientada solamente a los desarrolladores.
 
-Aún existe una regresión conocida contra 2.12.3:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
-Problema número 1173 - No se pueden alinear las MetronomeMarks sobre una
-nota si existe un silencio multicompás en otra voz}, pero esperamos
-encontrar más.  Si se decide a probar 2.13.34, no se sorprenda al
-encontrar problemas; tan sólo envíenos @ref{Informes de fallos}
-educados.
+Tenga en cuenta que ésta @strong{no} es la tercera versión
+de pruebas alfa.  A causa de la aparición de algunos cambios en nuestro
+proceso de construcción del programa que no se han probado,
+no podemos estar completamente seguros de la calidad
+de esta versión.
 
 @newsEnd
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.13.33!  @emph{10 de septiembre de 2010}
+@subsubheading El Informe LilyPond, número 21.  @emph{3 de octubre de 2010}
 
-Nos complace anunciar el lanzamiento de LilyPond 2.13.33.  Esta
-versión contiene el conjunto habitual de correcciones de fallos.  Sin
-embargo, aún quedan algunos problemas críticos, por lo que esta
-versión está orientada solamente a los desarrolladores.
+¡Vuelve el @emph{Informe LilyPond}, con sus dos editores: @qq{gruñón}
+y @qq{blandito}!  Esta edición se ocupa principalmente de la notación
+microtonal en LilyPond, pero también incluye un tutorial sobre la
+forma de ejecutar LilyPond a partir de una memoria USB, sin olvidar
+las acostumbradas notas de lanzamientos, el fragmento de código del
+día y las noticias que nos llegan de la charca de las ranas.
+
+Acérquese al @uref{http://news.lilynet.net/The-LilyPond-Report-21,
+Informe LilyPond 21} y léalo ahora mismo; ¡animamos calurosamente a
+todos a que hagan sus comentarios y contribuciones!
 
 @newsEnd
index 609c53d26e1e0c6e7f4f5e5cb8e7ed4d2aff0ba4..ecaa80361920099b07b188236b31eb3bdd641c4e 100644 (file)
@@ -1,6 +1,6 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: c22f75eaf6692b4498251f4d57fc5e7af9f79891
+    Translation of GIT committish: 7ae82be4db35cc92754263deac3907412d1612d5
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -34,6 +34,64 @@ NOTE:
 @end ignore
 
 
+
+@newsItem
+@subsubheading Segunda versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.35! @emph{29 de septiembre de 2010}
+
+Ha salido LilyPond 2.13.35; ésta es la segunda versión alfa de la
+inminente versión estable 2.14.  Se invita a los usuarios a que hagan
+experimentos con esta versión.  Las funcionalidades nuevas desde
+2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
+sección @ref{Desarrollo} de estas páginas.
+
+Aún existen tres regresiones conocidas contra 2.12.3:
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
+Problema número 1173 - No se pueden alinear las MetronomeMarks sobre
+una nota si existe un silencio multicompás en otra voz}, y dos fallos
+de espaciado:
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1240,
+Problema 1240} y
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1252,
+Problema 1252} pero esperamos encontrar más.  Si se decide a probar
+2.13.35, no se sorprenda al encontrar problemas; tan sólo envíenos
+@ref{Informes de fallos} educados.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading Versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.34! @emph{21 de septiembre de 2010}
+
+Ha salido LilyPond 2.13.34; ésta es la primera versión alfa de la
+inminente versión estable 2.14.  Se invita a los usuarios a que hagan
+experimentos con esta versión.  Las funcionalidades nuevas desde
+2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
+sección @ref{Desarrollo} de estas páginas.
+
+Aún existe una regresión conocida contra 2.12.3:
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
+Problema número 1173 - No se pueden alinear las MetronomeMarks sobre una
+nota si existe un silencio multicompás en otra voz}, pero esperamos
+encontrar más.  Si se decide a probar 2.13.34, no se sorprenda al
+encontrar problemas; tan sólo envíenos @ref{Informes de fallos}
+educados.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.13.33!  @emph{10 de septiembre de 2010}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.13.33.  Esta
+versión contiene el conjunto habitual de correcciones de fallos.  Sin
+embargo, aún quedan algunos problemas críticos, por lo que esta
+versión está orientada solamente a los desarrolladores.
+
+@newsEnd
+
+
+
+
 @newsItem
 @subsubheading ¡Lanzado LilyPond 2.13.32!  @emph{3 de septiembre de 2010}
 
@@ -100,21 +158,16 @@ todos a que hagan sus comentarios y contribuciones!
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.13.26!  @emph{26 de junio de 2010}
-@subsubheading LilyPond 2.13.29 released!  @emph{Aug 4, 2010}
+@subsubheading ¡Lanzado LilyPond 2.13.29!  @emph{4 de agosto de 2010}
 
-Nos complace anunciar el lanzamiento de LilyPond 2.13.26.  Esta
+Nos complace anunciar el lanzamiento de LilyPond 2.13.29.  Esta
 versión contiene el conjunto habitual de correcciones de fallos.  Sin
 embargo, aún quedan algunos problemas críticos, por lo que esta
 versión está orientada solamente a los desarrolladores.
 
-We are happy to announce the release of LilyPond 2.13.29.  This
-release contains the usual number of bugfixes.  However, a number
-of critical issues still remain, so this release is intended for
-developers only.
-
-This release radically changes the autobeaming rules, so use extra
-caution and expect breakage.
+Esta versión cambia radicalmente las reglas del barrado automático,
+por lo que debe emplear un cuidado especial y estar preparado para
+algún resultado inesperado.
 @newsEnd
 
 
index 4ce4a6efa97e8207c39890550107ea001091b766..9707b808ae6c859a527387f12423ee56c4301c1d 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-    Translation of GIT committish: f4e493be609aeefbb35a91f35236d2176f95fe22
+    Translation of GIT committish: 98c09018bda39821c6f632b67a5e9906c64cfc5b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -584,7 +584,7 @@ Manuel de notation :
 Morceaux choisis :
 @rlsrnamed{Rhythms,Rythme}.
 
-Référence dezs propriétés internes :
+Référence des propriétés internes :
 @rinternals{LaissezVibrerTie},
 @rinternals{LaissezVibrerTieColumn},
 @rinternals{TieColumn},
@@ -593,7 +593,6 @@ Référence dezs propriétés internes :
 
 
 @knownissues
-
 Un changement de portée, lorsqu'une liaison de tenue est active, ne
 peut produire une liaison oblique.
 
@@ -639,7 +638,7 @@ prédéfinies@tie{}:
 
 @c \time 16/1 is used to avoid spurious bar lines
 @c and long tracts of empty measures
-@lilypond[fragment,quote,verbatim]
+@lilypond[quote,verbatim,relative=2]
 \new Staff {
   % These two lines are just to prettify this example
   \time 16/1
@@ -772,14 +771,14 @@ de saut @code{s} crée tout de même les contextes @code{Staff} et
 @code{Voice} lorsque nécessaire, à l'instar des notes ou des
 silences@tie{}:
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 s1 s s
 @end lilypond
 
 Un @code{\skip} ne fait que sauter du temps musical@tie{}; il ne produit
 rien du tout, pas même un symbole transparent.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This is valid input, but does nothing
 \skip 1 \skip1 \skip 1
 @end lilypond
@@ -829,7 +828,7 @@ doit donc correspondre à la longueur de la mesure telle que définie par
 la métrique.  C'est la raison pour laquelle on utilisera aussi des
 points d'augmentation ou des fractions@tie{}:
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 2/4
 R1 | R2 |
@@ -845,7 +844,7 @@ Un @code{R} qui s'étend sur une seule mesure s'imprime tantôt comme
 une pause, tantôt comme une brève -- ou @qq{bâton de pause} -- et
 sera centré sur la mesure quelle qu'en soit la métrique@tie{}:
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \time 4/4
 R1 |
 \time 6/4
@@ -866,7 +865,7 @@ Par défaut, un silence multimesures sera répété sur autant de mesures
 que nécessaire.  Il peut aussi n'être imprimé qu'une seule fois,
 surplombé du nombre de mesures vides -- ou @qq{à compter}@tie{}:
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,verbatim,relative=2]
 % Default behavior
 \time 3/4 r2. | R2.*2 |
 \time 2/4 R2 |
@@ -899,21 +898,20 @@ utilisant la syntaxe @w{@var{note}-@code{markup}} (cf.
 @ref{Mise en forme du texte}).  La variable @code{\fermataMarkup} quant
 à elle permet d'ajouter un point d'orgue@tie{}:
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
 R2.^\fermataMarkup
 @end lilypond
 
-@warning{
-C'est @code{MultiMeasureRestText} qui créera le texte, et
+@warning{C'est @code{MultiMeasureRestText} qui créera le texte, et
 non @code{TextScript}.  Les commandes de dérogation ou de redéfinition
 doivent s'adresser à l'objet concerné, comme vous pouvez le constater
 dans l'exemple suivant.}
 
 @c KEEP LY
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % Ceci échouera : il y a erreur quant à l'objet spécifié
 \override TextScript #'padding = #5
 R1^"pas bon !"
@@ -1109,7 +1107,7 @@ pouvez les modifier de la manière suivante@tie{}:
       #'(3 1)    % beatStructure
       #'()       % beamExceptions
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
   }
 }
 @end lilypond
@@ -1139,7 +1137,7 @@ métrique@tie{}:
 @lilypond[quote,verbatim]
 \score{
   \relative c' {
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
     \overrideTimeSignatureSettings
       #'Score                         % context
       #'(4 . 4)                       % timeSignatureFraction
@@ -1150,7 +1148,7 @@ métrique@tie{}:
     \repeat unfold 8 c8 |
     \revertTimeSignatureSettings #'Score #'(4 . 4)
     \time 4/4
-    \repeat unfold 8 c8 |
+    \repeat unfold 8 { c8 } |
   }
 }
 @end lilypond
@@ -1400,6 +1398,25 @@ c4 c d8[ d d] f4 g4.
 d4 e d c
 @end lilypond
 
+@cindex ligature et cadence
+@cindex ligature et musique non mesurée
+@cindex cadence et ligature
+@cindex musique non mesurée et ligature
+
+L'instruction @code{\cadenzaOn} désative les ligatures
+automatique@tie{}; elles seront réactivées après un @code{\cadenzaOff}.
+Toutes les ligatures devront donc être indiquées de manière explicite
+tout au long de la cadence -- voir @ref{Barres de ligature manuelles}).
+
+@lilypond[verbatim,relative=2,quote]
+\repeat unfold 8 { c8 }
+\cadenzaOn
+\repeat unfold 5 { c8 }
+\bar"|"
+\cadenzaOff
+\repeat unfold 8 { c8 }
+@end lilypond
+
 Notez bien que ces commandes prédéfinies affecteront toutes les portées
 de la partition, même si vous ne les placez que dans un simple contexte
 @code{Voice}.  Pour éviter ce désagrément, transférez le
@@ -1513,7 +1530,7 @@ sont multipliées par 3/5, de telle sorte que @w{3/5 * 10/8 = 3/4}.  Les
 ligatures devront être explicites, la fonction d'échelonnement venant
 perturber les règles de ligature automatique.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim]
 \relative c' <<
   \new Staff {
     \time 3/4
@@ -1726,7 +1743,6 @@ grille d'accords@tie{}:
       c1 f g c
     }
   }
-
   \new Voice \with {
     \consists Pitch_squash_engraver
   } \relative c'' {
@@ -1790,7 +1806,7 @@ d'imprimer les ligatures.
 
 @lilypond[quote,verbatim,relative=2]
 \time 2/4 c8 c c c
-\time 6/8 c c c c8. c16 c8
+\time 6/8 c8 c c c8. c16 c8
 @end lilypond
 
 Lorsque ce comportement automatisé n'est pas satisfaisant, on peut
@@ -1973,7 +1989,7 @@ valeur de @code{baseMoment}.
 \time 5/8
 \set Timing.baseMoment = #(ly:make-moment 1 16)
 \set Timing.beatStructure = #'(7 3)
-\repeat unfold 10 {a16}
+\repeat unfold 10 { a16 }
 @end lilypond
 
 @code{baseMoment} constitue un @strong{moment}, autrement dit une unité
@@ -2008,7 +2024,7 @@ ligatures sont gérées par la propriété  @code{beamExceptions}.
        ((1 . 32) . (2 2 2))   ;règle pour les triples -- groupées à la double
       )))                     %referme la liste
 c16 c c |
-\repeat unfold 6 {c32} |
+\repeat unfold 6 { c32 } |
 @end lilypond
 
 @code{beamExceptions} contient la liste des règles de ligature selon
@@ -2047,13 +2063,13 @@ métrique.
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\repeat unfold 8 {a8}
+\repeat unfold 8 { a8 }
 % eliminate beam exception that groups beats 1, 2 and 3, 4
 \set Timing.beamExceptions = #'()
-\repeat unfold 8 {a8}
+\repeat unfold 8 { a8 }
 % go back to default behavior
 \time 4/4
-\repeat unfold 8 {a8}
+\repeat unfold 8 { a8 }
 @end lilypond
 
 Les règles de ligature automatique par défaut sont répertoriées, par
@@ -2135,13 +2151,12 @@ Référence des propriétés internes :
 
 
 @knownissues
-
 Si une partition se termine alors qu'une ligature automatique est restée
 inachevée, cette dernière ligature ne sera pas imprimée du tout.  C'est
 également valable dans le cas d'une musique polyphonique, saisie avec la
-syntaxe @code{<< @dots{} \\ @dots{} >>}, où une voix se terminerait sans
-que la dernière ligature ne soit achevée.  Le plus simple, en pareil
-cas, est de spécifier anuellement les dernières ligatures.
+syntaxe @w{@code{<< @dots{} \\ @dots{} >>}}, où une voix se terminerait
+sans que la dernière ligature ne soit achevée.  Le plus simple, en
+pareil cas, est de spécifier anuellement les dernières ligatures.
 
 
 @node Barres de ligature manuelles
@@ -2162,7 +2177,7 @@ des notes.  Le début et la fin de la ligature sont alors indiqués
 respectivement par @code{[} et @code{]}.
 
 @lilypond[quote,relative=1,verbatim]
-r4 r8[ g' a r8] r8 g[ | a] r8
+r4 r8[ g' a r] r8 g[ | a] r8
 @end lilypond
 
 @cindex ligature manuelle, orientation
@@ -2193,7 +2208,7 @@ qui est en place au niveau de la notation normale.
 @lilypond[quote,verbatim,relative=2]
 c4 d8[
 \grace { e32[ d c d] }
-e8] e8[ e
+e8] e[ e
 \grace { f16 }
 e8 e]
 @end lilypond
@@ -2429,7 +2444,7 @@ g1 \bar ":|:"
 a1 \bar ":|.|:"
 b1 \bar ":|.:"
 c1 \bar ":|"
-d1
+e1
 @end lilypond
 
 De plus, une barre de mesure peut s'imprimer sous la forme d'une
@@ -2663,7 +2678,6 @@ Référence des pripriétés internes :
 @cindex collision et numéro de mesure
 
 @knownissues
-
 Les numéros de mesure peuvent entrer en collision avec les crochets d'un
 @rinternals{StaffGroup}.  La propriété @code{padding} -- décalage
 -- de l'objet @rinternals{BarNumber} permet alors d'ajuster leur
@@ -2723,10 +2737,10 @@ mesure est atteinte.
 @lilypond[quote,verbatim]
 pipeSymbol = \bar "||"
 {
-  c'2 c'2 |
-  c'2 c'2
-  c'2 | c'2
-  c'2 c'2
+  c'2 c' |
+  c'2 c'
+  c'2 | c'
+  c'2 c'
 }
 @end lilypond
 
index fd733fdf794d75fd5a15952a9db15190448581d2..ec649ca11af6c7af92fcc50950451bb89b70c6db 100644 (file)
@@ -75,7 +75,7 @@ can be omitted in property overrides.
 } % begin verbatim
 
 \include "predefined-guitar-fretboards.ly"
-\storePredefinedDiagram #default-fret-table \chordmode { c' } % begin verbatim
+\storePredefinedDiagram #default-fret-table \chordmode { c' }
 
                         #guitar-tuning
                         #"x;1-1-(;3-2;3-3;3-4;1-1-);"
index 49da3633a30765451e64030ef865127d82c1e7f2..06ffef58a3f7b4c3676182788cb78785a1415a82 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 0b55335aeca1de539bf1125b717e0c21bb6fa31b
+%% Translation of GIT committish: 5160eccb26cee0bfd802d844233e4a8d795a1e94
   texidoces = "
 
 Se pueden añadir diagramas de posiciones predefinidas para