]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh+git://git.sv.gnu.org/srv/git/lilypond
authorWerner Lemberg <wl@gnu.org>
Sat, 29 Mar 2008 13:02:10 +0000 (14:02 +0100)
committerWerner Lemberg <wl@gnu.org>
Sat, 29 Mar 2008 13:02:10 +0000 (14:02 +0100)
95 files changed:
.gitignore
Documentation/es/user/ancient.itely
Documentation/es/user/converters.itely
Documentation/es/user/fundamental.itely
Documentation/es/user/input.itely
Documentation/es/user/lilypond-book.itely
Documentation/es/user/programming-interface.itely
Documentation/es/user/running.itely
Documentation/es/user/scheme-tutorial.itely
Documentation/es/user/spacing.itely
Documentation/es/user/tweaks.itely
Documentation/es/user/working.itely
Documentation/po/de.po
Documentation/po/es.po
Documentation/user/ancient.itely
Documentation/user/bagpipes.itely
Documentation/user/changing-defaults.itely
Documentation/user/chords.itely
Documentation/user/converters.itely
Documentation/user/editorial.itely
Documentation/user/expressive.itely
Documentation/user/fundamental.itely
Documentation/user/input.itely
Documentation/user/install.itely
Documentation/user/lilypond-book.itely
Documentation/user/macros.itexi
Documentation/user/non-music.itely
Documentation/user/notation-appendices.itely
Documentation/user/programming-interface.itely
Documentation/user/repeats.itely
Documentation/user/rhythms.itely
Documentation/user/running.itely
Documentation/user/scheme-tutorial.itely
Documentation/user/spacing.itely
Documentation/user/staff.itely
Documentation/user/templates.itely
Documentation/user/tutorial.itely
Documentation/user/tweaks.itely
Documentation/user/vocal.itely
Documentation/user/working.itely
buildscripts/add_html_footer.py
buildscripts/generate_intervals.py [deleted file]
buildscripts/generate_keys.py [deleted file]
buildscripts/generate_timesignatures.py [deleted file]
buildscripts/musicxml_generate_intervals.py [new file with mode: 0755]
buildscripts/musicxml_generate_keys.py [new file with mode: 0755]
buildscripts/musicxml_generate_timesignatures.py [new file with mode: 0755]
flower/file-name.cc
flower/include/rational.hh
flower/include/std-vector.hh
input/lsr/adding-drum-parts.ly
input/lsr/adding-volta-brackets-to-additional-staves.ly
input/lsr/aligning-lyrics.ly
input/lsr/ambiti-multiple-voices.ly
input/lsr/ancient-notation.snippet-list
input/lsr/automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
input/lsr/caesura-railtracks-with-fermata.ly
input/lsr/center-text-below-hairpin-dynamics.ly
input/lsr/changing--flageolet-mark-size.ly
input/lsr/changing-a-single-notes-size-in-a-chord.ly
input/lsr/changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
input/lsr/changing-the-tuplet-number.ly
input/lsr/clusters.ly
input/lsr/combining-dynamics-with-markup-texts.ly
input/lsr/combining-two-parts-on-the-same-staff.ly
input/lsr/compound-time-signatures.ly
input/lsr/contemporary-glissando.ly
input/lsr/contexts-and-engravers.snippet-list
input/lsr/creating-text-spanners.ly
input/lsr/display-bracket-with-only-one-staff-in-a-system.ly [new file with mode: 0644]
input/lsr/editorial-and-educational-use.snippet-list
input/lsr/engraving-ties-manually.ly
input/lsr/forcing-rehearsal-marks-to-start-from-a-given-letter-or-number.ly
input/lsr/heavily-customized-polymetric-time-signatures.ly
input/lsr/inserting-score-fragments-above-the-staff,-as-markups.ly
input/lsr/making-some-staff-lines-thicker-than-the-others.ly [new file with mode: 0644]
input/lsr/manually-controlling-beam-positions.ly
input/lsr/mensurstriche-layout-bar-lines-between-the-staves.ly [new file with mode: 0644]
input/lsr/modifying-tuplet-bracket-length.ly
input/lsr/permitting-line-breaks-within-beamed-tuplets.ly
input/lsr/printing-music-with-different-time-signatures.ly
input/lsr/skips-in-lyric-mode-2.ly
input/lsr/staff-notation.snippet-list
input/lsr/three-sided-box.ly
input/lsr/tweaks-and-overrides.snippet-list
lily/include/lily-guile.hh
lily/include/midi-stream.hh
lily/piano-pedal-engraver.cc
ly/property-init.ly
make/doclang-vars.make
make/lilypond-vars.make
python/musicexp.py
scripts/lilypond-book.py
scripts/midi2ly.py
scripts/musicxml2ly.py

index 014cbcf08c8def43529e5d3365ab55d26903733f..ad4f7605c342ed3d5ba1c2b541989653db523a74 100644 (file)
@@ -64,6 +64,7 @@ configure
 gcstat*.scm
 lily-[0-9a-f][0-9a-f][0-9a-f]*
 nohup.out
+out
 out-cov
 out-scons
 out-test
index 4f8df9f21134e4ec4b89b932f8e3c6032d2a50f7..d9442910547767ce4f61475b97d0603ae3d995aa 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 2607a3536733d8d4a1e74176027a5cb01d4e776a
+    Translation of GIT committish: d619d9858609c54377a0652eaa7cb843b103742d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -19,7 +19,7 @@
 
 El tratamiento de la notación antigua incluye posibilidades orientadas a la notación mensural
 y de Canto Gregoriano.  También se contempla de forma limitada la notación del
-bajo figurado.
+bajo cifrado.
 
 Muchos objetos gráficos ofrecen una propiedad @code{style}, consulte
 @itemize
@@ -2019,7 +2019,7 @@ Referencia del programa: el grabador @internalsref{Accidental_engraver} y el obj
 @c TODO: musicological blurb about FB
 
 
-LilyPond contempla el bajo figurado
+LilyPond contempla el bajo cifrado
 
 @lilypond[quote,ragged-right,verbatim,fragment]
 <<
@@ -2032,7 +2032,7 @@ LilyPond contempla el bajo figurado
 >>
 @end lilypond
 
-El soporte para el bajo figurado consta de dos partes: hay un modo de entrada,
+El soporte para el bajo cifrado consta de dos partes: hay un modo de entrada,
 que se inicia mediante @code{\figuremode}, en el que puede escribir las cifras del bajo
 como números, y hay un contexto llamado @internalsref{FiguredBass} que se ocupa
 de crear los objetos @internalsref{BassFigure} (cifras del bajo).
@@ -2141,7 +2141,7 @@ dirección del signo más establecida en @code{figuredBassPlusDirection}
 @end lilypond
 
 
-Aunque posiblemente la forma en que está contemplado el bajo figurado se parece superficialmente a los
+Aunque posiblemente la forma en que está contemplado el bajo cifrado se parece superficialmente a los
 acordes, es mucho más simple.  El modo @code{\figuremode} sencillamente
 almacena los números, y el contexto @internalsref{FiguredBass} los imprime
 tal y como se han escrito.  No hay ninguna conversión a alturas de nota ni se reproduce ninguna realización
@@ -2152,7 +2152,7 @@ propiedades de los elementos de marcado textual para sobreescribir los detalles
 espaciado vertical de las cifras se puede establecer con @code{baseline-skip}.
 
 
-El bajo figurado también se puede añadir a contextos @code{Staff} (de pauta)
+El bajo cifrado también se puede añadir a contextos @code{Staff} (de pauta)
 directamente.  En este caso, su posición vertical se ajusta de
 forma automática.
 
@@ -2187,7 +2187,7 @@ cifras por debajo de las notas, utilice
 
 @knownissues
 
-Al usar bajos figurados por encima del pentagrama con líneas de extensión y
+Al usar bajos cifrados por encima del pentagrama con líneas de extensión y
 @code{implicitBassFigures}, las líneas podrían intercambiarse.
 Es imposible mantener el orden de forma consistente cuando varias cifras
 tienen líneas de extensión que se superponen.  Para evitar este problema, utilice
index 22e411b3ba25f2aac4c6b27af7952e9906be0894..9e443ae57c9ad01fd03ffd148b2a80468141533e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-program.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index f5f1d33d7372f465cfd25442bc84968381025d84..a037449fafb4d8c2dedb31b6329e0df69066ae2c 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: bea70d053e3e279c3fbb18cbce52d995ce04fec7
+    Translation of GIT committish: b0a1d7fa5e1b8371a0d1f1ed1dfd3fc9bc4881d2
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -470,7 +470,10 @@ que sale del interior de un grupo especial (líneas 3 y 4).
 @node Voices contain music
 @section Voices contain music
 
-UNTRANSLATED NODE: IGNORE ME
+Igual que los cantantes, LilyPond necesita voces para cantar.  En
+realidad, la música para cualquier instrumento de una partitura está
+siempre contenida dentro de una voz --el concepto de LilyPond más
+fundamental de todos--.
 
 @menu
 * I'm hearing Voices::          
@@ -481,22 +484,691 @@ UNTRANSLATED NODE: IGNORE ME
 @node I'm hearing Voices
 @subsection I'm hearing Voices
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex polifonía
+@cindex capas
+@cindex Voice (voz), contexto de
+
+De las capas más profundas de una partitura de LilyPond, las más bajas
+y más fundamentales reciben el nombre de @q{Voice contexts}
+(«contextos de voz») o, abreviadamente, @q{Voices} («voces»).  Las
+voces reciben a veces el nombre de @q{layers} («capas») en otros
+programas de edición de partituras.
+
+De hechho, una capa o contexto de voz es la única que puede contener
+música.  Si un contexto de voz no se declara explícitamente, se crea
+uno de forma automática, como vimos al comienzo de este capítulo.
+Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
+vez.  La música escrita para estos instrumentos es monofónica y
+solamente requiere una voz única.  Los instrumentos que pueden tocar
+más de una nota a la vez, como el piano, con frecuencia necesitarán
+varias voces para codificar las distintas notas y ritmos concurrentes
+que son capaces de tocar.
+
+Una sola voz puede contener muchas notas dentro de un acorde, por
+supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
+En primer lugar observe este ejemplo de cuatro acordes:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+\key g \major
+<d g>4 <d fis> <d a'> <d g>
+@end lilypond
+
+Esto se puede expresar utilizand sólo símbolos de acorde con ángulos
+simples, @code{< ... >}, y para este propósito tan sólo se necesita
+una voz.  Pero suponga que el Fa sostenido fuese realmente una corchea
+seguida de un Sol corchea, una nota de paso que conduce al La.  Ahora
+tenemos dos notas que empiezan en el mismo momento pero tienen
+distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
+codifica esto? No se pueden escribir como un acorde porque todas las
+notas de un acorde deben tener la misma duración.  Y no se pueden
+escribir como dos notas separadas porque tienen que empezar en el
+mismo momento.  Aquí es donde se necesitan dos voces.
+
+Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
+
+@funindex << \\ >>
+@funindex \\
+
+La forma más fácil de introducir fragmentos con maś de una voz en un
+solo pentagrama es escribir cada voz como una secuencia (con
+@code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
+@code{<<...>>}.  Los fragmentos también se deben separar mediante una
+doble barra invertida, @code{\\}, para situarlos en voces separadas.
+Sin esto, las notas irían a una sola voz, lo que normalmente producirá
+errores.  Esta técnica se adapta especialmente bien a piezas de música
+que son mayormente monofónicas pero ocasionalmente tienen cortas
+secciones de polifonía.
+
+He aquí cómo dividimos los acordes anteriore en dos voces y añadimos
+la nota de paso y la ligadura:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key g \major
+%    Voice "1"                  Voice "2"
+<< { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
+@end lilypond
+
+Observe cómo las plicas de la segunda voz ahora se dirigen hacia
+abajo.
+
+A continuación veamos otro ejemplo sencillo:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key d \minor
+%    Voice "1"             Voice "2"
+<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
+<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+<< { a2. r4 }         \\ { fis2. s4 }       >> |
+@end lilypond
+
+No es necesario usar una construcción @code{<< \\ >>} distinta para
+cada compás. Para música que tenga unas pocas notas en cada compás,
+esta disposición podría facilitar la legibilidad del código, pero si
+hay muchas notas en cada compás podría ser mejor dividirlo en dos
+voces separadas, de la siguiente manera:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\key d \minor
+<< {
+  % Voice "1"
+  r4 g g4. a8 |
+  bes4 bes c bes |
+  a2. r4 |
+} \\ {
+  % Voice "2"
+  d,2 d4 g |
+  g4 g g8( a) g4 |
+  fis2. s4 |
+} >>
+@end lilypond
+
+
+Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
+usar para codificar tres o más voces mediante la adición de maś
+separadores de barra invertida.
+
+Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
+etc.  En cada uno de estos contextos, la dirección vertical de las
+ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
+correcta.
+
+@lilypond[quote,verbatim,fragment]
+\new Staff \relative c' {
+  % Main voice
+  c16 d e f
+  %    Voice "1"     Voice "2"                 Voice "3"
+  << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
+  << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
+}
+@end lilypond
+
+Todas estas voces están separadas de la voz principal que contiene las
+notas justo por fuera de la construcción @code{<< .. >>}.  Le
+llamaremos a esto la @emph{construcción simultánea}.  Las ligaduras
+(de prolongación y de expresión) solamente pueden conectar notas que
+estén dentro de la misma voz, luego las ligaduras no pueden entrar o
+salir de una construcción simultánea.  A la inversa, las voces
+paraleleas de construcciones simultáneas distintas sobre el mismo
+pentagrama, son la misma voz.  Otras propiedades relativas a las voces
+también conllevan construcciones simultáneas.  A continuación vemos el
+mismo ejemplo, con colores y cabezas distintos para cada voz.  Observe
+que los cambios en una voz no afectan a otras voces, pero persisten
+más tarde dentro de la misma voz.  Observe tambiénn que las notas
+ligadas se pueden dividir entre las mismas voces de dos
+construcciones, como se indica aquí en la voz de triángulos azules.
+
+@lilypond[quote,verbatim]
+\new Staff \relative c' {
+  % Main voice
+  c16 d e f
+  << % Bar 1
+    {
+      \voiceOneStyle
+      g4 f e
+    }
+  \\
+    {
+      \voiceTwoStyle
+      r8 e4 d c8 ~
+    }
+  >>
+  << % Bar 2
+     % Voice 1 continues
+    { d2 e2 }
+  \\
+     % Voice 2 continues
+    { c8 b16 a b8 g ~ g2 }
+  \\
+    {
+      \voiceThreeStyle
+      s4 b4 c2
+    }
+  >>
+}
+@end lilypond
+
+Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
+para usarlas en documentos educativos como este mismo.  Modifican el
+color de la cabeza, la plica y las barras, y el estilo de la cabeza,
+de forma que las voces se puedan distinguir fácilmente.  La voz uno
+está establecida a rombos rojos, la voz dos a triángulos azules, la
+voz tres a círculos verdes con aspas, y la voz cuatro (que no se
+utiliza aquí) a aspas color magenta.  Veremos más adelante cómo el
+usuario puede crear instrucciones como éstas.  Véase @ref{Visibility
+and color of objects}.
+
+La polifonía no cambia la relación de las notas dentro de un bloque
+@code{\relative @{ @}}.  La altura de cada nota aún se calcula con
+relación a la nota que le precede inmediatamente, o a la primera nota
+del acrode precedente.  Así, en
+
+@example
+\relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
+@end example
+
+@noindent
+@code{notaB} es relativa a @code{notaA}                      @*
+@code{notaC} es relativa a @code{notaB}, no a @code{notaA};   @*
+@code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
+@code{notaC}.                                                 @*
+@code{notaE} es relativa a @code{notaD}, no a @code{notaA}
+
+Una forma alternativa, que podría ser más clara si las notas en las
+voces están muy separadas, es colocar una instrucción @code{\relative}
+al principio de cada voz:
+
+@example
+\relative c' @{ notaA ... @}
+<<
+  \relative c'' @{ < notaB notaC > ... @}
+\\
+  \relative g' @{ notaD ... @}
+>>
+\relative c' @{ notaE ... @}
+@end example
+
+Finalmente, analicemos las voces en una pieza de música más compleja.
+He aquí las notas de los dos primeros compases del segundo de los Dos
+Nocturnos de Chopin, Op 32.  Este ejemplo se utilizará en fases
+posteriores dentro del presente capítulo y el siguiente, para ilustrar
+varias técnicas para producir notación, y por tanto le pedimos que
+ignore por ahora cualquier cosa en el código subyacente que le parezca
+misteriorso y tan sólo se concentre en la música y las voces (todas
+las complicaciones se explicarán en secciones posteriores).
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  << % Voice one
+    { c2 aes4. bes8 }
+  \\ % Voice two
+    { aes2 f4 fes }
+  \\ % No voice three
+  \\ % Voice four
+    {
+      % Ignore these for now - they are explained in Ch 4
+      \once \override NoteColumn #'force-hshift = #0
+      <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5
+      des2
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+Con frecuencia, la dirección de las plicas se utiiliza para indicar la
+continuidad de dos líneas melódicas simultáneas.  Aquí, todas las
+plicas de las notas agudas se dirigen hacia arriba y las de las notas
+graves hacia abajo.  Ésta es la primera indicación de que se requiere
+más de una voz.
+
+Pero la necesidad real de varias voces aflora cuando hay notas que
+comienzan en el mismo tiempo pero tienen distintas duraciones.
+Observe las notas que comienzan en la tercera parte del primer compás.
+El La bemol es una negra con puntillo, el Fa es una negra y el Re
+bemol es una blanca.  Estas notas nos e pueden escribir como un acorde
+porque todas las ntoas de un acorde deben tener la misma duración.
+Tampoco se pueden escribir como notas secuenciales, pues deben
+comenzar al mismo tiempo.  Esta sección del compás requiere tres
+voces, y la práctica común sería escribir todo el compás como tres
+voces como se muestra abajo, donde hemos usado distintas cabezas y
+colores para las tres voces.  Una vez más, el código que subyace a
+este ejemplo se explicará más tarde, así pues ignore todo lo que no
+entienda.
+
+@c The following should appear as music without code
+@c The three voice styles should be defined in -init
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { % Voice one
+      \voiceOneStyle
+      c2 aes4. bes8 
+    }
+  \\  % Voice two
+    { \voiceTwoStyle
+      aes2 f4 fes 
+    }
+  \\  % No Voice three (we want stems down)
+  \\  % Voice four
+    { \voiceThreeStyle
+      % Ignore these for now - they are explained in Ch 4
+      \once \override NoteColumn #'force-hshift = #0
+      <ees c>2
+      \once \override NoteColumn #'force-hshift = #0.5
+      des2 
+    }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+
+Vamos a intentar codificar esta música partiendo de cero.  Como
+veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
+hemos aprendido, usando la construcción @code{<< \\ >>} para
+introducir la música del primer compás en tres voces:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  <<
+    { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
+  >>
+  <c ees aes c>1
+}
+@end lilypond
+
+@cindex plica abajo
+@cindex plica arriba
+
+Las direcciones de las plicas se asignan automáticamente de forma que
+las voces de numeración impar reciben las plicas hacia arriba y las de
+numeración par hacia abajo.  Las plicas de las voces 1 y 2 están
+correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
+fragmentoo en particular.  Podemos corregir esto simplemente
+olvidándonos de la voz tres y situando la música en la voz cuatro:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+  \key aes \major
+  << % Voice one
+    { c2 aes4. bes8 }
+  \\ % Voice two
+    { aes2 f4 fes   }
+  \\ % Omit Voice three
+  \\ % Voice four
+    { <ees c>2 des2 }
+  >> |
+  <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+Vemos que esto arregla la dirección de la plica, pero presenta un
+problema que se encuentra a veces con varias voces: las plicas de las
+notas en una voz pueden colisionar con las cabezas de otras voces.  Al
+disponer las notas, LilyPond permite que las notas o acordes de dos
+voces ocupen la misma columna vertical de notas teniendo en cuenta que
+las plicas están en direcciones opuestas, pero las notas de la tercera
+y cuarta voces se desplazan si es necesario para evitar la colisión
+entre las cabezas.  Esto funciona bien por lo general, pero en este
+ejemplo claramente las notas de la voz inferior no están bien
+colocadas de forma predeterminada.  LilyPond proporciona diversas
+maneras de ajustar la colocación horizontal de las notas.  Aún no
+estamos preparados para ver cómo corregir esto, así que dejaremos este
+problema aparcado hasta una sección posterior (véase la propiedad
+force-hshift en @ref{Fixing overlapping notation} )
 
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
-UNTRANSLATED NODE: IGNORE ME
+
+@funindex \voiceOne
+@funindex \voiceTwo
+@funindex \voiceThree
+@funindex \voiceFour
+
+Los contextos de voz también se pueden crear manualmente dentro de un
+bloque @code{<< >>} para crear música polifónica, utilizando
+@code{\voiceOne} ... @code{\voiceFour} para indicar las direcciones
+requeridas de plicas, ligaduras, etc.  En partituras más largas, este
+método es más claro porque permite que las voces estén separadas y
+reciban nombres más descriptivos.
+
+Concretamente, la construcción @code{<< \\ >>} que usamos en la
+sección previa:
+
+@example
+\new Staff @{
+  \relative c' @{
+    << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+  @}
+@}
+@end example
+
+@noindent
+equivale a
+
+@example
+\new Staff <<
+  \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
+  \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
+>>
+@end example
+
+Los dos ejemplos anteriores producirán:
+
+@c The following example should not display the code
+@lilypond[ragged-right,quote]
+\new Staff <<
+  \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
+  \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+>>
+@end lilypond
+
+Las instrucciones @code{\voiceXXX} establecen la dirección de las
+plicas, ligaduras de expresión, ligaduras de prolongación,
+articulaciones, anotaciones de texto, puntillos y digitaciones.
+@code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
+hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
+hacen apuntar hacia abajo.  Estas instrucciones también producen un
+desplazamientoo horizontal para cada voz cuando es necesario para
+evitar choques entre las cabezas.  La instrucción @code{\oneVoice}
+devuelve los ajustes de nuevo a los valores normales para una sola
+voz.
+
+Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
+@code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
+las ligaduras de unión y de expresión y las indicaciones de dinámica:
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  % Default behaviour or behaviour after \oneVoice
+  c d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  \voiceOne
+  c d8 ~ d e4 ( f g a ) b-> c
+  \oneVoice
+  c, d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+  \voiceTwo
+  c d8 ~ d e4 ( f g a ) b-> c
+  \oneVoice
+  c, d8 ~ d e4 ( f g a ) b-> c
+}
+@end lilypond
+
+Una expresión que aparece directamente dentro de @code{<< >>}
+pertenece a la voz principal (pero, observe, @strong{no} dentro de una
+construcción @code{<< \\ >>}).  Esto es útilo cuando aparecen voces
+nuevas mientras la voz principal está sonando.  A continuación podemos
+ver una realización más correcta del ejemplo de la sección anterior.
+Las notas rojas en forma de rombo muestran que la melodía principal
+está ahora dentro de un contexto de una sola voz, haciendo que se
+pueda trazar una ligadura por encima de ellas.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' {
+  \voiceOneStyle
+  % The following notes are monophonic
+  c16^( d e f
+  % Start simultaneous section of three voices
+  <<
+    % Continue the main voice in parallel
+    { g4 f e | d2 e2) }
+    % Initiate second voice
+    \new Voice {
+      % Set stems, etc, down
+      \voiceTwo
+      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
+    }
+    % Initiate third voice
+    \new Voice {
+      % Set stems, etc, up
+      \voiceThree
+      s2. | s4 b4 c2
+    }
+  >>
+}
+@end lilypond
+
+@cindex anidado de expresiones musicales
+@cindex anidado de construcciones simultáneas
+
+Seon posibles construcciones polifónicas anidadas más profundamente, y
+si una voz aparece sólo brevemente podría haber una forma más natural
+de tipografiar la música.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' {
+  c16^( d e f
+  <<
+    { g4 f e | d2 e2) }
+    \new Voice {
+      \voiceTwo
+      r8 e4 d c8 ~ |
+      <<
+        {c8 b16 a b8 g ~ g2}
+        \new Voice {
+          \voiceThree
+          s4 b4 c2
+        }
+      >>
+    }
+  >>
+}
+@end lilypond
+
+
+Este método de anida voces nuevas brevemente es útil cuando sólo hay
+secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
+plifónico podría ser más claro usar varias voces todo el tiempo,
+usando notas espaciadoras para pasar por encima de las secciones en
+que una voz está en silencio, como aquí:
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' <<
+  % Initiate first voice
+  \new Voice {
+    \voiceOne
+    c16^( d e f g4 f e | d2 e2) |
+  }
+  % Initiate second voice
+  \new Voice {
+    % set stems, etc down
+    \voiceTwo
+    s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
+  }
+  % Initiate third voice
+  \new Voice {
+    % set stems, etc up
+    \voiceThree
+    s1 | s4 b4 c2 |
+  }
+>>
+@end lilypond
+
+@cindex columna de notas
+@cindex desplazamiento, instrucciones de
+@funindex \shiftOff
+@funindex \shiftOn
+@funindex \shiftOnn
+@funindex \shiftOnnn
+
+Las notas cercanas de un acorde, o las notas que se producen al mismo
+tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
+columnas para evitar el solapamiento de las cabezas.  Reciben el
+nombre de columnas de notas.  Hay columnas distintas para cada voz, y
+el desplazamiento especificado en curso dependiente de la voz se
+applica a la columna de la nota si en caso contgrario se produjese una
+colisión.  Esto se puede ver en el ejemplo anterior. En el compás 2 el
+Do en la voz dos está desplazado a la derecha respecto del Re de la
+voz uno, y en el último acorde el Do de la voz tres también está
+desplazado a la derecha respecto de las otras notas.
+
+Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
+y @code{\shiftOff} especifican el grado en que se deben desplazar las
+ntoas y acordes de la voz si en caso contrariio ocurriese una
+colisión.  De forma predeterminada, las voces exteriores (normalmente
+las voces uno y dos) llecan especificado @code{\shiftOff}, mientras
+que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
+especificado.  Cuando se aplica un desplazamiento, las voces uno y
+tres se desplazan hacia la derecha y las voces dos y cuatro se
+desplazan hacia la izquierda.
+
+@code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
+desplazamiento que se peuden especificar temporalmente para resolver
+colisiones en situaciones complejas (véase @ref{Real music example}).
+
+Una columna de notas puede contener s´olo una nota (o acorde) de una
+voz con las plicas hacia arriba y una not (o acorde) de una voz con
+las plicas hacia abajo.  Si las notas de dos voces que tienen las
+plicas en la misma dirección se sitúan en la misma posición y las dos
+voces no tienen ningún desplazamiento o llevan especificado el mismo
+desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
+columnas de notas}.
 
 @node Voices and vocals
 @subsection Voices and vocals
 
-UNTRANSLATED NODE: IGNORE ME
+
+La música vocal presenta una dificultad especial: tenemos que combinar
+dos expresiones, a saber, las notas y la letra.
+
+Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
+partituras sencillas.  Sin embargo esta técnica es algo limitada.
+Para música de mayor complejidad, tenemos que introducir la letra en
+un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
+explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
+usando el nombre asignado a la voz.
+
+@lilypond[quote,verbatim,fragment]
+<<
+  \new Voice = "one" \relative c'' {
+    \autoBeamOff
+    \time 2/4
+    c4 b8. a16 g4. f8 e4 d c2
+  }
+  \new Lyrics \lyricsto "one" {
+    No more let sins and sor -- rows grow.
+  }
+>>
+@end lilypond
+
+El barrado automático que LilyPond usa de forma predeterminada
+funciona bien para la música instrumental, pero no ten bien para
+música con letra, donde o bien el barrado no se necesita en absoluto,
+o bien se utiliza para indicar los melismaas de la letra.  En el
+ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
+para desactivar el barrado automático.
+
+Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
+ilustrar esta técnica más flexible.  Primero la reescribiremos para
+que use variables de manera que la música y la letra se pueda separar
+de la estructura de pentagramas.  También introduciremos una llave de
+grupo de ChoirStaff.  La letra en sí se debe introducir con
+@code{\lyricmode} para estar seguros de que se interpreta como letra y
+no como música.
+
+@lilypond[quote,verbatim]
+global = { \time 6/8 \partial 8 \key f \major}
+SopOneMusic = \relative c'' {
+  c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
+SopTwoMusic = \relative c' {
+  r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
+SopOneLyrics = \lyricmode {
+  Let | flee -- cy flocks the | hills a -- dorn, __ }
+SopTwoLyrics = \lyricmode {
+  Let | flee -- cy flocks the | hills a -- dorn, }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \new Voice = "SopOne" {
+        \global
+        \SopOneMusic
+      }
+      \new Lyrics \lyricsto "SopOne" {
+        \SopOneLyrics
+      }
+    >>
+    \new Staff <<
+      \new Voice = "SopTwo" {
+        \global
+        \SopTwoMusic
+      }
+      \new Lyrics \lyricsto "SopTwo" {
+        \SopTwoLyrics
+      }
+    >>
+  >>
+}
+@end lilypond
+
+Ésta es la estructura básica de todas las partituras vocales.  Se
+pueden añadir más pentagramas según se necesite, se pueden añadir más
+voces a los pentagramas y más estrofas a la letra, y las variables que
+contienen la música se pueden colocar fácilmente en archivos separados
+cuando se hagan demasiado largos.
+
+A continuación podemos ver un ejemplo final de la primera línea de un
+himno con cuatro estrofas, para coro SATB.  En este caso la letra de
+las cuatro partes es la misma.
+
+@lilypond[quote,verbatim]
+TimeKey = { \time 4/4 \partial 4 \key c \major}
+SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
+TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
+VerseOne   = \lyricmode { 
+  E -- | ter -- nal fa -- ther, | strong to save, }
+VerseTwo   = \lyricmode { 
+  O | Christ, whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode { 
+  O | Ho -- ly Spi -- rit, | who didst brood }
+VerseFour  = \lyricmode { 
+  O | Tri -- ni -- ty of | love and pow'r }
+
+\score {
+  \new ChoirStaff <<
+    \new Staff <<
+      \clef "treble"
+      \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
+      \new Voice = "Alto" { \voiceTwo \AltoMusic }
+      \new Lyrics \lyricsto "Sop" { \VerseOne   }
+      \new Lyrics \lyricsto "Sop" { \VerseTwo   }
+      \new Lyrics \lyricsto "Sop" { \VerseThree }
+      \new Lyrics \lyricsto "Sop" { \VerseFour  }
+    >>
+    \new Staff <<
+      \clef "bass"
+      \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
+      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
+    >>
+  >>
+}
+@end lilypond
 
 @node Contexts and engravers
 @section Contexts and engravers
 
-UNTRANSLATED NODE: IGNORE ME
+Los contextos y grabadores se han mencionado de manera informal en
+secciones anteriore; ahora tan sólo vamos a ver estos conceptos con
+más detalle, pues son importantes en el ajuste fino de la salida de
+LilyPond.
 
 @menu
 * Contexts explained::          
@@ -1059,22 +1731,35 @@ particular incluyendo la instrucción @code{\set} dentro de un bloque
 @node Extending the templates
 @section Extending the templates
 
-Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede poner
-los pentagramas que quiere?  Las plantillas están muy bien, pero ¿qué ocurre
-si quiere algo que no está en una de ellas?
+Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede
+poner los pentagramas que quiere?  Las plantillas están muy bien, pero
+¿qué ocurre si quiere algo que no está en una de ellas?  Bien, puede
+encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
+servir como punto de partida.  Pero ¿y si quiere algo que no está
+contemplado aquí? Continúe leyendo.
+
+
+@menu
+* Soprano and cello::           
+* Four-part SATB vocal score::  
+* Building a score from scratch::  
+@end menu
+
+@node Soprano and cello
+@subsection Soprano and cello
 
-Para empezar, tome la plantilla que le parezca más parecida a aquello que quiere
-conseguir.  Digamos que quiere escribir algo para soprano y cello.
-En este caso comenzaríamos con la plantilla @q{Notas y letra} (para la parte
-de soprano).
+
+Para empezar, tome la plantilla que le parezca más parecida a aquello
+que quiere conseguir.  Digamos que quiere escribir algo para soprano y
+cello.  En este caso comenzaríamos con la plantilla @q{Notas y letra}
+(para la parte de soprano).
 
 @example
-\version "2.11.38"
+\version @w{"@version{}"}
 melodia = \relative c' @{
   \clef treble
   \key c \major
   \time 4/4
-
   a4 b c d
 @}
 
@@ -1082,64 +1767,65 @@ texto = \lyricmode @{
   Aaa Bee Cee Dee
 @}
 
-\score@{
+\score @{
   <<
     \new Voice = "uno" @{
       \autoBeamOff
       \melodia
     @}
-    \new Lyrics \lyricsto "uno" \text
+    \new Lyrics \lyricsto "uno" \texto
   >>
   \layout @{ @}
   \midi @{ @}
 @}
 @end example
 
-Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo @q{Sólo notas}:
+Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo
+@q{Sólo notas}:
 
 @example
-\version "2.11.38"
+\version @w{"@version{}"}
 melodia = \relative c' @{
   \clef treble
   \key c \major
   \time 4/4
-
   a4 b c d
 @}
 
 \score @{
-\new Staff \melody
-\layout @{ @}
-\midi @{ @}
+  \new Staff \melodia
+  \layout @{ @}
+  \midi @{ @}
 @}
 @end example
 
-No necesitamos dos comandos @code{\version}.  Vamos a necesitar la sección @code{melodia}.
-No queremos dos secciones @code{\score} (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por separado.
-Queremos las dos juntas, como un dúo.
-Dentro de la sección @code{\score}, no nos hacen falta dos 
-@code{\layout} ni dos @code{\midi}.
-
-Si nos limitásemos a copiar y pegar la sección @code{melodia}, acabaríamos con dos
-secciones @code{melodia} separadas, así que vamos a cambiarles el nombre.  Llamaremos
-@code{musicaSoprano} a la sección de la soprano y @code{musicaCello} a la sección del violoncello.
-Al mismo tiempo cambiaremos el nombre de @code{texto}
-a @code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones de todos estos
-nombres -- tanto la definición inicial (la
-parte @code{melodia = relative c' @{ }) --
-como el uso de ese nombre (en la sección @code{\score}).
-
-También aprovecharemos para cambiar el pentagrama de la parte del cello (los violoncellos
-se escriben normalmente en clave de Fa).  Asimismo, cambiaremos algunas
-notas del cello.
+No necesitamos dos comandos @code{\version}.  Vamos a necesitar la
+sección @code{melodia}.  No queremos dos secciones @code{\score} (si
+tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por
+separado.  Queremos las dos juntas, como un dúo.  Dentro de la sección
+@code{\score}, no nos hacen falta dos @code{\layout} ni dos
+@code{\midi}.
+
+Si nos limitásemos a copiar y pegar la sección @code{melodia},
+acabaríamos con dos secciones @code{melodia} separadas, así que vamos
+a cambiarles el nombre.  Llamaremos @code{musicaSoprano} a la sección
+de la soprano y @code{musicaCello} a la sección del violoncello.  Al
+mismo tiempo cambiaremos el nombre de @code{texto} a
+@code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones
+de todos estos nombres -- tanto la definición inicial (la parte
+@code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
+sección @code{\score}).
+
+También aprovecharemos para cambiar el pentagrama de la parte del
+cello (los violoncellos se escriben normalmente en clave de Fa).
+Asimismo, cambiaremos algunas notas del cello.
 
 @example
-\version "2.11.38"
+\version @w{"@version{}"}
 musicaSoprano = \relative c' @{
   \clef treble
   \key c \major
   \time 4/4
-
   a4 b c d
 @}
 
@@ -1168,19 +1854,21 @@ musicaCello = \relative c @{
 @}
 @end example
 
-Esto tiene una pinta prometedora, pero la parte del cello no sale en la partitura
-(no la hemos puesto en la sección @code{\score}).  Si queremos que la parte
-del cello aparezca debajo de la de soprano, tenemos que añadir
+Esto tiene una apariencia prometedora, pero la parte del cello no sale
+en la partitura (no la hemos puesto en la sección @code{\score}).  Si
+queremos que la parte del cello aparezca debajo de la de soprano,
+tenemos que añadir
 
 @example
 \new Staff \musicaCello
 @end example
 
 @noindent
-justo debajo de todo lo de la soprano.  También tenemos que poner @code{<<} y
-@code{>>} antes y después de la música -- lo que  indica a LilyPond que hay
-más de una cosa (en este caso, @code{Staff}) sucediendo al mismo tiempo -- .  La
-@code{\score} se parecerá ahora a esto
+justo debajo de todo lo de la soprano.  También tenemos que poner
+@code{<<} y @code{>>} antes y después de la música -- lo que indica a
+LilyPond que hay más de una cosa (en este caso, @code{Staff})
+sucediendo al mismo tiempo -- .  La @code{\score} se parecerá ahora a
+esto
 
 @example
 \score@{
@@ -1200,8 +1888,9 @@ más de una cosa (en este caso, @code{Staff}) sucediendo al mismo tiempo -- .  L
 @end example
 
 @noindent
-Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto tiene
-fácil solución.  Presentamos aquí la plantilla completa para soprano y cello.
+Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto
+tiene fácil solución.  Presentamos aquí la plantilla completa para
+soprano y cello.
 
 @lilypond[quote,verbatim,ragged-right]
 \version "2.11.38"
@@ -1241,27 +1930,438 @@ celloMusic = \relative c {
 }
 @end lilypond
 
-@menu
-* Soprano and cello::           
-* Four-part SATB vocal score::  
-* Building a score from scratch::  
-@end menu 
-@node Soprano and cello
-@subsection Soprano and cello
-
-UNTRANSLATED NODE: IGNORE ME
-
 @node Four-part SATB vocal score
 @subsection Four-part SATB vocal score
 
-UNTRANSLATED NODE: IGNORE ME
+La mayor parte de las partituras vocales escritas para coro mixto a
+cuatro voces con acompañamiento orquestal, como el «Elías» de
+Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
+letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
+reducción de piano del acompañamiento de orquesta, por debajo. He aquí
+un ejemplo del «Mesías» de Haendel:
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+global = { \key d \major \time 4/4 }
+sopMusic = \relative c'' {
+  \clef "treble"
+  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopWords = \lyricmode {
+  Wor -- thy is the lamb that was slain
+}
+altoMusic = \relative a' {
+  \clef "treble"
+  r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+}
+altoWords = \sopWords
+tenorMusic = \relative c' {
+  \clef "G_8"
+  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopWords
+bassMusic = \relative c' {
+  \clef "bass"
+  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopWords
+upper = \relative a' {
+  \clef "treble"
+  \global
+  r4 <a d fis>2 <a e' a>4 |
+  <d fis d'>4. <d fis d'>8 <a d a'>2 |
+  <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+  \clef "bass"
+  \global
+  <d d'>4 <d d'>2 <cis cis'>4 |
+  <b b'>4. <b' b'>8 <fis fis'>2 |
+  <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+  <<  % combine ChoirStaff and PianoStaff in parallel
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" { \global \sopMusic }
+      >>
+      \new Lyrics \lyricsto "sopranos" { \sopWords }
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" { \global \altoMusic }
+      >>
+      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" { \global \tenorMusic }
+      >>
+      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" { \global \bassMusic }
+      >>
+      \new Lyrics \lyricsto "basses" { \bassWords }
+    >>  % end ChoirStaff
+
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = "Piano  "
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+    >>
+  >>
+}
+@end lilypond
+
+Ninguna de las plantillas proporciona esta disposición con exactitud.
+La más parecida es @q{partitura vocal SATB y reducción de piano
+automática}, pero necesitamos cambiar la disposición y añadir un
+acompañamiento de piano que no esté derviado automáticamente de las
+partes vocales.  Las variables que contienen la música y la letra de
+las partes vocales es adecuada, pero tendremos que añadir variables
+para la reducción de piano.
+
+El orden en que aparecen los contextos en el ChoirStaff de la
+plantilla no se corresponde con el orden de la partitura vocal que
+hemos mostrado más arriba.  Tenemos que reordenarlas para que haya
+cuatro pentagramas con la letra escrita directamente bajo las notas de
+cada parte.  Todas las voces deben ser @code{\voiceOne}, que es la
+predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
+eliminar.  También tenemos que especificar la clave de tenor (clave de
+sol octava baja) en las partes de tenor.  Aún no hemos encontrado la
+forma en que la letra se especifica en la plantilla, así que tenemos
+que utilizar el método que nos resulta familiar.  También tenemos que
+escribir los nombres de cada pentagrama.
+
+Al hacerlo así obtenemos el ChoirStaff siguiente:
+
+@example
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" @{ \global \musicaSoprano @}
+      >>
+      \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" @{ \global \musicaAlto @}
+      >>
+      \new Lyrics \lyricsto "altos" @{ \letraAlto @}
+      \new Staff = "tenores" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenores" @{ \global \musicaTenor @}
+      >>
+      \new Lyrics \lyricsto "tenors" @{ \letraTenor @}
+      \new Staff = "bajos" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "bajos" @{ \global \musicaBajo @}
+      >>
+      \new Lyrics \lyricsto "basses" @{ \letraBajo @}
+    >>  % fin del ChoirStaff
+@end example
+
+A continuación debemos trabajar sobre la parte de piano.  Es fácil:
+tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
+solista}:
+
+@example
+\new PianoStaff <<
+  \set PianoStaff.instrumentName = "Piano  "
+  \new Staff = "superior" \superior
+  \new Staff = "inferior" \inferior
+>>
+@end example
+
+y escribir las definiciones de variable para @code{superior} e
+@code{inferior}.
+
+Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
+ángulos dobles, ya queremos apilarlos unos sobre otros:
+
+@example
+<<  % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
+  \new ChoirStaff <<
+    \new Staff = "sopranos" <<
+      \new Voice = "sopranos" @{ \global \musicaSoprano @}
+    >>
+    \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
+    \new Staff = "altos" <<
+      \new Voice = "altos" @{ \global \musicaAlto @}
+    >>
+    \new Lyrics \lyricsto "altos" @{ \letraAlto @}
+    \new Staff = "tenores" <<
+      \clef "G_8"  % clave de tenor
+      \new Voice = "tenores" @{ \global \musicaTenor @}
+    >>
+    \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
+    \new Staff = "bajos" <<
+      \clef "bass"
+      \new Voice = "bajos" @{ \global \musicaBajo @}
+    >>
+    \new Lyrics \lyricsto "bajos" @{ \letraBajo @}   
+  >>  % fin del ChoirStaff
+
+  \new PianoStaff <<
+    \set PianoStaff.instrumentName = "Piano  "
+    \new Staff = "upper" \upper
+    \new Staff = "lower" \lower
+  >>
+>>
+@end example
+
+Al combinar todo esto junto y escribir la música de los tres compases
+del ejemplo anterior, obtenemos:
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.11.38"
+global = { \key d \major \time 4/4 }
+sopMusic = \relative c'' {
+  \clef "treble"
+  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopWords = \lyricmode {
+  Wor -- thy is the lamb that was slain
+}
+altoMusic = \relative a' {
+  \clef "treble"
+  r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+}
+altoWords = \sopWords
+tenorMusic = \relative c' {
+  \clef "G_8"
+  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopWords
+bassMusic = \relative c' {
+  \clef "bass"
+  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopWords
+upper = \relative a' {
+  \clef "treble"
+  \global
+  r4 <a d fis>2 <a e' a>4 |
+  <d fis d'>4. <d fis d'>8 <a d a'>2 |
+  <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+  \clef "bass"
+  \global
+  <d d'>4 <d d'>2 <cis cis'>4 |
+  <b b'>4. <b' b'>8 <fis fis'>2 |
+  <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+  <<  % combine ChoirStaff and PianoStaff in parallel
+    \new ChoirStaff <<
+      \new Staff = "sopranos" <<
+        \set Staff.instrumentName = "Soprano"
+        \new Voice = "sopranos" { \global \sopMusic }
+      >>
+      \new Lyrics \lyricsto "sopranos" { \sopWords }
+      \new Staff = "altos" <<
+        \set Staff.instrumentName = "Alto"
+        \new Voice = "altos" { \global \altoMusic }
+      >>
+      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Staff = "tenors" <<
+        \set Staff.instrumentName = "Tenor"
+        \new Voice = "tenors" { \global \tenorMusic }
+      >>
+      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Staff = "basses" <<
+        \set Staff.instrumentName = "Bass"
+        \new Voice = "basses" { \global \bassMusic }
+      >>
+      \new Lyrics \lyricsto "basses" { \bassWords }
+    >>  % end ChoirStaff
+
+    \new PianoStaff <<
+      \set PianoStaff.instrumentName = "Piano  "
+      \new Staff = "upper" \upper
+      \new Staff = "lower" \lower
+    >>
+  >>
+}
+@end lilypond
+  
 
 @node Building a score from scratch
 @subsection Building a score from scratch
 
-UNTRANSLATED NODE: IGNORE ME
+Después de adquirir algo de soltura en la escritura del código de
+LilyPond, se dará cuenta de que es más fácil construir completamente
+una partitura partiendo de cero, que modificar una plantilla.  También
+puede desarrollar su propio estilo de forma que se adapte al tipo de
+música que le apetezca.  Veamos a continuación cómo confeccionar una
+partitura para un preludio de órgano, como ejemplo.
+
+Comenzamos con una sección para el encabezamiento.  Aquí es donde van
+el título, nombre del compositor, etc., después van las definiciones
+de las variables, y finalmente el bloque de partitura.  Comencemos a
+verlas por encima y más tarde completaremos los detalles.
+
+Utilizaremos los dos primeros compases del peludio de Bach basado en
+@emph{Jesu, meine Freude}, que está escrito para órgano con dos
+manuales y pedal.  Tiene estos dos compases de música al final de la
+sección.  La parte del manual superior tiene dos voces, y el inferior
+y el pedal, una voz cada uno.  Así pues, necesitamos cuatro
+definiciones para la música y una más para definir el compás y la
+tonalidad:
+
+@example
+\version @w{"@version{}"}
+\header @{
+  title = "Jesu, meine Freude"
+  composer = "J S Bach"
+@}
+TimeKey = @{ \time 4/4 \key c \minor @}
+MusicaManualUnoVozUno = @{s1@}
+MusicaManualUnoVozDos = @{s1@}
+MusicaManualDos = @{s1@}
+MusicaPedal = @{s1@}
+
+\score @{
+@}
+@end example
+
+Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
+en lugar de la música de verdad.  La añadiremos más adelante.
+
+A continuación veamos qué va en el bloque de partitura.
+Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
+La música de órgano se escribe por lo general en tres pentagramas, uno
+para cada uno de los manuales y otro para el pedal.  Los pentagramas
+de los manuales se abarcan con una llave, así que los incluiremos en
+un grupo PianoStaff.  La primera parte de manual tiene dos voces, y la
+segunda sólo una.
+
+@example
+  \new PianoStaff <<
+    \new Staff = "ManualUno" <<
+      \new Voice @{ \MusicaManualUnoVozUno @}
+      \new Voice @{ \MusicaManualUnoVozDos @}
+    >>  % fun del contexto de Staff ManualUno
+    \new Staff = "ManualDos" <<
+      \new Voice @{ \MusicaManualDos @}
+    >>  % fin del contexto de Staff ManualDos
+  >>  % fin del contexto de PianoStaff
+@end example
+
+Después, tenemos que añadir un pentagrama para el órgano de pedal.
+Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
+por lo que escribimos dobles ángulos rodeando a los dos.  Si esto se
+nos olvida, se producirá un error en el archivo log de registro.  ¡Es
+un error muy común que cometerá antes o después!  Intente copiar el
+ejemplo final que aparece al final de la sección, borre los dobles
+ángulos y procese el archivo para ver qué error produce.
+
+@example
+<<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
+  \new PianoStaff <<
+    \new Staff = "ManualUno" <<
+      \new Voice @{ \MusicaManualUnoVozUno @}
+      \new Voice @{ \MusicaManualUnoVozDos @}
+    >>  % fin del contexto de Staff ManualUno
+    \new Staff = "ManualDos" <<
+      \new Voice @{ \MusicaManualDos @}
+    >>  % fin del contexto de Staff ManualDos
+  >>  % fin del contexto de PianoStaff
+  \new Staff = "OrganoPedal" <<
+    \new Voice @{ \MusicaOrganoPedal @}
+  >>
+>>
+@end example
+
+No es estrictamente necesario utilizar la construcción simultánea
+@code{<< >>} para el pentagrama del manual dos y el pentagrama del
+órgano de pedal, ya que contienen una única expresión, pero no hace
+daño y es una buena costumbre utilizar siempre dobles ángulos después
+de @code{\new Staff} cuando hay varias voces.
+
+Añadamos esta estructura al bloque de partitura, y ajustemos el
+sangrado de los márgenes.  También escribimos las claves
+correspondientes, nos aseguramos de que las plicas de la segunda voz
+apuntan hacia abajo mediante @code{\voiceTwo} y escribimos el compás y
+la tonalidad en cada uno de los pentagramas usando nuestra variable
+previamente definida @code{\TimeKey}.
 
+@example
+\score @{
+  <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
+    \new PianoStaff <<
+      \new Staff = "ManualUno" <<
+        \TimeKey  % establecer compás y tonalidad
+        \clef "treble"
+        \new Voice @{ \MusicaManualUnoVozUno @}
+        \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
+      >>  % fin del contexto de Staff ManualUno
+      \new Staff = "ManualDos" <<
+        \TimeKey
+        \clef "bass"
+        \new Voice @{ \MusicaManualDos @}
+      >>  % fin del contexto de Staff ManualDos
+    >>  % fin del contexto de PianoStaff
+    \new Staff = "OrganoPedal" <<
+      \TimeKey
+      \clef "bass"
+      \new Voice @{ \MusicaOrganoPedal @}
+    >>  % fin del pentagrama de OrganoPedal
+  >>
+@}  % end Score context
+@end example
+
+Con esto se completa la estructura.  Toda música para órgano de tres
+pentagramas tendrá una estructura similar, aunque el número de voces
+puede variar.  Todo lo que nos queda es añadir la música, y combinar
+todas las partes.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.11.38"
+\header {
+  title = "Jesu, meine Freude"
+  composer = "J S Bach"
+}
+TimeKey = { \time 4/4 \key c \minor }
+ManualOneVoiceOneMusic = \relative g' {
+  g4 g f ees | d2 c2 |
+}
+ManualOneVoiceTwoMusic = \relative c' {
+  ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
+  c c4 b8 c8. g16 c b c d |
+}
+ManualTwoMusic = \relative c' {
+  c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
+  f ees f d g aes g f ees d e8~ ees16 f ees d |
+}
+PedalOrganMusic = \relative c {
+  r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+  r16 g ees f g f g8 c,2 |
+  }
+
+\score {
+  <<  % PianoStaff and Pedal Staff must be simultaneous
+    \new PianoStaff <<
+      \new Staff = "ManualOne" <<
+        \TimeKey  % set time signature and key
+        \clef "treble"
+        \new Voice { \ManualOneVoiceOneMusic }
+        \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
+      >>  % end ManualOne Staff context
+      \new Staff = "ManualTwo" <<
+        \TimeKey
+        \clef "bass"
+        \new Voice { \ManualTwoMusic }
+      >>  % end ManualTwo Staff context
+    >>  % end PianoStaff context
+    \new Staff = "PedalOrgan" <<
+      \TimeKey
+      \clef "bass"
+      \new Voice { \PedalOrganMusic }
+    >>  % end PedalOrgan Staff
+  >>
+}  % end Score context
+@end lilypond
 
--- SKELETON FILE --
-When you actually translate this file, please remove these lines as
-well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 13a6672dc53a812acab9dd621a6fc896aa579822..8746cad162866b5ff000f7a36c95be1dbeade597 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 47348a04b57a0b63c40ae9debd95cfd717e03bb7
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 
 UNTRANSLATED NODE: IGNORE ME
 
-@menu
-* Input files::                 
-* Common syntax issues TODO name?::  
-* Other stuffs TODO move?::     
+@menu 
+* Input files::
+* Common syntax issues TODO name?::
+* Other stuffs TODO move?::
 @end menu 
-
 @node Input files
 @section Input files
 
 UNTRANSLATED NODE: IGNORE ME
 
-@menu
-* File structure::              
-* A single music expression::   
-* Multiple scores in a book::   
-* Extracting fragments of notation::  
-* Including LilyPond files::    
-* Text encoding::               
-* Different editions from one source::  
+@menu 
+* File structure::
+* A single music expression::
+* Multiple scores in a book::
+* Extracting fragments of notation::
+* Including LilyPond files::
+* Text encoding::
+* Different editions from one source::
 @end menu 
-
 @node File structure
 @subsection File structure
 
@@ -74,12 +72,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@menu
-* Controlling direction and placement::  
-* Distances and measurements MAYBE MOVE::  
-* When to add a -::             
+@menu 
+* Controlling direction and placement::
+* Distances and measurements MAYBE MOVE::
+* When to add a -::
 @end menu 
-
 @node Controlling direction and placement
 @subsection Controlling direction and placement
 
@@ -100,12 +97,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@menu
-* Displaying LilyPond notation::  
-* Skipping corrected music::    
-* context list FIXME::          
-* another thing FIXME::         
-* Input modes FIXME::           
+@menu 
+* Displaying LilyPond notation::
+* Skipping corrected music::
+* context list FIXME::
+* another thing FIXME::
+* Input modes FIXME::
 @end menu 
 @node Displaying LilyPond notation
 @subsection Displaying LilyPond notation
index 02f9a8809fece76e74303208a2ed797f35122d01..c719ea7ba54b10134e5c1caf89f647498dc60491 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-program.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 9a28825111eb71a727490a00f07aa48952d7402b..8c158c0316900ca80adc36b8a194c74bf10851d0 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 715b03eb9eb4b533ecfe44bf6936a3394ccb532e..3b25fda9d7855ab0f088d0e95051e2e16f640886 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-program.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 273fc8e4c2c181ff2a6f1f51f712de491b80f564..402723503b67c302acbe715162b8cd60f8f05c50 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 442e889ce5bd4f250270b992a1b105ed7fc078db
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @node Scheme tutorial
 @appendix Scheme tutorial
 
-UNTRANSLATED NODE: IGNORE ME
+@funindex #
+@cindex Scheme
+@cindex GUILE
+@cindex Scheme, código en línea
+@cindex acceder a Scheme
+@cindex evaluar Scheme
+@cindex LISP
 
+LilyPond utiliza el lenguaje de programación Scheme, tanto como parte
+de la sintaxis del código de entrada, como para servir de mecanismo
+interno que une los módulos del programa entre sí.  Esta sección es
+una panorámica muy breve sobre cómo introducir datos en Scheme.  Si
+quiere saber más sobre Scheme, consulte
+@uref{http://@/www@/.schemers@/.org}.
+
+Lo más básico de un lenguaje son los datos: números, cadenas de
+caracteres, listas, etc.  He aquí una lista de los tipos de datos que
+son de relevancia respecto de la entrada de LilyPond.
+
+@table @asis
+@item Booleanos
+Los valores Booleanos son Verdadero y Falso.  Verdadero en Scheme es @code{#t}
+y Falso es @code{#f}.
+@funindex ##t
+@funindex ##f
+
+@item Números
+Los números se escriben de la forma normal, @code{1} es el número
+(entero) uno, mientras que @code{-1.5} es un número en coma flotante
+(un número no entero).
+
+@item Cadenas
+Las cadenas se encierran entre comillas:
+
+@example
+"esto es una cadena"
+@end example
+
+Las cadenas pueden abarcar varias líneas:
+
+@example
+"esto
+es
+una cadena"
+@end example
+
+También se pueden añadir comillas y saltos de línea con las llamadas
+secuencias de escape.  La cadena @code{a dijo "b"} se escribe como
+
+@example
+"a dijo \"b\""
+@end example
+
+Los saltos de línea t las barras invertidas se escapan mediante
+@code{\n} y @code{\\} respectivamente.
+@end table
+
+
+En un archivo de música, los fragmentos de código de Scheme se
+esecriben con el signo de almohadilla @code{#}.  Así, los ejemplos
+anteriores traducidos a LilyPond son:
+
+@example
+##t ##f
+#1 #-1.5
+#"esto es una cadena"
+#"esto
+es
+una cadena"
+@end example
+
+Durante el resto de esta sección, supondremos que los datos se
+introducen en un archivo de música, por lo que añadiremos almohadillas
+@code{#} en todas partes.
+
+Scheme se puede usar para hacer cálculos.  Utiliza sintaxis
+@emph{prefija}.  Sumar 1 y@tie{}2 se escribe como @code{(+ 1 2)} y no
+como el tradicional @math{1+2}.
+
+@lisp
+#(+ 1 2)
+  @result{} #3
+@end lisp
+
+La flecha @result{} muestra que el resultado de evaluar @code{(+ 1 2)}
+es@tie{}@code{3}.  Los cálculos se pueden anidar; el resultado de una
+función se puede usar para otro cálculo.
+
+@lisp
+#(+ 1 (* 3 4))
+  @result{} #(+ 1 12)
+  @result{} #13
+@end lisp
+
+Estos cálculos son ejemplos de evaluaciones; una expresión como
+@code{(* 3 4)} se sustituye por su valor @code{12}.  Algo similar
+ocurre con las variables.  Después de haber definido una variable
+
+@example
+doce = #12
+@end example
+
+@noindent
+las variables se pueden usar también dentro de las expresiones, aquí
+
+@example
+veintiCuatro = #(* 2 doce)
+@end example
+
+@noindent
+el número 24 se almacena dentro de la variable @code{veintiCuatro}.
+La misma asignación se puede hacer también completamente en Scheme,
+
+@example
+#(define veintiCuatro (* 2 doce))
+@end example
+
+El @emph{nombre} de una variable también es una expresión, similar a
+un número o una cadena.  Se introduce como
+
+@example
+#'veintiCuatro
+@end example
+
+@funindex #'symbol
+@cindex comillas en Scheme
+
+El apóstrofe @code{'} evita que el intérprete de Scheme sustituya
+@code{veintiCuatro} por @code{24}.  En vez de esto, obtenemos el
+nombre @code{veintiCuatro}.
+
+Esta sintaxis se usará con mucha frecuencia, pues muchos de los trucos
+de presentación consisten en asignar valores (de Scheme) a variables
+internas, por ejemplo
+
+@example
+\override Stem #'thickness = #2.6
+@end example
+
+Esta isntrucción ajusta el aspecto de las plicas.  El valor @code{2.6}
+se pone dentro de la variable @code{thickness} de un objeto
+@code{Stem}.  @code{thickness} se mide a partir del grosor de las
+líneas del pentagrama, y así estas plicas serán @code{2.6} veces el
+grosor de las líneas del pentagrama.  Esto hace que las plicas sean
+casi el doble de gruesas de lo normal.  Para distinguir entr las
+variables que se definen en los archivos de entrada (como
+@code{veintiCuatro} en el ejemplo anterior) y las variables de los
+objetos internos, llamaremos a las últimas @q{propiedades} y a las
+primeras @q{variables.}  Así, el objeto plica tiene una propiedad
+@code{thickness} (grosor), mientras que @code{veintiCuatro} es una
+variable.
+
+@cindex propiedades frente a variables
+@cindex variables frente a propiedades
+
+Los desplazamientos bidimensionales (coordenadas X e Y) así como los
+tamaños de los objetos (intervalos con un punto izquierdo y otro
+derecho) se introducen como @code{parejas}.  Una pareja@footnote{En la
+terminología de Scheme, la pareja se llama @code{cons}, y sus dos
+elementos se llaman @code{car} y @code{cdr} respectivamente.}  se
+introduce como @code{(first . second)} y, como los símbolos, se deben
+preceder de un apóstrofe,
+
+@example
+\override TextScript #'extra-offset = #'(1 . 2)
+@end example
+
+Esto asigna la pareja (1, 2) a la propiedad @code{extra-offset} del
+objeto TextScript.  Estos números se miden en espacios de pentagrama,
+y así esta instrucción mueve el objeto un espacio de pentagrama a la
+derecha, y dos especios hacia arriba.
+
+Los dos elementos de una pareja pueden ser valores arbitrarios, por
+ejemplo
+
+@example
+#'(1 . 2)
+#'(#t . #f)
+#'("bla-bla" . 3.14159265)
+@end example
+
+Una lista se escribe encerrando sus elementos entre paréntesis, y
+añadiendo un apóstrofe.  Por ejemplo,
+
+@example
+#'(1 2 3)
+#'(1 2 "cadena" #f)
+@end example
+
+Todo el tiempo hemos estado usando listas.  Un cálculo, como @code{(+
+1 2)} también es una lista (que contiene el símbolo @code{+} y los
+números 1 y@tie{}2).  Normalmente, las listas se interpretan como
+cálculos, y el intérprete de Scheme sustituye el resultado del
+cálculo.  Para escribir una lista, detenemos la evaluación.  Esto se
+hace precediendo la lista por un apóstrofe @code{'}.  Así, para los
+cálculos no usamos ningún apóstrofe.
+
+Dentro de una lista o pareja precedida de apóstrofe, no hay necesidad
+de escribir ningún apóstrofe más.  Lo siguiente es una pareja de
+símbolos, una lista de símbolos y una lista de listas respectivamente:
+
+@example
+#'(stem . head)
+#'(staff clef key-signature)
+#'((1) (2))
+@end example
+
+
+@menu
+* Tweaking with Scheme::        
+@end menu
+
+@node Tweaking with Scheme
+@appendixsec Tweaking with Scheme
+
+Hemos visto cómo la salida de LilyPond se puede modificar
+profundamente usando instrucciones como @code{\override TextScript
+#'extra-offset = ( 1 . -1)}.  Pero tenemos incluso mucho más poder si
+utilizamos Scheme.  Para ver una explicación completa de esto,
+consulteel @ref{Scheme tutorial}, y @ruser{Interfaces for
+programmers}.
+
+Podemos usar Scheme simplemente para sobreescribir instrucciones con
+@code{\override},
+
+@c This isn't a valid example with skylining
+@c It works fine without padText  -td
+
+@ignore
+@lilypond[quote,verbatim,ragged-right]
+padText = #(define-music-function (parser location padding) (number?)
+#{
+  \once \override TextScript #'padding = #$padding
+#})
+
+\relative c''' {
+  c4^"piu mosso" b a b
+  \padText #1.8
+  c4^"piu mosso" d e f
+  \padText #2.6
+  c4^"piu mosso" fis a g
+}
+@end lilypond
+@end ignore
+
+Lo podemos usar para crear instrucciones nuevas:
+
+@c Check this is a valid example with skylining
+@c It is - 'padding still works
+
+@lilypond[quote,verbatim,ragged-right]
+tempoMark = #(define-music-function (parser location padding marktext)
+                                    (number? string?)
+#{
+  \once \override Score . RehearsalMark #'padding = $padding
+  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
+  \mark \markup { \bold $marktext }
+#})
+
+\relative c'' {
+  c2 e
+  \tempoMark #3.0 #"Allegro"
+  g c
+}
+@end lilypond
+
+Incluso se le pueden pasar expresiones musicales:
+
+@lilypond[quote,verbatim,ragged-right]
+pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
+#{
+  $x e8 a b $y b a e
+#})
+
+\relative c''{
+  \pattern c8 c8\f
+  \pattern {d16 dis} { ais16-> b\p }
+}
+@end lilypond
 
--- SKELETON FILE --
-When you actually translate this file, please remove these lines as
-well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index bc545d3835f7a0bd76c8025eba7bfe9bb0c59369..61a8e0def400a6d1f6f29c480dbc7f50d92bfe78 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: 66dde21fe63499f32a718f6098abe70e1429059b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
index 72653fbbf8325b68bbc5da7ecd3fd74ce504e60d..c9c85cbf7eda10edfc944b4ed40bd908f235eeb6 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0204d415337bf74ae8626f396e6ea3cc5669c8f2
+    Translation of GIT committish: 13290c3922962e4538d3acaf1f7abe14fce6bbff
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -15,6 +15,8 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 
 
 @menu
+* Tweaking basics::             
+* The Internals Reference manual::  
 * Moving objects::              
 * Fixing overlapping notation::  
 * Common tweaks::               
@@ -24,6 +26,868 @@ configurable; prácticamente todos los fragmentos de la salida se pueden cambiar
 * Avoiding tweaks with slower processing::  
 @end menu
 
+@node Tweaking basics
+@section Tweaking basics
+
+@menu
+* Introduction to tweaks::      
+* Objects and interfaces::      
+* Naming conventions of objects and properties::  
+* Tweaking methods::            
+@end menu
+
+@node Introduction to tweaks
+@subsection Introduction to tweaks
+
+El @q{Trucaje} es un término de LilyPond que denota los diversos
+métodos que el usuario tiene a su disposición para modificar el
+proceso de interpretación del archivo de entrada y cambiar la
+apariencia de la salida impresa.  Algunos trucos son muy fáciles de
+usar; otros son más complejos.  Pero en su conjunto, los métodos de
+trucaje disponibles posibilitan conseguir casi cualquier apariencia
+que deseemos en la música impresa.
+
+En esta sección vamos a estudiar los conceptos básicos que se
+necesitan para comprender el trucaje.  Más tarde daremos un amplio
+abanico de instrucciones listas para usar, que podrá simplemente
+copiar para obtener el mismo efecto en sus partituras, y al mismo
+tiempo mostraremos la forma de construir dichas instrucciones para que
+pueda aprender cómo desarrollar sus propios trucos.
+
+Antes de comenzar con este capítulo, quizá quiera echar un vistazo a
+la sección @ref{Contexts and engravers}, pues los Contextos, los
+Grabadores y las Propiedades que se contienen en ellos son
+fundamentales para comprender y construir los trucos.
+
+@node Objects and interfaces
+@subsection Objects and interfaces
+
+@cindex objetos
+@cindex grobs
+@cindex selectores
+@cindex interfaces
+
+El trucaje consiste en modificar el funcionamiento y estructura
+interna del programa LilyPond, por lo que en primer lugar
+introduciremos algunos términos que se usan para describir dichas
+operaciones y estructuras internas.
+
+El término @q{Objeto} es un término genérico que se usa para referirse
+a la multitud de estructuras internas que LilyPond construye durante
+el procesado de un archivo de entrada.  Así, cuando se encuentra una
+instrucción como @code{\new Staff}, se construye un objeto nuevo del
+tipo @code{Staff}.  Entonces, este objeto @code{Staff} contiene todas
+las propiedades asociadas con ese pentagrama en particular, por
+ejemplo, su nombre y su armadura, además de otros detalles de los
+grabadores que se han asignado para que operen dentro del contexto del
+pentagrama.  De forma similar, hay objetos que guardan las propieades
+de todos los demás contextos, como objetos de @code{Voice}, objetos de
+@code{Score}, objetos de @code{Lyrics}, así como objetos que
+representan todos los elementos notacionales como líneas divisorias,
+cabezas de las notas, ligaduras, indicaciones dinámicas, etc.  Cada
+objeto tiene su propio conjunto de valores de propiedad.
+
+Ciertos tipos de objetos reciben nombres especiales.  Los objetos que
+representan elementos de notación sobre la salida impresa como cabezas
+de notas, plicas, ligaduras de expresión y de unión, digitaciones,
+claves, etc. reciben el nombre de @q{Objetos de presentación}, a
+menudo conocidos como @q{Objetos gráficos}, o abreviadamente
+@q{Grobs}.  Aún son objetos en el sentido genérico que hemos
+mencionado, y también todos ellos tienen propiedades asociadas, como
+su posición, tamaño, color,etc.
+
+Ciertos objetos de presentación son aún más especializados.  Las
+ligaduras de fraseo, los reguladores, las indicaciones de octava alta
+y baja, y muchos otros objetos gráficos no están situados en un solo
+lugar: tienen un punto de inicio, un punto de final, y quizá otras
+propiedades relacionadas con su forma.  Los objetos con una forma
+extendida como estos, reciben el nombre de «Objetos de extensión» o
+@q{Spanners}.
+
+Aún falta por explicar qué son los @q{Interfaces}.  Muchos objetos,
+incluso aunque son bastante diferentes, comparten funcionalidades que
+se deben procesar de la misma manera.  Por ejemplo, todos los objetos
+gráficos tienen un color, un tamaño, una posición, etc., y todas estas
+propiedades se procesan de la misma forma durante la interpretación
+del archivo de entrada por parte de LilyPond.  Para simplificar estas
+operaciones internas, estas acciones t propiedades comunes se agrupan
+en un objeto llamado @code{grob-interface}, interface de grob.  Hay
+muchas otras agrupaciones de propiedades comunes como ésta, y cada
+unoa recibe un nombre que acaba en @code{interface}.  En total hay más
+de 100 interfaces de éstos.  Veremos más adelante porqué esto es del
+interés y de utilidad para el usuario.
+
+Estos son, en fin, los términos principales relativos a los objetos
+que vamos a utilizar en este capítulo.
+
+@node Naming conventions of objects and properties
+@subsection Naming conventions of objects and properties
+
+Ya hemos visto ciertas convenciones de nomenclatura de objetos, en la
+sección @ref{Contexts and engravers}.  En este lugar, para más fácil
+referencia, presentamos una lista de los tipos de objetos y
+propiedades más comunes, junto con las convenciones según las cuales
+reciben su nombre, y un par de ejemplos de nombres reales.  Hemos
+utilizado una «A» mayúscula para denotar cualquier carácter alfabético
+en mayúsculas, y «aaa» para cualquier número de caracteres alfabéticos
+en minúscula.  Otros caracteres se utilizan literalmente como están.
+
+@multitable @columnfractions .33 .33 .33
+@headitem Objeto o tipo de propiedad
+  @tab Convención de nomenclatura
+  @tab Ejemplo
+@item Contextos
+  @tab Aaaa o AaaaAaaaAaaa
+  @tab Staff, GrandStaff
+@item Objetos de presentación
+  @tab Aaaa o AaaaAaaaAaaa
+  @tab Slur, NoteHead
+@item Grabadores
+  @tab Aaaa_aaa_engraver
+  @tab Clef_engraver, Note_heads_engraver
+@item Interfaces
+  @tab aaa-aaa-interface
+  @tab grob-interface, break-aligned-interface 
+@item Propiedades de contextos
+  @tab aaa o aaaAaaaAaaa
+  @tab alignAboveContext, skipBars
+@item Propiedades de objetos de presentación
+  @tab aaa o aaa-aaa-aaa
+  @tab direction, beam-thickness
+@end multitable
+
+Como podremos ver en breve, las propiedades de distintos tipos de
+objeto se modifican por parte de diferentes instrucciones; así pues,
+es útil poder reconocer el tipo de objeto a partir de sus nombres de
+propiedad.
+
+@node Tweaking methods
+@subsection Tweaking methods
+
+@strong{La instrucción \override}
+
+@cindex override, instrucción
+@funindex \override
+
+Ya hemos visto las instrucciones @code{\set} y @code{\with}, que se
+usan para cambiar las propiedades de los @strong{contextos} y para
+quitar y poner @strong{grabadores}, en @ref{Modifying context
+properties} y @ref{Adding and removing engravers}.  Ahora debemos
+examinar algunas instrucciones importantes más.
+
+La instrucción que cambia las propiedades de los @strong{objetos de
+presentación} es @code{\override}.  Puesto que esta instrucción debe
+modificar propiedades internas que se encuentran en un lugar profundo
+dentro de LilyPond, su sintaxis no es tan simple como la del resto de
+las instrucciones que hemos visto hasta ahora.  Tiene que saber
+exactamente qué propiedad de qué objeto y en qué contexto se debe
+modificar, y cuál debe ser su nuevo valor.  Veamos cómo se hace.
+
+La sintaxis genérica de esta instrucción es:
+
+@example
+\override @emph{contexto}.@emph{objeto_de_presentación} 
+  #'@emph{propiedad_de_presentación} = #@emph{valor}
+@end example
+
+@noindent
+Esto establecerá la propiedad de nombre
+@emph{propiedad_de_presentación} del objeto de presentación con el
+nombre @emph{objeto_de_presentación}, que es miembro del contexto
+@emph{contexto}, al valor @emph{valor}.
+
+El @emph{contexto} se puede omitir (y normalmente así es) cuando el
+contexto requerido se encuentra implicado sin ambigüedad y es uno de
+los contextos del nivel más bajo, es decir: @code{Voice},
+@code{ChordNames} o @code{Lyrics}, y lo omitiremos en muchos de los
+ejemplos siguientes.  Veremos más tarde cuándo se debe especificar.
+
+Las últimas secciones tratan de forma exhaustiva las propiedades y sus
+valores, pero para ilustrar el formato y utilización de estas
+iinstrucciones usaremos sólo unas cuantas propiedades y valores
+sencillos que sean fáciles de entender.
+
+Por ahora no se preocupe por el @code{#'}, que debe anteponerse a la
+propiedad de presentación, y el @code{#}, que debe preceder al valor.
+Deben estar presentes siempre y de esa forma exacta.  Es la
+instrucción de uso más común dentro del trucaje, y durante la mayor
+parte del resto de este capítulo presentaremos ejemplos de cómo se
+usa.  A continuación hay un ejemplo sencillo para cambiar el color de
+una cabeza:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\override NoteHead #'color = #red
+e f g
+\override NoteHead #'color = #green
+a b c
+@end lilypond
+
+@strong{La instrucción \revert}
+
+@cindex revert, instrucción
+@funindex \revert
+
+Una vez sobreescrita, la proopiedad retiene su nuevo valor hasta que
+se sobreescribe de nuevo o se encuentra una instrucción
+@code{\revert}.  La instrucción @code{\revert} tiene la siguiente
+sintaxis y ocasiona que el valor de la propiedad se devuelva a su
+valor predeterminado original; observe que no es a su valor previo si
+se han utilizado varias instrucciones @code{\override}.
+
+@example
+\revert @emph{contexto}.@emph{objeto_de_presentación} #'@emph{propiedad_de_presentación}
+@end example
+
+Una vez más, igual que @emph{contexto} dentro de la instrucción
+@code{\override}, con frecuencia no es necesario especificar el
+@emph{contexto}.  Se omitirá en muchos de los ejemplos siguientes.
+Aquí devolvemos el color de la cabeza al valor predeterminado para las
+dos últimas notas:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\override NoteHead #'color = #red
+e f g
+\override NoteHead #'color = #green
+a
+\revert NoteHead #'color
+b c
+@end lilypond
+
+@strong{El prefijo \once}
+
+Tanto la instrucción @code{\override} como @code{\set} se pueden
+preceder por @code{\once}.  Esto ocasiona que la siguiente instrucción
+@code{\override} o @code{\set} sea efectiva solamente durante el
+tiempo musical en curso y antes de que la propiedad vuelva a tener
+otra vez su valor predeterminado.  Utilizando el mismo ejemplo,
+podemos cambiar el color de una sola nota de la siguiente manera:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\once \override NoteHead #'color = #red
+e f g
+\once \override NoteHead #'color = #green
+a b c
+@end lilypond
+
+@strong{La instrucción \overrideProperty}
+
+@cindex overrideProperty, instrucción
+@funindex \overrideProperty
+
+Hay otra forma para la instrucción de sobreescritura,
+@code{\overrideProperty}, que ocasionalmente es necesaria.  La
+mencionamos aquí con un propósito de exhaustividad, pero para ver más
+detalles consulte @ruser{Difficult tweaks}.
+@c Maybe explain in a later iteration  -td
+
+@strong{La instrucción \tweak}
+
+@cindex tweak, instrucción
+@funindex \tweak
+
+La última instrucción de trucaje que está disponible es @code{\tweak}.
+Se debe utilizar para cambiar las propiedades de objetos que suceden
+en el mismo momento musical, como las notas de un acorde.  El uso de
+@code{\override} para la sobreescritura afectaría a todas las notas
+del acorde, mientras que @code{\tweak} afecta solamente al siguiente
+elemento del flujo de entrada.
+
+He aquí un ejemplo.  Suponga que queremos cambiar el tamaño de la nota
+intermedia (el Mi) en un acorde de Do mayor.  En primer lugar, veamos
+lo que haría @code{\once \override}:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+  <c e g>4
+  \once \override NoteHead #'font-size = #-3
+  <c e g>
+  <c e g>
+@end lilypond
+
+Vemos que la sobreescritura con override afecta a @emph{todas} las
+notas del acorde.  Esto es así porque todas las notas de un acorde
+ocurren en el mismo @emph{momento musical}, y la acción de
+@code{\once} es aplicar la sobreescritura a todos los oobjetos de
+presentación del tipo especificado que ocurren en el mismo momento
+musical que la propia instrucción de sobreescritura @code{\override}.
+
+LA instrucción @code{\tweak} opera de una forma distinta.  Actúa sobre
+el elemento inmediatamente siguiente dentro del flujjo de entrada.
+Sin embargo, es efectivo solamente sobre objetos que se crean
+directamente a partir del flujo de entrada, en esencia las cabezas y
+las articulaciones (los objetos como las plicas y las alteraciones se
+crean con posterioridad y no se pueden trucar de esta forma).  Es más,
+cuando se aplica a las cabezas de las notas, éstas @emph{deben} estar
+dentro de un acorde, es decir, dentro de ángulos simples, así que para
+trucar una sola nota la instrucción @code{\tweak} se debe colocar
+dentro de ángulos simples junto con la nota.
+
+Así pues, volviendo a nuestro ejemplo, el tamaño de la nota intermedia
+se cambiaría de la siguiente forma:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+  <c e g>4
+  <c \tweak #'font-size #-3 e g>4
+@end lilypond
+
+Observe que la sintaxis de @code{\tweak} es diferente de la de la
+instrucción @code{\override}.  Ni el contexto ni el objeto de
+presentación se deben especificar; de hecho, generaría un error
+hacerlo.  Los dos están implícitos por el siguiente elemento del flujo
+de entrada.  Así que la sintaxis genérica de la instrucción
+@code{\tweak} es, simmplemente:
+
+@example
+\tweak #'@emph{propiedad_de_presentación} = #@emph{valor}
+@end example
+
+Una instrucción @code{\tweak} también se puede usar para modificar
+sólo una de una serie de articulaciones, como se muestra aquí:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+a ^Black
+  -\tweak #'color #red ^Red
+  -\tweak #'color #green _Green
+@end lilypond
+
+Observe que la instrucción @code{\tweak} debe venir precedida de una
+marca de articulación como si ella misma fuera una articulación.
+
+@cindex grupos especiales anidados
+@cindex tresillos anidados
+@cindex corchete del grupo especial
+@cindex grupo especial, corchete de
+@cindex tresillo, corchete de
+@funindex TupletBracket
+
+La instrucción @code{\tweak} también se debe usar para cambiar la
+apariencia de uno solo de un conjunto de grupos especiales anidados
+que comiencen en el mismo instante musical.  En el siguiente ejemplo,
+el corchete del tresillo largo y el primero de los tres corchetes
+cortos empiezan en el mismo momento musical, y por ello cualquier
+instrucción @code{\override} se aplicaría a los dos.  En el ejemplo se
+usa @code{\tweak} para distinguir entre ellos.  La primera instrucción
+@code{\tweak} especifica que el corchete del tresillo largo se debe
+colocar por encima de las notas y el segundo especifica que el número
+del tresillo se debe imprimir en rojo sobre el corchete del primer
+tresillo corto.
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\tweak #'direction #up
+\times 4/3 {
+  \tweak #'color #red
+  \times 2/3 { c8[ c8 c8] }
+  \times 2/3 { c8[ c8 c8] }
+  \times 2/3 { c8[ c8 c8] }
+}
+@end lilypond
+
+Encontrará más detalles de la instrucción @code{\tweak} en
+@ruser{Objects connected to the input}.
+
+Si los grupos anidados no comienzan en el mismo momento, su apariencia
+se puede modificar de la forma usual mediante instrucciones
+@code{\override}:
+
+@c NOTE Tuplet brackets collide if notes are high on staff
+@c See issue 509
+@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
+\times 2/3 { c8[ c c]}
+\once \override TupletNumber 
+  #'text = #tuplet-number::calc-fraction-text
+\times 2/3 {
+  c[ c]
+  c[ c]
+  \once \override TupletNumber #'transparent = ##t
+  \times 2/3 { c8[ c c] }
+\times 2/3 { c8[ c c]}
+}
+@end lilypond
+
+@node The Internals Reference manual
+@section The Internals Reference manual
+
+@cindex Internals Reference
+
+@menu
+* Properties of layout objects::  
+* Properties found in interfaces::  
+* Types of properties::         
+@end menu
+
+@node Properties of layout objects
+@subsection Properties of layout objects
+
+@cindex propiedades de los objetos de presentación
+@cindex propiedades de los grobs
+@cindex grobs, propiedades de
+@cindex presentación, propiedades de los objetos de
+
+Suponga que tiene una partitura con una ligadura de expresión que para
+su gusto es demasiado fina y quiere trazarla un poco más gruesa. ¿Cómo
+debe proceder?  Ya sabe, por las afirmaciones anteriores acerca de la
+flexibilidad de LilyPond, que tal posibilidad existe, y seguramente
+piensa que una cierta instrucción de sobreescritura @code{\override}
+será necesaria.  Pero ¿existe una propiedad de grosor para las
+ligaduras? y, si la hay, ¿cómo se puede modificar?  Aquí es donde
+interviene el Manual de Funcionamiento Interno.  Contiene toda la
+información que puede necesitar para construir ésta y todas las demás
+instrucciones @code{\override}, de sobreescritura.
+
+Una advertencia antes de dirigir nuestra mirada a la referencia de
+funcionamiento interno.  Éste es un documento de @strong{referencia},
+lo que significa que hay pocas o ninguna explicación en él: su
+propósito es presentar la información de forma precisa y concisa.  Por
+tanto, podrá parecerle desalentador a primera vista.  ¡No se preocupe!
+La guía y las explicaciones que presentamos aquí le permitirán extraer
+la información de la referencia de funcionamiento interno por sí mismo
+con tan sólo algo de práctica.
+
+@cindex sobreescritura, ejemplo de
+@cindex Referencia de Funcionamiento Interno, ejemplo de utilización
+
+Utilicemos un ejemplo concreto con un sencillo fragmento de música
+real:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8 b[( g]) g | 
+    g[( e]) e d[( f]) a | 
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+Suponga ahora que decidimos que nos gustan las ligaduras algo más
+gruesas.  ¿Es posible?  La ligadura es, ciertamente, un objeto de
+presentación, así que la cuestión es @q{¿Hay una propiedad
+perteneciente a las ligaduras de expresión que controle su grosor?}
+Para responder a esta pregunta debemos mirar el manual de Referencia
+de Funcionamiento Interno, abreviadamente RFI@footnote{@strong{IR}
+(Internals Reference) en inglés}.
+
+El RFI de la versión de LilyPond que está usando se puede encontrar en
+la página web de LilyPond en @uref{http://lilypond.org}.  Vaya a la
+página de la documentación y siga el enlace Manual de Referencia de
+Funcionamiento Interno (RFI).  Para nuestros propósitos pedagógicos
+sería mejor que utilizase la versión html, no la @q{en una sola
+página} ni el PDF.  Para que los siguientes párrafos tengan algún
+sentido deberá consultarlo realmente al tiempo que lee.
+
+@c Link names in English as these pages are not yet translated
+Bajo el encabezamiento @strong{Top} podrá ver cinco enlaces.
+Seleccione el enlace @emph{Backend}, que es donde se encuentra la
+información sobre los objetos de presentación.  Una vez allí, bajo el
+encabezamiento @strong{Backend}, siga el enlace @emph{All layout
+objects}.  La página que aparece relaciona todos los objetos de
+presentación que se usan en su versión de LilyPond, en orden
+alfabético.  Siga el enlace Slur (ligadura de expresión), y aparecerán
+relacionadas las propiedades de las ligaduras de expresión o Slurs.
+
+(Una forma alternativa de encontrar esta página es a partir de la
+Referencia de la Notación.  En una de las páginas que tratan de las
+ligaduras de expresión podrá encontrar un enlace al manual de
+referencia del funcioonamiento interno.  Este enlace le llevará
+directamente a esta página, aunque con frecuencia es más fácil ir
+directamente al RFI y buscar allí.)
+
+Esta página sobre las ligaduras de expresión dentro del manual RFI nos
+dice en primer lugar que los objetos Slur se crean por el grabador
+Slur_engraver.  A continuación relaciona los ajustes estándar.
+Observe que @strong{no} están en orden alfabético.  Navegue hacia
+abajo buscando una propiedad que pudiera controlar el grosor de las
+ligaduras, y encontrará
+
+@example
+@code{thickness} (number)
+     @code{1.2}
+     Line thickness, generally measured in @code{line-thickness}
+@end example
+
+Esto promete ser una buena opción para cambiar el grosor.  Nos dice
+que el valor de @code{thickness} es un simple @emph{número}, que el
+valor predeterminado es 1.2, y que las unidades están dentro de otra
+propiedad llamada @code{line-thickness}.
+
+Como dijimos con anterioridad, existen entre pocas y ninguna
+explicación en el RFI, pero ya tenemos información suficiente para
+probar a cambiar el grosor de la ligadura.  Vemos que el nombre del
+objeto de presentación es @code{Slur}, que el nombre de la propiedad
+que debemos cambiar es @code{thickness} y que el nuevo valor debe ser
+un número algo más grande que 1.2 si queremos hacer las ligaduras más
+gruesas.
+
+Ahora podemos construir la instrucción de sobreescritura
+@code{\override} simplemente mediante la sustitución de los valores
+que hemos encontrado para los nombres, omitiendo el contexto.
+Usaremos un valor muy grande para el grosor al principio, para estar
+seguros de que la instrucción está funcionando.  Obtenemos lo
+siguiente:
+
+@example
+\override Slur #'thickness = #5.0
+@end example 
+
+¡No olvide el @code{#'} antes del nombre de la propiedad y @code{#}
+antes del valor nuevo!
+
+La pregunta final es @q{¿Dónde se debe colocar esta instrucción?}
+Aunque nos falta seguridad y estamos todavía aprendiendo, la mejor
+respuesta es: @q{Dentro de la música, antes de la primera ligadura y
+cerca de ella.}  Hagámoslo así:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    % Increase thickness of all following slurs from 1.2 to 5.0
+    \override Slur #'thickness = #5.0
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+@noindent
+y podemos ver que la ligadura, es sin duda, más pesada.
+
+Así pues, ésta es la forma básica de construir instrucciones
+@code{\override} o de sobreescritura.  Existen unas cuantas
+complicaciones más con las que nos encontraremos en secciones
+posteriores, pero ahora conoce todos los principios esenciales que
+necesita para hacerlo por sí mismo (aunque aún necesita algo de
+práctica).  La cual vendrá proporcionada por los ejemplos que vienen a
+continuación.
+
+@subheading Finding the context
+@cindex contexto, encontrar
+
+Pero en primer lugar ¿qué habría pasado si hubiésemos tenido que
+especificar el contexto? ¿Cuál sería?  Podemos suponer que las
+ligaduras están en el contexto de Voz, por estar claramente asociados
+de manera estrecha con las líneas individuales de música, pero
+¿podemos estar seguros?  Para averiguarlo, vayamos de nuevo al inicio
+de la página del RFI que describe las ligaduras (Slur), donde dice
+@q{Slur objects are created by: Slur engraver} («Los objetos de
+ligadura de expresión se crean por: el grabador Slur»).  Así pues, las
+ligaduras de expresión se crean en cualquier contexto en el que se
+encuentre el grabador @code{Slur_engraver}.  Siga el enlace a la
+página del grabador @code{Slur_engraver}.  Al final del todo, dice que
+el grabador @code{Slur_engraver} es parte de cinco contextos de voz,
+incluido el contexto de voz estándar, @code{Voice}, por lo que nuestra
+suposición era acertada.  Y a causa de que @code{Voice} es uno de los
+contextos de más bajo nivel que se encuentra implícito sin ambigüedad
+por el hecho de que estamos escribiendo notas, podemos omitirlo en
+este lugar concreto.
+
+@subheading Overriding once only
+
+@cindex sobreescritura por una sola vez
+@cindex once override
+@funindex \once
+
+Como puede ver, @emph{todas} las ligaduras son más gruesas en el
+último ejemplo.  Pero ¿y si quisiéramos que solamente la primera
+ligadura fuese más gruesa?  Esto se consigue con la instrucción o
+prefijo @code{\once}.  Colocado inmediatamente antes de la instrucción
+@code{\override} ocasiona que solamente cambie la ligadura que
+comienza en la nota @strong{inmediata siguiente}.  Si la nota
+inmediata siguiente no da inicio a una ligadura, la instrucción no
+tiene niingún efecto en absoluto: no se recuerda hasta que se
+encuentre alguna ligadura, sino que simplemente se ignora.  Así pues,
+la instrucción que lleva @code{\once} se debe reposicionar de la forma
+siguiente:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    b[( g]) g | 
+    g[( e]) e d[( f]) a | 
+    a g 
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+@noindent
+Hemos hecho que ahora solamente la primera ligadura sea más gruesa.
+
+La instrucción o prefijo @code{\once} también se puede usar antes de
+la instrucción @code{\set}.
+
+@subheading Reverting
+
+@cindex revert
+@cindex predeterminadas, devolver a las propiedades
+@funindex \revert
+
+Finalmente ¿y si quisiéramos que solamente las dos primeras ligaduras
+fuesen más gruesas?  En fin; podríamos usar dos instrucciones, cada
+una de ellas precedida por el prefijo @code{\once}, situadas
+inmediatamente antes de cada una de las notas en que comienzan las
+ligaduras:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    b[( g]) g |
+    % Increase thickness of immediately following slur only
+    \once \override Slur #'thickness = #5.0
+    g[( e]) e d[( f]) a | 
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond 
+
+@noindent
+o podríamos omitir la instrucción prefija @code{\once} y utilizar la
+instrucción @code{\revert} (restablecer) para devolver la propiedad
+del grosor, @code{thickness}, a su valor predeterminado después de la
+segunda ligadura:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8
+    % Increase thickness of all following slurs from 1.2 to 5.0
+    \override Slur #'thickness = #5.0
+    b[( g]) g |
+    g[( e]) 
+    % Revert thickness of all following slurs to default of 1.2
+    \revert Slur #'thickness
+    e d[( f]) a | 
+    a g
+  }
+  \addlyrics {
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond
+
+@noindent
+la instrucción @code{\revert} se puede utilizar para devolver
+cualquier propiedad que se haya cambiado con @code{\override} a su
+valor predeterminado.  Puede utilizar el método que mejor se adapte a
+aquello que quere hacer.
+
+Así finaliza nuestra introducción al manual de RFI, y el método básico
+de trucaje.  A continuación, en las últimas secciones de este capítulo
+encontrará varios ejemplos, en parte para introducirle en algunas de
+las posibilidades adicionales del manual RFI, y en parte para
+proporcionarle más práctica en cómo extraer información de él.  Estos
+ejemplos irán conteniendo cada vez menos palabras de guía y
+explicación.
+
+@node Properties found in interfaces
+@subsection Properties found in interfaces
+
+@cindex propiedades de los interfaces
+@cindex interfaces, propiedades
+
+Suponga ahora que queremos imprimir la letra de la canción en cursiva.
+¿Qué forma de instrucción @code{\override} necesitamos para hacerlo?
+En primer lugar miramos en la página del RFI que relaciona todos los
+objetos, @q{All layout objects}, como antes, y buscamos un objeto que
+pueda conteolar la letra de la canción.  Encontramos @code{LyricText},
+que parece adecuado.  Al seguir este enlace se presentan las
+propiedades ajustables para el texto de la letra.  Estos incluyen
+@code{font-series} y @code{font-size}, pero nada que pudiera aplicar
+una forma cursiva.  Esto es porque la propiedad de la forma es común a
+todos los objetos de fuente tipográfica, y por tanto, en vez de
+incluirlo en cada uno de los objetos de preesentación, se agrupa junto
+con otras propiedades comunes similares y se deposita en un
+@strong{Interface}, el interface de las fuentes tipográficas
+@code{font-interface}.
+
+Por tanto, ahora necesitamos aprender cómo encontrar las propiedades
+de los interfaces, y descubrir qué objetos usan estas propiedades de
+interface.
+
+Mire de nuevo la página del RFI que decribe a LyricText.  Al final de
+la página hay una lista de enlaces (en las versiones de html del RFI)
+a los interfaces que LyricText contempla.  La lista tiene siete
+elementos, entre ellos @code{font-interface}.  Al seguir este enlace
+llegamos a las propiedades asociadas con este interface, que también
+son propiedades de todos los objetos que lo llevan, entre ellos
+LyricText.
+
+Ahora vemos todas las propiedades ajustables por el usuario que
+controlan las tipografías, entre ellas @code{font-shape(symbol)},
+donde @code{symbol} se puede establecer a @code{upright} (recta),
+@code{italics} (cursiva)o @code{caps} (mayúsculas pequeñas).
+
+Observará que @code{font-series} y @code{font-size} también se
+encuentran aquí relacionadas.  Esto inmediatamente hace que surja la
+pregunta: ¿Por qué están las propiedades comunes de tipografía
+@code{font-series} y @code{font-size} relacionadas bajo
+@code{LyricText} así como bajo el interface @code{font-interface} pero
+@code{font-shape} no lo está?  La respuesta es que @code{font-series}
+y @code{font-size} se cambian a partir de sus valores predeterminados
+globales cuando se crea un objeto @code{LyricText}, pero
+@code{font-shape} no lo hace.  Entonces los elementos de la lista
+@code{LyricText} le dicen los valores para esas dos propiedades que
+son de aplicación para @code{LyricText}.  Otros objetos que contemplan
+@code{font-interface} establecerán dichas propiedades de forma
+diferente cuando se crean.
+
+Veamos si ahora podemos construir la instrucción @code{\override} para
+cambiar la letra a cursiva.  El objeto es @code{LyricText}, la
+propiedad es @code{font-shape} y el valor es @code{italic}.  Igual que
+antes, omitiremos el contexto.
+
+Como nota aparte, aunque una nota importante, observe que a causa de
+que los valores de @code{font-shape} son símbolos, deben ir precedidos
+de un apóstrofe, @code{'}.  Esa es la razón por la que se necesitan
+apóstrofes antes de @code{thickness} en el ejemplo anterior y en
+@code{font-shape}.  Los dos son también símbolos.  Los símbolos son
+nombres especiales que son conocidos por LilyPond internamente.
+Algunos de ellos son nombres de propiedades, como @code{thickness} o
+@code{font-shape}, otros son en efecto valores especiales que se les
+puede dar a las propiedades, como @code{italic}.  Observe la
+distincion entre esto y las cadenas de texto arbitrarias, que
+aparecerían entrecomilladas como @code{"a text string"}.
+
+De acuerdo, entonces la instrucción @code{\override} que necesitamos
+para imprimir la letra en cursiva sería
+
+@example
+\override LyricText #'font-shape = #'italic
+@end example
+
+@noindent
+y debe colocarse justo delante de, y cerca de, la letra a la que debe
+afectar, como esto:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+  \time 6/8
+  {
+    r4 b8 b[( g]) g |
+    g[( e]) e d[( f]) a |
+    a g
+  }
+  \addlyrics {
+    \override LyricText #'font-shape = #'italic
+    The man who feels love's sweet e -- mo -- tion 
+  }
+}
+@end lilypond
+
+@noindent
+y toda la letra se imprime en cursiva.
+
+@subheading Specifying the context in lyric mode
+@cindex contexto, especificación en modo letra
+
+En el caso de la letra, si intenta especificar el contexto en el
+formato que acabamnos de dar, la instrucción no funcionará.  Una
+sílaba escrita en el modo letra, «lyricmode» temina en un espacio, un
+salto de línea o un dígito.  Cualquier otro carácter se incluye como
+parte de la sílaba.  Por esta razón, un espacio o salto de línea debe
+aparecer antes del último símbolo @code{@}} para evitar que se incluya
+como parte de la sílaba final.  De forma similar, se deben insertar
+espacios antes y después del punto, @q{.}, separando el nombre del
+contexto del nombre del objeto, pues en caso contrario los dos nombres
+se juntarán y el intérprete no podrá reconocerlos.  Así pues, la
+instrucción será:
+
+@example
+\override Lyrics . LyricText #'font-shape = #'italic
+@end example
+
+@warning{Dentro de la letra, deje siempre espacios entre la sílaba
+final y la llave de cierre.}
+
+@warning{En las sobreescrituras con override dentro de la letra,
+escriba siempre espacios antes y después del punto que separa el
+nombre del contexto y el nombre del objeto.}
+
+@node Types of properties
+@subsection Types of properties
+
+@cindex propiedades, tipos de
+
+Hasta ahora hemos visto dos tipos de propiedad:: @code{número} y
+@code{símbolo}.  Para que sea válido, el valor que se da a una
+propiedad debe ser del tipo correcto y obedecer las reglas de dicho
+tipo.  El tipo de la propiedad se muestra siempre entre paréntesis
+después del nombre de la propiedad en el RFI.  He aquí una lista de
+los tipos que podrá necesitar, junto con las reglas de dicho tipo, y
+algunos ejemplos.  Debe escribir siempre un símbolo de almohadilla,
+@code{#}, por supuesto, delante de estos valores cuando se introducen
+en la instrucción @code{\override}.
+
+@multitable @columnfractions .2 .45 .35
+@headitem Tipo de propiedad
+  @tab Reglas
+  @tab Ejemplos
+@item Booleano
+  @tab Verdadero o Falso, representado por #t o #f
+  @tab @code{#t}, @code{#f}
+@item Dimensión (en espacios de pentagrama)
+  @tab Un número decimal positivo (en unidades de espacios de pentagrama)
+  @tab @code{2.5}, @code{0.34}
+@item Dirección
+  @tab Una constante válida de dirección o su equivalente numérico
+  @tab @code{#LEFT}, @code{#CENTER}, @code{#UP},
+       @code{1}, @code{-1}
+@item Entero
+  @tab Un número entero positivo
+  @tab @code{3}, @code{1}
+@item Lista
+  @tab Un conjunto de elementos entre paréntesis separados por espacios y precedido de un apóstrofe
+  @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+       @code{'(1.0 0.25 0.5)}
+@item Marcado
+  @tab Cualquier elemento válido de marcado de texto
+  @tab @code{\markup @{ \italic "cresc." @}}
+@item Momento
+  @tab Una fracción de redonda construida con la función make-moment
+  @tab @code{(ly:make-moment 1 4)},
+       @code{(ly:make-moment 3 8)}
+@item Número
+  @tab Cualquier valor decimal positivo o negativo
+  @tab @code{3.5}, @code{-2.45}
+@item Pareja (de números)
+  @tab Dos números separados por un @q{espacio . espacio}, encerrado entre paréntesis y precedido de un apóstrofe
+  @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
+@item Símbolo
+  @tab Cualquiera del conjunto de símbolos premitidos para esa propiedad, precedido de un apóstrofe
+  @tab @code{'italic}, @code{'inside}
+@item Desconocido
+  @tab Un procedimiento o @code{#f} (para no producir ninguna acción)
+  @tab @code{bend::print}, @code{ly:text-interface::print},
+       @code{#f}
+@item Vector
+  @tab Una lista de tres elementos encerrados entre paréntesis y precedida de una almohadilla, @code{#}.
+  @tab @code{#(#t #t #f)}
+@end multitable
+
 
 @node Moving objects
 @section Moving objects
@@ -333,6 +1197,10 @@ se mide en espacios de pentagrama.  Para más información, consulte la porción
 correspondiente de la referencia del programa.
 
 
+@menu
+* Size of objects::             
+@end menu
+
 @node Size of objects
 @subsection Size of objects
 
index d59f38f027d23ca478dc6cea3610b2f554df2f31..fecc756ac20eefa137f74e19175fae25e57be034 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0204d415337bf74ae8626f396e6ea3cc5669c8f2
+    Translation of GIT committish: e1c119e97fca9bce4bb8749e56bf2952598589f6
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -18,11 +18,8 @@ que lea este capítulo.
 
 @menu
 * Suggestions for writing LilyPond files::  
-* Saving typing with variables and functions::  
-* Style sheets::                
-* Updating old files::          
-* Troubleshooting (taking it all apart)::  
-* Minimal examples::            
+* When things don't work::      
+* Scores and parts::            
 @end menu
 
 
@@ -59,6 +56,8 @@ más fáciles (o más difíciles) de actualizar.
 * General suggestions::         
 * Typesetting existing music::  
 * Large projects::              
+* Saving typing with variables and functions::  
+* Style sheets::                
 @end menu
 
 
@@ -70,19 +69,21 @@ o corregir problemas:
 
 @itemize @bullet
 @item @strong{Incluya los números de @code{\version} en todos los archivos}.  Dese cuenta de que todas las
-plantillas contienen una cadena como @code{\version "2.11.38"}.  Le recomendamos
-mucho que siempre incluya la @code{\version}, sin importar cuán
-pequeño pueda ser su archivo.  Desde la experiencia personal podemos decirle que es bastante frustrante
-intentar recordar el número de versión de LilyPond que estaba usando hace unos años.
-@code{convert-ly} requiere que declare
-qué versión de LilyPond utilizó.
-
-@item @strong{Incluya comprobaciones}: @ruser{Bar check}, @ruser{Octave check} y
-@ruser{Barnumber check}.  Si
-incluye comprobaciones de vez en cuando, en caso de que cometa un error podrá localizarlo mucho más rápidamente.
-¿Con qué frecuencia es @q{de vez en cuando}?  Depende de la complejidad
-de la música.  Para una música muy sencilla, quizá tan sólo una o dos veces.  Para
-una música muy compleja, quizá a cada compás.
+plantillas contienen información sobre la @code{\version}.  Le
+recomendamos mucho que siempre incluya la @code{\version}, sin
+importar cuán pequeño pueda ser su archivo.  Desde la experiencia
+personal podemos decirle que es bastante frustrante intentar recordar
+el número de versión de LilyPond que estaba usando hace unos años.
+@code{convert-ly} requiere que declare qué versión de LilyPond
+utilizó.
+
+@item @strong{Incluya comprobaciones}: @ruser{Bar and barnumber checks},
+@ruser{Octave check}.  Si incluye comprobaciones de vez en cuando, en
+caso de que cometa un error podrá localizarlo mucho más rápidamente.
+¿Con qué frecuencia es @q{de vez en cuando}?  Depende de la
+complejidad de la música.  Para una música muy sencilla, quizá tan
+sólo una o dos veces.  Para una música muy compleja, quizá a cada
+compás.
 
 @item @strong{Un compás por cada línea de texto}.  Si hay algo muy complicado, ya sea
 en la propia música
@@ -110,8 +111,8 @@ e identificadores.  Si especifica @code{c4 d e} al principio de una frase
 si reelabora la música más tarde.
 
 @item @strong{Separe los trucos} de las definiciones musicales.  Consulte
-@ruser{Saving typing with variables and functions} y
-@ruser{Style sheets}.
+@ref{Saving typing with variables and functions} y
+@ref{Style sheets}.
 
 @end itemize
 
@@ -169,12 +170,11 @@ g4 c'8. e16
 @}
 @end example
 
-@item @strong{Separe los trucos de las definiciones musicales}.  Ya se mencionó
-en @ruser{General suggestions}, pero para proyectos
-grandes es vital.  Quizá tengamos que cambiar la
-definición de @code{fthenp}, pero en ese caso sólo lo tendremos que
-hacer una vez, y aún podremos evitar tocar nada
-dentro de @code{violin}.
+@item @strong{Separe los trucos de las definiciones musicales}.
+Ya se mencionó con anterioridad, pero para proyectos grandes es vital.
+Quizá tengamos que cambiar la definición de @code{fthenp}, pero en ese
+caso sólo lo tendremos que hacer una vez, y aún podremos evitar tocar
+nada dentro de @code{violin}.
 
 @example
 fthenp = _\markup@{
@@ -188,7 +188,7 @@ g4\fthenp c'8. e16
 
 
 @node Saving typing with variables and functions
-@section Saving typing with variables and functions
+@subsection Saving typing with variables and functions
 
 @cindex variables
 @cindex identificadores
@@ -284,25 +284,25 @@ padText =
 @end lilypond
 
 La utilización de identificadores también es una buena forma de reducir el trabajo si
-la sintaxis de entrada de LilyPond cambia (ver @ruser{Updating old files}).  Si
+la sintaxis de entrada de LilyPond cambia (véase @ref{Updating old files}).  Si
 tiene una sola definición (como p.ej. @code{\dolce}) para todos sus
-archivos (ver @ruser{Style sheets}), y después la sintaxis se modifica, sólo tendrá
+archivos (ver @ref{Style sheets}), y después la sintaxis se modifica, sólo tendrá
 que actualizar su definición @code{\dolce} única,
 en lugar de tener que hacer cambios en cada uno de los archivos @code{.ly}.
 
 
 @node Style sheets
-@section Style sheets
+@subsection Style sheets
 
 La salida que produce LilyPond se puede modificar profundamente; consulte
-@ruser{Tweaking output} para leer detalles sobre este asunto.  Pero ¿qué ocurre si tiene muchos
+@ref{Tweaking output} para leer detalles sobre este asunto.  Pero ¿qué ocurre si tiene muchos
 archivos a los que les quiere aplicar sus propios trucos?  O ¿qué ocurre si, sencillamente,
 quiere separar los trucos de la propia música?  Todo esto
 es bastante fácil de conseguir.
 
 Veamos un ejemplo.  No se preocupe si no entiende
 las partes que tienen todos los @code{#()}.  Esto se explicará en
-@ruser{Advanced tweaks with Scheme}.
+@ref{Advanced tweaks with Scheme}.
 
 @lilypond[quote,verbatim,ragged-right]
 mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
@@ -323,7 +323,7 @@ tempoMark = #(define-music-function (parser location markp) (string?)
 @end lilypond
 
 Existen varios problemas con la salida que se superpone; los arreglaremos utilizando
-las técnicas descritas en @ruser{Moving objects}.  Pero también haremos algo respecto a
+las técnicas descritas en @ref{Moving objects}.  Pero también haremos algo respecto a
 las definiciones @code{mpdolce} y @code{tempoMark}.  Éstas producen la salida que
 deseamos, pero quizá las querríamos utilizar en otra pieza.
 Podríamos simplemente copiarlas y pegarlas al principio de cada archivo,
@@ -545,9 +545,17 @@ Yo utilizo media docena de archivos de
 \include "../iniciar/iniciar-papel.ly"
 @end example
 
+@node When things don't work
+@section When things don't work
+
+@menu
+* Updating old files::          
+* Troubleshooting (taking it all apart)::  
+* Minimal examples::            
+@end menu
 
 @node Updating old files
-@section Updating old files
+@subsection Updating old files
 
 La sintaxis de la entrada de LilyPond cambia de manera ocasional.  A medida que el propio
 LilyPond mejora, la sintaxis (el lenguaje de la entrada) se modifica en consonancia.  A
@@ -566,8 +574,8 @@ se relacionan en @rprogram{Updating files with convert-ly}.
 
 Por ejemplo, en la versión 2.4 y anteriores de LilyPond,
 los acentos y las letras no inglesas se introducían utilizando
-LaTeX: por ejemplo, @samp{No\"el} (que significa @q{Navidad} en francés).
-En LilyPond 2.6 y siguientes, el carácter especial @samp{ë}
+LaTeX: por ejemplo, @code{No\"el} (que significa @q{Navidad} en francés).
+En LilyPond 2.6 y siguientes, el carácter especial @code{ë}
 debe introducirse directamente en el archivo de LilyPond como un carácter UTF-8.
 @code{convert-ly} no puede cambiar todos los caracteres especiales
 de LaTeX a caracteres de UTF-8; tendrá que actualizar manualmente
@@ -575,7 +583,7 @@ sus archivos de LilyPond antiguos.
 
 
 @node Troubleshooting (taking it all apart)
-@section Troubleshooting (taking it all apart)
+@subsection Troubleshooting (taking it all apart)
 
 Antes o después escribirá un archivo que LilyPond no podrá compilar.
 Los mensajes que LilyPond proporciona pueden ayudarle a encontrar el
@@ -626,11 +634,11 @@ Ahora empiece poco a poco descomentando cada vez más fracciones de la
 parte del @code{bajo} hasta que encuentre la línea del problema.
 
 Otra técnica de depuración muy útil es la construcción de
-@ruser{Minimal examples}.
+@ref{Minimal examples}.
 
 
 @node Minimal examples
-@section Minimal examples
+@subsection Minimal examples
 
 Un ejemplo mínimo es un ejemplo tan pequeño como sea posible.  Estos
 ejemplos son mucho más fáciles de comprender que los ejemplos largos.  Los ejemplos
@@ -668,3 +676,123 @@ del ejemplo.
 @end itemize
 
 
+@node Scores and parts
+@section Scores and parts
+
+En música orquestal, todas las notas se imprimen dos veces.  Una vez
+en las particellas para los músicos, y otra para la partitura del director.
+Los identificadores se pueden usar para evitar la duplicación del trabajo.
+La música se escribe una vez y se almacena en una variable.
+El contenido de dicha variable se usa después para generar tanto la particella como la partitura del director.
+
+Es muy conveniente definir las notas en un archivo especial.  Por
+ejemplo, supongamos que el archivo @file{trompa.ly} contiene la
+siguiente parte de un dúo para trompa y fagot:
+
+@example
+notasTrompa = \relative c @{
+  \time 2/4
+  r4 f8 a cis4 f e d
+@}
+@end example
+
+@noindent
+Luego se hace una particella escribiendo en un archivo lo siguiente
+
+@example
+\include "trompa.ly"
+\header @{
+  instrument = "Trompa en Fa"
+@}
+
+@{
+ \transpose f c' \notasTrompa
+@}
+@end example
+
+La línea
+
+@example
+\include "trompa.ly"
+@end example
+
+@noindent
+sustituye el contenido de @file{trompa.ly} en esta posición dentro del
+archivo, así que @code{notasTrompa} se define con posterioridad.  El comando
+@code{\transpose f@tie{}c'} indica que el argumento constituido por
+@code{\notasTrompa} se debe transponer una quinta hacia arriba.  Lo que suena como
+@code{f} se escribe como @code{c'}, lo que corresponde con el tono de afinación de
+una trompa normal en@tie{}Fa.  La transposición se puede ver en la
+siguiente salida
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+En piezas para conjunto, con frecuencia una de las voces no suena durante muchos compases.
+Esto queda denotado por un silencio especial, el silencio multicompás.
+Se introduce con una @code{R} mayúscula seguida de una duración
+(@code{1}@tie{}en el caso de la redonda, @code{2}@tie{}en el caso de una blanca,
+etc.).  Multiplicando la duración se pueden construir
+silencios más largos.  Por ejemplo, este silencio ocupa
+3@tie{}compases de 2/4
+
+@example
+R2*3
+@end example
+
+Cuando se imprime la particella tienen que comprimirse los silencios
+multicompás.  Esto se hace estableciendo una variable en tiempo de ejecución
+
+@example
+\set Score.skipBars = ##t
+@end example
+
+@noindent
+Este comando establece el valor de la propiedad @code{skipBars} en el
+contexto de @code{Score} a verdadero (@code{##t}).  Anteponiendo el silencio y
+esta opción a la música anterior, llegamos al siguiente resultado
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  \set Score.skipBars = ##t
+  R2*3
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+
+Esta partitura se hace combinando toda la música junta.  Suponiendo
+que la otra voz se encuentra dentro de @code{notasFagot} en el archivo
+@file{fagot.ly}, la partitura se hace con
+
+@example
+\include "fagot.ly"
+\include "trompa.ly"
+
+<<
+  \new Staff \notasTrompa
+  \new Staff \notasFagot
+>>
+@end example
+
+@noindent
+lo que nos lleva a
+
+@lilypond[quote,ragged-right]
+\relative c <<
+  \new Staff {
+    \time 2/4 R2*3
+    r4 f8 a cis4 f e d
+  }
+  \new Staff {
+    \clef bass
+    r4 d,8 f | gis4 c | b bes |
+    a8 e f4 | g d | gis f
+  }
+>>
+@end lilypond
index 30ec211f6c3dbeccea3071caf2fefb7b93243a22..15823a4a1654e424b5852384dff6d8f0db8613bc 100644 (file)
@@ -1,7 +1,7 @@
 # translation of LilyPond documentation
 # Copyright (C) 2006 Han-Wen Nienhuys, Jan Nieuwenhuizen
 # This file is distributed under the same license as the lilypond package.
-# Till Rettig <till.rettig@gmx.de>, 2007.
+# Till Rettig <till.rettig@gmx.de>, 2007,2008
 # 
 # 
 msgid ""
@@ -9,12 +9,12 @@ msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2008-03-23 16:29+0100\n"
-"PO-Revision-Date: 2007-12-07 18:06+0200\n"
+"PO-Revision-Date: 2008-03-24 15:06+0200\n"
 "Last-Translator: Till Rettig <till.rettig@gmx.de>\n"
 "Language-Team: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Transfer-Encoding: 8bit"
 
 #: add_html_footer.py:44
 #, python-format
@@ -121,7 +121,7 @@ msgstr "Vordefinierte Befehle"
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
 #. @subsubheading in ../../../Documentation/de/user/macros.itexi
 msgid "Selected Snippets"
-msgstr ""
+msgstr "Ausgewählte Schnipsel"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 #. @subsubheading in ../../../Documentation/fr/user/macros.itexi
@@ -717,9 +717,8 @@ msgid "Phrasing slurs"
 msgstr "Phrasierungsbögen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
-#, fuzzy
 msgid "slurs"
-msgstr "Legatobogen"
+msgstr "Legatobögen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/de/user/tutorial.itely
@@ -905,7 +904,6 @@ msgstr "Verzierungen"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "acciaccatura"
 msgstr "Vorschlag"
 
@@ -981,7 +979,7 @@ msgstr "Mehrere Notensysteme"
 #. @node in ../../../Documentation/de/user/tutorial.itely
 #. @subsection in ../../../Documentation/de/user/tutorial.itely
 msgid "Staff groups"
-msgstr ""
+msgstr "Notensysteme gruppieren"
 
 #. @rglos in ../../../Documentation/user/tutorial.itely
 #. @rglos in ../../../Documentation/user/staff.itely
@@ -1210,9 +1208,8 @@ msgstr "Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck"
 #. @subsection in ../../../Documentation/es/user/fundamental.itely
 #. @node in ../../../Documentation/de/user/fundamental.itely
 #. @subsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Nesting music expressions"
-msgstr "Musikalische Ausdrücke verschachteln"
+msgstr "Musikalische Ausdrücke ineinander verschachteln"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/tweaks.itely
@@ -1361,9 +1358,8 @@ msgstr "Engraver hinzufügen und entfernen"
 #. @subsubheading in ../../../Documentation/user/fundamental.itely
 #. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Changing a single context"
-msgstr "Neue Umgebungen definieren"
+msgstr "Einen einzelnen Kontext verändern"
 
 #. @rglos in ../../../Documentation/user/fundamental.itely
 #. @rglos in ../../../Documentation/user/pitches.itely
@@ -1374,9 +1370,8 @@ msgstr "Tonumfang"
 #. @subsubheading in ../../../Documentation/user/fundamental.itely
 #. @subsubheading in ../../../Documentation/es/user/fundamental.itely
 #. @subsubsection in ../../../Documentation/de/user/fundamental.itely
-#, fuzzy
 msgid "Changing all contexts of the same type"
-msgstr "Umgebungseigenschaften lokal ändern"
+msgstr "Alle Kontexte des gleichen Typs verändern"
 
 #. @node in ../../../Documentation/user/fundamental.itely
 #. @section in ../../../Documentation/user/fundamental.itely
@@ -1437,156 +1432,139 @@ msgstr "Die Ausgabe verändern"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tweaking basics"
-msgstr "Die Ausgabe verändern"
+msgstr "Grundlagen für die Optimierung"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Introduction to tweaks"
-msgstr "Eine Korrektur konstruieren"
+msgstr "Grundlagen zur Optimierung"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Objects and interfaces"
-msgstr "Layout-Schnittstellen"
+msgstr "Objekte und Schnittstellen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Naming conventions of objects and properties"
-msgstr ""
+msgstr "Regeln zur Benennung von Objekten und Eigenschaften"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tweaking methods"
-msgstr "Die Ausgabe verändern"
+msgstr "Optimierungsmethoden"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "The Internals Reference manual"
-msgstr ""
+msgstr "Die Referenz der Programminterna"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Properties of layout objects"
-msgstr ""
+msgstr "Eigenschaften von Layoutobjekten"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Finding the context"
-msgstr "Neue Umgebungen definieren"
+msgstr "Den Kontext finden"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Overriding once only"
-msgstr ""
+msgstr "Nur einmal mit \\override verändern"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Reverting"
-msgstr "Fehler melden"
+msgstr "Rückgängig machen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Properties found in interfaces"
-msgstr "Schnittstelle für Programmierer"
+msgstr "Eigenschaften, die Schnittstellen besitzen können"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Specifying the context in lyric mode"
-msgstr "Melismen innerhalb des Textes bestimmen"
+msgstr "Den Kontext im Liedtextmodus bestimmen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Types of properties"
-msgstr "Eigenschaften von Musikobjekten"
+msgstr "Typen von Eigenschaften"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "Appearance of objects"
-msgstr ""
+msgstr "Erscheinung von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Visibility and color of objects"
-msgstr ""
+msgstr "Sichtbarkeit und Farbe von Objekten"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "stencil"
-msgstr ""
+msgstr "stencil (Matrize)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "break-visibility"
-msgstr ""
+msgstr "break-visibility (unsichtbar machen)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "transparent"
-msgstr "Transposition"
+msgstr "transparent (durchsichtig)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "color"
-msgstr "Akkord"
+msgstr "color (Farbe)"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 #. @node in ../../../Documentation/es/user/tweaks.itely
 #. @subsection in ../../../Documentation/es/user/tweaks.itely
-#, fuzzy
 msgid "Size of objects"
-msgstr "Verschieben von Objekten"
+msgstr "Größe von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Length and thickness of objects"
-msgstr ""
+msgstr "Länge und Dicke von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Placement of objects"
-msgstr "Verschieben von Objekten"
+msgstr "Positionierung von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Automatic behaviour"
-msgstr "Automatische Balken"
+msgstr "Automatisches Verhalten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
 msgid "Within-staff objects"
-msgstr ""
+msgstr "withing-staff (Objekte innerhalb des Notensystems)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Fingering"
 msgstr "Fingersatz"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Outside staff objects"
-msgstr "Außerhalb des Notensystems"
+msgstr "Objekte außerhalb des Notensystems"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "\\textLengthOn"
-msgstr ""
+msgstr "\\textLengthOn (Textlänge berücksichtigen)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Grob sizing"
-msgstr ""
+msgstr "Verändern der Größe von grobs"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Collisions of objects"
-msgstr "Farbige Objekte"
+msgstr "Kollision von Objekten"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
@@ -1612,71 +1590,66 @@ msgstr "Überlappende Notation in Ordnung bringen"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "padding property"
-msgstr ""
+msgstr "padding (Fülleigenschafte)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "left-padding and right-padding"
-msgstr ""
+msgstr "left-padding (Verschieben nach rechts) und right-padding (Verschieben nach links)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "staff-padding property"
-msgstr ""
+msgstr "staff-padding (Systemfüllungseigenschaft)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "self-alignment-X property"
-msgstr ""
+msgstr "self-alignment-X (Selbstausrichtung-X-Eigenschaft)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "staff-position property"
-msgstr ""
+msgstr "staff-position (Position innerhalb des Systems)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "extra-offset property"
-msgstr ""
+msgstr "extra-offset (Genaues Positionieren)"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "positions property"
-msgstr ""
+msgstr "Ausrichtungseigenschaft"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "force-hshift property"
-msgstr ""
+msgstr "force-hshift (vertikale Verschiebunseigenschaft)"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Real music example"
-msgstr "Anklickbare Beispiele"
+msgstr "Beispiele aus dem Leben"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @section in ../../../Documentation/user/tweaks.itely
 msgid "Further tweaking"
-msgstr ""
+msgstr "Weitere Optimierungen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Other uses for tweaks"
-msgstr "Andere übliche Optimierungen"
+msgstr "Andere Benutzung von Optimierungen"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Tying notes across voices"
-msgstr "Stichnoten"
+msgstr "Noten zwischen unterschiedlichen Stimmen überbinden"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
 msgid "Simulating a fermata"
-msgstr ""
+msgstr "Eine Fermate simulieren"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Using variables for tweaks"
-msgstr "Eine zusätzliche Stimme für Umbrüche benutzen"
+msgstr "Variablen für Optimierungen einsetzen"
 
 #. @node in ../../../Documentation/user/tweaks.itely
 #. @subsection in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Other sources of information"
 msgstr "Mehr Information"
 
@@ -2039,9 +2012,8 @@ msgid "Texinfo"
 msgstr "Texinfo"
 
 #. @appendixsubsec in ../../../Documentation/user/templates.itely
-#, fuzzy
 msgid "xelatex"
-msgstr "Vorlagen"
+msgstr "xelatex"
 
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendix in ../../../Documentation/user/scheme-tutorial.itely
@@ -2056,9 +2028,8 @@ msgstr "Scheme-Übung"
 
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendixsec in ../../../Documentation/user/scheme-tutorial.itely
-#, fuzzy
 msgid "Tweaking with Scheme"
-msgstr "Fortgeschrittene Optimierungen mit Scheme"
+msgstr "Optimierungen mit Scheme"
 
 #. @node in ../../../Documentation/user/fdl.itexi
 #. @appendix in ../../../Documentation/user/fdl.itexi
@@ -2591,9 +2562,8 @@ msgstr "@command{lilypond-book} aufrufen"
 #. @subheading in ../../../Documentation/fr/user/lilypond-book.itely
 #. @subheading in ../../../Documentation/es/user/lilypond-book.itely
 #. @subheading in ../../../Documentation/de/user/lilypond-book.itely
-#, fuzzy
 msgid "Format-specific instructions"
-msgstr "Instrumentenspezifische Notation"
+msgstr "Formatabhängige Anweisungen"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
@@ -2783,14 +2753,12 @@ msgid "Relative octave entry"
 msgstr "Relative Oktavenbezeichnung"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "fifth"
-msgstr "Tonhöhe"
+msgstr "Quinte"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "quarter-tone"
-msgstr "Viertelnote"
+msgstr "Viertelton"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
@@ -2818,7 +2786,6 @@ msgstr "Viele Tonhöhen gleichzeitig verändern"
 #. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
 #. @subsubsection in ../../../Documentation/es/user/pitches.itely
-#, fuzzy
 msgid "Octave checks"
 msgstr "Oktavenüberprüfung"
 
@@ -2856,9 +2823,8 @@ msgid "Key signature"
 msgstr "Tonartbezeichnung"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "church mode"
-msgstr "Akkord-Modus"
+msgstr "Kirchentonart"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
 msgid "scordatura"
@@ -2876,9 +2842,8 @@ msgid "Ottava brackets"
 msgstr "Oktavierungsklammern"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "octavation"
-msgstr "Oktave"
+msgstr "Oktavierung"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
@@ -2893,12 +2858,11 @@ msgstr "Transposition von Instrumenten"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
 msgid "concert pitch"
-msgstr ""
+msgstr "Kammerton"
 
 #. @rglos in ../../../Documentation/user/pitches.itely
-#, fuzzy
 msgid "transposing instrument"
-msgstr "Transposition"
+msgstr "Transponierende Instrumente"
 
 #. @node in ../../../Documentation/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/user/pitches.itely
@@ -2937,7 +2901,6 @@ msgstr "Notenköpfe"
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
 #. @node in ../../../Documentation/es/user/pitches.itely
 #. @subsubsection in ../../../Documentation/es/user/pitches.itely
-#, fuzzy
 msgid "Special note heads"
 msgstr "Besondere Notenköpfe"
 
@@ -3007,32 +2970,28 @@ msgstr "Tondauern"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/es/user/rhythms.itely
-#, fuzzy
 msgid "breve"
-msgstr "Klammer"
+msgstr "Brevis"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/es/user/rhythms.itely
-#, fuzzy
 msgid "longa"
-msgstr "Lieder"
+msgstr "Longa"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/es/user/rhythms.itely
 msgid "Duration names notes and rests"
-msgstr ""
+msgstr "Dauerbezeichnungen für Noten und Pausen"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/es/user/rhythms.itely
-#, fuzzy
 msgid "tuplet"
-msgstr "Andere rhythmische Aufteilungen"
+msgstr "N-tole"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/es/user/rhythms.itely
-#, fuzzy
 msgid "polymetric"
-msgstr "Gesangtext"
+msgstr "Polymetrie"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
@@ -3047,7 +3006,6 @@ msgstr "Tondauern skalieren"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 #. @rglos in ../../../Documentation/es/user/rhythms.itely
-#, fuzzy
 msgid "laissez vibrer"
 msgstr "Laissez-vibrer-Bögen"
 
@@ -3077,19 +3035,16 @@ msgstr "Überspringen von Zeichen"
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
 #. @node in ../../../Documentation/es/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/es/user/rhythms.itely
-#, fuzzy
 msgid "Full measure rests"
-msgstr "Mehrtaktige Pausen"
+msgstr "Ganztaktige Pausen"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "multi-measure rest"
-msgstr "Mehrtaktige Pausen"
+msgstr "Pausen über mehrere Takte"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "church rests"
-msgstr "Akkord-Modus"
+msgstr "Kirchenpausen"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
@@ -3136,13 +3091,12 @@ msgid "Polymetric notation"
 msgstr "Polymetrische Notation"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "polymetric time signature"
-msgstr "Taktangabe"
+msgstr "Polymetrische Taktangabe"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
 msgid "meter"
-msgstr ""
+msgstr "Metrum"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsubsection in ../../../Documentation/user/rhythms.itely
@@ -3322,23 +3276,22 @@ msgstr "Artikulationszeichen und Verzierungen"
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "tenuto"
-msgstr ""
+msgstr "Tenuto"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "accent"
-msgstr "Versetzungszeichen"
+msgstr "Akzent"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "staccato"
-msgstr ""
+msgstr "Staccato"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "portato"
-msgstr ""
+msgstr "Portato"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
@@ -3378,9 +3331,8 @@ msgid "falls"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
 msgid "doits"
-msgstr "jEdit"
+msgstr "doits"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
@@ -3405,7 +3357,6 @@ msgid "Glissando"
 msgstr "Glissando"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
 msgid "glissando"
 msgstr "Glissando"
 
@@ -3422,7 +3373,6 @@ msgstr "Arpeggio"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "arpeggio"
 msgstr "Arpeggio"
 
@@ -3439,7 +3389,6 @@ msgstr "Triller"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "trill"
 msgstr "Triller"
 
@@ -3458,9 +3407,8 @@ msgstr "Wiederholungszeichen"
 #. @subsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Writing long repeats"
-msgstr "Wiederholungen eingeben"
+msgstr "Lange Wiederholungen eingeben"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
@@ -3471,9 +3419,8 @@ msgstr "Normale Wiederholungen"
 
 #. @rglos in ../../../Documentation/user/repeats.itely
 #. @rglos in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "repeat"
-msgstr "Wiederholungszeichen"
+msgstr "Wiederholungen"
 
 #. @rglos in ../../../Documentation/user/repeats.itely
 #. @rglos in ../../../Documentation/es/user/repeats.itely
@@ -3484,33 +3431,29 @@ msgstr ""
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsubsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Manual repeat marks"
-msgstr "Manuelle Wiederholungsbefehle"
+msgstr "Manuelle Wiederholungszeichen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsubsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Written-out repeats"
-msgstr "Wiederholungen eingeben"
+msgstr "Ausgeschriebene Wiederholungen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Short repeats"
-msgstr "Andere Wiederholungen"
+msgstr "Kurze Wiederholungen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsubsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Percent repeats"
-msgstr "Taktwiederholungen"
+msgstr "Prozent-Wiederholungen"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
@@ -3631,35 +3574,30 @@ msgstr "Systeme anzeigen lassen"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Initiating new staves"
-msgstr "Systeme verstecken"
+msgstr "Neue Notensysteme beginnen"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "staff"
 msgstr ""
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "staves"
-msgstr "Oktave"
+msgstr "Systeme"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Grouping staves"
-msgstr "Systeme verstecken"
+msgstr "Systeme gruppieren"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "bracket"
 msgstr "Klammer"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Modifying single staves"
-msgstr "Umgebungs-Eignschaften verändern"
+msgstr "Einzelne Systeme verändern"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
@@ -3674,14 +3612,12 @@ msgstr "Das Notensystem"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Ossia staves"
-msgstr "Klaviersysteme"
+msgstr "Ossia-Systeme"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Frenched staff"
-msgstr "Ein einzelnes System"
+msgstr "Verkleinerte Systeme"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
@@ -3717,24 +3653,20 @@ msgid "Metronome marks"
 msgstr "Metronomangabe"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronome"
 msgstr "Metronomangabe"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronomic indication"
-msgstr "Seitennummerbezeichnung"
+msgstr "Metronombezeichnung"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "tempo indication"
-msgstr "Moderne Notation"
+msgstr "Tempobezeichnung"
 
 #. @rglos in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "metronome mark"
-msgstr "Metronomangabe"
+msgstr "Metronombezeichnung"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
@@ -4963,15 +4895,14 @@ msgstr "Verschiedene Editionen aus einer Quelldatei"
 #. @node in ../../../Documentation/de/user/input.itely
 #. @section in ../../../Documentation/de/user/input.itely
 msgid "Common syntax issues TODO name?"
-msgstr ""
+msgstr "Übliche Syntax-Probleme"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/es/user/input.itely
 #. @subsection in ../../../Documentation/es/user/input.itely
-#, fuzzy
 msgid "Controlling direction and placement"
-msgstr "Auflösung von Zusammenstößen"
+msgstr "Richtung und Platzierung kontrollieren"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
@@ -4982,14 +4913,14 @@ msgstr "Auflösung von Zusammenstößen"
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
 msgid "Distances and measurements MAYBE MOVE"
-msgstr ""
+msgstr "Abstände und Maßeinheiten"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/es/user/input.itely
 #. @subsection in ../../../Documentation/es/user/input.itely
 msgid "When to add a -"
-msgstr ""
+msgstr "Wann ein - hinzugefügt wird"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
@@ -5200,7 +5131,7 @@ msgstr "Wiederholungen und MIDI"
 #. @node in ../../../Documentation/de/user/non-music.itely
 #. @section in ../../../Documentation/de/user/non-music.itely
 msgid "other midi"
-msgstr ""
+msgstr "Weiter Midi-Probleme"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @chapter in ../../../Documentation/user/spacing.itely
@@ -5522,7 +5453,7 @@ msgstr "Proportionale Notation"
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @section in ../../../Documentation/de/user/spacing.itely
 msgid "Page layout MOVED FROM LM"
-msgstr ""
+msgstr "Seitenlayout"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5532,9 +5463,8 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Introduction to layout"
-msgstr "Eine Korrektur konstruieren"
+msgstr "Einfürung in das Layout"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5545,7 +5475,7 @@ msgstr "Eine Korrektur konstruieren"
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
 msgid "Global sizes"
-msgstr ""
+msgstr "Globale Größenangabe"
 
 #. @node in ../../../Documentation/user/spacing.itely
 #. @subsection in ../../../Documentation/user/spacing.itely
@@ -5555,7 +5485,6 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Line breaks"
 msgstr "Zeilenumbrüche"
 
@@ -5567,7 +5496,6 @@ msgstr "Zeilenumbrüche"
 #. @subsection in ../../../Documentation/es/user/spacing.itely
 #. @node in ../../../Documentation/de/user/spacing.itely
 #. @subsection in ../../../Documentation/de/user/spacing.itely
-#, fuzzy
 msgid "Page breaks"
 msgstr "Seitenumbrüche"
 
@@ -5798,19 +5726,17 @@ msgstr "Schwierige Korrekturen"
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @section in ../../../Documentation/user/changing-defaults.itely
 msgid "Discussion of specific tweaks"
-msgstr ""
+msgstr "Erklärung von speziellen Optimierungen"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
-#, fuzzy
 msgid "Line styles"
-msgstr "Zeilenlänge"
+msgstr "Zeilenstile"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
-#, fuzzy
 msgid "Controlling visibility of objects"
-msgstr "Farbige Objekte"
+msgstr "Die Sichtbarkeit von Objekten kontrollieren"
 
 #. @node in ../../../Documentation/user/programming-interface.itely
 #. @chapter in ../../../Documentation/user/programming-interface.itely
@@ -6241,33 +6167,29 @@ msgstr "Liste der Arktikulationszeichen"
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
 #. @node in ../../../Documentation/fr/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
-#, fuzzy
 msgid "All context properties"
-msgstr "Umgebungs-Eignschaften verändern"
+msgstr "Alle Kontexteigenschaften"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
 #. @node in ../../../Documentation/fr/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
-#, fuzzy
 msgid "Layout properties"
-msgstr "Eigenschaften von Musikobjekten"
+msgstr "Eigenschaften des Layouts"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
 #. @node in ../../../Documentation/fr/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
-#, fuzzy
 msgid "Identifiers"
-msgstr "Quelldateien"
+msgstr "Bezeichner"
 
 #. @node in ../../../Documentation/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/user/notation-appendices.itely
 #. @node in ../../../Documentation/fr/user/notation-appendices.itely
 #. @appendixsec in ../../../Documentation/fr/user/notation-appendices.itely
-#, fuzzy
 msgid "Scheme functions"
-msgstr "Musikalische Funktionen"
+msgstr "Scheme-Funktionen"
 
 #. @node in ../../../Documentation/user/cheatsheet.itely
 #. @appendix in ../../../Documentation/user/cheatsheet.itely
@@ -6281,7 +6203,6 @@ msgid "Cheat sheet"
 msgstr "Befehlsübersicht"
 
 #. @top in ../../../Documentation/fr/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond --- manuel d'initiation"
 msgstr "GNU LilyPond -- Das Handbuch zum Lernen"
 
@@ -6311,9 +6232,8 @@ msgid "Utilisation du programme"
 msgstr ""
 
 #. @subsubheading in ../../../Documentation/fr/user/introduction.itely
-#, fuzzy
 msgid "Autre documentation"
-msgstr "Die Dokumentation übersetzen"
+msgstr "Andere Dokumentation"
 
 #. @rglos in ../../../Documentation/fr/user/tutorial.itely
 msgid "fourth"
@@ -6370,14 +6290,12 @@ msgid "Saving typing with identifiers and functions"
 msgstr "Tipparbeit sparen durch Bezeichner und Funktionen"
 
 #. @top in ../../../Documentation/fr/user/lilypond-program.tely
-#, fuzzy
 msgid "GNU LilyPond --- utilisation des programmes"
 msgstr "GNU LilyPond -- Die Programmbenutzung"
 
 #. @top in ../../../Documentation/fr/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond --- le système de gravure musicale"
-msgstr "GNU LilyPond -- Das Handbuch zum Lernen"
+msgstr "GNU LilyPond -- Das Notensatzprogramm"
 
 #. @node in ../../../Documentation/fr/user/pitches.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/pitches.itely
@@ -6443,9 +6361,10 @@ msgstr "Taktüberprüfung"
 #. @subsubsection in ../../../Documentation/es/user/rhythms.itely
 #. @node in ../../../Documentation/de/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/rhythms.itely
-#, fuzzy
+# 
+# 
 msgid "Barnumber check"
-msgstr "Takt- und Taktzahlüberprüfung"
+msgstr "Taktzahlüberprüfung"
 
 #. @node in ../../../Documentation/fr/user/rhythms.itely
 #. @unnumberedsubsubsec in ../../../Documentation/fr/user/rhythms.itely
@@ -6567,7 +6486,6 @@ msgstr "Weitere Vokalmusikprobleme"
 #. @subsection in ../../../Documentation/es/user/bagpipes.itely
 #. @node in ../../../Documentation/de/user/bagpipes.itely
 #. @subsection in ../../../Documentation/de/user/bagpipes.itely
-#, fuzzy
 msgid "Bagpipe"
 msgstr "Dudelsack"
 
@@ -6577,17 +6495,15 @@ msgstr "Dudelsack"
 #. @subsection in ../../../Documentation/es/user/ancient.itely
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @subsection in ../../../Documentation/de/user/ancient.itely
-#, fuzzy
 msgid "Ancient TODO"
-msgstr "Pausen Alter Musik"
+msgstr "Alte Musik"
 
 #. @node in ../../../Documentation/fr/user/input.itely
 #. @subsection in ../../../Documentation/fr/user/input.itely
 #. @node in ../../../Documentation/de/user/input.itely
 #. @subsection in ../../../Documentation/de/user/input.itely
-#, fuzzy
 msgid "Controlling direction"
-msgstr "Auflösung von Zusammenstößen"
+msgstr "Richtungskontrolle"
 
 #. @node in ../../../Documentation/fr/user/changing-defaults.itely
 #. @section in ../../../Documentation/fr/user/changing-defaults.itely
@@ -6628,14 +6544,12 @@ msgid "negra"
 msgstr "Intervalle"
 
 #. @top in ../../../Documentation/es/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond --- El tipografiador de música"
-msgstr "GNU LilyPond -- Die Programmbenutzung"
+msgstr "GNU LilyPond -- Das Notensatzprogramm"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "marcato"
-msgstr "Artikulationszeichen"
+msgstr "Marcato"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "stopped"
@@ -6646,20 +6560,17 @@ msgid "staccatissimo"
 msgstr ""
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "hairpin"
-msgstr "Kreuz"
+msgstr "Gabel"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "broken chord"
-msgstr "Noten und Akkordbezeichnungen"
+msgstr "gebrochener Akkord"
 
 #. @node in ../../../Documentation/es/user/chords.itely
 #. @section in ../../../Documentation/es/user/chords.itely
 #. @node in ../../../Documentation/de/user/chords.itely
 #. @section in ../../../Documentation/de/user/chords.itely
-#, fuzzy
 msgid "Chords Blah"
 msgstr "Akkorde"
 
@@ -6681,7 +6592,6 @@ msgstr ""
 #. @subsection in ../../../Documentation/es/user/guitar.itely
 #. @node in ../../../Documentation/de/user/guitar.itely
 #. @subsection in ../../../Documentation/de/user/guitar.itely
-#, fuzzy
 msgid "Guitar TODO"
 msgstr "Gitarre"
 
@@ -6689,26 +6599,22 @@ msgstr "Gitarre"
 #. @subsection in ../../../Documentation/es/user/strings.itely
 #. @node in ../../../Documentation/de/user/strings.itely
 #. @subsection in ../../../Documentation/de/user/strings.itely
-#, fuzzy
 msgid "Orchestral strings TODO"
-msgstr "Orchesterstreicher"
+msgstr "Streicher"
 
 #. @top in ../../../Documentation/de/user/lilypond-learning.tely
-#, fuzzy
 msgid "GNU LilyPond -- Handbuch zum Lernen"
-msgstr "GNU LilyPond -- Das Handbuch zum Lernen"
+msgstr "GNU LilyPond -- Handbuch zum Lernen"
 
 #. @subheading in ../../../Documentation/de/user/introduction.itely
 msgid "User manual"
-msgstr "Handbuch zum Lernen"
+msgstr "Benutzerhandbuch"
 
 #. @subsubheading in ../../../Documentation/de/user/introduction.itely
-#, fuzzy
 msgid "Learning manual"
 msgstr "Handbuch zum Lernen (LH)"
 
 #. @subsubheading in ../../../Documentation/de/user/introduction.itely
-#, fuzzy
 msgid "Notation reference"
 msgstr "Notationsreferenz (NR)"
 
@@ -6736,14 +6642,12 @@ msgid "An orchestral part"
 msgstr "Eine Orchesterstimme"
 
 #. @top in ../../../Documentation/de/user/lilypond-program.tely
-#, fuzzy
 msgid "GNU LilyPond -- Programmbenutzung"
-msgstr "GNU LilyPond -- Die Programmbenutzung"
+msgstr "GNU LilyPond -- Programmbenutzung"
 
 #. @top in ../../../Documentation/de/user/lilypond.tely
-#, fuzzy
 msgid "GNU LilyPond -- Das Notationsprogramm"
-msgstr "GNU LilyPond -- Die Programmbenutzung"
+msgstr "GNU LilyPond -- Das Notationsprogramm"
 
 #. @node in ../../../Documentation/de/user/editorial.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/editorial.itely
@@ -6758,7 +6662,7 @@ msgstr "Besondere Notenköpfe"
 #. @node in ../../../Documentation/de/user/piano.itely
 #. @subsection in ../../../Documentation/de/user/piano.itely
 msgid "TODO piano node fix"
-msgstr ""
+msgstr "Klaviernotation"
 
 msgid "Up:"
 msgstr "Nach oben:"
index 7a4f80971dd19f7ac627d87be873daa7704a7c63..ad716134a1b5889cb0a9a12956d2318952ab570a 100644 (file)
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: es\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2008-03-23 16:29+0100\n"
-"PO-Revision-Date: 2008-03-23 10:17+0100\n"
+"PO-Revision-Date: 2008-03-25 18:45+0100\n"
 "Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
 "Language-Team: Español <traductores@es.gnome.org>\n"
 "MIME-Version: 1.0\n"
@@ -1486,7 +1486,6 @@ msgid "Properties found in interfaces"
 msgstr "Propiedades de los interfaces"
 
 #. @subheading in ../../../Documentation/user/tweaks.itely
-#, fuzzy
 msgid "Specifying the context in lyric mode"
 msgstr "Especificación del contexto en modo letra"
 
@@ -1843,7 +1842,7 @@ msgstr "Notas y acordes"
 #. @appendixsubsec in ../../../Documentation/es/user/templates.itely
 #. @appendixsubsec in ../../../Documentation/de/user/templates.itely
 msgid "Notes, lyrics, and chords."
-msgstr "Notas, letra y acordes"
+msgstr "Notas, letra y acordes."
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendixsec in ../../../Documentation/user/templates.itely
@@ -2016,9 +2015,8 @@ msgid "Texinfo"
 msgstr "Texinfo"
 
 #. @appendixsubsec in ../../../Documentation/user/templates.itely
-#, fuzzy
 msgid "xelatex"
-msgstr "Plantillas"
+msgstr "xelatex"
 
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendix in ../../../Documentation/user/scheme-tutorial.itely
@@ -2033,9 +2031,8 @@ msgstr "Tutorial de Scheme"
 
 #. @node in ../../../Documentation/user/scheme-tutorial.itely
 #. @appendixsec in ../../../Documentation/user/scheme-tutorial.itely
-#, fuzzy
 msgid "Tweaking with Scheme"
-msgstr "Trucos avanzados con Scheme"
+msgstr "Trucos con Scheme"
 
 #. @node in ../../../Documentation/user/fdl.itexi
 #. @appendix in ../../../Documentation/user/fdl.itexi
@@ -3054,9 +3051,8 @@ msgid "multi-measure rest"
 msgstr "silencios multicompás"
 
 #. @rglos in ../../../Documentation/user/rhythms.itely
-#, fuzzy
 msgid "church rests"
-msgstr "modo eclesiástico"
+msgstr "silencios eclesiásticos"
 
 #. @node in ../../../Documentation/user/rhythms.itely
 #. @subsection in ../../../Documentation/user/rhythms.itely
@@ -3290,23 +3286,22 @@ msgstr "Articulaciones y ornamentos"
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "tenuto"
-msgstr ""
+msgstr "tenuto"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "accent"
-msgstr "alteración accidental"
+msgstr "acento"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "staccato"
-msgstr ""
+msgstr "staccato"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "portato"
-msgstr ""
+msgstr "portato"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsection in ../../../Documentation/user/expressive.itely
@@ -3373,9 +3368,8 @@ msgid "Glissando"
 msgstr "Glissando"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
-#, fuzzy
 msgid "glissando"
-msgstr "Glissando"
+msgstr "glissando"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
@@ -3390,9 +3384,8 @@ msgstr "Arpegio"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "arpeggio"
-msgstr "Arpegio"
+msgstr "arpegio"
 
 #. @node in ../../../Documentation/user/expressive.itely
 #. @subsubsection in ../../../Documentation/user/expressive.itely
@@ -3407,9 +3400,8 @@ msgstr "Trinos"
 
 #. @rglos in ../../../Documentation/user/expressive.itely
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "trill"
-msgstr "Trinos"
+msgstr "trino"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @section in ../../../Documentation/user/repeats.itely
@@ -3426,9 +3418,8 @@ msgstr "Repeticiones"
 #. @subsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Writing long repeats"
-msgstr "Escritura de las repeticiones"
+msgstr "Escribir repeticiones largas"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
@@ -3439,46 +3430,41 @@ msgstr "Repeticiones normales"
 
 #. @rglos in ../../../Documentation/user/repeats.itely
 #. @rglos in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "repeat"
-msgstr "Repeticiones"
+msgstr "repetición"
 
 #. @rglos in ../../../Documentation/user/repeats.itely
 #. @rglos in ../../../Documentation/es/user/repeats.itely
 msgid "volta"
-msgstr ""
+msgstr "primera y segunda vez"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsubsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Manual repeat marks"
-msgstr "Comandos de repetición manual"
+msgstr "Marcas de repetición manual"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsubsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Written-out repeats"
-msgstr "Escritura de las repeticiones"
+msgstr "Repeticiones explícitas"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Short repeats"
-msgstr "Otras repeticiones"
+msgstr "Repeticiones cortas"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
 #. @node in ../../../Documentation/es/user/repeats.itely
 #. @subsubsection in ../../../Documentation/es/user/repeats.itely
-#, fuzzy
 msgid "Percent repeats"
-msgstr "Repeticiones de compás"
+msgstr "Repeticiones de compás o parte de ellos"
 
 #. @node in ../../../Documentation/user/repeats.itely
 #. @subsubsection in ../../../Documentation/user/repeats.itely
@@ -3599,9 +3585,8 @@ msgstr "Impresión de los pentagramas"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Initiating new staves"
-msgstr "Ocultar pentagramas"
+msgstr "Preparar pentagramas nuevos"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "staff"
@@ -3613,9 +3598,8 @@ msgstr "pentagramas"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Grouping staves"
-msgstr "Ocultar pentagramas"
+msgstr "Agrupar pentagramas"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "bracket"
@@ -3623,9 +3607,8 @@ msgstr "llave o corchete"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Modifying single staves"
-msgstr "Modificación de grupos anidados"
+msgstr "Modificación de pentagramas sueltos"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
@@ -3640,9 +3623,8 @@ msgstr "El símbolo del pentagrama"
 
 #. @node in ../../../Documentation/user/staff.itely
 #. @subsubsection in ../../../Documentation/user/staff.itely
-#, fuzzy
 msgid "Ossia staves"
-msgstr "Sistemas de piano"
+msgstr "Pentagramas de Ossia"
 
 #. @rglos in ../../../Documentation/user/staff.itely
 msgid "Frenched staff"
@@ -4820,7 +4802,7 @@ msgstr "Alteraciones de la Musica Ficta"
 #. @node in ../../../Documentation/de/user/ancient.itely
 #. @unnumberedsubsubsec in ../../../Documentation/de/user/ancient.itely
 msgid "Figured bass"
-msgstr "Bajo figurado"
+msgstr "Bajo cifrado"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @chapter in ../../../Documentation/user/input.itely
@@ -4936,9 +4918,8 @@ msgstr "Consideraciones usuales de la sintaxis"
 #. @subsection in ../../../Documentation/user/input.itely
 #. @node in ../../../Documentation/es/user/input.itely
 #. @subsection in ../../../Documentation/es/user/input.itely
-#, fuzzy
 msgid "Controlling direction and placement"
-msgstr "Control de la dirección"
+msgstr "Control de la dirección y la posición"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @subsection in ../../../Documentation/user/input.itely
@@ -4956,7 +4937,7 @@ msgstr "Distancias y medidas"
 #. @node in ../../../Documentation/es/user/input.itely
 #. @subsection in ../../../Documentation/es/user/input.itely
 msgid "When to add a -"
-msgstr ""
+msgstr "Cuándo añadir un guión"
 
 #. @node in ../../../Documentation/user/input.itely
 #. @section in ../../../Documentation/user/input.itely
@@ -5767,19 +5748,17 @@ msgstr "Trucos difíciles"
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @section in ../../../Documentation/user/changing-defaults.itely
 msgid "Discussion of specific tweaks"
-msgstr ""
+msgstr "Discusión sobre trucos específicos"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
-#, fuzzy
 msgid "Line styles"
-msgstr "Longitud de la línea"
+msgstr "Estilos de línea"
 
 #. @node in ../../../Documentation/user/changing-defaults.itely
 #. @subsection in ../../../Documentation/user/changing-defaults.itely
-#, fuzzy
 msgid "Controlling visibility of objects"
-msgstr "Colisiones de objetos"
+msgstr "Control de la visibilidad de los objetos"
 
 #. @node in ../../../Documentation/user/programming-interface.itely
 #. @chapter in ../../../Documentation/user/programming-interface.itely
@@ -6142,7 +6121,7 @@ msgstr "Nombres de los colores de X"
 #. @subsubheading in ../../../Documentation/es/user/notation-appendices.itely
 #. @subsubheading in ../../../Documentation/de/user/notation-appendices.itely
 msgid "Color Names without a numerical suffix:"
-msgstr "Nombres de los colores sin sufijo numérico"
+msgstr "Nombres de los colores sin sufijo numérico:"
 
 #. @subsubheading in ../../../Documentation/user/notation-appendices.itely
 #. @subsubheading in ../../../Documentation/fr/user/notation-appendices.itely
@@ -6335,9 +6314,8 @@ msgid "Saving typing with identifiers and functions"
 msgstr "Ahorrar tecleo mediante identificadores y funciones"
 
 #. @top in ../../../Documentation/fr/user/lilypond-program.tely
-#, fuzzy
 msgid "GNU LilyPond --- utilisation des programmes"
-msgstr "GNU LilyPond --- manual de utilización del programa"
+msgstr "GNU LilyPond --- utilisation des programmes"
 
 #. @top in ../../../Documentation/fr/user/lilypond.tely
 msgid "GNU LilyPond --- le système de gravure musicale"
@@ -6557,62 +6535,59 @@ msgstr "Notación automática"
 
 #. @subsubheading in ../../../Documentation/es/user/macros.itexi
 msgid "Instrucciones predefinidas"
-msgstr ""
+msgstr "Instrucciones predefinidas"
 
 #. @subsubheading in ../../../Documentation/es/user/macros.itexi
 msgid "Fragmentos de código seleccionados"
-msgstr ""
+msgstr "Fragmentos de código seleccionados"
 
 #. @subsubheading in ../../../Documentation/es/user/macros.itexi
 msgid "Propiedades trucadas frecuentemente"
-msgstr ""
+msgstr "Propiedades trucadas frecuentemente"
 
 #. @subsubheading in ../../../Documentation/es/user/macros.itexi
 msgid "Véase también"
-msgstr ""
+msgstr "Véase también"
 
 #. @subsubheading in ../../../Documentation/es/user/macros.itexi
 msgid "Advertencias y problemas conocidos"
-msgstr ""
+msgstr "Advertencias y problemas conocidos"
 
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "redonda"
-msgstr ""
+msgstr "redonda"
 
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
 msgid "blanca"
-msgstr ""
+msgstr "blanca"
 
 #. @rglos in ../../../Documentation/es/user/tutorial.itely
-#, fuzzy
 msgid "negra"
-msgstr "intervalo"
+msgstr "negra"
 
 #. @top in ../../../Documentation/es/user/lilypond.tely
 msgid "GNU LilyPond --- El tipografiador de música"
 msgstr "GNU LilyPond --- El tipografiador de música"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "marcato"
-msgstr "articulación"
+msgstr "marcato"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "stopped"
-msgstr ""
+msgstr "apagada"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "staccatissimo"
-msgstr ""
+msgstr "staccatissimo"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
 msgid "hairpin"
 msgstr "regulador"
 
 #. @rglos in ../../../Documentation/es/user/expressive.itely
-#, fuzzy
 msgid "broken chord"
-msgstr "Notas y acordes"
+msgstr "acorde quebrado"
 
 #. @node in ../../../Documentation/es/user/chords.itely
 #. @section in ../../../Documentation/es/user/chords.itely
@@ -6731,14 +6706,3 @@ msgstr "Notas al pie"
 msgid "Table of Contents"
 msgstr "Índice general"
 
-#~ msgid "Modifying tuplet bracket length"
-#~ msgstr "Modificación de la longitud del corchete de grupo"
-
-#~ msgid "Compressing music"
-#~ msgstr "Compresión de la música"
-
-#~ msgid "Bugs"
-#~ msgstr "Fallos"
-
-#~ msgid "Educational use"
-#~ msgstr "Utilización educativa"
index 33254b0cf508ba599cc823a0c656654bdbcdf954..de688b81964d11974d04d15dc5c1062ea937ee30 100644 (file)
@@ -123,7 +123,7 @@ Stems are centered on the note heads.  This style is particularly
 useful when transcribing mensural music, e.g., for the incipit.  The
 @code{mensural} style produces note heads that mimic the look of note
 heads in historic printings of the 16th century.  Finally, the
-@code{petrucci} style also mimicks historic printings, but uses bigger
+@code{petrucci} style also mimics historic printings, but uses bigger
 note heads.
 
 The following example demonstrates the @code{neomensural} style
index 6239ab9fc174f19da197265b582ac074c7e35459..aff28a7de46ed9dc48a5d59bf01f5b298a17872b 100644 (file)
@@ -35,7 +35,7 @@ highland bagpipe; to use them, add
 @end example
 
 @noindent
-at the top of your input file.  This lets you add the special gracenotes
+at the top of your input file.  This lets you add the special grace notes
 common to bagpipe music with short commands.  For example, you could
 write @code{\taor} instead of
 
index 4109be4db64efe9e98a649b7e83464d8562f2d45..746bcdff108bfa8138a544203ef08a6ece03b126 100644 (file)
@@ -493,7 +493,7 @@ The next example shows a practical application.  Bar lines and time
 signatures are normally synchronized across the score.  This is done
 by the @code{Timing_translator} and @code{Default_bar_line_engraver}.
 This plug-in keeps an administration of time signature, location
-within the measure, etc.  By moving thes engraver from @code{Score} to
+within the measure, etc.  By moving these engraver from @code{Score} to
 @code{Staff} context, we can have a score where each staff has its own
 time signature.
 
@@ -870,11 +870,11 @@ Then the output at the start of this subsection can be entered as
 @node Aligning contexts
 @subsection Aligning contexts
 
-New contexts may be aligned above or below exisiting contexts.  This
+New contexts may be aligned above or below existing contexts.  This
 could be useful in setting up a vocal staff (@rlearning{Vocal ensembles}) and
 in ossia,
 
-FIXME: this section doens't work in pdf.  (?)
+FIXME: this section doesn't work in pdf.  (?)
 
 @cindex ossia
 @findex alignAboveContext
@@ -1360,7 +1360,7 @@ properties.
 
 Contexts can have properties, which are usually named in
 @code{studlyCaps}.  They mostly control the translation from
-music to notatino, eg. @code{localKeySignature} (for determining
+music to notation, eg. @code{localKeySignature} (for determining
 whether to print accidentals), @code{measurePosition} (for
 determining when to print a bar line).  Context properties can
 change value over time while interpreting a piece of music;
@@ -1389,7 +1389,7 @@ is more or less equivalent to
 \set @var{context}.@var{name} #'@var{property} = #(cons (cons '@var{property} @var{value}) <previous value of @var{context})
 @end example
 
-The value of @code{context} (the alist) is used to initalize
+The value of @code{context} (the alist) is used to initialize
 the properties of individual grobs.  Grobs also have
 properties, named in Scheme style, with
 @code{dashed-words}.  The values of grob properties change
index 24cf67787bb6e5845e6bda5241e7219737df251f..b14afa68b3d64e0cdd9324c4652ac8bbecee7e12 100644 (file)
@@ -330,7 +330,7 @@ The exceptions list should be encoded as
 @end example
 
 To get this information into @code{chordNameExceptions} takes a little
-manoeuvring.  The following code transforms @code{chExceptionMusic}
+maneuvering.  The following code transforms @code{chExceptionMusic}
 (which is a sequential music) into a list of exceptions.
 @example
 (sequential-music-to-chord-exceptions chExceptionMusic #t)
index 9b293bcaa9abd58b16618292f024bcad335504b7..95cbb9209f62ac0d2ee0f27b784e23a2f639947d 100644 (file)
@@ -47,7 +47,7 @@ MIDI (Music Instrument Digital Interface) is a standard for digital
 instruments: it specifies cabling, a serial protocol and a file
 format.  The MIDI file format is a de facto standard format for
 exporting music from other programs, so this capability may come in
-useful when importing files from a program that has a convertor for a
+useful when importing files from a program that has a converter for a
 direct format.
 
 @command{midi2ly} converts tracks into @internalsref{Staff} and
index 4821619aac44cd14521a921c6200348a84e11887..f665c31066136890f7ce56b0c1b3e83339e179d1 100644 (file)
@@ -108,8 +108,6 @@ that use fonts.  These are the ones supporting the
 @funindex \huge
 @code{\huge}.
 
-@snippets
-
 @seealso
 
 Snippets: @lsrdir{Editorial,Editorial-annotations}.
@@ -126,12 +124,11 @@ Internals Reference: @internalsref{font-interface}.
 Fingering instructions can be entered using
 @var{note}-@var{digit}:
 
-
 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
 c4-1 d-2 f-4 e-3
 @end lilypond
 
-Use markup texts for finger changes. 
+Markup texts may be used for finger changes. 
 
 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
 c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }
@@ -161,26 +158,13 @@ staff, see @ref{Controlling direction and placement}.
 
 @snippets
 
-@code{fingeringOrientations} are used to control where the fingering
-numbers are placed.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{controlling-the-placement-of-chord-fingerings.ly}
 
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-\set fingeringOrientations = #'(left)
-<c-1 e-3 a-5 > 4
-\set fingeringOrientations = #'(down)
-<c-1 e-3 a-5 > 
-\set fingeringOrientations = #'(right)
-<c-1 e-3 a-5 > 
-\set fingeringOrientations = #'(up)
-<c-1 e-3 a-5 > 
-\set fingeringOrientations = #'(left down)
-<c-1 e-3 a-5 > 2
-\set fingeringOrientations = #'(up right down)
-<c-1 e-3 a-5 >
-@end lilypond
 
 @seealso
-@ref{Controlling direction and placement}
+
+Notation Reference: @ref{Controlling direction and placement}
 
 Snippets: @lsrdir{Editorial,Editorial-annotations}.
 
@@ -338,6 +322,10 @@ Non-note objects may be parenthesized as well.
 
 Snippets: @lsrdir{Editorial,Editorial-annotations}.
 
+@knownissues
+
+Rests cannot be parenthesized.
+
 
 @node Stems
 @subsubsection Stems
@@ -365,18 +353,11 @@ made invisible.
 @cindex stem, down
 @cindex stem, neutral
 
-To change the direction of stems on the center line of the staff, use
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-a4 b c b
-\override Stem #'neutral-direction = #up
-a4 b c b
-\override Stem #'neutral-direction = #down
-a4 b c b
-@end lilypond
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{default-direction-of-stems-on-the-center-line-of-the-staff.ly}
 
 @seealso
-@ref{Controlling direction and placement}.
+Notation Reference: @ref{Controlling direction and placement}.
 
 Snippets: @lsrdir{Editorial,Editorial-annotations}.
 
@@ -404,7 +385,9 @@ notation.
 \new Voice \with { \consists "Balloon_engraver" }
 {
   \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
-  a4
+  a8 
+  \balloonGrobText #'Rest #' (-4 . -4) \markup { "I'm a rest" }
+  r
   <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2. 
 }
 @end lilypond
@@ -442,7 +425,7 @@ notes.
 }
 
 \new Score \with {
-  %% by default this centers grid lines horizontally below and to the 
+  % by default this centers grid lines horizontally below and to the 
   % left side of the notehead, the grid lines extend from 
   % the middle lines of each staff
   \consists "Grid_line_span_engraver"
@@ -467,48 +450,9 @@ notes.
 
 @snippets
 
-To change the grid lines use \override.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{grid-lines-changing-their-appearance.ly}
 
-@lilypond[quote,verbatim,ragged-right]  
-\layout {
-  \context {
-    \Staff
-    \consists "Grid_point_engraver" 
-      gridInterval = #(ly:make-moment 1 4)
-    }
-}
-     
-\new Score \with {
-  \consists "Grid_line_span_engraver"
-  % this moves them to the right half a staff space
-  \override NoteColumn #'X-offset = #-0.5
-  }
-     
-\new ChoirStaff <<
- \new Staff {
-   \relative c'' {
-     \stemUp
-     c'4. d8 e8 f g4
-   }
-  }
-  \new Staff {
-    \relative c {
-      % this moves them up one staff space from the default position
-      \override Score.GridLine #'extra-offset = #'( 0.0 . 1.0 )
-      \stemDown
-      \clef bass
-      \once \override Score.GridLine #'thickness = #5.0
-       c4 
-       \once \override Score.GridLine #'thickness = #1.0
-       g' 
-       \once \override Score.GridLine #'thickness = #3.0
-       f  
-       \once \override Score.GridLine #'thickness = #5.0 
-       e
-    }
-  }
->>
-@end lilypond
 
 @seealso
 
index 44befce2ab97c8aac13809f6052a29f0e3e35347..514a2d8cc2cf82fe0e780cd409713d8dd03c9087 100644 (file)
@@ -342,7 +342,7 @@ To change this behavior, use
 
 Text style dynamic changes (such as @notation{cresc.} and
 @notation{dim.}) are printed with a dashed line showing their
-extent.  To surpress printing this line, use
+extent.  To suppress printing this line, use
 
 @example
 \override DynamicTextSpanner #'dash-period = #-1.0
index f9f9343f5f4e141663235d1ad910b329aca6ac1f..c2b0534012f4591034201e2915eff2daf3ec64d2 100644 (file)
@@ -346,7 +346,7 @@ three notes:
 @noindent
 Note that the size of the clef is the same as a clef printed
 following a clef change -- slightly smaller than the clef
-at the begining of the line.  This is usual for clefs printed
+at the beginning of the line.  This is usual for clefs printed
 in the middle of a line.
 
 The ossia section may be placed above the staff
@@ -369,7 +369,7 @@ as follows:
 @end lilypond
 
 This example uses @code{\with}, which will be explained more 
-fully later.  It is a means of modifying the default behaviour
+fully later.  It is a means of modifying the default behavior
 of a single Staff.  Here it says that the new staff should be 
 placed above the staff called @qq{main} instead of the default 
 position which is below.
@@ -568,7 +568,7 @@ separately, like this:
 @end lilypond
 
 
-This example has just two voices, but the same contruct may be
+This example has just two voices, but the same construct may be
 used to encode three or more voices by adding more back-slash
 separators.
 
@@ -671,7 +671,7 @@ command at the start of each voice:
 \relative c' @{ noteE ... @}
 @end example
 
-Let us finally analyse the voices in a more complex piece of 
+Let us finally analyze the voices in a more complex piece of 
 music.  Here are
 the notes from the first two bars of the second of Chopin's
 Deux Nocturnes, Op 32.  This example will be used at later
@@ -872,7 +872,7 @@ markup, ties, slurs, and dynamics:
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c'{
-  % Default behaviour or behaviour after \oneVoice
+  % Default behavior or behavior after \oneVoice
   c d8 ~ d e4 ( f g a ) b-> c
 }
 @end lilypond
@@ -992,7 +992,7 @@ as here:
 @funindex \shiftOnn
 @funindex \shiftOnnn
 
-Closely spaced notes in a chord, or notes occuring at the same
+Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
 columns to prevent the note heads overlapping.  These are called
 note columns.  There are separate columns for each voice, and 
@@ -1188,7 +1188,7 @@ Within LilyPond, these rules and bits of information are grouped
 in @emph{Contexts}.  We have already met the 
 @code{Voice} context. 
 Others are the @code{Staff} and @code{Score} contexts.  
-Contexts are hierarchical to reflect the heirarchical nature of 
+Contexts are hierarchical to reflect the hierarchical nature of 
 a musical score.  
 For example: a @code{Staff} context can contain many 
 @code{Voice} contexts, and a @code{Score} context can 
@@ -1227,7 +1227,7 @@ are also alternative staff and voice contexts, and contexts for
 lyrics, percussion, fret boards, figured bass, etc.
 
 The names of all context types are formed from one or more
-words, each word being capitalised and joined immediately to the 
+words, each word being capitalized and joined immediately to the 
 preceding word with no hyphen or underscore, e.g., 
 @code{GregorianTranscriptionStaff}.
 
@@ -1312,7 +1312,7 @@ operation of the engraver or the appearance of those elements
 in the printed score.
    
 Engravers all have compound names formed from words which
-describe their function.  Just the first word is capitalised, 
+describe their function.  Just the first word is capitalized, 
 and the remainder are joined to it with underscores.  Thus
 the @code{Staff_symbol_engraver} is responsible for creating the
 lines of the staff, the @code{Clef_engraver} determines and sets
@@ -1344,7 +1344,7 @@ the name, or vice versa.
 @item Staff_symbol_engraver
   @tab Engraves the five (by default) lines of the staff
 @item Stem_engraver
-  @tab Creates stems and single-stem tremulos
+  @tab Creates stems and single-stem tremolos
 @item Time_signature_engraver
   @tab Creates time signatures
 @end multitable
@@ -1676,7 +1676,7 @@ The examples above show how to remove or add engravers to
 individual contexts.  It is also possible to remove or add 
 engravers to every context of a specific type by placing the
 commands in the appropriate context in a @code{\layout}
-block.  For example, If we wanted to show ambiti for every
+block.  For example, if we wanted to show an ambitus for every
 staff in a four-staff score we could write
 
 @lilypond[quote,verbatim,ragged-right]
@@ -2079,7 +2079,7 @@ stacked one above the other:
       \clef "bass"
       \new Voice = "basses" @{ \global \bassMusic @}
     >>
-    \new Lyrics \lyricsto "basses" @{ bassWords @}   
+    \new Lyrics \lyricsto "basses" @{ \bassWords @}
   >>  % end ChoirStaff
 
   \new PianoStaff <<
index 62acaeae862cff908c0233a55732a3dce60d225f..5cb75d34927913391f06809096767b97dae7babe 100644 (file)
@@ -305,7 +305,7 @@ It is possible to quote small fragments of a large score directly from
 the output.  This can be compared to clipping a piece of a paper score
 with scissors.
 
-This is done by definining the measures that need to be cut out
+This is done by defining the measures that need to be cut out
 separately.  For example, including the following definition
 
 
@@ -527,7 +527,7 @@ sections.
 
 TODO: everything
 
-By default, lilypnod does a pretty jazz'n job of picking
+By default, lilypond does a pretty jazz'n job of picking
 directions.  But in some cases, it may be desirable to force a
 direction.
 
@@ -672,7 +672,7 @@ I do think that a list like this, with the main contexts and a
 brief
 description of  what they do (perhaps also with a note about what
 default
-behaviour is associated with each of them, but this may be
+behavior is associated with each of them, but this may be
 unmanageable),
 should be there, and then we could simply list the remaining ones
 without
index 16c9a6950c5c28ea995c5cdba1dca95b7058f0fd..faad7342a372d47bc81b106844825ff78456e6e0 100644 (file)
@@ -209,7 +209,7 @@ make out=www web-install
 
 It is also possible to build a documentation tree in
 @file{out-www/online-root/}, with special processing, so it can be used
-on a website with content negociation for automatic language selection;
+on a website with content negotiation for automatic language selection;
 this can be achieved by issuing
 
 @example
index cb796ef2af8bef5713f25c3f4cbc2fb5e6653ee4..1c46d4a1aebcfe977fb6195bc632dd8a7e9c6ed7 100644 (file)
@@ -635,8 +635,8 @@ If @code{verbatim} is used in a @code{lilypondfile} command, it is
 possible to enclose verbatim only a part of the source file.  If the
 source file contain a comment containing @samp{begin verbatim} (without
 quotes), quoting the source in the verbatim block will start after the
-last occurence of such a comment; similarly, quoting the source verbatim
-will stop just before the first occurence of a comment containing
+last occurrence of such a comment; similarly, quoting the source verbatim
+will stop just before the first occurrence of a comment containing
 @samp{end verbatim}, it there is any.  In the following source file
 example, the music will be interpreted in relative mode, but the
 verbatim quote will not show the @code{relative} block, i.e.
@@ -843,7 +843,7 @@ cd out
 @end example
 
 @itemx --left-padding=@var{amount}
-Pad EPS boxes by this much. @var{amount} is measured in milimeters,
+Pad EPS boxes by this much. @var{amount} is measured in millimeters,
 and is 3.0 by default.  This option should be used if the lines of
 music stick out of the right margin.
 
index 3fa118cdcabe5623a1364d8f934a2373fcbe8f06..55eacec0e36db12f3cffb73aaac25a8afdf52366 100644 (file)
 @c usage: @lsr{ancient,Ancient-notation,custodes.ly}
 @macro lsr{SECTION,DIR,TEXT}
 @ifhtml
-@uref{source/input/lsr/snippets/\DIR\.html#\TEXT\,@file{\SECTION\/\TEXT\}}
+@uref{source/input/lsr/lilypond-snippets/\DIR\.html#\TEXT\,@file{\SECTION\/\TEXT\}}
 @end ifhtml
 @ifnothtml
 @file{\SECTION\/\TEXT\}
 @c usage: @lsrdir{ancient,Ancient-notation}
 @macro lsrdir{SECTION,DIR}
 @ifhtml
-@uref{source/input/lsr/snippets/\DIR\.html,\SECTION\}
+@uref{source/input/lsr/lilypond-snippets/\DIR\.html,\SECTION\}
 @end ifhtml
 @ifnothtml
 \DIR\
index a2c64724c102bada9204032ea686d924b2d69def..b7a6c3e420e7f40dc478a1003ecdf370e179f031 100644 (file)
@@ -292,7 +292,7 @@ composer flush right on a single line.
 
 A particular place of a score can be marked using the @code{\label}
 command, either at top-level or inside music.  This label can then be
-refered to in a markup, to get the number of the page where the marked
+referred to in a markup, to get the number of the page where the marked
 point is placed, using the @code{\page-ref} markup command.
 
 @lilypond[verbatim,line-width=11.0\cm]
@@ -322,7 +322,7 @@ is not known;
 @end enumerate
 
 The reason why a gauge is needed is that, at the time markups are
-interpreted, the page breaking has not yet occured, so the page numbers
+interpreted, the page breaking has not yet occurred, so the page numbers
 are not yet known.  To work around this issue, the actual markup
 interpretation is delayed to a later time; however, the dimensions of
 the markup have to be known before, so a gauge is used to decide these
@@ -377,14 +377,14 @@ number.  These variables may be changed by the user:
     \fill-line { \null "Table des matières" \null }
     \hspace #1
   }
-  %% use larfer font size
+  %% use larger font size
   tocItemMarkup = \markup \large \fill-line {
     \fromproperty #'toc:text \fromproperty #'toc:page
   }
 }
 @end verbatim
 
-Note how the toc element text and page number are refered to in
+Note how the toc element text and page number are referred to in
 the @code{tocItemMarkup} definition.
 
 New commands and markups may also be defined to build more elaborated
index 3989a3525e764f357bda4a52a7e29635ccfdf8bd..a7c08b65ab16e1357d7587e184910c66675e9043 100644 (file)
@@ -110,9 +110,9 @@ darkcyan    darkmagenta    darkyellow
 
 X color names come several variants:
 
-Any name that is spelled as a single word with capitalisation
+Any name that is spelled as a single word with capitalization
 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
-words without capitalisation (e.g. @q{light slate blue}).
+words without capitalization (e.g. @q{light slate blue}).
 
 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
 
index 3219124d4e08d5a5fefcedba2cd352e702c09d15..42120939db46eb66d60ad883101f30560f8d8803 100644 (file)
@@ -1144,7 +1144,7 @@ is not found, the default value is @code{2}.  Then, a list of justified
 lines is made using the @code{make-justified-lines-markup-list}
 function, which is related to the @code{\justified-lines}
 built-in markup list command.  An horizontal space is added at the
-begining using the @code{make-hspace-markup} function.  Finally, the
+beginning using the @code{make-hspace-markup} function.  Finally, the
 markup list is interpreted using the @code{interpret-markup-list}
 function.
 
index 5f314ea03f85b122a5eefb83b91c0dd1bad1c52c..6ce96e438da186eb2e574b7f6ee4251de487a002 100644 (file)
@@ -92,13 +92,15 @@ to be played more than once.
 @node Normal repeats
 @subsubsection Normal repeats
 
-The syntax for a simple repeat is
+The syntax for a normal repeat is
 
 @example
 \repeat @var{variant} @var{repeatcount} @var{repeatbody}
 @end example
 
-where @var{repeatbody} is a music expression.
+where @var{variant} is @qq{volta} and @var{repeatbody} is a music
+expression.  Alternate endings can be produced using
+@code{\alternative}.
 
 Normal repeats without alternate endings:
 
@@ -108,7 +110,7 @@ c2 d
 \repeat volta 2 { d4 e f g }
 @end lilypond
 
-Normal repeats with  alternate endings:
+Normal repeats with alternate endings:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \repeat volta 2 { g f e d }
@@ -153,40 +155,20 @@ c1
 \alternative { {f2 d} {f\repeatTie f,} }
 @end lilypond
 
-By default, the volta brackets will be drawn over all of the
-alternative music, but it is possible to shorten them by setting
-@code{voltaSpannerDuration}.  In the next example, the bracket only
-lasts one measure, which is a duration of 3/4.
+@snippets
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\time 3/4
-c c c
-\set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
-\repeat volta 5 { d d d }
-\alternative { { e e e f f f }
-{ g g g } }
-@end lilypond
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{shortening-volta-brackets.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{adding-volta-brackets-to-extra-staves.ly}
 
-The @code{Volta_engraver} by default resides in the Score context, and
-brackets for the repeat are thus normally only printed over the
-topmost staff.  This can be adjusted by adding @code{Volta_engraver}
-to the Staff context where you want the brackets to appear; see
-@ref{Modifying context plug-ins} and
-@c @lsr{repeats,volta@/-multi@/-staff@/.ly}.
-
-@lilypond[verbatim,ragged-right,quote]
-\score { <<
-  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
-  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
-  \new Staff \with { \consists Volta_engraver } { c'2 g' e' a' }
-  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
- >> }
-@end lilypond
 
 @c Is there a way to have a final bar ("|.") at the end of the
 @c previous line? Doesn't seem to be.
 If you want to start a repeat at the beginning of a line and have a
-double bar at the end of the previous line, use
+double bar at the end of the previous line, use @code{\bar}. See
+@ref{Bar lines} for more information.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c4 c c c
@@ -194,7 +176,6 @@ c4 c c c
 \repeat volta 2 { c4 d e f }   
 @end lilypond
 
-see @ref{Bar lines} for more information.
 
 @seealso
 
@@ -203,7 +184,7 @@ Music Glossary: @rglos{repeat}.
 
 Notation Reference: @ref{Bar lines}, @ref{Modifying context plug-ins}.
 
-Snippets: @lsrdir{Repeats,Repeats}
+Snippets: @lsrdir{Repeats,Repeats}.
 
 Internals Reference: @internalsref{VoltaBracket},
 @internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic},
@@ -258,10 +239,10 @@ Print a @code{|:} bar line.
 Print a @code{:|} bar line.
 
 @item @code{(volta @var{text})}
-Print a volta bracket saying @var{text}.  The text can be
-specified as a text string or as a markup text, see @ref{Text
-markup}.  Do not forget to change the font, as the default number
-font does not contain alphabetic characters;
+Print a volta bracket saying @var{text}.  The text can be specified as
+a text string or as a markup text, see @ref{Text markup}.  Do not
+forget to change the font, as the default number font does not contain
+alphabetic characters;
 
 
 @item @code{(volta #f)}
index c785417c5dc807a97160f9f156677abaf5526c52..eb4a9703c34e4f584b628db6d437fae10467bf0a 100644 (file)
@@ -48,7 +48,7 @@ Durations are entered as their reciprocal values.  For example, a
 quarter note is entered using a @code{4} (since it is a 1/4 note),
 and a half note is entered using a @code{2} (since it is a 1/2
 note).  For notes longer than a whole you must use the
-@code{\longa} (a double breve) and @code{\breve} commands.  
+@code{\longa} (a double breve) and @code{\breve} commands.
 Durations as short as 64th notes may be specified.  Shorter values
 are possible, but only as beamed notes.
 
@@ -112,14 +112,13 @@ proportional notation, see @ref{Proportional notation}.
 @funindex \dotsNeutral
 
 Dots are normally moved up to avoid staff lines, except in
-polyphonic situations.  To force a particular direction manually,
+polyphonic situations.  Predefined commands are available to 
+force a particular direction manually, for details
 see @ref{Controlling direction and placement}.
 
 @predefined
 
-@code{\breve},
-@code{\longa},
-@code{\maxima},
+@code{\autoBeamOff},
 @code{\dotsUp},
 @code{\dotsDown},
 @code{\dotsNeutral}.
@@ -127,24 +126,24 @@ see @ref{Controlling direction and placement}.
 
 @seealso
 
-Music Glossary: 
-@rglos{breve}, 
-@rglos{longa}, 
+Music Glossary:
+@rglos{breve},
+@rglos{longa},
 @rglos{note value},
 @rglos{Duration names notes and rests}.
 
-Notation Reference: 
-@ref{Automatic beams}, 
+Notation Reference:
+@ref{Automatic beams},
 @ref{Ties},
-@ref{Writing rhythms}, 
-@ref{Writing rests}, 
+@ref{Writing rhythms},
+@ref{Writing rests},
 @ref{Vocal music},
-@ref{Ancient notation}, 
+@ref{Ancient notation},
 @ref{Proportional notation}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets: @lsrdir{Rhythms,Rhythms}.
 
-Internals Reference: 
+Internals Reference:
 @internalsref{Dots},
 @internalsref{DotColumn}.
 
@@ -173,8 +172,8 @@ durations with a fraction:
 
 @noindent
 The duration of @var{music} will be multiplied by the
-fraction.  The fraction's denominator will be printed over or 
-under the notes, optionally with a bracket.  The most common 
+fraction.  The fraction's denominator will be printed over or
+under the notes, optionally with a bracket.  The most common
 tuplet is the triplet in which 3 notes have the duration of 2, so
 the notes are 2/3 of their written length.
 
@@ -220,66 +219,26 @@ see @ref{Scaling durations}.
 @funindex tupletNumberFormatFunction
 @funindex tupletSpannerDuration
 
-@lilypondfile [verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
 {entering-several-tuplets-using-only-one--times-command.ly}
 
 @funindex TupletNumber
 
-@c Sent to VV on 12 Feb - replace with @lilypondfile when available
-@c TODO and delete from here ...
-By default, only the numerator of the tuplet number
-is printed over the tuplet bracket, i.e. the denominator
-of the argument to the @code{\times} command.  Alternatively,
-@var{num}:@var{den} of the tuplet number may be printed, or
-the tuplet number may be suppressed altogether.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{changing-the-tuplet-number.ly}
 
-
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
-\times 2/3 { c8 c c } \times 2/3 { c8 c c }
-\override TupletNumber #'text = #tuplet-number::calc-fraction-text
-\times 2/3 { c8 c c }
-\override TupletNumber #'transparent = ##t
-\times 2/3 { c8 c c }
-@end lilypond
-
-@c ... to here
-
-
-@c Sent to VV on 12 Feb - replace with @lilypondfile when available
-@c TODO and delete from here ...
-This artificial example shows how both manual and automatic line
-breaks may be permitted within a beamed tuplet. Note that such
-off-beat tuplets have to be beamed manually.
-
-@lilypond[quote,ragged-right,verbatim]
-\relative c'' {
-  a8
-  \repeat unfold 8 {\times 2/3 { c[ b a]}}
-  % Insert a manual line break within a tuplet
-  \times 2/3 { c[ b \bar "" \break a]}
-  \repeat unfold 2 {\times 2/3 { c[ b a]}}
-  c8
-}
-\layout {
-  \context {
-    \Voice
-    % Permit line breaks within tuplets
-    \remove "Forbid_line_break_engraver"
-    % Allow beams to be broken at line breaks
-    \override Beam #'breakable = ##t
-  }
-}
-@end lilypond
-
-@c .. to here
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{permitting-line-breaks-within-beamed-tuplets.ly}
 
 @seealso
 
-Music Glossary: 
-@rglos{triplet}, 
+Music Glossary:
+@rglos{triplet},
 @rglos{tuplet},
 @rglos{polymetric}.
 
+Learning Manual: @rlearning{Tweaking methods}.
+
 Notation Reference:
 @ref{Time administration},
 @ref{Scaling durations},
@@ -288,11 +247,18 @@ Notation Reference:
 
 Snippets: @lsrdir{Rhythms,Rhythms}.
 
-Internals Reference: 
+Internals Reference:
 @internalsref{TupletBracket},
-@internalsref{TupletNumber}, 
+@internalsref{TupletNumber},
 @internalsref{TimeScaledMusic}.
 
+@knownissues
+@cindex grace notes within tuplet brackets
+When the very first note on a staff is a grace note followed by a
+tuplet the grace note must be placed before the @code{\times}
+command to avoid errors.  Anywhere else, grace notes may be
+placed within tuplet brackets.
+
 
 @node Scaling durations
 @subsubsection Scaling durations
@@ -300,6 +266,8 @@ Internals Reference:
 @cindex scaling durations
 @cindex durations, scaling
 
+TODO Change \compressMusic to \scaleDurations when implemented.
+
 You can alter the duration of single notes, rests or chords by a
 fraction @code{N/M} by appending @code{*N/M} (or @code{*N} if
 @code{M} is 1) to the duration.
@@ -319,7 +287,7 @@ a4*2/3 gis4*2/3 a4*2/3
 a4 a4
 % Double the duration of chord
 <a d>4*2
-% Duration of quarter, appears like sixteeth
+% Duration of quarter, appears like sixteenth
 b16*4 c4
 @end lilypond
 
@@ -330,8 +298,8 @@ a multiplier.  This is useful for skipping many measures, e.g.,
 @cindex compressing music
 @funindex \compressMusic
 
-Longer stretches of music may be compressed by a fraction in 
-the same way, as if every note, chord or rest had the fraction 
+Longer stretches of music may be compressed by a fraction in
+the same way, as if every note, chord or rest had the fraction
 as a multiplier.  The general syntax of the command to do this
 is:
 
@@ -374,6 +342,7 @@ Notation Reference:
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
+
 @node Ties
 @subsubsection Ties
 
@@ -385,7 +354,7 @@ in effect extends the duration of a note.
 
 @warning{Ties should not be confused with @emph{slurs}, which
 indicate articulation, or @emph{phrasing slurs}, which indicate
-musical phrasing. A tie is just a way of extending a note
+musical phrasing.  A tie is just a way of extending a note
 duration, similar to the augmentation dot.}
 
 A tie is entered using the tilde symbol @code{~}
@@ -480,45 +449,16 @@ commands.
 @code{\tieNeutral},
 @code{\tieDotted},
 @code{\tieDashed},
-@code{\tieSolid},
-@code{\repeatTie}.
+@code{\tieSolid}.
 
 
 @snippets
 
-@c TODO Remove when snippet available - sent 15 Mar 08
-Ties are sometimes used to write out arpeggios.  In this case, two
-tied notes need not be consecutive.  This can be achieved by
-setting the @code{tieWaitForNote} property to true.  The same
-feature is also useful, for example, to tie a tremolo to a chord,
-but in principle, it can also be used for ordinary, consecutive
-notes:
-
-@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
-\set tieWaitForNote = ##t
-\grace { c16[~ e~ g]~ } <c, e g>2
-\repeat tremolo 8 { c32~ c'~ } <c c,>1
-e8~ c~ a~ f~ <e' c a f>2
-\tieUp c8~ a \tieDown \tieDotted g~ c g2
-@end lilypond
-
-@c end of section to be removed
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{using-ties-with-arpeggios.ly}
 
-@c TODO Remove when snippet available - sent 15 Mar 08
-Ties may be engraved manually by changing the
-@code{tie-configuration} property of the @code{TieColumn} object.
-The first number indicates the distance from the center of the
-staff in staff-spaces, and the second number indicates the
-direction (1=up, -1=down).
-
-@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
-<c e g>2~ <c e g> |
-\override TieColumn #'tie-configuration =
-  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
-<c e g>~ <c e g> |
-@end lilypond
-
-@c end of section to be removed
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{engraving-ties-manually.ly}
 
 
 @seealso
@@ -554,9 +494,9 @@ well-defined.  In these cases, a slur may be preferable.
 @subsection Writing rests
 
 @menu
-* Rests::
-* Skips::
-* Full measure rests::
+* Rests::                       
+* Skips::                       
+* Full measure rests::          
 @end menu
 
 @node Rests
@@ -592,8 +532,8 @@ longer rests with the predefined commands shown:
 }
 @end lilypond
 
-Whole measure rests, centered in middle of the measure, must be
-entered as multi-measure rests.  They can be used for a single
+Whole measure rests, centered in the middle of the measure, must
+be entered as multi-measure rests.  They can be used for a single
 measure as well as many measures and are discussed in
 @ref{Full measure rests}.
 
@@ -607,15 +547,9 @@ formatter will leave these rests alone.
 a4\rest d4\rest
 @end lilypond
 
-@predefined
-
-@code{\rest},
-@code{\maxima},
-@code{\longa},
-@code{\breve}.
-
 @snippets
-@lilypondfile [verbatim,lilyquote,ragged-right,texidoc]
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
 {rest-styles.ly}
 
 
@@ -653,7 +587,7 @@ followed by the required duration, as shown here:
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
 % Skip the third beat in the first bar
 a4 a4 s4 a4
-% Use predefined command to skip a whole note (bar)
+% Use skip command to skip a whole note (bar)
 \skip 1
 a2 a2
 @end lilypond
@@ -693,9 +627,6 @@ empty page:
 @{ \skip 1 @}
 @end example
 
-@predefined
-@code{\skip}
-
 @seealso
 
 Snippets: @lsrdir{Rhythms,Rhythms}
@@ -706,59 +637,63 @@ Internals Reference: @internalsref{SkipMusic}
 @node Full measure rests
 @subsubsection Full measure rests
 
-@cindex multi measure rests
-@cindex full measure rests
-@cindex rest, multi measure
-@cindex rest, full measure
+@cindex multi-measure rests
+@cindex full-measure rests
+@cindex rest, multi-measure
+@cindex rest, full-measure
 @cindex whole rest for a full measure
 @funindex R
 
-Rests for one or more full measures are entered using @code{R}, in
-uppercase, followed by a duration.  The duration should
-correspond to an integral number of measures, otherwise a barcheck
-warning is printed.  A multi-measure rest is used
-principally to indicate that a part in a multi-part score should 
-be silent:
+Rests for one or more full measures are entered like notes with
+the note name uppercase @code{R}:
 
 @lilypond[quote,fragment,verbatim,relative=2]
-\set Score.skipBars = ##t
+% Rest bars contracted to single bar
+\compressFullBarRests
 R1*4
 R1*24
 R1*4
 b2^"Tutti" b4 a4
 @end lilypond
 
-By default, a multi-measure rest is expanded in the printed score
-to show all the rest measures explicitly, or, as above, it can be
-condensed to a single measure containing a multi-measure rest 
-symbol, with the number of measures of rest printed above the 
-measure.  This expansion is controlled by the property 
-@code{Score.skipBars}.  If this is set to true, empty measures 
-will be condensed to a single measure:
+@funindex \expandFullBarRests
+@funindex \compressFullBarRests
+@cindex multi-measure rest, expanding
+@cindex multi-measure rest, contracting
+
+By default a multi-measure rest is expanded in the printed score
+to show all the rest measures explicitly or (as in the example
+above) it can be contracted to a single measure containing a
+multi-measure rest symbol, with the number of measures of rest
+printed above the measure:
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-% Default behaviour
-\time 4/4 r1 | R1 | R1*2 |
+% Default behavior
+\time 3/4 r2. | R2.*2 |
 \time 2/4 R2 |
 \time 4/4
-% Rest bars condensed to a single bar
-\set Score.skipBars = ##t
-R1*17 | R1*4 |
+% Rest bars contracted to single bar
+\compressFullBarRests
+r1 | R1*17 | R1*4 |
+% Rest bars expanded
+\expandFullBarRests
+\time 3/4
+R2.*2 |
 @end lilypond
 
-The @code{1} in @code{R1} is similar to the duration notation 
+The @code{1} in @code{R1} is similar to the duration notation
 used for notes and is the length of a measure in 2/2 or 4/4 time.
 The duration in a multi-measure rest must always be an integral
 number of measure-lengths, so in other time signatures augmentation
 dots or fractions must be used:
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-\set Score.skipBars = ##t
+\compressFullBarRests
 \time 3/4
 R2. | R2.*2
 \time 13/8
 R1*13/8 | R1*13/8*12 |
-\time 10/8 
+\time 10/8
 R4*5*4 |
 @end lilypond
 
@@ -775,12 +710,12 @@ signature.
 @cindex multi-measure rest, attaching fermata
 
 Text can be added to multi-measure rests by using the
-@var{note} - @code{\markup} syntax described in @ref{Text markup}.
-The variable @code{\fermataMarkup} is provided for adding
-fermatas.
+@var{note} - @code{\markup} syntax described in
+@ref{Text markup}.  The predefined command @code{\fermataMarkup}
+is provided for adding fermatas.
 
 @lilypond[quote,ragged-right,verbatim,fragment]
-\set Score.skipBars = ##t
+\compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
 R2.^\fermataMarkup
@@ -803,13 +738,14 @@ R1^"right"
 Text attached to a multi-measure rest will be centered above or
 below it.  Long text attached in this way does not cause the
 measure to expand, and may collide with text in adjacent measures.
-Long text is better attached to a zero-length skip note preceding
-the rest, preceded by @code{\textLengthOn} (turn off again with
-@code{\textLengthOff}), since this will cause the measure to expand to
-accommodate the length of the text:
+This behavior may be changed with the predefined command
+@code{\textLengthOn}, which will cause following bars to expand
+as necessary to accommodate text.  @code{\textLengthOff} returns
+to the default behavior.  To left-align text within a bar attach
+it to a zero-length skip note preceding the rest.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-\set Score.skipBars = ##t
+\compressFullBarRests
 \textLengthOn
 s1*0^\markup {[MAJOR GENERAL]}
 R1*19
@@ -823,7 +759,7 @@ c4^\markup {CHORUS} d f c
 @noindent
 Text attached to a skip note in this way is left-aligned to the
 position where the note would be placed in the bar, and placed
-above the bar count numeral, but because the bar length is
+above the bar count numeral, but if the bar length is
 determined by the length of the text, the text will appear to be
 centered.  If two (or more) texts are
 attached to skip notes in a bar the bar length is determined by
@@ -835,7 +771,9 @@ alongside and to the left of the bar count numeral.
 @predefined
 @code{\textLengthOn},
 @code{\textLengthOff},
-@code{\fermataMarkup}
+@code{\fermataMarkup},
+@code{\compressFullBarRests},
+@code{\expandFullBarRests}.
 
 @snippets
 
@@ -843,59 +781,14 @@ alongside and to the left of the bar count numeral.
 @cindex rest, church
 @cindex kirchenpausen
 
-@c TODO Send as snippet "changing form of multi-measure rests"
-If there are 10 or fewer measures of rest, LilyPond prints
-a series of longa and breve rests (called in German
-Kirchenpausen - church rests) within the staff and
-prints a simple line otherwise.  This default number of 10
-may be changed by an override:
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\set Score.skipBars = ##t
-R1*2 | R1*5 | R1*9
-\override MultiMeasureRest #'expand-limit = 3
-R1*2 | R1*5 | R1*9
-@end lilypond
-@c TODO End of snippet "changing form of multi-measure rests"
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{changing-form-of-multi--measure-rests.ly}
 
 @cindex multi-measure rests, positioning
 @cindex positioning multi-measure rests
 
-@c TODO Send as snippet "positioning multi-measure rests"
-Note that, unlike ordinary rests, there is no predefined command
-to change the vertical position on the staff of a multi-measure
-rest symbol of either form by attaching it to a note.  However,
-in polyphonic music multi-measure rests in odd-numbered and
-even-numbered voices are vertically separated.  The positioning
-of multi-measure rests can be controlled as follows:
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-% Multi-measure rests by default are set under the 2nd line
-R1
-% They can be moved with an override
-\override MultiMeasureRest #'staff-position = #-2
-R1
-% A value of 0 is the default position; 
-% the following trick moves the rest to the center line
-\override MultiMeasureRest #'staff-position = #-0.01
-R1
-% Multimeasure rests in odd-numbered voices are under the top line
-<< {R1} \\ {a1} >>
-% Multi-measure rests in even-numbered voices are under the bottom line
-<< {c1} \\ {R1} >>
-% They remain separated even in empty bars
-<< {R1} \\ {R1} >>
-% This brings them together even though there are two voices
-\set Score.skipBars = ##t
-<<
-  \revert MultiMeasureRest #'staff-position
-  {R1*3}
-\\
-  \revert MultiMeasureRest #'staff-position
-  {R1*3}
->>
-@end lilypond
-@c End snippet "positioning multi-measure rests"
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{positioning-multi--measure-rests.ly}
 
 @seealso
 
@@ -903,15 +796,15 @@ Music Glossary:
 @rglos{multi-measure rest},
 @rglos{church rests}.
 
-Notation Reference: 
-@ref{Durations}, 
+Notation Reference:
+@ref{Durations},
 @ref{Text},
-@ref{Text markup}, 
+@ref{Text markup},
 @ref{Text scripts}.
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
-Internals Reference: 
+Internals Reference:
 @internalsref{MultiMeasureRest},
 @internalsref{MultiMeasureRestNumber},
 @internalsref{MultiMeasureRestText}.
@@ -919,16 +812,19 @@ Internals Reference:
 
 @knownissues
 
-If an attempt is made to use fingerings (e.g., 
+If an attempt is made to use fingerings (e.g.,
 @code{R1*10-4}) to put numbers over multi-measure rests, the
-fingering numeral (4) may collide with the bar counter 
-numeral (10).  
+fingering numeral (4) may collide with the bar counter
+numeral (10).
 
 @cindex condensing rests
+@cindex rests, condensing ordinary
 
-There is no way to automatically condense multiple ordinary rests 
+There is no way to automatically condense multiple ordinary rests
 into a single multi-measure rest.
 
+@cindex rests, collisions of
+
 Multi-measure rests do not take part in rest collisions.
 
 Be careful when entering multi-measure rests followed by whole
@@ -958,73 +854,84 @@ R1*4 cis cis
 @cindex meter
 @funindex \time
 
-The time signature is set with the @code{\time} command:
+The time signature is set as follows:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\time 2/4 c2 \time 3/4 c2.
+\time 2/4 c2
+\time 3/4 c2.
 @end lilypond
 
-@snippets
+@cindex Time signature, visibility of
+
+Time signatures by default are printed at the start of every line
+and whenever the time signature changes.  If a change takes place
+at the end of a line a warning time signature sign is printed 
+there.  This default behavior may be changed, see 
+@ref{Controlling visibility of objects}.
 
-The symbol that is printed can be customized with the @code{style}
-property.  Setting it to @code{#'()} uses fraction style for 4/4
-and 2/2 time,
+@funindex \numericTimeSignature
+@funindex \defaultTimeSignature
+@cindex time signature style
+
+The symbol that is printed in 2/2 and 4/4 time can be customized
+to use a numeric style:
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+% Default style
 \time 4/4 c1
 \time 2/2 c1
-\override Staff.TimeSignature #'style = #'()
+% Change to numeric style
+\numericTimeSignature
 \time 4/4 c1
 \time 2/2 c1
-@end lilypond
-
-A time signature symbol is normally printed whenever the time
-signature changes.  If this takes place at the end of a line a
-warning time signature sign is printed at the end of the line and
-again at the start of a new line.  This default behaviour can be
-modified by setting the value of the @code{break-visibility}
-property.  This takes three values which may be set to @code{#t}
-or @code{#f} to specify whether the corresponding time signature
-is visible or not.  The order of the three values is @code{end of
-line visible}, @code{middle of line visible}, @code{beginning of
-line visible}.
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-% Do not print any time signatures at end of line
-\override Staff.TimeSignature #'break-visibility = ##(#f #t #t)
+% Revert to default style
+\defaultTimeSignature
 \time 4/4 c1
-\time 3/4 c2.
-% Do not print the following 9/8 time signature
-\once \override Staff.TimeSignature #'break-visibility = ##(#t #f #t)
-\time 9/8 c4. c c
 \time 2/2 c1
-\break
-\time 9/8 c4. c c
-\time 12/8 c2. c2.
 @end lilypond
 
-There are many more options for its layout.  See @ref{Ancient time
-signatures}, for more examples.
 
+Ancient time signatures are covered in
+@ref{Ancient time signatures}.
+
+@predefined
+
+@code{\numericTimeSignature},
+@code{\defaultTimeSignature}.
+
+@snippets
+
+@c TODO Send as snippet called "setting measure and beat lengths"
+@c      when example is added
 @code{\time} sets the properties @code{timeSignatureFraction},
 @code{beatLength}, and @code{measureLength} in the @code{Timing}
-context, which is normally aliased to @internalsref{Score}.  The
-property @code{measureLength} determines where bar lines should be
-inserted, and how automatic beams should be generated.  Changing
-the value of @code{timeSignatureFraction} also causes the symbol
-to be printed.
+context, which is normally aliased to @code{Score}.  Changing the
+value of @code{timeSignatureFraction} causes the new time
+signature symbol to be printed without changing the other
+properties.  The property @code{measureLength} determines where
+bar lines should be inserted and, with @code{beatLength}, how
+automatic beams should be generated.
+
+TODO Add example of using beatLength.
+@c beatLength is broken - see bug 511
+
+@c End of snippet
 
 @cindex measure groupings
-More options are available through the Scheme function
-@code{set-time-signature}, which takes three arguments: the number
-of beats, the beat length, and the internal grouping of beats in
-the measure.  If the @internalsref{Measure_grouping_engraver} is
-included, the function will also create
-@internalsref{MeasureGrouping} signs.  Such signs ease reading
-rhythmically complex modern music.  In the following example, the
-9/8 measure is subdivided in 2, 2, 2 and 3.  This is passed to
-@code{set-time-signature} as the third argument @code{(2 2 2 3)}:
+@cindex beats, grouping
+@cindex grouping beats
+@cindex measure sub-grouping
+
+@c TODO Sent as snippet called "grouping beats" 25 Mar 08
+Options to group beats within a bar are available through the
+Scheme function @code{set-time-signature}, which takes three
+arguments: the number of beats, the beat length, and the internal
+grouping of beats in the measure.  If the
+@internalsref{Measure_grouping_engraver} is included, the function
+will also create @internalsref{MeasureGrouping} signs.  Such signs
+ease reading rhythmically complex modern music.  In the example,
+the 9/8 measure is subdivided in 2, 2, 2 and 3.  This is passed to
+@code{set-time-signature} as the third argument: @code{'(2 2 2 3)}:
 
 @lilypond[quote,ragged-right,verbatim]
 \score {
@@ -1042,16 +949,30 @@ rhythmically complex modern music.  In the following example, the
   }
 }
 @end lilypond
+@c TODO End of snippet called "grouping beats"
+
+@cindex compound time signatures
+@cindex time signature, compound
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{compound-time-signatures.ly}
 
 
 @seealso
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Music Glossary:
+@rglos{time signature}
 
-Internals Reference: @internalsref{TimeSignature}, and
-@internalsref{Timing_translator}.
+Notation Reference:
+@ruser{Ancient time signatures},
+@ruser{Time administration}.
+
+Snippets:
+@lsrdir{Rhythms,Rhythms}
 
-Examples: @c @lsr{contemporary,compound-time-signature.ly}.
+Internals Reference:
+@internalsref{TimeSignature},
+@internalsref{Timing_translator}.
 
 
 @knownissues
@@ -1068,40 +989,56 @@ Automatic beaming does not use the measure grouping specified with
 @cindex partial measure
 @cindex measure, partial
 @cindex pickup measure
-@cindex shorten measures
+@cindex measure, change length
+@cindex measurePosition
 @funindex \partial
 
-Partial or pickup measures, such as an anacrusis or upbeat, are
+Partial or pick-up measures, such as an anacrusis or upbeat, are
 entered using the @code{\partial} command, with the syntax
 
 @example
-\partial @var{duration}
+\partial @var{duration} @emph{notes}
 @end example
 
-where @code{duration} is the rhythmic length to be added before
-the next measure:
+where @code{duration} is the rhythmic length of the @emph{notes}
+which are to be placed before the first complete measure:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\partial 16*5 c16 cis d dis e | a2. c,4 | b2
+\partial 16*5 c16 cis d dis e |
+a2. c,4 |
+b2
 @end lilypond
 
 Internally, this is translated into
 
 @example
-\set Timing.measurePosition = -@var{length of duration}
+\set Timing.measurePosition = -@var{duration}
 @end example
 
 The property @code{measurePosition} contains a rational number
 indicating how much of the measure has passed at this point.  Note
-that this is a negative number; @code{\partial 4} is internally
-translated to mean @qq{there is a quarter note left in the bar.}
+that this is set to a negative number by the @code{\partial}
+command: i.e., @code{\partial 4} is internally translated to
+@code{-4}, meaning @qq{there is a quarter note left in the bar.}
+
+
+@seealso
+
+Music Glossary: @rglos{anacrusis}
+
+Notation Reference: @ref{Grace notes}
 
+Snippets: @lsrdir{Rhythms,Rhythms}
+
+Internal Reference: @internalsref{Timing_translator}
 
 @knownissues
 
+@cindex grace notes, in anacruses
+
 This command does not take into account grace notes at the start
-of the music.  When a piece starts with grace notes in the
-pickup, then the @code{\partial} should follow the grace notes:
+of the music.  If the pick-up starts with one or more grace
+notes, then the @code{\partial} should follow the grace note(s):
 
 @lilypond[verbatim,quote,ragged-right,relative,fragment]
 \grace f16
@@ -1110,25 +1047,25 @@ g4
 a2 g2
 @end lilypond
 
-@code{\partial} is only intended to be used at the beginning of a
-piece.  If you use it after the beginning, some odd warnings may
-occur.
-
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}
+The @code{\partial} command is intended to be used only at the
+beginning of a piece.  If you use it after the beginning, some
+odd warnings may occur.
 
 @node Unmetered music
 @subsubsection Unmetered music
 
-@cindex cadenza
 @funindex \cadenzaOn
 @funindex \cadenzaOff
+@cindex bar lines, turning off
+@cindex bar numbering, turning off
+@cindex cadenza
+@cindex unmetered music
 
 Bar lines and bar numbers are calculated automatically.  For
 unmetered music (cadenzas, for example), this is not desirable.
-To turn off automatic bar lines and bar numbers, use the commands
-@code{\cadenzaOn} and @code{\cadenzaOff}.
+To turn off automatic bar lines and bar numbers, use the command
+@code{\cadenzaOn}, and use @code{\cadenzaOff} to turn them on
+again.
 
 @lilypond[verbatim,quote,ragged-right,relative=2,fragment]
 c4 d e d
@@ -1143,7 +1080,8 @@ Bar numbering is resumed at the end of the cadenza as if the
 cadenza were not there:
 
 @lilypond[verbatim,quote,ragged-right,relative=2,fragment]
-\override Score.BarNumber #'break-visibility = ##( #t #t #t )
+% Show all bar numbers
+\override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
 \cadenzaOn
 c4 c d8 d d f4 g4.
@@ -1152,9 +1090,22 @@ c4 c d8 d d f4 g4.
 d4 e d c
 @end lilypond
 
+@predefined
+
+@code{\cadenzaOn},
+@code{\cadenzaOff}.
+
+@seealso
+
+Music Glossary: @rglos{cadenza}
+
+Notation Reference: @ref{Controlling visibility of objects}
+
+Snippets: @lsrdir{Rhythms,Rhythms}
+
 @knownissues
 
-LilyPond will only insert line breaks and page breaks at a
+LilyPond will insert line breaks and page breaks only at a
 bar line.  Unless the unmetered music ends before the end of the
 staff line, you will need to insert invisible bar lines with
 
@@ -1165,36 +1116,24 @@ staff line, you will need to insert invisible bar lines with
 @noindent
 to indicate where breaks can occur.
 
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}
-
 
 @node Polymetric notation
 @subsubsection Polymetric notation
 
-@c TODO Work this example into the main text
-@c @lilypondfile [verbatim,lilyquote,ragged-right,texidoc]
-@c {printing-music-with-different-time-signatures.ly}
-
 @cindex double time signatures
 @cindex signatures, polymetric
 @cindex polymetric signatures
 @cindex meter, polymetric
 
-Music Glossary:
-@rglos{polymetric}
-@rglos{polymetric time signature}
-@rglos{meter}
+@strong{Alternating time signatures}
 
-Double time signatures are not supported explicitly, but they can
-be faked.  In the next example, the markup for the time signature
-is created with a markup text.  This markup text is inserted in
-the @internalsref{TimeSignature} grob.  See also
-@c @lsr{contemporary,compound-time-signature}.
+Regularly alternating double time signatures are not supported
+explicitly, but they can be faked.  In the next example, the
+double time signature is created with markup text, while the
+real time signature is set in the usual way with @code{\time}.
 
 @lilypond[verbatim,ragged-right]
-% create 2/4 + 5/8
+% Create 9/8 split into 2/4 + 5/8
 tsMarkup = \markup {
   \override #'(baseline-skip . 2) \number {
     \column { "2" "4" }
@@ -1207,14 +1146,56 @@ tsMarkup = \markup {
   \override Staff.TimeSignature #'stencil =
     #ly:text-interface::print
   \override Staff.TimeSignature #'text = #tsMarkup
-  \time 3/2
+  \time 9/8
+  c'2 \bar ":" c'4 c'4.
   c'2 \bar ":" c'4 c'4.
 }
 @end lilypond
 
-Each staff can also have its own time signature.  This is done by
-moving the @internalsref{Timing_translator} to the
-@internalsref{Staff} context.
+@strong{Staves with different time signatures, equal bar lengths}
+
+This notation can be created by setting a common time signature
+for each staff but replacing the symbol manually by setting
+@code{timeSignatureFraction} to the desired fraction and scaling
+the printed durations in each staff to the common time
+signature.  This done with @code{\compressMusic}, which
+is used in a similar way to @code{\times}, but does not create
+a tuplet bracket, see @ref{Scaling durations}.
+
+In this example, music with the time signatures of 3/4, 9/8, and
+10/8 are used in parallel.  In the second staff, shown durations
+are multiplied by 2/3, as 2/3 * 9/8 = 3/4, and in the third
+staff, shown durations are multiplied by 3/5, as 3/5 * 10/8 = 3/4.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\relative c' { <<
+  \new Staff {
+    \time 3/4
+    c4 c c |
+    c c c |
+  }
+  \new Staff {
+    \time 3/4
+    \set Staff.timeSignatureFraction = #'(9 . 8)
+    \compressMusic #'(2 . 3)
+      \repeat unfold 6 { c8[ c c] }
+  }
+  \new Staff {
+    \time 3/4
+    \set Staff.timeSignatureFraction = #'(10 . 8)
+    \compressMusic #'(3 . 5) {
+      \repeat unfold 2 { c8[ c c] }
+      \repeat unfold 2 { c8[ c] } |
+      c4. c4. \times 2/3 { c8 c c } c4
+    }
+  }
+>> }
+@end lilypond
+
+@strong{Staves with different time signatures, unequal bar lengths}
+
+Each staff can be given its own independent time signature by
+moving the Timing_translator to the Staff context.
 
 @lilypond[quote,verbatim,ragged-right]
 \layout {
@@ -1229,7 +1210,8 @@ moving the @internalsref{Timing_translator} to the
     \consists "Default_bar_line_engraver"
   }
 }
-%Now, each staff has its own time signature.
+
+% Now each staff has its own time signature.
 
 \relative c' <<
   \new Staff {
@@ -1248,118 +1230,86 @@ moving the @internalsref{Timing_translator} to the
 @end lilypond
 
 
-A different form of polymetric notation is where note lengths have
-different values across staves, but the measures are all the same 
-length.
-
-This notation can be created by setting a common time signature
-for each staff but replacing it manually using
-@code{timeSignatureFraction} to the desired fraction.  Then the
-printed durations in each staff are scaled to the common time
-signature.  The latter is done with @code{\compressMusic}, which
-is used in a similar way to @code{\times}, but does not create 
-a tuplet bracket.  The syntax is 
-
-@funindex \compressMusic
-
-@example 
-\compressMusic 
-#'(@var{numerator} . @var{denominator}) @var{musicexpr} 
-@end example
-
+@seealso
 
+Music Glossary:
+@rglos{polymetric},
+@rglos{polymetric time signature},
+@rglos{meter}.
 
-In this example, music with the time signatures of 3/4, 9/8, and
-10/8 are used in parallel.  In the second staff, shown durations
-are multiplied by 2/3, so that 2/3 * 9/8 = 3/4, and in the third
-staff, shown durations are multiplied by 3/5, so that 3/5 * 10/8 =
-3/4.
+Notation Reference: @ref{Scaling durations}
 
-@lilypond[quote,ragged-right,verbatim,fragment]
-\relative c' { <<
-  \new Staff {
-    \time 3/4
-    c4 c c | c c c |
-  }
-  \new Staff {
-    \time 3/4
-    \set Staff.timeSignatureFraction = #'(9 . 8)
-    \compressMusic #'(2 . 3)
-      \repeat unfold 6 { c8[ c c] }
-  }
-  \new Staff {
-    \time 3/4
-    \set Staff.timeSignatureFraction = #'(10 . 8)
-    \compressMusic #'(3 . 5) {
-      \repeat unfold 2 { c8[ c c] }
-      \repeat unfold 2 { c8[ c] }
-      | c4. c4. \times 2/3 { c8 c c } c4
-    }
-  }
->> }
-@end lilypond
+Snippets:
+@lsrdir{Rhythms,Rhythms}
+@c Is this still permitted?
+@c @lsr{contemporary,compound-time-signature}
 
+Internals Reference:
+@internalsref{TimeSignature},
+@internalsref{Timing-translator},
+@internalsref{Staff}.
 
 @knownissues
 
 When using different time signatures in parallel, the spacing is
 aligned vertically, but bar lines distort the regular spacing.
 
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}, @c @lsr{contemporary,compound-time-signature}.
-
-Internals Reference: @internalsref{TimeSignature}, @internalsref{Timing-translator}, @internalsref{Staff}.
-
 
 @node Automatic note splitting
 @subsubsection Automatic note splitting
 
+@cindex notes, splitting
+@cindex splitting notes
+
 Long notes which overrun bar lines can be converted automatically
 to tied notes.  This is done by replacing the
-@internalsref{Note_heads_engraver} by the
-@internalsref{Completion_heads_engraver}.  In the following
-examples, notes crossing the bar line are split and tied.
+@code{Note_heads_engraver} by the
+@code{Completion_heads_engraver}.  In the following
+example, notes crossing the bar lines are split and tied.
 
-@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
+@lilypond[quote,fragment,verbatim,relative=1,ragged-right]
 \new Voice \with {
   \remove "Note_heads_engraver"
   \consists "Completion_heads_engraver"
-} {
-  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
 }
+
+{c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2}
 @end lilypond
 
 This engraver splits all running notes at the bar line, and
 inserts ties.  One of its uses is to debug complex scores: if the
-measures are not entirely filled, then the ties exactly show how
+measures are not entirely filled, then the ties show exactly how
 much each measure is off.
 
-If you want to allow line breaking on the bar lines where
-@internalsref{Completion_heads_engraver} splits notes, you must
-also remove @internalsref{Forbid_line_break_engraver}.
-
+To allow line breaking on the bar lines where the
+@code{Completion_heads_engraver} has inserted a split note, remove
+the @code{Forbid_line_break_engraver} too.
 
-@knownissues
-
-Not all durations (especially those containing tuplets) can be
-represented exactly with normal notes and dots, but the engraver
-will not insert tuplets.
 
-@code{Completion_heads_engraver} only affects notes; it does not
-split rests.
+@seealso
 
+Music Glossary: @rglos{tie}
 
-@seealso
+Learning Manual:
+@rlearning{Engravers explained},
+@rlearning{Adding and removing engravers}.
 
 Snippets: @lsrdir{Rhythms,Rhythms}
 
-Internals Reference: @internalsref{Note_heads_engraver},
+Internals Reference:
+@internalsref{Note_heads_engraver},
 @internalsref{Completion_heads_engraver},
 @internalsref{Forbid_line_break_engraver}.
 
 
+@knownissues
+
+Not all durations (especially those containing tuplets) can be
+represented exactly with normal notes and dots, but the engraver
+will not insert tuplets.
 
+The @code{Completion_heads_engraver} only affects notes; it does not
+split rests.
 
 
 @node Beams
@@ -1421,7 +1371,7 @@ c8[^"(3+2)" c16 c8]
 
 The beams of consecutive 16th (or shorter) notes are, by default,
 not sub-divided.  That is, the three (or more) beams stretch
-unbroken over entire groups of notes.  This behaviour can
+unbroken over entire groups of notes.  This behavior can
 be modified to sub-divide the beams into sub-groups by setting 
 the property @code{subdivideBeams}.  When set, multiple beams 
 will be sub-divided at intervals defined by the current value of
@@ -1633,7 +1583,7 @@ In 4/4 time signature, this means that automatic beams could end only on
 3/8 and on the fourth beat of the measure (after 3/4, that is 2 times
 3/8, has passed within the measure).
 
-If any unexpected beam behaviour occurs, check the default automatic beam
+If any unexpected beam behavior occurs, check the default automatic beam
 settings in @file{scm/@/auto@/-beam@/.scm}
 for possible interference, because the beam
 endings defined there will still apply on top of your own overrides.  Any
@@ -1723,7 +1673,7 @@ setting the properties @code{stemLeftBeamCount} and
 draw on the left and right side, respectively, of the next note.
 If either property is set, its value will be used only once, and
 then it is erased.  In this example, the last @code{f} is printed
-with only one beam on the left side, i.e. the eigth-note beam of
+with only one beam on the left side, i.e. the eighth-note beam of
 the group as a whole.
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
@@ -1890,7 +1840,7 @@ f1 \bar "|:" g \bar ":|:" a \bar ":|" b
 @cindex repeats
 
 Although the bar line types signifying repeats may be inserted
-manually they do not in themselves cause LilyPond to recognise
+manually they do not in themselves cause LilyPond to recognize
 a repeated section.  Such repeated sections are better entered
 using the various repeat commands (see @ref{Repeats}), which
 automatically print the appropriate bar lines.
@@ -1953,7 +1903,7 @@ Snippets: @lsrdir{Rhythms,Rhythms}
 
 Internals Reference: @internalsref{BarLine} (created at
 @internalsref{Staff} level), @internalsref{SpanBar} (across
-staves), @internalsref{Timing_translator} (for Timing 
+staves), @internalsref{Timing_translator} (for Timing
 properties).
 
 
@@ -1983,7 +1933,7 @@ c1 c c c
 @cindex bar numbers, regular spacing
 
 Bar numbers can be typeset at regular intervals instead of just at
-the beginning of every line.  To do this the default behaviour
+the beginning of every line.  To do this the default behavior
 must be overridden to permit bar numbers to be printed at places
 other than the start of a line.  This is controlled by the
 @code{break-visibility} property of @code{BarNumber}.  This takes
@@ -2064,7 +2014,7 @@ bar line:
 % Print a bar number every 2nd bar
 \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
 c1 c1
-% Centre-align bar numbers
+% Center-align bar numbers
 \override Score.BarNumber #'self-alignment-X = #0
 c1 c1
 % Right-align bar numbers
index ab16f7e9135854fd2b7157a1959b3ac35858dc19..9c3646955b9db24f9901141436fb85e8a1423a3e 100644 (file)
@@ -575,7 +575,7 @@ Thus this is just a wishlist, placed here for reference.
  Doesn't always convert figured bass correctly, specifically things like {<
 >}.  Mats' comment on working around this:
    To be able to run convert-ly
-   on it, I first replaced all occurencies of '{<' to some dummy like '{#'
+   on it, I first replaced all occurrences of '{<' to some dummy like '{#'
    and similarly I replaced '>}' with '&}'.  After the conversion, I could
    then change back from '{ #' to '{ <' and from '& }' to '> }'.
  Doesn't convert all text markup correctly.  In the old markup syntax,
@@ -625,7 +625,7 @@ converted.
 @cindex reporting bugs
 
 If you have input that results in a crash or an erroneous output, then
-that is a bug.  There is a list of current bugs on our google bug tracker,
+that is a bug.  There is a list of current bugs on our Google bug tracker,
 
 @uref{http://code.google.com/p/lilypond/issues/list}
 
index 74e18dde7b803078f92479e3c66bd651e8105b76..757951b5fb0c093542b11dbce3972662d0e2461d 100644 (file)
@@ -218,7 +218,7 @@ respectively,
 We have seen how LilyPond output can be heavily modified using
 commands like
 @code{\override TextScript #'extra-offset = ( 1 . -1)}.  But
-we have even more power if we use Scheme.  For a full explantion
+we have even more power if we use Scheme.  For a full explanation
 of this, see the @ref{Scheme tutorial}, and
 @ruser{Interfaces for programmers}.
 
index c4e1302554079c8db9626769f54faa7dd4442cd7..a8ea66610b7b05ce4dfd597231b06791aeb18bc0 100644 (file)
@@ -654,7 +654,7 @@ lines.  This behavior can be changed by setting
 @node Page breaking
 @subsection Page breaking
 
-The default page breaking may be overriden by inserting
+The default page breaking may be overridden by inserting
 @code{\pageBreak} or @code{\noPageBreak} commands.  These commands are
 analogous to @code{\break} and @code{\noBreak}.  They should be
 inserted at a bar line.  These commands force and forbid a page-break
@@ -785,7 +785,7 @@ than one, they will interfere with each other.
 
 The @code{ly:minimal-breaking} function performs minimal computations to
 calculate the page breaking: it fills a page with as many systems as
-possible before moving to the next one.  Thus, it may be prefered for
+possible before moving to the next one.  Thus, it may be preferred for
 scores with many pages, where the other page breaking functions could be
 too slow or memory demanding, or a lot of texts.  It is enabled using:
 
@@ -806,9 +806,9 @@ commands.  There are two commands to override this behavior:
 \override NonMusicalPaperColumn #'page-break-permission = ##f
 @end example
 
-When @code{line-break-permission} is overriden to false, Lily will insert
+When @code{line-break-permission} is overridden to false, Lily will insert
 line breaks at explicit @code{\break} commands and nowhere else.  When
-@code{page-break-permission} is overriden to false, Lily will insert
+@code{page-break-permission} is overridden to false, Lily will insert
 page breaks at explicit @code{\pageBreak} commands and nowhere else.
 
 @lilypond[quote,verbatim]
@@ -1059,7 +1059,7 @@ Space between systems are controlled by four @code{\paper} variables,
 @end example
 
 When only a couple of flat systems are placed on a page, the resulting
-vertical spacing may be non-eleguant: one system at the top of the page,
+vertical spacing may be non-elegant: one system at the top of the page,
 and the other at the bottom, with a huge gap between them.  To avoid this
 situation, the space added between the systems can be limited.  This
 feature is activated by setting to @code{#t} the
@@ -1320,7 +1320,7 @@ stretched according to the data in the page layout file.
 The @code{ragged-bottom} property adds space between systems, while
 the two-pass technique adds space between staves inside a system.
 
-To allow this behaviour, a @code{tweak-key} variable has to be set in
+To allow this behavior, a @code{tweak-key} variable has to be set in
 each score @code{\layout} block, and the tweaks included in each score
 music, using the @code{\scoreTweak} music function.
 
@@ -1418,7 +1418,7 @@ c^"This text is placed close to the previous text"
 TODO: this example doesn't work any more ?
 
 By default, outside-staff objects are placed without regard to
-their horizontal distance from the previously-posititioned grobs.  This
+their horizontal distance from the previously-positioned grobs.  This
 can lead to situations in which objects are placed very close to each
 other horizontally.  Setting @code{outside-staff-horizontal-padding}
 causes an object to be offset vertically so that such a situation
@@ -1456,7 +1456,7 @@ c''2
 @subsection Horizontal spacing overview
 
 The spacing engine translates differences in durations into stretchable
-distances (@q{springs}) of differring lengths.  Longer durations get
+distances (@q{springs}) of differing lengths.  Longer durations get
 more space, shorter durations get less.  The shortest durations get a
 fixed amount of space (which is controlled by
 @code{shortest-duration-space} in the @internalsref{SpacingSpanner}
@@ -1717,7 +1717,7 @@ in which each note consumes an amount of horizontal space exactly
 equivalent to its rhythmic duration.  This type of proportional spacing
 is comparable to horizontal spacing on top of graph paper.  Some late
 20th- and early 21st-century scores use proportional notation to
-clarify complex rhythmic relationships or to faciliate the placement
+clarify complex rhythmic relationships or to facilitate the placement
 of timelines or other graphics directly in the score.
 
 LilyPond supports five different settings for proportional notation,
@@ -1787,7 +1787,7 @@ The @code{proportionalNotationDuration} setting is a context setting that
 lives in @code{Score}.  Recall that context settings appear in one of
 three locations in our input file -- in a @code{\with} block, in a
 @code{\context} block, or directly in music entry
-preceeded by the @code{\set} command.  As with all
+preceded by the @code{\set} command.  As with all
 context settings, users can pick which of the three different
 locations they would like to set @code{proportionalNotationDuration}.
 
@@ -1987,7 +1987,7 @@ reduces this space to zero.
 @end lilypond
 
 Nonmusical elements like time signatures, key signatures, clefs and
-accidentals are problemmatic in proportional notation.  None of these
+accidentals are problematic in proportional notation.  None of these
 elements has rhythmic duration.  But all of these elements consume
 horizontal space.  Different proportional scores approach these
 problems differently.
@@ -2181,10 +2181,10 @@ ragged-last = ##t
 @node Page breaks
 @subsection Page breaks
 
-The default page breaking may be overriden by inserting 
+The default page breaking may be overridden by inserting 
 @code{\pageBreak} or @code{\noPageBreak} commands.
 These commands are analogous to the @code{\break} and 
-@code{\noBreak} commands discused above and force or forbid 
+@code{\noBreak} commands discussed above and force or forbid 
 a page-break at the point where they are inserted.
 Of course, the @code{\pageBreak} command also forces a line break.
 Like @code{\break}, the @code{\pageBreak} command is effective only
@@ -2261,7 +2261,7 @@ e4 c g\f c
 @item
 Alter the horizontal spacing via @code{SpacingSpanner}.  See
 @ruser{Changing horizontal spacing}, for more details.  Here's
-an example first showing the default behaviour:
+an example first showing the default behavior:
 
 @lilypond[verbatim,quote,ragged-right]
 \score {
index 68e78ac3fe6ae6ee935765c3fe65954108466774..e9b770bd400413a528581d5be6fef721b84d029e 100644 (file)
@@ -31,53 +31,106 @@ staves into groups, which can be marked in the beginning of each
 line with either a bracket or a brace.
 
 @menu
-* Initiating new staves::       
-* Grouping staves::             
+* Instantiating new staves::
+* Grouping staves:: 
+* Deeper nested staff groups::  
 @end menu
 
-@node Initiating new staves
-@subsubsection Initiating new staves
+@node Instantiating new staves
+@subsubsection Instantiating new staves
 
 @cindex new staff
 @cindex staff initiation
+@cindex staff instantiation
 @cindex staff, new
+@cindex staff, single
+@cindex drum staff
+@cindex percussion staff
+@cindex Gregorian transcription staff
+@cindex rhythmic staff
+@cindex tabstaff
+@cindex tablature
 
-The lines of a staff (pl. staves) are produced by a @code{staff symbol} 
-layout object.
-LilyPond ensures that all music is printed on staff lines so if you just
-type in some notes, the staff symbol is added automatically to the output.
-This is just a shortcut to make the program usage more easy, but in most
-cases where you want to print more complex music on more than on staff
-it is better to create the staff explicitly at the beginning of your
-music inside of the @code{\score} environment.
+The lines of a staff (pl. staves) are produced by the @code{staff symbol} 
+layout object.  Staves are created with the @code{\new} or
+@code{\context} commands.  For an explanation on these commands,
+see @ref{Creating contexts}.
 
-With the command @code{\new Staff @{ ... @}} you actually call a new 
-Staff context that has already everything set up to the default 
-engraving rules. @ref{Creating contexts} explains how different contexts
-are called.
+There are different predefined staff contexts available in Lilypond:
+
+@itemize
+@item
+The default is @code{Staff}:
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new Staff { c d e f }
+}
+@end lilypond
+
+@item
+@code{DrumStaff} creates a five line staff set up for a typical drum set.
+It uses different names for each instrument.  The instrument names have to
+be set using the @code{drummode}.  See @ref{Percussion staves}.
+@lilypond[verbatim,ragged-right,quote]
+\new DrumStaff { 
+  \drummode { cymc hh ss tomh }
+}
+@end lilypond
+
+@item
+@code{GregorianTranscriptionStaff} sets up a staff to notate modern
+Gregorian chant.  It does not show bar lines.
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new GregorianTranscriptionStaff { c d e f }
+}
+@end lilypond
+
+@item
+@code{RhythmicStaff} can be used to show the rhythm of some music.  The
+notes are printed on one line regardless of their pitch, but the duration
+is preserved.  See @ref{Showing melody rhythms}.
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new RhythmicStaff { c d e f }
+}
+@end lilypond
+
+@item
+@code{TabStaff} creates by default a tablature with six strings in 
+standard guitar tuning.  See @ref{Tablatures basic}.
+@lilypond[verbatim,ragged-right,quote]
+\relative c'' {
+  \new TabStaff { c d e f }
+}
+@end lilypond
+
+@end itemize
+
+@noindent
+Besides these staves there are two staff contexts specific for the notation
+of ancient music: @code{MensuralStaff} and @code{VaticanaStaff}.  They are
+described in @ref{Pre-defined contexts}.
 
 Once a staff is instantiated it can be started or stopped at every point
-in the score. This is done with the commands @code{\startStaff} and 
-@code{\stopStaff}. How to use it is shown in @ref{Staff symbol}.
+in the score.  This is done with the commands @code{\startStaff} and 
+@code{\stopStaff}.  How to use it is explained in @ref{Staff symbol}.
 
-Besides the default @code{Staff} context there are also
-specialized staff contexts for setting percussion, Guitar music,
-and ancient music.
-See @ref{Printing chord names}, @ref{Percussion staves}, 
-@ref{Tablatures basic}, @ref{Gregorian Chant contexts}, and
-@ref{Mensural contexts} for an explanation.
 
 @seealso
 
 Music Glossary: @rglos{staff}, @rglos{staves}.
 
-Notation Reference: @ref{Printing chord names}, @ref{Percussion staves}, 
+Notation Reference: @ref{Percussion staves}, 
 @ref{Tablatures basic}, @ref{Gregorian Chant contexts}, and
 @ref{Mensural contexts}.
 
 Snippets: @lsrdir{Staff,Staff-notation}.
 
-Internals Reference: @internalsref{Staff}.
+Internals Reference: @internalsref{Staff}, @internalsref{DrumStaff},
+@internalsref{GregorianTranscriptionStaff}, @internalsref{RhythmicStaff},
+@internalsref{TabStaff}, @internalsref{MensuralStaff},
+@internalsref{VaticanaStaff}.
 
 
 
@@ -98,9 +151,17 @@ Internals Reference: @internalsref{Staff}.
 @cindex system
 
 LilyPond provides different types of contexts to group single staves 
-together. These contexts influence in the first place the appearance
+together.  These contexts influence in the first place the appearance
 of the system start delimiter, but they have also influence on the
-behaviour of the bar lines.
+behavior of the bar lines.
+
+Each staff group context sets the property
+@code{systemStartDelimiter} to one of the values
+@code{SystemStartBar}, @code{SystemStartBrace},
+and @code{SystemStartBracket}.  A fourth delimiter,
+@code{systemStartSquare}, is also available, but must be
+instantiated manually.  The usage of this last delimiter is shown further
+down in the snippet section.
 
 
 @itemize
@@ -110,10 +171,10 @@ will be used: the group is started with a vertical line, and the
 bar lines are not connected.  
 
 @lilypond[verbatim,ragged-right,quote]
-\relative c'' <<
+\relative c'' <<
   \new Staff { c1 c }
   \new Staff { c c }
->> }
+>>
 @end lilypond
 
 @item
@@ -160,109 +221,162 @@ The @code{PianoStaff} behaves almost as the @code{GrandStaff} but is
 optimized for setting piano music.
 
 @lilypond[verbatim,ragged-right,quote]
-\new PianoStaff
-\relative c'' <<
-  \new Staff { c1 c }
-  \new Staff { c c }
->>
+\new PianoStaff {
+  \relative c'' <<
+    \new Staff { c1 c }
+    \new Staff { c c }
+  >>
+}
 @end lilypond
 
 @end itemize
 
 According to classic engraver rules an orchestral score consists of
-staves connected only with a single line at the beginning of the system.
+staves connected only with a single line at the beginning of the system. 
 In LilyPond this is produced grouping the @code{Staff} contexts with
 @code{<< ... >>}.
 
 Each instrument family is grouped inside of a @code{StaffGroup} with a 
-starting bracket. A group of same instruments or an instrument using
+starting bracket.  A group of same instruments or an instrument using
 more than one staff is grouped with braces in a @code{GrandStaff}.
 
 As the context names tell, @code{PianoStaff} is used for notating
 piano music and @code{ChoirStaff} for all kind of vocal ensemble music.
 
-Here is an example of an orchestral score using groupings. Note that the
-instrument names are omited here, see @ref{Instrument names} how to set 
-them.
 
-@lilypond[verbatim,ragged-right,quote]
-\score{ \relative c' {
-<<
-  \new StaffGroup %the woodwinds group
+@snippets
+
+@c FIXME: not yet in master
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {use-square-bracket-at-the-start-of-a-staff-group.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{display-bracket-with-only-one-staff-in-a-system.ly}
+
+@cindex mensurstriche layout
+@cindex renaissance music
+@cindex transcription of mensural music
+@cindex mensural music, transcription of
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{mensurstriche-layout-bar-lines-between-the-staves.ly}
+
+
+@seealso
+
+Music Glossary: @rglos{brace}, 
+@rglos{bracket}.
+
+Snippets: @lsrdir{Staff,Staff-notation}
+
+Internals Reference: @internalsref{ChoirStaff},
+@internalsref{GrandStaff}, @internalsref{StaffGroup},
+@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
+@internalsref{SystemStartBracket}, and @internalsref{systemStartSquare}.
+
+
+@node Deeper nested staff groups
+@subsubsection Deeper nested staff groups
+
+There are also two inner staff contexts named @code{InnerStaffGroup}
+and @code{InnerChoirStaffGroup} besides the grouping contexts mentioned
+in @ref{Grouping staves}.  They behave in the same way as their simple
+counterparts, except that they are contained in another staff grouping
+context, thus producing one more bracket on top of the existing one. 
+Note that @code{GrandStaff} and @code{PianoStaff} do not have any inner
+grouping contexts.  They can both be inside any other staff context, 
+including inner staff groups, though.
+
+Here is an example of an orchestral score using groupings and nesting
+of these groupings.  Note that the instrument names are omitted from the
+source code, see @ref{Instrument names} how to set them.
+
+@cindex staff, nested
+@cindex staves, nested
+@cindex nesting of staves
+@cindex system start delimiters, nested
+@cindex nested staff brackets
+@cindex brackets, nesting of
+@cindex braces, nesting of
+@cindex inner staff group
+@cindex inner choir staff group
+
+
+@example
+\score @{ <<
+  \new StaffGroup %woodwinds
   <<
-    \new Staff { c1 c }
-    \new Staff { c c }
-    \new Staff { c c }
+  \new Staff @{ c'1 d' @} %flute
+  \new InnerStaffGroup <<
+    \new Staff @{ c' d' @} %sax 
+    \new Staff @{ c' d' @} %oboe
+    \new Staff @{ c' d' @} %English horn
+    >>
+  \new Staff @{ \clef bass c d @} %bassoon
   >>
   \new StaffGroup %the brass group
   <<
-    \new Staff { c c }
-    \new Staff { c c }
+    \new Staff @{ c' d' @} %trumpet
+    \new Staff @{ \clef bass c d @} %trombone
     \new GrandStaff %the horns need a GrandStaff (same instrument)
     <<
-      \new Staff { c c }
-      \new Staff {\clef bass c c }
+      \new Staff @{ c' d' @}
+      \new Staff @{ \clef bass c d @}
     >>
   >>
-  \new ChoirStaff %for a vocal part
+  \new ChoirStaff %for setting vocal music
   <<
-    \new Staff { c c }
-    \new Staff {\clef alto c c }
-    \new Staff {\clef bass c c }
+   \new Staff @{ c' d' @}
+    \new InnerChoirStaff <<
+     \new Staff @{ c' d' @}
+     \new Staff @{ c' d' @}
+    >>
+   \new Staff @{ c' d' @}
   >>
   \new PianoStaff %for the piano
   <<
-    \new Staff { c c }
-    \new Staff {\clef bass c c }
+    \new Staff @{ c' d' @}
+    \new Staff @{\clef bass c d @}
   >>
->>
-} }
-@end lilypond
-
-The different staff contexts are already nested in this example, as
-the @q{horn section} is contained both in a @code{StaffGroup} and a 
-@code{GrandStaff}.
-
-@cindex staff, nested
-
-It is also possible to nest staves of the same type with the contexts
-@code{InnerStaffGroup} and @code{InnerChoirStaffGroup}. These behave like
-the corresponding normal staff groups but can only initiated inside of
-another staff context. Again LilyPond would add a normal @code{StaffGroup}
-to the output, if you would start a score with an @code{InnerStaffGroup}. 
-
-Note that @code{GrandStaff} and @code{PianoStaff} do not have any inner
-grouping contexts. They can both be inside an inner staff context, though.
+>> @}
+@end example
 
-@c snippet staff-brackets.ly
-@lilypond[verbatim,ragged-right,quote]
-\score { 
-<<
-  \new StaffGroup << 
-  \new Staff {c' d' e' f'}
+@c no verbatim so instrument names are only in the music
+@lilypond[ragged-right,quote]
+\score { <<
+  \new StaffGroup %woodwinds
+  <<
+  \new Staff {\set Staff.instrumentName = "fl" c'1 d' } %flute
   \new InnerStaffGroup <<
-   \new Staff {c' d' e' f'}
-   \new GrandStaff <<
-     \new Staff {c' d' e' f'}
-     \new Staff {c' d' e' f'}
-   >>
-  \new Staff {c' d' e' f'}
+    \new Staff { \set Staff.instrumentName = "sax" c' d' } %sax 1
+    \new Staff { \set Staff.instrumentName = "ob" c' d' } %sax 2
+    \new Staff { \set Staff.instrumentName = "ca" c' d' }
+    >>
+  \new Staff {\set Staff.instrumentName = "bs" \clef bass c d } %bassoon
   >>
-  \new ChoirStaff <<
-   \new Staff {c' d' e' f'}
-    \new InnerStaffGroup <<
-     \new Staff {c' d' e' f'}
+  \new StaffGroup %the brass group
+  <<
+    \new Staff {\set Staff.instrumentName = "tr" c' d' } %trumpet
+    \new Staff {\set Staff.instrumentName = "tb" \clef bass c d } %trombone
+    \new GrandStaff %the horns need a GrandStaff (same instrument)
+    <<
+      \new Staff {\set Staff.instrumentName = "cor1" c' d' }
+      \new Staff {\set Staff.instrumentName = "cor2" \clef bass c d }
     >>
-   \new Staff {c' d' e' f'}
   >>
+  \new ChoirStaff %for setting vocal music
+  <<
+   \new Staff {\set Staff.instrumentName = "S" c' d' }
+    \new InnerChoirStaff <<
+     \new Staff {\set Staff.instrumentName = "A1" c' d' }
+     \new Staff {\set Staff.instrumentName = "A2" c' d' }
+    >>
+   \new Staff {\set Staff.instrumentName = "T" c' d' }
   >>
-  \new ChoirStaff << 
-   \new Staff {c' d' e' f'}
-   \new InnerChoirStaff <<
-    \new Staff {c' d' e' f'}
-    \new Staff {c' d' e' f'}
-   >>
-   \new Staff {c' d' e' f'}
+  \new PianoStaff %for the piano
+  <<
+    \new Staff { c' d' }
+    \new Staff {\clef bass c d }
   >>
 >> }
 @end lilypond
@@ -270,87 +384,15 @@ grouping contexts. They can both be inside an inner staff context, though.
 
 @snippets
 
-@c FIXME: not yet in master
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {nesting-staves.ly}
-
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{nesting-staves.ly}
 
-More complex nesting can be accomplished using the property
-@code{systemStartDelimiterHierarchy}: 
-
-@lilypond[quote,ragged-right,verbatim]
-\new StaffGroup
-\relative <<
-  \set StaffGroup.systemStartDelimiterHierarchy
-    = #'(SystemStartSquare (SystemStartBracket a
-                             (SystemStartSquare b)) d)
-  \new Staff { c1 }
-  \new Staff { c1 }
-  \new Staff { c1 }
-  \new Staff { c1 }
-  \new Staff { c1 }
->>
-@end lilypond
-
-Each staff group context sets the property
-@code{systemStartDelimiter} to one of the values
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-and @internalsref{SystemStartBracket}.  A fourth delimiter,
-@code{systemStartSquare}, is also available, but must be
-instantiated manually
-
-
-
-@cindex mensurstriche layout
-@cindex renaissance music
-@cindex transcription of mensural music
-@cindex mensural music, transcription of
-
-
-@c FIXME: not yet in master
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {mensurstriche-layout.ly}
-
-Other groupings may be achieved by changing various properties.
-E.g., the
-@q{Mensurstriche} layout common in Renaissance music, with
-bar lines running between but not through the staves, can be
-produced from a @code{StaffGroup} or @code{GrandStaff} context if
-the bar lines are made transparent in the @code{Staff} itself:
-
-@lilypond[verbatim,ragged-right,quote]
-global = {\override Staff.BarLine #'transparent = ##t
-          s1 s
-          %the final bar line is not interupted
-          \once \override Staff.BarLine #'transparent = ##f
-          \bar "|."}
-\new StaffGroup
-\relative c'' <<
-  \new Staff {<< \global { c1 c } >>}
-  \new Staff {<< \global { c c } >>}
->>
-@end lilypond
-
-
-
-@c FIXME: Graham will deal with this.  -gp
-@c snippet 201
-To display a bracket even if there is only one staff, see
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {staff,display-bracket-with-only-one-staff-in-a system.ly}
 
 @seealso
 
-Music Glossary: @rglos{brace}, 
-@rglos{bracket}.
-
-Snippets: @lsrdir{Staff,Staff-notation}
-
-Internals Reference: @internalsref{ChoirStaff},
-@internalsref{GrandStaff}, @internalsref{PianoStaff}, 
-@internalsref{StaffGroup},
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-@internalsref{SystemStartBracket}, @internalsref{SystemStartSquare}.
+Internals Reference: @internalsref{SystemStartBar}, 
+@internalsref{SystemStartBrace}, @internalsref{SystemStartBracket},
+@internalsref{systemStartDelimiterHierarchy}.
 
 
 
@@ -358,15 +400,22 @@ Internals Reference: @internalsref{ChoirStaff},
 @subsection Modifying single staves
 
 @menu
-* Staff symbol::                
-* Ossia staves::                
-* Hiding staves::               
+* Staff symbol::   
+* Ossia staves::             
+* Hiding staves::    
 @end menu
 
 @node Staff symbol
 @subsubsection Staff symbol
 
 @cindex adjusting staff symbol
+@cindex drawing staff symbol
+@cindex stop staff lines
+@cindex start staff lines
+@cindex staff lines, amount of
+@cindex staff line, thickness of
+@cindex amount of staff lines
+@cindex thickness of staff lines
 
 The layout object which draws the lines of a staff is called
 @code{staff symbol}.  The staff symbol may be tuned in the number,
@@ -435,6 +484,11 @@ In combination with Frenched staves, this may be used to typeset
 @cindex thickness of staff lines, setting
 @cindex number of staff lines, setting
 
+@snippets
+
+@c  lilypondfile{Making-some-staff-lines-thicker-than-the-others.ly}
+@c snippet 277
+
 @seealso
 
 Music Glossary: @rglos{ossia}, @rglos{staff}, @rglos{Frenched staff}.
index c621d1e61fa16cf218aa794dcba4a34ce6850e4e..d829be7b06bb8616905cbf91656bd9dfd32cce88 100644 (file)
@@ -14,7 +14,7 @@ This section of the manual contains templates with the LilyPond score
 already set up for you.  Just add notes, run LilyPond, and enjoy
 beautiful printed scores!
 
-@c bad node name for ancient notation to avoid confict
+@c bad node name for ancient notation to avoid conflict
 @menu
 * Single staff::                
 * Piano templates::             
@@ -108,7 +108,7 @@ beautiful printed scores!
 {vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly}
 
 
-@c bad node name to avoid node name confict
+@c bad node name to avoid node name conflict
 @node Ancient notation templates
 @appendixsec Ancient notation templates
 
index 7373f6222cfddb35ed4ea5ee89b6daf96b1c6f13..7e010944de85546a501ea271e4aefad4f99db041 100644 (file)
@@ -1090,7 +1090,7 @@ expression, so @math{-(4+5)} is a bigger expression.
 
 Time signatures entered in one staff affects all other staves by
 default.  On the other hand, the key signature of one staff does
-@emph{not} affect other staves.  This different default behaviour
+@emph{not} affect other staves.  This different default behavior
 is because scores with transposing instruments are more common
 than polyrhythmic scores.
 
index 81e24fcdcb0843e24b8c0642510fa7763ecff857..ab4ee989f1e10362900450ac857ce1f45af6d9b7 100644 (file)
@@ -91,9 +91,9 @@ represent items of notation on the printed output such as
 above, and so they too all have properties associated with them,
 such as their position, size, color, etc.
 
-Some layout objects are still more specialised.  Phrasing slurs,
-crescendo hairpins, ottavo marks, and many other grobs are not
-localised in a single place -- they have a starting point, an
+Some layout objects are still more specialized.  Phrasing slurs,
+crescendo hairpins, ottava marks, and many other grobs are not
+localized in a single place -- they have a starting point, an
 ending point, and maybe other properties concerned with their
 shape.  Objects with an extended shape like these are called
 @q{Spanners}.
@@ -122,7 +122,7 @@ We met some object naming conventions previously, in
 @ref{Contexts and engravers}.  Here for reference is a list
 of the most common object and property types together with 
 the conventions for naming them and a couple of examples of 
-some real names.  We have used A to stand for any capitalised
+some real names.  We have used A to stand for any capitalized
 alphabetic character and aaa to stand for any number of
 lower-case alphabetic characters.  Other characters are used
 verbatim. 
@@ -153,7 +153,7 @@ verbatim.
 
 As we shall see shortly, the properties of different types of 
 object are modified by different commands, so it is useful to
-be able to recognise the type of object from the names of its
+be able to recognize the type of object from the names of its
 properties.
 
 
@@ -721,7 +721,7 @@ Now we see all the user-settable properties which control fonts,
 including @code{font-shape(symbol)}, where @code{symbol} can be
 set to @code{upright}, @code{italics} or @code{caps}.
 
-You will notice that that @code{font-series} and @code{font-size}
+You will notice that @code{font-series} and @code{font-size}
 are also listed there.
 This immediately raises the question: Why are the common font
 properties @code{font-series} and @code{font-size} listed under
@@ -733,7 +733,7 @@ is created, but @code{font-shape} is not.  The entries in
 @code{LyricText} then tell you the values for those two
 properties which apply to @code{LyricText}.  Other objects
 which support @code{font-interface} will set these
-properties diferently when they are created.
+properties differently when they are created.
 
 Let's see if we can now construct the @code{\override} command
 to change the lyrics to italics.  The object is @code{LyricText},
@@ -750,7 +750,7 @@ Symbols are special names which are known internally to
 LilyPond.  Some of them are the names of properties,
 like @code{thickness} or @code{font-shape}, others are in
 effect special values that can be given to properties, like
-@code{italic}.  Note the distinction from arbitary
+@code{italic}.  Note the distinction from arbitrary
 text strings, which would appear as @code{"a text string"}.
 
 Ok, so the @code{\override} command we need to print the lyrics
@@ -795,7 +795,7 @@ included as part of the final syllable.  Similarly,
 spaces must be inserted before and after the
 period or dot, @q{.}, separating the context name from the
 object name, as otherwise the two names are run together and
-the interpreter cannot recognise them.  So the command should be:
+the interpreter cannot recognize them.  So the command should be:
 
 @example
 \override Lyrics . LyricText #'font-shape = #'italic
@@ -1058,7 +1058,7 @@ explanation of what that list should be.  The list it
 requires is actually a list of values in internal units,
 but, to avoid having to know what these are, several ways
 are provided to specify colors.  The first way is to use one
-of the @q{normal} colours listed in the first table in
+of the @q{normal} colors listed in the first table in
 @ruser{List of colors}.  To set the bar lines to white
 we write:
 
@@ -1209,7 +1209,7 @@ we simply set the stencil of each to @code{#f}, as follows:
 
 @noindent
 where the extra pair of braces after the @code{\with} clause are
-required to ensure the enclosed overrrides and music are applied
+required to ensure the enclosed overrides and music are applied
 to the ossia staff.
 
 But what is the difference between modifying the staff context by 
@@ -1219,7 +1219,7 @@ changes made in a @code{\with} clause are made at the time the
 context is created, and remain in force as the @strong{default}
 values for the duration of that context, whereas
 @code{\set} or @code{\override} commands embedded in the
-music are dynamic -- they make changes synchronised with
+music are dynamic -- they make changes synchronized with
 a particular point in the music.  If changes are unset or
 reverted using @code{\unset} or @code{\revert} they return to
 their default values, which will be the ones set in the 
@@ -1387,7 +1387,7 @@ are always calculated relative to the
 value of the @code{staff-space} property these are automatically
 scaled down in length too.  Note that this affects only the
 vertical scale of the ossia -- the horizontal scale is determined
-by the layout of the main music in order to remain synchronised 
+by the layout of the main music in order to remain synchronized 
 with it, so it is not affected by any of these changes in size.
 Of course, if the scale of all the main music were changed in this
 way then the horizontal spacing would be affected.  This is 
@@ -1411,14 +1411,14 @@ from a font) may be changed in the same way.
 @section Placement of objects
 
 @menu
-* Automatic behaviour::         
+* Automatic behavior::         
 * Within-staff objects::        
 * Outside staff objects::       
 @end menu
 
 
-@node Automatic behaviour
-@subsection Automatic behaviour
+@node Automatic behavior
+@subsection Automatic behavior
 
 There are some objects in musical notation that belong to
 the staff and there are other objects that should be 
@@ -1432,7 +1432,7 @@ vertically positioned on specific lines of the staff or are
 tied to other objects that are so positioned.  Collisions of
 note heads, stems and accidentals in closely set chords are
 normally avoided automatically.  There are commands and
-overrides which can modify this automatic behaviour, as we
+overrides which can modify this automatic behavior, as we
 shall shortly see.
 
 Objects belonging outside the staff include things such as
@@ -1456,7 +1456,7 @@ closer to the staff.  If two objects have the same
 placed closer to the staff.
 
 In the following example all the markup texts have the same 
-priority (since it is not explicity set).  Note that @q{Text3}
+priority (since it is not explicitly set).  Note that @q{Text3}
 is automatically positioned close to the staff again, nestling
 under @q{Text2}.
 
@@ -1495,9 +1495,9 @@ everything else which depends on the direction of the stems.
 These commands are essential when writing polyphonic music to
 permit interweaving melodic lines to be distinguished.
 But occasionally it may be necessary to override this automatic
-behaviour.  This can be done for whole sections of music or even
+behavior.  This can be done for whole sections of music or even
 for an individual note.  The property which controls this
-behaviour is the @code{direction} property of each layout object.
+behavior is the @code{direction} property of each layout object.
 We first explain what this does, and then introduce a number of
 ready-made commands which avoid your having to code explicit
 overrides for the more common modifications.
@@ -1507,12 +1507,12 @@ either up or down; others like stems and flags also move to
 right or left when they point up or down.  This is controlled
 automatically when @code{direction} is set.
 
-The following example shows in bar 1 the default behaviour of 
+The following example shows in bar 1 the default behavior of 
 stems, 
 with those on high notes pointing down and those on low notes
 pointing up, followed by four notes with all stems forced down, 
 four notes with all stems forced up, and finally four notes
-reverted back to the default behaviour.
+reverted back to the default behavior.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 a4 g c a
@@ -1639,7 +1639,7 @@ It controls whether fingerings may be placed above (if
 to the left (if @code{left} appears, or to the right
 (if @code{right} appears).  Conversely, if a location is not
 listed, no fingering is placed there.  LilyPond takes these 
-contraints and works out the best placement for the fingering
+constraints and works out the best placement for the fingering
 of the notes of the following chords.  Note that @code{left} and
 @code{right} are mutually exclusive -- fingering may be placed
 only on one side or the other, not both.
@@ -1834,7 +1834,7 @@ Changing the @code{outside-staff-priority} can also be used to
 control the vertical placement of individual objects, although
 the results may not always be desirable.  Suppose we would
 like @qq{Text3} to be placed above @qq{Text4} in the example
-under Automatic behaviour, above (see @ref{Automatic behaviour}).
+under Automatic behavior, above (see @ref{Automatic behavior}).
 All we need to do is to look up the priority of @code{TextScript}
 in the IR or in the tables above, and increase the priority of
 @qq{Text3} to a higher value:
@@ -1863,7 +1863,7 @@ command.
 
 By default, text produced by markup takes up no horizontal space
 as far as laying out the music is concerned.  The @code{\textLengthOn}
-command reverses this behaviour, causing the notes to be spaced
+command reverses this behavior, causing the notes to be spaced
 out as far as is necessary to accommodate the text:
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
@@ -1874,7 +1874,7 @@ c^"Text3"
 c^"Text4"
 @end lilypond  
 
-The command to revert to the default behaviour is 
+The command to revert to the default behavior is 
 @code{\textLengthOff}.  Remember @code{\once} only works with
 @code{\override}, @code{\set}, @code{\revert} or @code{unset},
 so cannot be used with @code{\textLengthOn}.
@@ -1901,7 +1901,7 @@ R1
 % Turn off collision avoidance
 \once \override TextScript #'outside-staff-priority = ##f
 \textLengthOn  % and turn on textLengthOn
-c,,2^"Long Text   "  % Spaces at end are honoured
+c,,2^"Long Text   "  % Spaces at end are honored
 c''2
 @end lilypond
 
@@ -2034,7 +2034,7 @@ rather rare.  Usually the need to move objects is for clarity or
 aesthetic reasons -- they would look better with a little more
 or a little less space around them.
 
-There are three main main approaches to resolving overlapping
+There are three main approaches to resolving overlapping
 notation.  They should be considered in the following order:
 
 @enumerate
@@ -2138,7 +2138,7 @@ This property is available for all objects which support the
 to the leftmost extent and the second is added to the rightmost
 extent.  Negative numbers move the edge to the left, positive to
 the right, so to widen an object the first number must be negative,
-the second positive.  Note that not all objects honour both
+the second positive.  Note that not all objects honor both
 numbers.  For example, the @code{Accidental} object only takes
 notice of the first (left edge) number.
 
@@ -2159,7 +2159,7 @@ and notes in different voices.
 
 @cindex force-hshift property
 
-Closely spaced notes in a chord, or notes occuring at the same
+Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
 columns to prevent the note heads overlapping.  These are called
 note columns, and an object called @code{NoteColumn} is created
@@ -2186,7 +2186,7 @@ are available for the object in question.
 
 @item
 Finally, when all else fails, objects may be manually repositioned
-relative to the staff center line verically, or by
+relative to the staff center line vertically, or by
 displacing them by any distance to a new position.  The
 disadvantages are that the correct values for the repositioning
 have to be worked out, often by trial and error, for every object
@@ -2562,7 +2562,7 @@ problems with notation.  It is not representative of more usual
 engraving process, so please do not let these difficulties put 
 you off!  Fortunately, difficulties like these are not very common!
 
-The example is from Chopin's Première Ballade, Op. 23, bars 6 to
+The example is from Chopin's Première Ballade, Op. 23, bars 6 to
 9, the transition from the opening Lento to Moderato.
 Here, first, is what we want the output to look like, but to avoid
 over-complicating the example too much we have left out the
@@ -2875,7 +2875,7 @@ using one of the @code{\shift} commands.  But which one?
 The C is in voice two which has shift off, and the two D's are in
 voices one and three, which have shift off and shift on,
 respectively.  So we have to shift the C a further level still
-using @code{\shiftOnn} to avoid it interferring with the two D's.  
+using @code{\shiftOnn} to avoid it interfering with the two D's.  
 Applying these changes gives:
 
 @lilypond[quote,verbatim,ragged-right]
index fcdf6477156f1233fd92764b9b8911a5ca6d74a9..9ee8c8710ff89a01676a519354030b9d4296dbed 100644 (file)
@@ -510,7 +510,7 @@ Centered hyphens are entered as @samp{ -- } between syllables of a same word
 will be centered between the syllables, and its length will be adjusted
 depending on the space between the syllables.
 
-In tighly engraved music, hyphens can be removed.  Whether this
+In tightly engraved music, hyphens can be removed.  Whether this
 happens can be controlled with the @code{minimum-distance} (minimum
 distance between two syllables) and the @code{minimum-length}
 (threshold below which hyphens are removed).
@@ -906,7 +906,7 @@ These numbers are put just before the start of the first syllable.
 @subsubsection Adding dynamics marks
 
 Stanzas differing in loudness may be indicated by putting a
-dynamics mark before each stanza.  In Lilypond, everthing coming in
+dynamics mark before each stanza.  In Lilypond, everything coming in
 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
 are no different.  For technical reasons, you have to set the stanza
 outside @code{\lyricmode}:
index 216f577e89535a0f2f4d71a3b9322acfc564fc56..ab7f328df1105e934d5d5b1dd0ed640feaf12dc8 100644 (file)
@@ -560,7 +560,7 @@ file with @code{\include "../global.ly"}, which contains
 The LilyPond input syntax occasionally changes.  As LilyPond itself
 improves, the syntax (input language) is modified accordingly.  Sometimes
 these changes are made to make the input easier to read and write or
-sometimes the changes are made to accomodate new features of LilyPond.
+sometimes the changes are made to accommodate new features of LilyPond.
 
 LilyPond comes with a file that makes this updating easier:
 @code{convert-ly}.  For details about how to run this program, see
@@ -646,7 +646,7 @@ examples are used for
 
 @itemize
 @item Bug reports
-@item Sending a help request to mailists
+@item Sending a help request to mailing lists
 @item Adding an example to the @uref{http://lsr.dsi.unimi.it/,
 LilyPond Snippet Repository}
 @end itemize
index 7f30c94edca2ae4555372b7875a9906f6f71926d..47589baeeab4dc0536392a72039c4ff75e416228 100644 (file)
@@ -69,7 +69,7 @@ html_re = re.compile ('(.*?)(?:[.]([^/.]*))?[.]html$')
 pages_dict = {}
 
 def build_pages_dict (filelist):
-    """Build dictionnary of available translations of each page"""
+    """Build dictionary of available translations of each page"""
     global pages_dict
     for f in filelist:
         m = html_re.match (f)
diff --git a/buildscripts/generate_intervals.py b/buildscripts/generate_intervals.py
deleted file mode 100755 (executable)
index dbde2bc..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-
-notes = "CDEFGAB"
-alterations = [-1, 0, 1]
-
-def print_note (octave, note, alteration):
-    print "      <note>\n        <pitch>\n          <step>%s</step>" % notes[note]
-    if alteration <> 0:
-        print "          <alter>%s</alter>" % alteration
-    print "          <octave>%s</octave>\n        </pitch>\n        <duration>1</duration>\n        <voice>1</voice>\n        <type>quarter</type>\n      </note>" % octave
-
-
-print """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
-                                "http://www.musicxml.org/dtds/partwise.dtd">
-<score-partwise>
-  <movement-title>Various piches and interval sizes</movement-title>
-  <part-list>
-    <score-part id="P1">
-      <part-name>MusicXML Part</part-name>
-    </score-part>
-  </part-list>
-  <!--=========================================================-->
-  <part id="P1">
-    <measure number="1">
-      <attributes>
-        <divisions>1</divisions>
-        <key>
-          <fifths>0</fifths>
-          <mode>major</mode>
-        </key>
-        <time symbol="common">
-          <beats>2</beats>
-          <beat-type>4</beat-type>
-        </time>
-        <clef>
-          <sign>G</sign>
-          <line>2</line>
-        </clef>
-      </attributes>
-"""
-
-start_octave = 5
-
-for octave in (start_octave, start_octave+1):
-    for note in (0,1,2,3,4,5,6):
-        for alteration in alterations:
-            if octave == start_octave and note == 0 and alteration == -1:
-                continue
-            print_note (octave, note, alteration)
-#             if octave == start_octave and note == 0 and alteration == 0:
-#                 continue
-            print_note (start_octave-(octave-start_octave)-(1-(7-note)/7), (7-note)%7, -alteration)
-
-print """    </measure>
-  </part>
-</score-partwise>
-"""
\ No newline at end of file
diff --git a/buildscripts/generate_keys.py b/buildscripts/generate_keys.py
deleted file mode 100755 (executable)
index cd0f995..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env python
-
-notes = "CDEFGAB"
-alterations = [-1, 0, 1]
-
-def print_measure (nr, fifth, mode, atts = "", final = ""):
-    print """    <measure number="%s">
-      <attributes>
-%s        <key>
-          <fifths>%s</fifths>
-          <mode>%s</mode>
-        </key>
-      </attributes>
-      <note>
-        <pitch>
-          <step>C</step>
-          <octave>4</octave>
-        </pitch>
-        <duration>2</duration>
-        <voice>1</voice>
-        <type>half</type>
-      </note>
-%s    </measure>""" % (nr, atts,  fifth, mode, final)
-
-first_atts = """        <divisions>1</divisions>
-        <time symbol="common">
-          <beats>2</beats>
-          <beat-type>4</beat-type>
-        </time>
-        <clef>
-          <sign>G</sign>
-          <line>2</line>
-        </clef>
-"""
-
-final_barline = """      <barline location="right">
-        <bar-style>light-heavy</bar-style>
-      </barline>
-"""
-
-print """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
-                                "http://www.musicxml.org/dtds/partwise.dtd">
-<score-partwise>
-  <movement-title>Different Key signatures</movement-title>
-  <part-list>
-    <score-part id="P1">
-      <part-name>MusicXML Part</part-name>
-    </score-part>
-  </part-list>
-  <!--=========================================================-->
-  <part id="P1">
-"""
-
-max_range = 11
-measure = 0
-for fifth in range(-max_range, max_range+1):
-    measure += 1
-    if fifth == -max_range:
-        print_measure (measure, fifth, "major", first_atts)
-    else:
-        print_measure (measure, fifth, "major")
-    measure += 1
-    if fifth == max_range:
-        print_measure (measure, fifth, "minor", "", final_barline)
-    else:
-        print_measure (measure, fifth, "minor")
-    
-
-print """  </part>
-</score-partwise>
-"""
\ No newline at end of file
diff --git a/buildscripts/generate_timesignatures.py b/buildscripts/generate_timesignatures.py
deleted file mode 100755 (executable)
index 9844f3d..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-
-notes = "CDEFGAB"
-alterations = [-1, 0, 1]
-
-def print_measure (nr, beats, type, params = "", attr = "", barline = ""):
-    print """    <measure number="%s">
-      <attributes>
-%s        <time %s>
-          <beats>%s</beats>
-          <beat-type>%s</beat-type>
-        </time>
-      </attributes>
-      <note>
-        <pitch>
-          <step>C</step>
-          <octave>5</octave>
-        </pitch>
-        <duration>1</duration>
-        <voice>1</voice>
-        <type>quarter</type>
-      </note>
-%s    </measure>""" % (nr, attr, params, beats, type, barline)
-
-first_atts = """        <divisions>1</divisions>
-        <key>
-          <fifths>0</fifths>
-          <mode>major</mode>
-        </key>
-        <time symbol="common">
-          <beats>2</beats>
-          <beat-type>4</beat-type>
-        </time>
-        <clef>
-          <sign>G</sign>
-          <line>2</line>
-        </clef>
-"""
-
-final_barline = """      <barline location="right">
-        <bar-style>light-heavy</bar-style>
-      </barline>
-"""
-
-print """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
-                                "http://www.musicxml.org/dtds/partwise.dtd">
-<score-partwise>
-  <movement-title>Different time signatures</movement-title>
-  <part-list>
-    <score-part id="P1">
-      <part-name>MusicXML Part</part-name>
-    </score-part>
-  </part-list>
-  <!--=========================================================-->
-  <part id="P1">
-"""
-
-measure = 1
-
-print_measure (measure, 2, 2, " symbol=\"common\"", first_atts)
-measure += 1
-
-print_measure (measure, 4, 4, " symbol=\"common\"")
-measure += 1
-
-print_measure (measure, 2, 2)
-measure += 1
-
-print_measure (measure, 3, 2)
-measure += 1
-
-print_measure (measure, 2, 4)
-measure += 1
-
-print_measure (measure, 3, 4)
-measure += 1
-
-print_measure (measure, 4, 4)
-measure += 1
-
-print_measure (measure, 5, 4)
-measure += 1
-
-print_measure (measure, 3, 8)
-measure += 1
-
-print_measure (measure, 6, 8)
-measure += 1
-
-print_measure (measure, 12, 8, "", "", final_barline)
-measure += 1
-
-print """  </part>
-</score-partwise>
-"""
\ No newline at end of file
diff --git a/buildscripts/musicxml_generate_intervals.py b/buildscripts/musicxml_generate_intervals.py
new file mode 100755 (executable)
index 0000000..dbde2bc
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+notes = "CDEFGAB"
+alterations = [-1, 0, 1]
+
+def print_note (octave, note, alteration):
+    print "      <note>\n        <pitch>\n          <step>%s</step>" % notes[note]
+    if alteration <> 0:
+        print "          <alter>%s</alter>" % alteration
+    print "          <octave>%s</octave>\n        </pitch>\n        <duration>1</duration>\n        <voice>1</voice>\n        <type>quarter</type>\n      </note>" % octave
+
+
+print """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+                                "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+  <movement-title>Various piches and interval sizes</movement-title>
+  <part-list>
+    <score-part id="P1">
+      <part-name>MusicXML Part</part-name>
+    </score-part>
+  </part-list>
+  <!--=========================================================-->
+  <part id="P1">
+    <measure number="1">
+      <attributes>
+        <divisions>1</divisions>
+        <key>
+          <fifths>0</fifths>
+          <mode>major</mode>
+        </key>
+        <time symbol="common">
+          <beats>2</beats>
+          <beat-type>4</beat-type>
+        </time>
+        <clef>
+          <sign>G</sign>
+          <line>2</line>
+        </clef>
+      </attributes>
+"""
+
+start_octave = 5
+
+for octave in (start_octave, start_octave+1):
+    for note in (0,1,2,3,4,5,6):
+        for alteration in alterations:
+            if octave == start_octave and note == 0 and alteration == -1:
+                continue
+            print_note (octave, note, alteration)
+#             if octave == start_octave and note == 0 and alteration == 0:
+#                 continue
+            print_note (start_octave-(octave-start_octave)-(1-(7-note)/7), (7-note)%7, -alteration)
+
+print """    </measure>
+  </part>
+</score-partwise>
+"""
\ No newline at end of file
diff --git a/buildscripts/musicxml_generate_keys.py b/buildscripts/musicxml_generate_keys.py
new file mode 100755 (executable)
index 0000000..cd0f995
--- /dev/null
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+
+notes = "CDEFGAB"
+alterations = [-1, 0, 1]
+
+def print_measure (nr, fifth, mode, atts = "", final = ""):
+    print """    <measure number="%s">
+      <attributes>
+%s        <key>
+          <fifths>%s</fifths>
+          <mode>%s</mode>
+        </key>
+      </attributes>
+      <note>
+        <pitch>
+          <step>C</step>
+          <octave>4</octave>
+        </pitch>
+        <duration>2</duration>
+        <voice>1</voice>
+        <type>half</type>
+      </note>
+%s    </measure>""" % (nr, atts,  fifth, mode, final)
+
+first_atts = """        <divisions>1</divisions>
+        <time symbol="common">
+          <beats>2</beats>
+          <beat-type>4</beat-type>
+        </time>
+        <clef>
+          <sign>G</sign>
+          <line>2</line>
+        </clef>
+"""
+
+final_barline = """      <barline location="right">
+        <bar-style>light-heavy</bar-style>
+      </barline>
+"""
+
+print """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+                                "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+  <movement-title>Different Key signatures</movement-title>
+  <part-list>
+    <score-part id="P1">
+      <part-name>MusicXML Part</part-name>
+    </score-part>
+  </part-list>
+  <!--=========================================================-->
+  <part id="P1">
+"""
+
+max_range = 11
+measure = 0
+for fifth in range(-max_range, max_range+1):
+    measure += 1
+    if fifth == -max_range:
+        print_measure (measure, fifth, "major", first_atts)
+    else:
+        print_measure (measure, fifth, "major")
+    measure += 1
+    if fifth == max_range:
+        print_measure (measure, fifth, "minor", "", final_barline)
+    else:
+        print_measure (measure, fifth, "minor")
+    
+
+print """  </part>
+</score-partwise>
+"""
\ No newline at end of file
diff --git a/buildscripts/musicxml_generate_timesignatures.py b/buildscripts/musicxml_generate_timesignatures.py
new file mode 100755 (executable)
index 0000000..9844f3d
--- /dev/null
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+
+notes = "CDEFGAB"
+alterations = [-1, 0, 1]
+
+def print_measure (nr, beats, type, params = "", attr = "", barline = ""):
+    print """    <measure number="%s">
+      <attributes>
+%s        <time %s>
+          <beats>%s</beats>
+          <beat-type>%s</beat-type>
+        </time>
+      </attributes>
+      <note>
+        <pitch>
+          <step>C</step>
+          <octave>5</octave>
+        </pitch>
+        <duration>1</duration>
+        <voice>1</voice>
+        <type>quarter</type>
+      </note>
+%s    </measure>""" % (nr, attr, params, beats, type, barline)
+
+first_atts = """        <divisions>1</divisions>
+        <key>
+          <fifths>0</fifths>
+          <mode>major</mode>
+        </key>
+        <time symbol="common">
+          <beats>2</beats>
+          <beat-type>4</beat-type>
+        </time>
+        <clef>
+          <sign>G</sign>
+          <line>2</line>
+        </clef>
+"""
+
+final_barline = """      <barline location="right">
+        <bar-style>light-heavy</bar-style>
+      </barline>
+"""
+
+print """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+                                "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+  <movement-title>Different time signatures</movement-title>
+  <part-list>
+    <score-part id="P1">
+      <part-name>MusicXML Part</part-name>
+    </score-part>
+  </part-list>
+  <!--=========================================================-->
+  <part id="P1">
+"""
+
+measure = 1
+
+print_measure (measure, 2, 2, " symbol=\"common\"", first_atts)
+measure += 1
+
+print_measure (measure, 4, 4, " symbol=\"common\"")
+measure += 1
+
+print_measure (measure, 2, 2)
+measure += 1
+
+print_measure (measure, 3, 2)
+measure += 1
+
+print_measure (measure, 2, 4)
+measure += 1
+
+print_measure (measure, 3, 4)
+measure += 1
+
+print_measure (measure, 4, 4)
+measure += 1
+
+print_measure (measure, 5, 4)
+measure += 1
+
+print_measure (measure, 3, 8)
+measure += 1
+
+print_measure (measure, 6, 8)
+measure += 1
+
+print_measure (measure, 12, 8, "", "", final_barline)
+measure += 1
+
+print """  </part>
+</score-partwise>
+"""
\ No newline at end of file
index 0f0bb61270beee42468ec305e31fb0b4106e06fa..bf645df23d78ecdd3fccb67d90978214765477f7 100644 (file)
@@ -12,6 +12,7 @@
 #include <cstdio>
 #include <cerrno>
 #include <unistd.h>
+#include <limits.h>
 
 using namespace std;
 
index 49b2322ed717e464bf992afedda255f050b5f493..969d0121470db512f58f342046fd5293c735ad29 100644 (file)
@@ -10,6 +10,7 @@
 #define RATIONAL_HH
 
 #include "std-string.hh"
+#include <limits.h>
 
 /**
    Rational numbers.  Included is support for + and - infinity.
index 1f391de20d4dd609ce8cea4a551c9fe7d649d3df..3940c938ad807bc51422bad9a114c64c482da06d 100644 (file)
@@ -22,6 +22,7 @@
 #include <algorithm>   /* find, reverse, sort */
 #include <functional>  /* unary_function */
 #include <cassert>
+#include <string>
 
 using namespace std;
 
index 42b4a221227d435effcbc7a1390e3f042e332809..d00ab08965c7b719481cc9407f8f2c7730cc9a98 100644 (file)
@@ -12,28 +12,26 @@ clef symbol) and have noteheads according to the drum. You can easily
 attach an extra symbol to the drum, and restrict the number of lines. 
 " }
 % begin verbatim
-drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat unfold 5 { hhc8 hho hhc8 hh16 hh } hhc4 r4 r2 }
-drl = \drummode { \repeat unfold 3 { bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-timb = \drummode { \repeat unfold 2 { timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb } }
+drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh hhc8 hho hhc8 hh16 hh hhc4 r4 r2 }
+drl = \drummode { bd4 sn8 bd bd4 << bd ss >>  bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
+timb = \drummode { timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb }
 
 \score {
-  \repeat volta 2 {
-    <<
-      \new DrumStaff \with {
-       drumStyleTable = #timbales-style
-       \override StaffSymbol #'line-count = #2
-       \override BarLine #'bar-size = #2
-      } <<
-       \set Staff.instrumentName = "timbales"
-       \timb
-      >>
-      \new DrumStaff <<
-       \set Staff.instrumentName = "drums"
-       \new DrumVoice { \stemUp \drh }
-       \new DrumVoice { \stemDown \drl }
-      >>
+  <<
+    \new DrumStaff \with {
+      drumStyleTable = #timbales-style
+      \override StaffSymbol #'line-count = #2
+      \override BarLine #'bar-size = #2
+    } <<
+      \set Staff.instrumentName = "timbales"
+      \timb
     >>
-  }
+    \new DrumStaff <<
+      \set Staff.instrumentName = "drums"
+      \new DrumVoice { \stemUp \drh }
+      \new DrumVoice { \stemDown \drl }
+    >>
+  >>
   \layout {}
   \midi {
     \context {
index b4567d84cf808bf1078ab36d86e7ed4770f97a68..4e8915f53c3913fcb9d98a78eee59cd92372c6ba 100644 (file)
@@ -5,11 +5,11 @@
 \header {
   lsrtags = "repeats"
  texidoc = "
-The @code{Volta_engraver} by default resides in the Score context, and
-brackets for the repeat are thus normally only printed over the topmost
-staff.  This can be adjusted by adding @code{Volta_engraver} to the
-Staff context where you want the brackets to appear; see also the
-\"Volta multi staff\" snippet.
+The @code{Volta_engraver} by default resides in the @code{Score}
+context, and brackets for the repeat are thus normally only printed
+over the topmost staff. This can be adjusted by adding the
+@code{Volta_engraver} to the @code{Staff} context where you want the
+brackets to appear; see also the \"Volta multi staff\" snippet.
 " }
 % begin verbatim
 <<
index 1cb96225ba2e0c137931491681bc5fb132d83cf8..fcd55166d1575adf07a39d431647d585b3b67a8a 100644 (file)
@@ -6,9 +6,10 @@
   lsrtags = "text, vocal-music"
  texidoc = "
 You can specify different horizontal alignment for your lyrics, by
-overriding the #'self-alignment-X property of the LyricText object. #-1
-is left, #0 is center and #1 is right; however, you can use #LEFT,
-#CENTER and #RIGHT as well.
+overriding the @code{#'self-alignment-X} property of the
+@code{LyricText} object. @code{#-1} is left, @code{#0} is center and
+@code{#1} is right; however, you can use @code{#LEFT}, @code{#CENTER}
+and @code{#RIGHT} as well. 
 " }
 % begin verbatim
 \relative c'' {
index 9ee2b3a5d5840a0479d532e0d4d7b928a58a7516..6864d8d19be1d092de5fe1618f93497bccca2143 100644 (file)
@@ -16,12 +16,12 @@ ambitus per staff rather than per voice, add the
   }
 <<
   \new Voice \relative c'' {
-      \voiceOne
-      c4 a d e f1
-    }
+    \voiceOne
+    c4 a d e f1
+  }
   \new Voice \relative c' {
-      \voiceTwo
-      es4 f g as b1
-    }
+    \voiceTwo
+    es4 f g as b1
+  }
 >>
 
index 88c40ece44352aab2de1e7931c3d08580893cd1f..9da2dde0b7a692e7f37b0ca1875da53e9a836ed2 100644 (file)
@@ -5,5 +5,6 @@ ancient-notation-template----modern-transcription-of-mensural-music.ly
 ancient-fonts.ly
 ancient-time-signatures.ly
 custodes.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
 ancient-notation-template----modern-transcription-of-gregorian-music.ly
 rest-styles.ly
index ec94f1d7c91a9fc8c376480cc75573a122818068..ae1c92d6d5b12125ae2eafce2f6612414fdbc9c6 100644 (file)
@@ -5,50 +5,46 @@
 \header {
   lsrtags = "rhythms"
  texidoc = "
-In time signature 2/2 or 4/4 the beam are  @code{         _____        
- _   _  Default | | | | I want | | | |. } Use a \"macro\" with
-#(override-auto-beam-setting '.....
-
-
-
+In a simple time signature of 2/2 or 4/4, 8th notes are beamed by
+default as two sets of four. Using a macro which overrides the
+autobeaming behaviour, this snippet changes the beaming to quarter note
+beats. 
 " }
 % begin verbatim
 % Automatic beams two per two in 4/4 or 2/2 time signature
-%           _____
+%            _____
 % Default   | | | | 
-%           _   _
+%                 _   _
 % I want    | | | |
 
-% The good way adapted from David Bobrof
+% The good way adapted from David Bobroff
 
 % macro for beamed two per two in 2/2 and 4/4 time signature
-qbeam={  
-       #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
-       #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
-       #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff) 
-       }
-% other macros 
-timeFractionstyle = { \override Staff.TimeSignature #'style = #'() }
-textn = ^\markup { without the macro }
-texty = ^\markup { with the macro }
+qbeam= {
+  #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
+  #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
+  #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff)
+}
 
 \score {
- << 
-       \new Staff << \relative c'' {  
-               \timeFractionstyle
-               \time 4/4
-                g8\textn g g g   g g g g   g g g g4  g8 g g
-                }
-               >>
-               
-       %Use the macro  
-       
-       \new Staff << \relative c'' {  
-               \timeFractionstyle
-               \time 4/4
-               \qbeam
-               g8\texty g g g   g g g g  g g g g4  g8 g g 
-                }
-        >>      
- >>
+  <<
+    \new Staff \relative c'' {
+      \time 4/4
+      g8^\markup { without the macro } g g g g g g g |
+      g g g g4 g8 g g |
+    }
+       %Use the macro
+    \new Staff \relative c'' {
+      \time 4/4
+      \qbeam
+      g8^\markup { with the macro } g g g g g g g |
+      g g g g4 g8 g g |
+    }
+  >>
+  \layout {
+    \context {
+      \Staff
+      \override TimeSignature #'style = #'()
+    }
+  }
 }
index 08ee89a2858d6a097177f62298e3b04323b807e6..9a7fbf1ac9696b841df1de0c5e6ad5e224a6640e 100644 (file)
@@ -12,19 +12,16 @@ and a fermata.
 " }
 % begin verbatim
 {
-  \context Voice {
-    c''2.
-    % use some scheme code to construct the symbol
-    \override BreathingSign #'text = #(markup #:line 
-                                  (#:musicglyph "scripts.caesura.curved"
-                                   #:translate (cons -1.75 1.6) 
-                                   #:musicglyph "scripts.ufermata"
-                                  ))
-    \breathe c''4
-    % set the breathe mark back to normal
-    \revert BreathingSign #'text
-    c''2. \breathe c''4
-    \bar "|."
+  c''2.
+  % construct the symbol
+  \override BreathingSign #'text = \markup {
+    \line {
+      \musicglyph #"scripts.caesura.curved" \translate #'(-1.75 . 1.6) \musicglyph #"scripts.ufermata"
+    }
   }
+  \breathe c''4
+  % set the breathe mark back to normal
+  \revert BreathingSign #'text
+  c''2. \breathe c''4
+  \bar "|."
 }
-
index e427bfcfa97a51efe091945fe200bf7e98550621..2139970e70a5d41e325c0cd38d48512f77c8dd2b 100644 (file)
@@ -5,11 +5,10 @@
 \header {
   lsrtags = "expressive-marks, text"
  texidoc = "
-This example provides a function to typeset hairpin (de)crescendo with
-some additional text below it, such as \"molto\" or \"poco\". 
-
-The example also illustrates how to use modify the way an object
-normally is printed, using some Scheme code.  
+This example provides a function to typeset a hairpin (de)crescendo
+with some additional text below it, such as \"molto\" or \"poco\".The
+example also illustrates how to modify the way an object is normally
+printed, using some Scheme code.  
 " }
 % begin verbatim
 hairpinWithCenteredText = #(define-music-function
@@ -27,8 +26,8 @@ hairpinWithCenteredText = #(define-music-function
 #})
 
 
-hairpinMolto = \hairpinWithCenteredText \markup {\italic "molto"}
-hairpinMore  = \hairpinWithCenteredText \markup {\bigger "moltissimo"}
+hairpinMolto = \hairpinWithCenteredText \markup { \italic "molto" }
+hairpinMore  = \hairpinWithCenteredText \markup { \bigger "moltissimo" }
 
 \new Staff {
    \hairpinMolto c'2\< c'2\f
index 22724d65b1d3ef97fbfebb2b5f22691f8eeabb75..5bc4e29fa5de1e7e2ca9f16e74edbc3aab9c9052 100644 (file)
@@ -5,17 +5,17 @@
 \header {
   lsrtags = "expressive-marks"
  texidoc = "
-To make the \\flageolet circle smaller you can use the following scheme
-code (found in the Lilypond-user-archive)
+To make the @code{\\flageolet} circle smaller you can use the following
+Scheme code. 
 " }
 % begin verbatim
-F = #(let ((m (make-music 'ArticulationEvent
+smallFlageolet = #(let ((m (make-music 'ArticulationEvent
                           'articulation-type "flageolet")))
        (set! (ly:music-property m 'tweaks)
              (acons 'font-size -3
                     (ly:music-property m 'tweaks)))
        m)
 
-\relative c'' { d4^\flageolet_\markup {"orginal \flageolet "} d4_\flageolet
-  c4^\F_\markup {smaller } c4_\F 
+\relative c'' { d4^\flageolet_\markup { default size } d4_\flageolet
+  c4^\smallFlageolet_\markup { smaller } c4_\smallFlageolet 
 }
index efe560040c5395a5e9ffde427259f1be57e0b06e..7f718587877aab0eb652273a6a92acdb76aee3d2 100644 (file)
@@ -19,5 +19,7 @@ The code for the chord example shown: @code{}
 " }
 % begin verbatim
 \relative {
-  <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup{A tiny e}_\markup{A big c}
+  <\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup { A tiny e }_\markup { A big c }
 }
+\layout { ragged-right = ##t }
+
index b737fc83a2cca8420a9974b8d46a251e8a6ab936..5ba1747bd4c8f23789b737a4552c3fbc139e7020 100644 (file)
@@ -3,14 +3,14 @@
 \version "2.11.38"
 
 \header {
-  lsrtags = "expressive-marks"
+  lsrtags = "expressive-marks, editorial-and-educational-use"
  texidoc = "
 The appearance of slurs may be changed from solid to dotted or dashed.
 
 
 " }
 % begin verbatim
-\relative c'{
+\relative c' {
   c( d e  c) |
   \slurDotted
   c( d e  c) |
index cd173a724239c51601574429d7b6b0bf11a5c706..a5b17af197bf35c110bf7b286d527e6a9dee1e3b 100644 (file)
@@ -15,6 +15,6 @@ be printed, or the tuplet number may be suppressed altogether.
   \times 2/3 { c8 c c } \times 2/3 { c8 c c }
   \override TupletNumber #'text = #tuplet-number::calc-fraction-text
   \times 2/3 { c8 c c }
-  \override TupletNumber #'transparent = ##t
+  \override TupletNumber #'stencil = ##f
   \times 2/3 { c8 c c }
 }
index e5b2c277071ba8e97f9711bf2e46c00b8249006d..47c57d79b3005d69e29128a11c1b04a304d2a244 100644 (file)
@@ -15,8 +15,8 @@ played.
 
 fragment = \relative c' {
   c4 f4 <e d'>4
-  <g a>8 <e a> a4 c2 <d b>4 e4 
-  c4
+  <g a>8 <e a> a4 c2 <d b>4
+  e2 c2
 }
 
 <<
index 52c146f7c47c4fedc5dab4b1451c3d818f08bba4..ed927bf6bd8afb73365b60dd894c0ad216594fe9 100644 (file)
@@ -6,18 +6,16 @@
   lsrtags = "expressive-marks, text"
  texidoc = "
 Some dynamics may involve text indications (such as \"più forte\",
-\"piano subito\", etc.). They can be produced using a \\markup bloc.
+\"piano subito\", etc.). They can be produced using a @code{\\markup}
+block.
 " }
 % begin verbatim
-\layout{ragged-right = ##t}
+\layout { ragged-right = ##t }
 
-piuf = \markup {  \italic "molto" \dynamic "f" }
+piuf = \markup { \italic "più" \dynamic "f" }
 
-\relative c''{
+\relative c'' {
+  c2
   c-\piuf
-  c
-  c2\< c2\!
-  
-  c2\< c2\!
 }
 
index c493552014a8f7af8b5a664e819657dd09ec7508..b180f3b5a71b6dfd72de9f37fe797df668101989 100644 (file)
@@ -5,76 +5,56 @@
 \header {
   lsrtags = "simultaneous-notes, text"
  texidoc = "
-The part combiner tool ( \\partcombine command ) allows you to combine
-different parts on a same Staff. You can choose whether you want or
-don't want to add texts such as \"solo\" or \"a2\", by defining the
-printPartCombineTexts property.
+The part combiner tool ( @code{\\partcombine} command ) allows you to
+combine different parts on the same staff. Text directions such as
+\"solo\" or \"a2\" are added by default; to remove them, simply set the
+property @code{printPartCombineTexts} to \"false\". For vocal scores
+(hymns), there is no need to add \"solo\"/\"a2\" texts, so they should
+be switched off. However, you'd better not use it if there are any
+solos, as they won't be indicated. In such cases, you may simply want
+to use standard LilyPond polyphony. This snippet presents the three
+ways two parts can be printed on a same staff: standard polyphony,
+@code{\\partcombine} whitout texts, and @code{\\partcombine} with texts.
 
-For vocal scores (hymns), there is no need to add \"solo\"/\"a2\"
-texts, so they should be switched off. However, you'd better not use it
-if there are any solos, as they won't be indicated. In such cases, you
-may simply want to use standard LilyPond polyphony.
-
-This snippet presents the three ways two parts can be printed on a same
-staff : standard polyphony, \\partcombine whitout texts, and
-\\partcombine with texts.
 
 
 " }
 % begin verbatim
-musicUp = {
+musicUp = \relative c'' {
   \time 4/4
-  \relative c'' {
-    a4 c4.(g8) a4 |
-    g4 e' g,( a8 b) | 
-    c b a2.
-  }
-}
-
-musicDown = {
-  \relative c'' {
-    g4 e4.(d8) c4 |
-    r2 g'4( f8 e) |
-    d2 a
-  }
+  a4 c4.( g8) a4 |
+  g4 e' g,( a8 b) |
+  c b a2.
 }
 
-\score{
-  \new Staff {
-    \set Staff.instrumentName = "Standard polyphony  "
-    << \musicUp  \\ \musicDown >>
+musicDown = \relative c'' {
+  g4 e4.( d8) c4 |
+  r2 g'4( f8 e) |
+  d2 \stemDown a
 }
 
-  \layout{ 
-    indent = 6.0\cm 
+\score {
+  <<
+    <<
+    \new Staff {
+      \set Staff.instrumentName = "Standard polyphony  "
+      << \musicUp  \\ \musicDown >>
+    }
+    \new Staff \with { printPartCombineTexts = ##f } {
+      \set Staff.instrumentName = "PartCombine without texts  "
+      \partcombine \musicUp \musicDown
+    }
+    \new Staff {
+      \set Staff.instrumentName = "PartCombine with texts  "
+      \partcombine \musicUp \musicDown
+    }
+    >>
+  >>
+  \layout {
+    indent = 6.0\cm
+    \context {
+      \Score
+      \override SystemStartBar #'collapse-height = #30
+    }
   }
 }
-
-\score{
-       \context Staff {
-                       \set Staff.instrumentName = "PartCombine without texts  "
-                       \partcombine \musicUp \musicDown
-       }
-       \layout{
-               indent = 6.0\cm
-               \context {
-                       \Voice
-                       printPartCombineTexts = ##f
-               }
-       }
-}
-
-\score{
-       \context Staff {
-                       \set Staff.instrumentName = "PartCombine with texts  "
-                       \partcombine \musicUp \musicDown
-       }
-       \layout{
-               indent = 6.0\cm
-               \context {
-                       \Voice
-                       printPartCombineTexts = ##t
-               }
-       }
-}
-
index 17bc15b9b3e609e930b081b8a1560ea6e53f0418..7877ee704b8fc7d8ef466bcbd5b383367acc8317 100644 (file)
@@ -15,15 +15,17 @@ database.)
 " }
 % begin verbatim
 #(define (compound-time one two num)
-  (markup #:override '(baseline-skip . 0) #:number 
-   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))
-
+  (markup #:override '(baseline-skip . 0) #:number
+   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))
+  ))
 
 \relative {
-  %% compound time signature hack
-  \time 5/8
+  % compound time signature hack
   \override Staff.TimeSignature #'stencil = #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8" )
+  \override Staff.TimeSignature #'text = #( compound-time "2" "3" "8" )
+  \time 5/8
   #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
-  c8 d e fis gis | c fis, gis e d | c8 d e4  gis8
+  c8 d e fis gis |
+  c fis, gis e d |
+  c8 d e4  gis8
 }
index 6783d4a8b2650975645c12942175e1af22bf3a7f..1821f37809553c5ee19163ff3b1118679b718908 100644 (file)
@@ -5,19 +5,17 @@
 \header {
   lsrtags = "expressive-marks"
  texidoc = "
-Use a glissando without final note. Contemporary glissando !
+Use a glissando without final note. Contemporary glissando!
 " }
 % begin verbatim
 \relative c'' {
-    \override Glissando #'style = #'zigzag
-     \time 3/4
-     c4 c
-        \cadenzaOn  c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
-        \bar "|"
-        }
+  \time 3/4
+  \override Glissando #'style = #'zigzag
+  c4 c
+  \cadenzaOn  c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
+  \bar "|"
+}
 
 \addlyrics { Use cadenzaOn glissando hideNotes }
-\addlyrics { unHideNotes cadenzaOff, skip_and_\bar \skip 4  }
-\layout{raggedright = ##t}
-\header { tagline="" }
+\addlyrics { unHideNotes cadenzaOff, skip_and_\bar \skip 4 }
 
index 0205e5c88f399615378e065388e1316ac9ec551d..0e9125fcdd7cab8bc1f1d434cf85df66808142b5 100644 (file)
@@ -2,8 +2,9 @@ creating-blank-staves.ly
 chant-or-psalms-notation.ly
 adding-and-extra-staff-at-a-line-break.ly
 adding-an-extra-staff.ly
-vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
 changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
 engravers-one-by-one.ly
 adding-a-figured-bass-above-or-below-the-notes.ly
+vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
 nesting-staves.ly
index 34b4f2eb785299b72a3270aa61aa27aed593ef05..da93b64dc3aa9efcc8053d27ddd97e502ce44947 100644 (file)
@@ -5,41 +5,38 @@
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
  texidoc = "
-The <code>\\startTextSpan</code> and <code>\\stopTextSpan</code>
-commands give you the ability to create text spanners as easily as
-pedals indications or octavations. Override some properties of the
-<code>TextSpanner</code> object to modify its output.
+The @code{\\startTextSpan} and @code{\\stopTextSpan} commands give you
+the ability to create text spanners as easily as pedal indications or
+octavations. Override some properties of the @code{TextSpanner} object
+to modify its output.
 " }
 % begin verbatim
-\relative c''{
-    \override TextSpanner  #'edge-text = #'("bla" . "blu")
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-
-    \override TextSpanner  #'dash-period = #2
-    \override TextSpanner  #'dash-fraction = #0.0
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-
-    \revert TextSpanner #'style
-    \override TextSpanner  #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
+\relative c'' {
+  \override TextSpanner  #'edge-text = #'("bla" . "blu")
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  
+  \override TextSpanner  #'dash-period = #2
+  \override TextSpanner  #'dash-fraction = #0.0
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  
+  \revert TextSpanner #'style
+  \override TextSpanner  #'style = #'dashed-line \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) }
  \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'(0 . -2) }
 
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-
-
-    \set Staff.middleCPosition = #-13
-
-    \override TextSpanner  #'dash-period = #10
-    \override TextSpanner  #'dash-fraction = #.5
-    \override TextSpanner  #'thickness = #10
-    a \startTextSpan
-    b c 
-    a \stopTextSpan
-    \set Staff.middleCPosition = #-6   
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  
+  \set Staff.middleCPosition = #-13
+  \override TextSpanner  #'dash-period = #10
+  \override TextSpanner  #'dash-fraction = #0.5
+  \override TextSpanner  #'thickness = #10
+  a \startTextSpan
+  b c
+  a \stopTextSpan
+  \set Staff.middleCPosition = #-6
 }
-
diff --git a/input/lsr/display-bracket-with-only-one-staff-in-a-system.ly b/input/lsr/display-bracket-with-only-one-staff-in-a-system.ly
new file mode 100644 (file)
index 0000000..b9b7d27
--- /dev/null
@@ -0,0 +1,55 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "staff-notation, tweaks-and-overrides"
+ texidoc = "
+If there is only one staff in one of the staff types @code{ChoirStaff},
+@code{InnerChoirStaff}, @code{InnerStaffGroup} or @code{StaffGroup},
+the bracket and the starting bar line will not be displayed as standard
+behaviour. This can be changed with:
+
+
+@code{\\override [staffcontext].SystemStartBracket #'collapse-height =
+#1}
+ and
+
+@code{\\override [staffcontext].SystemStartBar #'collapse-height = #1}
+
+
+This applies to all staff contexts with
+@code{systemStartDelimiter}-property set to @code{'SystemStartBracket}.
+
+
+
+For staff contexts with @code{'SystemStartBrace}, such as
+@code{PianoStaff}, this tweaking can be used as well.
+
+
+
+" }
+% begin verbatim
+\score {
+\new StaffGroup <<
+   % Must be lower than your actual amount off staff lines
+   \override StaffGroup.SystemStartBracket #'collapse-height = #1
+   \override Score.SystemStartBar #'collapse-height = #1
+   \new Staff {
+     c'4 d' e' f'
+   }
+ >>
+ }
+ {
+ \new PianoStaff <<
+   \override PianoStaff.SystemStartBrace #'collapse-height = #1
+   \override Score.SystemStartBar #'collapse-height = #1
+   \new Staff {
+     c'4 d' e' f'
+   }
+ >>
+  } 
+  \layout { 
+    ragged-right = ##t 
+    indent = 0\cm
+  }
index b276b55f7252f512f004927ef97a28b41b66d5c3..3600f47a4b164b64db86f5c7e0aaf0330a2a6779 100644 (file)
@@ -1,4 +1,6 @@
 creating-blank-staves.ly
+making-some-staff-lines-thicker-than-the-others.ly
+changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
 default-direction-of-stems-on-the-center-line-of-the-staff.ly
 changing-a-single-notes-size-in-a-chord.ly
 grid-lines-emphasizing-rhythms-and-notes-synchronization.ly
index 9b2185ce1e538d1aa2e4890f92f4f784829920e9..58781733e66a41d9decf1e1b42df3f2b14d30816 100644 (file)
@@ -8,7 +8,7 @@
 Ties may be engraved manually by changing the @code{tie-configuration}
 property of the @code{TieColumn} object. The first number indicates the
 distance from the center of the staff in staff-spaces, and the second
-number indicates the direction (1=up, -1=down).
+number indicates the direction (1 = up, -1 = down).
 " }
 % begin verbatim
 \relative c' {
index 667acf3fb10239d806fd8bf87ee7cac0a928d07b..373a93547308fb47593d0ae47f05d287bee4951e 100644 (file)
@@ -18,10 +18,8 @@ marks, but from the letter or number you want.
   c1 \mark \default
   c1 \mark \default
   c1 \mark \default
-
-\break
-
-  \set Score.markFormatter = #format-mark-numbers 
+  \break
+  \set Score.markFormatter = #format-mark-numbers
   c1 \mark #1
   c1 \mark \default
   c1 \mark \default
index 32ee2eb564d9d447cd788b7d9cd1ee0107ffb8a9..c06315257cb1efd25d5a385c8c7d8be749b6514a 100644 (file)
@@ -5,12 +5,12 @@
 \header {
   lsrtags = "rhythms, percussion"
  texidoc = "
-Though the set-time-signature thing was not the most essential here, it
-has been included to show the beat of this piece (which is a template
-of a real balkan song!).
+Though the polymetric time signature shown was not the most essential
+item here, it has been included to show the beat of this piece (which
+is the template of a real Balkan song!).
 " }
 % begin verbatim
-#(define (compound-time one two three four five six seven eight nine ten
+#(define (set-time-signature one two three four five six seven eight nine ten
 eleven num)
  (markup #:override '(baseline-skip . 0) #:number
   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))
@@ -26,7 +26,7 @@ melody =
        \set Staff.instrumentName = "Bb Sop."
        \key g \major \time 25/8
      \override Staff.TimeSignature #'stencil = #ly:text-interface::print
- \override Staff.TimeSignature #'text = #(compound-time "3" "2" "2" "3"
+ \override Staff.TimeSignature #'text = #(set-time-signature "3" "2" "2" "3"
 "2" "2" "2" "2 " "3" "2" "2" "8" )
        \set Staff.beatGrouping = #'(3 2 2 3 2 2 2 2 3 2 2)
        #(override-auto-beam-setting '(end * * 25 8) 3 8)
index 260ee09d67e09f605f010c19045bd3edd22faabc..dd315c926bcfdc04b8eb4076d4bc9cf57b69ae9c 100644 (file)
@@ -5,32 +5,30 @@
 \header {
   lsrtags = "staff-notation"
  texidoc = "
-The \\markup command is quite versatile. In this snippet, it contains a
-\\score bloc instead of texts or marks.
+The @code{\\markup} command is quite versatile. In this snippet, it
+contains a @code{\\score} block instead of texts or marks.
 " }
 % begin verbatim
 tuning = \markup {
-    \score {
-       \new Staff \with {
-           \remove Time_signature_engraver
-       } {
-           \clef bass  <c, g, d g>1
-       }
-       \layout { ragged-right = ##t }
+  \score {
+    \new Staff \with { \remove Time_signature_engraver }
+    {
+      \clef bass  <c, g, d g>1
     }
+    \layout { ragged-right = ##t }
+  }
 }
 
-
 \header {
-    title = "Solo Cello Suites"
-    subtitle = "Suite IV"
-    subsubtitle = \markup { "Originalstimmung:" \tuning }
+  title = "Solo Cello Suites"
+  subtitle = "Suite IV"
+  subsubtitle = \markup { "Originalstimmung:" \general-align #Y #CENTER \tuning }
 }
 
 \relative {
-    \time 4/8
-    \times 2/3 { c'8 d e } \times 2/3 {c d e}
-    \times 2/3 { c8 d e } \times 2/3 {c d e}
-    g8 a8 g8 a 
-    g8 a8 g8 a 
+  \time 4/8
+  \times 2/3 { c'8 d e } \times 2/3 { c d e }
+  \times 2/3 { c8 d e } \times 2/3 { c d e }
+  g8 a8 g8 a
+  g8 a8 g8 a
 }
diff --git a/input/lsr/making-some-staff-lines-thicker-than-the-others.ly b/input/lsr/making-some-staff-lines-thicker-than-the-others.ly
new file mode 100644 (file)
index 0000000..26b89af
--- /dev/null
@@ -0,0 +1,20 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "staff-notation, editorial-and-educational-use"
+ texidoc = "
+For pedagogical purposes, you may want to make one staff line thicker
+(e.g. the middle line, to emphasize the line of the G clef). This can
+be achieved by adding extra lines very close to the line you want to
+make thicker, using the #'line-positions property in the StaffSymbol
+context.
+" }
+% begin verbatim
+\score {
+     \new Staff{
+     \override Staff.StaffSymbol #'line-positions =#'(-4 -2 -0.2 0 0.2 2 4 )
+         d'4 e' f' g'
+     }
+}
index a57f8575b2420d93ceff9d19241ffbe92ffca46c..442c172727dcb3e7034e20a593908c97355b9d1f 100644 (file)
@@ -13,11 +13,12 @@ Beam positions may be controlled manually, by overriding the
 " }
 % begin verbatim
 \relative c {
+  \time 2/4
   % from upper staffline (position 4) to centre (position 0)
   \override Beam  #'positions = #'(2 . 0)
-  c'8[ c]
+  c'8 c
   % from centre to one above centre (position 2)
   \override Beam  #'positions = #'(0 . 1)
-  c[ c]
+  c c
 }
 
diff --git a/input/lsr/mensurstriche-layout-bar-lines-between-the-staves.ly b/input/lsr/mensurstriche-layout-bar-lines-between-the-staves.ly
new file mode 100644 (file)
index 0000000..70a055c
--- /dev/null
@@ -0,0 +1,23 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+  lsrtags = "staff-notation, ancient-notation, contexts-and-engravers, tweaks-and-overrides"
+ texidoc = "
+The mensurstriche-layout where the bar lines do not show on the staves
+but between staves can be achieved with a @code{StaffGroup} instead of
+a @code{ChoirStaff}. The bar line on staves is blanked out with an
+@code{\\override} command.
+" }
+% begin verbatim
+global = {\override Staff.BarLine #'transparent = ##t
+          s1 s
+          %the final bar line is not interupted
+          \once \override Staff.BarLine #'transparent = ##f
+          \bar "|."}
+\new StaffGroup
+\relative c'' <<
+  \new Staff {<< \global { c1 c } >>}
+  \new Staff {<< \global { c c } >>}
+>>
index b43cfc9ee3f9fd9c360f5849fbeddb86e832e634..1c96371b25ad640992739052c2c0c9070d1b841d 100644 (file)
@@ -16,22 +16,16 @@ modify what material they cover.
 " }
 % begin verbatim
 \new RhythmicStaff {
-
-      % Set tuplets to be extendable ..
-
-   \set tupletFullLength = ##t
-
-      % .. to cover all items up to the next note
-
-   \set tupletFullLengthNote = ##t
-   \time 2/4
-   \times 2/3 { c4 c c }
-
-      % .. or to cover just whitespace
-
-   \set tupletFullLengthNote = ##f
-   \time 4/4
-   \times 4/5 { c4 c1 }
-   \time 3/4
-   c4
+  % Set tuplets to be extendable...
+  \set tupletFullLength = ##t
+  % ...to cover all items up to the next note
+  \set tupletFullLengthNote = ##t
+  \time 2/4
+  \times 2/3 { c4 c c }
+  % ...or to cover just whitespace
+  \set tupletFullLengthNote = ##f
+  \time 4/4
+  \times 4/5 { c4 c1 }
+  \time 3/4
+  c4
 }
index 6ca79966d4727dad368bed7a7d806a8edb67ea9f..0a003cad0be8bf1e6265d3053ad982c26510d875 100644 (file)
@@ -10,20 +10,20 @@ may be permitted to within a beamed tuplet. Note that such off-beat
 tuplets have to be beamed manually.
 " }
 % begin verbatim
-\relative c'' {
- a8
- \repeat unfold 8 {\times 2/3 { c[ b a]}}
- % Insert a manual line break within a tuplet
- \times 2/3 { c[ b \bar "" \break a]}
- \repeat unfold 2 {\times 2/3 { c[ b a]}}
- c8
-}
 \layout {
- \context {
-   \Voice
-   % Permit line breaks within tuplets
-   \remove "Forbid_line_break_engraver"
-   % Allow beams to be broken at line breaks
-   \override Beam #'breakable = ##t
- }
+  \context {
+    \Voice
+    % Permit line breaks within tuplets
+    \remove "Forbid_line_break_engraver"
+    % Allow beams to be broken at line breaks
+    \override Beam #'breakable = ##t
+  }
+}
+\relative c'' {
+  a8
+  \repeat unfold 8 { \times 2/3 { c[ b a] } }
+  % Insert a manual line break within a tuplet
+  \times 2/3 { c[ b \bar "" \break a] }
+  \repeat unfold 2 { \times 2/3 { c[ b a] } }
+  c8
 }
index 782e12aa24fc04504f807a199a0c0cc7633948f7..65c27418837877120b2c38a42e0c49524bc5c4b9 100644 (file)
   lsrtags = "rhythms, percussion"
  texidoc = "
 In the following snippet, two parts have a completely different time
-signature, and yet keep synchronized. This can be achieved with the
-@code{\\compressMusic} command, as demonstrated here. The barlines
-can't be printed at the @code{Score} level anymore, so you have to
-remove the @code{Barline_engraver} and put it in the @code{Staff}
-context. 
+signature, yet remain synchronized. The barlines can't be printed at
+the @code{Score} level anymore, so you have to remove the
+@code{Barline_engraver} and put it in the @code{Staff} context. 
 " }
 % begin verbatim
 % Thanks to Adam James Wilson for this snippet
 
 \paper {
-       indent = #0
-       ragged-right = ##t
+  indent = #0
+  ragged-right = ##t
 }
 
-global = { \time 3/4 { s2. * 3 } \bar "" \break { s2. * 3 }}
+global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } }
 
 \layout {
-       \context { \Score
-               \remove "Timing_translator"
-               \remove "Time_signature_engraver"
-               \remove "Default_bar_line_engraver"
-               \override SpacingSpanner #'uniform-stretching = ##t
-               \override SpacingSpanner #'strict-note-spacing = ##t
-               proportionalNotationDuration = #(ly:make-moment 1 64)
-       }
-       \context { \Staff
-               \consists "Timing_translator"
-               \consists "Default_bar_line_engraver"
-               \consists "Time_signature_engraver"
-       }
-       \context { \Voice
-               \remove Forbid_line_break_engraver
-               tupletFullLength = ##t
-       }
+  \context {
+    \Score
+    \remove "Timing_translator"
+    \remove "Time_signature_engraver"
+    \remove "Default_bar_line_engraver"
+    \override SpacingSpanner #'uniform-stretching = ##t
+    \override SpacingSpanner #'strict-note-spacing = ##t
+    proportionalNotationDuration = #(ly:make-moment 1 64)
+  }
+  \context {
+    \Staff
+    \consists "Timing_translator"
+    \consists "Default_bar_line_engraver"
+    \consists "Time_signature_engraver"
+  }
+  \context {
+    \Voice
+    \remove "Forbid_line_break_engraver"
+    tupletFullLength = ##t
+  }
 }
 
-
-Bassklarinette =        \new Staff <<
-               \global
-               {
-               \bar "|"
-               \clef treble
-               \time 3/8
-               d''4.
-
-               \bar "|"
-               \time 3/4
-               r8 des''2( c''8)
-
-               \bar "|"
-               \time 7/8
-               r4. ees''2 ~
-
-               \bar "|"
-               \time 2/4
-               \tupletUp
-               \times 2/3 {ees''4 r4 d''4 ~}
-
-               \bar "|"
-               \time 3/8
-               \tupletUp
-               \times 3/4 {d''4 r4}
-
-               \bar "|"
-               \time 2/4
-               e''2
-
-               \bar "|"
-               \time 3/8
-       es''4.
-\bar "|"
-\time 3/4
-r8 d''2 r8
-\bar "|"
-               }
-       >>
-Perkussion =    \new StaffGroup <<
-               \new Staff <<
-                       \global
-                       {
-                       \bar "|"
-                       \clef percussion
-                       \time 3/4
-                       r4 c'2 ~
-
-                       \bar "|"
-                       c'2.
-
-                       \bar "|"
-                       R2.
-
-                       \bar "|"
-                       r2 g'4 ~
-
-                       \bar "|"
-                       g'2. ~
-
-                       \bar "|"
-                       g'2.
-                       }
-               >>
-               \new Staff <<
-                       \global
-                       {
-                       \bar "|"
-                       \clef percussion
-                       \time 3/4
-                       R2.
-
-                       \bar "|"
-                       g'2. ~
-
-                       \bar "|"
-                       g'2.
-
-                       \bar "|"
-                       r4 g'2 ~
-
-                       \bar "|"
-                       g'2 r4
-
-                       \bar "|"
-                       g'2.
-                       }
-               >>
-       >>
-
-\score { <<  \Bassklarinette \Perkussion >>
-
+Bassklarinette = \new Staff <<
+  \global {
+    \bar "|"
+    \clef treble
+    \time 3/8
+    d''4.
+    
+    \bar "|"
+    \time 3/4
+    r8 des''2( c''8)
+    
+    \bar "|"
+    \time 7/8
+    r4. ees''2 ~
+    
+    \bar "|"
+    \time 2/4
+    \tupletUp
+    \times 2/3 { ees''4 r4 d''4 ~ }
+    
+    \bar "|"
+    \time 3/8
+    \tupletUp
+    \times 3/4 { d''4 r4 }
+    
+    \bar "|"
+    \time 2/4
+    e''2
+    
+    \bar "|"
+    \time 3/8
+    es''4.
+    
+    \bar "|"
+    \time 3/4
+    r8 d''2 r8
+    \bar "|"
+  }
+>>
+
+Perkussion = \new StaffGroup <<
+  \new Staff <<
+    \global {
+      \bar "|"
+      \clef percussion
+      \time 3/4
+      r4 c'2 ~
+      
+      \bar "|"
+      c'2.
+      
+      \bar "|"
+      R2.
+      
+      \bar "|"
+      r2 g'4 ~
+      
+      \bar "|"
+      g'2. ~
+      
+      \bar "|"
+      g'2.
+    }
+  >>
+  \new Staff <<
+    \global {
+      \bar "|"
+      \clef percussion
+      \time 3/4
+      R2.
+      
+      \bar "|"
+      g'2. ~
+      
+      \bar "|"
+      g'2.
+      
+      \bar "|"
+      r4 g'2 ~
+      
+      \bar "|"
+      g'2 r4
+      
+      \bar "|"
+      g'2.
+    }
+  >>
+>>
+
+\score {
+  <<  \Bassklarinette \Perkussion >>
 }
-
index 1b1e6f3868b4a7bcf8681c8d73c66ceebb71b978..b888a0952d7711fca163738a9766771f0a615280 100644 (file)
@@ -7,12 +7,10 @@
  texidoc = "
 Although you can't use @code{s} in @code{\\lyricmode} (it's taken to be
 a literal \"s\", not a space) you can use either @code{\"\"} or
-@code{_} .So for example: 
+@code{_}So for example: 
 " }
 % begin verbatim
-<< 
+<<
   \relative c'' { a4 b c d }
-  \new Lyrics \lyricmode { a4 _2 gap4 }
+  \new Lyrics \lyricmode { a4 "" _ gap }
 >>
-
-
index 72f0b3a74e931a613bcda1a4c2bccaf88bc7d383..eceb129d3bbfb5da62033ebef068e06d9c6e7ce6 100644 (file)
@@ -1,8 +1,10 @@
 creating-blank-staves.ly
 time-signature-in-parentheses.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
 adding-and-extra-staff-at-a-line-break.ly
 changing-the-number-of-lines-in-a-staff.ly
 incipit.ly
+display-bracket-with-only-one-staff-in-a-system.ly
 inserting-score-fragments-above-the-staff,-as-markups.ly
 adding-an-extra-staff.ly
 changing-the-staff-size.ly
@@ -11,5 +13,6 @@ adding-ambiti-per-voice.ly
 clefs-commonly-tweaked-properties.ly
 quoting-another-voice.ly
 volta-multi-staff.ly
-non-traditional-key-signatures.ly
 nesting-staves.ly
+non-traditional-key-signatures.ly
+making-some-staff-lines-thicker-than-the-others.ly
index 102c02b0fdcb91fd5da6f6b0284f939ebca5a494..19f72681aef252d534fe1ffbd02807b875c10d7c 100644 (file)
@@ -42,7 +42,7 @@ thickness and padding around the markup."
 
 % Test it:
 
-\relative c'{ 
-  c2^\markup{ \NWS-box ABCD }
-  c^\markup{\NWS-box \note #"4" #1.0 } 
+\relative c' 
+  c2^\markup { \NWS-box ABCD }
+  c^\markup { \NWS-box \note #"4" #1.0 } 
 }
index d0dca8d4dde43b0a77ed35cc61512db029e2bf92..3598567b3e5e2b0f19a962f73adac29b8f205572 100644 (file)
@@ -1,27 +1,29 @@
-altering-the-number-of-stems-in-a-beam.ly
+display-bracket-with-only-one-staff-in-a-system.ly
 time-signature-in-parentheses.ly
-vertically-centered-dynamics-and-textscripts.ly
-proportional-strict-notespacing.ly
 changing-the-default-text-font-family.ly
-transcription-of-ancient-music-with-incipit.ly
-alignment-vertical-spacing.ly
+drawing-boxes-around-grobs.ly
 manually-controlling-beam-positions.ly
 custodes.ly
-drawing-boxes-around-grobs.ly
 move-specific-text.ly
-drawing-circles-around-various-objects.ly
-making-an-object-invisible-with-the-transparent-property.ly
 rest-styles.ly
-creating-text-spanners.ly
 using-the--tweak-command-to-tweak-individual-grobs.ly
 controlling-tuplet-bracket-visibility.ly
 positioning-multi--measure-rests.ly
-caesura-railtracks-with-fermata.ly
-changing-form-of-multi--measure-rests.ly
-rhythmic-slashes.ly
 changing-the-staff-size.ly
-changing-a-single-notes-size-in-a-chord.ly
 clefs-commonly-tweaked-properties.ly
 vertically-aligning-ossias-and-lyrics.ly
 changing-properties-for-individual-grobs.ly
+altering-the-number-of-stems-in-a-beam.ly
+mensurstriche-layout-bar-lines-between-the-staves.ly
+vertically-centered-dynamics-and-textscripts.ly
+proportional-strict-notespacing.ly
+making-an-object-invisible-with-the-transparent-property.ly
+transcription-of-ancient-music-with-incipit.ly
+alignment-vertical-spacing.ly
+drawing-circles-around-various-objects.ly
+creating-text-spanners.ly
+caesura-railtracks-with-fermata.ly
+changing-form-of-multi--measure-rests.ly
+rhythmic-slashes.ly
+changing-a-single-notes-size-in-a-chord.ly
 nesting-staves.ly
index efb283cfc18588262bf6f3fce32839a8baf4724f..2265e249c29ff6f8d926c8b738c55a29154b88ca 100644 (file)
@@ -14,7 +14,7 @@
 #endif
 
 #include <libguile.h>
-
+#include <string.h>
 
 /*
   Hack for various MacOS incarnations.
index fe31d6590fb03a461ce5160616726169996cb745..d8f31a45abca49b5655b91bf32bf3e115729ce3a 100644 (file)
@@ -10,6 +10,7 @@
 #include <cstdio>
 using namespace std;
 
+#include <string.h>
 #include "std-string.hh"
 #include "lily-proto.hh"
 
index 141ae8e3af4a1312f039d319592e89b57c3e4084..faa078fdf24c2063ac87a1a3940d21ce83334921 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "translator.icc"
 
+#include <string.h>
 
 /*
   TODO:
index 54bb6681bf588d992dc0c5faf19487f46f9a1fb6..7cae78ebb11726d36116ca26c1c55d0d196fddb6 100644 (file)
@@ -191,6 +191,14 @@ compressFullBarRests = {
   \set Score.skipBars = ##t
 }
 
+numericTimeSignature = {
+  \override Staff.TimeSignature #'style = #'()
+}
+
+defaultTimeSignature = {
+  \revert Staff.TimeSignature #'style
+}
+
 
 % For drawing vertical chord brackets with \arpeggio
 % This is a shorthand for the value of the print-function property 
index 28a795b0da9bc9f789f467934866aecb4cf16301..5458e90c202ba69e3fa74576cf108c1b19ae64df 100644 (file)
@@ -5,7 +5,6 @@ LANGS = $(shell $(PYTHON) $(buildscript-dir)/langdefs.py)
 DOCUMENTATION_INCLUDES = \
   -I $(top-src-dir)/Documentation/user \
   -I $(top-build-dir)/Documentation/user/$(outdir)
-DOCUMENTATION_INCLUDES += $(foreach lang,$(LANGS), -I $(top-build-dir)/Documentation/$(lang)/user/$(outdir))
 
 LILYPOND_BOOK_INCLUDES += $(DOCUMENTATION_INCLUDES)
 MAKEINFO_FLAGS += --force --enable-encoding -D 'version $(TOPLEVEL_VERSION)' $(DOCUMENTATION_INCLUDES)
index e6f12ba7b03d7ef295ea6db3258217caeba05560..6096bfb790c78d417a80faa58e18577bd08181d0 100644 (file)
@@ -37,9 +37,13 @@ LILYPOND_BOOK_FLAGS = $(LILYPOND_BOOK_VERBOSE) $(LILYPOND_BOOK_INFO_IMAGES_DIR)
 
 ifeq ($(out),)
 LILYPOND_BOOK_PROCESS = true
+LILYPOND_BOOK_FLAGS += --skip-lily-check
 else
 LILYPOND_BOOK_PROCESS = $(LILYPOND_BINARY)
 endif
+ifeq ($(out),test)
+LILYPOND_BOOK_FLAGS += --skip-png-check
+endif
 
 TEXINPUTS=$(top-src-dir)/tex/::
 export TEXINPUTS
index 862b5d8c4f70f5148c0a5b1899588b1859014c59..2ae8a6784f3ea480f3343d6539323fd79ec706d0 100644 (file)
@@ -859,9 +859,17 @@ class TextSpannerEvent (SpanEvent):
             1:'\\stopTextSpan'}.get (self.span_direction, '')
 
 class BracketSpannerEvent (SpanEvent):
+    # Ligature brackets use prefix-notation!!!
+    def print_before_note (self, printer):
+        if self.span_direction == -1:
+            printer.dump ('\[')
+    # the the bracket after the last note
+    def print_after_note (self, printer):
+        if self.span_direction == 1:
+            printer.dump ('\]')
+    # we're printing everything in print_(before|after)_note...
     def ly_expression (self):
-        return {-1: '\\startGroup',
-            1:'\\stopGroup'}.get (self.span_direction, '')
+        return '';
 
 
 class OctaveShiftEvent (SpanEvent):
index e24045f983147fa60d6508b40f690a03f2554f04..553bbed1ffe433c712cee93ffbccf80f249127ee 100644 (file)
@@ -146,6 +146,18 @@ def get_option_parser ():
                   action='store', dest='output_dir',
                   default='')
     
+    p.add_option ('--skip-lily-check',
+                  help=_ ("do not fail if no lilypond output is found."),
+                  metavar=_ ("DIR"),
+                  action='store_true', dest='skip_lilypond_run',
+                  default=False)
+
+    p.add_option ('--skip-png-check',
+                  help=_ ("do not fail if no PNG images are found for EPS files"),
+                  metavar=_ ("DIR"),
+                  action='store_true', dest='skip_png_check',
+                  default=False)
+    
     p.add_option ('--lily-output-dir',
                   help=_ ("write lily-XXX files to DIR, link into --output dir."),
                   metavar=_ ("DIR"),
@@ -1116,7 +1128,10 @@ class LilypondSnippet (Snippet):
         return re.sub (r'\\(version|sourcefileline|sourcefilename)[^\n]*\n', '', ly)
 
     def link_all_output_files (self, output_dir, output_dir_files, destination):
-        existing = self.all_output_files (output_dir, output_dir_files)
+        existing, missing = self.all_output_files (output_dir, output_dir_files)
+        if missing:
+            print '\nMissing', missing
+            raise CompileError(self.basename())
         for name in existing:
             try:
                 os.unlink (os.path.join (destination, name))
@@ -1133,61 +1148,64 @@ class LilypondSnippet (Snippet):
 
         output_dir_files is the list of files in the output directory.
         """
-        class Missing(Exception):
-            pass
-        
-        result = set()
+        result = set ()
+        missing = set ()
         base = self.basename()
         full = os.path.join (output_dir, base)
         def consider_file (name):
             if name in output_dir_files:
                 result.add (name)
-
+             
         def require_file (name):
-            if name not in output_dir_files:
-                raise Missing
-            result.add (name)
-
-        try:
-            for required in [base + '.ly',
-                             base + '.txt',
-                             base + '-systems.count']:
-                require_file (required)
-
-            map (consider_file, [base + '.tex',
-                                 base + '.eps',
-                                 base + '.texidoc',
-                                 base + '-systems.texi',
-                                 base + '-systems.tex',
-                                 base + '-systems.pdftexi'])
-
-            if base + '.eps' in result and self.format in (HTML, TEXINFO):
-                page_count = ps_page_count (full + '.eps')
-                if page_count <= 1:
-                    require_file (base + '.png')
-                else:
-                    for page in range (1, page_count + 1):
-                        require_file (base + '-page%d.png' % page)
+            if name in output_dir_files:
+                result.add (name)
+            else:
+                missing.add (name)
+
+        # UGH - junk global_options
+        skip_lily = global_options.skip_lilypond_run
+        for required in [base + '.ly',
+                         base + '.txt']:
+            require_file (required)
+        if not skip_lily:
+            require_file (base + '-systems.count')
+
+        map (consider_file, [base + '.tex',
+                             base + '.eps',
+                             base + '.texidoc',
+                             base + '-systems.texi',
+                             base + '-systems.tex',
+                             base + '-systems.pdftexi'])
+
+        # UGH - junk global_options
+        if (base + '.eps' in result and self.format in (HTML, TEXINFO)
+            and not global_options.skip_png_check):
+            page_count = ps_page_count (full + '.eps')
+            if page_count <= 1:
+                require_file (base + '.png')
+            else:
+                for page in range (1, page_count + 1):
+                    require_file (base + '-page%d.png' % page)
 
+        system_count = 0
+        if not skip_lily and not missing:
             system_count = int(file (full + '-systems.count').read())
-            for number in range(1, system_count + 1):
-                systemfile = '%s-%d' % (base, number)
-                require_file (systemfile + '.eps')
-                consider_file (systemfile + '.pdf')
-        except Missing:
-            return None
+        for number in range(1, system_count + 1):
+            systemfile = '%s-%d' % (base, number)
+            require_file (systemfile + '.eps')
+            consider_file (systemfile + '.pdf')
         
-        return result
+        return (result, missing)
     
     def is_outdated (self, output_dir, current_files):
-        return self.all_output_files (output_dir, current_files) is None
+        found, missing = self.all_output_files (output_dir, current_files)
+        return missing
     
     def filter_text (self):
         """Run snippet bodies through a command (say: convert-ly).
 
         This functionality is rarely used, and this code must have bitrot.
         """
-        
         code = self.substring ('code')
         s = filter_pipe (code, global_options.filter_cmd)
         d = {
@@ -1378,7 +1396,7 @@ def find_linestarts (s):
 def find_toplevel_snippets (input_string, format, types):
     res = {}
     for t in types:
-        res[t] = ly.re.compile (snippet_res[format][t])
+        res[t] = re.compile (snippet_res[format][t])
 
     snippets = []
     index = 0
index 810b9108c6ef6102cae9b75b09a43e8aa561043d..6fb037092cb168dcfc46bd6f3f073cddb2bb1677 100644 (file)
@@ -39,10 +39,9 @@ global _;_=ly._
 
 output_name = ''
 LINE_BELL = 60
-scale_steps = [0,2,4,5,7,9,11]
+scale_steps = [0, 2, 4, 5, 7, 9, 11]
 global_options = None
 
-
 clocks_per_1 = 1536
 clocks_per_4 = 0
 
@@ -100,7 +99,6 @@ def strip_extension (f, ext):
     return p + e
 
 
-
 class Duration:
     allowed_durs = (1, 2, 4, 8, 16, 32, 64, 128)
     def __init__ (self, clocks):
index f808a8325b5a67655ac0cd3ffce223258a332150..a429b752510dbcb104937f080be03548f4493572 100644 (file)
@@ -727,15 +727,10 @@ def musicxml_barline_to_lily (barline):
 
     return retval.values ()
 
-# Brackets need a special engraver added the Staff context!
-def musicxml_bracket_to_ly ():
-    layout_information.set_context_item ('Staff', '\consists "Horizontal_bracket_engraver"  % for \\startGroup and \\stopGroup brackets')
-    return musicexp.BracketSpannerEvent ()
-
 spanner_event_dict = {
     'beam' : musicexp.BeamEvent,
     'dashes' : musicexp.TextSpannerEvent,
-    'bracket' : musicxml_bracket_to_ly,
+    'bracket' : musicexp.BracketSpannerEvent,
     'glissando' : musicexp.GlissandoEvent,
     'octave-shift' : musicexp.OctaveShiftEvent,
     'pedal' : musicexp.PedalEvent,
@@ -1653,7 +1648,13 @@ def musicxml_voice_to_lily_voice (voice):
                 ev = musicxml_spanner_to_lily_event (a)
                 if ev:
                     ev_chord.append (ev)
-                
+
+            # accidental-marks are direct children of <notation>!
+            for a in notations.get_named_children ('accidental-mark'):
+                ev = musicxml_articulation_to_lily_event (a)
+                if ev:
+                    ev_chord.append (ev)
+
             # Articulations can contain the following child elements:
             #         accent | strong-accent | staccato | tenuto |
             #         detached-legato | staccatissimo | spiccato |