]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Sat, 25 Jul 2009 19:18:51 +0000 (21:18 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Sat, 25 Jul 2009 19:18:51 +0000 (21:18 +0200)
Conflicts:
Documentation/fr/learning/introduction.itely
Documentation/fr/learning/tutorial.itely
Documentation/fr/learning/tweaks.itely
Documentation/fr/learning/working.itely
input/texidocs/chord-name-major7.texidoc
input/texidocs/chordchanges-for-fretboards.texidoc
input/texidocs/making-slurs-with-complex-dash-structure.texidoc
input/texidocs/non-default-tuplet-numbers.texidoc
input/texidocs/non-traditional-key-signatures.texidoc

18 files changed:
1  2 
Documentation/es/learning/scheme-tutorial.itely
Documentation/es/learning/tweaks.itely
Documentation/es/macros.itexi
Documentation/es/notation/input.itely
Documentation/es/notation/notation-appendices.itely
Documentation/es/texidocs/chord-name-major7.texidoc
Documentation/es/texidocs/chordchanges-for-fretboards.texidoc
Documentation/es/texidocs/making-slurs-with-complex-dash-structure.texidoc
Documentation/es/texidocs/non-default-tuplet-numbers.texidoc
Documentation/es/texidocs/non-traditional-key-signatures.texidoc
Documentation/fr/learning/introduction.itely
Documentation/fr/learning/tutorial.itely
Documentation/fr/learning/tweaks.itely
Documentation/fr/learning/working.itely
Documentation/snippets/chordchanges-for-fretboards.ly
Documentation/snippets/making-slurs-with-complex-dash-structure.ly
Documentation/snippets/non-default-tuplet-numbers.ly
Documentation/snippets/non-traditional-key-signatures.ly

index b827e9b778b618a4aa9745d8a9d7fbf45f4ac2ab,0000000000000000000000000000000000000000..3585d7c37cce1f23a5c9b8ef06e4ebf48ebde4bb
mode 100644,000000..100644
--- /dev/null
@@@ -1,345 -1,0 +1,345 @@@
-     Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 +
 +@ignore
++    Translation of GIT committish: 5f51567fbc5d7a811e147ebd01f103e066f36b3a
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +
 +@node Scheme tutorial
 +@appendix Scheme tutorial
 +
 +@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}.
 +
 +LilyPond utiliza la implementación GNU Guile de Scheme, que está
 +basada en el estándar @qq{R5RS} del lenguaje.  Si está aprendiendo
 +Scheme para usarlo con LilyPond, no se recomienda trabajar con una
 +implementación distinta (o que se refiera a un estándar diferente).
 +Hay información sobre Guile en
 +@uref{http://www.gnu.org/software/guile/}.  El estándar de Scheme
 +@qq{R5RS} se encuentra en
 +@uref{http://www.schemers.org/Documents/Standards/R5RS/}.
 +
 +La instalación de LilyPond inclute también la de la implementación
 +Guile de Scheme.  Sobre casi todos los sistemas puede experimentar en
 +una @qq{caja de arena} de Scheme abriendo una ventana del terminal y
 +tecleando @q{guile}.  En algunos sistemas, sobre todo en Windows,
 +podría necesitar ajustar la variable de entorno @code{GUILE_LOAD_PATH}
 +a la carpeta @code{../usr/shr/guile/1.8} dentro de la instalación de
 +LilyPond (para conocer la ruta completa a esta carpeta, consulte
 +@ref{Other sources of information}).  Como alternativa, los usuarios
 +de Windows pueden seleccionar simplemente @q{Ejecutar} del menú Inicio
 +e introducir @q{guile}.
 +
 +El concepto más básico de un lenguaje son sus tipos de 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
 +escriben 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
 +
 +Observe que los comentarios de LilyPond (@code{%} y @code{%@{ %@}}) no
 +se puedden utilizar dentro del código de Scheme.  Los comentarios en
 +el Scheme de Guile se introducen como sigue:
 +
 +@example
 +; esto es un comentario de una línea
 +
 +#!
 +  Esto es un comentario de bloque (no anidable) estilo Guile
 +  Pero se usan rara vez por parte de los Schemers y nunca dentro del
 +  código fuente de LilyPond
 +!#
 +@end example
 +
 +Se pueden combinar en un mismo archivo de música varias expresiones de
 +Scheme consecutivas mediante la utilización del operador @code{begin}.
 +Ello permite que el número de marcas de cuadradillo se redizca a una.
 +
 +@example
 +#(begin
 +  (define fulanito 0)
 +  (define menganito 1))
 +@end example
 +
 +Si el @code{#} va seguido de un paréntesis de apertura, @code{(}, como
 +en el ejemplo anterior, el analizador sintáctico permanece dentro del
 +modo de Scheme hasta que encuentra el paréntesis de cierre
 +correspondiente, @code{)}, por lo que no son necesarios más símbolos
 +de @code{#} para introducir una sección de Scheme.
 +
 +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óstrofo @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 instrucció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 entre 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{(primero . segundo)} y, como los símbolos, se deben
 +preceder de un apóstrofo:
 +
 +@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 espacios 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óstrofo.  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óstrofo @code{'}.  Así, para los
 +cálculos no usamos ningún apóstrofo.
 +
 +Dentro de una lista o pareja precedida de apóstrofo, no hay necesidad
 +de escribir ningún apóstrofo 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,
 +consulte el @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]
 +tempoPadded = #(define-music-function (parser location padding tempotext)
 +  (number? string?)
 +#{
 +  \once \override Score.MetronomeMark #'padding = $padding
 +  \tempo \markup { \bold $tempotext }
 +#})
 +
 +\relative c'' {
 +  \tempo \markup { "Low tempo" }
 +  c4 d e f g1
 +  \tempoPadded #4.0 #"High tempo"
 +  g4 f e d c1
 +}
 +@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
 +
index 8f0135222237fb0e35d4f564f47ae99589a86e2d,0000000000000000000000000000000000000000..9e2b47c5d064e135668e8062ccc5e9176304845e
mode 100644,000000..100644
--- /dev/null
@@@ -1,3884 -1,0 +1,3884 @@@
-     Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 +
 +@ignore
- Así pues, la instrucción @code{\override} que necesitamos para
- imprimir la letra en cursiva, es:
++    Translation of GIT committish: 5f51567fbc5d7a811e147ebd01f103e066f36b3a
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +@node Tweaking output
 +@chapter Tweaking output
 +
 +Este capítulo trata de cómo modificar la salida.  LilyPond es extremadamente
 +configurable; prácticamente todos los fragmentos de la salida se pueden cambiar.
 +
 +
 +@menu
 +* Tweaking basics::
 +* The Internals Reference manual::
 +* Appearance of objects::
 +* Placement of objects::
 +* Collisions of objects::
 +* Further tweaking::
 +@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 objeto
 +@cindex grob
 +@cindex objeto de extensión
 +@cindex interfaz
 +@cindex propiedades de objetos
 +@cindex objeto, propiedades de
 +@cindex layout (disposición), objeto de
 +@cindex objeto de disposición (layout)
 +
 +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 propiedades
 +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 y 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
 +una 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
 +
 +@cindex nomenclatura, convenciones de, para objetos
 +@cindex nomenclatura, convenciones de, para propiedades
 +@cindex objetos, convenciones de nomenclatura
 +@cindex propiedades, convenciones de nomenclatura
 +
 +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 @q{A} mayúscula para denotar cualquier carácter
 +alfabético en mayúsculas, y @q{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 Ejemplos
 +@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
 +
 +@cindex trucaje, métodos de
 +
 +@strong{La instrucción \override}
 +
 +@cindex override, instrucción
 +@cindex override (sobreescritura), sintaxis de
 +
 +@funindex \override
 +@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 otras instrucciones importantes.
 +
 +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 usado 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 @var{Contexto}.@var{ObjetoDePresentación}  #'@var{propiedad-de-presentación} =
 +#@var{valor}
 +@end example
 +
 +@noindent
 +Esto establecerá la propiedad de nombre
 +@var{propiedad-de-presentación} del objeto de presentación con el
 +nombre @var{ObjetoDePresentación}, que es miembro del contexto
 +@var{Contexto}, al valor @var{valor}.
 +
 +El @var{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
 +instrucciones 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:
 +
 +@cindex color, propiedad, ejemplo
 +@cindex NoteHead, ejemplo de sobreescritura
 +
 +@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
 +@funindex revert
 +
 +Una vez sobreescrita, la propiedad 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 @var{Contexto}.@var{ObjetoDePresentación} #'@var{propiedad-de-presentación}
 +@end example
 +
 +Una vez más, igual que @var{Contexto} dentro de la instrucción
 +@code{\override}, con frecuencia no es necesario especificar el
 +@var{Contexto}.  Se omitirá en muchos de los ejemplos siguientes.
 +Aquí devolvemos el color de la cabeza al valor predeterminado para las
 +dos últimas notas:
 +
 +@cindex color, propiedad, ejemplo
 +@cindex NoteHead, ejemplo de sobreescritura
 +
 +@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}
 +
 +@funindex \once
 +@funindex 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:
 +
 +@cindex color, propiedad, ejemplo
 +@cindex NoteHead, ejemplo de sobreescritura
 +
 +@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
 +@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
 +@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
 +cabeza de la nota intermedia (el Mi) en un acorde de Do mayor.  En
 +primer lugar, veamos lo que haría @code{\once \override}:
 +
 +@cindex font-size, propiedad, ejemplo
 +@cindex NoteHead, ejemplo de sobreescritura
 +
 +@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
 +cabezas de 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 objetos 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 flujo 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:
 +
 +@cindex font-size, propiedad, ejemplo
 +@cindex @code{\tweak}, ejemplo
 +
 +@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} no es igual que la de
 +@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.
 +Observe también que no debe haber un signo igual. Así que la sintaxis
 +genérica de la instrucción @code{\tweak} es, simplemente,
 +
 +@example
 +\tweak #'@var{propiedad-de-presentación} #@var{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í:
 +
 +@cindex color, propiedad, ejemplo
 +@cindex @code{\tweak}, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +a ^Black
 +  -\tweak #'color #red ^Red
 +  -\tweak #'color #green _Green
 +@end lilypond
 +
 +@noindent
 +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 corchete de tresillo
 +@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.
 +
 +@cindex @code{\tweak}, ejemplo
 +@cindex direction, propiedad, ejemplo
 +@cindex color, propiedad, ejemplo
 +
 +@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
 +
 +Si los grupos anidados no comienzan en el mismo momento, su apariencia
 +se puede modificar de la forma usual mediante instrucciones
 +@code{\override}:
 +
 +@cindex text, propiedad, ejemplo
 +@cindex tuplet-number, función, ejemplo
 +@cindex transparent, propiedad, ejemplo
 +@cindex TupletNumber, ejemplo de sobreescritura
 +
 +@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
 +
 +
 +@seealso
 +Referencia de la notación:
 +@ruser{The tweak command}.
 +
 +
 +@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
 +@cindex Referencia de funcionamiento interno
 +
 +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
 +@cindex @code{\addlyrics}, ejemplo
 +
 +
 +Utilicemos un ejemplo concreto con un sencillo fragmento de música
 +real:
 +
 +@lilypond[quote,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 en 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 those pages are not yet translated. FV
 +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 funcionamiento interno.  Este enlace le llevará
 +directamente a esta página, aunque si tiene una idea del nombre del
 +objeto de presentación que pretende trucar, le resultará 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í:
 +
 +@cindex Slur, ejemplo de sobreescritura
 +@cindex thickness, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    % Increase thickness of all following slurs from 1.2 to 5.0
 +    \override Slur #'thickness = #5.0
 +    r4 b8 b[( g]) g |
 +    g[( e]) e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond
 +
 +@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
 +@cindex contexto, buscar el, correcto
 +
 +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
 +@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 ningú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:
 +
 +@cindex Slur, ejemplo de sobreescritura
 +@cindex thickness, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    r4 b8
 +    % Increase thickness of immediately following slur only
 +    \once \override Slur #'thickness = #5.0
 +    b[( g]) g |
 +    g[( e]) e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond
 +
 +@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 revertir
 +@cindex predeterminadas, recuperar las propiedades
 +
 +@funindex \revert
 +@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:
 +
 +@cindex Slur, ejemplo de sobreescritura
 +@cindex thickness, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    r4 b8
 +    % Increase thickness of immediately following slur only
 +    \once \override Slur #'thickness = #5.0
 +    b[( g]) g |
 +    % Increase thickness of immediately following slur only
 +    \once \override Slur #'thickness = #5.0
 +    g[( e]) e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond
 +
 +@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:
 +
 +@cindex Slur, ejemplo de sobreescritura
 +@cindex thickness, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    r4 b8
 +    % Increase thickness of all following slurs from 1.2 to 5.0
 +    \override Slur #'thickness = #5.0
 +    b[( g]) g |
 +    g[( e])
 +    % Revert thickness of all following slurs to default of 1.2
 +    \revert Slur #'thickness
 +    e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond
 +
 +@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 quiere 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 interface
 +@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 controlar 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 presentació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 describe a LyricText.  Al final de
 +la página hay una lista de enlaces 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óstrofo, @code{'}.  Esa es la razón por la que se necesitan
 +apóstrofos 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 se utilizan como valores que se les puede dar
 +a las propiedades, como @code{italic}.  Observe la distinción entre
 +esto y las cadenas de texto arbitrarias, que aparecerían
 +entrecomilladas como @code{"a text string"}.  Para ver más detalles
 +relacionados con los símbolos y las cadenas, consulte @ref{Scheme
 +tutorial}.
 +
++Así pues, la instrucción @code{\override} necesaria para imprimir la
++letra en cursiva, es:
 +
 +@example
 +\override LyricText #'font-shape = #'italic
 +@end example
 +
 +@noindent
 +Esto debe escribirse justo delante de la letra a la que debe afectar,
 +de esta forma:
 +
 +@cindex font-shape, propiedad, ejemplo
 +@cindex italic, ejemplo
 +@cindex LyricText, ejemplo de sobreescritura
 +@cindex @code{\addlyrics}, ejemplo
 +
 +@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
 +@cindex letra, modo, especificar el contexto en
 +
 +En el caso de la letra, si intenta especificar el contexto en el
 +formato que acabamos de dar, la instrucción no funcionará.  Una
 +sílaba escrita en el modo letra, «lyricmode» termina 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.}
 +
 +
 +@seealso
 +Manual de aprendizaje:
 +@ref{Scheme tutorial}.
 +
 +
 +@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 (se permiten valores decimales entre -1 y 1)
 +  @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 valores separados por espacios, encerrado entre paréntesis y precedido de un apóstrofo
 +  @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óstrofo
 +  @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
 +@item Símbolo
 +  @tab Cualquiera del conjunto de símbolos permitidos para esa propiedad, precedido de un apóstrofo
 +  @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 apóstrofo-almohadilla, @code{'#}.
 +  @tab @code{'#(#t #t #f)}
 +@end multitable
 +
 +
 +@seealso
 +Manual de aprendizaje:
 +@ref{Scheme tutorial}.
 +
 +
 +@node Appearance of objects
 +@section Appearance of objects
 +
 +Ahora vamos a poner en práctica lo que hemos aprendido con unos
 +cuantos ejemplos que muestran cómo se pueden usar los trucos para
 +cambiar el aspecto de la música impresa.
 +
 +@menu
 +* Visibility and color of objects::
 +* Size of objects::
 +* Length and thickness of objects::
 +@end menu
 +
 +@node Visibility and color of objects
 +@subsection Visibility and color of objects
 +
 +Dentro de un uso educativo de la música, podríamos desear imprimir una
 +partitura con ciertos elementos omitidos como ejercicio para el
 +alumno, a quien se le pide que los complete.  A la manera de ejemplo
 +sencillo, supongamos que el ejercicio es escribir las líneas
 +divisorias que faltan en un fragmento musical.  Pero las líneas
 +divisorias normalmente se insertan automáticamente. ¿Cómo hacemos para
 +que no se impriman?
 +
 +Antes de enredarnos con esto, recordemos que las propiedades de los
 +objetos se agrupan en lo que hemos llamado @emph{interfaces} (véase
 +@ref{Properties found in interfaces}).  Esto es simplemente agrupar
 +las propiedades que se pueden usar juntas para trucar un objeto
 +gráfico: si una de ellas se necesita para un objeto, también las
 +otras.  Así, ciertos objetos usan las propiedades de algunos
 +interfaces, otros usan las de otros interfaces.  Los interfaces que
 +contienen las propiedades que un determinado grob necesita se
 +encuentran relacionadas en el manual RFI al final de la página que
 +describe dicho grob, y esas propiedades se pueden ver mirando dichos
 +interfaces.
 +
 +Hemos explicado cómo encontrar información sobre los grobs en
 +@ref{Properties of layout objects}.  Usando el mismo enfoque, vamos al
 +RFI para buscar el objeto de presentación que imprime las líneas
 +divisorias.  A través del enlace @emph{Backend} y @emph{All layout
 +objects} encontramos que hay un objeto de presentación llamado
 +@code{BarLine}.  Entre sus propiedades se encuentran dos que controlan
 +la visibilidad: @code{break-visibility} y @code{stencil}.  Las líneas
 +divisorias también contemplan un número de interfaces, entre ellos el
 +@code{grob-interface}, donde podemos encontrar las propiedades
 +@code{transparent} y @code{color}.  Todas ellas pueden afectar la
 +visibilidad de las barras de compás (y, por supuesto, por extensión,
 +también la de muchos otros objetos de presentación).  Vamos a
 +considerar cada uno de ellos por orden.
 +
 +@subheading stencil
 +
 +@cindex stencil (sello), propiedad
 +
 +Esta propiedad controla la apariencia de las barras de compás mediante
 +la especificación del símbolo (o «glifo») que se debe imprimir.  Igual
 +que como otras muchas propiedades, se puede establecer de forma que no
 +imprima nada ajustando su valor a @code{#f}.  Vamos a probarlo, como
 +antes, omitiendo el Contexto implícito, @code{Voice}:
 +
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex stencil, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override BarLine #'stencil = ##f
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Las barras de compás todavía se imprimen.  ¿Qué es lo que está mal?
 +Vuelva al RFI y mire de nuevo la página que ofrece las propiedades del
 +objeto BarLine.  Al principio de la página dice @qq{Barline objects
 +are created by: Bar_engraver} (los objetos Barline se crean por el
 +grabador Bar_engraver).  Vaya a la página del grabador
 +@code{Bar_engraver} siguiendo el enlace.  Al final da una lista de
 +contextos en los que el grabador de líneas divisorias opera.  Todos
 +ellos son del tipo @code{Staff}, y así la razón de que la instrucción
 +@code{\override} no funcionara como esperábamos, es porque
 +@code{Barline} no se encuentra en el contexto predeterminado
 +@code{Voice}.  Si el contexto no se especifica correctamente, la
 +instrucción simplemente no funciona.  No se produce ningún mensaje de
 +error, y no se registra nada en el archivo log de registro.  Vamos a
 +intentar corregirlo escribiendo el contexto correcto:
 +
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex stencil, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'stencil = ##f
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Ahora las barras de compás han desaparecido.
 +
 +Sin embargo, observe que el establecimiento de la propiedad
 +@code{stencil} al valor @code{#f} produce errores cuando las se
 +requieren las dimensiones del objeto para un procesamiento correcto.
 +Por ejemplo, se generan errores si la propiedad @code{stencil} del
 +objeto @code{NoteHead} se establece al valor @code{#f}.  Si es el
 +caso, podemos en vez de ello utilizar la función @code{point-stencil},
 +que establece el sello a un objeto con tamaño nulo:
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  c c
 +  \once \override NoteHead #'stencil = #point-stencil
 +  c c
 +}
 +@end lilypond
 +
 +@subheading break-visibility
 +
 +@cindex break-visibility, propiedad
 +
 +Vemos en las propiedades de @code{BarLine} que aparecen en el RFI que
 +la propiedad @code{break-visibility} requiere un vector de tres
 +valores booleanos.  Controlan respectivamente si las barras de compás
 +se imprimen al final de una línea, en mitad de una línea, y al
 +principio de las líneas.  Para nuestro ejemplo, queremos que todas las
 +barras de compás se supriman, por lo que el valor que necesitamos es
 +@code{'#(#f #f #f)}.  Vamos a probarlo, recordando incluir el contexto
 +de @code{Staff}.  Observe también que al escribir este valor tenemos
 +@code{#'#} antes del paréntesis de apertura.  Se necesita @code{'#}
 +como parte del valor para introducir un vector, y el primer símbolo de
 +almohadilla @code{#} se necesita, como siempre, para preceder el valor
 +en sí dentro de la instrucción @code{\override}.
 +
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex break-visibility, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Y podemos ver que esto también quita todas las líneas divisorias.
 +
 +@subheading transparent
 +
 +@cindex transparent, propiedad
 +@cindex transparencia
 +
 +En la relación de propiedades que se especifican en la página del
 +@code{grob-interface} del RFI podemos ver que la propiedad
 +@code{transparent} es un valor booleano.  Esto se debe establecer a
 +@code{#t} para hacer que el grob sea transparente.  En el ejemplo
 +siguiente vamos a hacer que la indicación de compás, y no las líneas
 +divisorias, sea transparente.  Para hacerlo tenemos que buscar el
 +nombre del grob de la indicación de compás.  Volviendo a la página
 +@q{All layout objects} del RFI, buscamos las propiedades del objeto de
 +presentación @code{TimeSignature}.  Se produce por parte del grabador
 +@code{Time_signature_engraver} que como puede comprobar vive dentro
 +del contexto de @code{Staff} y también contempla el interface
 +@code{grob-interface}.  Así pues, la instrucción que hace transparente
 +a la indicación de compás es:
 +
 +@cindex TimeSignature, ejemplo de sobreescritura
 +@cindex transparent, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.TimeSignature #'transparent = ##t
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +El compás ya no está, pero esta instrucción deja una separación en el
 +lugar donde antes estaba la indicación de compás.  Quizá esto es lo
 +que queremos para un ejercicio en que el alumno deba escribirlo, pero
 +en otras circunstancias esta separación podría no ser deseable.  En
 +vez de eso, para quitarla, el stencil o «sello» de la indicación de
 +compás se debe establecer al valor @code{#f}:
 +
 +@cindex TimeSignature, ejemplo de sobreescritura
 +@cindex stencil, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.TimeSignature #'stencil = ##f
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +y la diferencia es obvia: al establecer el sello al valor @code{#f}
 +quitamos el objeto por completo; al hacer el objeto @code{transparent}
 +lo dejamos donde está, pero lo hacemos invisible.
 +
 +@subheading color
 +
 +@cindex color, propiedad
 +
 +Para finalizar, intentemos hacer invisibles las barras de compás
 +pintándolas de color blanco (hay un problema relacionado, que consiste
 +en que la línea divisoria blanca puede tapar o no tapar las líneas del
 +pentagrama a las que cruza.  Podrá observar en algunos de los ejemplos
 +que aparecen a continuación, que esto sucede de forma impredecible.
 +Los detalles sobre por qué esto ocurre así, y cómo controlarlo, se
 +estudian en @ruser{Painting objects white}; de momento estamos
 +estudiando el color, por lo que le rogamos que acepte esta limitación
 +por ahora).
 +
 +El interface @code{grob-interface} especifica que la propiedad del
 +color es una lista, pero no hay ninguna explicación sobre lo que debe
 +ir en esa lista.  La lista que requiere es realmente una lista de
 +valores en unidades internas, pero para evitar tener que saber cuáles
 +son, se ofrecen varias vías para la especificación de los colores.  La
 +primera forma es utilizar uno de los colores @q{normales} que están
 +relacionados en la primera tabla de la @ruser{List of colors}.  Para
 +poner las líneas divisorias de color blanco, escribimos:
 +
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex color, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'color = #white
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +y de nuevo podemos comprobar que las barras de compás no son visibles.
 +Observe que @emph{white} no viene precedido de un apóstrofo: no es un
 +símbolo, sino una @emph{función}.  Cuando se invoca, proporciona la
 +lista de valores internos que se requieren para establecer el color a
 +blanco.  Los otros colores de la lista normal también son funciones.
 +Para convencerse de que esto funciona, quizá quiera cambiar el color a
 +una de las otras funciones de la lista.
 +
 +@cindex colores de X11
 +@cindex X11, colores de
 +
 +@funindex x11-color
 +
 +La segunda forma de cambiar el color es utilizar la lista de nombres
 +de colores de X11 que aparecen en la segunda lista de @ruser{List of
 +colors}.  Sin embargo, éstos deben ir precedidos de otra función, que
 +convierte los nombres de colores de X11 en la lista de valores
 +internos, @code{x11-color}, de la siguiente manera:
 +
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex color, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'color = #(x11-color 'white)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +Observe que en este caso la función @code{x11-color} toma un símbolo
 +como argumento, así que el símbolo debe ir precedido de un apóstrofo y
 +los dos deben ir entre paréntesis.
 +
 +@cindex rgb, colores
 +@cindex color, rgb
 +
 +@funindex rgb-color
 +
 +Aún hay una tercera función, que convierte valores RGB en colores
 +internos: la función @code{rgb-color}.  Toma tres argumentos que dan
 +las intensidades de rojo, verde y azul.  Cada uno de ellos puede tomar
 +valores entre 0 y 1.  Por lo tanto, para establecer el color a rojo el
 +valor debe ser @code{(rgb-color 1 0 0)} y para blanco debe ser
 +@code{(rgb-color 1 1 1)}:
 +
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex color, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'color = #(rgb-color 1 1 1)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Finalmente, existe también una escala de grises como parte del
 +conjunto de colores de X11.  Varían desde el negro, @code{'grey0'},
 +hasta el blanco, @code{'grey100}, en pasos de 1.  Vamos a ilustrar esto
 +estableciendo todos los objetos de presentación de nuestro ejemplo a
 +varias gradaciones de gris:
 +
 +@cindex StaffSymbol, ejemplo de sobreescritura
 +@cindex TimeSignature, ejemplo de sobreescritura
 +@cindex Clef, ejemplo de sobreescritura
 +@cindex NoteHead, ejemplo de sobreescritura
 +@cindex Stem, ejemplo de sobreescritura
 +@cindex BarLine, ejemplo de sobreescritura
 +@cindex color property, ejemplo
 +@cindex x11-color, ejemplo de utilización
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
 +  \override Staff.TimeSignature #'color = #(x11-color 'grey60)
 +  \override Staff.Clef          #'color = #(x11-color 'grey60)
 +  \override Voice.NoteHead      #'color = #(x11-color 'grey85)
 +  \override Voice.Stem          #'color = #(x11-color 'grey85)
 +  \override Staff.BarLine       #'color = #(x11-color 'grey10)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +Observe los contextos asociados con cada uno de los objetos de
 +presentación.  Es importante que estén correctamente escritos, o las
 +instrucciones ¡no funcionarán!  Recuerde que el contexto es aquel en
 +que se encuentra el grabador correspondiente.  El contesto
 +predeterminado para los grabadores puede encontrarse empezando por el
 +objeto de presentación, de ahí al grabador que lo produce, y en la
 +página del grabador del RFI aparece en qué contexto se puede encontrar
 +normalmente el grabador.
 +
 +
 +@node Size of objects
 +@subsection Size of objects
 +
 +@cindex cambiar el tamaño de los objetos
 +@cindex tamaño de los objetos
 +@cindex objetos, tamaño de
 +@cindex objetos, cambiar el tamaño de
 +
 +Empezaremos examinando de nuevo un ejemplo anterior (véase
 +@ref{Nesting music expressions}) que nos mostraba cómo introducir un
 +pentagrama temporal, como en un @rglos{ossia}.
 +
 +@cindex alignAboveContext, propiedad, ejemplo
 +@cindex @code{\with}, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +       \relative g' {
 +         r4 g8 g c4 c8 d |
 +         e4 r8
 +         <<
 +           { f c c }
 +           \new Staff \with {
 +             alignAboveContext = #"main" }
 +           { f8 f c }
 +         >>
 +         r4 |
 +       }
 +     }
 +@end lilypond
 +
 +Los fragmentos de Ossia se escriben normalmente sin clave ni compás, y
 +por lo normal se imprimen más pequeños que el pentagrama principal.
 +Ya sabemos cómo quitar la clave y el compás: simplemente establecemos
 +el sello de cada uno de ellos a @code{#f}, como sigue:
 +
 +@cindex alignAboveContext, propiedad, ejemplo
 +@cindex @code{\with}, ejemplo
 +@cindex stencil, propiedad, ejemplo
 +@cindex Clef, ejemplo de sobreescritura
 +@cindex TimeSignature, ejemplo de sobreescritura
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +      }
 +      {
 +        \override Staff.Clef #'stencil = ##f
 +        \override Staff.TimeSignature #'stencil = ##f
 +        { f8 f c }
 +      }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +donde el par de llaves adicional después de la cláusula @code{\with}
 +es necesario para asegurar que la sobreescritura encerrada y la música
 +se aplican al pentagrama de ossia.
 +
 +Pero ¿cuál es la diferencia entre modificar el contexto de pentagrama
 +usando @code{\with} y modificar los sellos de clave y de compás con
 +\override?  La diferencia principal es que los cambios que se realizan
 +en una cláusula @code{\with} se hacen en el momento en que se crea el
 +contexto, y permanecen activos como valores @strong{predeterminados}
 +durante toda la duración de dicho contexto, mientras que las
 +instrucciones @code{\set} o @code{\override} incluidas dentro de la
 +música son dinámicas: hacen cambios sincronizados con un punto
 +concreto de la música.  Si los cambios se deshacen o se devuelven
 +mediante @code{\unset} o @code{\revert} volverán a su valor
 +predeterminado que será el establecido en la cláusula @code{\with}, o
 +si no se ha establecido ninguno en este lugar, los valores
 +predeterminados normales.
 +
 +Ciertas propiedades de contexto se pueden modificar solamente dentro
 +de cláusulas @code{\with}.  Son aquellas propiedades que no se pueden
 +cambiar después de que el contexto se ha creado.
 +@code{alignAboveContext} y su compañero, @code{alignBelowContext}, son
 +dos de tales propiedades: una vez que el pentagrama se ha creado, su
 +alineación está decidida y no tendría sentido intentar cambiarla más
 +tarde.
 +
 +Los valores predeterminados de las propiedades de los objetos de
 +presentación también se pueden establecer dentro de cláusulas
 +@code{\with}.  Simplemente utilice la instrucción @code{\override}
 +normal dejando aparte el nombre del contexto, ya que está definido sin
 +ambigüedad como el contexto que la cláusula @code{\with} está
 +modificando.  De hecho, se producirá un error si se especifica un
 +contexto en este lugar.
 +
 +Así pues, podemos reemplazar el ejemplo anterior con
 +
 +@cindex alignAboveContext, propiedad, ejemplo
 +@cindex @code{\with}, example
 +@cindex Clef, ejemplo de sobreescritura
 +@cindex TimeSignature, ejemplo de sobreescritura
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +        % Don't print clefs in this staff
 +        \override Clef #'stencil = ##f
 +        % Don't print time signatures in this staff
 +        \override TimeSignature #'stencil = ##f
 +      }
 +        { f8 f c }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +Finalmente llegamos a la forma de cambiar el tamaño de los objetos de
 +presentación.
 +
 +Ciertos objetos de presentación se crean como glifos sacados de una
 +fuente tipográfica.  Entre ellos se encuentran las cabezas,
 +alteraciones, elementos de marcado, claves, indicaciones de compás,
 +indicaciones dinámicas y la letra de las canciones.  Su tamaño se
 +cambia mediante la modificación de la propiedad @code{font-size}, como
 +veremos en breve.  Otros objetos de presentación como ligaduras de
 +unión y de expresión (en general, objetos de extensión) se trazan
 +individualmente, por lo que no hay un tamaño de tipografía
 +@code{font-size} asociado a ellos.  Estos objetos generalmente derivan
 +su tamaño de los objetos a los que están adosados, y por ello
 +normalmente no hay necesidad de cambiarles el tamaño manualmente.  Aún
 +otras propiedades como la longitud de las plicas y las barras de
 +compás, el grosor de las barras de corchea y otras líneas, y la
 +separación de las líneas del pentagrama se deben modificar de otras
 +formas especiales.
 +
 +Volviendo al ejemplo del ossia, vamos a cambiar en primer lugar el
 +tamaño de la tipografía.  Podemos hacerlo de dos formas.  Podemos
 +cambiar el tamaño de las tipografías de cada uno de los tipos de
 +objeto como las cabezas (@code{NoteHead}s) con instrucciones como
 +
 +@example
 +\override NoteHead #'font-size = #-2
 +@end example
 +
 +o podemos cambiar el tamaño de todas las tipografías estableciendo una
 +propiedad especial, @code{fontSize}, utilizando @code{\set}, o
 +mediante su inclusión dentro de una cláusula @code{\with} (pero sin el
 +@code{\set}).
 +
 +@example
 +\set fontSize = #-2
 +@end example
 +
 +Los dos enunciados producirían una reducción del tamaño de la
 +tipografía en dos pasos a partir de su valor previo, donde cada paso
 +reduce o aumenta el tamaño aproximadamente en un 12%.
 +
 +Vamos a probarlo en nuestro ejemplo del ossia:
 +
 +@cindex alignAboveContext, propiedad, ejemplo
 +@cindex @code{\with}, ejemplo
 +@cindex Clef, ejemplo de sobreescritura
 +@cindex TimeSignature, ejemplo de sobreescritura
 +@cindex fontSize, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +        \override Clef #'stencil = ##f
 +        \override TimeSignature #'stencil = ##f
 +        % Reduce all font sizes by ~24%
 +        fontSize = #-2
 +      }
 +        { f8 f c }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +Aún no está demasiado bien.  Las cabezas y los corchetes de las notas
 +son más pequeños, pero las plicas son demasiado largas en proporción,
 +y las líneas del pentagrama están demasiado separadas entre sí.  Se
 +debe reducir su escala en proporción a la reducción de la tipografía.
 +El siguiente apartado trata sobre cómo se hace esto.
 +
 +@node Length and thickness of objects
 +@subsection Length and thickness of objects
 +
 +@cindex distancias
 +@cindex grosor
 +@cindex longitud
 +@cindex magstep
 +@cindex tamaño, cambiar
 +@cindex plica, cambiar la longitud
 +@cindex pentagrama, cambiar la separación de las líneas
 +
 +Las distancias y longitudes en LilyPond se miden generalmente en
 +espacios de pentagrama, la distancia entre líneas adyacentes de la
 +pauta (o de manera ocasional medios espacios), mientras que la mayoría
 +de las propiedades de @code{thickness} (grosor) se miden en unidades
 +de una propiedad interna llamada @code{line-thickness.}  Por ejemplo,
 +de forma predeterminada, a las líneas de los reguladores se les da un
 +grosor de 1 unidad de @code{line-thickness}, mientras que el
 +@code{thickness} de una plica es 1.3.  Observe sin embargo que ciertas
 +propiedades de grosor son diferentes; por ejemplo, el grosor de las
 +barras de corchea se mide en espacios de pentagrama.
 +
 +Entonces ¿cómo se tienen que escalar las longitudes en proporción al
 +tamaño de la tipografía?  Se puede hacer con la ayuda de una función
 +especial que se llama @code{magstep}, pensada especialmente para este
 +propósito.  Toma un argumento, el cambio de tamaño de la tipografía
 +(#-2 en nuestro ejemplo) y devuelve un factor de escalado adecuado
 +para reducir otros objetos en la misma proporción.  Se usa de la
 +siguiente forma:
 +
 +@cindex alignAboveContext, propiedad, ejemplo
 +@cindex @code{\with}, ejemplo
 +@cindex Clef, ejemplo de sobreescritura
 +@cindex TimeSignature, ejemplo de sobreescritura
 +@cindex fontSize, propiedad, ejemplo
 +@cindex StaffSymbol, ejemplo de sobreescritura
 +@cindex magstep, función, ejemplo de utilización
 +@cindex staff-space, propiedad, ejemplo
 +@cindex stencil, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +        \override Clef #'stencil = ##f
 +        \override TimeSignature #'stencil = ##f
 +        fontSize = #-2
 +        % Reduce stem length and line spacing to match
 +        \override StaffSymbol #'staff-space = #(magstep -2)
 +      }
 +        { f8 f c }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +Puesto que la longitud de las plicas y muchas otras propiedades
 +relacionadas con la longitudes calculan siempre con relación al valor
 +de la propiedad @code{staff-space}, su longitud también ve reducida su
 +escala automáticamente.  Observe que esto afecta solamente a la escala
 +vertical del ossia: la escala horizontal se determina por medio de la
 +disposición de la música principal con el objeto de mantenerse en
 +sincronía con ella, de forma que no resulte afectada por ninguno de
 +estos cambios de tamaño.  Por supuesto, si la escala de toda la música
 +principal se cambiase de esta forma, entonces el espaciado horizontal
 +se vería afectado.  Trataremos de esto más tarde en la sección sobre
 +la disposición.
 +
 +Esto, en fin, completa la creación de un ossia.  Los tamaños y
 +longitudes del resto de los objetos se pueden modificar de manera
 +análoga.
 +
 +Para cambios de escala pequeños, como en el ejemplo de arriba, el
 +grosor de las diversas líneas dibujadas como divisorias, barras de
 +corchea, reguladores, ligaduras, etc, no requieren normalmente ningún
 +ajuste global.  Si el grosor de cualquier objeto de presentación en
 +particular necesita ajustarse, se puede hacer mejor mediante la
 +sobreescritura de su propiedad @code{thickness}.  Anteriormente
 +mostramos un ejemplo de cambio de grosor en las ligaduras, en
 +@ref{Properties of layout objects}.  El grosor de todos los objetos
 +trazados (es decir, aquellos que no se producen a partir de una
 +tipografía) se pueden cambiar de la misma forma.
 +
 +
 +@node Placement of objects
 +@section Placement of objects
 +
 +@menu
 +* Automatic behaviour::
 +* Within-staff objects::
 +* Outside-staff objects::
 +@end menu
 +
 +
 +@node Automatic behaviour
 +@subsection Automatic behaviour
 +
 +@cindex dentro del pentagrama, objetos
 +@cindex fuera del pentagrama, objetos
 +@cindex objetos dentro del pentagrama
 +@cindex objetos fuera del pentagrama
 +
 +Hay ciertos objetos en notación musical que pertenecen al pentagrama y
 +otros cuyo lugar se sitúa fuera del pentagrama.  Reciben el nombre de
 +objetos dentro-del-pentagrama y objetos fuera-del-pentagrama,
 +respectivamente.
 +
 +Los objetos dentro-del-pentagrama son los que se sitúan sobre la
 +pauta: cabezas, plicas, alteraciones, etc.  Sus posiciones normalmente
 +se fijan por la propia música; se posicionan verticalmente sobre
 +líneas específicas del pentagrama o están unidos a otros objetos
 +posicionados de esta forma.  Las colisiones entre cabezas, plicas y
 +alteraciones en acordes de notas muy juntas, normalmente se evitan
 +automáticamente.  Hay instrucciones y sobreescrituras que pueden
 +modificar este comportamiento automático, como veremos en breve.
 +
 +Entre los objetos que pertenecen al exterior de la pauta se encuentran
 +cosas como las marcas de ensayo, las marcas de texto y las de
 +dinámica.  La regla de LilyPond para la colocación vertical de los
 +objetos fuera-de-pentagrama es colocarlos tan cerca del pentagrama
 +como sea posible, pero no tan cerca como para que puedan chocar con
 +algún otro objeto.  LilyPond utiliza la propiedad
 +@code{outside-staff-priority} para determinar el orden en que se deben
 +situar los objetos, como veremos ahora.
 +
 +En primer lugar, LilyPond sitúa todos los objetos
 +dentro-del-pentagrama.  Después ordena los objetos
 +fuera-del-pentagrama de acuerdo con su prioridad
 +@code{outside-staff-priority}.  Los objetos fuera-del-pentagrama se
 +toman de uno en uno, comenzando por el que tiene la prioridad
 +@code{outside-staff-priority} más baja, y se sitúan de forma que no
 +colisionen con ningún objeto que se haya colocado ya. Esto es, si dos
 +grobs fuera-del-pentagrama compiten por el mismo espacio, el que tiene
 +la prioridad @code{outside-staff-priority} más baja se colocará más
 +cerca del pentagrama.  Si dos objetos tienen la misma
 +@code{outside-staff-priority}, el que se ha encontrado primero se
 +situará más cerca de la pauta.
 +
 +En el siguiente ejemplo, todos los textos de marcado tienen la misma
 +prioridad (pues no se ha establecido explícitamente).  Observe que
 +@q{Text3} se posiciona de nuevo automáticamente cerca del pentagrama,
 +acomodado por debajo de @q{Text2}.
 +
 +@cindex markup, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +c2^"Text1"
 +c^"Text2"
 +c^"Text3"
 +c^"Text4"
 +@end lilypond
 +
 +Los pentagramas también se posicionan, de forma predeterminada, tan
 +cerca unos de otros como sea posible (sujeto a una separación mínima).
 +Si las notas se proyectan muy lejos en dirección a un pentagrama
 +adyacente, forzarán a alejarse a los pentagramas sólo si en caso
 +contrario fuese a ocurrir un solapamiento de la notación.  El ejemplo
 +siguiente muestra esta acomodación @q{nestling} de las notas sobre
 +pentagramas adyacentes:
 +
 +@lilypond[quote,ragged-right,verbatim]
 +<<
 +  \new Staff {
 +    \relative c' { c a, }
 +  }
 +  \new Staff {
 +    \relative c'''' { c a, }
 +  }
 +>>
 +@end lilypond
 +
 +
 +@node Within-staff objects
 +@subsection Within-staff objects
 +
 +Ya hemos visto cómo las instrucciones @code{\voiceXXX} afectan a la
 +dirección de las ligaduras de expresión y de unión, digitaciones y
 +todo lo demás que dependa de la dirección de las plicas.  Cuando se
 +escribe música polifónica, estas instrucciones son esenciales para que
 +puedan distinguirse varias líneas melódicas entrelazadas.  Pero
 +ocasionalmente puede ser necesario sobreescribir este comportamiento
 +automático.  Se puede hacer por secciones de música completas o
 +incluso para una nota individual.  La propiedad que controla este
 +comportamiento es la propiedad de @code{direction} (dirección) de cada
 +objeto de presentación.  En primer lugar explicaremos qué hace esto, y
 +luego introduciremos algunas instrucciones listas para usar que le
 +evitarán tener que codificar sobreescrituras explícitas para las
 +modificaciones más comunes.
 +
 +Algunos objetos de presentación como las ligaduras se curvan hacia
 +arriba o hacia abajo; otros como las plicas y los corchetes también se
 +mueven a la derecha o a la izquierda cuando apuntan hacia arriba o
 +hacia abajo.  Esto se controla automáticamente cuando está establecida
 +la propiedad @code{direction}.
 +
 +@cindex abajo
 +@cindex arriba
 +@cindex centro
 +@cindex neutro
 +@cindex down
 +@cindex up
 +@cindex center
 +@cindex neutral
 +
 +El ejemplo siguiente muestra en el compás 1 el comportamiento
 +predeterminado de las plicas, con las de las notas agudas apuntando
 +hacia abajo y las graves hacia arriba, seguidas de cuatro notas con
 +todas las plicas forzadas hacia abajo, cuatro notas con las plicas
 +forzadas hacia arriba, y por último cuatro notas devueltas al
 +comportamiento predeterminado.
 +
 +@cindex Stem, ejemplo de sobreescritura
 +@cindex direction, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +a4 g c a
 +\override Stem #'direction = #DOWN
 +a g c a
 +\override Stem #'direction = #UP
 +a g c a
 +\revert Stem #'direction
 +a g c a
 +@end lilypond
 +
 +Aquí utilizamos las constantes @code{DOWN} (abajo) y @code{UP}
 +(arriba).  Éstos tienen los valores @code{-1} y @code{+1}
 +respectivamente, y dichos valores numéricos también se pueden usar
 +directamente.  El valor @code{0} también se puede usar en algunos
 +casos.  Se trata simplemente con el significado de @code{UP} para las
 +plicas, pero para algunos objetos tiene el significado de
 +@q{centrado}.  Existe una constante @code{CENTER} que tiene el valor
 +@code{0}.
 +
 +Sin embargo, estas sobreescrituras no se usan muy a menudo porque
 +están disponibles instrucciones predefinidas equivalentes más
 +sencillas.  Aquí podemos ver una tabla de las más comunes.  Se
 +menciona el significado de cada una allí donde no es obvio.
 +
 +@multitable @columnfractions .2 .2 .25 .35
 +@headitem Abajo o Izquierda
 +  @tab Arriba o Derecha
 +  @tab Anular
 +  @tab Efecto
 +@item @code{\arpeggioArrowDown}
 +  @tab @code{\arpeggioArrowUp}
 +  @tab @code{\arpeggioNormal}
 +  @tab La flecha está abajo, arriba o no hay flecha
 +@item @code{\dotsDown}
 +  @tab @code{\dotsUp}
 +  @tab @code{\dotsNeutral}
 +  @tab Dirección del desplazamiento para evitar las líneas del pentagrama
 +@item @code{\dynamicDown}
 +  @tab @code{\dynamicUp}
 +  @tab @code{\dynamicNeutral}
 +  @tab
 +@item @code{\phrasingSlurDown}
 +  @tab @code{\phrasingSlurUp}
 +  @tab @code{\phrasingSlurNeutral}
 +  @tab Nota: diferente de las instrucciones de ligaduras de expresión
 +@item @code{\slurDown}
 +  @tab @code{\slurUp}
 +  @tab @code{\slurNeutral}
 +  @tab
 +@item @code{\stemDown}
 +  @tab @code{\stemUp}
 +  @tab @code{\stemNeutral}
 +  @tab
 +@item @code{\textSpannerDown}
 +  @tab @code{\textSpannerUp}
 +  @tab @code{\textSpannerNeutral}
 +  @tab El texto introducido como objeto de extensión está debajo o encima del pentagrama
 +@item @code{\tieDown}
 +  @tab @code{\tieUp}
 +  @tab @code{\tieNeutral}
 +  @tab
 +@item @code{\tupletDown}
 +  @tab @code{\tupletUp}
 +  @tab @code{\tupletNeutral}
 +  @tab Los grupos especiales están debajo o encima de las notas
 +@end multitable
 +
 +Observe que estas instrucciones predefinidas @strong{no} pueden ir
 +precedidas de @code{\once}.  Si quiere limitar el efecto a una sola
 +nota, deberá elegir entre usar la instrucción @code{\once \override}
 +equivalente, o usar la instrucción predefinida, seguida después de la
 +nota afectada por la instrucción @code{\xxxNeutral} correspondiente.
 +
 +@subheading Fingering
 +
 +@cindex digitación, colocación
 +@cindex digitación de acordes
 +
 +La colocación de las digitaciones sobre notas sueltas también se puede
 +controlar mediante la propiedad @code{direction}, pero los cambios
 +sobre @code{direction} no tienen ningún efecto sobre las notas de los
 +acordes.  Como veremos, existen instrucciones especiales que permiten
 +controlar las digitaciones de notas individuales, situando la
 +digitación encima, debajo, a la izquierda o a la derecha de cada nota.
 +
 +En primer lugar, he aquí el efecto de @code{direction} sobre las
 +digitaciones aplicadas a notas sueltas.  Se muestra en el primer
 +compás el comportamiento predeterminado, y en los dos compases
 +siguiente el efecto de especificar @code{DOWN} y @code{UP}:
 +
 +@cindex Fingering, ejemplo de sobreescritura
 +@cindex direction, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +c-5 a-3 f-1 c'-5
 +\override Fingering #'direction = #DOWN
 +c-5 a-3 f-1 c'-5
 +\override Fingering #'direction = #UP
 +c-5 a-3 f-1 c'-5
 +@end lilypond
 +
 +Sin embargo, la sobreescritura de la propiedad @code{direction} no es
 +la forma más sencilla de especificar manualmente la digitación por
 +encima o por debajo de las notas; suele ser preferible usar @code{_} o
 +@code{^} en lugar de @code{-}, antes del número de la digitación.
 +Este es el ejemplo anterior utilizando este método:
 +
 +@cindex fingering, ejemplo
 +@cindex digitación, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +c-5 a-3 f-1 c'-5
 +c_5 a_3 f_1 c'_5
 +c^5 a^3 f^1 c'^5
 +@end lilypond
 +
 +La propiedad @code{direction} se ignora para los acordes, pero los
 +prefijos direccionales @code{_} y @code{^} sí funcionan.  De forma
 +predeterminada, las digitaciones se colocan automáticamente encima y
 +debajo de las notas de un acorde, como se muestra aquí:
 +
 +@cindex fingering, ejemplo
 +@cindex digitación, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +<c-5 g-3>
 +<c-5 g-3 e-2>
 +<c-5 g-3 e-2 c-1>
 +@end lilypond
 +
 +@noindent
 +pero se puede forzar de manera que todos o algunos de los números de
 +digitación estén por encima o por debajo:
 +
 +@cindex fingering, ejemplo
 +@cindex digitación, ejemplo
 +
 +@lilypond[quote,verbatim,relative=2]
 +<c-5 g-3 e-2 c-1>
 +<c^5 g_3 e_2 c_1>
 +<c^5 g^3 e^2 c_1>
 +@end lilypond
 +
 +Es posible ejercer un control aún mayor sobre la colocación de las
 +digitaciones mediante la utilización de la instrucción @code{\set
 +fingeringOrientations}.  El formato de esta instrucción es:
 +
 +@example
 +@code{\set fingeringOrientations = #'([up] [left/right] [down])}
 +@end example
 +
 +@noindent
 +se utiliza @code{\set} porque @code{fingeringOrientations} es una
 +propiedad del contexto @code{Voice}, creado y usado por el grabador
 +@code{New_fingering_engraver}.
 +
 +La propiedad se puede establecer al valor de una lista de entre uno y
 +tres valores.  Controla si las digitaciones se pueden colocar por
 +encima (si @code{up} aparece en la lista), por debajo (si aparece
 +@code{down}), a la izquierda (si aparece @code{left}) o a la derecha
 +(si aparece @code{right}).  A la inversa, si una colocación no está en
 +la lista, no se sitúa ninguna digitación en dicho lugar.  LilyPond
 +coma estas restricciones y se trabaja la mejor colocación para la
 +digitación de las notas de los acordes que siguen.  Observe que
 +@code{left} y @code{right} son mutuamente excluyentes: las
 +digitaciones pueden situarse en un lado o en el otro, no en los dos.
 +
 +@warning{Para controlar la colocación de la digitación de una sola
 +nota usando esta instrucción es necesario escribirla como un acorde de
 +una sola nota encerrándola entre ángulos simples.}
 +
 +Aquí podemos ver algunos ejemplos:
 +
 +@cindex fingering, ejemplo
 +@cindex digitación, ejemplo
 +@cindex @code{\set}, ejemplo de utilización
 +@cindex fingeringOrientations, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left down)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(right)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +@end lilypond
 +
 +@noindent
 +Si la digitación parece un poco superpoblada, se puede reducir el
 +tamaño @code{font-size}.  El valor predeterminado puede verse en el
 +objeto @code{Fingering} del RFI que es @code{-5}, así que probaremos
 +@code{-7}:
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +\override Fingering #'font-size = #-7
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left down)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(right)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +@end lilypond
 +
 +
 +@node Outside-staff objects
 +@subsection Outside-staff objects
 +
 +Los objetos fuera-del-pentagrama se colocan automáticamente para
 +evitar las colisiones.  Los objetos que tienen el valor más bajo de la
 +propiedad @code{outside-staff-priority} se sitúan más cerca del
 +pentagrama, y entonces otros objetos fuera-del-pentagrama se elevan
 +tanto como sea necesario para evitar la colisión.  La prioridad
 +@code{outside-staff-priority} se defina en el @code{grob-interface} y
 +así es una propiedad de todos los objetos de presentación.  De forma
 +predeterminada se establece a @code{#f} para todos los objetos
 +dentro-del-pentagrama, y a un valor numérico adecuado a cada objeto
 +fuera-del-pentagrama cuando se crea el objeto.  La tabla siguiente
 +presenta los valores numéricos predeterminados para algunos de los
 +objetos fuera-del-pentagrama que están inicialmente dentro de los
 +contextos @code{Staff} o @code{Voice}.
 +
 +@multitable @columnfractions .3 .3 .3
 +@headitem Objeto de presentación
 +  @tab Prioridad
 +  @tab Controla la posición de:
 +@item @code{MultiMeasureRestText}
 +  @tab @code{450}
 +  @tab Texto sobre silencios de compás completo
 +@item @code{TextScript}
 +  @tab @code{450}
 +  @tab Elementos de marcado de texto
 +@item @code{OttavaBracket}
 +  @tab @code{400}
 +  @tab Corchetes de octava alta y baja
 +@item @code{TextSpanner}
 +  @tab @code{350}
 +  @tab Objetos de extensión de texto
 +@item @code{DynamicLineSpanner}
 +  @tab @code{250}
 +  @tab Todas las indicaciones dinámicas
 +@item @code{VoltaBracketSpanner}
 +  @tab @code{100}
 +  @tab Corchetes de primera y segunda vez
 +@item @code{TrillSpanner}
 +  @tab @code{50}
 +  @tab Trinos mantenidos
 +@end multitable
 +
 +He aquí un ejemplo que muestra la situación predeterminada de algunos
 +de ellos.
 +
 +@cindex texto, extensiones de
 +@cindex octava alta y baja, corchete de
 +
 +@funindex \startTextSpan
 +@funindex startTextSpan
 +@funindex \stopTextSpan
 +@funindex stopTextSpan
 +
 +@cindex TextSpanner, ejemplo de sobreescritura
 +@cindex bound-details, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +% Set details for later Text Spanner
 +\override TextSpanner #'(bound-details left text)
 +    = \markup { \small \bold Slower }
 +% Place dynamics above staff
 +\dynamicUp
 +% Start Ottava Bracket
 +\ottava #1
 +c' \startTextSpan
 +% Add Dynamic Text
 +c\pp
 +% Add Dynamic Line Spanner
 +c\<
 +% Add Text Script
 +c^Text
 +c c
 +% Add Dynamic Text
 +c\ff c \stopTextSpan
 +% Stop Ottava Bracket
 +\ottava #0
 +c, c c c
 +@end lilypond
 +
 +Este ejemplo también muestra cómo crear textos con extensión (Text
 +Spanners): textos con líneas extensoras por encima de una sección de
 +música.  El extensor abarca desde la instrucción @code{\startTextSpan}
 +hasta la instrucción @code{\stopTextSpan}, y el formado del texto se
 +define por medio de la instrucción @code{\override TextSpanner}.  Para
 +ver más detalles, consulte @ruser{Text spanners}.
 +
 +También muestra la manera de crear corchetes de octava alta y baja.
 +
 +@cindex trucar la situación de los números de compás
 +@cindex números de compás, ajustar posición
 +@cindex trucar la situación de marcas metronómicas
 +@cindex metrónomo, situación de las indicaciones de
 +@cindex trucar la situación de las letras de ensayo
 +@cindex ensayo, letras, trucar la colocación
 +
 +Observe que los números de compás, las indicaciones metronómicas y las
 +mercas de ensayo no se muestran. De forma predeterminada, se crean
 +dentro del contexto @code{Score} y su prioridad
 +@code{outside-staff-priority} se ignora con relación a los objetos de
 +presentación que se crean dentro del contexto @code{Staff}.  Si quiere
 +colocar los números de compás, indicaciones metronómicas o llamadas de
 +ensayo en concordancia con el valor de su
 +@code{outside-staff-priority}, los grabadores
 +@code{Bar_number_engraver}, @code{Metronome_mark_engraver} o
 +@code{Mark_engraver} respectivamente se deben eliminar del contexto
 +@code{Score} y colocarlos en el contexto @code{Staff} del nivel
 +superior.  Si se hace así, estas marcas obtendrán los siguientes
 +valores predeterminados de @code{outside-staff-priority}:
 +
 +@multitable @columnfractions .3 .3
 +@headitem Objeto de presentación           @tab Prioridad
 +@item @code{RehearsalMark}        @tab @code{1500}
 +@item @code{MetronomeMark}        @tab @code{1000}
 +@item @code{BarNumber}            @tab @code{ 100}
 +@end multitable
 +
 +Si los valores predeterminados de @code{outside-staff-priority} no le
 +ofrecen las colocaciones deseadas se puede sobreescribir la prioridad
 +de cualquiera de los objetos.  Suponga que quisiéramos que el corchete
 +de octava estuviera situado por debajo del elemento extensor de texto
 +en el ejemplo de arriba.  Todo lo que debemos hacer es localizar la
 +prioridad de @code{OttavaBracket} en el RFI o en las tablas
 +anteriores, y reducirlo a un valor inferior al de @code{TextSpanner},
 +recordando que @code{OttavaBracket} se crea dentro del contexto de
 +@code{Staff}:
 +
 +@cindex TextSpanner, ejemplo de sobreescritura
 +@cindex bound-details, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +% Set details for later Text Spanner
 +\override TextSpanner #'(bound-details left text)
 +    = \markup { \small \bold Slower }
 +% Place dynamics above staff
 +\dynamicUp
 +%Place following Ottava Bracket below Text Spanners
 +\once \override Staff.OttavaBracket #'outside-staff-priority = #340
 +% Start Ottava Bracket
 +\ottava #1
 +c' \startTextSpan
 +% Add Dynamic Text
 +c\pp
 +% Add Dynamic Line Spanner
 +c\<
 +% Add Text Script
 +c^Text
 +c c
 +% Add Dynamic Text
 +c\ff c \stopTextSpan
 +% Stop Ottava Bracket
 +\ottava #0
 +c, c c c
 +@end lilypond
 +
 +@cindex ligaduras y outside-staff-priority
 +@cindex ligaduras y articulaciones
 +@cindex articulaciones y ligaduras
 +
 +De forma predeterminada, las ligaduras de expresión están clasificadas
 +como objetos dentro-del-pentagrama, pero con frecuencia aparecen
 +encima del pentagrama si las notas que une son muy agudas.  Ello puede
 +empujar a una posición muy elevada a los objetos fuera-del-pentagrama
 +como las articulaciones, pues la ligadura se colocará en primer lugar.
 +La propiedad @code{avoid-slur} de la articulación se puede establecer
 +al valor @code{'inside} (por dentro) para llevarla al interior de la
 +ligadura, pero la propiedad @code{avoid-slur} es efectiva solamente si
 +la prioridad @code{outside-staff-priority} está también ajustada al
 +valor @code{#f}.  De forma alternativa, la prioridad
 +@code{outside-staff-priority} de la ligadura se puede fijar en un
 +valor numérico para hacer que se sitúe en línea con otros objetos
 +fuera del pentagrama de acuerdo con este valor.  He aquí un ejemplo
 +que muestra el efecto de los dos métodos:
 +
 +@lilypond[quote,verbatim,relative=2]
 +c4( c^\markup\tiny\sharp d4.) c8
 +c4(
 +\once \override TextScript #'avoid-slur = #'inside
 +\once \override TextScript #'outside-staff-priority = ##f
 +c^\markup\tiny\sharp d4.) c8
 +\once \override Slur #'outside-staff-priority = #500
 +c4( c^\markup\tiny\sharp d4.) c8
 +@end lilypond
 +
 +Los cambios en @code{outside-staff-priority} también se pueden emplear
 +para controlar la situación vertical de los objetos individuales,
 +aunque los resultados pueden no siempre ser deseables.  Suponga que
 +quiere que @qq{Text3} se sitúe por encima de @qq{Text4} en el ejemplo
 +bajo el epígrafe Comportamiento Automático de más arriba (véase
 +@ref{Automatic behaviour}).  Todo lo que debemos hacer es localizar la
 +prioridad de @code{TextScript} en el RFI o en las tablas de arriba, y
 +aumentar la prioridad de @qq{Text3} hasta un valor superior:
 +
 +@cindex TextScript, ejemplo de sobreescritura
 +@cindex outside-staff-priority, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +c2^"Text1"
 +c^"Text2"
 +\once \override TextScript #'outside-staff-priority = #500
 +c^"Text3"
 +c^"Text4"
 +@end lilypond
 +
 +Esto, ciertamente, eleva a @qq{Text3} por encima de @qq{Text4} pero
 +también lo eleva por encima de @qq{Text2}, y @qq{Text4} ahora se
 +desploma hacia abajo.  Quizá no sea tan buena idea.  ¿Y si lo que
 +realmente queremos hacer es posicionar todas las anotaciones a la
 +misma distancia por encima del pentagrama?  Para hacerlo, vamos a
 +necesitar claramente espaciar las notas en sentido horizontal para
 +hacer sitio para el texto.  Esto se hace empleando la instrucción
 +@code{textLengthOn}.
 +
 +@subheading \textLengthOn
 +
 +@cindex notas, espaciar junto al texto
 +
 +@funindex \textLengthOn
 +@funindex textLengthOn
 +@funindex \textLengthOff
 +@funindex textLengthOff
 +
 +De forma predeterminada, el texto producido mediante marcado no ocupa
 +ningún espacio horizontal en cuanto se refiere a la disposición de la
 +música.  La instrucción @code{\textLengthOn} invierte este
 +comportamiento, ocasionando que las notas resulten tan espaciadas como
 +sea necesario para acomodar el texto:
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\textLengthOn  % Cause notes to space out to accommodate text
 +c2^"Text1"
 +c^"Text2"
 +c^"Text3"
 +c^"Text4"
 +@end lilypond
 +
 +La instrucción para volver al comportamiento predeterminado es
 +@code{\textLengthOff}.  Recuerde que @code{\once} funciona solamente
 +con @code{\override}, @code{\set}, @code{\revert} o @code{unset}, así
 +que no se puede usar con @code{\textLengthOn}.
 +
 +@cindex marcado, texto de, permitir las colisiones en
 +
 +El texto de marcado también evita las notas que se proyectan por
 +encima del pentagrama.  Si esto no es lo que deseamos, el
 +desplazamiento automático hacia arriba se puede desactivar mediante el
 +establecimiento de la prioridad a @code{#f}.  He aquí un ejemplo que
 +muestra cómo el texto de marcado interactúa con tales notas.
 +
 +@cindex TextScript, ejemplo de sobreescritura
 +@cindex outside-staff-priority, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +% This markup is short enough to fit without collision
 +c2^"Tex"
 +c''2
 +R1
 +% This is too long to fit, so it is displaced upwards
 +c,,2^"Text"
 +c''2
 +R1
 +% Turn off collision avoidance
 +\once \override TextScript #'outside-staff-priority = ##f
 +c,,2^"Long Text   "
 +c''2
 +R1
 +% Turn off collision avoidance
 +\once \override TextScript #'outside-staff-priority = ##f
 +\textLengthOn  % and turn on textLengthOn
 +c,,2^"Long Text   "  % Spaces at end are honored
 +c''2
 +@end lilypond
 +
 +
 +@subheading Dynamics
 +
 +@cindex trucar la colocación de los matices
 +@cindex dinámica, trucar la colocación de las indicaciones de
 +@cindex matices, trucar la colocación
 +
 +Las indicaciones de matiz dinámico normalmente se colocarán por debajo
 +del pentagrama, pero se pueden posicionar por encima con la
 +instrucción @code{dynamicUp}.  Se situarán verticalmente respecto a la
 +nota a la que van adosadas, y flotarán por debajo (o por encima) de
 +todos los objetos dentro-del-pentagrama tales como ligaduras de fraseo
 +y números de compás.  Esto puede ofrecer resultados bastante
 +aceptables, como muestra este ejemplo:
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +\clef "bass"
 +\key aes \major
 +\time 9/8
 +\dynamicUp
 +bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
 +ees,2.~\)\mf ees4 r8 |
 +@end lilypond
 +
 +Sin embargo, si las notas y sus indicaciones dinámicas adosadas están
 +muy cerca, la colocación automática evitará las colisiones desplazando
 +las marcas dinámicas posteriores más lejos, aunque este puede no ser
 +el lugar óptimo, como muestra el siguiente ejemplo más bien
 +artificial:
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +@noindent
 +Si se presentara una situación similar en música @q{real}, podría ser
 +preferible espaciar las notas un poco más entre sí, de forma que todas
 +las marcas dinámicas puedan caber a la misma distancia vertical desde
 +el pentagrama.  Hemos sido capaces de hacer esto para el texto de
 +marcado utilizando la instrucción @code{\textLengthOn}, pero no existe
 +una instrucción equivalente para las indicaciones de matiz dinámico.
 +Por tanto, tendremos que averiguar cómo hacerlo utilizando
 +instrucciones @code{\override}.
 +
 +@subheading Grob sizing
 +
 +@cindex grob, cambio de tamaño de un
 +@cindex escala de los grobs
 +
 +En primer lugar debemos aprender cómo se especifica el tamaño de los
 +grobs.  Todos los grobs tienen un punto de referencia definido dentro
 +de ellos que se usa para colocarlos respecto a su objeto padre.
 +Entonces, este punto del grob se posiciona a una distancia horizontal,
 +@code{X-offset}, y una distancia vertical, @code{Y-offset}, a partir
 +de su padre.  La dimensión horizontal del objeto viene dada por una
 +pareja de números, @code{X-extent}, que dice dónde están los límites
 +izquierdo y derecho respecto del punto de referencia.  La amplitud
 +vertical se define de forma similar mediante una pareja de números,
 +@code{Y-extent}.  Éstas son propiedades de todos los grobs que
 +contemplan el @code{grob-interface}.
 +
 +@cindex @code{extra-spacing-width}
 +
 +De forma predeterminada, los objetos fuera-del-pentagrama reciben una
 +anchura cero, de manera que pueden solaparse en la dirección
 +horizontal.  Esto se hace mediante el truco de añadir una cantidad
 +infinita a la dimensión más a la izquierda y menos infinito a la
 +dimensión más a la derecha estableciendo el valor de
 +@code{extra-spacing-width} a @code{'(+inf.0 . -inf.0)}.  Así, para
 +asegurar que no se superponen en la dirección horizontal tendremos que
 +sobreescribir este valor de @code{extra-spacing-width} a @code{'(0
 +. 0)} de forma que el verdadero ancho se presente.  Esta es la
 +instrucción que lo hace para las indicaciones dinámicas:
 +
 +@example
 +\override DynamicText #'extra-spacing-width = #'(0 . 0)
 +@end example
 +
 +@noindent
 +Veamos si funciona en nuestro ejemplo anterior:
 +
 +@cindex DynamicText, ejemplo de sobreescritura
 +@cindex extra-spacing-width, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +\override DynamicText #'extra-spacing-width = #'(0 . 0)
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +@noindent
 +Bueno, ciertamente ha hecho que las marcas dinámicas ya no estén
 +desplazadas, pero aún quedan dos problemas.  Las marcas tendrían que
 +separarse un poco más entre sí, y sería mejor si todas estuvieran a la
 +misma distancia del pentagrama.  Podemos resolver el primer problema
 +fácilmente.  En vez de hacer cero la anchura
 +@code{extra-spacing-width}, podemos añadirle algo más.  Las unidades
 +son el espacio entre dos líneas de pentagrama, así que al mover el
 +límite izquierdo media unidad a la izquierda y el límite derecho media
 +unidad hacia la derecha, deberíamos conseguirlo:
 +
 +@cindex DynamicText, ejemplo de sobreescritura
 +@cindex extra-spacing-width, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +% Extend width by 1 staff space
 +\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +@noindent
 +Esto tiene un mejor aspecto, pero quizá habríamos preferido que las
 +indicaciones de dinámica estuvieran alineadas sobre la misma línea de
 +base en lugar de ir hacia arriba y hacia abajo con las notas.  La
 +propiedad que lo hace es @code{staff-padding} (relleno de pentagrama)
 +que se estudia en la sección siguiente.
 +
 +
 +@node Collisions of objects
 +@section Collisions of objects
 +
 +@menu
 +* Moving objects::
 +* Fixing overlapping notation::
 +* Real music example::
 +@end menu
 +
 +@node Moving objects
 +@subsection Moving objects
 +
 +@cindex mover objetos superpuestos
 +@cindex mover objetos que colisionan
 +@cindex mover grobs que colisionan
 +@cindex objetos que colisionan, mover
 +@cindex grobs que colisionan, mover
 +
 +Aunque pueda sorprenderle, LilyPond no es perfecto.  Ciertos elementos
 +de notación se pueden superponer, lo que es una lástima, pero en
 +realidad es bastante poco frecuente.  Normalmente la necesidad de
 +mover objetos es por claridad o razones estéticas: el aspecto es mejor
 +con un poco más o un poco menos de espacio de separación.
 +
 +Existen tres enfoques principales que llevan a la resolución de
 +superposiciones en la notación.  Se deben considerar en el siguiente
 +orden:
 +
 +@enumerate
 +@item
 +La @strong{dirección} de uno de los objetos que se superponen se puede
 +cambiar usando las instrucciones predefinidas que están relacionadas
 +arriba para los objetos dentro-del-pentagrama (véase @ref{Within-staff
 +objects}).  Se pueden recolocar fácilmente las plicas, ligaduras de
 +expresión y de unión, barras de corchea, indicaciones dinámicas, texto
 +y grupos de valoración especial de esta forma.  La limitación es que
 +sólo tiene la posibilidad de elegir entre dos posiciones, y podría ser
 +que ninguna de ellas sea la adecuada.
 +
 +@item
 +Las @strong{propiedades del objeto}, que LilyPond usa cuando está
 +colocando los objetos de presentación, se pueden modificar usando la
 +instrucción de sobreescritura @code{\override}.  Las ventadas de hacer
 +cambios a este tipo de propiedad son: a) que algún otro objeto se
 +moverá automáticamente si es necesario, para dejarle sitio, y b) una
 +única sobreescritura se puede aplicar a todas las instancias del mismo
 +tipo de objeto.  Entre tales propiedades se encuentran:
 +
 +@itemize
 +
 +@item
 +@code{direction} (dirección)
 +
 +Ya se ha estudiado con cierto detalle: véase @ref{Within-staff
 +objects}.
 +
 +@item
 +@code{padding} (relleno), @code{left-padding} (relleno por la
 +izquierda), @code{right-padding} (relleno por la derecha),
 +@code{staff-padding} (relleno de pentagrama)
 +
 +@cindex relleno
 +@cindex left-padding, propiedad
 +@cindex padding, propiedad
 +@cindex right-padding, propiedad
 +@cindex staff-padding, propiedad
 +
 +Según un objeto se está colocando, el valor de su propiedad de relleno
 +@code{padding} especifica el espacio intermedio que se debe dejar
 +entre él mismo y el límite más próximo del objeto contra el que se
 +está colocando.  Observe que es el valor de @code{padding} del objeto
 +@strong{que se está colocando} el que se usa; el valor de
 +@code{padding} del objeto que ya está colocado se ignora.  Los
 +espacios intermedios especificados mediante @code{padding} se pueden
 +aplicar a todos los objetos que contemplan el interface
 +@code{side-position-interface}.
 +
 +En lugar de con @code{padding}, la colocación de los grupos de
 +alteraciones se controla con @code{left-padding} y
 +@code{right-padding}.  Estas propiedades se encontrarán en el objeto
 +@code{AccidentalPlacement} que, observe, vive dentro del contexto de
 +@strong{staff}.  Durante el proceso tipográfico, las cabezas de las
 +notas se componen tipográficamente en primer lugar, y después las
 +alteraciones, si existen, se añaden a la izquierda de las cabezas
 +utilizando la propiedad de relleno por la derecha @code{right-padding}
 +para determinar la separación entre la alteración y la cabeza.  así
 +pues, sólo la propiedad de relleno por la derecha @code{right-padding}
 +del objeto @code{AccidentalPlacement} tiene efecto sobre la colocación
 +de las alteraciones.
 +
 +La propiedad @code{staff-padding} está estrechamente relacionada con
 +la propiedad @code{padding}: @code{padding} controla la separación
 +mínima entre cualquier objeto que contemple el interface
 +@code{side-position-interface} y el objeto más cercano (generalmente
 +la nota o las líneas del pentagrama); @code{staff-padding} se aplica
 +sólo a los objetos que siempre se sitúan fuera del pentagrama:
 +controla la separación mínima entre dicho objeto y el pentagrama.
 +Observe que @code{staff-padding} no tiene ningún efecto sobre objetos
 +que se posicionan respecto a la nota en vez de hacerlo respecto al
 +pentagrama, incluso aunque puede ser sobreescrito sin error por tales
 +objetos: simplemente se ignora.
 +
 +Para descubrir qué propiedad de relleno se necesita para el objeto que
 +quiere recolocar, debe volver al manual de RFI y buscar las
 +propiedades del objeto.  Tenga cuidado porque las propiedades de
 +relleno podrían no estar en el objeto más obvio, así que busque en los
 +objetos que puedan tener alguna relación con él.
 +
 +Todos los valores de relleno se miden en espacios del pentagrama.
 +Para la mayor parte de los objetos el valor se establece de forma
 +predeterminada en aproximadamente 1.0 o menos (varía con cada objeto).
 +Se puede sobreescribir si se necesita una separación intermedia mayor
 +(o menor).
 +
 +@item
 +@code{self-alignment-X} (Auto-alineamiento en el eje X)
 +
 +@cindex self-alignment-X, propiedad
 +
 +Esta propiedad se puede usar para alinear el objeto a la izquierda, a
 +la derecha, o centrarlo con respecto al punto de referencia del objeto
 +«padre».  Se puede usar con todos los objetos que contemplan el
 +interface
 +@code{self-alignment-interface}.  En general son objetos que contienen
 +texto.  Los valores son @code{LEFT}, @code{RIGHT} o @code{CENTER}.  De
 +forma alternativa se puede especificar un valor numérico entre
 +@code{-1} y @code{+1}, donde @code{-1} es alineado por la izquierda,
 +@code{+1} es alineado por la derecha, y los números intermedios mueven
 +el texto progresivamente desde alineado por la izquierda hasta alineado
 +por la derecha.  Se pueden especificar valores numéricos mayores de
 +@code{1} para mover el texto incluso más lejos hacia la izquierda, o
 +menos de @code{-1} para alejarlo más hacia la derecha.  Un cambio en
 +@code{1} en el valor corresponde a un movimiento de la mitad de la
 +longitud total del propio texto.
 +
 +@item
 +@code{extra-spacing-width} (anchura de separación adicional)
 +
 +@cindex extra-spacing-width, propiedad
 +
 +Esta propiedad está disponible para todos los objetos que contemplan
 +el interface @code{item-interface}.  Toma dos números, el primero se
 +suma al límite izquierdo y el segundo se suma al límite derecho.  Los
 +números negativos desplazan el límite a la izquierda y los positivos a
 +la derecha, por lo que para ensanchar un objeto el primer número debe
 +ser negativo y el segundo positivo.  Observe que no todos los objetos
 +ostentan los dos números.  Por ejemplo, el objeto @code{Accidental}
 +(alteración) sólo toma nota del primer número (el borde izquierdo).
 +
 +@item
 +@code{staff-position} (posición de pentagrama)
 +
 +@cindex staff-position, propiedad
 +
 +@code{staff-position} es una propiedad del interface
 +@code{staff-symbol-referencer-interface}, que está contemplado por los
 +objetos que se colocan con relación al pentagrama.  Especifica la
 +posición vertical del objeto con relación a la tercera línea del
 +pentagrama en medios espacios de pentagrama.  Es útil en la
 +resolución de colisiones entre objetos de presentación como silencios
 +multi-compás, ligaduras de unión y notas en distintas voces.
 +
 +@item
 +@code{force-hshift} (forzar desplazamiento horizontal)
 +
 +@cindex force-hshift, propiedad
 +
 +Las notas muy juntas de un acorde, o aquellas que ocurren al mismo
 +tiempo en voces distintas, se disponen en dos (y ocasionalmente más)
 +columnas para evitar la superposición de las cabezas.  Éstas reciben
 +el nombre de columnas de notas, y se crea un objeto llamado
 +@code{NoteColumn} para disponer las notas en dicha columna.
 +
 +La propiedad @code{force-hshift} es una propiedad de una
 +@code{NoteColumn} (realmente lo es del interface
 +@code{note-column-interface}).  Modificarlo permite mover una columna
 +de notas en unidades adecuadas a una columna de notas, por ejemplo la
 +anchura de la cabeza de la nota de la primera voz.  Se debe usar en
 +situaciones complejas donde las instrucciones @code{\shiftOn} normales
 +(véase @ref{Explicitly instantiating voices}) no resuelven el
 +conflicto entre las notas.  Es preferible a la propiedad
 +@code{extra-offset} para este propósito porque no hay necesidad de
 +averiguar la distancia en espacios de pentagrama, y mover las notas
 +dentro o fuera de una @code{NoteColumn} afecta a otras acciones como a
 +la fusión entre cabezas de nota.
 +
 +@end itemize
 +
 +@item
 +Finalmente, cuando todo lo demás falla, los objetos se pueden
 +reposicionar manualmente con relación a la tercera línea del
 +pentagrama verticalmente, o desplazándolas una cierta distancia a una
 +nueva posición.  Las desventajas son que los valores correctos para el
 +reposicionamiento se deben adivinar, a menudo por ensayo y error, para
 +cada objeto individual y, puesto que el movimiento se hace después de
 +que LilyPond ha colocado todos los demás objetos es usuario es
 +responsable de evitar cualquier colisión que pudiera producirse.  Pero
 +la dificultar principal con este enfoque es que los valores de
 +reposicionado podrían tener que ser vueltos a calcular si la música se
 +modifica más tarde.  Las propiedades que se pueden usar para este tipo
 +de posicionamiento manual son:
 +
 +@table @code
 +@item extra-offset (desplazamiento adicional)
 +
 +@cindex extra-offset, propiedad
 +
 +Esta propiedad se aplica a cualquier objeto de presentación que
 +contemple el @code{grob-interface}.  Toma una pareja de números que
 +especifican el desplazamiento adicional en las direcciones horizontal
 +y vertical.  Los números negativos mueven el objeto a la izquierda o
 +hacia abajo.  Las unidades son espacios de pentagrama.  El
 +desplazamiento adicional se hace después de que la composición
 +tipográfica de los objetos ha terminado, así que un objeto puede ser
 +reposicionado a cualquier lugar sin afectar a ninguna otra cosa.
 +
 +@item positions (posiciones)
 +
 +@cindex positions, propiedad
 +
 +Ésta es de la mayor utilidad para ajustar manualmente la inclinación y
 +la altura de las barras de corchea, ligaduras de expresión y corchetes
 +de grupos de valoración especial.  Toma una pareja de números que dan
 +la posición de los extremos izquierdo y derecho de la barra, ligadura,
 +etc. con relación a la tercera línea del pentagrama.  Las unidades son
 +espacios de pentagrama.  Observe, sin embargo, que las ligaduras de
 +expresión y de fraseo no se pueden reposicionar en cantidades
 +arbitrariamente grandes.  LilyPond en primer lugar genera una lista de
 +posiciones posibles para la ligadura y de forma predeterminada
 +encuentra la ligadura que tiene @qq{mejor aspecto}.  Si la propiedad
 +@code{positions} se ha sobreescrito, la ligadura que está más cerca de
 +las posiciones que se han solicitado, se selecciona de la lista.
 +@end table
 +
 +@end enumerate
 +
 +Un objeto en particular podría no tener todas estas propiedades.  Es
 +necesario ir al manual RFI para buscar qué propiedades se encuentran
 +disponibles para el objeto en cuestión.
 +
 +
 +Aquí presentamos una lista de los objetos que es más probable que
 +estén implicados en colisiones, con el nombre del objeto que habría
 +que buscar en el RFI para descubrir qué propiedades se deben usar para
 +moverlos.
 +
 +@multitable @columnfractions .5 .5
 +@headitem Tipo de objeto           @tab Nombre del objeto
 +@item Articulaciones            @tab @code{Script}
 +@item Barras                    @tab @code{Beam}
 +@item Dinámica (verticalmente)  @tab @code{DynamicLineSpanner}
 +@item Dinámica (horizontalmente)   @tab @code{DynamicText}
 +@item Digitaciones                @tab @code{Fingering}
 +@item Llamadas de ensayo y textuales   @tab @code{RehearsalMark}
 +@item Ligaduras de expresión    @tab @code{Slur}
 +@item Texto, por ejemplo @code{^"texto"}  @tab @code{TextScript}
 +@item Ligaduras de unión        @tab @code{Tie}
 +@item Grupos de valoración especial @tab @code{TupletBracket}
 +@end multitable
 +
 +
 +@node Fixing overlapping notation
 +@subsection Fixing overlapping notation
 +
 +Veamos ahora cómo pueden ser de ayuda las propiedades que hemos visto
 +en la sección anterior, para resolver problemas de notación que se
 +superpone.
 +
 +@subheading padding property
 +
 +@cindex relleno
 +@cindex arreglar notación que se superpone
 +@cindex superpuesta, notación
 +
 +La propiedad @code{padding} se puede ajustar para aumentar (o
 +disminuir) la distancia entre símbolos impresos encima o debajo de las
 +notas.
 +
 +@cindex Script, ejemplo de sobreescritura
 +@cindex padding, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,relative=1,verbatim]
 +c2\fermata
 +\override Script #'padding = #3
 +b2\fermata
 +@end lilypond
 +
 +@cindex MetronomeMark, ejemplo de sobreescritura
 +@cindex padding, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,relative=1,verbatim]
 +% This will not work, see below:
 +\override MetronomeMark #'padding = #3
 +\tempo 4=120
 +c1
 +% This works:
 +\override Score.MetronomeMark #'padding = #3
 +\tempo 4=80
 +d1
 +@end lilypond
 +
 +Observe en el segundo ejemplo la gran importancia que tiene saber qué
 +contexto maneja un determinado objeto.  Puesto que el objeto
 +@code{MetronomeMark} se maneja dentro del contexto @code{Score}, los
 +cambios de propiedades en el contexto @code{Voice} pasarán
 +inadvertidos.  Para ver más detalles, consulte @ruser{Modifying
 +properties}.
 +
 +Si la propiedad de relleno @code{padding} de un objeto se incrementa
 +cuando dicho objeto se encuentra en una pila de objetos que se están
 +colocando de acuerdo a su prioridad @code{outside-staff-priority},
 +entonces ese objeto se moverá, y también todos los que están por fuera
 +de él.
 +
 +
 +@subheading left-padding and right-padding
 +
 +@cindex left-padding, propiedad
 +@cindex right-padding, propiedad
 +
 +La propiedad @code{right-padding} afecta al espaciado entre la
 +alteración y la nota a que se aplica.  Normalmente no es necesaria,
 +pero el ejemplo siguiente muestra una situación en la que sí se
 +necesita.  Suponga que queremos presentar un acorde que contiene un Si
 +natural y un Si bemol.  Para evitar la ambigüedad querríamos preceder
 +las notas con un becuadro y un bemol.  Aquí vienen varios intentos de
 +hacerlo así:
 +
 +@cindex Accidental, ejemplo de sobreescritura
 +@cindex text, propiedad, ejemplo
 +@cindex stencil, propiedad, ejemplo
 +@cindex AccidentalPlacement, ejemplo de sobreescritura
 +@cindex right-padding, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +<b bes>
 +<b! bes>
 +<b? bes>
 +@end lilypond
 +
 +Ninguno de ellos funciona y el segundo además presenta una fea
 +colisión entre las dos alteraciones.
 +
 +Una forma de conseguirlo es sobreescribir el sello de la alteración
 +con un elemento de marcado que contenga los símbolos de becuadro y
 +bemol en el orden que nos gustaría que estuvieran, así:
 +
 +@lilypond[quote,ragged-right,verbatim]
 +naturalplusflat = \markup { \natural \flat }
 +\relative c'' {
 +  \once \override Accidental
 +    #'stencil = #ly:text-interface::print
 +  \once \override Accidental #'text = #naturalplusflat
 +  \once \override Score.AccidentalPlacement #'right-padding = #1.5
 +  <b bes>
 +}
 +@end lilypond
 +
 +@noindent
 +Esto utiliza necesariamente una sobreescritura para el sello de la
 +alteración que no se estudiará hasta más adelante.  El tipo de sello
 +debe ser un procedimiento, aquí modificado para que imprima el
 +contenido de la propiedad @code{text} del objeto @code{Accidental},
 +que a su vez está establecido como un signo de becuadro seguido de un
 +bemol.  Entonces el conjunto se puede separar de la cabeza de la nota
 +sobreescribiendo @code{right-padding}.
 +
 +@noindent
 +
 +@subheading staff-padding property
 +
 +@cindex alineación de objetos sobre la línea base
 +@cindex objetos, alineación sobre la línea base
 +
 +@code{staff-padding} se puede usar para alinear objetos como matices
 +dinámicos a lo largo de una línea de base a una altura fija sobre el
 +pentagrama, en lugar de hacerlo a una altura que dependa de la
 +posición de la nota a la que están adosados.  No es una propiedad de
 +@code{DynamicText} sino de @code{DynamicLineSpanner}.  Esto es así
 +porque la línea de base debe aplicarse por igual a @strong{todas} las
 +dinámicas, entre ellas las que se han creado como objetos de
 +extensión.  Así que ésta es la forma de alinear las indicaciones de
 +matiz en el ejemplo de la sección anterior:
 +
 +@cindex DynamicText, ejemplo de sobreescritura
 +@cindex extra-spacing-width, propiedad, ejemplo
 +@cindex DynamicLineSpanner, ejemplo de sobreescritura
 +@cindex staff-padding, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +% Extend width by 1 unit
 +\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
 +% Align dynamics to a base line 2 units above staff
 +\override DynamicLineSpanner #'staff-padding = #2
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +
 +@subheading self-alignment-X property
 +
 +El ejemplo siguiente muestra cómo esto puede resolver la colisión
 +entre un objeto de digitación de cuerda y la plica de una nota
 +mediante el alineamiento del límite derecho con el punto de referencia
 +de la nota «padre»:
 +
 +@cindex StringNumber, ejemplo de sobreescritura
 +@cindex self-alignment-X, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
 +\voiceOne
 +< a \2 >
 +\once \override StringNumber #'self-alignment-X = #RIGHT
 +< a \2 >
 +@end lilypond
 +
 +@subheading staff-position property
 +
 +@cindex objeto, colisión dentro del pentagrama
 +
 +Los silencios multi-compás en una voz pueden chocar con las notas en
 +otra voz.  Puesto que estos silencios se tipografían centrados entre
 +las barras de compás se necesitaría bastante esfuerzo para que
 +LilyPond averiguara qué otras notas podrían chocar con él, ya que
 +actualmente todo el manejo de colisiones entre notas y silencios se
 +hace solamente para notas y silencios que ocurren al mismo tiempo.  He
 +aquí un ejemplo de colisión de este tipo:
 +
 +@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
 +<< {c c c c} \\ {R1} >>
 +@end lilypond
 +
 +La mejor solución aquí es mover el silencio multi-compás hacia abajo,
 +pues el silencio está en la voz dos.  El ajuste predeterminado para
 +@code{\voiceTwo} (es decir, en la segunda voz de una construcción
 +@code{<<@{...@} \\ @{...@}>>}) es que @code{staff-position} tenga el
 +valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos,
 +cuatro semi-espacios de pentagrama, al valor @code{-8}.
 +
 +@cindex MultiMeasureRest, ejemplo de sobreescritura
 +@cindex staff-position, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
 +<<
 +  {c c c c}
 +\\
 +  \override MultiMeasureRest #'staff-position = #-8
 +  {R1}
 +>>
 +@end lilypond
 +
 +Esto es mejor que utilizar, por ejemplo, @code{extra-offset}, porque
 +la línea adicional por encima del silencio se inserta automáticamente.
 +
 +@subheading extra-offset property
 +
 +@cindex posicionar objetos
 +@cindex posicionar grobs
 +@cindex objetos, posicionar
 +@cindex grobs, posicionar
 +
 +La propiedad @code{extra-offset} da un completo control sobre el
 +posicionamiento de un objeto tanto vertical como horizontalmente.
 +
 +En el ejemplo siguiente, la segunda digitación se desplaza ligeramente
 +a la izquierda, y 1.8 espacios de pentagrama hacia abajo:
 +
 +@cindex Fingering, ejemplo de sobreescritura
 +@cindex extra-offset, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,relative=1,verbatim]
 +\stemUp
 +f-5
 +\once \override Fingering
 +    #'extra-offset = #'(-0.3 . -1.8)
 +f-5
 +@end lilypond
 +
 +
 +@subheading positions property
 +
 +@cindex controlar manualmente grupos especiales, ligaduras y barras
 +@cindex manual, control, de grupos especiales, ligaduras y barras
 +@cindex grupos especiales, barras de, control manual
 +@cindex ligaduras de expresión, control manual
 +@cindex ligaduras de fraseo, control manual
 +@cindex barras de corchea, control manual
 +
 +La propiedad @code{positions} permite controlar manualmente la
 +posición e inclinación de los tresillos, ligaduras de expresión y de
 +fraseo, y barras de corchea.  He aquí un ejemplo que tiene una fea
 +ligadura de fraseo debido a que intenta evitar la ligadura de
 +expresión que está sobre la acciaccatura.
 +
 +@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 +r4  \acciaccatura e8\( d8 c ~c d c d\)
 +@end lilypond
 +
 +@noindent
 +Simplemente podemos mover la ligadura de fraseo por encima de las
 +notas, y de hecho ésta será la solución preferida:
 +
 +@cindex PhrasingSlur, ejemplo de sobreescritura
 +@cindex positions, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 +r4
 +\phrasingSlurUp
 +\acciaccatura e8\( d8 c ~c d c d\)
 +@end lilypond
 +
 +@noindent
 +Pero si por algún motivo no pudiéramos hacerlo, la otra alternativa
 +sería mover el extremo izquierdo de la ligadura de fraseo un poco
 +hacia abajo usando la propiedad @code{positions}.  Esto también
 +resuelve la forma algo indecente de la ligadura.
 +
 +@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 +r4
 +\once \override PhrasingSlur #'positions = #'(-4 . -3)
 +\acciaccatura
 +e8\( d8 c ~c d c d\)
 +@end lilypond
 +
 +Presentamos un ejemplo más extraído del comienzo del pentagrama de la
 +mano izquierda del preludio de Chopin Op 28 No. 2.  vemos que la barra
 +choca con las notas superiores:
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +{
 +\clef "bass"
 +<< {b,8 ais, b, g,} \\ {e, g e, g} >>
 +<< {b,8 ais, b, g,} \\ {e, g e, g} >>
 +}
 +@end lilypond
 +
 +@noindent
 +Esto se puede resolver manualmente elevando los dos extremos de la
 +barra desde su posición a dos espacios de pentagrama sobre la línea
 +central hasta, digamos, 3 espacios:
 +
 +@cindex Beam, ejemplo de sobreescritura
 +@cindex positions, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +{
 +  \clef "bass"
 +  <<
 +    \override Beam #'positions = #'(3 . 3)
 +    {b,8 ais, b, g,}
 +  \\
 +    {e, g e, g}
 +  >>
 +  << {b,8 ais, b, g,} \\ {e, g e, g} >>
 +}
 +@end lilypond
 +
 +@noindent
 +Observe que la sobreescritura sigue aplicándose en la primera voz del
 +segundo bloque de corcheas, pero no a ninguna de las barras de la
 +segunda voz.
 +
 +@subheading force-hshift property
 +
 +@c FIXME: formatting stuff  (ie not important right now IMO)
 +@c @a nchor Chopin finally corrected TODOgp
 +
 +Ahora podremos ver cómo aplicar las correcciones finales al ejemplo de
 +Chopin que presentamos al final de @ref{I'm hearing Voices}, que
 +dejamos con este aspecto:
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +\new Staff \relative c'' {
 +  \key aes \major
 +  <<
 +    { c2 aes4. bes8 } \\
 +    { aes2 f4 fes   } \\
 +    { \voiceFour
 +      <ees c>2
 +      des2
 +    }
 +  >> |
 +  <c ees aes c>1 |
 +}
 +@end lilypond
 +
 +@noindent
 +Las dos notas inferiores del primer acorde (es decir, las que están en
 +al tercera voz) no deberían separarse de la columna de notas de las dos
 +notas agudas.  Para corregir esto, establecemos el valor de
 +@code{force-hshift} (que es una propiedad de @code{NoteColumn}) de
 +esas notas a cero.  La nota más grave del segundo acorde se sitúa
 +mejor justo a la derecha de las más agudas.  Lo conseguimos
 +estableciendo el valor de @code{force-hshift} de esta nota a 0.5, o
 +sea, la anchura de media cabeza de nota a la derecha de la columna de
 +las notas agudas.
 +
 +Presentamos a continuación el resultado final:
 +
 +@cindex NoteColumn, ejemplo de sobreescritura
 +@cindex force-hshift, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +\new Staff \relative c'' {
 +  \key aes \major
 +  <<
 +    { c2 aes4. bes8 } \\
 +    { aes2 f4 fes   } \\
 +    { \voiceFour
 +      \once \override NoteColumn #'force-hshift = #0 <ees c>2
 +      \once \override NoteColumn #'force-hshift = #0.5 des2
 +    }
 +  >> |
 +  <c ees aes c>1 |
 +}
 +@end lilypond
 +
 +
 +@node Real music example
 +@subsection Real music example
 +
 +Finalizaremos esta sección sobre los trucos mostrando los pasos que se
 +deben tomar para tratar con un ejemplo complicado que necesita varios
 +trucos para producir el resultado deseado.  El ejemplo se ha escogido
 +deliberadamente para ilustrar el uso de la Referencia de la Notación
 +para resolver problemas de notación poco comunes.  No es
 +representativo de un proceso de grabado más usual, por lo que ¡le
 +recomendamos que no deje que estas dificultades le desanimen!
 +¡Afortunadamente, las dificultades como éstas no son muy comunes!
 +
 +El ejemplo está extraído de la Primera Balada de Chopin, Op. 23,
 +compases 6 al 9, la transición entre el Lento inicial y el Moderato.
 +Presentamos en primer lugar el aspecto que queremos que tenga el
 +resultado, pero para evitar complicar demasiado el ejemplo hemos
 +quitado las indicaciones dinámicas, las digitaciones y el pedal.
 +
 +@c The following should appear as music without code
 +@lilypond[quote,ragged-right]
 +rhMusic = \relative c'' {
 +  r2
 +  c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  bes2.^\markup {\bold "Moderato"} r8
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    % Reposition the c2 to the right of the merged note
 +    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
 +    % Move the c2 out of the main note column so the merge will work
 +    \shiftOnn c2}
 +  \\
 +    % Stem on the d2 must be down to permit merging
 +    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
 +  \\
 +    {s4 fis4.}
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Observamos en primer lugar que la parte de la mano derecha del tercer
 +compás requiere cuatro voces.  Son las cinco corcheas unidas por una
 +barra, la nota Do ligada, el Re blanca que se funde con el Re corchea,
 +y el Fa sostenido negra con puntillo, que también está fundida con la
 +corchea de su misma altura.  Todo lo demás está en una sola voz, así
 +que lo más fácil es introducir estas cuatro voces temporalmente en el
 +momento en que se necesiten.  Si ha olvidado cómo hacerlo, lea
 +@ref{I'm hearing Voices}.  Vamos a comenzar introduciendo las notas
 +como dos variables y disponiendo la estructura de pentagramas en un
 +bloque Score, y veremos qué produce LilyPond de forma predeterminada:
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4. g8 |
 +  bes1~ |
 +  \time 6/4
 +  bes2. r8
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8 d fis bes a | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  g2.
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2 |
 +  <d g, d>1 |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Todas las notas son correctas, pero el aspecto está lejos de ser
 +satisfactorio.  La ligadura de unión choca con el cambio de compás, el
 +barrado del tercer compás es incorrecto, las notas no se funden
 +correctamente, y faltan algunos elementos de notación.  En primer
 +lugar trataremos con lo más fácil.  Podemos corregir el barrado de las
 +corcheas insertando una barra manualmente, y podemos añadir fácilmente
 +la ligadura de expresión de la mano izquierda y la ligadura de fraseo
 +de la mano derecha, pues todo ello se estudió en el Tutorial.  Al
 +hacerlo así obtenemos:
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  bes1~ |
 +  \time 6/4
 +  bes2. r8
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1) |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +El primer compás ahora es correcto.  El segundo compás contiene un
 +arpegio y acaba en una doble barra.  ¿Cómo los hacemos, pues no han
 +sido mencionados en este Manual de Aprendizaje?  Aquí es donde tenemos
 +que volver e la Referencia de la Notación.  Buscando la palabra
 +@q{arpegio} y @q{línea divisoria} en el índice nos muestra rápidamente
 +que un arpegio se hace añadiendo @code{\arpeggio} a un acorde, y la
 +doble barra se produce por medio de la instrucción @code{\bar "||"}.
 +Esto podemos hacerlo fácilmente.  A continuación tenemos que corregir
 +la colisión entre la ligadura de unión y la indicación de compás.
 +Esto se hace mejor moviendo la ligadura hacia arriba.  Estudiamos cómo
 +mover objetos anteriormente en @ref{Moving objects}, donde dice que
 +los objetos que están situados de forma relativa al pentagrama se
 +pueden mover sobreescribiendo su propiedad @code{staff-position}, que
 +se especifica en unidades de medio espacio de pentagrama respecto de
 +la línea central del pentagrama.  Así pues, la sobreescritura
 +siguiente colocada justo antes de la primera nota ligada subirá la
 +ligadura 3.5 medios espacios de pentagrama por encima de la línea
 +central:
 +
 +@code{\once \override Tie #'staff-position = #3.5}
 +
 +Con esto se completa el compás dos, dando como resultado:
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2. r8
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Vayamos ahora al tercer compás y comienzo de la sección Moderato.  El
 +tutorial nos enseñó cómo escribir texto en negrita mediante la
 +instrucción @code{\markup}, por lo que añadir @q{Moderato} en negrita
 +es fácil.  Pero ahora ¿cómo fundimos notas que están en distintas
 +voces?  Aquí es donde debemos volver a buscar ayuda en el manual de
 +Referencia de la notación. Al buscar la palabra @qq{merge} (mezcla) en
 +el índice de la Referencia de la notación llegamos rápidamente a las
 +instrucciones para mezclar notas con distinta cabeza y con o sin
 +puntillo, en @ruser{Collision resolution}.  En nuestro ejemplo tenemos
 +que fusionar ambos tipos de nota en el transcurso de la sección
 +polifónica del compás 3; por tanto, en virtud de la información que
 +aparece en la Referencia de la Notación, escribimos
 +
 +@example
 +\mergeDifferentlyHeadedOn
 +\mergeDifferentlyDottedOn
 +@end example
 +
 +@noindent
 +al principio de la sección, y
 +
 +@example
 +\mergeDifferentlyHeadedOff
 +\mergeDifferentlyDottedOff
 +@end example
 +
 +@noindent
 +al final, dando como resultado:
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2.^\markup {\bold "Moderato"} r8
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Estas sobreescrituras han fundido los dos Fa sostenido, pero no los
 +dos Re.  ¿Por qué no?  La respuesta está en la misma sección de la
 +Referencia de la Notación: las notas que se fusionan deben tener las
 +plicas en direcciones opuestas y dos notas no se pueden fusionar bien
 +si hay una tercera nota en la misma columna.  Aquí los dos Re tienen
 +las plicas hacia arriba y hay una tercera nota: el Do.  Sabemos cómo
 +cambiar la dirección de la plica usando @code{\stemDown}, y la
 +Referencia de la Notación también explica cómo mover el Do: aplicar un
 +desplazamiento usando una de las instrucciones @code{\shift}.  Pero
 +¿cuál?  El Do está en la voz dos que tiene desactivado el
 +desplazamiento, y los dos Re están en las voces uno y tres, que tienen
 +el desplazamiento desactivado y activado, respectivamente.  Por ello
 +tenemos que desplazar el Do un nivel más todavía, usando
 +@code{\shiftOnn} para evitar que interfiera con los dos Re.  Al
 +aplicar estos cambios obtenemos:
 +
 +@cindex Tie, ejemplo de sobreescritura
 +@cindex staff-position, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2.^\markup {\bold "Moderato"} r8
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    % Move the c2 out of the main note column so the merge will work
 +    {c,8~ \shiftOnn c2 | }
 +  \\
 +    % Stem on the d2 must be down to permit merging
 +    {s8 \stemDown d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Ya casi está.  Solamente quedan dos problemas: la plica hacia abajo
 +sobre el Re fusionado no tendría que estar ahí, y el Do estaría mejor
 +colocado a la derecha de los Re.  Sabemos cómo hacer las dos cosas a
 +partir de trucos anteriores: hacemos la plica transparente, y movemos
 +el Do con la propiedad @code{force-hshift}.  Aquí tenemos el resultado
 +final:
 +
 +@cindex NoteColumn, ejemplo de sobreescritura
 +@cindex force-hshift, propiedad, ejemplo
 +@cindex Stem, ejemplo de sobreescritura
 +@cindex transparent, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2
 +  c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2.^\markup {\bold "Moderato"} r8
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    % Reposition the c2 to the right of the merged note
 +    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
 +    % Move the c2 out of the main note column so the merge will work
 +    \shiftOnn c2}
 +  \\
 +    % Stem on the d2 must be down to permit merging
 +    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
 +  \\
 +    {s4 fis4.}
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +
 +@node Further tweaking
 +@section Further tweaking
 +
 +@menu
 +* Other uses for tweaks::
 +* Using variables for tweaks::
 +* Other sources of information::
 +* Avoiding tweaks with slower processing::
 +* Advanced tweaks with Scheme::
 +@end menu
 +
 +@node Other uses for tweaks
 +@subsection Other uses for tweaks
 +
 +@cindex transparent, uso de la propiedad
 +@cindex objetos, hace invisibles
 +@cindex eliminar objetos
 +@cindex objetos, eliminar
 +@cindex objetos, ocultar
 +@cindex ocultar objetos
 +@cindex invisibles, objetos
 +@cindex objetos invisibles
 +@cindex ligar notas entre voces distintas
 +
 +@subheading Tying notes across voices
 +
 +El ejemplo siguiente muestra cómo conectar notas que están en
 +distintas voces utilizando ligaduras de unión.  Normalmente sólo se
 +pueden conectar mediante ligaduras de unión dos notas que estén en la
 +misma voz.  Usando dos voces, con las notas ligadas en una de ellas:
 +
 +@lilypond[quote,fragment,relative=2]
 +<< { b8~ b8\noBeam }
 +\\ { b[ g8] }
 +>>
 +@end lilypond
 +
 +@noindent
 +y borrando la primera plica hacia arriba en esa voz, da la impresión
 +de que la ligadura se cruza entre las voces:
 +
 +@cindex Stem, ejemplo de sobreescritura
 +@cindex transparent, propiedad, ejemplo
 +
 +@lilypond[quote,fragment,relative=2,verbatim]
 +<<
 +  {
 +    \once \override Stem #'transparent = ##t
 +    b8~ b8\noBeam
 +  }
 +\\
 +  { b[ g8] }
 +>>
 +@end lilypond
 +
 +Para estar seguros de que la plica que acabamos de borrar no aprieta
 +demasiado a la ligadura, podemos alargar la plica estableciendo su
 +valor de longitud @code{length} a @code{8},
 +
 +@lilypond[quote,fragment,relative=2,verbatim]
 +<<
 +  {
 +    \once \override Stem #'transparent = ##t
 +    \once \override Stem #'length = #8
 +    b8~ b8\noBeam
 +  }
 +\\
 +  { b[ g8] }
 +>>
 +@end lilypond
 +
 +@subheading Simulating a fermata in MIDI
 +
 +@cindex sello, uso de la propiedad
 +@cindex fermata, realización en MIDI
 +
 +Para los objetos fuera-del-pentagrama, normalmente es mejor
 +sobreescribir la propiedad @code{stencil} («sello») del objeto que su
 +propiedad @code{transparent} cuando desee quitarlos de la salida
 +impresa.  Mediante el establecimiento de la propiedad @code{stencil}
 +de un objeto al valor @code{#f} podemos quitar el objeto por completo
 +de la salida impresa.  Esto significa que no tiene efecto sobre la
 +colocación de otros objetos que pudieran colocarse en relación a él.
 +
 +Por ejemplo, si quisiéramos cambiar la indicación metronómica con el
 +propósito de simular un calderón en la salida MIDI, seguramente no
 +querríamos que la indicación metronómica apareciese en la salida
 +impresa, y no querríamos influir sobre la separación entre los dos
 +sistemas ni sobre la colocación de las anotaciones adyacentes sobre el
 +pentagrama.  Por lo tanto, establecer su propiedad @code{stencil} al
 +valor @code{#f} sería la mejor manera.  Mostramos aquí el efecto de
 +los dos métodos:
 +
 +@cindex MetronomeMark, ejemplo de sobreescritura
 +@cindex transparent, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,ragged-right]
 +\score {
 +  \relative c'' {
 +    % Visible tempo marking
 +    \tempo 4=120
 +    a4 a a
 +    \once \override Score.MetronomeMark #'transparent = ##t
 +    % Invisible tempo marking to lengthen fermata in MIDI
 +    \tempo 4=80
 +    a\fermata
 +    % New tempo for next section
 +    \tempo 4=100
 +    a a a a
 +  }
 +  \layout { }
 +  \midi { }
 +}
 +@end lilypond
 +
 +@cindex MetronomeMark, ejemplo de sobreescritura
 +@cindex stencil, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim,ragged-right]
 +\score {
 +  \relative c'' {
 +    % Visible tempo marking
 +    \tempo 4=120
 +    a4 a a
 +    \once \override Score.MetronomeMark #'stencil = ##f
 +    % Invisible tempo marking to lengthen fermata in MIDI
 +    \tempo 4=80
 +    a\fermata
 +    % New tempo for next section
 +    \tempo 4=100
 +    a a a a
 +  }
 +  \layout { }
 +  \midi { }
 +}
 +@end lilypond
 +
 +@noindent
 +Ambos métodos quitan de la salida impresa la indicación metronómica
 +que alarga el calderón, y los dos afectan al tempo del MIDI tal y como
 +queríamos, pero la indicación metronómica transparente de la primera
 +línea fuerza una colocación muy alta de la indicación de tempo que
 +sigue, mientras que la segunda (con el sello suprimido) no lo hace.
 +
 +@node Using variables for tweaks
 +@subsection Using variables for tweaks
 +
 +@cindex variables, uso de, para trucos
 +@cindex usar variables para hacer trucos
 +@cindex trucos, usar variables para hacer
 +
 +Las instrucciones de sobreescritura son con frecuencia largas y
 +tediosas de escribir, y se tienen que escribir de forma absolutamente
 +correcta.  Si las mismas sobreescrituras se van a utilizar muchas
 +veces, podría merecer la pena definir variables para guardarlas.
 +
 +Supongamos que queremos realzar ciertas palabras de la letra de una
 +canción imprimiéndolas en cursiva y negrita.  Las instrucciones
 +@code{\italic} y @code{\bold} sólo funcionan dentro de la letra de las
 +canciones si están incluidas, junto con la palabra o palabras que se
 +pretenden modificar, dentro de un @code{\markup}, lo que las hace
 +tediosas de escribir. La necesidad de incluir las propias palabras
 +impide que se puedan usar en variables simples. ¿Podríamos, como
 +alternativa, utilizar las instrucciones @code{\override} y
 +@code{\revert}?
 +
 +@example
 +@code{\override Lyrics . LyricText #'font-shape = #'italic}
 +@code{\override Lyrics . LyricText #'font-series = #'bold}
 +
 +@code{\revert Lyrics . LyricText #'font-shape}
 +@code{\revert Lyrics . LyricText #'font-series}
 +@end example
 +
 +Estas instrucciones también serían extremadamente tediosas de escribir
 +si hubiera muchas palabras que quisiéramos subrayar.  Pero sí
 +@emph{podemos} definirlas como dos variables y usarlas para delimitar
 +las palabras que destacar.  Otra ventaja de la utilización de
 +variables para estas sobreescrituras es que ya no son necesarios los
 +espacios que rodean al punto, puesto que no se interpretan
 +directamente en el modo @code{\lyricmode}.  He aquí un ejemplo de
 +esto, aunque en la práctica quizá elegiríamos unos nombres de variable
 +más cortos para que fueran más rápidos de teclear:
 +
 +@cindex LyricText, ejemplo de sobreescritura
 +@cindex font-shape, propiedad, ejemplo
 +@cindex font-series, propiedad, ejemplo
 +
 +@lilypond[quote,verbatim]
 +emphasize = {
 +  \override Lyrics.LyricText #'font-shape = #'italic
 +  \override Lyrics.LyricText #'font-series = #'bold
 +}
 +normal = {
 +  \revert Lyrics.LyricText #'font-shape
 +  \revert Lyrics.LyricText #'font-series
 +}
 +
 +global = { \time 4/4 \partial 4 \key c \major}
 +SopranoMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
 +AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
 +TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
 +BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
 +VerseOne   = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
 +VerseTwo   = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
 +VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
 +VerseFour  = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
 +
 +\score {
 +  \new ChoirStaff <<
 +    \new Staff <<
 +      \clef "treble"
 +      \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
 +      \new Voice = "Alto" { \voiceTwo \AltoMusic }
 +      \new Lyrics \lyricsto "Soprano" { \VerseOne   }
 +      \new Lyrics \lyricsto "Soprano" { \VerseTwo   }
 +      \new Lyrics \lyricsto "Soprano" { \VerseThree }
 +      \new Lyrics \lyricsto "Soprano" { \VerseFour  }
 +    >>
 +    \new Staff <<
 +      \clef "bass"
 +      \new Voice = "Tenor" { \voiceOne \TenorMusic }
 +      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +
 +@node Other sources of information
 +@subsection Other sources of information
 +
 +La documentación del manual de Referencia de Funcionamiento Interno
 +contiene montañas de información sobre LilyPond, pero se puede obtener
 +más información aún leyendo los archivos internos de LilyPond.  Para
 +echarles un vistazo, en primer lugar debe buscar la carpeta
 +correspondiente a su sistema.  La ubicación de esta carpeta depende
 +(a) de si consiguió el programa LilyPond descargando un binario
 +precompilado desde el sitio web lilypond.org o si lo instaló mediante
 +un gestor de paquetes (es decir, distribuido con Linux, o instalado
 +bajo fink o cygwin) o fue compilado a partir de la fuente, y (b) de
 +qué sistema operativo está utilizando:
 +
 +
 +@strong{Descargado de lilypond.org}
 +
 +@itemize @bullet
 +@item Linux
 +
 +Diríjase a
 +@file{@var{CARPETA_DE_INSTALACIÓN}/lilypond/usr/share/lilypond/current/}
 +
 +@item MacOS X
 +
 +Diríjase a
 +@file{@var{CARPETA_DE_INSTALACIÓN}/LilyPond.app/Contents/Resources/share/lilypond/current/}
 +bien haciendo @code{cd} hacia este directorio desde el Terminal, o
 +bien manteniendo pulsada la tecla de Control y haciendo click sobre la
 +aplicación de LilyPond, y allí eligiendo @q{Mostrar el contenido del
 +paquete}.
 +
 +@item Windows
 +
 +Mediante el Explorador de Windows, diríjase a
 +@file{@var{CARPETA_DE_INSTALACIÓN}/LilyPond/usr/share/lilypond/current/}
 +
 +@end itemize
 +
 +@strong{Instalado mediante un gestor de paquetes o compilado a partir de la fuente}
 +
 +Diríjase a
 +@file{@var{PREFIJO}/share/lilypond/@var{X.Y.Z}/}, donde @var{PREFIJO}
 +se encuentra determinado por su administrador de paquetes o guión
 +@code{configure}, y @var{X.Y.Z} es el número de la versión de
 +LilyPond.
 +
 +@smallspace
 +
 +Dentro de esta carpeta, las dos subcarpetas interesantes son
 +
 +@itemize
 +@item @file{ly/} - contiene archivos en formato LilyPond
 +@item @file{scm/} - contiene archivos en formato Scheme
 +@end itemize
 +
 +Vamos a comenzar observando algunos archivos que están en @file{ly/}.
 +Abra @file{ly/property-init.ly} con un editor de textos.  El mismo que
 +usaría normalmente para los archivos @code{.ly} servirá perfectamente.
 +Este archivo contiene las definiciones de todas las instrucciones
 +estándar predefinidas de LilyPond, como por ejemplo @code{\stemUp} y
 +@code{\slurDotted}.  Podrá ver que no son nada más que definiciones de
 +variables que contienen una o varias instrucciones @code{\override}.
 +Por ejemplo, @code{/tieDotted} está definido de tal forma que su valor
 +es:
 +
 +@example
 +tieDotted = @{
 +  \override Tie #'dash-period = #0.75
 +  \override Tie #'dash-fraction = #0.1
 +@}
 +@end example
 +
 +Si no le gustan los valores predeterminados, estas instrucciones
 +predefinidas se pueden redefinir con facilidad como cualquier otra
 +variable, al principio de su archivo de código de entrada.
 +
 +Los siguientes son los archivos más útiles que se encuentran en
 +@file{ly/}:
 +
 +@multitable @columnfractions .4 .6
 +@headitem Archivo
 +  @tab Contenido
 +@item @file{ly/engraver-init.ly}
 +  @tab Definiciones de Contextos de grabadores
 +@item @file{ly/paper-defaults-init.ly}
 +  @tab especificaciones de valores predeterminados relacionados con el papel
 +@item @file{ly/performer-init.ly}
 +  @tab Definiciones de Contextos de interpretación
 +@item @file{ly/property-init.ly}
 +  @tab Definiciones de todas las instrucciones predefinidas que son comunes
 +@item @file{ly/spanner-init.ly}
 +  @tab Definiciones de las instrucciones predefinidas relacionadas con los objetos de extensión
 +@end multitable
 +
 +Otros ajustes (como las definiciones de las instrucciones de marcado)
 +se almacenan como archivos @code{.scm} (de Scheme).  El lenguaje de
 +programación Scheme se utiliza para proporcionar un interfaz
 +programable en el funcionamiento interno de LilyPond.  Cualquier
 +explicación adicional sobre estos archivos se encuentra por el momento
 +fuera del ámbito de este manual, porque se requieren conocimientos del
 +lenguaje Scheme.  Se advierte a los usuarios que se necesita una
 +importante cantidad de conocimientos técnicos o de tiempo para
 +comprender el lenguaje Scheme y estos archivos (véase @ref{Scheme
 +tutorial}).
 +
 +Si ya tiene estos conocimientos, los archivos de Scheme que pueden
 +interesarle son:
 +
 +@multitable @columnfractions .4 .6
 +@headitem Archivo
 +  @tab Contenido
 +@item @file{scm/auto-beam.scm}
 +  @tab Valores predeterminados de sub-barrado
 +@item @file{scm/define-grobs.scm}
 +  @tab valores predeterminados de las propiedades de grobs
 +@item @file{scm/define-markup-commands.scm}
 +  @tab Especificar todas las instrucciones de marcado
 +@item @file{scm/midi.scm}
 +  @tab Ajustes predeterminados para la salida MIDI
 +@item @file{scm/output-lib.scm}
 +  @tab Ajustes que afectan al aspecto de los trastes, colores, alteraciones, lineas divisorias, etc.
 +@item @file{scm/parser-clef.scm}
 +  @tab Definiciones de las claves contempladas
 +@item @file{scm/script.scm}
 +  @tab Ajustes predeterminados para las articulaciones
 +@end multitable
 +
 +
 +
 +@node Avoiding tweaks with slower processing
 +@subsection Avoiding tweaks with slower processing
 +
 +LilyPond puede llevar a cabo comprobaciones adicionales al tiempo que
 +procesa los archivos.  Estas instrucciones consumen tiempo, pero el
 +resultado puede necesitar menos trucos manuales para obtener un
 +resultado aceptable.  Si una inscripción de texto o parte de la letra
 +se sale de los márgenes, estas comprobaciones comprimirán dicha línea
 +en la medida justa como para que encaje dentro de los márgenes.
 +
 +Para que sean efectivos bajo cualquier circunstancia, estas
 +comprobaciones deben habilitarse colocando las instrucciones de
 +sobreescritura dentro del bloque @code{\with} dentro de un Score, y no
 +en línea con la música, de la forma siguiente:
 +
 +
 +@example
 +\new Score \with @{
 +  %  asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
 +  \override PaperColumn #'keep-inside-line = ##t
 +  \override NonMusicalPaperColumn #'keep-inside-line = ##t
 +@} @{
 +   ..
 +@}
 +@end example
 +
 +@node Advanced tweaks with Scheme
 +@subsection Advanced tweaks with Scheme
 +
 +Aunque es posible hacer muchas cosas con las instrucciones
 +@code{\override} y @code{\tweak} , tenemos una forma incluso más
 +poderosa de modificar el funcionamiento de LilyPond, a través de un
 +interface programable hacia las operaciones internas de LilyPond.  Se
 +puede incorporar código escrito en el lenguaje de programación Scheme,
 +directamente en el mecanismo de funcionamiento de LilyPond.  Por
 +supuesto, para hacer esto se necesitan al menos unos conocimientos
 +básicos de programación en Scheme, y damos una introducción en el
 +@ref{Scheme tutorial}.
 +
 +Como ejemplo que ilustra una de las muchas posibilidades, en lugar de
 +dar a una propiedad un valor constante, se puede establecer al
 +resultado de un procedimiento de Scheme que se invoca cada vez que
 +LilyPond accede a esta propiedad.  La propiedad se puede establecer
 +dinámicamente a un valor determinado por el procedimiento en el
 +momento en que se invoca.  En este ejemplo damos a las cabezas de las
 +notas un color que depende de su posición dentro del pentagrama.
 +
 +@cindex x11-color, función, ejemplo de utilización
 +@cindex NoteHead, ejemplo de sobreescritura
 +@cindex color, propiedad, establecer a procedimiento de Scheme
 +
 +@lilypond[quote,verbatim,ragged-right]
 +#(define (color-notehead grob)
 +  "Color the notehead according to its position on the staff."
 +  (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
 +    (case mod-position
 +      ;;   Return rainbow colors
 +      ((1) (x11-color 'red    ))  ; for C
 +      ((2) (x11-color 'orange ))  ; for D
 +      ((3) (x11-color 'yellow ))  ; for E
 +      ((4) (x11-color 'green  ))  ; for F
 +      ((5) (x11-color 'blue   ))  ; for G
 +      ((6) (x11-color 'purple ))  ; for A
 +      ((0) (x11-color 'violet ))  ; for B
 +    )
 +  )
 +)
 +
 +\relative c' {
 +  % Arrange to obtain color from color-notehead procedure
 +  \override NoteHead #'color = #color-notehead
 +  c2 c' |
 +  b4 g8 a b4 c |
 +  c,2 a' |
 +  g1 |
 +}
 +\addlyrics {
 +  Some -- where o -- ver the Rain -- bow, way up high,
 +}
 +@end lilypond
 +
 +Se pueden encontrar ejemplos adicionales que muestran la utilización
 +de estos interfaces programables, en @ref{Tweaking with Scheme}.
index be120a0b8bbc23f72a4c27b2042ec4ca7f9eb991,0000000000000000000000000000000000000000..949a0cea3671df518db36c97aa6b318037beaf17
mode 100644,000000..100644
--- /dev/null
@@@ -1,344 -1,0 +1,344 @@@
-     Translation of GIT committish: 312827f1242ea7d2864659fa292bc9861ac19c6c
 +@c -*- coding: utf-8; mode: texinfo; -*-
 +@ignore
++    Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +
 +@include version.itexi
 +@include common-macros.itexi
 +
 +
 +@c   ***** Displaying text *****
 +
 +@c To get decent quotes in `foo' and ``foo''.
 +
 +@macro q{TEXT}
 +@quoteleft{}\TEXT\@quoteright{}
 +@end macro
 +
 +@macro qq{TEXT}
 +@quotedblleft{}\TEXT\@quotedblright{}
 +@end macro
 +
 +
 +@ifhtml
 +
 +@macro warning{TEXT}
 +@cartouche
 +@b{Nota:} \TEXT\
 +@end cartouche
 +@end macro
 +
 +@end ifhtml
 +
 +@ifnothtml
 +
 +@macro warning{TEXT}
 +@quotation
 +@quotation
 +@cartouche
 +@b{Nota:} \TEXT\
 +@end cartouche
 +@end quotation
 +@end quotation
 +@end macro
 +
 +@end ifnothtml
 +
 +
 +
 +
 +
 +
 +@c   ***** Headings in a doc subsection *****
 +
 +@c Don't insert an empty line after @predefined!  Right now
 +@c it doesn't matter, but a future implementation will probably
 +@c add some code which needs this restriction.
 +
 +@macro predefined
 +@noindent
 +@subsubheading Instrucciones predefinidas
 +@end macro
 +
 +@c The next macro is a dummy currently since texinfo doesn't
 +@c provide a real ragged-right environment yet.
 +@c
 +@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)
 +@c the macro must not be empty.
 +
 +@macro endpredefined
 +@c
 +@end macro
 +
 +
 +@macro snippets
 +@noindent
 +@subsubheading Fragmentos de código seleccionados
 +@end macro
 +
 +
 +@c * Deprecated: not in English macros.itexi *
 +@macro commonprop
 +@noindent
 +@subsubheading Propiedades trucadas frecuentemente
 +@end macro
 +
 +
 +@c Don't insert an empty line after @seealso!  Otherwise we get
 +@c unwanted extra vertical space in the PDF output.
 +
 +@macro seealso
 +@noindent
 +@subsubheading Véase también
 +@indent
 +@end macro
 +
 +
 +@macro knownissues
 +@noindent
 +@subsubheading Advertencias y problemas conocidos
 +@end macro
 +
 +
 +@c   ***** Links and references *****
 +
 +@c  Definitions for references:
 +@c
 +@c     @rglos
 +@c     @rlearning
 +@c     @ruser
 +@c     @rprogram
 +@c     @rlsr
 +@c     @rinternals
 +@c
 +@c  All these also have a @...named version which allows to specify the
 +@c  displayed text for the reference as second argument.
 +@c
 +@c ***** HTML + bigpage is a special case (other manual names); all other
 +@c formats are treated similarly.
 +
 +
 +@c *** not TeX ***
 +
 +@ifnottex
 +
 +@c ** bigpage **
 +
 +@ifset bigpage
 +
 +@macro rglos{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,music-glossary-big-page,Glosario Musical}
 +@end macro
 +
 +@macro rglosnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,music-glossary-big-page,Glosario Musical}
 +@end macro
 +
 +@macro rlearning{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,learning-big-page,Manual de Aprendizaje}
 +@end macro
 +
 +@macro rlearningnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,learning-big-page,Manual de Aprendizaje}
 +@end macro
 +
 +@macro ruser{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,notation-big-page,Referencia de la Notación}
 +@end macro
 +
 +@macro rusernamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,notation-big-page,Referencia de la Notación}
 +@end macro
 +
 +@macro rprogram{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,application-big-page,Utilización del Programa}
 +@end macro
 +
 +@macro rprogramnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,application-big-page,Utilización del Programa}
 +@end macro
 +
 +@macro rlsr{TEXT}
 +@ref{\TEXT\,,,snippets-big-page,Fragmentos de código}
 +@end macro
 +
 +@macro rlsrnamed{TEXT,DISPLAY}
 +@ref{\TEXT\,,\DISPLAY\,snippets-big-page,Fragmentos de código}
 +@end macro
 +
 +@macro rinternals{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,internals-big-page,Referencia de Funcionamiento Interno}
 +@end macro
 +
 +@macro rinternalsnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,internals-big-page,Referencia de Funcionamiento Interno}
 +@end macro
 +
 +@end ifset
 +
 +
 +@c ** not bigpage **
 +
 +@ifclear bigpage
 +
 +@macro rglos{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,music-glossary,Glosario Musical}
 +@end macro
 +
 +@macro rglosnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,music-glossary,Glosario Musical}
 +@end macro
 +
 +@macro rlearning{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,learning,Manual de Aprendizaje}
 +@end macro
 +
 +@macro rlearningnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,learning,Manual de Aprendizaje}
 +@end macro
 +
 +@macro ruser{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,notation,Referencia de la Notación}
 +@end macro
 +
 +@macro rusernamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,notation,Referencia de la Notación}
 +@end macro
 +
 +@macro rprogram{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,application,Utilización del Programa}
 +@end macro
 +
 +@macro rprogramnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,application,Utilización del Programa}
 +@end macro
 +
 +@macro rlsr{TEXT}
 +@ref{\TEXT\,,,snippets,Fragmentos de código}
 +@end macro
 +
 +@macro rlsrnamed{TEXT,DISPLAY}
 +@ref{\TEXT\,,\DISPLAY\,snippets,Fragmentos de código}
 +@end macro
 +
 +@macro rinternals{TEXT}
 +@vindex \TEXT\
 +@ref{\TEXT\,,,internals,Referencia de Funcionamiento Interno}
 +@end macro
 +
 +@macro rinternalsnamed{TEXT,DISPLAY}
 +@vindex \TEXT\
 +@ref{\TEXT\,,\DISPLAY\,internals,Referencia de Funcionamiento Interno}
 +@end macro
 +
 +@end ifclear
 +
 +@end ifnottex
 +
 +
 +@c *** TeX ***
 +
 +@iftex
 +
 +@c All commands below should work in the middle of the line;
 +@c we thus must not use @vindex directly since it works only if placed
 +@c on a line of its own.  To overcome this problem, we define a
 +@c replacement macro using the internal definition of @vindex which
 +@c delimits arguments in the standard way (i.e., with braces).
 +
 +@tex
 +\gdef\lilyvindex#1{\doind{vr}{\code #1}\ignorespaces}
 +@end tex
 +
 +@macro rglos{TEXT}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,,music-glossary,Glosario Musical}
 +@end macro
 +
 +@macro rglosnamed{TEXT,DISPLAY}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,\DISPLAY\,music-glossary,Glosario Musical}
 +@end macro
 +
 +@macro rlearning{TEXT}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,,learning.es,Manual de Aprendizaje}
 +@end macro
 +
 +@macro rlearningnamed{TEXT,DISPLAY}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,\DISPLAY\,learning.es,Manual de Aprendizaje}
 +@end macro
 +
 +@macro ruser{TEXT}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,,notation.es,Referencia de la Notación}
 +@end macro
 +
 +@macro rusernamed{TEXT,DISPLAY}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,\DISPLAY\,notation.es,Referencia de la Notación}
 +@end macro
 +
 +@macro rprogram{TEXT}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,,application.es,Utilización del Programa}
 +@end macro
 +
 +@macro rprogramnamed{TEXT,DISPLAY}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,\DISPLAY\,application.es,Utilización del Programa}
 +@end macro
 +
 +@macro rlsr{TEXT}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,,snippets,Fragmentos de código}
 +@end macro
 +
 +@macro rlsrnamed{TEXT,DISPLAY}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,\DISPLAY\,snippets,Fragmentos de código}
 +@end macro
 +
 +@macro rinternals{TEXT}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,,internals,Referencia de Funcionamiento Interno}
 +@end macro
 +
 +@macro rinternalsnamed{TEXT,DISPLAY}
 +@lilyvindex{\TEXT\}
 +@ref{\TEXT\,,\DISPLAY\,internals,Referencia de Funcionamiento Interno}
 +@end macro
 +
 +@end iftex
 +
 +
 +
 +@c   ***** Macros specific to translated docs *****
 +
 +
 +@macro englishref
 +Esta sección aún no está traducida; consulte el manual en inglés.
 +@end macro
index 10c9cb161ffeab1f36f7bfdce98c3ba381e78cff,0000000000000000000000000000000000000000..ba57aa2049383292337eeb182cd5ac38884f2910
mode 100644,000000..100644
--- /dev/null
@@@ -1,2088 -1,0 +1,2094 @@@
-     Translation of GIT committish: 46e1b0a15ecf324b3272645224f3a2b3068dce73
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 +
 +@ignore
++    Translation of GIT committish: 5f51567fbc5d7a811e147ebd01f103e066f36b3a
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +@node General input and output
 +@chapter General input and output
 +
 +Esta sección trata de asuntos relacionados con la entrada y salida
 +generales de LilyPond, más que con la notación específica.
 +
 +@menu
 +* Input structure::
 +* Titles and headers::
 +* Working with input files::
 +* Controlling output::
 +* MIDI output::
 +@end menu
 +
 +
 +@node Input structure
 +@section Input structure
 +
 +El formato principal de entrada para LilyPond son archivos de texto.
 +Por convenio, el nombre de estos archivos termina en @code{.ly}.
 +
 +@menu
 +* Structure of a score::
 +* Multiple scores in a book::
 +* File structure::
 +@end menu
 +
 +
 +@node Structure of a score
 +@subsection Structure of a score
 +
 +@funindex \score
 +
 +Un bloque @code{\score} debe contener una expresión musical única
 +delimitada por un par de llaves:
 +
 +@example
 +\score @{
 +...
 +@}
 +@end example
 +
 +@c outer?
 +@warning{Sólo puede haber @strong{una} expresión musical dentro del
 +bloque @code{\score}, y @strong{debe} estar encerrada entre llaves.}
 +
 +Esta expresión musical única puede tener cualquier tamaño, y puede
 +contener otras expresiones musicales hasta cualquier grado de
 +complejidad.  Todos los siguientes ejemplos son expresiones musicales:
 +
 +@example
 +@{ c'4 c' c' c' @}
 +@end example
 +
 +@lilypond[verbatim,quote]
 +{
 +  { c'4 c' c' c'}
 +  { d'4 d' d' d'}
 +}
 +@end lilypond
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \new Staff { c'4 c' c' c' }
 +  \new Staff { d'4 d' d' d' }
 +>>
 +@end lilypond
 +
 +@example
 +@{
 +  \new GrandStaff <<
 +    \new StaffGroup <<
 +      \new Staff @{ \flute @}
 +      \new Staff @{ \oboe @}
 +    >>
 +    \new StaffGroup <<
 +      \new Staff @{ \violinI @}
 +      \new Staff @{ \violinII @}
 +    >>
 +  >>
 +@}
 +@end example
 +
 +Los comentarios son una excepción a esta regla general (para ver otras
 +excepciones, consulte @ref{File structure}).  Tanto los comentarios de
 +una línea como los que están delimitados por @code{%@{ .. %@}} se
 +pueden escribir en cualquier lugar dentro del archivo de entrada.  Se
 +pueden escribir dentro o fuera del bloque @code{\score}, y dentro o
 +fuera de la expresión musical única dentro del bloque @code{\score}.
 +
 +
 +@seealso
 +Manual de aprendizaje:
 +@rlearning{Working on input files},
 +@rlearning{Music expressions explained},
 +@rlearning{Score is a (single) compound musical expression}.
 +
 +
 +@node Multiple scores in a book
 +@subsection Multiple scores in a book
 +
 +@funindex \book
 +@cindex movimientos, varios
 +
 +Un documento puede contener varias piezas de música y texto.  Son
 +ejemplos un libro de estudios o una parte orquestal con varios
 +movimientos.  Cada movimiento se introduce con un bloque
 +@code{\score}:
 +
 +@example
 +\score @{
 +  @var{..música..}
 +@}
 +@end example
 +
 +y los textos se introducen con un bloque @code{\markup}:
 +
 +@example
 +\markup @{
 +  @var{..texto..}
 +@}
 +@end example
 +
 +@funindex \book
 +
 +Todos los movimientos y textos que aparecen en el mismo archivo
 +@code{.ly} se tipografían normalmente en la forma de un solo archivo
 +de salida.
 +
 +@example
 +\score @{
 +  @var{..}
 +@}
 +\markup @{
 +  @var{..}
 +@}
 +\score @{
 +  @var{..}
 +@}
 +@end example
 +
 +Sin embargo, si queremos varios archivos de salida a partir del mismo
 +archivo @code{.ly}, podemos escribir varios bloques @code{\book},
 +donde cada uno de estos bloques @code{\book} dará como resultado un
 +archivo de salida distinto.  Si no especificamos ningún bloque
 +@code{\book} en el archivo,, LilyPond trata implícitamente todo el
 +archivo como un solo bloque @code{\book}, véase @ref{File structure}.
 +Una excepción importante se da dentro de los documentos de
 +lilypond-book, en los que tenemos que escribir explícitamente un
 +bloque @code{\book}, pues en caso contrario sólo aparecerá en la
 +salida el primer @code{\score} o @code{\markup}.
 +
 +El encabezamiento de cada pieza se puede poner dentro del bloque
 +@code{\score}.  Antes de cada movimiento, se imprime el nombre de la
 +pieza (@code{piece}) extraído del encabezamiento.  El título del libro
 +entero se puede poner dentro del bloque @code{\book}, pero si no está
 +presente se inserta el encabezamiento @code{\header} que está al
 +principio del archivo.
 +
 +@example
 +\header @{
 +  title = "Ocho miniaturas"
 +  composer = "Igor Stravinsky"
 +@}
 +\score @{
 +  @dots{}
 +  \header @{ piece = "Romanze" @}
 +@}
 +\markup @{
 +   ..texto de la segunda estrofa..
 +@}
 +\markup @{
 +   ..texto de la tercera estrofa..
 +@}
 +\score @{
 +  @dots{}
 +  \header @{ piece = "Menuetto" @}
 +@}
 +@end example
 +
 +
 +@funindex \bookpart
 +
 +Se pueden agrupar distintas piezas de música en partes de un libro
 +utilizando bloques @code{\bookpart}.  Las partes de libro se separan
 +por medio de saltos de página, y pueden dar comienzo con un título,
 +como el libro propiamente dicho, mediante la especificación del bloque
 +@code{\header}.
 +
 +@example
 +\bookpart @{
 +  \header @{
 +    title = "Título del libro"
 +    subtitle = "Primera parte"
 +  @}
 +  \score @{ @dots{} @}
 +  @dots{}
 +@}
 +\bookpart @{
 +  \header @{
 +    subtitle = "Segunda parte"
 +  @}
 +  \score @{ @dots{} @}
 +  @dots{}
 +@}
 +@end example
 +
 +
 +@node File structure
 +@subsection File structure
 +
 +@funindex \paper
 +@funindex \midi
 +@funindex \layout
 +@funindex \header
 +@funindex \score
 +@funindex \book
 +@funindex \bookpart
 +
 +Un archivo @code{.ly} puede contener cualquier número de expresiones
 +del nivel superior, donde una expresión del nivel superior es una de
 +las siguientes posibilidades:
 +
 +@itemize @bullet
 +@item
 +Una definición de salida, como @code{\paper}, @code{\midi} y
 +@code{\layout}.  Tal definición en el nivel más alto cambia los
 +ajustes predeterminados para todo el libro.  Si se introduce más de
 +una de estas definiciones del mismo tipo en el nivel más alto,
 +cualquier definición en una expresión posterior tiene prioridad.
 +
 +@item
 +Una expresión directa de Scheme, como
 +@code{#(set-default-paper-size "a7" 'landscape)} o
 +@code{#(ly:set-option 'point-and-click #f)}.
 +
 +@item
 +Un bloque @code{\header}.  Esto establece el bloque de encabezamiento
 +global.  Es el bloque que contiene las definiciones de los ajustes
 +para todo el libro, como el compositor, título, etc.
 +
 +@item
 +Un bloque @code{\score}.  Esta partitura se reúne con otras partituras
 +del nivel superior, y se combina con ellas formando un @code{\book}
 +(libro) único.  Este comportamiento se puede cambiar estableciendo el
 +valor de la variable @code{toplevel-score-handler} en el nivel
 +superior.  El @emph{handler} predeterminado se define en el archivo de
 +inicio @file{../scm/@/lily@/.scm}.
 +
 +@item
 +Un bloque @code{\book} combina lógicamente varios movimientos (es
 +decir, varios bloques @code{\score}) en un solo documento.  Si hay
 +varias partituras @code{\score}, se crea un solo archivo de salida
 +para cada bloque @code{\book}, en el que se concatenan todos los
 +movimientos correspondientes.  La única razón para especificar
 +explícitamente bloques @code{\book} en un archivo de entrada
 +@code{.ly} es si queremos crear varios archivos de salida a partir de
 +un único archivo de entrada.  Una excepción se da dentro de los
 +documentos de lilypond-book, en los que tenemos que escribir
 +explícitamente un bloque @code{\book} si queremos tener más de una
 +única partitura @code{\score} o marcado @code{\markup} en el mismo
 +ejemplo.  Se puede cambiar este comportamiento estableciendo el valor
 +de la variable @code{toplevel-book-handler} en el nivel superior.  El
 +@emph{handler} predeterminado se define en el archivo de inicio
 +@file{../scm/@/lily@/.scm}.
 +
 +@item
 +Un bloque @code{\bookpart}.  Un libro puede dividirse en varias
 +partes, utilizando bloques @code{\bookpart}, con objeto de facilitar
 +la inserción de saltos de página o usar distintos ajustes de
 +@code{\paper} en las distintas partes.
 +
 +@item
 +Una expresión musical compuesta, como
 +@example
 +@{ c'4 d' e'2 @}
 +@end example
 +
 +Esto añade la pieza al @code{\score} y la conforma dentro de un libro
 +único junto a todas las demás partituras @code{\score} y expresiones
 +musicales del nivel superior.  En otras palabras, un archivo que
 +contiene sólo la expresión musical anterior se traduce a
 +
 +@example
 +\book @{
 +  \score @{
 +    \new Staff @{
 +      \new Voice @{
 +        @{ c'4 d' e'2 @}
 +      @}
 +    @}
 +  @}
 +      \layout @{ @}
 +      \header @{ @}
 +@}
 +@end example
 +
 +Se puede cambiar este comportamiento estableciendo el valor de la
 +variable @code{toplevel-music-handler} en el nivel más alto.  El
 +@emph{handler} predeterminado se define en el archivo de inicio
 +@file{../scm/@/lily@/.scm}.
 +
 +@item
 +Un texto de marcado, por ejemplo una estrofa
 +@example
 +\markup @{
 +   2.  Estrofa dos, línea uno
 +@}
 +@end example
 +
 +Los textos de marcado se colocan encima, en medio o debajo de las
 +partituras o expresiones musicales, según donde aparezcan escritos.
 +
 +@cindex variables
 +
 +@item
 +Una variable, como
 +@example
 +fulano = @{ c4 d e d @}
 +@end example
 +
 +Esto se puede utilizar más tarde en el archivo escribiendo
 +@code{\fulano}.  El nombre de las variables ha de ser exclusivamente
 +alfabético; sin números, guiones ni barras bajas.
 +
 +@end itemize
 +
 +El ejemplo siguiente muestra tres cosas que se pueden introducir en el
 +nivel superior:
 +
 +@example
 +\layout @{
 +  % No justificar la salida
 +  ragged-right = ##t
 +@}
 +
 +\header @{
 +   title = "Do-re-mi"
 +@}
 +
 +@{ c'4 d' e2 @}
 +@end example
 +
 +En cualquier punto del archivo se pueden introducir cualquiera de las
 +instrucciones léxicas siguientes:
 +
 +@itemize
 +@item @code{\version}
 +@item @code{\include}
 +@item @code{\sourcefilename}
 +@item @code{\sourcefileline}
 +@item
 +Un comentario de una línea, determinado por un símbolo @code{%} al principio.
 +
 +@item
 +Un comentario de varias líneas, delimitado por @code{%@{ .. %@}}.
 +
 +@end itemize
 +
 +@cindex espacios en blanco
 +
 +Por lo general se ignoran los espacios entre elementos del flujo de
 +entrada, y se pueden omitir o aumentar tranquilamente para mejorar la
 +legibilidad.  Sin embargo, los espacios se deben utilizar siempre para
 +evitar errores, en las siguientes situaciones:
 +
 +@itemize
 +@item Alrededor de todas y cada una de las llaves curvas de apertura y cierre.
 +@item A continuación de las instrucciones y variables, es decir, todos los elementos
 +que comienzan con un signo @code{\} de barra invertida.
 +@item A continuación de todo elemento que se deba interpretar como expresión
 +de Scheme, es decir, todo elemento que comience por un signo @code{#}.
 +@item Para separar los elementode de una expresión de Scheme.
 +@item Dentro de @code{lyricmode} para separar todos los términos de las instrucciones
 +@code{\override} y @code{\set}.  Concretamente, hay que usar espacios
 +alrededor del punto y el signo igual en instrucciones como
 +@code{\override Score . LyricText #'font-size = #5} y antes y después
 +de la instrucción completa.
 +
 +@end itemize
 +
 +@seealso
 +Manual de aprendizaje:
 +@rlearning{How LilyPond input files work}.
 +
 +
 +@node Titles and headers
 +@section Titles and headers
 +
 +Casi toda la música impresa tiene un título y el nombre del
 +compositor; ciertas piezas tienen mucha más información.
 +
 +@menu
 +* Creating titles::
 +* Custom titles::
 +* Reference to page numbers::
 +* Table of contents::
 +@end menu
 +
 +
 +@node Creating titles
 +@subsection Creating titles
 +
 +Se crean títulos para cada uno de los bloques @code{\score} así como
 +para todo el archivo de entrada (o bloque @code{\book}, libro) y las
 +partes de libro (creadas mediante bloques @code{\bookpart}).
 +
 +El contenido de cada título se extrae a partir de los bloques
 +@code{\header} (cabecera).  El bloque de cabecera de un libro
 +contempla lo siguiente:
 +
 +@table @code
 +@funindex dedicatoria
 +@item dedication
 +El dedicatario de la música, centrado en lo alto de la primera página.
 +
 +@funindex title
 +@item title
 +El título de la música, centrado justo debajo de la
 +dedicatoria.
 +
 +@funindex subtitle
 +@item subtitle
 +Subtítulo, centrado debajo del título.
 +
 +@funindex subsubtitle
 +@item subsubtitle
 +Sub-subtítulo, centrado debajo del subtítulo.
 +
 +@funindex poet
 +@item poet
 +Nombre del poeta, a la izquierda, debajo del subtítulo.
 +
 +@funindex composer
 +@item composer
 +Nombre del compositor, a la derecha, debajo del subtítulo.
 +
 +@funindex meter
 +@item meter
 +Texto de la medida, a la izquierda, debajo del poeta.
 +
 +@funindex opus
 +@item opus
 +Nombre del Opus, a la derecha, debajo del compositor.
 +
 +@funindex arranger
 +@item arranger
 +Nombre del arreglista, a la derecha, debajo del Opus.
 +
 +@funindex instrument
 +@item instrument
 +Nombre del instrumento, centrado, debajo del arreglista.  También
 +aparece centrado en lo alto de cada página (aparte de la primera).
 +
 +@funindex piece
 +@item piece
 +Nombre de la pieza, a la izquierda, debajo del instrumento.
 +
 +@cindex página, saltos, forzar
 +@funindex breakbefore
 +@item breakbefore
 +Esto fuerza que el título comience sobre una página nueva (establézcalo a ##t o a ##f).
 +
 +@funindex copyright
 +@item copyright
 +Aviso de Copyright, centrado en la parte inferior de la primera
 +página.  Para insertar el símbolo de copyright, consulte
 +@ref{Text encoding}.
 +
 +@funindex tagline
 +@item tagline
 +Cartel de propósito general en el pie de página, centrado al final de la última.
 +
 +@end table
 +
 +A continuación presentamos una demostración de todos los campos que
 +están disponibles.  Fíjese en que puede utilizar en la cabecera
 +cualquier instrucción de marcado de texto (Véase @ref{Formatting text}).
 +
 +@lilypond[quote,verbatim,line-width=11.0\cm]
 +\paper {
 +  line-width = 9.0\cm
 +  paper-height = 10.0\cm
 +}
 +
 +\book {
 +  \header {
 +    dedication = "dedicated to me"
 +    title = \markup \center-column { "Title first line" "Title second line,
 +longer" }
 +    subtitle = "the subtitle,"
 +    subsubtitle = #(string-append "subsubtitle LilyPond version "
 +(lilypond-version))
 +    poet = "Poet"
 +    composer =  \markup \center-column { "composer" \small "(1847-1973)" }
 +    texttranslator = "Text Translator"
 +    meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
 +"r" }
 +    arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
 +#-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
 +    instrument = \markup \bold \italic "instrument"
 +    piece = "Piece"
 +  }
 +
 +  \score {
 +    { c'1 }
 +    \header {
 +      piece = "piece1"
 +      opus = "opus1"
 +    }
 +  }
 +  \markup {
 +      and now...
 +  }
 +  \score {
 +    { c'1 }
 +    \header {
 +      piece = "piece2"
 +      opus = "opus2"
 +    }
 +  }
 +}
 +@end lilypond
 +
 +Como se mostró anteriormente, puede usar varios bloques
 +@code{\header}.  Cuando los mismos campos aparecen en distintos
 +bloques, tiene validez el último en definirse.  A continuación un
 +breve ejemplo.
 +
 +@example
 +\header @{
 +  composer = "Compositor"
 +@}
 +\header @{
 +  piece = "Pieza"
 +@}
 +\score @{
 +  \new Staff @{ c'4 @}
 +  \header @{
 +    piece = "Otra pieza"  % sobreescribe a la anterior
 +  @}
 +@}
 +@end example
 +
 +Si define la cabecera @code{\header} dentro del bloque @code{\score},
 +por lo general se imprimirán solamente las cabeceras @code{piece} y
 +@code{opus}.  Fíjese en que la expresión musical debe aparecer antes
 +del @code{\header}.
 +
 +@lilypond[quote,verbatim,line-width=11.0\cm]
 +\score {
 +  { c'4 }
 +  \header {
 +    title = "title"  % not printed
 +    piece = "piece"
 +    opus = "opus"
 +  }
 +}
 +@end lilypond
 +
 +@funindex print-all-headers
 +@noindent
 +Se puede cambiar este comportamiento (e imprimir todas las cabeceras
 +cuando la cabecera @code{\header} está definida dentro del bloque
 +@code{\score}) mediante la utilización de
 +
 +@example
 +\paper@{
 +  print-all-headers = ##t
 +@}
 +@end example
 +
 +@cindex copyright
 +@cindex tagline
 +
 +El pie de página por omisión se encuentra vacío, excepto para la
 +primera página, en la que se inserta el campo de @code{copyright}
 +extraído del @code{\header}, y para la última página, en la que se
 +escribe el cartel @code{tagline} sacado del bloque @code{\header}.  La
 +línea por omisión para este cartel es @qq{Music engraving by LilyPond
 +(@var{version})}.@footnote{Las partituras bien tipografiadas son una
 +magnífica promoción para nosotros, así que por favor, si puede,
 +conserve intacta la línea del letrero.}
 +
 +Las cabeceras se pueden quitar completamente estableciendo su valor a
 +falso.
 +
 +@example
 +\header @{
 +  tagline = ##f
 +  composer = ##f
 +@}
 +@end example
 +
 +
 +@node Custom titles
 +@subsection Custom titles
 +
 +Una opción más avanzada es cambiar las definiciones de las variables
 +siguientes dentro del bloque @code{\paper}.  El archivo de
 +inicio @file{ly/titling-init.ly} ofrece un listado de la disposición
 +predeterminada.
 +
 +@table @code
 +@funindex bookTitleMarkup
 +@item bookTitleMarkup
 +  Es el título que se escribe en lo alto del documento de salida
 +completo.  Normalmente contiene el compositor y el título de la pieza.
 +
 +@funindex scoreTitleMarkup
 +@item scoreTitleMarkup
 +  Es el título que se coloca por encima de un bloque @code{\score}.
 +normalmente contiene el nombre del movimiento (campo @code{piece}).
 +
 +@funindex oddHeaderMarkup
 +@item oddHeaderMarkup
 +  Es el encabezamiento de las páginas de numeración impar.
 +
 +@funindex evenHeaderMarkup
 +@item evenHeaderMarkup
 +  Es el encabezamiento de las páginas de numeración par.  Si se deja
 +  sin especificar, se usará el encabezamiento de las páginas impares.
 +
 +  De forma predeterminada, los encabezamientos se definen de tal forma
 +que el número de página está en el borde exterior, y el instrumento
 +está centrado.
 +
 +@funindex oddFooterMarkup
 +@item oddFooterMarkup
 +  Es el pie de las páginas de numeración impar.
 +
 +@funindex evenFooterMarkup
 +@item evenFooterMarkup
 +  Es el pie de las páginas de numeración par.  Si se deja sin
 +  especificar, se usará en su lugar el encabezamiento de las páginas
 +  impares.
 +
 +  De forma predeterminada, el pie de página tiene el aviso de
 +copyright en la primera página, y el cartel @code{tagline} en la
 +última.
 +@end table
 +
 +
 +@cindex \paper
 +@cindex encabezamiento
 +@cindex header
 +@cindex pie
 +@cindex disposición de la página
 +@cindex títulos
 +
 +La definición siguiente pone el título en el extremo izquierdo, y el
 +compositor en el extremo derecho sobre una única línea.
 +
 +@verbatim
 +\paper {
 +  bookTitleMarkup = \markup {
 +   \fill-line {
 +     \fromproperty #'header:title
 +     \fromproperty #'header:composer
 +   }
 +  }
 +}
 +@end verbatim
 +
 +@node Reference to page numbers
 +@subsection Reference to page numbers
 +
 +Se puede marcar un lugar determinado de una partitura utilizando la
 +instrucción @code{\label} (etiqueta), bien en lo alto de la estructura
 +o bien dentro de la música.  Posteriormente se puede hacer referencia
 +a esta etiqueta dentro de un elemento de marcado, para obtener el
 +número de la página en que se encuentra la marca, usando la
 +instrucción de marcado @code{\page-ref}.
 +
 +@lilypond[verbatim,line-width=11.0\cm]
 +\header { tagline = ##f }
 +\book {
 +  \label #'firstScore
 +  \score {
 +    {
 +      c'1
 +      \pageBreak \mark A \label #'markA
 +      c'
 +    }
 +  }
 +
 +  \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
 +  \markup { Mark A is on page \page-ref #'markA "0" "?" }
 +}
 +@end lilypond
 +
 +La instrucción de marcado @code{\page-ref} toma tres argumentos:
 +@enumerate
 +@item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
 +@item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
 +@item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
 +@end enumerate
 +
 +El motivo de que se necesite un medidor es que en el momento en que se
 +están interpretando los marcados, los saltos de página aún no se han
 +producido y por tanto los números de página no se conocen todavía.
 +Para sortear este inconveniente, la interpretación real del marcado se
 +retrasa hasta un momento posterior; sin embargo, las dimensiones del
 +marcado se tienen que conocer de antemano, así que se usa el medidor
 +para decidir estas dimensiones.  Si el libro tiene entre 10 y 99
 +páginas, el medidor puede ser "00", es decir, un número de dos
 +dígitos.
 +
 +
 +@predefined
 +@funindex \label
 +@code{\label},
 +@funindex \page-ref
 +@code{\page-ref}.
 +@endpredefined
 +
 +
 +@node Table of contents
 +@subsection Table of contents
 +
 +Se puede insertar un índice general o tabla de contenidos utilizando
 +la instrucción @code{\markuplines \table-of-contents}.  Los elementos
 +que deben aparecer en la tabla de contenidos se introducen con la
 +instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
 +la jerarquía del código, o dentro de una expresión musical.
 +
 +@verbatim
 +\markuplines \table-of-contents
 +\pageBreak
 +
 +\tocItem \markup "Primera partitura"
 +\score {
 +  {
 +    c'  % ...
 +    \tocItem \markup "Un punto concreto dentro de la primera partitura"
 +    d'  % ...
 +  }
 +}
 +
 +\tocItem \markup "Segunda partitura"
 +\score {
 +  {
 +    e' % ...
 +  }
 +}
 +@end verbatim
 +
 +Los elementos de marcado que se usan para dar formato al índice
 +general se encuentran definidos dentro del bloque @code{\paper}.  Los
 +elementos predeterminados son @code{tocTitleMarkup}, para dar formato
 +al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
 +los elementos del índice, que consisten en el título del elemento y el
 +número de página.  Estas variables se pueden cambiar por parte del
 +usuario:
 +
 +@verbatim
 +\paper {
 +  %% Traducir el título del índice al español:
 +  tocTitleMarkup = \markup \huge \column {
 +    \fill-line { \null "Índice general" \null }
 +    \hspace #1
 +  }
 +  %% usar una fuente mayor
 +  tocItemMarkup = \markup \large \fill-line {
 +    \fromproperty #'toc:text \fromproperty #'toc:page
 +  }
 +}
 +@end verbatim
 +
 +Observe la forma en que nos referimos al texto y al número de página
 +del elemento de índice, dentro de la definición @code{tocItemMarkup}.
 +
 +También se pueden definir nuevas instrucciones y elementos de
 +marcado para crear índices generales más elaborados:
 +@itemize
 +@item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
 +@item luego defina una función de música cuyo propósito es añadir un elemento al índice general
 +utilizando esta variable de marcado del bloque @code{\paper}.
 +@end itemize
 +
 +En el ejemplo siguiente se define un estilo nuevo para introducir los
 +nombres de los actos de una ópera en el índice general:
 +
 +@verbatim
 +\paper {
 +  tocActMarkup = \markup \large \column {
 +    \hspace #1
 +    \fill-line { \null \italic \fromproperty #'toc:text \null }
 +    \hspace #1
 +  }
 +}
 +
 +tocAct =
 +#(define-music-function (parser location text) (markup?)
 +   (add-toc-item! 'tocActMarkup text))
 +@end verbatim
 +
 +@lilypond[line-width=11.0\cm]
 +\header { tagline = ##f }
 +\paper {
 +  tocActMarkup = \markup \large \column {
 +    \hspace #1
 +    \fill-line { \null \italic \fromproperty #'toc:text \null }
 +    \hspace #1
 +  }
 +}
 +
 +tocAct =
 +#(define-music-function (parser location text) (markup?)
 +   (add-toc-item! 'tocActMarkup text))
 +
 +\book {
 +  \markuplines \table-of-contents
 +  \tocAct \markup { Atto Primo }
 +  \tocItem \markup { Coro. Viva il nostro Alcide }
 +  \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
 +  \tocAct \markup { Atto Secondo }
 +  \tocItem \markup { Sinfonia }
 +  \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
 +  \markup \null
 +}
 +@end lilypond
 +
 +
 +@seealso
 +Archivos de inicio:
 +@file{ly/@/toc@/-init@/.ly}.
 +
 +
 +@predefined
 +@funindex \table-of-contents
 +@code{\table-of-contents},
 +@funindex \tocItem
 +@code{\tocItem}.
 +@endpredefined
 +
 +
 +@node Working with input files
 +@section Working with input files
 +
 +@menu
 +* Including LilyPond files::
 +* Different editions from one source::
 +* Text encoding::
 +* Displaying LilyPond notation::
 +@end menu
 +
 +
 +@node Including LilyPond files
 +@subsection Including LilyPond files
 +
 +@funindex \include
 +@cindex including files
 +
 +Un proyecto grande se puede dividir en varios archivos.  Para
 +referirse a otro archivo, utilice
 +
 +@example
 +\include "otroarchivo.ly"
 +@end example
 +
 +La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
 +contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
 +que aparece el @code{\include}.  Por ejemplo, en un proyecto grande
 +podríamos querer archivos distintos para cada parte instrumental y
 +crear un archivo de @qq{partitura completa} que reúne los archivos
 +individuales de los instrumentos.  Normalmente el archivo incluido
 +define un cierto número de variables que a partir de entonces quedan
 +disponibles para poderlas utilizar en el archivo de la partitura
 +completa.  En los archivos incluidos se pueden marcar las secciones
 +etiquetadas para ayudar a hacerlas utilizables en distintos lugares de
 +la partitura, véase @ref{Different editions from one source}.
 +
 +Los archivos que están en el directorio de trabajo actual se pueden
 +referenciar simplemente especificando el nombre después de la
 +instrucción @code{\include}.  Los archivos en otros lugares se pueden
 +incluir proporcionando una referencia de ruta completa o una ruta
 +relativa (pero utilice la barra inclinada normal del UNIX, /, no la
 +barra invertida de DOS/Windows, \, como separador de directorio).  Por
 +ejemplo, si @file{material.ly} está situado un directorio por encima
 +del directorio de trabajo actual, utilice
 +
 +@example
 +\include "../material.ly"
 +@end example
 +
 +@noindent
 +o si los archivos de las partes orquestales incluidas están todos
 +situados en un subdirectorio llamado @file{partes} dentro del
 +directorio actual, use
 +
 +@example
 +\include "partes/VI.ly"
 +\include "partes/VII.ly"
 +... etc.
 +@end example
 +
 +Los archivos de inclusión también pueden contener enunciados
 +@code{\include} a su vez.  De forma predeterminada, estos enunciados
 +@code{\include} de segundo nivel no se interpretan hasta que se
 +incorporan al archivo principal, por lo que los nombres de archivo que
 +especifican deben ser relativos al directorio que contiene el archivo
 +principal, no al directorio que contiene el archivo incluido.  Sin
 +embargo, este comportamiento se puede modificar pasando la opción
 +@code{-drelative-includes} en la línea de órdenes (o mediante la
 +adición de @code{#(ly:set-option 'relative-includes #t)} al principio
 +del archivo principal de entrada).  Con el valor de
 +@code{relative-includes} establecido, la ruta de cada instrucción
 +@code{\include} se considera relativa al archivo que contiene dicha
 +instrucción.  Este comportamiento es el recomendado y se convertirá en
 +el comportamiento predeterminado en una versión futura de lilypond.
 +
 +También se pueden incluir archivos de un directorio que está en una
 +ruta de búsqueda especificada como opción al invocar a LilyPond desde
 +la línea de órdenes.  Los archivos incluidos se especifican usando
 +solamente su nombre de archivo.  Por ejemplo, para compilar mediante
 +este método un archivo @file{principal.ly} que incluye archivos
 +situados en un subdirectorio llamado @file{partes}, cambie al
 +directorio que contiene @file{principal.ly} e introduzca
 +
 +@example
 +lilypond --include=partes principal.ly
 +@end example
 +
 +y en @file{principal.ly} escriba
 +
 +@example
 +\include "VI.ly"
 +\include "VII.ly"
 +... etc.
 +@end example
 +
 +Los archivos que se incluyen en muchas partituras se pueden poner en
 +el directorio de LilyPond @file{../ly} (la localización de este
 +directorio depende de la instalación: véase
 +@rlearning{Other sources of information}).  Estos archivos se pueden
 +incluir sencillamente por su nombre en un enunciado @code{\include}.
 +De esta forma se incluyen los archivos dependientes del idioma como
 +@file{espanol.ly}.
 +
 +LilyPond incluye de forma predeterminada ciertos archivos cuando se
 +inicia el programa.  Estas inclusiones no son visibles para el
 +usuario, pero los archivos se pueden identificar ejecutando
 +@code{lilypond --verbose} desde la línea de órdenes.  Esto presentará
 +una lista de rutas y archivos que utiliza LilyPond, junto a muchas
 +otras indicaciones.  De forma alternativa, pueden verse explicaciones
 +sobre los archivos más importantes de este conjunto en
 +@rlearning{Other sources of information}.  Estos archivos se pueden
 +editar, pero los cambios realizados sobre ellos se perderán al
 +instalar una nueva versión de LilyPond.
 +
 +Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
 +@rlearning{Scores and parts}.
 +
 +
 +@seealso
 +Manual de aprendizaje:
 +@rlearning{Other sources of information},
 +@rlearning{Scores and parts}.
 +
 +
 +@knownissues
 +
 +Si un archivo incluido recibe un nombre igual al de uno de los
 +archivos de instalación de LilyPond, el archivo que tiene prioridad es
 +el de los archivos de instalación de LilyPond.
 +
 +
 +@node Different editions from one source
 +@subsection Different editions from one source
 +
 +Se encuentran disponibles varios mecanismos para facilitar la
 +producción de distintas versiones de una partitura a partir de la
 +misma fuente musical.  Las variables son quizá más útiles para
 +combinar secciones extensas de música y/o anotaciones de diversas
 +formas, mientras que las etiquetas son más útiles para seleccionar una
 +de entra varias secciones de música más cortas.  Cualquiera que sea el
 +método utilizado, la separación de la notación de la estructura de la
 +partitura hará que sea más fácil cambiar la estructura dejando intacta
 +la notación.
 +
 +@menu
 +* Using variables::
 +* Using tags::
 +@end menu
 +
 +@node Using variables
 +@unnumberedsubsubsec Using variables
 +
 +@cindex variables, uso de las
 +
 +Si las secciones de la música se definen dentro de variables, se
 +pueden reutilizar en distintas partes de la partitura, véase
 +@rlearning{Organizing pieces with variables}.  Por ejemplo, una
 +partitura vocal @notation{a cappella} con frecuencia incluye una
 +reducción de piano de las partes para ensayar que es idéntica a la
 +música vocal, por lo que ésta sólo se tiene que escribir una vez.  Se
 +puede combinar sobre un solo pentagrama la música de dos variables,
 +véase @ref{Automatic part combining}.  He aquí un ejemplo:
 +
 +@lilypond[verbatim,quote]
 +sopranoMusic = \relative c'' { a4 b c b8( a)}
 +altoMusic = \relative g' { e4 e e f }
 +tenorMusic = \relative c' { c4 b e d8( c) }
 +bassMusic = \relative c' { a4 gis a d, }
 +allLyrics = \lyricmode {King of glo -- ry }
 +<<
 +  \new Staff = "Soprano" \sopranoMusic
 +  \new Lyrics \allLyrics
 +  \new Staff = "Alto" \altoMusic
 +  \new Lyrics \allLyrics
 +  \new Staff = "Tenor" {
 +    \clef "treble_8"
 +    \tenorMusic
 +  }
 +  \new Lyrics \allLyrics
 +  \new Staff = "Bass" {
 +    \clef "bass"
 +    \bassMusic
 +  }
 +  \new Lyrics \allLyrics
 +  \new PianoStaff <<
 +    \new Staff = "RH" {
 +      \set Staff.printPartCombineTexts = ##f
 +      \partcombine
 +      \sopranoMusic
 +      \altoMusic
 +    }
 +    \new Staff = "LH" {
 +      \set Staff.printPartCombineTexts = ##f
 +      \clef "bass"
 +      \partcombine
 +      \tenorMusic
 +      \bassMusic
 +    }
 +  >>
 +>>
 +@end lilypond
 +
 +Se pueden producir partituras distintas que presenten sólo las partes
 +vocales o sólo la parte de piano, cambiando solamente los enunciados
 +estructurales, sin modificar la notación musical.
 +
 +Para partituras extensas, las definiciones de variable se pueden poner
 +en archivos separados que se incluyen más tarde, véase @ref{Including
 +LilyPond files}.
 +
 +
 +@node Using tags
 +@unnumberedsubsubsec Using tags
 +
 +@funindex \tag
 +@funindex \keepWithTag
 +@funindex \removeWithTag
 +@cindex etiqueta
 +@cindex mantener música etiquetada
 +@cindex quitar música etiquetada
 +
 +La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
 +con el nombre @var{parteA}.  Las expresiones etiquetadas de esta
 +manera se pueden seleccionar o filtrar más tarde por su nombre, usando
 +bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
 +#'@var{nombre}}.  El resultado de la aplicación de estos filtros a la
 +música etiquetada es como sigue:
 +
 +@multitable @columnfractions .5 .5
 +@headitem Filtro
 +  @tab Resultado
 +@item
 +Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
 +@tab
 +Se incluye la música no etiquetada y la música etiquetada con
 +@var{nombre}; se excluye la música etiquetada con cualquier otro
 +nombre de etiqueta.
 +@item
 +Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
 +@tab
 +Se incluye la música no etiquetada y la música etiquetada con
 +cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
 +música etiquetada con @var{nombre}.
 +@item
 +Música etiquetada no precedida de @code{\keepWithTag} ni de
 +@code{\removeWithTag}
 +@tab Se incluye toda la música etiquetada y no etiquetada.
 +@end multitable
 +
 +Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
 +@code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
 +@code{#'parte}), seguido de una expresión musical.
 +
 +En el ejemplo siguiente vemos dos versiones de una pieza musical, una
 +que muestra trinos con la notación usual y otra con los trinos
 +expandidos explícitamente:
 +
 +@lilypond[verbatim,quote]
 +music = \relative g' {
 +  g8. c32 d
 +  \tag #'trills {d8.\trill }
 +  \tag #'expand {\repeat unfold 3 {e32 d} }
 +  c32 d
 + }
 +
 +\score {
 +  \keepWithTag #'trills \music
 +}
 +\score {
 +  \keepWithTag #'expand \music
 +}
 +@end lilypond
 +
 +@noindent
 +De forma alternativa, a veces es más fácil excluir secciones de música:
 +
 +@lilypond[verbatim,quote]
 +music = \relative g' {
 +  g8. c32 d
 +  \tag #'trills {d8.\trill }
 +  \tag #'expand {\repeat unfold 3 {e32 d} }
 +  c32 d
 + }
 +
 +\score {
 +  \removeWithTag #'expand
 +  \music
 +}
 +\score {
 +  \removeWithTag #'trills
 +  \music
 +}
 +@end lilypond
 +
 +El filtrado con etiquetas se puede aplicar a articulaciones, textos,
 +etc. anteponiendo
 +
 +@example
 +-\tag #'@var{mi-etiqueta}
 +@end example
 +
 +a una articulación.  Por ejemplo, esto define una nota con una
 +indicación opcional de digitación y una nota con una anotación
 +condicional:
 +
 +@example
 +c1-\tag #'finger ^4
 +c1-\tag #'warn ^"¡Ojo!"
 +@end example
 +
 +Se pueden poner varias etiquetas sobre expresiones con varias entradas
 +de @code{\tag}:
 +
 +@lilypond[quote,verbatim]
 +music = \relative c'' {
 +  \tag #'a \tag #'both { a a a a }
 +  \tag #'b \tag #'both { b b b b }
 +}
 +<<
 +\keepWithTag #'a \music
 +\keepWithTag #'b \music
 +\keepWithTag #'both \music
 +>>
 +@end lilypond
 +
 +Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
 +expresión musical para quitar varias secciones etiquetadas con nombres
 +distintos:
 +
 +@lilypond[verbatim,quote]
 +music = \relative c'' {
 +\tag #'A { a a a a }
 +\tag #'B { b b b b }
 +\tag #'C { c c c c }
 +\tag #'D { d d d d }
 +}
 +{
 +\removeWithTag #'B
 +\removeWithTag #'C
 +\music
 +}
 +@end lilypond
 +
 +Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
 +musical producen la eliminación de @emph{todas} las secciones
 +etiquetadas, porque el primer filtro quita todas las secciones
 +etiquetadas excepto la que se nombra, y el segundo filtro elimina
 +incluso esa sección etiquetada.
 +
 +
 +@seealso
 +Manual de aprendizaje:
 +@rlearning{Organizing pieces with variables}.
 +
 +Referencia de la notación:
 +@ref{Automatic part combining},
 +@ref{Including LilyPond files}.
 +
 +
 +@ignore
 +@c This warning is more general than this placement implies.
 +@c Rests are not merged whether or not they come from tagged sections.
 +@c Should be deleted?  -td
 +
 +
 +@knownissues
 +
 +Multiple rests are not merged if you create a score with more
 +than one tagged section at the same place.
 +
 +@end ignore
 +
 +@node Text encoding
 +@subsection Text encoding
 +
++@cindex Unicode
++@cindex UTF-8
++@cindex caracteres no ASCII
++
 +LilyPond usa el conjunto de caracteres definido por el consorcio
 +Unicode y la norma ISO/IEC 10646.  Define un nombre único y un código
 +para los conjuntos de caracteres que se utilizan en prácticamente
 +todos los idiomas modernos y también en muchos otros.  Unicode se
 +puede implementar utilizando varios esquemas de codificación
 +distintos.  LilyPond usa la codificación UTF-8 (UTF son las siglas de
 +@emph{Unicode Transformation Format}, o formato de transformación de
 +Unicode) que representa todos los caracteres comunes de Latin en un
 +solo byte, y representa otros caracteres usando un formato de longitud
 +variable de hasta cuatro bytes.
 +
 +El aspecto visual real de los caracteres viene determinado por los
 +glifos que se definen en las fuentes tipográficas concretas que se
 +tengan disponibles: una fuente tipográfica define la asignación de un
 +subconjunto de los códigos de Unicode a glifos.  LilyPond usa la
 +biblioteca Pango para representar y disponer tipográficamente textos
 +multilingües.
 +
 +LilyPond no realiza ninguna conversión en la codificación de la
 +entrada.  Esto significa que cualquier text, ya sea el título, la
 +letra de la canción o una instrucción musical que contenga caracteres
 +distintos a los del conjunto ASCII, se deben codificar en UTF-8.  La
 +forma más fácil de escribir dicho texto es utilizar un editor
 +preparado para Unicode y guardar el archivo con la codificación UTF-8.
 +Casi todos los editores modernos populares contemplan el UTF-8, por
 +ejemplo lo hacen vim, Emacs, jEdit, y GEdit.  Todos los sistemas MS
 +Windows posteriores a NT usan Unicode como codificación de caracteres
 +nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
 +puede editar y guardar un archivo en el formato UTF-8.  Una
 +alternativa más funcional para Windows es BabelPad.
 +
 +Si un archivo de entrada que contiene un carácter que no es ASCII, no
 +se guarda en el formato UTF-8, se genera el mensaje de error
 +
 +@example
 +FT_Get_Glyph_Name () error: argumento inválido
 +@end example
 +
 +He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
 +
 +@lilypond[quote]
 +%c No verbatim here as the code does not display correctly in PDF
 +% Cyrillic
 +bulgarian = \lyricmode {
 +  Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
 +}
 +
 +% Hebrew
 +hebrew = \lyricmode {
 +  זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
 +}
 +
 +% Portuguese
 +portuguese = \lyricmode {
 +  à vo -- cê uma can -- ção legal
 +}
 +
 +\relative  {
 +  c2 d e f g f e
 +}
 +\addlyrics { \bulgarian }
 +\addlyrics { \hebrew }
 +\addlyrics { \portuguese }
 +@end lilypond
 +
 +Para introducir un carácter aislado para el que se conoce el punto de
 +código Unicode pero no está disponible en el editor que se está
 +usando, use @code{\char ##xhhhh} o bien @code{\char #dddd} dentro de
 +un bloque @code{\markup}, donde @code{hhhh} es el código hexadecimal
 +del carácter en cuestión y @code{dddd} es su valor decimal
 +correspondiente.  Pueden omitirse los ceros iniciales, pero es
 +costumbre indicar los cuatro caracteres en la representación
 +hexadecimal (observe que @emph{no} debe utilizarse la codificación
 +UTF-8 del punto de código Unicode después de @code{\char}, pues la
 +codificación UTF-8 contiene bits adicionales que indican el número de
 +octetos.)
 +
 +Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
 +insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
 +@qq{Letra griega Xi pequeña}.
 +
 +Se puede escribir de esta forma cualquier punto de código Unicode, y
 +si todos los caracteres especiales se escriben en este formato no es
 +necesario guardar el archivo de entrada en formato UTF-8.  Por
 +supuesto, debe estar instalada y estar disponible para LilyPond una
 +fuente tipográfica que contenga codificados todos estos caracteres.
 +
 +El ejemplo siguiente muestra valores hexadecimales Unicode que se usan
 +en cuatro lugares: en una llamada de ensayo, como texto de
 +articulación, en la letra y como texto independiente bajo la
 +partitura:
 +
 +@lilypond[quote,verbatim]
 +\score {
 +  \relative c'' {
 +    c1 \mark \markup { \char ##x03EE }
 +    c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
 +  }
 +  \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
 +}
 +\markup { "Copyright 2008--2009" \char ##x00A9 }
 +@end lilypond
 +
++@cindex copyright, símbolo de
++
 +Para escribir el símbolo de copyright en la nota de créditos, utilice:
 +
 +@example
 +\header @{
 +  copyright = \markup @{ \char ##x00A9 "2008" @}
 +@}
 +@end example
 +
 +
 +@node Displaying LilyPond notation
 +@subsection Displaying LilyPond notation
 +
 +@funindex \displayLilyMusic
 +La impresión textual de una expresión musical en notación de LilyPond
 +puede hacerse usando la función musical @code{\displayLilyMusic}.  Por
 +ejemplo,
 +
 +@example
 +@{
 +  \displayLilyMusic \transpose c a, @{ c e g a bes @}
 +@}
 +@end example
 +
 +imprimirá
 +
 +@example
 +@{ a, cis e fis g @}
 +@end example
 +
 +De forma predeterminada, LilyPond imprime estos mensajes en la consola
 +junto al resto de los mensajes.  Para discernir entre estos mensajes y
 +guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
 +salida hacia un archivo.
 +
 +@c TODO What happens under Windows?
 +
 +@example
 +lilypond archivo.ly >resultado.txt
 +@end example
 +
 +
 +
 +@node Controlling output
 +@section Controlling output
 +
 +@menu
 +* Extracting fragments of music::
 +* Skipping corrected music::
 +@end menu
 +
 +@node Extracting fragments of music
 +@subsection Extracting fragments of music
 +
 +Es posible citar pequeños fragmentos de una partitura grande
 +directamente a partir de la salida.  Puede compararse con la
 +separación de una pieza de una partitura, recortándola con tijeras.
 +
 +Esto se hace definiendo los compases que se deben recortar.  Por
 +ejemplo, la inclusión de la siguiente definición
 +
 +@verbatim
 +\layout {
 +  clip-regions
 +  = #(list
 +      (cons
 +       (make-rhythmic-location 5 1 2)
 +       (make-rhythmic-location 7 3 4)))
 +}
 +@end verbatim
 +
 +@noindent
 +extrae un fragmento empezando por la mitad del quinto compás y
 +finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
 +después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
 +después de tres negras del compás 7.
 +
 +Se pueden definir más zonas de recorte añadiendo más parejas de
 +definición de tiempo rhythmic-location a la lista.
 +
 +Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
 +la opción @code{-dclip-systems}.  Los recortes aparecen en la salida
 +como archivos EPS, y se convierten en PDF y PNG si estos formatos
 +también están activados.
 +
 +Para ver más información sobre los formatos de salida, consulte
 +@rprogram{Invoking lilypond}.
 +
 +
 +@node Skipping corrected music
 +@subsection Skipping corrected music
 +
 +@funindex skipTypesetting
 +@funindex showFirstLength
 +@funindex showLastLength
 +
 +Al escribir o copiar música, normalmente sólo es interesante de ver y
 +corregir la música cercana al final (donde estamos añadiendo las
 +notas).  Para acelerar este proceso de corrección, es posible saltar
 +la composición tipográfica de todos excepto unos pocos de los últimos
 +compases.  Esto se consigue poniendo
 +
 +@verbatim
 +showLastLength = R1*5
 +\score { ... }
 +@end verbatim
 +
 +@noindent
 +en nuestro archivo fuente.  Esto hará que se tracen sólo los últimos
 +cinco compases (suponiendo un compás de 4/4) de cada una de las
 +partituras @code{\score} del archivo de entrada.  Para piezas largas,
 +el tipografiado de únicamente una parte pequeña es con frecuencia un
 +orden de magnitud más rápido que el de la obra completa.  Si estamos
 +trabajando sobre el principio de una partitura que ya hemos
 +tipografiado (p.ej., para añadir una parte instrumental nueva),
 +también puede ser útil la propiedad @code{showFirstLength}.
 +
 +Este mecanismo de pasar por alto partes de un partitura se puede
 +controlar con un grano más fino mediante la propiedad
 +@code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
 +lleva a cabo ningún tipografiado en absoluto.
 +
 +Esta propiedad se usa también para controlar la salida al archivo
 +MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
 +y los cambios de instrumento.  Está usted advertido.
 +
 +@lilypond[quote,fragment,ragged-right,verbatim]
 +\relative c'' {
 +  c8 d
 +  \set Score.skipTypesetting = ##t
 +  e e e e e e e e
 +  \set Score.skipTypesetting = ##f
 +  c d b bes a g c2 }
 +@end lilypond
 +
 +En música polifónica, @code{Score.skipTypesetting} afecta a todas las
 +voces y pentagramas, ahorrando más tiempo incluso.
 +
 +
 +@node MIDI output
 +@section MIDI output
 +
 +@cindex sonido
 +@cindex MIDI
 +
 +El MIDI (Musical Instrument Digital Interface, Interfase Digital para
 +Instrumentos Musicales) es un estándar para interconectar y controlar
 +instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
 +una serie de notas dentro de un conjunto de pistas.  No es un archivo
 +de sonidos reales; se necesita un programa reproductor especial para
 +traducir la serie de notas en sonidos de verdad.
 +
 +Cualquier música se puede convertir a archivos MIDI, de manera que
 +podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
 +para comprobar la corrección de la música; las octavas equivocadas o
 +las alteraciones erróneas se ponen de relieve muy claramente al
 +escuchar la salida MIDI.
 +
 +@c TODO Check this
 +La salida MIDI reserva un canal por cada pentagrama, y otro para los
 +ajustes globales.  Por ello, el archivo MIDI no debe tener más de 15
 +pautas (o 14 si no se usa la percusión).  Otros pentagramas permanecen
 +en silencio.
 +
 +@menu
 +* Creating MIDI files::
 +* MIDI block::
 +* What goes into the MIDI output?::
 +* Repeats in MIDI::
 +* Controlling MIDI dynamics::
 +* Percussion in MIDI::
 +@end menu
 +
 +@node Creating MIDI files
 +@subsection Creating MIDI files
 +
 +Para crear un MIDI a partir de una pieza de música, escriba un bloque
 +@code{\midi} en la partitura, por ejemplo:
 +
 +@example
 +\score @{
 +  @var{...música...}
 +  \midi @{ @}
 +@}
 +@end example
 +
 +Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
 +ningún bloque @code{\layout}, solamente se producirá MIDI.  Si se
 +necesita una notación impresa, debe haber también un bloque
 +@code{\layout}:
 +
 +@example
 +\score @{
 +  @var{...música...}
 +  \midi @{ @}
 +  \layout @{ @}
 +@}
 +@end example
 +
 +Se traducen correctamente a la salida MIDI la altura y duración de las
 +notas, las ligaduras de unión, matices y cambios de tempo.  Las
 +indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
 +de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
 +del rango de volumen MIDI disponible.  Los crescendi y decrescendi
 +hacen que el volumen varía linealmente entre sus dos extremos. El
 +efecto de las indicaciones dinámicas sobre la salida MIDI se puede
 +eliminar por completo, véase @ref{MIDI block}.
 +
 +El tempo inicial y los cambios de tempo posteriores se pueden
 +especificar utilizando la instrucción @code{\tempo} dentro de la
 +propia notación musical.  Se reflejan en cambios de tempo en la salida
 +MIDI.  Esta instrucción normalmente hace que se imprima la indicación
 +metronómica, pero esto se puede eliminar, véase @ref{Metronome marks}.
 +Más abajo se describe una forma alternativa de especificar el tempo
 +MIDI inicial o global, véase @ref{MIDI block}.
 +
 +Debido a ciertas limitaciones de Windows, la extensión predeterminada
 +para los archivos MIDI en Windows es @code{.mid}. Otros sistemas
 +operativos utilizan la extensión @code{.midi}.  Si prefiere una
 +extensión diferente, inserte la siguiente línea en el nivel jerárquico
 +superior del archivo de entrada, antes del inicio de cualquier bloque
 +@code{\book}, @code{\bookpart} o @code{\score}:
 +
 +@example
 +#(ly:set-option 'midi-extension "midi")
 +@end example
 +
 +La línea anterior establece la extensión predeterminada para los
 +archivos MIDI a @code{.midi}.
 +
 +De forma alternativa, esta opción se puede también proporcionar en la
 +línea de órdenes:
 +
 +@example
 +lilypond … -dmidi-extension=midi archivoLily.ly
 +@end example
 +
 +
 +@unnumberedsubsubsec Instrument names
 +
 +@cindex instrumento, nombres de
 +@funindex Staff.midiInstrument
 +
 +El nombre del instrumento MIDI se establece mediante la propiedad
 +@code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
 +de entre los que están en la lista que aparece en @ref{MIDI
 +instruments}.
 +
 +@example
 +\new Staff @{
 +  \set Staff.midiInstrument = #"glockenspiel"
 +  @var{...notes...}
 +@}
 +@end example
 +
 +@example
 +\new Staff \with @{midiInstrument = #"cello"@} @{
 +  @var{...notes...}
 +@}
 +@end example
 +
 +Si el instrumento elegido no coincide exactamente con uno de los
 +instrumentos de la lista de instrumentos MIDI, se usará el instrumento
 +Piano de Cola (@code{"acoustic grand"}).
 +
 +@snippets
 +
 +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 +{changing-midi-output-to-one-channel-per-voice.ly}
 +
 +@knownissues
 +
 +@c In 2.11 the following no longer seems to be a problem -td
 +@ignore
 +Unterminated (de)crescendos will not render properly in the midi file,
 +resulting in silent passages of music.  The workaround is to explicitly
 +terminate the (de)crescendo.  For example,
 +
 +@example
 +@{ a\< b c d\f @}
 +@end example
 +
 +@noindent
 +will not work properly but
 +
 +@example
 +@{ a\< b c d\!\f @}
 +@end example
 +
 +@noindent
 +will.
 +@end ignore
 +
 +Los cambios del volumen MIDI sólo tienen lugar al principio de la
 +nota, por lo que los crescendi y decrescendi no pueden afectar al
 +volumen de una sola nota.
 +
 +No todos los reproductores de MIDI manejar adecuadamente los cambios de
 +tempo de la salida MIDI.  Entre los reproductores que se sabe que
 +funcionan se encuentran el Reproductor de Medios de MS Windows y
 +@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
 +
 +
 +@node MIDI block
 +@subsection MIDI block
 +
 +@cindex bloque MIDI
 +
 +Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
 +dentro de un bloque de partitura.  Es análogo al bloque layout de
 +diseño de página, pero algo maś simple.  Con frecuencia, el bloque
 +@code{\midi} se deja vacío, pero puede contener reorganizaciones de
 +contextos, definiciones de contexto nuevas o código para fijar valores
 +de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
 +tempo inicial exportado al archivo MIDI sin hacer que se imprima una
 +indicación de tempo:
 +
 +@example
 +\score @{
 +  @var{...música...}
 +  \midi @{
 +    \context @{
 +      \Score
 +      tempoWholesPerMinute = #(ly:make-moment 72 4)
 +    @}
 +  @}
 +@}
 +@end example
 +
 +En este ejemplo, el tempo se establece a 72 pulsos de negra por
 +minuto.  Esta clase de especificación de tempo no puede tomar como
 +argumento una figura con puntillo.  Si necesitamos una figura con
 +puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
 +ejemplo, un tempo de 90 negras con puntillo por minuto se puede
 +especificar como 270 corcheas por minuto:
 +
 +@example
 +tempoWholesPerMinute = #(ly:make-moment 270 8)
 +@end example
 +
 +@cindex MIDI, definiciones de contexto
 +
 +Las definiciones de contexto siguen con precisión la misma sintaxis
 +que la de un bloque @code{\layout}.  Los módulos de traducción para el
 +sonido reciben el nombre de ejecutantes.  Los contextos para la salida
 +MIDI se definen en @file{../ly/@/performer@/-init@/.ly}, véase
 +@rlearning{Other sources of information}.  Por ejemplo, para eliminar
 +el efecto de los matices de la salida MIDI, inserte las líneas
 +siguientes en el bloque @code{\midi@{ @}}.
 +
 +@example
 +\midi @{
 +  ...
 +  \context @{
 +    \Voice
 +    \remove "Dynamic_performer"
 +  @}
 +@}
 +@end example
 +
 +La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
 +dentro de un bloque de partitura definido con una instrucción
 +@code{\score}.  Si se sitúa dentro de un contexto de partitura
 +instanciado explícitamente (es decir, dentro de un bloque @code{\new
 +Score}) el archivo no funciona.  Para resolverlo, encierre las
 +instrucciones @code{\new Score} y @code{\midi} dentro de un bloque
 +@code{\score}.
 +
 +@example
 +\score @{
 +  \new Score @{ @dots{}notas@dots{} @}
 +  \midi @{ @}
 +@}
 +@end example
 +
 +@node What goes into the MIDI output?
 +@subsection What goes into the MIDI output?
 +
 +@unnumberedsubsubsec Supported in MIDI
 +
 +@cindex alturas en MIDI
 +@cindex MIDI, alturas
 +@cindex cuartos de tono en MIDI
 +@cindex MIDI, cuartos de tono
 +@cindex microtonos en MIDI
 +@cindex MIDI, microtonos
 +@cindex acordes, nombres de, en MIDI
 +@cindex MIDI, nombres de
 +@cindex duraciones en MIDI
 +@cindex MIDI, duraciones
 +@c TODO etc
 +
 +Los siguientes elementos de notación se reflejan en la salida MIDI:
 +
 +@itemize
 +@item Alturas
 +@item Microtonos (véase @ref{Accidentals}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
 +@item Acordes escritos como nombres de acorde
 +@item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
 +@item Trémolos escritos sin @q{@code{:}[@var{número}]}
 +@item Ligaduras de unión
 +@item Matices o indicaciones de dinámica
 +@item Crescendi y decrescendi sobre varias notas
 +@item Cambios de tempo insertados con una marca metronómica
 +@item Letra de las canciones
 +@end itemize
 +
 +@unnumberedsubsubsec Unsupported in MIDI
 +
 +@c TODO index as above
 +
 +Los siguientes elementos de notación no tienen ningún efecto sobre la
 +salida MIDI:
 +
 +@itemize
 +@item Duraciones escritas como anotaciones, p.ej. el swing
 +@item Cambios de tempo escritos como anotaciones sin marca de tempo
 +@item Staccato y otras articulaciones y ornamentos
 +@item Ligaduras de expresión y de fraseo
 +@item Crescendi y decrescendi sobre una nota única
 +@item Trémolos introducidos con @q{@code{:}[@var{número}]}
 +@item Bajo cifrado
 +@item Acordes microtonales
 +@end itemize
 +
 +
 +@node Repeats in MIDI
 +@subsection Repeats in MIDI
 +
 +@cindex repeticiones, expandir
 +@funindex \unfoldRepeats
 +
 +Con un poco de trucaje, se puede hacer que cualquier tipo de
 +repetición esté presente en la salida MIDI.  Esto se consigue mediante
 +la aplicación de la función musical @code{\unfoldRepeats}.  Esta
 +función cambia todas las repeticiones a repeticiones desplegadas.
 +
 +@lilypond[quote,verbatim]
 +\unfoldRepeats {
 +  \repeat tremolo 8 {c'32 e' }
 +  \repeat percent 2 { c''8 d'' }
 +  \repeat volta 2 {c'4 d' e' f'}
 +  \alternative {
 +    { g' a' a' g' }
 +    {f' e' d' c' }
 +  }
 +}
 +\bar "|."
 +@end lilypond
 +
 +Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
 +MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
 +(con repeticiones desplegadas) y otro para la notación impresa (con
 +repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
 +y percent --repetición de compases--).  Por ejemplo,
 +
 +@example
 +\score @{
 +  @var{..música..}
 +  \layout @{ .. @}
 +@}
 +\score @{
 +  \unfoldRepeats @var{..música..}
 +  \midi @{ .. @}
 +@}
 +@end example
 +
 +
 +@node Controlling MIDI dynamics
 +@subsection Controlling MIDI dynamics
 +
 +La dinámica en el MIDI está implementada por medio del intérprete
 +Dynamic_performer que reside de forma predeterminada dentro del
 +contexto Voice.  Es posible controlar el volumen MIDI general, el
 +volumen relativo de los matices dinámicos y el volumen relativo de los
 +distintos instrumentos.
 +
 +@unnumberedsubsubsec Dynamic marks
 +
 +Los matices o indicaciones de dinámica se traducen a una fracción fija
 +del rango de volumen MIDI disponible.  Las fracciones predeterminadas
 +se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
 +@notation{fffff}.  El conjunto de indicaciones dinámicas y las
 +fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
 +@rlearning{Other sources of information}.  Este conjunto de fracciones
 +se puede cambiar o extender proporcionando una función que toma como
 +argumento una indicación dinámica y devuelve la fracción requerida, y
 +estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
 +función.
 +
 +Por ejemplo, si se requiere una indicación dinámica
 +@notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
 +predeterminado sobre el volumen MIDI, pues no está incluida en el
 +conjunto predeterminado.  De igual manera, si se define una indicación
 +dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
 +incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
 +cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
 +La función Scheme establece la fracción a 0.9 si se encuentra una
 +indicación dinámica rfz, y en caso contrario llama a la función
 +predeterminada.
 +
 +@lilypond[verbatim,quote]
 +#(define (myDynamics dynamic)
 +    (if (equal? dynamic "rfz")
 +      0.9
 +      (default-dynamic-absolute-volume dynamic)))
 +
 +\score {
 +  \new Staff {
 +    \set Staff.midiInstrument = #"cello"
 +    \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
 +    \new Voice {
 +       \relative c'' {
 +         a\pp b c-\rfz
 +       }
 +    }
 +  }
 +  \layout {}
 +  \midi {}
 +}
 +@end lilypond
 +
 +Como alternativa, si se necesitara redefinir la tabla completa de
 +fracciones, sería mejor usar el procedimiento
 +@notation{default-dynamic-absolute-volume} que aparece en
 +@file{../scm/midi.scm} y la tabla asociada como modelo.  El último
 +ejemplo de esta sección muestra cómo se puede hacer esto.
 +
 +@unnumberedsubsubsec Overall MIDI volume
 +
 +El volumen general máximo y mínimo de las indicaciones dinámicas de
 +MIDI se controla estableciendo valores para las propiedades
 +@code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
 +@code{Score}.  Estas propiedades tienen efecto solamente sobre las
 +indicaciones dinámicas, por ello si queremos que tengan validez desde
 +el comienzo de la partitura, se debe colocar allí una indicación de
 +dinámica.  La fracción que corresponde a cada indicación dinámica se
 +modifica con esta fórmula:
 +
 +@example
 +midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
 +@end example
 +
 +En el ejemplo siguiente, el rango de intensidad dinámica del volumen
 +general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
 +
 +@lilypond[verbatim,quote]
 +\score {
 +  <<
 +    \new Staff {
 +      \key g \major
 +      \time 2/2
 +      \set Staff.midiInstrument = #"flute"
 +      \new Voice \relative c''' {
 +        r2 g\mp g fis ~
 +        fis4 g8 fis e2 ~
 +        e4 d8 cis d2
 +      }
 +    }
 +    \new Staff {
 +      \key g \major
 +      \set Staff.midiInstrument = #"clarinet"
 +      \new Voice \relative c'' {
 +        b1\p a2. b8 a
 +        g2. fis8 e
 +        fis2 r
 +      }
 +    }
 +  >>
 +  \layout { }
 +  \midi {
 +    \context {
 +      \Score
 +      tempoWholesPerMinute = #(ly:make-moment 72 2)
 +      midiMinimumVolume = #0.2
 +      midiMaximumVolume = #0.5
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@unnumberedsubsubsec Equalizing different instruments (i)
 +
 +Si las propiedades de volumen MIDI máximo y mínimo están establecidas
 +en el contexto @code{Staff} se pueden controlar los volúmenes
 +relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
 +de instrumentos básico que puede realzar significativamente la calidad
 +de la salida MIDI.
 +
 +En este ejemplo se reduce el volumen del clarinete con relación al de
 +la flauta.  Debe haber una indicación dinámica en la primera nota de
 +cada instrumento para que esto funcione correctamente.
 +
 +@lilypond[verbatim,quote]
 +\score {
 +  <<
 +    \new Staff {
 +      \key g \major
 +      \time 2/2
 +      \set Staff.midiInstrument = #"flute"
 +      \set Staff.midiMinimumVolume = #0.7
 +      \set Staff.midiMaximumVolume = #0.9
 +      \new Voice \relative c''' {
 +        r2 g\mp g fis ~
 +        fis4 g8 fis e2 ~
 +        e4 d8 cis d2
 +      }
 +    }
 +    \new Staff {
 +      \key g \major
 +      \set Staff.midiInstrument = #"clarinet"
 +      \set Staff.midiMinimumVolume = #0.3
 +      \set Staff.midiMaximumVolume = #0.6
 +      \new Voice \relative c'' {
 +        b1\p a2. b8 a
 +        g2. fis8 e
 +        fis2 r
 +      }
 +    }
 +  >>
 +  \layout { }
 +  \midi {
 +    \context {
 +      \Score
 +      tempoWholesPerMinute = #(ly:make-moment 72 2)
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@unnumberedsubsubsec Equalizing different instruments (ii)
 +
 +Si las propiedades de volumen MIDI máximo y mínimo no están
 +establecidas, de forma predeterminada LilyPond aplica un pequeño grado
 +de ecualización a algunos instrumentos.  Los instrumentos y la
 +ecualización que se aplica se muestra en la tabla
 +@notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
 +
 +El ecualizador básico predeterminado se puede sustituir estableciendo
 +@code{instrumentEqualizer} en el contexto @code{Score} a un
 +procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
 +como único argumento y devuelva un par de fracciones que dan los
 +volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
 +sustitución se hace de la misma forma que mostramos para restablecer
 +la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
 +al comienzo de esta sección.  El ecualizador predeterminado,
 +@notation{default-instrument-equalizer}, en @file{../scm/midi.scm},
 +muestra cómo se puede escribir tal procedimiento.
 +
 +El ejemplo siguiente establece los volúmenes relativos de la flauta y
 +del clarinete a los mismos valores que el ejemplo anterior.
 +
 +@lilypond[verbatim,quote]
 +#(define my-instrument-equalizer-alist '())
 +
 +#(set! my-instrument-equalizer-alist
 +  (append
 +    '(
 +      ("flute" . (0.7 . 0.9))
 +      ("clarinet" . (0.3 . 0.6)))
 +    my-instrument-equalizer-alist))
 +
 +#(define (my-instrument-equalizer s)
 +  (let ((entry (assoc s my-instrument-equalizer-alist)))
 +    (if entry
 +      (cdr entry))))
 +
 +\score {
 +  <<
 +    \new Staff {
 +      \key g \major
 +      \time 2/2
 +      \set Score.instrumentEqualizer = #my-instrument-equalizer
 +      \set Staff.midiInstrument = #"flute"
 +      \new Voice \relative c''' {
 +        r2 g\mp g fis ~
 +        fis4 g8 fis e2 ~
 +        e4 d8 cis d2
 +      }
 +    }
 +    \new Staff {
 +      \key g \major
 +      \set Staff.midiInstrument = #"clarinet"
 +      \new Voice \relative c'' {
 +        b1\p a2. b8 a
 +        g2. fis8 e
 +        fis2 r
 +      }
 +    }
 +  >>
 +  \layout { }
 +  \midi {
 +    \context {
 +      \Score
 +      tempoWholesPerMinute = #(ly:make-moment 72 2)
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@ignore
 +@c Delete when satisfied this is adequately covered elsewhere -td
 +
 +@n ode Microtones in MIDI
 +@s ubsection Microtones in MIDI
 +
 +@cindex microtones in MIDI
 +
 +Microtones consisting of half sharps and half flats are exported
 +to the MIDI file and render correctly in MIDI players which support
 +pitch bending.  See @ref{Note names in other languages}.  Here is
 +an example showing all the half sharps and half flats.  It can be
 +copied out and compiled to test microtones in your MIDI player.
 +
 +@lilypond[verbatim,quote]
 +\score {
 +  \relative c' {
 +    c cih cis cisih
 +    d dih ees eeh
 +    e eih f fih
 +    fis fisih g gih
 +    gis gisih a aih
 +    bes beh b bih
 +  }
 +  \layout {}
 +  \midi {}
 +}
 +@end lilypond
 +@end ignore
 +
 +
 +@node Percussion in MIDI
 +@subsection Percussion in MIDI
 +
 +La notación de los instrumentos de percusión se realiza normalmente en
 +un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
 +salida correctamente por el canal MIDI@tie{}10, pero ciertos
 +instrumentos de percusión de altura determinada, como el xilófono,
 +marimba, vibráfono, timbales, etc., se tratan como instrumentos
 +@qq{normales} y la música para estos instrumentos se debe introducir
 +en contextos de @code{Staff} normales, no en un contexto
 +@code{DrumStaff}, para obtener la salida MIDI correcta.
 +
 +Ciertos sonidos de altura indeterminada que están incluidos en el
 +estándar General MIDI, como el tom melódico, el tambor taiko, los
 +tambores sintéticos, etc., no se pueden acceder a través del canal
 +MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
 +introducir también en un contexto normal de @code{Staff}, utilizando
 +las alturas normales adecuadas.
 +
 +Muchos instrumentos de percusión no están incluidos dentro del
 +estándar General MIDI, p.ej. las castañuelas.  El método más
 +fácil (aunque no satisfactorio) de producir una salida MIDI al
 +escribir para estos instrumentos es sustituirlos por el sonido más
 +parecido del conjunto estándar.
 +
 +@c TODO Expand with examples, and any other issues
 +
 +@knownissues
 +
 +Debido a que el estándar General MIDI no contiene golpes de aro
 +(@emph{rim shots}), para este propósito se utiliza en su lugar el
 +golpe lateral de baqueta (@emph{sidestick}).
index 4ee2665814ada58dd19321a708f3390f6028cfef,0000000000000000000000000000000000000000..259af484f98b88046892555133dd9c5dfdbfc066
mode 100644,000000..100644
--- /dev/null
@@@ -1,924 -1,0 +1,924 @@@
-     Translation of GIT committish: 45945bd973aa9161b10e3f517902afb7ef4b4a56
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 +
 +@ignore
- * Font Clefs::
- * Font Time Signatures::
- * Font Numbers::
- * Font Accidentals::
- * Font Default Noteheads::
- * Font Special Noteheads::
- * Font Shape-note Noteheads::
- * Font Rests::
- * Font Flags::
- * Font Dots::
- * Font Dynamics::
- * Font Scripts::
- * Font Arrowheads::
- * Font Bracket-tips::
- * Font Pedal::
- * Font Accordion::
- * Font Vaticana::
- * Font Medicaea::
- * Font Hufnagel::
- * Font Mensural::
- * Font Neomensural::
- * Font Petrucci::
- * Font Solesmes::
++    Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +@node Notation manual tables
 +@appendix Notation manual tables
 +
 +@c Please do not delete the following @ignore block.
 +@ignore
 +Note for editors and translators: In the following menu, two entries
 +are needed to link to a pair of automatically generated sections.
 +Please keep them and, if using emacs, do not run
 +texinfo-all-menus-update without manually restoring them back. These
 +menu entries are:
 +
 +* Text markup commands::
 +* Text markup list commands::
 +
 +and they should go just after
 +* Note head styles::
 +
 +and just before
 +* List of articulations::
 +@end ignore
 +
 +@menu
 +* Chord name chart::
 +* Common chord modifiers::
 +* Predefined fretboard diagrams::
 +* MIDI instruments::
 +* List of colors::
 +* The Feta font::
 +* Note head styles::
 +* Text markup commands::
 +* Text markup list commands::
 +* List of articulations::
 +* Percussion notes::
 +* All context properties::
 +* Layout properties::
 +* Identifiers::
 +* Scheme functions::
 +@end menu
 +
 +
 +
 +@node Chord name chart
 +@appendixsec Chord name chart
 +
 +Las siguientes tablas muestran dos sistemas estándar para imprimir los nombres de los acordes,
 +junto a las notas que representan.
 +
 +@lilypondfile{chord-names-jazz.ly}
 +
 +@node Common chord modifiers
 +@appendixsec Common chord modifiers
 +
 +La tabla siguiente presenta los modificadores de acorde que se pueden
 +usar en el modo de acordes @code{\chordmode} para generar las
 +estructuras de acordes estándar.
 +
 +@multitable @columnfractions .2 .3 .2 .2
 +
 +@item
 +@b{Tipo de acorde}
 +@tab
 +@b{Intervalos}
 +@tab
 +@b{Modificador(es)}
 +@tab
 +@b{Ejemplo}
 +
 +
 +@item
 +Mayor
 +@tab
 +Tercera mayor y quinta justa
 +@tab
 +@code{5} o nada
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:5
 +}
 +@end lilypond
 +
 +@item
 +Menor
 +@tab
 +Tercera menor y quinta justa
 +@tab
 +@code{m} o @code{m5}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:m
 +}
 +@end lilypond
 +
 +@item
 +Aumentado
 +@tab
 +Tercera mayor y quinta aumentada
 +@tab
 +@code{aug}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:aug
 +}
 +@end lilypond
 +
 +@item
 +Disminuido
 +@tab
 +Tercera menor y quinta disminuida
 +@tab
 +@code{dim}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:dim
 +}
 +@end lilypond
 +
 +@item
 +Séptima dominante
 +@tab
 +Tríada mayor con séptima menor
 +@tab
 +@code{7}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:7
 +}
 +@end lilypond
 +
 +@item
 +Séptima mayor
 +@tab
 +Tríada mayor y séptima mayor
 +@tab
 +@code{maj7} ó @code{maj}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:maj7
 +}
 +@end lilypond
 +
 +@item
 +Séptima menor
 +@tab
 +Tríada menor y séptima menor
 +@tab
 +@code{m7}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:m7
 +}
 +@end lilypond
 +
 +@item
 +Séptima disminuida
 +@tab
 +Tríada disminuida y séptima disminuida
 +@tab
 +@code{dim7}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:dim7
 +}
 +@end lilypond
 +
 +@item
 +Aumentado con séptima
 +@tab
 +Tríada aumentada y séptima menor
 +@tab
 +@code{aug7}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:aug7
 +}
 +@end lilypond
 +
 +@item
 +Séptima semi-disminuido
 +@tab
 +Tríada disminuida y séptima menor
 +@tab
 +@code{m7.5-}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:dim5m7
 +}
 +@end lilypond
 +
 +@item
 +Menor con séptima mayor
 +@tab
 +Tríada menor con séptima mayor
 +@tab
 +@code{maj7.5-}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:maj7.5-
 +}
 +@end lilypond
 +
 +@item
 +Mayor con sexta
 +@tab
 +Tríada mayor y sexta
 +@tab
 +@code{6}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:6
 +}
 +@end lilypond
 +
 +@item
 +Menor con sexta
 +@tab
 +Tríada menor y sexta
 +@tab
 +@code{m6}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:m6
 +}
 +@end lilypond
 +
 +@item
 +Novena dominante
 +@tab
 +Séptima dominante con novena mayor
 +@tab
 +@code{9}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:9
 +}
 +@end lilypond
 +
 +@item
 +Mayor con novena
 +@tab
 +Séptima mayor y novena mayor
 +@tab
 +@code{maj9}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:maj9
 +}
 +@end lilypond
 +
 +@item
 +Menor con novena
 +@tab
 +Séptima menor y novena mayor
 +@tab
 +@code{m9}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:m9
 +}
 +@end lilypond
 +
 +@item
 +Oncena dominante
 +@tab
 +Novena dominante con oncena justa
 +@tab
 +@code{11}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:11
 +}
 +@end lilypond
 +
 +@item
 +Oncena mayor
 +@tab
 +Novena mayor y oncena justa
 +@tab
 +@code{maj11}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:maj11
 +}
 +@end lilypond
 +
 +@item
 +Menor con oncena
 +@tab
 +Novena menor y oncena justa
 +@tab
 +@code{m11}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:m11
 +}
 +@end lilypond
 +
 +@item
 +Trecena dominante
 +@tab
 +Novena dominante y trecena mayor
 +@tab
 +@code{13}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:13
 +}
 +@end lilypond
 +
 +@item
 +Trecena dominante
 +@tab
 +Oncena dominante y trecena mayor
 +@tab
 +@code{13.11}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:13.11
 +}
 +@end lilypond
 +
 +@item
 +Mayor con trecena
 +@tab
 +Oncena mayor y trecena mayor
 +@tab
 +@code{maj13.11}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:maj13.11
 +}
 +@end lilypond
 +
 +@item
 +Menor con trecena
 +@tab
 +Oncena menor y trecena mayor
 +@tab
 +@code{m13.11}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:m13.11
 +}
 +@end lilypond
 +
 +@item
 +Segunda suspendida
 +@tab
 +Segunda mayor y quinta justa
 +@tab
 +@code{sus2}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:sus2
 +}
 +@end lilypond
 +
 +@item
 +Cuarta suspendida
 +@tab
 +Cuarta justa y quinta justa
 +@tab
 +@code{sus4}
 +@tab
 +@lilypond[line-width=3\cm,noragged-right, notime]
 +\chordmode {
 +  c1:sus4
 +}
 +@end lilypond
 +
 +
 +@end multitable
 +
 +@node Predefined fretboard diagrams
 +@appendixsec Predefined fretboard diagrams
 +
 +El cuadro siguiente presenta los diagramas de traste predefinidos.
 +
 +@lilypondfile{display-predefined-fretboards.ly}
 +
 +
 +@node MIDI instruments
 +@appendixsec MIDI instruments
 +
 +A continuación figura una lista con los nombres que se pueden utilizar para la
 +propiedad @code{midiInstrument} (instrumento MIDI).
 +
 +@example
 +acoustic grand            contrabass           lead 7 (fifths)
 +bright acoustic           tremolo strings      lead 8 (bass+lead)
 +electric grand            pizzicato strings    pad 1 (new age)
 +honky-tonk                orchestral harp      pad 2 (warm)
 +electric piano 1          timpani              pad 3 (polysynth)
 +electric piano 2          string ensemble 1    pad 4 (choir)
 +harpsichord               string ensemble 2    pad 5 (bowed)
 +clav                      synthstrings 1       pad 6 (metallic)
 +celesta                   synthstrings 2       pad 7 (halo)
 +glockenspiel              choir aahs           pad 8 (sweep)
 +music box                 voice oohs           fx 1 (rain)
 +vibraphone                synth voice          fx 2 (soundtrack)
 +marimba                   orchestra hit        fx 3 (crystal)
 +xylophone                 trumpet              fx 4 (atmosphere)
 +tubular bells             trombone             fx 5 (brightness)
 +dulcimer                  tuba                 fx 6 (goblins)
 +drawbar organ             muted trumpet        fx 7 (echoes)
 +percussive organ          french horn          fx 8 (sci-fi)
 +rock organ                brass section        sitar
 +church organ              synthbrass 1         banjo
 +reed organ                synthbrass 2         shamisen
 +accordion                 soprano sax          koto
 +harmonica                 alto sax             kalimba
 +concertina                tenor sax            bagpipe
 +acoustic guitar (nylon)   baritone sax         fiddle
 +acoustic guitar (steel)   oboe                 shanai
 +electric guitar (jazz)    english horn         tinkle bell
 +electric guitar (clean)   bassoon              agogo
 +electric guitar (muted)   clarinet             steel drums
 +overdriven guitar         piccolo              woodblock
 +distorted guitar          flute                taiko drum
 +guitar harmonics          recorder             melodic tom
 +acoustic bass             pan flute            synth drum
 +electric bass (finger)    blown bottle         reverse cymbal
 +electric bass (pick)      shakuhachi           guitar fret noise
 +fretless bass             whistle              breath noise
 +slap bass 1               ocarina              seashore
 +slap bass 2               lead 1 (square)      bird tweet
 +synth bass 1              lead 2 (sawtooth)    telephone ring
 +synth bass 2              lead 3 (calliope)    helicopter
 +violin                    lead 4 (chiff)       applause
 +viola                     lead 5 (charang)     gunshot
 +cello                     lead 6 (voice)
 +@end example
 +
 +
 +@node List of colors
 +@appendixsec List of colors
 +
 +@subsubheading Normal colors
 +
 +La sintaxis para el uso de colores se encuentra detallada en @ref{Coloring objects}.
 +
 +@cindex lista de colores
 +@cindex colores, lista de
 +
 +@verbatim
 +black       white          red         green
 +blue        cyan           magenta     yellow
 +grey        darkred        darkgreen   darkblue
 +darkcyan    darkmagenta    darkyellow
 +@end verbatim
 +
 +
 +@subsubheading X color names
 +
 +Los nombres de los colores de X admiten algunas variantes:
 +
 +Un nombre que se escribe como una palabra única con mayúsculas
 +intercaladas (p.ej. @q{LightSlateBlue}) se puede escribir también como
 +palabras separadas por espacios y sin mayúsculas (p.ej. @q{light slate
 +blue}).
 +
 +La palabra @q{grey} siempre se puede escribir como @q{gray} (p.ej. @q{DarkSlateGray}).
 +
 +Algunos nombres admiten un sufijo numérico (p.ej. @q{LightSalmon4}).
 +
 +
 +@subsubheading Color Names without a numerical suffix:
 +
 +@verbatim
 +snow          GhostWhite      WhiteSmoke      gainsboro       FloralWhite
 +OldLace               linen           AntiqueWhite    PapayaWhip      BlanchedAlmond
 +bisque                PeachPuff       NavajoWhite     moccasin        cornsilk
 +ivory         LemonChiffon    seashell        honeydew        MintCream
 +azure         AliceBlue       lavender        LavenderBlush   MistyRose
 +white         black           DarkSlateGrey   DimGrey         SlateGrey
 +LightSlateGrey        grey            LightGrey       MidnightBlue    navy
 +NavyBlue      CornflowerBlue  DarkSlateBlue   SlateBlue       MediumSlateBlue
 +LightSlateBlue        MediumBlue      RoyalBlue       blue            DodgerBlue
 +DeepSkyBlue   SkyBlue         LightSkyBlue    SteelBlue       LightSteelBlue
 +LightBlue     PowderBlue      PaleTurquoise   DarkTurquoise   MediumTurquoise
 +turquoise     cyan            LightCyan       CadetBlue       MediumAquamarine
 +aquamarine    DarkGreen       DarkOliveGreen  DarkSeaGreen    SeaGreen
 +MediumSeaGreen        LightSeaGreen   PaleGreen       SpringGreen     LawnGreen
 +green         chartreuse      MediumSpringGreen       GreenYellow     LimeGreen
 +YellowGreen   ForestGreen     OliveDrab       DarkKhaki       khaki
 +PaleGoldenrod LightGoldenrodYellow    LightYellow     yellow  gold
 +LightGoldenrod        goldenrod       DarkGoldenrod   RosyBrown       IndianRed
 +SaddleBrown   sienna          peru            burlywood       beige
 +wheat         SandyBrown      tan             chocolate       firebrick
 +brown         DarkSalmon      salmon          LightSalmon     orange
 +DarkOrange    coral           LightCoral      tomato          OrangeRed
 +red           HotPink         DeepPink        pink            LightPink
 +PaleVioletRed maroon          MediumVioletRed VioletRed       magenta
 +violet                plum            orchid          MediumOrchid    DarkOrchid
 +DarkViolet    BlueViolet      purple          MediumPurple    thistle
 +DarkGrey      DarkBlue        DarkCyan        DarkMagenta     DarkRed
 +LightGreen
 +@end verbatim
 +
 +
 +@subsubheading Color names with a numerical suffix
 +
 +En los nombres siguientes, el sufijo N puede ser un número del 1 al 4:
 +
 +@verbatim
 +snowN         seashellN       AntiqueWhiteN   bisqueN         PeachPuffN
 +NavajoWhiteN  LemonChiffonN   cornsilkN       ivoryN          honeydewN
 +LavenderBlushN        MistyRoseN      azureN          SlateBlueN      RoyalBlueN
 +blueN         DodgerBlueN     SteelBlueN      DeepSkyBlueN    SkyBlueN
 +LightSkyBlueN LightSteelBlueN LightBlueN      LightCyanN      PaleTurquoiseN
 +CadetBlueN    turquoiseN      cyanN           aquamarineN     DarkSeaGreenN
 +SeaGreenN     PaleGreenN      SpringGreenN    greenN          chartreuseN
 +OliveDrabN    DarkOliveGreenN khakiN          LightGoldenrodN LightYellowN
 +yellowN               goldN           goldenrodN      DarkGoldenrodN  RosyBrownN
 +IndianRedN    siennaN         burlywoodN      wheatN          tanN
 +chocolateN    firebrickN      brownN          salmonN         LightSalmonN
 +orangeN               DarkOrangeN     coralN          tomatoN         OrangeRedN
 +redN          DeepPinkN       HotPinkN        pinkN           LightPinkN
 +PaleVioletRedN        maroonN         VioletRedN      magentaN        orchidN
 +plumN         MediumOrchidN   DarkOrchidN     purpleN         MediumPurpleN
 +thistleN
 +@end verbatim
 +
 +
 +@subsubheading Grey Scale
 +
 +Se puede obtener una escala de grises utilizando:
 +
 +@example
 +greyN
 +@end example
 +
 +@noindent
 +donde N es un número entre 0 y 100.
 +
 +
 +@node The Feta font
 +@appendixsec The Feta font
 +
 +@cindex Feta, tipografía
 +@cindex tipografía Feta
 +
 +Los símbolos siguientes están disponibles en la tipografía Emmentaler
 +y es posible acceder a ellos directamente utilizando elementos de
 +marcado textual como @code{g^\markup @{ \musicglyph #"scripts.segno"
 +@}}, véase @ref{Formatting text}.
 +
 +@menu
- @node Font Clefs
- @unnumberedsubsec Font Clefs
++* Clef glyphs::
++* Time Signature glyphs::
++* Number glyphs::
++* Accidental glyphs::
++* Default Notehead glyphs::
++* Special Notehead glyphs::
++* Shape-note Notehead glyphs::
++* Rest glyphs::
++* Flag glyphs::
++* Dot glyphs::
++* Dynamic glyphs::
++* Script glyphs::
++* Arrowhead glyphs::
++* Bracket-tip glyphs::
++* Pedal glyphs::
++* Accordion glyphs::
++* Vaticana glyphs::
++* Medicaea glyphs::
++* Hufnagel glyphs::
++* Mensural glyphs::
++* Neomensural glyphs::
++* Petrucci glyphs::
++* Solesmes glyphs::
 +@end menu
 +
 +
- @node Font Time Signatures
- @unnumberedsubsec Font Time Signatures
++@node Clef glyphs
++@unnumberedsubsec Clef glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #clefs
 +@end lilypond
 +
 +
- @node Font Numbers
- @unnumberedsubsec Font Numbers
++@node Time Signature glyphs
++@unnumberedsubsec Time Signature glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #timesig
 +@end lilypond
 +
 +
- @node Font Accidentals
- @unnumberedsubsec Font Accidentals
++@node Number glyphs
++@unnumberedsubsec Number glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #numbers
 +@end lilypond
 +
 +
- @node Font Default Noteheads
- @unnumberedsubsec Font Default Noteheads
++@node Accidental glyphs
++@unnumberedsubsec Accidental glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #accidentals
 +@end lilypond
 +
 +
- @node Font Special Noteheads
- @unnumberedsubsec Font Special Noteheads
++@node Default Notehead glyphs
++@unnumberedsubsec Default Notehead glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #default-noteheads
 +@end lilypond
 +
 +
- @node Font Shape-note Noteheads
- @unnumberedsubsec Font Shape-note Noteheads
++@node Special Notehead glyphs
++@unnumberedsubsec Special Notehead glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #special-noteheads
 +@end lilypond
 +
 +
- @node Font Rests
- @unnumberedsubsec Font Rests
++@node Shape-note Notehead glyphs
++@unnumberedsubsec Shape-note Notehead glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #shape-note-noteheads
 +@end lilypond
 +
 +
- @node Font Flags
- @unnumberedsubsec Font Flags
++@node Rest glyphs
++@unnumberedsubsec Rest glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #rests
 +@end lilypond
 +
 +
- @node Font Dots
- @unnumberedsubsec Font Dots
++@node Flag glyphs
++@unnumberedsubsec Flag glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #flags
 +@end lilypond
 +
 +
- @node Font Dynamics
- @unnumberedsubsec Font Dynamics
++@node Dot glyphs
++@unnumberedsubsec Dot glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #dots
 +@end lilypond
 +
 +
- @node Font Scripts
- @unnumberedsubsec Font Scripts
++@node Dynamic glyphs
++@unnumberedsubsec Dynamic glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #dynamics
 +@end lilypond
 +
 +
- @node Font Arrowheads
- @unnumberedsubsec Font Arrowheads
++@node Script glyphs
++@unnumberedsubsec Script glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #scripts
 +@end lilypond
 +
 +
- @node Font Bracket-tips
- @unnumberedsubsec Font Bracket-tips
++@node Arrowhead glyphs
++@unnumberedsubsec Arrowhead glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #arrowheads
 +@end lilypond
 +
 +
- @node Font Pedal
- @unnumberedsubsec Font Pedal
++@node Bracket-tip glyphs
++@unnumberedsubsec Bracket-tip glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #brackettips
 +@end lilypond
 +
 +
- @node Font Accordion
- @unnumberedsubsec Font Accordion
++@node Pedal glyphs
++@unnumberedsubsec Pedal glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #pedal
 +@end lilypond
 +
 +
- @node Font Vaticana
- @unnumberedsubsec Font Vaticana
++@node Accordion glyphs
++@unnumberedsubsec Accordion glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #accordion
 +@end lilypond
 +
 +
- @node Font Medicaea
- @unnumberedsubsec Font Medicaea
++@node Vaticana glyphs
++@unnumberedsubsec Vaticana glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #vaticana
 +@end lilypond
 +
 +
- @node Font Hufnagel
- @unnumberedsubsec Font Hufnagel
++@node Medicaea glyphs
++@unnumberedsubsec Medicaea glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #medicaea
 +@end lilypond
 +
 +
- @node Font Mensural
- @unnumberedsubsec Font Mensural
++@node Hufnagel glyphs
++@unnumberedsubsec Hufnagel glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #hufnagel
 +@end lilypond
 +
 +
- @node Font Neomensural
- @unnumberedsubsec Font Neomensural
++@node Mensural glyphs
++@unnumberedsubsec Mensural glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #mensural
 +@end lilypond
 +
 +
- @node Font Petrucci
- @unnumberedsubsec Font Petrucci
++@node Neomensural glyphs
++@unnumberedsubsec Neomensural glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #neomensural
 +@end lilypond
 +
 +
- @node Font Solesmes
- @unnumberedsubsec Font Solesmes
++@node Petrucci glyphs
++@unnumberedsubsec Petrucci glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #petrucci
 +@end lilypond
 +
 +
++@node Solesmes glyphs
++@unnumberedsubsec Solesmes glyphs
 +
 +@lilypond[quote]
 +\include "font-table.ly"
 +\markuplines \override-lines #'(word-space . 4)
 +             \doc-chars #solesmes
 +@end lilypond
 +
 +
 +@node Note head styles
 +@appendixsec Note head styles
 +
 +@cindex nota, estilos de cabeza
 +Se pueden usar los siguientes estilos para las cabezas de las notas.
 +
 +@lilypondfile[noindent]{note-head-style.ly}
 +
 +@include markup-commands.tely
 +
 +@include markup-list-commands.tely
 +
 +@node List of articulations
 +@appendixsec List of articulations
 +
 +@cindex accent
 +@cindex acento
 +@cindex apagado
 +@cindex arco abajo
 +@cindex arco arriba
 +@cindex calderón
 +@cindex coda
 +@cindex downbow
 +@cindex espressivo
 +@cindex fermata
 +@cindex flageolet
 +@cindex foot marks
 +@cindex grupeto circular
 +@cindex grupeto circular invertido
 +@cindex marcato
 +@cindex mordent
 +@cindex open
 +@cindex organ pedal marks
 +@cindex pedal, indicaciones de
 +@cindex portato
 +@cindex prall
 +@cindex prallmordent
 +@cindex prallprall
 +@cindex reverseturn
 +@cindex segno
 +@cindex semitrino
 +@cindex semitrino descendente
 +@cindex staccatissimo
 +@cindex staccato
 +@cindex stopped
 +@cindex tenuto
 +@cindex thumb marking
 +@cindex trill
 +@cindex trino
 +@cindex turn
 +@cindex upbow
 +@cindex varcoda
 +@cindex órgano, indicaciones de pedal de
 +
 +
 +@lilypondfile[quote,texidoc]{script-chart.ly}
 +
 +
 +@node Percussion notes
 +@appendixsec Percussion notes
 +
 +@lilypondfile[quote]{percussion-chart.ly}
 +
 +
 +@node All context properties
 +@appendixsec All context properties
 +
 +@include context-properties.tely
 +
 +
 +@node Layout properties
 +@appendixsec Layout properties
 +
 +@include layout-properties.tely
 +
 +
 +@node Identifiers
 +@appendixsec Identifiers
 +
 +@include identifiers.tely
 +
 +
 +@node Scheme functions
 +@appendixsec Scheme functions
 +
 +@include scheme-functions.tely
index 6559288264d6038e42fa8d7f200b2bd5ef3c91e7,0000000000000000000000000000000000000000..9728158a01479511058e954568140477146e26a1
mode 100644,000000..100644
--- /dev/null
@@@ -1,8 -1,0 +1,8 @@@
- %% Translation of GIT committish: 3e50373e10750e5bc1f5c69898df3740e6169165
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +La presentación del acorde de séptima mayor se
 +puede ajustar mediante majorSevenSymbol.
 +
 +"
 +  doctitlees = "Nombre de acorde maj7"
 +
index 273439eff9e075ba21ef37cfafc6fd048b33eac7,0000000000000000000000000000000000000000..15e77e55b98a8833793bfa7145641686a42c0b58
mode 100644,000000..100644
--- /dev/null
@@@ -1,9 -1,0 +1,9 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +Se puede hacer que los diagramas de posiciones se muestren sólo
 +cuando el acorde cambia o al comienzo de una nueva línea.
 +
 +"
 +
 +  doctitlees = "Cambios de acorde de posiciones de trastes"
 +
index 4deef397f3d878d53ee3eab385fec2de7feb34b0,0000000000000000000000000000000000000000..ce4acbcc0ff9e504d73d626a90b415e61ed9fc4f
mode 100644,000000..100644
--- /dev/null
@@@ -1,28 -1,0 +1,28 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +
 +Las ligaduras de expresión se pueden construir con patrones de
 +discontinuidad complejos mediante la definición de la propiedad
 +@code{dash-definition}.  @code{dash-definition} es una lista de
 +@code{elementos de discontinuidad}.  Un @code{elemento de
 +discontinuidad} es una lista de parámetros que definen el
 +comportamiento de discontinuidad de un segmento de la ligadura de
 +expresión.
 +
 +La ligadura se define en términos del parámetro de bezier t cuyo
 +rango va de 0 a la izquierda de la ligadura hasta 1 en el extremo
 +derecho de la ligadura.  Cada @code{elemento de discontinuidad} es
 +una lista @code{(t-inicio t-final fracción-discontinuidad
 +período-discontinuidad)}.  La región de la ligadura desde
 +@code{t-inicio} hasta @code{t-final} tendrá una fracción
 +@code{fracción-discontinuidad} de cada
 +@code{período-discontinuidad} de color negro.
 +@code{período-discontinuidad} se define en términos de espacios de
 +pentagrama.  @code{fracción-discontinuidad} se establece al valor
 +de 1 para una ligadura continua.
 +
 +"
 +
 +  doctitlees = "Hacer ligaduras de expresión con estructura compleja de discontinuidad"
 +
 +
index c0b733e505861eafa97cc971e81a78c48f0de2af,0000000000000000000000000000000000000000..8fcea8c0e040903fc9f8ef9e0e9bfda43d005cc7
mode 100644,000000..100644
--- /dev/null
@@@ -1,11 -1,0 +1,11 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +LilyPond también proporciona funciones de formato para imprimir
 +números de grupo especial diferentes a la propia fracción, así
 +como para añadir una figura al número o a la fracción de la
 +agrupación.
 +
 +"
 +
 +  doctitlees = "Números de agrupación especial distintos a los predeterminados"
 +
index 8c57b38a4d56bd6146e7126d0170a5daad540c14,0000000000000000000000000000000000000000..d241a4d91182c2166dd3553a23dc5a3e562c05e3
mode 100644,000000..100644
--- /dev/null
@@@ -1,28 -1,0 +1,28 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  doctitlees = "Armaduras de tonalidad no tradicionales"
 +  texidoces = "
 +
 +La muy utilizada instrucción @code{\\key} establece la propiedad
 +@code{keySignature} property, dentro del contexto @code{Staff}.
 +
 +Para crear armaduras de tonalidad no estándar, ajuste esta
 +propiedad directamente.  El formato de esta instrucción es una
 +lista:
 +
 +@code{\\set Staff.keySignature = #`(((octava . paso) . alteración)
 +((octava . paso) . alteración) ...)} donde, para cada elemento
 +dentro de la lista, @code{octava} especifica la octava
 +(siendo@tie{}cero la octava desde el Do@tie{}central hasta el Si
 +por encima), @code{paso} especifica la nota dentro de la octava
 +(cero@tie{}significa@tie{}Do y 6@tie{}significa@tie{}Si), y
 +@code{alteración} es @code{,SHARP ,FLAT ,DOUBLE-SHARP}
 +etc. (observe la coma precedente.)
 +
 +De forma alternativa, para cada elemento de la lista el uso del
 +formato más conciso @code{(paso . alteración)} especifica que la
 +misma alteración debe estar en todas las octavas.
 +
 +He aquí un ejemplo de una posible armadura para generar una escala
 +exátona:
 +"
 +
index 264aa632a87b759b8c269f507c00fbdf8fa1e2a5,0000000000000000000000000000000000000000..c7a6de501a9ba0cddf330098828c76b7b3a33552
mode 100644,000000..100644
--- /dev/null
@@@ -1,1184 -1,0 +1,1183 @@@
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
-     Translation of GIT committish: db53c05f11bea8831733b1fdf7ebe32cb1f491f4
 +@ignore
- @cindex structures recursives
++    Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +@c Translators: Ludovic Sardain, John Mandereau
 +@c Translation checkers: Jean-Charles Malahieude, Jean-Yves Baudais, Damien Heurtebise
 +@c Translation status: post-GDP
 +
 +
 +@node Introduction
 +@chapter Introduction
 +
 +Ce chapitre constitue une première présentation de LilyPond et de sa 
 +documentation.
 +
 +@menu
 +* Background::                  
 +* About the documentation::     
 +@end menu
 +
 +
 +@node Background
 +@section Background
 +
 +Cette partie présente les objectifs de LilyPond ainsi que son 
 +architecture.
 +
 +@menu
 +* Engraving::                   
 +* Automated engraving::         
 +* What symbols to engrave?::    
 +* Music representation::        
 +* Example applications::        
 +@end menu
 +
 +
 +@node Engraving
 +@unnumberedsubsec Engraving
 +
 +
 +@cindex gravure
 +@cindex typographie musicale
 +@cindex musique et typographie
 +
 +L'art de la typographie musicale se nomme la @emph{gravure}.  Ce terme
 +est issu du processus traditionnel d'impression musicale.  Il y a
 +seulement quelques dizaines d'années, on faisait les partitions en
 +coupant et en embossant une plaque de zinc ou d'étain en image miroir.
 +Cette plaque était ensuite encrée, les dépressions créées par les
 +creux et les bosses retenant l'encre.  Une image était formée en
 +pressant du papier sur la plaque.  La découpe et l'embossage étaient
 +entièrement faits à la main.  Il était pénible d'appliquer une
 +correction, quand celle-ci n'était pas impossible ; la gravure devait
 +donc être parfaite du premier coup.  La gravure demandait une
 +qualification hautement spécialisée : un artisan devait accomplir
 +environ cinq ans de formation avant de mériter le titre de maître
 +graveur, et il lui fallait cinq années d'expérience supplémentaires
 +pour devenir vraiment habile.
 +
 +De nos jours, toutes les partitions récentes sont produites avec des
 +ordinateurs.  Ceci a des avantages évidents : le coût des impressions
 +a diminué, et le travail d'édition peut être envoyé par courriel.
 +Malheureusement, l'utilisation dominante des ordinateurs a également
 +diminué la qualité graphique des partitions.  L'impression
 +informatisée leur donne un aspect fade et mécanique qui les rend
 +désagréables à jouer.
 +
 +@c introduce illustrating aspects of engraving, font...
 +Les images ci-dessous illustrent la différence entre la gravure
 +traditionelle et l'impression typique par ordinateur, et la troisième
 +image montre comment LilyPond mime l'aspect traditionnel.  L'image de
 +gauche est une numérisation d'un symbole bémol d'une édition publiée
 +en 2000.  Celle du centre montre un bémol d'une gravure à la main de
 +l'édition Bärenreiter de la même musique.  L'image de gauche illustre
 +des défauts typiques de l'impression informatique : les lignes de
 +portée sont minces, l'épaisseur de trait du bémol est la même que les
 +lignes fines, et il y a un aspect rigide avec des angles pointus.  Par
 +contraste, le bémol Bärenreiter possède un aspect gras et arrondi,
 +presque voluptueux.  Notre symbole bémol est créé, entre autres, à
 +partir de celui-là.  Il est arrondi, et son épaisseur de trait
 +s'harmonise avec nos lignes de portée, lesquelles sont également plus
 +épaisses que celles de l'édition informatique.
 +
 +@multitable @columnfractions .125 .25 .25 .25 .125
 +@item @tab
 +@ifnotinfo
 +@iftex
 +@image{henle-flat-gray,,4cm}
 +@end iftex
 +@ifnottex
 +@image{henle-flat-gray,,,png}
 +@end ifnottex
 +
 +@tab
 +@iftex
 +@image{baer-flat-gray,,4cm}
 +@end iftex
 +@ifnottex
 +@image{baer-flat-gray,,,png}
 +@end ifnottex
 +
 +@tab
 +@iftex
 +@image{lily-flat-bw,,4cm}
 +@end iftex
 +@ifnottex
 +@image{lily-flat-bw,,,png}
 +@end ifnottex
 +@end ifnotinfo
 +@ifinfo
 +@image{lilypond/henle-flat-bw,,,png} @image{lilypond/baer-flat-bw,,,png}
 +@image{lilypond/lily-flat-bw,,,png}
 +@end ifinfo
 +
 +@item @tab
 +Henle (2000)
 +@tab
 +Bärenreiter (1950)
 +@tab
 +Fonte Feta de LilyPond (2003)
 +
 +@end multitable
 +
 +
 +@cindex symboles musicaux
 +@cindex fonte
 +@cindex police
 +@cindex épaisseur des caractères
 +@cindex équilibre
 +
 +@c introduce illustrating aspects of engraving, spacing...
 +En matière d'espacement, la répartition de l'espace devrait refléter
 +les durées entre les notes.  Cependant, beaucoup de partitions
 +modernes se contentent des durées avec une précision mathématique, ce
 +qui mène à de mauvais résultats.  Dans l'exemple suivant, un motif est
 +imprimé deux fois : une fois en utilisant un espacement mathématique
 +exact, et une autre fois avec des corrections.  Pouvez-vous les
 +repérer ?
 +
 +@cindex espacement optique
 +@c file spacing-optical.
 +@c need to include it here,  because we want two images.
 +@lilypond
 +\paper {
 +  ragged-right = ##t
 +  indent = #0.0
 +}
 +
 +music = {
 +   c'4 e''4 e'4 b'4 |
 +   \stemDown
 +   b'8[ e'' a' e'']
 +   \stemNeutral
 +   e'8[ e'8 e'8 e'8]
 +}
 +
 +\score
 +{
 +  \music
 +  \layout {
 +    \context {
 +      \Staff
 +      \override NoteSpacing #'stem-spacing-correction = #0.6
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@lilypond
 +\paper {
 +  ragged-right = ##t
 +  indent = #0.0
 +}
 +
 +music = {
 +   c'4 e''4 e'4 b'4 |
 +   \stemDown
 +   b'8[ e'' a' e'']
 +   \stemNeutral
 +   e'8[ e'8 e'8 e'8]
 +}
 +\score
 +{
 +  \music
 +  \layout {
 +    \context {
 +      \Staff
 +      \override NoteSpacing #'stem-spacing-correction = #0.0
 +      \override NoteSpacing #'same-direction-correction = #0.0
 +      \override StaffSpacing #'stem-spacing-correction = #0.0
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@cindex régulier, rythme
 +@cindex régulier, espacement
 +@cindex espacement régulier
 +
 +L'extrait n'utilise que des notes de même durée ; l'espacement devrait
 +le refléter.  Malheureusement, notre oeil nous trompe quelque peu ; il
 +ne se contente pas de remarquer la distance entre les têtes de notes,
 +il prend en compte également la distance entre les hampes
 +consécutives.  Ainsi, par compensation, les notes avec une combinaison
 +@qq{hampe vers le haut}/@/@qq{hampe vers le bas} doivent être éloignées
 +l'une de l'autre, et les notes avec une combinaison @qq{hampe vers le
 +bas}/@/@qq{hampe vers le haut} rapprochées, le tout dépendant de la
 +position verticale des notes.  Les deux premières mesures sont
 +imprimées avec cette correction, les deux suivantes sans.  Les notes
 +dans les deux dernières mesures forment des blocs de notes @qq{hampe
 +vers le bas}/@/@qq{hampe vers le haut}.
 +
 +@cindex typographie
 +
 +Les musiciens sont généralement plus absorbés par l'exécution que par
 +l'étude de l'aspect graphique d'une partition, donc discutailler sur
 +les détails typographiques peut paraître peu important.  Il n'en est
 +rien.  Dans de longues pièces avec des rythmes monotones, les
 +corrections d'espacement engendrent de subtiles variations dans la
 +mise en forme de chaque ligne, donnant à chacune une signature
 +visuelle distincte.  Sans cette signature, toutes les lignes auraient
 +le même aspect, et ressembleraient à un labyrinthe.  Si un musicien
 +regarde ailleurs un instant ou se déconcentre momentanement, il peut
 +avoir du mal à se retrouver sur la page.
 +
 +De même, l'aspect robuste des symboles sur d'épaisses lignes de
 +portée ressort mieux quand la partition est éloignée du lecteur,
 +comme sur un pupitre par exemple.  Une organisation minutieuse des
 +espaces vides permet de minimiser l'espace qu'occupe la musique, tout
 +en évitant que les symboles s'amassent les uns contre les autres.  Le
 +résultat permet de réduire le nombre de pages à tourner, ce qui est un
 +grand avantage.
 +
 +Ceci est une caractéristique commune à toute typographie.  La
 +disposition doit être belle, non seulement pour des raisons
 +esthétiques, mais également pour l'aide apportée au lecteur dans la
 +tâche qu'il doit accomplir.  Pour du matériel d'exécution comme les
 +partitions de musique, cela prend une double importance : les
 +musiciens ont une quantité limitée d'attention.  Moins ils en ont
 +besoin pour lire, plus ils peuvent se concentrer sur la musique
 +elle-même.  Autrement dit, une meilleure typographie permet une
 +meilleure interprétation.
 +
 +Ces exemples démontrent que la typographie musicale est un art subtil
 +et complexe, et que la produire demande une expertise considérable,
 +que les musiciens ne possèdent généralement pas.  LilyPond est le
 +fruit de nos efforts pour restaurer l'excellence graphique de la
 +gravure à la main à l'ère de l'ordinateur, et la rendre accessible à
 +tous les musiciens.  Nous avons conçu nos algorithmes, fontes et
 +paramètres de programme pour retrouver la qualité d'édition des
 +anciennes partitions que nous aimons tant lire et jouer.
 +
 +
 +@node Automated engraving
 +@unnumberedsubsec Automated engraving
 +
 +@cindex gravure automatisée
 +@cindex automatisée, gravure
 +
 +Comment pouvons-nous implémenter la typographie ? Si les artisans ont
 +besoin de plus de dix ans pour devenir de vrais maîtres, comment nous,
 +simples programmeurs, pourrions-nous jamais écrire un programme pour
 +faire leur travail ?
 +
 +La réponse est : nous ne le pouvons pas.  La typographie se base sur
 +le jugement visuel humain, donc les humains ne peuvent pas être
 +complètement remplacés.  Si LilyPond arrive à traiter la plupart des
 +situations correctement, ce sera déjà une grande avancée sur les
 +logiciels existants.  Les problèmes restants peuvent être résolus à la
 +main.  Au fil des ans, le logiciel peut être affiné pour faire de plus
 +en plus de choses automatiquement, pour que les ajustements manuels
 +soient de moins en moins nécessaires.
 +
 +Quand nous avons commencé, nous avons écrit le programme Lilypond
 +entièrement dans le language de programmation C++ ; les fonctions du
 +programme étaient figées par les développeurs.  Ceci s'est avéré
 +insatisfaisant pour plusieurs raisons :
 +
 +@itemize 
 +
 +@item Quand Lilypond fait des erreurs,
 +les utilisateurs ont besoin de contredire les décisions de formatage.
 +Les utilisateurs doivent donc avoir accès au moteur de formatage.  Par
 +conséquent, les règles et les propriétés ne peuvent pas être fixées
 +par nous au moment de la compilation, mais doivent être accessibles
 +aux utilisateurs au moment de l'exécution.
 +
 +@item La gravure est une question de jugement visuel, et donc de goût.
 +Aussi bien informés que nous le sommes, les utilisateurs peuvent être
 +en désaccord avec nos décisions personnelles.  Par conséquent, les
 +définitions du modèle typographique doivent également être accessibles
 +à l'utilisateur.
 +
 +@item Enfin, nous affinons continuellement les algorithmes de formatage,
 +donc nous avons besoin d'une approche souple des règles.  Le langage
 +C++ oblige à une certaine méthode de groupage des règles qui ne
 +convient pas bien au fonctionnement de la notation musicale.
 + 
 +@end itemize
 +
 +@cindex langage de programmation Scheme
 +
 +Ces problèmes ont été résolus en intégrant un interpréteur pour le
 +langage de programmation Scheme, et en réécrivant des parties de
 +LilyPond en Scheme.  L'architecture actuelle de formatage est
 +construite autour de la notion d'objets graphiques, décrits par des
 +fonctions et des variables Scheme.  Cette architecture comprend les
 +règles de formatage, le style typographique, et des décisions
 +individuelles de formatage.  L'utilisateur a un accès direct à la
 +plupart de ces contrôles.
 +
 +Les variables Scheme contrôlent les décisions de mise en page.  Par
 +exemple, beaucoup d'objets graphiques ont une variable de direction
 +qui encode le choix entre haut et bas (ou gauche et droite).  Vous
 +pouvez voir ici deux accords, avec des accents, et des arpèges.  Dans
 +le premier accord, les objets graphiques sont tous dirigés vers le bas
 +(ou la gauche).  Dans le second accord ils sont tous dirigés vers le
 +haut (droite).
 +
 +@lilypond[quote,ragged-right]
 +\new Score \with {
 +   \override SpacingSpanner #'spacing-increment = #3
 +   \override TimeSignature #'transparent = ##t
 +} \relative c' {
 +   \stemDown <e g b>4_>-\arpeggio
 +   \override Arpeggio #'direction = #RIGHT
 +   \stemUp <e g b>4^>-\arpeggio
 +}
 +@end lilypond
 +
 +@cindex partition, formatage
 +@cindex formatage d'une partition
 +@cindex formatage, règles de
 +
 +@noindent
 +Le processus de formatage d'une partition consiste à lire et écrire
 +les variables d'objets graphiques.  Certaines variables ont une valeur
 +prédéfinie.  Par exemple, l'épaisseur d'un grand nombre de lignes --
 +une caractéristique du style typographique -- est une variable avec
 +une valeur prédéfinie.  Vous êtes libres d'altérer cette valeur, ce
 +qui vous donne une partition avec une impression typographique
 +différente.
 +
 +@lilypond[quote,ragged-right]
 +fragment = {
 +   \clef bass f8 as8
 +   c'4-~ c'16 as g f e16 g bes c' des'4
 +}
 +<<
 +   \new Staff \fragment
 +   \new Staff \with {
 +      \override Beam #'thickness = #0.3
 +      \override Stem #'thickness = #0.5
 +      \override Bar #'thickness = #3.6
 +      \override Tie #'thickness = #2.2
 +      \override StaffSymbol #'thickness = #3.0
 +      \override Tie #'extra-offset = #'(0 .  0.3)
 +      }
 +      \fragment
 +>>
 +@end lilypond
 +
 +Les règles de formatage ont aussi des variables prédéfinies : chaque
 +objet possède des variables contenant des procédures.  Ces procédures
 +exécutent le formatage, et en les substituant par d'autres, nous
 +pouvons changer l'apparence des objets.  Dans l'exemple suivant, la
 +règle du choix de têtes de notes est changée au cours de l'extrait de
 +musique.
 +
 +@lilypond[quote,ragged-right]
 +#(set-global-staff-size 30)
 +
 +#(define (mc-squared grob orig current)
 +  (let* ((interfaces (ly:grob-interfaces grob))
 +         (pos (ly:grob-property grob 'staff-position)))
 +    (if (memq 'note-head-interface interfaces)
 +        (begin
 +          (ly:grob-set-property! grob 'stencil
 +            (grob-interpret-markup grob
 +              (make-lower-markup 0.5
 +                (case pos
 +                  ((-5) "m")
 +                  ((-3) "c ")
 +                  ((-2) (make-smaller-markup (make-bold-markup "2")))
 +                  (else "bla")))))))))
 +
 +\new Voice \relative c' {
 +  \stemUp
 +  \set autoBeaming = ##f
 +  \time 2/4
 +  <d f g>4
 +  \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
 +  \once \override NoteHead #'font-size = #-7
 +  \once \override NoteHead #'font-family = #'sans
 +  \once \override NoteHead #'font-series = #'bold
 +  <d f g>4
 +  \once \override NoteHead #'style = #'cross
 +  <d f g>4
 +  \applyOutput #'Voice #mc-squared
 +  <d f g>4
 +  <<
 +    { d8[ es-( fis^^ g] fis2-) }
 +    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
 +  >>
 +}
 +@end lilypond
 +
 +
 +
 +@node What symbols to engrave?
 +@unnumberedsubsec What symbols to engrave?
 +
 +@cindex gravure
 +@cindex typographie
 +@cindex graveur
 +@cindex greffon
 +
 +Le processus de formatage décide où placer les symboles.  Cependant,
 +cela ne peut être fait qu'à partir du moment où il a été décidé
 +@emph{quels} symboles doivent être imprimés, c'est-à-dire quelle
 +notation utiliser.
 +
 +La notation musicale usuelle est un système d'écriture qui a évolué à
 +travers les dix derniers siècles.  La forme qui est aujourd'hui
 +communément utilisée date du début de la Renaissance.  Bien que la forme
 +basique --- les têtes de notes sur une portée de cinq lignes --- n'ait pas
 +changé, les détails continuent d'évoluer pour exprimer les innovations
 +de la notation contemporaine.  Par conséquent, elle comprend quelque 500
 +ans de musique, avec des applications allant des mélodies monodiques à
 +de monstrueux contrepoints pour grand orchestre.
 +
 +Comment pouvons nous appréhender un tel monstre à plusieurs têtes, et le
 +confiner dans l'espace réduit d'un programme informatique ?  Notre
 +solution consiste à diviser le problème de la notation --- par
 +opposition à la gravure, ou typographie --- en morceaux digestes et
 +programmables : chaque type de symbole est géré par un module séparé,
 +couramment appelé greffon@footnote{traduction de l'anglais
 +@emph{plug-in}.}.  Chaque greffon est entièrement modulaire et
 +indépendant, et donc peut être développé et amélioré séparément.  De
 +tels greffons sont nommés @code{graveur}s@footnote{@code{engraver}s en
 +anglais.}, par analogie avec les artisans qui traduisent les idées
 +musicales en symboles graphiques.
 +
 +Dans l'exemple suivant, voyons comment nous commençons avec un greffon
 +pour les têtes de notes, le graveur de têtes de note
 +(@code{Note_heads_engraver}) :
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +
 +\score {
 +  \topVoice
 +  \layout {
 +    \context {
 +      \Voice
 +      \remove "Stem_engraver"
 +      \remove "Phrasing_slur_engraver"
 +      \remove "Slur_engraver"
 +      \remove "Script_engraver"
 +      \remove "Beam_engraver"
 +      \remove "Auto_beam_engraver"
 +    }
 +    \context {
 +      \Staff
 +      \remove "Accidental_engraver"
 +      \remove "Key_engraver"
 +      \remove "Clef_engraver"
 +      \remove "Bar_engraver"
 +      \remove "Time_signature_engraver"
 +      \remove "Staff_symbol_engraver"
 +      \consists "Pitch_squash_engraver"
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +Ensuite, le graveur du symbole de portée
 +(@code{Staff_symbol_engraver}) ajoute la portée
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +
 +\score {
 +  \topVoice
 +  \layout {
 +    \context {
 +      \Voice
 +      \remove "Stem_engraver"
 +      \remove "Phrasing_slur_engraver"
 +      \remove "Slur_engraver"
 +      \remove "Script_engraver"
 +      \remove "Beam_engraver"
 +      \remove "Auto_beam_engraver"
 +    }
 +    \context {
 +      \Staff
 +      \remove "Accidental_engraver"
 +      \remove "Key_engraver"
 +      \remove "Clef_engraver"
 +      \remove "Bar_engraver"
 +      \consists "Pitch_squash_engraver"
 +      \remove "Time_signature_engraver"
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +le graveur de clef (@code{Clef_engraver}) définit un point de
 +référence pour la portée
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +
 +\score {
 +  \topVoice
 +  \layout {
 +    \context {
 +      \Voice
 +      \remove "Stem_engraver"
 +      \remove "Phrasing_slur_engraver"
 +      \remove "Slur_engraver"
 +      \remove "Script_engraver"
 +      \remove "Beam_engraver"
 +      \remove "Auto_beam_engraver"
 +    }
 +    \context {
 +      \Staff
 +      \remove "Accidental_engraver"
 +      \remove "Key_engraver"
 +      \remove "Bar_engraver"
 +      \remove "Time_signature_engraver"
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +et le graveur de hampes (@code{Stem_engraver}) ajoute les hampes :
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +
 +\score {
 +  \topVoice
 +  \layout {
 +    \context {
 +      \Voice
 +      \remove "Phrasing_slur_engraver"
 +      \remove "Slur_engraver"
 +      \remove "Script_engraver"
 +      \remove "Beam_engraver"
 +      \remove "Auto_beam_engraver"
 +    }
 +    \context {
 +      \Staff
 +      \remove "Accidental_engraver"
 +      \remove "Key_engraver"
 +      \remove "Bar_engraver"
 +      \remove "Time_signature_engraver"
 +    }
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +Le graveur de hampe est informé de chaque tête de note qui survient.
 +Chaque fois qu'une tête de note --- plusieurs pour un accord --- est
 +rencontrée, un objet hampe est créé et connecté à la tête de note.  En
 +ajoutant des graveurs pour les barres de ligature, les liaisons, les
 +accents, les altérations accidentelles, les barres de mesure, la
 +métrique, et les armures, nous obtenons un jeu de notation complet.
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +\score { \topVoice }
 +@end lilypond
 +
 +@cindex polyphonie
 +@cindex graver plusieurs voix
 +@cindex contextes
 +
 +Ce système fonctionne bien pour de la musique monodique, mais qu'en
 +est-il de la polyphonie ? En notation polyphonique, plusieurs voix
 +peuvent partager une portée.
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +\new Staff << \topVoice \\ \botVoice >>
 +@end lilypond
 +
 +Dans cette situation, la portée et les altérations accidentelles sont
 +partagées, mais les hampes, liaisons etc., sont spécifiques à chaque
 +voix.  Par conséquent, les graveurs doivent être groupés.  Les
 +graveurs des têtes de notes, hampes, liaisons etc., vont dans un
 +groupe appelé @qq{contexte de Voix} @footnote{@q{Voice context} en
 +anglais, @q{Voice} commence par une majuscule comme tous les noms de
 +contexte dans le programme LilyPond.}, alors que les graveurs des clés,
 +altérations accidentelles, barres de mesure etc., vont dans un groupe
 +appelé @qq{contexte de Portée}. Dans le cas de la polyphonie, un seul
 +contexte de Portée contient plusieurs contextes de Voix.  De même,
 +plusieurs contextes de Portée peuvent être inclus dans un seul
 +contexte de Partition.  Le contexte de Partition est le contexte de
 +notation de plus haut niveau.
 +
 +
 +@seealso
 +Référence du programme: @rinternals{Contexts}.
 +
 +
 +@lilypond[quote,ragged-right]
 +\include "engraver-example.ily"
 +\score {
 +   <<
 +      \new Staff << \topVoice \\ \botVoice >>
 +      \new Staff << \pah \\ \hoom >>
 +   >>
 +}
 +@end lilypond
 +
 +@node Music representation
 +@unnumberedsubsec Music representation
 +
 +@cindex syntaxe
- en utilisant <<, @code{\\}, et >>
++@cindex structures récursives
 +
 +Idéalement, le format d'entrée pour n'importe quel système de
 +formatage est une description abstraite du contenu.  Dans ce cas-ci,
 +ce serait la musique elle-même.  Cela pose un formidable problème :
 +comment pouvons-nous définir ce qu'est réellement la musique ? Plutôt
 +que d'essayer de trouver une réponse, nous avons renversé la question.
 +Nous écrivons un logiciel capable de produire de la musique écrite, et
 +adaptons le format pour atteindre la plus grande concision possible.
 +Quand le format ne peut plus être simplifé, il nous reste par
 +définition le contenu lui-même.  Notre logiciel sert de définition
 +formelle d'un document de musique.
 +
 +Pour LilyPond, la syntaxe est également l'interface utilisateur ; par
 +conséquent il est facile de saisir
 +
 +@example
 +@{
 +c'4 d'8
 +@}
 +@end example
 +
 +@noindent
 +c'est-à-dire un do central noire et, juste au-dessus, un ré croche
 +
 +@lilypond[quote]
 +{
 +  c'4 d'8
 +}
 +@end lilypond
 +
 +Sur une échelle microscopique, une telle syntaxe est facile à
 +utiliser.  À plus grande échelle, la syntaxe a besoin aussi de
 +structure.  Comment serait-il possible autrement de rentrer des
 +pièces complexes comme des symphonies ou des opéras ? La structure
 +est formée par le concept d'expression musicale : en combinant
 +de petits fragments de musique pour en former de plus grands, on peut
 +exprimer de la musique plus complexe.  Par exemple
 +
 +@lilypond[quote,verbatim,fragment,relative=1]
 +f4
 +@end lilypond
 +
 +@noindent
 +Des accord peuvent être construits avec @code{<<} et @code{>>} autour
 +des notes.
 +
 +@example
 +<<c4 d4 e4>>
 +@end example
 +
 +@lilypond[quote,fragment,relative=1]
 +\new Voice { <<c4 d4 e>> }
 +@end lilypond
 +
 +@noindent
 +On met cette expression dans une séquence en l'encadrant par
 +des accolades @code{@{@tie{}@dots{}@tie{}@}}
 +
 +@example
 +@{ f4 <<c4 d4 e4>> @}
 +@end example
 +
 +@lilypond[quote,relative=1,fragment]
 +{ f4 <<c d e4>> }
 +@end lilypond
 +
 +@noindent
 +Ceci est également une expression, et peut donc encore une fois
 +être combiné avec d'autres expressions simultanées (une blanche)
++en utilisant @code{<<}, @code{\\}, et @code{>>}.
 +
 +@example
 +<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>
 +@end example
 +
 +@lilypond[quote,fragment,relative=2]
 +\new Voice { << g2 \\ { f4 <<c d e>> } >> }
 +@end lilypond
 +
 +De telles structures récursives peuvent être spécifiées formellement
 +et de manière ordonnée dans une grammaire indépendante de tout
 +contexte.  Le code d'analyse est aussi généré à partir de cette
 +grammaire.  Autrement dit, la syntaxe de LilyPond est définie
 +clairement et sans ambiguité.
 +
 +L'interface utilisateur et la syntaxe sont ce que les gens voient et
 +manipulent le plus.  Elles sont en partie une affaire de goût, et
 +aussi sujettes à beaucoup de discussions.  Même si ces discussions sur
 +les goûts ont leur mérite, elles ne sont pas très productives.  D'un
 +point de vue plus large sur LilyPond, l'importance de la syntaxe est
 +minime : il est facile d'inventer une syntaxe concise, alors qu'écrire
 +un code de formatage décent est beaucoup plus difficile.  Ceci est
 +également illustré par le nombre de lignes de codes pour les
 +composants respectifs : l'analyse et la représentation constituent
 +moins de 10% du code source.
 +
 +@node Example applications
 +@unnumberedsubsec Example applications
 +
 +@cindex exemples simples
 +
 +Nous avons conçu LilyPond comme une expérimentation visant à
 +concentrer l'art de la gravure musicale dans un logiciel.  Grâce à
 +tout ce dur labeur, le programme peut maintenant être utilisé pour
 +accomplir des travaux utiles.  L'application la plus simple est
 +d'imprimer des notes :
 +
 +@lilypond[quote,relative=1]
 +{
 +  \time 2/4
 +  c4 c g'4 g a4 a g2
 +}
 +@end lilypond
 +
 +@noindent
 +En ajoutant des noms d'accords et des paroles, nous obtenons
 +une partition de chanson :
 +
 +@lilypond[quote,ragged-right]
 +<<
 +   \chords { c2 c f2 c }
 +   \new Staff
 +   \relative c' {
 +     \time 2/4
 +     c4 c g' g a a g2
 +   }
 +   \addlyrics { twin -- kle twin -- kle lit -- tle star }
 +>>
 +@end lilypond
 +
 +La notation polyphonique et la musique pour piano peuvent également
 +être générées.  L'exemple suivant associe quelques constructions
 +plus exotiques :
 +
 +@lilypond[quote]
 +\header {
 +  title = "Screech and boink"
 +  subtitle = "Random complex notation"
 +  composer = "Han-Wen Nienhuys"
 +}
 +
 +\score {
 +  \context PianoStaff <<
 +    \new Staff = "up" {
 +      \time 4/8
 +      \key c \minor
 +      << {
 +        \revert Stem #'direction
 +        \change Staff = down
 +        \set subdivideBeams = ##t
 +        g16.[
 +          \change Staff = up
 +          c'''32
 +          \change Staff = down
 +          g32
 +          \change Staff = up
 +          c'''32
 +          \change Staff = down
 +          g16]
 +        \change Staff = up
 +        \stemUp
 +        \set followVoice = ##t
 +        c'''32([ b''16 a''16 gis''16 g''32)]
 +      } \\ {
 +        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
 +      } \\ {
 +        s4 \autoBeamOff d''8.. f''32
 +      } \\ {
 +        s4 es''4
 +      } >>
 +    }
 +
 +    \new Staff = "down" {
 +      \clef bass
 +      \key c \minor
 +      \set subdivideBeams = ##f
 +      \override Stem  #'french-beaming = ##t
 +      \override Beam  #'thickness = #0.3
 +      \override Stem  #'thickness = #4.0
 +      g'16[ b16 fis16 g16]
 +      << \makeClusters {
 +        as16 <as b>
 +        <g b>
 +        <g cis>
 +      } \\ {
 +        \override Staff.Arpeggio  #'arpeggio-direction =#down
 +        <cis, e, gis, b, cis>4\arpeggio
 +      }
 +    >> }
 +  >>
 +  \midi {
 +    \context {
 +      \Score
 +      tempoWholesPerMinute = #(ly:make-moment 60 8)
 +    }
 +  }
 +  \layout {
 +    \context {
 +      \Staff
 +      \consists Horizontal_bracket_engraver
 +    }
 +  }
 +}
 +@end lilypond
 +
 +Les extraits exposés ici ont tous été écrits à la main, mais ce n'est
 +pas une obligation.  Puisque le moteur de formatage est en grande
 +partie automatique, il peut servir de sortie pour d'autres programmes
 +qui manipulent la musique.  Par exemple, il peut être utilisé pour
 +convertir des bases de données d'extraits musicaux en images pour des
 +sites Internet et des présentations multimédias.
 +
 +Ce manuel montre également une application : le format d'entrée est du
 +texte, et peut donc facilement être intégré dans d'autres formats
 +basés sur le texte comme @LaTeX{}, HTML, ou dans le cas de ce manuel,
 +Texinfo.  À l'aide d'un programme spécial, les extraits de code
 +peuvent être remplacés par des images de musiques dans les fichiers de
 +sortie PDF ou HTML.  Cela donne la possibilité de mélanger de la
 +musique et du texte dans les documents.
 +
 +
 +@node About the documentation
 +@section About the documentation
 +
 +Cette partie présente les différents volumes de la documentation.
 +
 +@cindex Manuel d'initiation
 +@cindex Glossaire musical
 +@cindex Manuel de notation
 +@cindex Utilisation des programmes
 +@cindex Exemples de code
 +@cindex Référence des propriétés internes
 +
 +@c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
 +@c This is actually a limitation of texi2html. -jm
 +@menu
 +* About the Learning Manual::   introduction à LilyPond, ce manuel explique aux débutants la création de partitions.
 +* About the Music Glossary::    ce document explique de nombreux termes musicaux et en donne la traduction dans d'autres langues.
 +* About the Notation Reference::  ce manuel représente la partie la plus volumineuse de la documentation.  Il fournit tous les détails sur la création de notation musicale.  La lecture de cet ouvrage requiert une bonne compréhension des concepts exposés dans le manuel d'initiation.
 +* About the Application Usage:: ce manuel aborde l'exécution des programmes LilyPond et les particularités dépendant du système d'exploitation.
 +* About the Snippet List::      ce document rassemble une collection d'extraits de code LilyPond.
 +* About the Internals Reference:: ce manuel constitue une source d'information sur le fonctionnement interne de LilyPond.  C'est une référence complète pour l'élaboration de retouches.
 +* Other documentation::         d'autres sources de documentation sont disponibles, telles que les notes de nouveautés et les archives des listes de diffusion.
 +@end menu
 +
 +
 +@node About the Learning Manual
 +@unnumberedsubsec About the Learning Manual
 +
 +Ce manuel explique comment débuter avec LilyPond, et expose de manière
 +simple quelques concepts clés.  Il est conseillé de lire ces chapitres
 +de manière linéaire.
 +
 +Dans ce manuel se trouve à chaque section un paragraphe @strong{Voir
 +aussi} contenant des références vers d'autres sections : il est
 +conseillé de ne pas les suivre en première lecture ; lorsque vous
 +aurez lu l'ensemble du manuel d'initiation, vous pourrez en relisant
 +certaines sections suivre ces références pour approfondir certains
 +aspects.
 +
 +@itemize
 +
 +@item
 +@ref{Introduction} : le pourquoi du comment de LilyPond.
 +
 +@item
 +@ref{Tutorial} : introduction en douceur à la typographie musicale.
 +Les utilisateurs débutants sont invités à commencer par ce chapitre.
 +
 +@item
 +@ref{Fundamental concepts} : concepts généraux du format de fichier
 +@code{ly} spécifique à LilyPond.  Si vous n'êtes pas certain de
 +l'endroit où placer une commande, lisez ce chapitre !
 +
 +@item
 +@ref{Tweaking output} : introduction aux retouches de gravure avec
 +LilyPond.
 +
 +@item
 +@ref{Working on LilyPond projects} : utilisation pratique de LilyPond,
 +conseils généraux, prévention et résolution des problèmes les plus
 +courants.  À lire avant de se lancer dans des travaux d'envergure !
 +
 +@end itemize
 +
 +Ce volume contient aussi des annexes que vous pouvez consulter au gré de
 +vos besoins :
 +
 +@itemize
 +
 +@item
 +@ref{Templates} de pièces LilyPond.  Copiez et collez un modèle dans
 +un fichier, ajoutez les notes, et c'est prêt !
 +
 +@item
 +@ref{Scheme tutorial} : courte introduction à Scheme, le langage de
 +programmation utilisé dans les fonctions de musique.  Ces quelques
 +lignes vous aideront à construire des retouches avancées ; nombre
 +d'utilisateurs ne touchent jamais à Scheme.
 +
 +@end itemize
 +
 +
 +@node About the Music Glossary
 +@unnumberedsubsec About the Music Glossary
 +
 +@cindex Glossaire musical
 +@cindex jargon
 +@cindex terminologie
 +@cindex langues étrangères
 +@cindex langue
 +@cindex langage
 +
 +@rglosnamed{Top,Glossaire musical} : ce document explique en anglais
 +des termes musicaux, et donne leur traduction dans diverses langues.
 +Si vous n'êtes pas familier avec la notation et la terminologie
 +musicales, il est conseillé de consulter le glossaire, notamment pour
 +les parties non encore traduites de la documentation.
 +
 +
 +@node About the Notation Reference
 +@unnumberedsubsec About the Notation Reference
 +
 +@cindex Manuel de notation
 +@cindex annexes
 +@cindex références, tables de
 +@cindex tables de références
 +
 +Ce manuel détaille toutes les commandes LilyPond produisant une notation
 +musicale.  La lecture de cet ouvrage requiert une bonne compréhension des
 +concepts exposés dans le manuel d'initiation.
 +
 +@itemize
 +
 +@c Normalement, il est impossible d'utiliser deux points en français,
 +@c car une référence externe doit se terminer par un signe de
 +@c ponctuation dans le format Info.  Cependant, Info
 +@c n'internationalise pas encore des documents Info, donc nous n'en
 +@c avons rien à faire pour l'instant. -jm
 +@item
 +@ruser{Musical notation} : cette partie décrit la notation de base,
 +qui sera utile dans la plupart des projets de partition.  Les sujets
 +sont groupés par type de notation.
 +
 +@item
 +@ruser{Specialist notation} : cette partie détaille des éléments de
 +notation spécifiques à certains instruments ou styles.  Les sujets
 +sont groupés par type de notation.
 +
 +@item
 +@ruser{General input and output} : informations générales sur les
 +fichiers source LilyPond et le contrôle des sorties.
 +
 +@item
 +@ruser{Spacing issues} : différents aspects de l'espacement selon les
 +axes et échelles, par exemple la sélection de la taille de papier, ou
 +la gestion des sauts de page.
 +
 +@item
 +@ruser{Changing defaults} : ce chapitre est une référence des
 +différentes formes de retouches, qui permettent d'obtenir de Lilypond
 +(presque) tout ce que vous désirez.
 +
 +@item
 +@ruser{Interfaces for programmers} : création de fonctions de musique
 +à l'aide de Scheme.
 +
 +@end itemize
 +
 +Les annexes de ce manuel contiennent entre autres des tableaux de
 +référence pratiques.
 +
 +@itemize
 +
 +@item
 +@ruser{Literature list} : choix de livres de référence, pour en savoir
 +plus sur la notation et la gravure.
 +
 +@item
 +@ruser{Notation manual tables} : tableaux montrant les noms d'accord,
 +les instruments MIDI, les noms de couleur, et la police Feta.
 +
 +@item
 +@ruser{Cheat sheet} : référence pratique des commandes LilyPond les
 +plus courantes.
 +
 +@item
 +@ruser{LilyPond command index} : index de toutes les @code{\commandes}
 +LilyPond.
 +
 +@item
 +@ruser{LilyPond index} : un index complet.
 +
 +@end itemize
 +
 +
 +@node About the Application Usage
 +@unnumberedsubsec About the Application Usage
 +
 +@cindex Utilisation des programmes
 +@cindex intégration de LilyPond avec d'autres programmes
 +
 +Ce manuel explique l'exécution des programmes et l'intégration de
 +partitions LilyPond dans d'autres programmes.
 +
 +@itemize
 +
 +@item
 +@rprogram{Install} : installation --- et éventuellement compilation ---
 +de LilyPond.
 +
 +@item
 +@rprogram{Setup} : configuration de votre système pour une utilisation
 +optimale de LilyPond, comprenant l'utilisation d'environnements
 +adaptés pour certains éditeurs de tecte.
 +
 +@item
 +@rprogram{Running LilyPond} : exécution de LilyPond et de ses
 +programmes auxiliaires.  De plus, cette partie explique comment
 +effectuer la mise à jour de fichiers source écrits avec d'anciennes
 +versions de LilyPond.
 +
 +@item
 +@rprogram{LilyPond-book} : création de documents intégrant des
 +extraits musicaux, comme ce manuel.
 +
 +@item
 +@rprogram{Converting from other formats} : utilisation des programmes
 +de conversion.  Ces programmes sont livrés avec le paquetage LilyPond,
 +et convertissent divers formats de musique vers le format @code{.ly}.
 +
 +@end itemize
 +
 +
 +@node About the Snippet List
 +@unnumberedsubsec About the Snippet List
 +
 +@cindex snippets
 +@cindex extraits de code
++@cindex morceaux choisis
 +@cindex LSR
 +@cindex LilyPond Snippet Repository
 +
 +@rlsrnamed{Top,Exemples de code} :
 +il s'agit d'une sélection de petits exemples montrant des trucs,
 +astuces et fonctionnalités particulières de LilyPond, issus de
 +@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}
 +(LSR).  Tous ces exemples sont dans le domaine public.
 +
 +Notez bien que cette annexe n'est en aucune manière un miroir ou même
 +une partie du LSR.  Dans la mesure où le LSR repose sur une version
 +stable de LilyPond, les exemples illustrant des fonctionnalités
 +introduites dans la dernière version de développement ne peuvent y
 +figurer ; c'est pourquoi vous les trouverez dans le répertoire
 +@file{input/new/} des sources de LilyPond.
 +
 +La liste des exemples correspondant à chacun des sous-chapitres du
 +manuel de notation est accessible par des liens dans le paragraphe
 +@strong{Voir aussi}.
 +
 +
 +@node About the Internals Reference
 +@unnumberedsubsec About the Internals Reference
 +
 +@cindex retoucher
 +@cindex variables
 +@cindex propriétés
 +@cindex lilypond-internals
 +@cindex documentation du fonctionnement interne
 +@cindex Scheme
 +@cindex étendre lilypond
 +@cindex index
 +
 +@rinternalsnamed{Top,Référence des propriétés internes} : c'est un
 +ensemble de pages HTML étroitement liées entre elles, qui documente
 +les moindres petits détails de chaque classe, objet et fonction de
 +LilyPond.  Cette documentation est produite directement à partir des
 +définitions de formatage utilisées.
 +
 +Presque toutes les fonctions de formatage utilisées en interne sont
 +directement disponibles pour l'utilisateur.  Par exemple, toutes les
 +variables qui contrôlent les épaisseurs, les distances etc., peuvent
 +être modifiées dans les fichiers d'entrée.  Il y a un grand nombre
 +d'options de formatage, et elles sont toutes décrites dans ce
 +document.  Chaque section du manuel de notation a un paragraphe @b{Voir
 +aussi}, qui renvoie à la documentation générée automatiquement.  Dans la
 +documentation au format HTML, ces paragraphes disposent de liens
 +cliquables.
 +
 +
 +@node Other documentation
 +@unnumberedsubsec Other documentation
 +
 +Pour finir, présentons d'autres précieuses sources de documentation.
 +
 +@itemize
 +
 +@item
 +@ifhtml
 +@ifset bigpage
 +@uref{../topdocs/NEWS.html,Nouveautés} :
 +@end ifset
 +@ifclear bigpage
 +@uref{../../topdocs/NEWS.html,Nouveautés} :
 +@end ifclear
 +@end ifhtml
 +@ifnothtml
 +Nouveautés :
 +@end ifnothtml
 +ce document résume les changements importants et les nouvelles
 +fonctionalités de LilyPond depuis la dernière version stable.
 +
 +@item @uref{http://lists.gnu.org/archive/html/lilypond-user/, Les
 +archives de la liste lilypond-user} : c'est un dépôt archivant les
 +courriels qui ont été envoyés à la liste anglophone des utilisateurs.
 +Beaucoup de questions sont apparues plusieurs fois sur la liste, il y
 +a donc des chances que si vous avez une question, la réponse puisse
 +être dans ces archives.
 +@c DIV specific
 +@uref{http://lists.gnu.org/archive/html/lilypond-user-fr/,Les archives
 +de la liste francophone} ne sont pas aussi bien fournies, mais vous
 +pouvez toujours y chercher des conversations passées sur les
 +traductions, et si vous avez de la chance une réponse à une question.
 +@c END DIV
 +
 +@item @uref{http://lists.gnu.org/archive/html/lilypond-devel/, Les
 +archives de la liste lilypond-devel} : les courriels envoyés à la
 +liste des développeurs y sont archivés.  Les sujets de discussion sont
 +plus techniques ; si vous voulez vous renseigner sur l'histoire du
 +développement ou si vous avez une question très technique, tentez
 +votre chance en cherchant dans ces archives.
 +
 +@item Fragments de musique au cours du texte : dans tous les documents
 +HTML qui incluent des fragments musicaux, le code LilyPond utilisé
 +pour produire l'image est accessible par un clic sur l'image.
 +
 +@item L'emplacement des fichiers de documentation mentionnés ici peut varier
 +d'un système à l'autre.  De temps en temps, ce manuel fait référence
 +aux fichiers d'exemple et d'initialisation.  Tout au long de ce
 +manuel, nous donnons les emplacements des fichiers d'entrée
 +relativement au répértoire racine de l'archive source.  Par exemple,
 +@file{input/@/test/@/bla@/.ly} peut référer au fichier
 +@file{lilypond@/2.x.y/@/input/@/test/@/bla@/.ly}.  Dans les paquets
 +binaires pour les plateformes Unix, la documentation et les exemples
 +se trouvent généralement sous @file{/usr/@/share/@/doc/@/lilypond/}.
 +Les fichiers d'initialisation, par exemple @file{scm/@/lily@/.scm}, ou
 +@file{ly/@/engraver@/-init@/.ly}, se trouvent généralement dans le
 +répertoire @file{/usr/@/share/@/lilypond/}. @c pas encore en français -jm.
 +@c Pour plus de détails, consultez @ref{Other sources of information}.
 +
 +@end itemize
index 0020058a5fb8791fcd075668e31ee12c4a1cb51b,0000000000000000000000000000000000000000..76b83e6ba8519421c2024935614c6d1b3fdef0f8
mode 100644,000000..100644
--- /dev/null
@@@ -1,2100 -1,0 +1,2070 @@@
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
-    Translation of GIT committish: f413550b658b43fbea690fc060f872bce6bbc885
 +@ignore
- Il est aussi possible d'utiliser les noms de notes français @samp{do
- re mi fa sol la si}, en insérant au début du fichier la ligne
- @samp{\include "italiano.ly"}.
++   Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
 +
 +   When revising a translation, copy the HEAD committish of the
 +   version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +@ignore
 +Tutorial guidelines:  (different from policy.txt!)
 +- unless you have a really good reason, use either
 +    @lilypond[verbatim,quote]
 +  or
 +    @lilypond[verbatim,quote,relative=2]
 +
 +  Don't use any other relative=X commands.
 +
 +- use "aes" and "ees" instead of "as" and "es".  I know it's not
 +  correct Dutch naming, but let's not confuse people with this
 +  until we get to the Basic notation chapter.
 +
 +- Add "Music Glossary: @rglos{foo}" to the *top* of the relevant
 +  portions of the tutorial.
 +
 +@end ignore
 +
 +
 +@c Translators: Nicolas Grandclaude, Ludovic Sardain, Gauvain Pocentek
 +@c Translation checkers: Jean-Charles Malahieude, Valentin Villenave, John Mandereau
 +@c Translation status: post-GDP
 +
 +@node Tutorial
 +@chapter Tutorial
 +
 +Ce tutoriel commence par une introduction au langage musical utilisé
 +par LilyPond, qui vous permettra de faire fonctionner le logiciel pour
 +produire une partition.  Après ce premier contact, nous verrons comment
 +créer des partitions utilisant une notation musicale courante.
 +
 +@menu
 +* First steps::
 +* Single staff notation::
 +* Multiple notes at once::
 +* Songs::
 +* Final touches::
 +@end menu
 +
 +
 +@node First steps
 +@section First steps
 +
 +Cette section présente les aspects élémentaires de l'utilisation de
 +LilyPond.
 +
 +@menu
 +* Compiling a file::
 +* Simple notation::
 +* Working on input files::
 +* How to read the manual::
 +@end menu
 +
 +
 +@node Compiling a file
 +@subsection Compiling a file
 +
 +@cindex compilation
 +@cindex exemple, premier
 +@cindex premier exemple
 +
 +Pour créer une partition avec LilyPond, on écrit un fichier texte,
 +appelé fichier source, qui décrit la notation musicale. La
 +@emph{compilation} de ce fichier source par LilyPond produit un
 +fichier graphique imprimable, et si on le désire un fichier MIDI qui
 +peut être joué par un séquenceur.  
 +
 +Voici un premier exemple simple de fichier source LilyPond.
 +
 +@example
 +@{
 +  c' e' g' e'
 +@}
 +@end example
 +
 +@noindent
 +La compilation de ce fichier donnera quelque chose de sembable à
 +l'image ci-dessous.
 +
 +@c  in this case we don't want verbatim
 +@lilypond[quote]
 +{
 +  c' e' g' e'
 +}
 +@end lilypond
 +
 +@c DIV specific
- bureau, puis traitez-le avec la commande de menu @samp{Compile >
- Typeset File}.  Le fichier PDF résultant sera alors affiché à l'écran.
++Il est aussi possible d'utiliser les noms de notes français @qq{@w{do 
++re mi fa sol la si}}, en insérant au début du fichier la ligne
++@code{\include@tie{}"italiano.ly"}.
 +@c END DIV
 +
 +@warning{Tout extrait de code LilyPond doit être entouré d'une
 +@strong{@{ paire d'accolades @}}.  De plus, pour éviter toute
 +ambiguïté, il est préférable d'entourer les accolades par des espaces
 +ou retours à la ligne.  Bien que certains exemples de ce manuel ne
 +comportent pas d'accolades, ne les oubliez pas dans vos partitions !
 +Pour plus d'informations sur l'affichage des exemples de cette
 +documentation, consultez @ref{How to read the manual}.}
 +
 +
 +@cindex casse, prise en compte de la
 +@cindex prise en compte de la casse
 +@cindex sensibilité à la casse
 +
 +De plus, LilyPond est @strong{sensible à la casse} : le code
 +@w{@code{@{ c d e @}}} est valide, alors que @w{@code{@{ C D E @}}}
 +produira un message d'erreur.
 +
 +@smallspace
 +
 +@subheading Entering music and viewing output
 +
 +@cindex fichier PDF
 +@cindex PDF
 +@cindex partition, lire
 +@cindex lire la partition
 +@cindex éditeurs de texte
 +@cindex LilyPond et MacOS X
 +@cindex MacOS X et LilyPond
 +@cindex LilyPond et Windows
 +@cindex Windows et LilyPond
 +@cindex LilyPond et Unix
 +@cindex Unix et LilyPond
 +
 +Dans cette section nous expliquerons quelles commandes exécuter et
 +comment voir ou imprimer le résultat produit par LilyPond.
 +
 +Notez qu'il existe plusieurs éditeurs de texte disponibles avec un bon
 +support de LilyPond ; consultez @rprogram{Text editor support}.
 +
 +@warning{Le premier démarrage de LilyPond peut prendre une minute ou
 +deux, afin de générer la liste des polices du système.  LilyPond démarre
 +en principe plus rapidement lors des exécutions suivantes.}
 +
 +
 +@subsubheading MacOS X
 +
 +Si vous double-cliquez sur @code{LilyPond.app}, un fichier d'exemple
 +s'ouvrira.  Sauvegardez-le, par exemple, sous @file{test.ly} sur votre
- en d'autres termes, le premier @samp{c} est le do central, entre la
++bureau, puis traitez-le avec la commande de menu 
++@w{@code{Compile > Typeset File}}.  Le fichier PDF résultant sera alors
++affiché à l'écran. 
 +
 +À l'avenir, vous aurez certainement recours aux commandes @qq{Nouveau}
 +ou @qq{Ouvrir}.  Vous devez enregistrer votre fichier avant de lancer
 +la gravure de la partition par LilyPond.  Si une erreur apparaît
 +pendant le traitement, vous la trouverez dans la fenêtre @qq{log}.
 +
 +@subsubheading Windows
 +
 +Sous Windows, double-cliquez sur l'icône LilyPond qui se trouve sur le
 +bureau, un fichier d'exemple s'ouvre dans un simple éditeur de texte.
 +Enregistrez-le, par exemple en tant que @file{test.ly} sur le bureau,
 +puis double-cliquez sur son icône (qui montre une note de musique)
 +pour le traiter.  Après quelques secondes, vous obtiendrez un fichier
 +@file{test.pdf} sur le bureau, fichier que vous pourrez ouvrir pour
 +voir la partition gravée.  Une autre méthode pour lancer le traitement
 +du fichier @file{test.ly} est de le glisser avec votre souris sur
 +l'icône de LilyPond.
 +
 +Pour modifier un fichier @file{.ly} existant, faites un clic droit
 +dessus et sélectionnez @qq{Éditer la source}.  Pour partir d'un
 +fichier vide, lancez l'éditeur en ouvrant un fichier existant et
 +utilisez la commande @qq{New} du menu @qq{File}.
 +
 +En double-cliquant sur le fichier, vous obtiendrez, en plus du fichier
 +PDF, un fichier @file{.log} qui récapitule les opérations que LilyPond
 +a effectuées sur votre fichier.  Si une erreur survient, vous en
 +trouverez les détails dans ce fichier.
 +
 +@subsubheading UNIX
 +
 +Créez un fichier texte @file{test.ly} qui contient
 +
 +@verbatim
 +{
 +  c' e' g' e'
 +}
 +@end verbatim
 +
 +@noindent
 +Pour traiter @file{test.ly}, entrez la commande suivante dans un
 +terminal :
 +
 +@example
 +lilypond test.ly
 +@end example
 +
 +@noindent
 +Vous verrez quelque chose ressemblant à
 +
 +@example
 +lilypond test.ly
 +GNU LilyPond @version{}
 +Traitement de « test.ly »
 +Analyse...
 +Interprétation en cours de la musique...
 +Pré-traitement des éléments graphiques...
 +Détermination du nombre optimal de pages...
 +Répartition de la musique sur une page...
 +Dessin des systèmes...
 +Sortie mise en page vers « test.ps »...
 +Conversion à « ./test.pdf »...
 +@end example
 +
 +@c DIV specific
 +@noindent
 +Suivant votre installation, ces messages peuvent être traduits ou
 +non.
 +@c END DIV
 +
 +
 +@node Simple notation
 +@subsection Simple notation
 +
 +@cindex simple, notation
 +@cindex notation simple
 +
 +Il y a certains éléments graphiques de notation que LilyPond ajoute
 +automatiquement.  Dans l'exemple suivant, nous n'avons fourni que
 +quatre hauteurs, mais LilyPond a ajouté une clef, un chiffre de mesure
 +et du rythme.
 +
 +@lilypond[verbatim,quote]
 +{
 +  c' e' g' e'
 +}
 +@end lilypond
 +
 +@noindent
 +Ces valeurs automatiques simplifient la saisie du code source dans
 +bien des cas ; nous verrons plus loin comment les indiquer
 +explicitement.
 +
 +
 +@subheading Hauteurs
 +
 +@cindex hauteurs
 +@cindex mode relatif
 +@cindex apostrophe
 +@cindex virgule
 +@cindex altérations et mode relatif
 +@cindex mode relatif et altérations
 +
 +@funindex \relative
 +@funindex relative
 +@funindex '
 +@funindex ,
 +
 +Glossaire musical : @rglos{pitch}, @rglos{interval},
 +@rglos{scale}, @rglos{middle C}, @rglos{octave},
 +@rglos{accidental}.
 +
 +Le moyen le plus simple d'entrer des notes est d'utiliser le mode
 +d'octaves relatives, ou mode @code{\relative}.  Dans ce mode, l'octave
 +de chaque note est sélectionnée automatiquement de façon à ce qu'elle
 +soit la plus proche possible de la note précédente, c'est-à-dire de
 +façon à ce que l'intervalle avec la note précédente soit au plus d'une
 +quarte.  Commençons par saisir une partition très simple, à savoir une
 +gamme.
 +
 +@lilypond[verbatim,quote]
 +% set the starting point to middle C
 +\relative c' {
 +  c d e f
 +  g a b c
 +}
 +@end lilypond
 +
 +La note de départ est le @notation{do central}.  Chacune des notes qui
 +suivent est placée à l'octave la plus proche de la note précédente ---
- première note --- le @samp{d} --- est le ré qui en est le plus proche.
++en d'autres termes, le premier @code{c} est le do central, entre la
 +clef de sol et la clef de fa, puis est suivi par le ré le plus proche,
 +et ainsi de suite.  On peut bien sûr créer des mélodies avec de plus
 +grands intervalles, toujours avec le mode @code{\relative} :
 +
 +@lilypond[verbatim,quote]
 +\relative c' {
 +  d f a g
 +  c b f d
 +}
 +@end lilypond
 +
 +@noindent
 +Remarquez que cet exemple ne commence plus sur le do central : la
- @w{@code{\relative c'}} par @code{c''}, afin de calculer l'octave de
++première note --- le @code{d} --- est le ré qui en est le plus proche.
 +
 +Dans l'exemple suivant, on remplace @code{c'} dans la commande
- Notez que le calcul des octaves relatives @strong{ne dépend pas des
- altérations} des notes, dièses bémols ou bécarre.
++@code{@w{\relative c' @{}} par @code{c''}, afin de calculer l'octave de
 +la première note par rapport au do situé une octave au-dessus du do
 +central :
 +
 +@lilypond[verbatim,quote]
 +% one octave above middle C
 +\relative c'' {
 +  e c a c
 +}
 +@end lilypond
 +
 +Le mode d'octaves relatives peut être déroutant au début, mais c'est
 +souvent la façon la plus économique de saisir les hauteurs en
 +utilisant le clavier de l'ordinateur de façon classique.  Détaillons
 +dans un exemple le calcul des octaves relatives.  En partant d'un si
 +sur la troisième ligne de la clé de sol, un do, un ré ou un mi sans
 +indication d'octave particulière seront placés juste au-dessus du si,
 +c'est-à-dire au plus à une quarte ascendante du si, alors qu'un la, un
 +sol ou un fa seront placés juste en-dessous du si, c'est-à-dire au
 +plus à une quarte descendante du si.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  b c  % c is 1 staff space up, so is the c above
 +  b d  % d is 2 up or 5 down, so is the d above
 +  b e  % e is 3 up or 4 down, so is the e above
 +  b a  % a is 6 up or 1 down, so is the a below
 +  b g  % g is 5 up or 2 down, so is the g below
 +  b f  % f is 4 up or 3 down, so is the f below
 +}
 +@end lilypond
 +
- peut modifier la valeur de départ de @code{\relative c'}.
++Notez que le calcul des octaves relatives @strong{ne tient pas compte
++des altérations} des notes, dièses bémols ou bécarre.
 +
 +Pour obtenir des intervalles supérieurs à une quarte, on peut ajouter
 +des apostrophes @code{'} --- qui font chacune monter la hauteur d'une
 +octave --- ou des virgules @code{,} --- qui font chacune descendre la
 +hauteur d'une octave --- au nom de la note.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  a a, c' f,
 +  g g'' a,, f'
 +}
 +@end lilypond
 +
 +@noindent
 +Pour déplacer une note deux octaves (ou davantage !) plus haut ou plus
 +bas, il suffit de mettre deux (ou davantage) @code{'} ou @code{,} ---
 +attention cependant à bien mettre deux apostrophes @code{''}, et non
 +un guillemet @code{"}@tie{}!  C'est de cette même manière que l'on
- hauteur : @samp{1} pour une @notation{ronde}, @samp{2} pour une
- @notation{blanche}, @samp{4} pour une @notation{noire} et ainsi de
++peut modifier la valeur de départ de @code{@w{\relative c'}}.
 +
 +
 +@subheading Durées et rythme
 +
 +@cindex note, durée
 +@cindex durées
 +@cindex rhythmes
 +@cindex ronde
 +@cindex blanche
 +@cindex noire
 +@cindex note pointée
 +@cindex spécification des durées
 +
 +Glossaire musical : @rglos{beam}, @rglos{duration},
 +@rglos{whole note}, @rglos{half note}, @rglos{quarter note},
 +@rglos{dotted note}.
 +
 +La @notation{durée} d'une note est indiquée par un nombre qui suit sa
- lettre @samp{r} (pour @emph{rest}).
++hauteur : @code{1} pour une @notation{ronde}, @code{2} pour une
++@notation{blanche}, @code{4} pour une @notation{noire} et ainsi de
 +suite.  Les @notation{crochets} et @notation{liens} sont ajoutés
 +automatiquement.
 +
 +Si aucune durée n'est indiquée pour une note, la dernière durée entrée
 +est utilisée.  En l'absence d'indication de durée, la première note
 +est une noire.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  a1
 +  a2 a4 a8 a
 +  a16 a a a a32 a a a a64 a a a a a a a a2
 +}
 +@end lilypond
 +
 +Une @notation{note pointée} s'obtient en ajoutant un point @code{.}  à
 +la valeur rythmique.  Le point doit être précédé d'un nombre spécifiant
 +la durée de base.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  a a a4. a8
 +  a8. a16 a a8. a8 a4.
 +}
 +@end lilypond
 +
 +
 +@subheading Silences
 +
 +@cindex silences
 +@cindex notation des silences
 +
 +Glossaire musical : @rglos{rest}.
 +
 +On saisit un @notation{silence} tout comme une note, mais avec la
- @cindex accolades
- @funindex { ... }
++lettre @code{r} (pour @emph{rest}).
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  a r r2
 +  r8 a r4 r4. r8
 +}
 +@end lilypond
 +
 +
 +@subheading Métrique
 +
 +@cindex métrique
++@cindex chiffre de mesure
 +
 +@funindex \time
 +@funindex time
 +
 +Glossaire musical : @rglos{time signature}.
 +
 +La @notation{métrique}, aussi appelée @notation{chiffre de mesure},
 +peut être définie à l'aide de la commande @code{\time} :
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  \time 3/4
 +  a4 a a
 +  \time 6/8
 +  a4. a
 +  \time 4/4
 +  a4 a a a
 +}
 +@end lilypond
 +
 +
 +@subheading Clef
 +
 +@cindex clef
 +@cindex clé
 +@cindex sol, clef de
 +@cindex ut, clef d'
 +@cindex fa, clef de
 +
 +@funindex \clef
 +@funindex clef
 +
 +Glossaire musical : @rglos{clef}.
 +
 +La @notation{clef} peut être définie à l'aide de la commande
 +@code{\clef} :
 +
 +@lilypond[verbatim,quote]
 +\relative c' {
 +  \clef treble
 +  c1
 +  \clef alto
 +  c1
 +  \clef tenor
 +  c1
 +  \clef bass
 +  c1
 +}
 +@end lilypond
 +
 +
 +@subheading Tout ensemble
 +
 +Voici un bref exemple qui rassemble tous les éléments que nous déjà
 +vus :
 +
 +@lilypond[verbatim,quote]
 +\relative c, {
 +  \time 3/4
 +  \clef bass
 +  c2 e8 c' g'2.
 +  f4 e d c4 c, r4
 +}
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Writing pitches},
 +@ruser{Writing rhythms}, @ruser{Writing rests},
 +@ruser{Time signature}, @ruser{Clef}.
 +
 +
 +@node Working on input files
 +@subsection Working on input files
 +
- @item @strong{La casse} :
 +Le traitement des fichiers source de LilyPond est semblable à celui du
 +code de nombreux langages de programmation.  La casse est prise
 +en compte, et les caractères considérés comme espaces ont généralement
 +peu d'importance.  Les expressions sont délimitées par des accolades @{
 +@}, et les commentaires par @code{%} ou @code{%@{ ... %@}}.
 +
 +Si cette phrase vous paraît incompréhensible, ne vous en faites pas !
 +Expliquons tous ces termes :
 +
 +@itemize
 +
- parenthèses @samp{()} en mathématiques.  Pour éviter toute ambiguïté,
 +@cindex casse, prise en compte de
 +@cindex prise en compte de la casse
 +@cindex sensibilité à la casse
++
++@item 
++@strong{La casse} :
 +LilyPond est sensible à la casse, c'est à dire qu'une lettre capitale
 +n'a pas la même valeur qu'une lettre minuscule.  Les notes, par
 +exemple, doivent être entrées en minuscule : @code{@{ c d e @}} est
 +un code valide, alors que @code{@{ C D E @}} produira un message
 +d'erreur.
 +
 +@cindex espaces multiples, insensibilité
 +@cindex insensibilité aux espaces multiples
 +
 +@item @strong{Les espaces multiples} :
 +LilyPond ne tient pas compte du nombre d'espaces, ou de retours à la
 +ligne.  @code{@{ c d e @}} a le
 +même sens que @code{@{ c @tie{} @tie{} d @tie{} e @}} ou que
 +@example
 +         @{
 +c                        d
 + e @}
 +@end example
 +
 +@noindent
 +Bien sûr, ce dernier exemple est illisible.  Une bonne habitude
 +à prendre est d'indenter les blocs de code avec soit des tabulations
 +soit des doubles espaces :
 +
 +@example
 +@{
 +  c d e
 +@}
 +@end example
 +
 +@cindex expressions
 +
++@funindex { ... }
++
 +@item @strong{Expressions musicales} :
 +Tout morceau saisi dans LilyPond doit être placé entre @strong{@{
 +accolades @}}.  Ces caractères indiquent à LilyPond que ce bloc de
 +texte représente une et une seule expression musicale, tout comme les
- un commentaire est une indication pour tout lecteur humain d'un
++parenthèses @code{()} en mathématiques.  Pour éviter toute ambiguïté,
 +il est préférable d'entourer ces accolades d'espaces ou de retours à
 +la ligne.
 +
 +Un appel de fonction --- @w{@code{\relative @{ @}}} par exemple ---
 +compte également comme une seule expression musicale.
 +
 +@cindex commentaire
 +@cindex commentaire de fin de ligne
 +@cindex commentaire-bloc
 +@cindex bloc de commentaire
 +
 +@funindex %
 +@funindex %@{ ... %@}
 +
 +@item @strong{Les commentaires} :
- symbole @samp{%} : tout ce qui suit ce symbole sur la même ligne sera
++Un commentaire est une indication pour tout lecteur humain d'un
 +fichier source de musique ; il est ignoré par l'ordinateur, et n'a
 +donc aucun effet sur la partition imprimée.  On distingue deux types
 +de commentaires.  Le commentaire de fin de ligne, introduit par le
- @code{\relative c'' @{ ...  @}}.  Cependant, dans la suite de ce
++symbole @code{%} : tout ce qui suit ce symbole sur la même ligne sera
 +ignoré.  Par convention, un commentaire qui occupe une ligne entière
 +se place juste @emph{au-dessus} de la ligne à laquelle il fait
 +référence.
 +
 +@example
 +a4 a a a
 +% ce commentaire fait référence aux si
 +b2 b
 +@end example
 +
 +Le bloc de commentaire, qui peut occuper plusieurs lignes, voire toute
 +une section : tout ce qui se trouve entre @code{%@{} et @code{%@}} est
 +ignoré.  Les blocs de commentaires ne peuvent s'imbriquer, ce qui
 +signifie que vous ne pouvez pas placer un commentaire-bloc à
 +l'intérieur d'un autre commentaire-bloc.  Si jamais vous essayez, vous
 +verrez que la première occurence de @code{%@}} terminera @qq{les
 +@emph{deux} commentaires-blocs}.  Le fragment suivant met en évidence
 +quelques usages possibles des commentaires :
 +
 +@example
 +% voici les notes de "ah vous dirai-je maman"
 + c4 c g' g a a g2
 +
 +%@{
 +   Ces lignes et les notes qui suivent
 +   seront ignorées, car elles se trouvent
 +   dans un bloc de commentaire.
 +
 +   f f e e d d c2
 +%@}
 +@end example
 +
 +@end itemize
 +
 +
 +
 +@node How to read the manual
 +@subsection How to read the manual
 +
 +@cindex bien lire le manuel
 +@cindex manuel, lecture
 +@cindex compulser le manuel
 +@cindex exemples cliquables
 +@cindex cliquables, exemples
 +@cindex conseils de construction des fichiers
 +@cindex squelettes
 +@cindex construction des fichiers, conseils
 +@cindex fichiers, conseils de construction
 +
 +Comme nous l'avons vu dans @ref{Working on input files}, un code
 +LilyPond doit être encadré par des accolades @{ @} ou bien par
- affiché, mais @strong{à condition} d'ajouter @code{\relative c'' @{
- @}} de la façon suivante :
++@code{@w{\relative c'' @{ ...  @}}}.  Cependant, dans la suite de ce
 +manuel, la plupart des exemples ne feront pas apparaître ces signes.
 +
 +Pour reproduire les exemples, vous pouvez copier et coller le code
- long.  Il n'y a donc aucune raison d'ajouter @code{\relative c'' @{
- @}} à ces exemples --- en effet, il n'est pas possible d'insérer une
++affiché, mais @strong{à condition} d'ajouter 
++@code{@w{\relative c'' @{ @}}} de la façon suivante :
 +
 +@example
 +\relative c'' @{
 +  ...collez ici votre exemple...
 +@}
 +@end example
 +
 +Pourquoi avoir omis les accolades ?  La plupart des exemples de ce
 +manuel peuvent être insérés au milieu d'un morceau de musique plus
- @funindex b
++long.  Il n'y a donc aucune raison d'ajouter @code{@w{\relative c'' @{
++@}}} à ces exemples --- en effet, il n'est pas possible d'insérer une
 +expression @code{\relative} à l'intérieur d'un autre expression
 +@code{\relative}.  Si nous mettions tous nos exemples dans une
 +expression @code{\relative}, vous ne pourriez plus copier un bref
 +exemple de la documentation pour le coller dans vos pièces.
 +
 +
 +@subheading Exemples cliquables
 +
 +Beaucoup de gens apprennent à  utiliser les programmes en les essayant
 +et en bidouillant avec.  C'est également possible avec LilyPond.  Si
 +vous cliquez sur une image dans la version HTML de ce manuel, vous
 +verrez exactement le code LilyPond utilisé pour générer cette image.
 +Essayez sur cette image :
 +
 +@c no verbatim here
 +@c KEEP LY
 +@lilypond[quote,ragged-right]
 +\relative c'' {
 +  c-\markup { \bold \huge { Cliquez ici.  } }
 +}
 +@end lilypond
 +
 +En copiant-collant le code à partir du commentaire @qq{ly snippet}
 +vers un fichier test, vous aurez un modèle de base pour faire vos
 +expériences.  Pour obtenir une gravure à l'identique, copiez tout le
 +code à partir de @qq{Start cut-&-pastable section}.
 +
 +@c No longer in the text in English, but should we really
 +@c remove this? --jm
 +@ignore
 +Si vous apprenez de cette façon, vous aurez probablement envie
 +d'imprimer ou de garder un lien vers @ruser{Cheat sheet}, tableau
 +qui répertorie les commandes usuelles pour une consultation rapide.
 +@end ignore
 +
 +
 +@seealso
 +Vous trouverez plus de conseils pour construire des fichiers source
 +dans @ref{Suggestions for writing LilyPond input files}.  Cependant,
 +lors d'une première lecture il est préférable de terminer d'abord la
 +lecture du tutoriel.
 +
 +
 +@node Single staff notation
 +@section Single staff notation
 +
 +Cette section présente la notation courante dont on a besoin pour
 +écrire une voix sur une portée.
 +
 +@menu
 +* Accidentals and key signatures::
 +* Ties and slurs::
 +* Articulation and dynamics::
 +* Adding text::
 +* Automatic and manual beams::
 +* Advanced rhythmic commands::
 +@end menu
 +
 +
 +@node Accidentals and key signatures
 +@subsection Accidentals and key signatures
 +
 +@subheading Accidentals
 +
++@cindex altérations
 +@cindex dièse
 +@cindex double dièse
 +@cindex dièse, double
 +@cindex bémol
 +@cindex double bémol
 +@cindex bémol, double
 +
 +@funindex es
- @funindex d
 +@funindex is
- @funindex bb
 +@funindex eses
- @funindex dd
 +@funindex isis
- Cependant, si vous utilisez la commande @code{\include "italiano.ly"}
- pour entrer les noms de notes français au lieu des noms hollandais, il
- faudra ajouter un @code{d} pour obtenir un dièse, et un @code{b} pour
- un bémol.  Le double dièse et le double bémol s'obtiennent en ajoutant
- respectivement @code{dd} et @code{bb}.  Pour en savoir plus sur les
- autres langues disponibles, consultez @ruser{Note names in other
- languages}.
 +
 +Glossaire musical : @rglos{sharp}, @rglos{flat}, @rglos{double sharp},
 +@rglos{double flat}, @rglos{accidental}.
 +
 +Dans la notation par défaut, on obtient un @notation{dièse} en
 +ajoutant @code{is} au nom de la note, et un @notation{bémol} en
 +ajoutant @code{es}.  Comme vous pouvez vous y attendre, un double
 +dièse ou double bémol s'obtiennent en ajoutant @code{isis} ou
 +@code{eses}.  Cette syntaxe est dérivée de la convention de
 +dénomination des notes dans les langues nordiques et germaniques,
 +comme l'allemand ou le hollandais.
 +
 +@c DIV specific
- de la bémol majeur, ce si est flanqué d'un bécarre accidentel :
++Cependant, si vous utilisez la commande
++@code{@w{\include@tie{}"italiano.ly"}} pour entrer les noms de notes
++français au lieu des noms hollandais, il faudra ajouter un @code{d} pour
++obtenir un dièse, et un @code{b} pour un bémol.  Le double dièse et le
++double bémol s'obtiennent en ajoutant respectivement @code{dd} et
++@code{bb}.  Pour en savoir plus sur les autres langues disponibles,
++consultez @ruser{Note names in other languages}.
 +@c END DIV
 +
 +@lilypond[verbatim,quote,relative=2]
 +cis1 ees fisis, aeses
 +@end lilypond
 +
 +@subheading Key signatures
 +
 +@cindex armure, définition de l'
 +@cindex armure, altérations à l'
 +@cindex altérations à l'armure
 +@cindex majeur
 +@cindex mineur
 +
 +@funindex \key
 +@funindex key
 +@funindex \major
 +@funindex major
 +@funindex \minor
 +@funindex minor
 +
 +Glossaire musical : @rglos{key signature}, @rglos{major},
 +@rglos{minor}.
 +
 +L'armure est déterminée par la commande @code{\key}, suivie d'une
 +hauteur puis de @code{\major} (majeur) ou @code{\minor} (mineur).
 +
 +@lilypond[verbatim,quote,relative=2]
 +\key d \major
 +a1
 +\key c \minor
 +a
 +@end lilypond
 +
 +@smallspace
 +
 +@subheading Warning: key signatures and pitches
 +
 +Glossaire musical : @rglos{accidental}, @rglos{key signature},
 +@rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp},
 +@rglos{transposition}.
 +
 +La combinaison de l'@notation{armure} et des hauteurs de note --- y
 +compris les altérations --- permet à LilyPond de déterminer dans quel
 +cas imprimer des @notation{altérations accidentelles}.  L'armure
 +n'affecte que les altérations @emph{imprimées}, et non les hauteurs
 +réelles ! Cette fonctionnalité est souvent source de confusion pour
 +les nouveaux utilisateurs, aussi expliquons-la en détail.
 +
 +LilyPond fait une distinction nette entre le contenu musical et la
 +mise en forme.  L'altération d'une note --- @notation{bémol},
 +@notation{bécarre} ou @notation{dièse} --- fait partie de sa hauteur,
 +et relève donc du contenu musical.  La gravure ou non d'une altération
 +accidentelle --- un @emph{signe} bémol, bécarre ou dièse --- devant la
 +note correspondante est une question qui relève de la mise en forme.
 +La gravure d'une partition suit des règles, en particulier des règles
 +d'indication des altérations accidentelles.  Les hauteurs de note, en
 +revanche, relèvent de ce que vous voulez entendre ; et, dans la mesure
 +où la musique que vous entrez est censée être celle que vous voulez
 +entendre, LilyPond, qui n'est chargé que de la gravure, ne les
 +choisira pas à votre place.
 +
 +Dans cet exemple,
 +
 +@lilypond[verbatim,quote,relative=2]
 +\key d \major
 +d cis fis
 +@end lilypond
 +
 +@noindent
 +aucune note n'a d'altération accidentelle, et pourtant vous devrez
 +entrer le @code{is} pour les notes @code{cis} et @code{fis}.
 +
 +Le code @code{b} ne veut pas dire @qq{Imprimez-moi un point noir sur
 +la troisième ligne de la portée.}  Cela signifie plutôt : @qq{Ici se
 +trouve une note dont la hauteur est un si naturel.}  Avec une armure
- respectivement d'un signe @samp{(} et @samp{)}.
++de la bémol majeur, ce @code{si} est flanqué d'un bécarre accidentel :
 +
 +@lilypond[verbatim,quote,relative=2]
 +\key aes \major
 +b
 +@end lilypond
 +
 +Ajouter explicitement toutes les altérations demande un peu plus
 +d'effort dans la phase de saisie, mais cela facilite grandement la
 +@notation{transposition}.  De plus, les altérations accidentelles
 +peuvent ainsi être imprimées suivant plusieurs conventions.  Pour
 +connaître les différentes manières dont les altérations accidentelles
 +peuvent être imprimées, consultez @ruser{Automatic accidentals}.
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Note names in other languages},
 +@ruser{Accidentals}, @ruser{Automatic accidentals},
 +@ruser{Key signature}.
 +
 +Glossaire musical : @rglos{Pitch names}.
 +
 +
 +@node Ties and slurs
 +@subsection Ties and slurs
 +
 +@cindex liaisons de prolongation
 +@cindex liaisons de tenue
 +@cindex prolongation, liaisons de
 +@cindex durée, liaisons de
 +@cindex tenue, liaisons de
 +
 +@funindex ~
 +@funindex ( ... )
 +@funindex \( ... \)
 +
 +@subheading Ties
 +
 +Glossaire musical : @rglos{tie}.
 +
 +Pour créer une liaison de prolongation@footnote{parfois aussi appelée
 +liaison de tenue}, on ajoute un tilde @code{~} à la première note
 +liée.
 +
 +@lilypond[verbatim,quote,relative=2]
 +g4~ g c2~
 +c4 ~ c8 a8 ~ a2
 +@end lilypond
 +
 +@cindex liaisons d'articulation
 +@cindex articulation, liaisons d'
 +
 +@subheading Slurs
 +
 +@c Le terme de "slur" a deux sens en français : articulation et phrasé.
 +@c Je garde ici le terme "legato", tel qu'il apparaît dans le texte original,
 +@c car c'est celui qui me semble le plus couramment employé.
 +@c slur = "il zon" (articulation). jcm
 +@c phrasing slur = "ils ont des chapeaux ronds" (phrase). jcm
 +
 +Glossaire musical : @rglos{slur}, @rglos{phrasing}.
 +
 +Une liaison d'articulation ou @emph{legato} peut englober
 +plusieurs notes.  Les notes de départ et d'arrivée sont suivies
- @subheading Articulations
++respectivement d'un signe @code{(} et @code{)}.
 +
 +@lilypond[verbatim,quote,relative=2]
 +d4( c16) cis( d e c cis d) e( d4)
 +@end lilypond
 +
 +@cindex liaisons de phrasé
 +@cindex phrasé, liaisons de
 +@cindex legato
 +@subheading Phrasing slurs
 +
 +De plus longues liaisons, dites de phrasé, sont délimitées par @code{\(} et
 +@code{\)}.  Il est possible d'avoir en même temps des legatos et des
 +phrasés, mais pas plusieurs liaisons de phrasé ou de @emph{legato} à la fois.
 +
 +@lilypond[verbatim,quote,relative=2]
 +a8(\( ais b c) cis2 b'2 a4 cis,\)
 +@end lilypond
 +
 +@smallspace
 +
 +@cindex liaisons d'articulation et de prolongation, différences
 +@subheading Warnings: slurs vs. ties
 +
 +Glossaire musical : @rglos{articulation}, @rglos{slur}, @rglos{tie}.
 +
 +Une liaison d'articulation ou de phrasé ressemble à une liaison de
 +prolongation, mais n'a pas la même signification.  Alors qu'une
 +liaison de prolongation ne peut relier que deux notes de même hauteur,
 +le @emph{legato} indique une articulation de plusieurs notes, 
 +éventuellement en grand nombre.  Les liaisons de tenue peuvent être 
 +enchâssées dans un @emph{legato} ou un phrasé.
 +
 +@lilypond[verbatim,quote,relative=2]
 +c2~( c8 fis fis4 ~ fis2 g2)
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Ties}, @ruser{Slurs},
 +@ruser{Phrasing slurs}.
 +
 +
 +@node Articulation and dynamics
 +@subsection Articulation and dynamics
 +
++@subheading Articulations
++
 +@cindex articulation
 +@cindex accents
 +@cindex staccato
- @cindex doigtés
 +
 +Glossaire musical : @rglos{articulation}.
 +
 +Des @notation{articulations} peuvent être ajoutées à une note, au moyen
 +d'un tiret @code{-} suivi d'un caractère :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c-. c-- c-> c-^ c-+ c-_
 +@end lilypond
 +
- mais vous pouvez spécifier leur positionnement en utilisant @samp{^} (en
- haut) ou @samp{_} (en bas).  Vous pouvez aussi utiliser plusieurs
 +@subheading Fingerings
 +
++@cindex doigtés
++
 +@funindex ^
 +@funindex _
 +
 +Glossaire musical : @rglos{fingering}.
 +
 +De même, des indications de doigté peuvent être ajoutées à une note en
 +utilisant un tiret (@samp{-}) et le chiffre à écrire :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c-3 e-5 b-2 a-1
 +@end lilypond
 +
 +Articulations et doigtés sont habituellement placés automatiquement,
- lettres du signe, précédées d'un anti-slash @samp{\} :
++mais vous pouvez spécifier leur positionnement en utilisant @code{^} (en
++haut) ou @code{_} (en bas).  Vous pouvez aussi utiliser plusieurs
 +articulations sur la même note.  Dans la plupart des cas, cependant,
 +il est bon de laisser LilyPond déterminer l'emplacement de
 +l'articulation.
 +
 +@lilypond[verbatim,quote,relative=2]
 +c_-^1 d^. f^4_2-> e^-_+
 +@end lilypond
 +
 +@subheading Dynamics
 +
 +@funindex \f
 +@funindex \ff
 +@funindex \mp
 +@funindex \p
 +@funindex \mf
 +@funindex \pp
 +@funindex \<
 +@funindex <
 +@funindex \>
 +@funindex >
 +@funindex \!
 +@funindex !
 +
 +Glossaire musical : @rglos{dynamics}, @rglos{crescendo},
 +@rglos{decrescendo}.
 +
 +On obtient un signe de @notation{nuance} en ajoutant à la note les
- @cindex lihature
++lettres du signe, précédées d'un anti-slash @code{\} :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c\ff c\mf c\p c\pp
 +@end lilypond
 +
 +@cindex nuances
 +@cindex decrescendo
 +@cindex crescendo
 +
 +@c Pluriel des termes musicaux italiens :
 +@c selon Littré, plutôt à la française (en "-os" qu'en "-i")
 +
 +@notation{Crescendos} et @notation{decrescendos} débutent avec les
 +commandes @code{\<} et @code{\>}.  Ils se terminent soit par une
 +nuance d'arrivée, par exemple @code{\f}, soit par la commande
 +@code{\!} :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c2\< c2\ff\> c2 c2\!
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Articulations and ornamentations},
 +@ruser{Fingering instructions}, @ruser{Dynamics}.
 +
 +
 +@node Adding text
 +@subsection Adding text
 +
 +@cindex texte, ajout de
 +@cindex ajout de texte
 +@cindex étiquette
 +
 +@funindex \markup
 +@funindex markup
 +
 +On peut ajouter du texte à une partition :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c1^"espr" a_"legato"
 +@end lilypond
 +
 +Pour mettre en forme du texte, on utilise la commande @code{markup} :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c1^\markup{ \bold espr}
 +a1_\markup{
 +  \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
 +}
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Writing text}.
 +
 +
 +@node Automatic and manual beams
 +@subsection Automatic and manual beams
 +
- avec des opérateurs --- comme @samp{+}, @samp{*} et @samp{/} --- et
++@cindex ligature
++@cindex barre de ligature
 +@cindex ligatures automatiques
 +@cindex ligatures manuelles
 +@cindex ligatures explicites
 +
 +@funindex [ ... ]
 +@funindex [
 +@funindex ]
 +@funindex \autoBeamOff
 +@funindex autoBeamOff
 +@funindex \autoBeamOn
 +@funindex autoBeamOn
 +
 +Glossaire musical : @rglos{beam}.
 +
 +Toutes les barres de ligature sont dessinées automatiquement :
 +
 +@lilypond[verbatim,quote,relative=2]
 +a8 ais d ees r d c16 b a8
 +@end lilypond
 +
 +@noindent
 +Lorsqu'on n'aime pas la manière dont les notes sont automatiquement
 +groupées, il est possible de les ligaturer manuellement, en marquant la
 +première note à attacher d'un crochet ouvrant @code{[} et la dernière
 +d'un crochet fermant @code{]}.
 +
 +@lilypond[verbatim,quote,relative=2]
 +a8[ ais] d[ ees r d] a b
 +@end lilypond
 +
 +Pour désactiver les barres de ligature automatiques pour des passages
 +entiers, utilisez la commande @code{\autoBeamOff}, et utilisez
 +@code{\autoBeamOn} pour les réactiver.
 +
 +@lilypond[verbatim,quote,relative=2]
 +\autoBeamOff
 +a8 c b4 d8. c16 b4
 +\autoBeamOn
 +a8 c b4 d8. c16 b4
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Automatic beams}, @ruser{Manual beams}.
 +
 +
 +@node Advanced rhythmic commands
 +@subsection Advanced rhythmic commands
 +
 +@subheading Partial measure
 +
 +@cindex levée
 +@cindex anacrouse
 +@cindex mesure incomplète
 +
 +@funindex \partial
 +@funindex partial
 +
 +Glossaire musical : @rglos{anacrusis}.
 +
 +On crée une levée (ou anacrouse) avec la commande @code{\partial},
 +suivie d'une durée : @code{\partial 4} produit une levée d'une noire
 +et @code{\partial 8} d'une croche.
 +
 +@lilypond[verbatim,quote,relative=2]
 +\partial 8
 +f8 c2 d
 +@end lilypond
 +
 +@subheading Tuplets
 +
 +@cindex nolets
 +@cindex triolets
 +
 +@funindex \times
 +@funindex times
 +
 +Glossaire musical : @rglos{note value}, @rglos{triplet}.
 +
 +Les @notation{nolets} sont créés avec la commande @code{\times}, qui
 +prend deux arguments : une fraction et une expression musicale.  La
 +durée des notes de l'expression musicale est multipliée par la
 +fraction.  Par exemple les notes d'un @notation{triolet} durent les
 +deux tiers de la durée de leur notation réelle, cette fraction est
 +donc de 2/3 pour les triolets :
 +
 +@lilypond[verbatim,quote,relative=2]
 +\times 2/3 { f8 g a }
 +\times 2/3 { c r c }
 +\times 2/3 { f,8 g16[ a g a] }
 +\times 2/3 { d4 a8 }
 +@end lilypond
 +
 +@subheading Grace notes
 +
 +@cindex notes d'ornement
 +@cindex ornementation
 +@cindex appoggiature
 +@cindex acciaccature
 +
 +@funindex \grace
 +@funindex grace
 +@funindex \acciaccatura
 +@funindex acciaccatura
 +@funindex \appoggiatura
 +@funindex acciaccatura
 +
 +Glossaire musical : @rglos{grace notes}, @rglos{acciaccatura},
 +@rglos{appoggiatura}.
 +
 +Des @notation{notes d'ornement} s'obtiennent en appliquant la commande
 +@code{\grace}, @code{\appoggiatura} ou @code{\acciaccatura} à une
 +expression musicale :
 +
 +@lilypond[verbatim,quote,relative=2]
 +c2 \grace { a32[ b] } c2
 +c2 \appoggiatura b16 c2
 +c2 \acciaccatura b16 c2
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Grace notes}, @ruser{Tuplets},
 +@ruser{Upbeats}.
 +
 +
 +@node Multiple notes at once
 +@section Multiple notes at once
 +
 +Cette section traite de situations où l'on a plus d'une note à la fois :
 +plusieurs instruments, plusieurs voix ou portées pour un même
 +instrument (le piano, par exemple), et les accords.
 +
 +En théorie musicale, la polyphonie désigne une musique constituée de
 +plusieurs voix ; dans LilyPond, ce terme désigne les situations où il
 +y a plus d'une voix sur une même portée.
 +
 +@menu
 +* Music expressions explained::
 +* Multiple staves::
 +* Staff groups::
 +* Combining notes into chords::
 +* Single staff polyphony::
 +@end menu
 +
 +
 +@node Music expressions explained
 +@subsection Music expressions explained
 +
 +@cindex expression musicale
 +
 +Dans les fichiers source LilyPond, la musique est représentée par ce
 +qu'on appelle des @emph{expressions musicales}.  En soi, une seule note
 +peut constituer une expression musicale :
 +
 +@lilypond[verbatim,quote,relative=2]
 +a4
 +@end lilypond
 +
 +Mettre un groupe de notes entre accolades crée une nouvelle expression
 +musicale, appelée @emph{expression musicale composée}.  En voici un
 +exemple avec deux notes :
 +
 +@lilypond[verbatim,quote,relative=2]
 +{ a4 g4 }
 +@end lilypond
 +
 +La mise entre accolades d'une séquence d'expressions musicales --- des
 +notes par exemple --- signifie qu'elles doivent être jouées
 +successivement, les unes après les autres.  Le résultat est une
 +expression, qui peut elle-même être regroupée séquentiellement avec
 +d'autres expressions.  Ici, l'expression de l'exemple précédent est
 +combinée à deux notes :
 +
 +@lilypond[verbatim,quote,relative=2]
 +{ { a4 g } f g }
 +@end lilypond
 +
 +@subheading Analogy: mathematical expressions
 +
 +@cindex expression
 +
 +Ce mécanisme est similaire aux formules mathématiques : une grosse
 +formule est créée en assemblant plusieurs petites formules.  De telles
 +formules sont appelées expressions, elles ont une définition
 +récursive, de telle sorte que vous pouvez fabriquer des expressions
 +arbitrairement longues et complexes.  Par exemple :
 +
 +@example
 +1
 +
 +1 + 2
 +
 +(1 + 2) * 3
 +
 +((1 + 2) * 3) / (4 * 5)
 +@end example
 +
 +Ceci est une suite d'expressions, où chacune est contenue dans la
 +suivante.  Les expressions les plus simples sont les nombres, et de
 +plus grandes expressions sont produites en combinant des expressions
- En termes de syntaxe, ajouter @code{\new} devant une expression
++avec des opérateurs --- comme @code{+}, @code{*} et @code{/} --- et
 +des parenthèses.  Tout comme les expressions mathématiques, les
 +expressions musicales peuvent être imbriquées avec une profondeur
 +arbitraire, ce qui est nécessaire pour des partitions complexes comme
 +de la musique polyphonique.
 +
 +
 +@subheading Simultaneous music expressions: multiple staves
 +
 +@cindex portées multiples
 +@cindex polyphonie
 +@cindex combinaison d'expressions en parallèle
 +@cindex parallèles, expressions
 +@cindex expressions parallèles
 +@cindex hauteur relative et musique simultanée
 +@cindex musique simultanée et hauteur relative
 +@cindex hauteur relative et expressions parallèles
 +@cindex expressions parallèles et hauteur relative
 +
 +@funindex <<
 +@funindex >>
 +@funindex << ... >>
 +
 +Glossaire musical : @rglos{polyphony}.
 +
 +Cette technique est utile pour de la musique @notation{polyphonique}.
 +Pour entrer une musique avec plusieurs voix ou plusieurs portées, nous
 +pouvons aussi combiner @emph{en parallèle} les expressions : deux voix
 +qui doivent être jouées en même temps, sont entrées comme une
 +combinaison simultanée de deux expressions.  Une expression musicale
 +@qq{simultanée} est formée en entourant les expressions entre @code{<<}
 +et @code{>>}.  Dans l'exemple suivant, trois expressions (contenant
 +chacune deux notes distinctes) sont combinées simultanément.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  <<
 +    { a4 g }
 +    { f e }
 +    { d b }
 +  >>
 +}
 +@end lilypond
 +
 +Notez que nous avons ici indenté chaque niveau du fichier d'entrée
 +avec un nombre d'espaces différent.  LilyPond se moque --- ou presque
 +--- de l'espace qu'il peut y avoir ou non au début d'une ligne, mais
 +un code bien indenté est bien plus lisible par des humains.
 +
 +@warning{la hauteur de chaque note saisie est relative à la précédente,
 +mais pas au @code{c''} de la commande @code{\relative} de départ.}
 +
 +
 +@subheading Simultaneous music expressions: single staff
 +
 +Pour déterminer le nombre de portées, LilyPond regarde le début
 +de la première expression.  Si c'est une seule note, une seule portée
 +est produite ; si c'est une expression simultanée, plusieurs portées
 +sont produites.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  c2 <<c e>>
 +  << { e f } { c <<b d>> } >>
 +}
 +@end lilypond
 +
 +
 +@node Multiple staves
 +@subsection Multiple staves
 +
 +@cindex multiples portées
 +@cindex portées multiples
 +@cindex contexte
 +@cindex contexte de notation
 +@cindex notation, contexte
 +
 +@funindex \new Staff
 +@funindex new Staff
 +@funindex Staff
 +@funindex \new
 +@funindex new
 +@funindex Score
 +@funindex Voice
 +@funindex Lyrics
 +@funindex ChordNames
 +
 +Comme nous l'avons vu dans @ref{Music expressions explained}, un
 +fichier d'entrée LilyPond est fait d'expressions musicales.  Si la
 +partition commence par plusieurs expressions simultanées, LilyPond
 +créera plusieurs portées.  Cependant, il est plus facile de prévoir le
 +nombre de portées si on les crée explicitement, ce que nous allons
 +voir.
 +
 +Pour créer plus d'une portée, on ajoute @code{\new Staff} au début de
 +chaque partie de la musique constituant une portée.  Ces éléments
 +@code{Staff} sont ensuite combinés en parallèle avec @code{<<} et
 +@code{>>}, comme ci-dessous.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  <<
 +    \new Staff { \clef treble c }
 +    \new Staff { \clef bass c,, }
 +  >>
 +}
 +@end lilypond
 +
 +
 +La commande @code{\new} introduit un @qq{contexte de notation}.  Un
 +contexte de notation est un environnement dans lequel les événements
 +musicaux --- comme les notes ou les commandes @code{\clef} --- sont
 +interprétés.  Pour des pièces simples, ces contextes sont créés
 +automatiquement.  Pour des pièces plus complexes, il est préférable de
 +spécifier explicitement les contextes, afin de s'assurer que chaque
 +fragment aura sa propre portée.
 +
 +Il existe différents types de contextes.  Les contextes @code{Score}
 +(partition), @code{Staff} (portée) et @code{Voice} (voix) gèrent la
 +notation de la mélodie, alors que @code{Lyrics} gère les paroles et
 +@code{ChordNames} imprime des noms d'accords.
 +
- @math{-(4+5)} est une plus grande expression.
++En terme de syntaxe, ajouter @code{\new} devant une expression
 +musicale crée une plus grande expression musicale.  En reprenant la
 +comparaison précédente, cela ressemble au signe @emph{moins} en
 +mathématiques.  La formule @math{(4+5)} est une expression, donc
- en les encadrant par des angles doubles @code{<<} et @code{>>}.  Pour
++@math{-(4+5)} constitue une plus grande expression.
 +
 +Les chiffres de métrique indiqués sur une portée affectent toutes les
 +autres portées@footnote{Ce comportement peut être modifié si
 +nécessaire, voir @ruser{Polymetric notation}}.  En revanche l'armure
 +d'une portée n'affecte @emph{pas} les autres portées.  Ces
 +caractéristiques par défaut se justifient par le fait que
 +l'utilisation d'instruments transpositeurs est bien plus fréquente que
 +la musique polyrythmique.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  <<
 +    \new Staff { \clef treble \key d \major \time 3/4 c }
 +    \new Staff { \clef bass c,, }
 +  >>
 +}
 +@end lilypond
 +
 +
 +@node Staff groups
 +@subsection Staff groups
 +
 +@cindex portée double
 +@cindex portée pour piano
 +@cindex piano, portée pour
 +@cindex clavier, portée pour
 +@cindex chœur, système pour
 +@cindex système pour chœur
 +@cindex système
 +@cindex portées, regroupement de
 +@cindex regroupement de portées
 +
 +@funindex PianoStaff
 +@funindex GrandStaff
 +@funindex ChoirStaff
 +
 +Glossaire musical : @rglos{brace}.
 +
 +La musique pour piano s'écrit sur deux portées reliées par une
 +@notation{accolade}.  La gravure de ce type de portée est semblable à
 +l'exemple de musique polyphonique de @ref{Multiple staves}, mais
 +maintenant cette expression entière est interprétée dans un contexte
 +@code{PianoStaff} :
 +
 +@example
 +\new PianoStaff <<
 +  \new Staff @dots{}
 +  \new Staff @dots{}
 +>>
 +@end example
 +
 +Voici un bref exemple :
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  \new PianoStaff <<
 +    \new Staff { \time 2/4 c4 e g g, }
 +    \new Staff { \clef bass c,, c' e c }
 +  >>
 +}
 +@end lilypond
 +
++Vous pouvez générer d'autres de regroupement, avec 
++@code{\new GrandStaff} pour un e partition d'orchestre, ou 
++@w{@code{\new ChoirStaff}} qui sied particulièrement aux partitions
++chorales.  Chacun de ces regroupements constituent un contexte à part
++entière, avec ses particularités, tant au niveau du signe qui regroupe
++les portées au sein d'un @notation{système} qu'au niveau de l'étendue
++des barres de mesure.
++
 +
 +@seealso
 +Manuel de notation : @ruser{Keyboard and other multi-staff instruments},
 +@ruser{Displaying staves}.
 +
 +
 +@node Combining notes into chords
 +@subsection Combining notes into chords
 +
 +@cindex accords, notes simultanées
 +@cindex accords et durée
 +
 +@funindex <
 +@funindex >
 +@funindex < ... >
 +
 +Glossaire musical : @rglos{chord}.
 +
 +Nous avons vu précédemment comment combiner des notes simultanément,
- de même durée, on encadre les hauteurs de notes par des angles simples
++en les encadrant par des chevrons doubles @code{<<} et @code{>>}.  Pour
 +produire des accords simples, c'est-à-dire une superposition de notes
- durée, donc @emph{à l'extérieur} des angles.
++de même durée, on encadre les hauteurs de notes par des chevrons simples
 +@code{<} et @code{>}, et on écrit la durée juste après.
 +
 +@lilypond[verbatim,quote,relative=2]
 +r4 <c e g>4 <c f a>2
 +@end lilypond
 +
 +Beaucoup d'éléments de notation que l'on peut attacher à une note
 +simple, comme une liaison, un crochet indiquant un début ou une fin de
 +lien, un signe d'articulation, peuvent être également attachés à un
 +accord : il faut ajouter ces indications après les hauteurs et la
- Quand différentes lignes mélodiques sont combinées sur une seule et même
- portée, elles sont imprimées comme des voix polyphoniques ; chaque voix
- a ses propre hampes@footnote{familièrement appelées queues de note.},
- liaisons et ligatures, la voix supérieure ayant les hampes vers le haut,
- la voix inférieure vers le bas.
- On réalise ce type de partition en entrant chaque voix comme une
- séquence, autrement dit avec @code{@{...@}}, puis en combinant
- simultanément les voix et en les séparant par @code{\\}.
- @lilypond[verbatim,quote,relative=2]
- <<
-   { a4 g2 f4~ f4 } \\
-   { r4 g4 f2 f4 }
- >>
- @end lilypond
- Pour l'écriture de musique polyphonique, les silences invisibles
- s'avèrent bien pratiques : ce sont des silences qui ne s'impriment pas.
- Ils sont utiles pour remplir des voix qui, temporairement, ne jouent
- rien.  Voici le même exemple que ci-dessus, avec un silence invisible
- @code{s} (pour @emph{skip}) à la place d'un silence normal @code{r} :
- @lilypond[verbatim,quote,relative=2]
- <<
-   { a4 g2 f4~ f4 } \\
-   { s4 g4 f2 f4 }
- >>
- @end lilypond
- @noindent
- Là encore, ces expressions peuvent s'imbriquer arbitrairement :
- @lilypond[verbatim,quote,relative=2]
- <<
-   \new Staff <<
-     { a4 g2 f4~ f4 } \\
-     { s4 g4 f2 f4 }
-   >>
-   \new Staff <<
-     \clef bass
-     { <c g>1 ~ <c g>4 } \\
-     { e,,4 d e2 ~ e4}
-   >>
- >>
- @end lilypond
++durée, donc @emph{à l'extérieur} des chevrons.
 +
 +@lilypond[verbatim,quote,relative=2]
 +r4 <c e g>8[ <c f a>]~ <c f a>2
 +r4 <c e g>8( <c e g>\> <c e g>4 <c f a>\!)
 +@end lilypond
 +
 +
 +@node Single staff polyphony
 +@subsection Single staff polyphony
 +
 +@cindex polyphonie
 +@cindex voix multiples sur une portée
 +@cindex silence invisible
 +@cindex invisible, silence
 +
 +@funindex << ... \\ ... >>
 +@funindex <<
 +@funindex \\
 +@funindex >>
 +
- paroles, ainsi que les angles doubles encadrant toute la pièce ; ces
++Bien que LilyPond gère la musique polyphonique sans difficulté, cela
++fait appel à des concepts que nous n'avons pas encore abordés.  C'est la
++raison pour laquelle nous ne nous étendrons pas tout de suite sur ce
++sujet et préférons vous inciter à consulter les chapitres dédiés à
++l'étude de ces concepts. 
 +
 +@seealso
++Learning Manual: @ref{Voices contain music}.
++
 +Manuel de notation : @ruser{Simultaneous notes}.
 +
 +
 +@node Songs
 +@section Songs
 +
 +Cette section présente l'écriture vocale et les partitions de variété.
 +
 +@menu
 +* Setting simple songs::
 +* Aligning lyrics to a melody::
 +* Lyrics to multiple staves::
 +@end menu
 +
 +
 +@node Setting simple songs
 +@subsection Setting simple songs
 +
 +@cindex paroles
 +@cindex chansons
 +
 +@funindex \addlyrics
 +@funindex addlyrics
 +
 +Glossaire musical : @rglos{lyrics}.
 +
 +Prenons une mélodie toute simple, la comptine @emph{Girls and boys
 +come out to play}.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  \key g \major
 +  \time 6/8
 +  d4 b8 c4 a8 d4 b8 g4
 +}
 +@end lilypond
 +
 +Des @notation{paroles} peuvent être associées à ces notes, en les
 +combinant avec la commande @code{\addlyrics}.  On entre les paroles en
 +séparant chaque syllable par un espace :
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key g \major
 +    \time 6/8
 +    d4 b8 c4 a8 d4 b8 g4
 +  }
 +  \addlyrics {
 +    Girls and boys come out to play,
 +  }
 +>>
 +@end lilypond
 +
 +Remarquez les accolades embrassant la musique et celles embrassant les
- La ligne suivante de la comptine précédente est @emph{The moon doth
++paroles, ainsi que les doubles chevrons encadrant toute la pièce ; ces
 +derniers indiquent simplement que la musique et les paroles se
 +produisent en même temps.
 +
 +
 +@node Aligning lyrics to a melody
 +@subsection Aligning lyrics to a melody
 +
 +@cindex mélisme
 +@cindex ligne d'extension
 +@cindex trait d'union (paroles)
 +@cindex caractère souligné (paroles)
 +@cindex paroles, alignement des
 +@cindex alignement des paroles
 +@cindex paroles, mot de plusieurs syllabes
 +
 +Glossaire musical : @rglos{melisma}, @rglos{extender line}.
 +
- @emph{Didon et Énée} de Purcell.
++La deuxième ligne de la comptine précédente est @emph{The moon doth
 +shine as bright as day}.  Ajoutons-la au code.
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key g \major
 +    \time 6/8
 +    d4 b8 c4 a8 d4 b8 g4
 +    g8 a4 b8 c b a d4 b8 g4.
 +  }
 +  \addlyrics {
 +    Girls and boys come out to play,
 +    The moon doth shine as bright as day;
 +  }
 +>>
 +@end lilypond
 +
 +Remarquez que les paroles ajoutées ne s'alignent pas bien avec les
 +notes.  Le mot @emph{shine} devrait être chanté sur deux notes au lieu
 +d'une. On appelle ceci un @notation{mélisme} : il s'agit d'une seule
 +syllabe chantée sur plus d'une note.  Il existe plusieurs façons
 +d'étaler une sylabe sur plusieurs notes, la plus simple étant de lier
 +les notes du mélisme.  Pour les détails, consultez @ref{Ties and
 +slurs}.
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key g \major
 +    \time 6/8
 +    d4 b8 c4 a8 d4 b8 g4
 +    g8 a4 b8 c( b) a d4 b8 g4.
 +  }
 +  \addlyrics {
 +    Girls and boys come out to play,
 +    The moon doth shine as bright as day;
 +  }
 +>>
 +@end lilypond
 +
 +Les paroles sont maintenant correctement alignées, mais les liens de
 +croche automatiques ne conviennent pas pour les notes au-dessus de
 +@emph{shine as}.  On peut les corriger en ajoutant des liens de croche
 +manuels, pour ceci consultez @ref{Automatic and manual beams}.
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key g \major
 +    \time 6/8
 +    d4 b8 c4 a8 d4 b8 g4
 +    g8 a4 b8 c([ b]) a d4 b8 g4.
 +  }
 +  \addlyrics {
 +    Girls and boys come out to play,
 +    The moon doth shine as bright as day;
 +  }
 +>>
 +@end lilypond
 +
 +Au lieu d'utiliser une liaison, on peut indiquer le mélisme dans les
 +paroles en insérant un caractère souligné @code{_} pour chaque note du
 +mélisme sauf la première.
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key g \major
 +    \time 6/8
 +    d4 b8 c4 a8 d4 b8 g4
 +    g8 a4 b8 c[ b] a d4 b8 g4.
 +  }
 +  \addlyrics {
 +    Girls and boys come out to play,
 +    The moon doth shine _ as bright as day;
 +  }
 +>>
 +@end lilypond
 +
 +Si une syllabe s'étend sur un grand nombre de notes ou une note très
 +longue, on représente souvent le mélisme par un @notation{trait de
 +prolongation}, qu'on entre avec @code{__}.  L'exemple suivant montre
 +les trois premières mesures de la plainte de Didon, extraite de
- @cindex variables, definition
++@notation{Didon et Énée} de Purcell.
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key g \minor
 +    \time 3/2
 +    g2 a bes bes( a)
 +    b c4.( bes8 a4. g8 fis4.) g8 fis1
 +  }
 +  \addlyrics {
 +    When I am laid,
 +    am laid __ in earth,
 +  }
 +>>
 +@end lilypond
 +
 +Aucun exemple jusqu'à présent n'a utilisé de mots de plus d'une
 +syllabe.  Dans des paroles, de tels mots sont écrits en syllabes
 +séparées par des traits d'union.  Avec LilyPond, on utilise deux
 +tirets pour produire un trait d'union centré entre deux syllabes.
 +L'exemple suivant montre tout ce que nous avons vu jusqu'à maintenant
 +sur l'alignement de paroles à une mélodie.
 +
 +@c no ragged-right here because otherwise the hyphens get lost,
 +@c but the example is long enough to avoid looking strange.
 +@lilypond[verbatim,quote,noragged-right]
 +<<
 +  \relative c' {
 +    \key g \major
 +    \time 3/4
 +    \partial 4
 +    d4 g4 g a8( b) g4 g4
 +    b8( c) d4 d e4 c2
 +  }
 +  \addlyrics {
 +    A -- way in a __ man -- ger,
 +    no __ crib for a bed, __
 +  }
 +>>
 +@end lilypond
 +
 +Avec certaines paroles, en particulier en italien, il se produit la
 +situation inverse : il peut y avoir plusieurs syllabes sur une seule
 +note.  On réalise ceci avec LilyPond grâce à un caractère souligné
 +@code{_} sans espace entre les syllabes, ou alors en groupant les
 +syllabes avec des guillemets.  L'exemple suivant est extrait de l'air
 +de Figaro @emph{Largo al factotum}, dans @emph{Figaro} de Rossini, où
 +la syllabe @emph{al} est chantée sur la même note que @emph{go}.
 +
 +@c no ragged-right here because otherwise the hyphens get lost,
 +@c but the example is long enough to avoid looking strange.
 +@lilypond[verbatim,quote,noragged-right]
 +<<
 +  \relative c' {
 +    \clef bass
 +    \key c \major
 +    \time 6/8
 +    c4.~ c8 d b c([ d]) b c d b c
 +  }
 +  \addlyrics {
 +    Lar -- go_al fac -- to -- tum del -- la cit -- tà
 +  }
 +>>
 +@end lilypond
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Vocal music}.
 +
 +
 +@node Lyrics to multiple staves
 +@subsection Lyrics to multiple staves
 +
 +@cindex paroles et portées mutiples
 +@cindex portées multiples et paroles
 +
 +La méthode simple d'ajout de paroles avec @code{\addlyrics} peut être
 +également utilisée pour placer des paroles sous plusieurs portées.
 +L'exemple suivant est extrait de @emph{Judas Macchabée} de Händel.
 +
 +@lilypond[verbatim,quote]
 +<<
 +  \relative c'' {
 +    \key f \major
 +    \time 6/8
 +    \partial 8
 +    c8 c([ bes]) a a([ g]) f f'4. b, c4.~ c4
 +  }
 +  \addlyrics {
 +    Let flee -- cy flocks the hills a -- dorn, __
 +  }
 +  \relative c' {
 +    \key f \major
 +    \time 6/8
 +    \partial 8
 +    r8 r4. r4 c8 a'([ g]) f f([ e]) d e([ d]) c bes'4
 +  }
 +  \addlyrics {
 +    Let flee -- cy flocks the hills a -- dorn,
 +  }
 +>>
 +@end lilypond
 +
 +Pour produire des partitions plus complexes ou plus longues que cet
 +exemple simple, il est vivement conseillé de séparer la structure de
 +la partition des notes et paroles, grâce à des variables.  Ceci sera
 +détaillé plus loin dans @ref{Organizing pieces with variables}.
 +
 +
 +@seealso
 +Manuel de notation : @ruser{Vocal music}.
 +
 +
 +@node Final touches
 +@section Final touches
 +
 +L'ultime section de ce tutoriel montre comment ajouter une touche
 +finale à des morceaux simples, et constitue une introduction au reste
 +du manuel.
 +
 +@menu
 +* Organizing pieces with variables::
 +* Version number::
 +* Adding titles::
 +* Absolute note names::
 +* After the tutorial::
 +@end menu
 +
 +
 +@node Organizing pieces with variables
 +@subsection Organizing pieces with variables
 +
 +@cindex variables
- name = "Wendy"
++@cindex variables, définition
 +@cindex identificateurs
 +@cindex macros
 +@cindex assignation de variables
 +@cindex utilisation de variables
 +@cindex variables, utilisation de
 +@cindex variables, caractères autorisés dans les
 +@cindex caractères autorisés dans les variables
 +
 +Lorsque l'on combine tous les éléments étudiés précédemment pour
 +écrire des partitions plus longues, les expressions musicales prennent
 +de l'ampleur et, dans le cas des pièces polyphoniques, deviennent
 +profondément imbriquées, jusqu'au point où il devient difficile de se
 +repérer dans le fichier source.  Cet inconvénient peut être résolu par
 +l'utilisation de @emph{variables}.
 +
 +En utilisant des variables, parfois appelées identificateurs ou
 +macros, on peut scinder des expressions musicales complexes en des
 +expressions plus simples.  Une variable se définit comme suit :
 +
 +@example
 +musiqueToto = @{ @dots{} @}
 +@end example
 +
 +Le contenu de l'expression musicale @code{musiqueToto} pourra être
 +utilisé plus loin en faisant précéder son nom d'un anti-slash,
 +c'est-à-dire @code{\musiqueToto}, tout comme n'importe quelle commande
 +LilyPond.  Toute variable doit être définie @emph{avant} son
 +utilisation dans une autre expression musicale.
 +
 +@lilypond[verbatim,quote]
 +violin = \new Staff {
 +  \relative c'' {
 +    a4 b c b
 +  }
 +}
 +cello = \new Staff {
 +  \relative c {
 +    \clef bass
 +    e2 d
 +  }
 +}
 +{
 +  <<
 +    \violin
 +    \cello
 +  >>
 +}
 +@end lilypond
 +
 +@noindent
 +Le nom d'une variable ne doit comporter que des caractères
 +alphabétiques non accentués, aucun nombre ni tiret ne sont autorisés.
 +
 +On peut utiliser une variable déjà définie autant de fois que l'on
 +veut, y compris dans la définition d'une nouvelle variable ; par
 +exemple, cela peut servir à saisir un motif qu'une seule fois, même
 +s'il se répète un grand nombre de fois dans la pièce.
 +
 +@lilypond[verbatim,quote]
 +tripletA = \times 2/3 { c,8 e g }
 +barA = { \tripletA \tripletA \tripletA \tripletA }
 +
 +\relative c'' {
 + \barA \barA
 +}
 +@end lilypond
 +
 +Il est possible d'utiliser des variables de types variés.  Par exemple,
 +
 +@example
 +width = 4.5\cm
- @{ c4^\name @}
++nom = "Wendy"
 +aFivePaper = \paper @{ paperheight = 21.0 \cm @}
 +@end example
 +
 +En fonction de son contenu, un identificateur peut être utilisé à
 +différents endroits.  L'exemple suivant utilise les variable définies
 +ci-dessus.
 +
 +@example
 +\paper @{
 +  \aFivePaper
 +  line-width = \width
 +@}
++@{ c4^\nom @}
 +@end example
 +
 +
 +@node Version number
 +@subsection Version number
 +
 +@cindex version
 +@cindex versionage
 +@cindex numéro de version
 +@cindex version, numéro de
 +@cindex mise à jour
 +@cindex future mise à jour
 +@cindex mise à jour de fichiers
 +@cindex fichiers, mise à jour de
 +
 +@funindex \version
 +@funindex version
 +@funindex convert-ly
 +
 +La déclaration @code{\version} stipule le numéro de la version de
 +LilyPond pour laquelle le fichier a été écrit :
 +
 +@example
 +\version @w{"@version{}"}
 +@end example
 +
 +@noindent
 +Par convention, on place cette instruction en début de fichier.
 +
 +Cette instruction permet de faciliter les mises à jour futures de
 +LilyPond.  Les changements de syntaxe au fil des versions sont gérés
 +avec un programme dédié, @command{convert-ly}, qui utilise la valeur
 +de @code{\version} pour déterminer les règles de conversion à
 +appliquer au fichier source.  Pour plus d'informations, consultez 
 +@rprogram{Updating files with convert-ly}.
 +
 +
 +@node Adding titles
 +@subsection Adding titles
 +
 +@cindex titre
 +@cindex en-têtes
 +@cindex bloc d'en-tête
 +
 +@funindex \header
 +@funindex header
 +
 +On indique les informations bibliographiques --- nom du morceau, du
 +compositeur, numéro d'opus@dots{} --- dans un bloc à part, le bloc
 +d'en-tête @code{\header}, qui existe indépendamment de l'expression
 +musicale principale.  Le bloc @code{\header} est habituellement placé
 +en début de fichier, après le numéro de version.
 +
 +@example
 +\version @w{"@version{}"}
 +\header @{
 +  title = "Symphonie"
 +  composer = "Moi"
 +  opus = "Op. 9"
 +@}
 +
 +@{
 + @dots{} la musique @dots{}
 +@}
 +@end example
 +
 +Quand LilyPond traite le fichier, le titre et le compositeur sont
 +imprimés au début de la partition.  Vous trouverez plus d'informations
 +sur les titres à la section @ruser{Creating titles}.
 +
 +
 +@node Absolute note names
 +@subsection Absolute note names
 +
 +@cindex notes, nom des
 +@cindex absolu, mode
 +@cindex mode absolu
 +@cindex hauteurs, valeurs absolues
 +@cindex noms de note absolus
 +
 +Jusqu'ici nous n'avons utilisé que le mode @code{\relative} pour
 +définir les hauteurs de notes.  Si c'est souvent le moyen le plus
 +simple de saisir la musique au clavier, il existe une autre façon de
 +procéder : le mode de hauteurs absolues.
 +
 +Si vous omettez la commande @code{\relative}, LilyPond considérera
 +toutes les hauteurs comme des hauteurs absolues.  Un @code{c'} désigne
 +toujours le do central, un @code{b} se situe une seconde en dessous
 +du do central, et un @code{g,} est situé sur la première ligne de
 +la portée en clé de fa.
 +
 +@lilypond[verbatim,quote]
 +{
 +  \clef bass
 +  c' b g, g,
 +  g, f, f c'
 +}
 +@end lilypond
 +
 +Voici une gamme sur 4 octaves :
 +
 +@lilypond[verbatim,quote]
 +{
 +  \clef bass
 +  c, d, e, f,
 +  g, a, b, c
 +  d e f g
 +  a b c' d'
 +  \clef treble
 +  e' f' g' a'
 +  b' c'' d'' e''
 +  f'' g'' a'' b''
 +  c'''1
 +}
 +@end lilypond
 +
 +Comme vous pouvez le voir, il faut beaucoup d'apostrophes pour écrire
 +de la musique dans un registre aigu, comme le montre cet extrait de
 +Mozart.
 +
 +@lilypond[verbatim,quote]
 +{
 +  \key a \major
 +  \time 6/8
 +  cis''8. d''16 cis''8 e''4 e''8
 +  b'8. cis''16 b'8 d''4 d''8
 +}
 +@end lilypond
 +
 +Toutes ces apostrophes rendent le fichier moins lisible, et surtout il
 +est très probable d'oublier au moins une apostrophe au cours de la
 +frappe.  En mode @code{\relative}, le même exemple devient bien plus
 +facile à lire et à saisir.
 +
 +@lilypond[verbatim,quote]
 +\relative c'' {
 +  \key a \major
 +  \time 6/8
 +  cis8. d16 cis8 e4 e8
 +  b8. cis16 b8 d4 d8
 +}
 +@end lilypond
 +
 +Si d'aventure vous faites une erreur d'octaviation, le mode
 +@code{\relative} la mettra en évidence : toutes les notes suivantes
 +seront placées à la mauvaise octave.  En mode de hauteurs absolues,
 +une erreur isolée ne serait pas autant visible, et serait donc plus
 +difficile à dénicher.
 +
 +Cependant, le mode de hauteurs absolues reste utile pour les musiques
 +où les intervalles sont étendus, et plus encore pour les fichiers
 +LilyPond créés par des programmes.
 +
 +
 +@node After the tutorial
 +@subsection After the tutorial
 +
 +Après avoir parcouru ce tutoriel, vous devriez essayer d'écrire un
 +morceau ou deux.  Commencez par copier l'un des modèles types et
 +ajoutez-y des notes --- consultez les @ref{Templates}.  Si vous voulez
 +employer une notation que vous n'avez pas trouvé dans le tutoriel,
 +consultez le manuel de notation, en commençant par la @ruser{Musical
 +notation}.  Si vous désirez écrire pour un ensemble instrumental non
 +couvert par les modèles, lisez la section @ref{Extending the
 +templates}.
 +
 +Après avoir écrit quelques pièces courtes, lisez les chapitres 3 à 5
 +du manuel d'initiation.  Rien ne s'oppose à ce que vous consultiez dès
 +à présent ces chapitres, bien sûr ! Néanmoins, le reste du manuel
 +d'initiation part du principe que vous avez déjà bien assimilé la
 +syntaxe de base de LilyPond.  Vous pouvez toujours survoler ces
 +chapitres 3 à 5, et y revenir plus tard après avoir acquis de
 +l'expérience.
 +
 +Dans ce tutoriel comme dans le reste de ce manuel, se trouve à chaque
 +section un paragraphe @strong{Voir aussi} contenant des références
 +vers d'autres sections : il est conseillé de ne pas les suivre en
 +première lecture ; lorsque vous aurez lu l'ensemble du manuel
 +d'initiation, vous pourrez en relisant certaines sections suivre ces
 +références pour approfondir certains aspects.
 +
 +Si vous ne l'avez pas encore fait, lisez @ref{About the
 +documentation}.  Les sources de documentation et d'information sur
 +LilyPond sont vastes, il est normal pour un débutant de ne pas savoir
 +où chercher ; si vous passez quelques minutes à lire attentivement
 +cette section, vous vous épargnerez certainement la frustration causée
 +par des heures de recherches infructueuses.
index 910088b78607d9a8af8c2144a82675518997f2e3,0000000000000000000000000000000000000000..f7844dbd20fb2f99ff067de4619d31a7b06f3408
mode 100644,000000..100644
--- /dev/null
@@@ -1,3766 -1,0 +1,3814 @@@
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
-       Translation of GIT committish: 90a367b11c50bd1fe242656715f807d1445225d7
 +@ignore
- -- ils ont un point de départ, un point d'arrivée, et éventuellement
++      Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
 +
 +    When revising a translation, copy the HEAD committish of the
 +    version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
 +@c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
 +@c Translation checkers: Jean-Charles Malahieude, John Mandereau
 +@c Translation status: post-GDP
 +
 +@node Tweaking output
 +@chapter Tweaking output
 +
 +Ce chapitre indique comment modifier le résultat obtenu.
 +LilyPond offre de nombreuses possibilités de réglages, permettant
 +théoriquement de modifier chaque élément de votre partition.
 +
 +@menu
 +* Tweaking basics::             
 +* The Internals Reference manual::  
 +* Appearance of objects::       
 +* Placement of objects::        
 +* Collisions of objects::       
 +* Further tweaking::            
 +@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
 +
 +LilyPond regroupe sous le terme de @qq{retouches} (@emph{tweaks} en
 +anglais) les différents moyens dont dispose l'utilisateur pour 
 +intervenir sur l'interprétation du fichier d'entrée et pour modifier 
 +l'apparence du fichier de sortie.  Certaines retouches sont très 
 +simples à mettre en œuvre ; d'autres sont plus complexes.  Mais 
 +à elles toutes, elles permettent d'obtenir tout ce qu'on veut en matière
 +de musique imprimée.
 +
 +Dans ce chapitre, nous traitons des concepts de base nécessaires
 +pour comprendre l'art de la retouche.  Puis nous présentons de 
 +nombreuses commandes déjà prêtes, qu'il suffit de recopier pour 
 +obtenir un résultat identique dans vos partitions ; nous en profitons
 +pour expliquer comment ces commandes ont été construites, si bien 
 +que vous pouvez apprendre par la même occasion à développer 
 +vos propres retouches.
 +
 +Avant de vous lancer dans ce chapitre, il peut être utile de revoir la
 +section @ref{Contexts and engravers}, dans la mesure où les contextes,
 +graveurs et autres propriétés qui y sont décrits, sont indispensables 
 +pour comprendre et construire les retouches.
 +
 +@node Objects and interfaces
 +@subsection Objects and interfaces
 +
 +@cindex objet
 +@cindex grob
 +@cindex spanner
 +@cindex extenseur
 +@cindex interface
 +@cindex propriétés des objets
 +@cindex objet, propriétés
 +@cindex objet de rendu
 +@cindex rendu, objets de
 +
 +Toute retouche implique que l'on modifie les opérations internes 
 +et les structures du programme LilyPond.  Nous allons donc, pour
 +commencer, présenter certains termes qui servent à décrire ces
 +opérations internes et ces structures.
 +
 +Le terme d'@qq{Objet} est un terme générique qui fait référence à 
 +une multitude de structures internes mises en place par LilyPond 
 +durant la compilation d'un fichier d'entrée.  Ainsi, quand une 
 +commande du type @code{\new Staff} apparaît, un nouvel objet 
 +du type @code{Staff} est créé.  Cet objet @code{Staff} contient 
 +alors toutes les propriétés associées à cette portée, par exemple son
 +nom et son armure, ainsi que le détail des graveurs qui ont été 
 +désignés pour fonctionner dans ce contexte de portée.  
 +Certains objets peuvent contenir les propriétés de tous les autres 
 +contextes, comme les objets @code{Voice}, les objets @code{Score},
 +les objets @code{Lyrics} ; d'autres se rapportent à tous les éléments de
 +notation, comme les barres de mesure, les liaisons, les nuances, etc. 
 +Chaque objet dispose de son propre échantillon de valeurs pour le 
 +réglage des propriétés.
 +
 +Certains types d'objet portent des noms spécifiques.  Les objets qui se 
 +rapportent à des éléments de notation sur le fichier de sortie, comme les 
 +notes, les hampes, les liaisons de phrasé ou de prolongation, les doigtés, 
 +les clefs, etc. sont appelés @qq{Objets de rendu} ; ils sont aussi connus 
 +sous le nom d'@qq{Objets graphiques} (en anglais : @emph{Graphical
 +objects} ou @emph{Grobs} pour faire court).  Ce sont bien des objets au
 +sens générique ci-dessus, et, en tant que tels, ils reçoivent des
 +propriétés qui leur sont associées, comme leur position, leur taille,
 +leur couleur, etc. 
 +
 +Certains objets de rendu, comme les liaisons de phrasé, les soufflets 
 +de crescendo, les marques d'octaviation et beaucoup d'autres @emph{grobs}, 
 +ont pour particularité de ne pas se situer à un seul et unique endroit
-       @tab Convention de désignation
++--- ils ont un point de départ, un point d'arrivée, et éventuellement
 +d'autres propriétés relatives à leur forme.  Ces objets avec une forme
 +étendue sont appelés des bandeaux (@emph{Spanners} en anglais).
 +
 +Il reste à expliquer ce que sont les @qq{interfaces}.  De nombreux objets, 
 +qui peuvent être très différents les uns des autres, ont pour point commun
 +de devoir être compilés simultanément.  Par exemple, tous les
 +@emph{grobs} ont une couleur, une taille, une position, etc., et toutes
 +ces propriétés sont compilées simultanément durant l'interprétation du
 +fichier d'entrée par LilyPond.  Pour alléger ces opérations internes,
 +ces actions et propriétés communes sont regroupées en un objet appelé
 +@code{grob-interface}.  Il existe beaucoup d'autres regroupements de
 +propriétés communes dans le genre de celui-ci, chacun portant un nom qui
 +se termine par @code{interface}.  En tout, on en compte plus d'une
 +centaine.  Nous verrons plus loin en quoi c'est intéressant et utile
 +pour l'utilisateur. 
 +
 +Ainsi s'achève le tour des principaux termes relatifs aux objets et 
 +que nous serons amenés à utiliser dans ce chapitre. 
 +
 +@node Naming conventions of objects and properties
 +@subsection Naming conventions of objects and properties
 +
 +@cindex conventions de nommage des objets
 +@cindex conventions de nommage des propriétés
 +@cindex objets, conventions de nommage des
 +@cindex propriétés, conventions de nommage des
 +
 +Nous avons eu un aperçu, dans @ref{Contexts and engravers}, de 
 +la façon de nommer les objets.  Voici maintenant une liste de 
 +référence des types d'objets et de propriétés les plus courants, 
 +avec leur convention de nommage et quelques exemples 
 +de cas concrets.  La lettre @code{A} représente n'importe quel 
 +caractère alphabétique majuscule, et les lettres @code{aaa} 
 +un nombre indéterminé de caractères alphabétiques minuscules.  
 +Les autres caractères sont à prendre comme ils se présentent.
 +
 +@multitable @columnfractions .33 .33 .33
 +@headitem Type d'objet/propriété           
- @cindex couleur,exemple de propriété
++      @tab Convention de nommage
 +      @tab Exemples
 +@item Contextes
 +      @tab Aaaa ou AaaaAaaaAaaa
 +      @tab Staff, GrandStaff
 +@item Objets de rendu
 +      @tab Aaaa ou AaaaAaaaAaaa
 +      @tab Slur, NoteHead
 +@item Graveurs
 +      @tab Aaaa_aaa_engraver
 +      @tab Clef_engraver, Note_heads_engraver
 +@item Interfaces
 +      @tab aaa-aaa-interface
 +      @tab grob-interface, break-aligned-interface 
 +@item Propriétés de contexte
 +      @tab aaa ou aaaAaaaAaaa
 +      @tab alignAboveContext, skipBars
 +@item Propriétés d'objet de rendu
 +      @tab aaa ou aaa-aaa-aaa
 +      @tab direction, beam-thickness
 +@end multitable
 +
 +Comme nous le verrons bientôt, les propriétés des différents 
 +types d'objets sont modifiées par des commandes différentes, si bien 
 +qu'il est bon de savoir reconnaître le type d'objet en fonction du nom
 +de ses propriétés. 
 +
 +@node Tweaking methods
 +@subsection Tweaking methods
 +
 +@cindex retouches, méthodologie
 +@cindex méthodes de retouche
 +
 +@strong{La commande \override}
 +
 +@cindex override, commande
 +@cindex override, syntaxe
 +
 +@funindex \override
 +@funindex override
 +
 +Dans @ref{Modifying context properties} et dans 
 +@ref{Adding and removing engravers}, nous avons déjà rencontré les
 +commandes @code{\set} et @code{\with}, qui servent à changer les
 +propriétés des @strong{contextes} et à supprimer ou ajouter des
 +@strong{graveurs}.  Voici maintenant d'autres commandes plus
 +importantes. 
 +
 +La commande pour changer les propriétés des @strong{objets de rendu} 
 +est @code{\override}.  Du fait que cette commande modifie en profondeur 
 +les propriétés internes de LilyPond, sa syntaxe n'est pas aussi simple que 
 +pour les commandes vues précédemment.  Elle a besoin de savoir avec 
 +précision quelle est la propriété à modifier, pour quel objet et dans
 +quel  contexte, et quelle doit être sa nouvelle valeur.  Voyons de quoi
 +il retourne.
 +
 +La syntaxe générale de cette commande est : 
 +
 +@example
 +\override @var{Contexte}.@var{ObjetDeRendu} #'@var{propriété-rendu} = #@var{valeur}
 +@end example
 +
 +@noindent
 +Elle attribue à la propriété appelée @var{propriété-rendu}, associée à
 +l'objet @var{ObjetDeRendu}, appartenant lui-même au contexte 
 +@var{Contexte}, une valeur @var{valeur}.
 +
 +Le contexte @var{Contexte} peut être omis (c'est généralement 
 +le cas) quand il n'y a pas d'ambiguïté et qu'il s'agit d'un contexte 
 +de très bas niveau, comme @code{Voice}, @code{ChordNames} 
 +ou @code{Lyrics}.  Dans les exemples qui suivent, le contexte sera 
 +très souvent omis.  Nous verrons plus tard dans quelles
 +circonstances il doit impérativement être indiqué.
 +
 +Les sections ci-dessous traitent largement des propriétés et de leurs 
 +valeurs mais, pour illustrer la mise en forme et l'utilisation de ces 
 +commandes, nous nous limiterons à n'employer que quelques propriétés et
 +valeurs simples, facilement compréhensibles.
 +
 +Nous ne parlerons dans l'immédiat ni du @code{#'}, qui précède 
 +toujours la propriété, ni du @code{#}, qui précède toujours la 
 +valeur.  Ces deux éléments doivent obligatoirement être 
 +présents sous cette forme.  Voici la commande la plus fréquente 
 +pour faire des retouches, et pratiquement tout le reste de ce 
 +chapitre aura pour but montrer, à travers des exemples, comment 
 +l'utiliser.  L'exemple ci-dessous change la couleur des têtes de 
 +notes :
 +
- @cindex couleur,exemple de propriété
++@cindex couleur,exemple d'utilisation de la propriété
 +@cindex NoteHead, exemple de dérogation
 +
 +@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 commande \revert}
 +
 +@cindex revert, commande
 +
 +@funindex \revert
 +@funindex revert
 +
 +Une fois qu'elle a été modifiée, la propriété conserve sa nouvelle valeur 
 +jusqu'à ce qu'elle soit à nouveau modifiée ou qu'elle rencontre la 
 +commande @code{\revert}.  La commande @code{\revert} obéit à 
 +la syntaxe ci-dessous et ramène la valeur de la propriété à sa valeur 
 +d'origine.  Attention : dans le cas où plusieurs @code{\override} ont 
 +été employés, il ne s'agit pas de la valeur précédente mais bien de la 
 +valeur par défaut. 
 +
 +@example
 +\revert @var{Contexte}.@var{ObjetDeRendu} #'@var{propriété-de-rendu}
 +@end example
 +
 +Tout comme pour la commande @code{\override}, la mention du 
 +@var{Contexte} est souvent facultative.  Elle sera omise dans de 
 +nombreux exemples ci-dessous.  Voici un exemple qui ramène la 
 +couleur des deux dernières notes à leur valeur par défaut :
 +
- @cindex couleur,exemple de propriété
++@cindex couleur,exemple d'utilisation de la propriété
 +@cindex NoteHead, exemple de dérogation
 +
 +@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{Le préfixe \once}
 +
 +@funindex \once
 +@funindex once
 +
 +Les commandes @code{\override} et @code{\set} peuvent supporter  
 +toutes les deux le préfixe @code{\once}.  Celui-ci a pour fonction de 
 +n'appliquer la commande @code{\override} ou @code{\set} qu'à
 +l'instant musical en cours, avant que la propriété ne reprenne 
 +sa valeur par défaut.  Toujours à partir du même exemple, il est
 +possible de ne changer la couleur que d'une seule note :
 +
- ici par souci d'exhaustivité ; pour le détail, voir @ruser{Difficult tweaks}.
++@cindex couleur,exemple d'utilisation de la propriété
 +@cindex NoteHead, exemple de dérogation
 +
 +@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 commande \overrideProperty}
 +
 +@cindex overrideProperty, commande
 +
 +@funindex \overrideProperty
 +@funindex overrideProperty
 +
 +Il existe une autre forme de commande @code{\override}, 
 +@code{\overrideProperty}, qui est parfois utile.  Nous la mentionnons
- les notes de l'accord, tandis que @code{\tweak} ne modifie que 
- l'élément suivant dans la chaîne de saisie.
++ici par souci d'exhaustivité ; pour le détail, voir 
++@ruser{Difficult tweaks}. 
 +
 +@c Maybe explain in a later iteration  -td
 +
 +@strong{La commande \tweak}
 +
 +@cindex tweak, commande
 +
 +@funindex \tweak
 +@funindex tweak
 +
 +La dernière commande disponible pour les retouches est 
 +@code{\tweak}.  Elle sert à changer les propriétés d'objets qui
 +surviennent simultanément dans la musique, comme par exemple les 
 +notes d'un accord.  La commande @code{\override} modifierait toutes
- @cindex font-size, exemple de propriété
++les notes de l'accord, tandis que @code{\tweak} permet de ne modifier
++que  l'élément suivant dans la chaîne de saisie.
 +
 +Voici un exemple.  Supposons que nous voulions changer la taille de 
 +la tête de note du milieu (le mi) dans un accord de do majeur.  Voyons 
 +d'abord ce que donnerait @code{\once \override} :
 +
- @cindex font-size, exemple de propriété
++@cindex font-size, exemple d'utilisation de la propriété
 +@cindex NoteHead, exemple de dérogation
 +
 +@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
 +
 +Nous voyons que @code{\override} modifie @emph{toutes} les têtes 
 +de notes de l'accord, car toutes les notes de l'accord surviennent au 
 +même @emph{instant musical} et que la fonction de @code{\once} 
 +est de faire porter la modification sur tous les objets du type spécifié 
 +qui surviennent au même instant musical, comme le fait la commande 
 +@code{\override} elle-même. 
 +
 +La commande @code{\tweak} opère différemment.  Elle agit 
 +sur l'élément immédiatement suivant dans la chaîne de saisie.  Elle ne
 +fonctionne toutefois que sur des objets créés directement à partir de 
 +la chaîne de saisie, c'est-à-dire essentiellement des têtes de notes et
 +des articulations ; des objets comme les hampes ou les 
 +altérations accidentelles sont créés ultérieurement et ne peuvent 
 +être retouchés de cette manière.  En outre, quand la retouche porte 
 +sur une tête de note, celle-ci @emph{doit} appartenir à un accord, 
 +c'est-à-dire être comprise à l'intérieur de chevrons gauche/droite.  Pour 
 +retoucher une note isolée, il faut donc placer la commande 
 +@code{\tweak} avec la note à l'intérieur des chevrons gauche/droite.
 +
 +Pour reprendre notre exemple, la taille de la note du milieu d'un 
 +accord peut être modifiée de cette manière : 
 +
- @cindex couleur, exemple de propriété
++@cindex font-size, exemple d'utilisation de la propriété
 +@cindex @code{\tweak}, exemple
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +<c e g>4
 +<c \tweak #'font-size #-3 e g>4
 +@end lilypond
 +
 +Vous noterez que la syntaxe de @code{\tweak} est différente de 
 +celle de la commande @code{\override}.  Ni le contexte, 
 +ni l'objet n'ont besoin d'être spécifiés ; au contraire, cela 
 +produirait une erreur si on le faisait.  Tous deux sont sous-entendus
 +par l'élément suivant dans la chaîne de saisie.  La syntaxe générale 
 +de la commande @code{\tweak} est donc, tout simplement :
 +
 +@example
 +\tweak #'@var{propriété-de-rendu} = #@var{valeur}
 +@end example
 +
 +La commande @code{\tweak} est aussi utilisée quand on veut, dans 
 +une série d'articulations, n'en modifier qu'une seule.  Ainsi :
 +
- @cindex direction, exemple de propriété
- @cindex couleur, exemple de propriété
++@cindex couleur, exemple d'utilisation de la propriété
 +@cindex @code{\tweak}, exemple
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +a ^Black
 +      -\tweak #'color #red ^Red
 +      -\tweak #'color #green _Green
 +@end lilypond
 +
 +@noindent
 +Attention : la commande @code{\tweak} doit être précédée d'une 
 +marque d'articulation, comme si elle-même était une articulation.
 +
 +@cindex nolets imbriqués
 +@cindex triolets imbriqués
 +@cindex crochet de nolet
 +@cindex nolet, crochet
 +@cindex triolet, crochet
 +
 +@funindex TupletBracket
 +
 +Quand plusieurs nolets sont imbriqués et commencent au même instant 
 +musical, c'est encore la commande @code{\tweak} qui est utilisée pour 
 +changer l'apparence de l'un d'entre eux.  Dans l'exemple suivant, le
 +long crochet de nolet et le premier des trois crochets courts commencent
 +au même instant musical ; une commande @code{\override} s'appliquerait 
 +donc à la fois aux deux.  En revanche, @code{\tweak} permet  
 +de les dissocier.  La première commande @code{\tweak} indique que 
 +le long crochet doit être placé au-dessus des notes, et la seconde 
 +indique que le coefficient de nolet doit être imprimé en rouge sur le 
 +premier crochet de triolet court. 
 +
 +@cindex @code{\tweak}, exemple
- @cindex texte, exemple de propriété
- @cindex tuplet-number, example de fonction
- @cindex transparence, example de propriété
++@cindex direction, exemple d'utilisation de la propriété
++@cindex couleur, exemple d'utilisation de la propriété
 +
 +@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
 +
 +Si les nolets imbriqués ne commencent pas au même moment, 
 +leur apparence peut alors être modifiée de la façon habituelle, 
 +avec la commande @code{\override} :
 +
- d'explications dans la RPI, mais nous en savons assez pour essayer 
++@cindex texte, exemple d'utilisation de la propriété
++@cindex tuplet-number, exemple de fonction
++@cindex transparence, exemple d'utilisation de la propriété
 +@cindex TupletNumber, exemple de dérogation
 +
 +@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
 +
 +@seealso
 +Manuel de notation :
 +@ruser{The tweak command}.
 +
 +
 +@node The Internals Reference manual
 +@section The Internals Reference manual
 +
 +@cindex Références internes
 +
 +@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 propriétés des objets de rendu
 +@cindex propriétés des objets graphiques (grobs)
 +@cindex grobs, propriétés
 +@cindex objets de rendu, propriétés
 +@cindex Manuel des références internes
 +
 +Imaginons que votre partition contienne une liaison trop fine à votre 
 +goût et que vous vouliez la rendre plus épaisse.  Comment vous y 
 +prendre ?  Vous êtes convaincu, avec tout ce qui a été dit sur la 
 +souplesse de LilyPond, qu'une telle retouche est réalisable et 
 +vous vous dites qu'elle fera sans doute intervenir la commande 
 +@code{\override}.  Mais existe-t-il une propriété lourde qui s'applique 
 +à une liaison et, dans l'affirmative, comment faire pour la modifier ? 
 +C'est là qu'intervient la Référence des propriétés internes. 
 +Elle contient toutes les informations dont vous avez besoin pour 
 +construire n'importe quelle commande @code{\override}.
 +
 +Avant de nous plonger dans la Référence des propriétés 
 +internes, un mot d'avertissement.  Il s'agit d'un document de 
 +@strong{références}, de sorte qu'il ne contient pas ou peu 
 +d'explications : son but est de présenter les informations de 
 +façon précise et concise.  Cela peut paraître décourageant 
 +à première vue.  Pas d'inquiétude !  Les conseils et les explications 
 +fournis ici vous permettent de retrouver par vous-même les 
 +informations dans la Référence des propriétés internes.  Il 
 +suffit d'un peu de pratique. 
 +
 +@cindex override, exemple
 +@cindex dérogation, exemple
 +@cindex Références internes, exemple d'utilisation
 +@cindex @code{\addlyrics} -- exemple
 +
 +Prenons un exemple concret tiré d'un morceau de musique connu :
 +
 +@lilypond[quote,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
 +
 +Admettons que nous voulions rendre les traits de liaison plus épais. 
 +Est-ce possible ?  Une liaison est assurément un objet de rendu, si bien 
 +que la question est @qq{Existe-t-il une propriété attachée aux liaisons 
 +et qui en contrôle l'épaisseur ? } Pour y répondre, nous consultons la 
 +Référence des propriétés internes (ou RPI pour faire court).
 +
 +Vous trouverez sur le site de LilyPond @uref{http://lilypond.org} la
 +RPI correspondant à votre version du programme.  Allez sur la page 
 +Documentation et cliquez sur Référence des propriétés internes. 
 +Pour l'apprentissage, mieux vaut utiliser la version HTML standard, 
 +et non la @q{page unique en anglais} ou le PDF.  Durant la lecture 
 +des prochains paragraphes, il vous est conseillé de vous y reporter 
 +réellement afin que les explications prennent tout leur sens.
 +
 +En dessous du bandeau d'en-tête figurent cinq liens.  Cliquez sur le lien 
 +vers le @emph{Backend}, où se trouvent les informations sur les 
 +objets de rendu.  En dessous du titre @strong{Backend}, choisissez 
 +alors le lien vers @emph{Tous les objets de rendu}.  La page qui s'ouvre 
 +énumère, dans l'ordre alphabétique, tous les objets utilisés dans votre 
 +version de LilyPond.  Cliquez sur Liaisons (@emph{Slurs} en anglais), 
 +et les propriétés des liaisons apparaîtront. 
 +
 +Il existe un autre moyen de trouver cette page, à partir du Manuel de 
 +notation.  Une des pages qui traitent des liaisons contient un lien vers 
 +la Référence des propriétés internes, qui mène directement à cette 
 +page.  Mais lorsque vous connaissez le nom de l'objet à retoucher, le 
 +plus simple est de consulter la RPI. 
 +
 +La page de la RPI sur les liaisons commence par préciser que les objets 
 +Liaison sont créés par le graveur Slur_engraver.  Vient ensuite la liste 
 +des réglages standard.  Attention : ceux-ci @strong{ne suivent pas} l'ordre 
 +alphabétique.  Il faut donc les parcourir en entier pour trouver la propriété 
 +susceptible de contrôler l'épaisseur des traits de liaison.
 +
 +@example
 +@code{thickness} (number)
 +     @code{1.2}
 +     Épaisseur de ligne, généralement mesurée en @code{line-thickness}
 +@end example
 +
 +Voilà qui semble approprié pour changer l'épaisseur (@emph{thickness} en
 +anglais).  On apprend que la valeur de @code{thickness} 
 +est un simple nombre (@emph{number}), qu'elle est par défaut 
 +à 1,2 et que l'unité de mesure est fixée par une autre propriété 
 +appelée @code{line-thickness}.
 +
 +Comme il a été indiqué, on ne trouve que peu, voire pas du tout 
- à 1.2 si l'on veut augmenter l'épaisseur du trait.
++d'explication dans la RPI, mais nous en savons assez pour essayer 
 +de changer l'épaisseur de la liaison.  Comme nous l'avons vu, le 
 +nom de l'objet est @code{Slur}, le nom de la propriété à changer 
 +est @code{thickness} et la nouvelle valeur sera un nombre supérieur 
- @cindex thickness, exemple de propriété
++à @code{1.2} si l'on veut augmenter l'épaisseur du trait.
 +
 +Pour construire la commande @code{\override}, il suffit donc de 
 +remplacer les valeurs que nous avons trouvées en guise de noms, en 
 +laissant de côté le contexte.  Commençons par une valeur très élevée
 +dans un premier temps, pour nous assurer que la commande fonctionne. 
 +Nous obtenons :
 +
 +@example
 +\override Slur #'thickness = #5.0
 +@end example
 +
 +N'oublions pas le @code{#'} qui doit précéder le nom de la propriété et 
 +le @code{#} qui doit précéder la nouvelle valeur.
 +
 +La dernière question est : @qq{Où placer cette commande ?}  
 +Tant qu'on n'est pas sûr de soi, la meilleure réponse est @qq{À
 +l'intérieur de l'expression musicale, avant la première liaison et
 +proche d'elle.}  Essayons :
 +
 +@cindex Slur, exemple de dérogation
- commandes -- mais il faut encore s'exercer.  Les exemples 
++@cindex thickness, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    % Increase thickness of all following slurs from 1.2 to 5.0
 +    \override Slur #'thickness = #5.0
 +    r4 b8 b[( g]) g |
 +    g[( e]) e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond 
 +
 +@noindent
 +et nous constatons que le trait de liaison est beaucoup plus épais.
 +
 +Telle est la façon normale de construire les commandes 
 +@code{\override}.  Comme nous aurons l'occasion de le voir 
 +par la suite, le problème est parfois plus complexe.  Dans 
 +l'immédiat, nous en savons assez pour construire nos propres 
- liaison, la commande sera sans aucun effet -- elle ne reste pas en mémoire 
++commandes --- mais il faut encore s'exercer.  Les exemples 
 +suivants sont là dans cette intention.
 +
 +@subheading Finding the context
 +
 +@cindex contexte, détermination du
 +@cindex contexte, identification correcte du
 +
 +Tout d'abord, de quoi avions-nous besoin pour préciser le 
 +contexte ?  À quoi devait-il ressembler ?  Gageons que les 
 +liaisons appartiennent au contexte Voix, dans la mesure où 
 +elles sont étroitement liées à une ligne mélodique, mais 
 +comment en être sûr ?  Pour répondre à cette question, 
 +revenons en haut de la page de la RPI consacrée aux liaisons ; 
 +il est écrit : @q{Les objets Liaison sont créés par le graveur 
 +Slur_engraver}.  Ainsi les liaisons seront créées dans n'importe 
 +quel contexte où se trouve le @code{Slur_engraver}.  Suivons 
 +le lien vers la page @code{Slur_engraver}.  Tout en bas, on 
 +lit que le @code{Slur_engraver} est un élément appartenant 
 +à cinq contextes Voix, dont le contexte de voix 
 +standard, @code{Voice}.  Notre hypothèse était donc juste. 
 +Et parce que @code{Voice} est un contexte de très bas 
 +niveau, qu'il est activé sans ambiguïté par le fait que l'on est 
 +en train de saisir des notes, on peut ici ne pas le mentionner.
 +
 +@subheading Overriding once only
 +
 +@cindex dérogation pour une seule fois
 +@cindex usage unique, dérogation à
 +
 +@funindex \once
 +@funindex once
 +
 +Dans le dernier exemple ci-dessus, @emph{toutes} les liaisons étaient plus 
 +épaisses.  Et si on veut épaissir uniquement la première liaison ?  On
 +recourt alors à la commande @code{\once}.  Placée juste avant la commande 
 +@code{\override}, elle lui indique de ne changer que la liaison commençant 
 +avec la note @strong{juste après}.  Si la note juste après n'ouvre pas une 
- @cindex thickness, exemple de propriété
++liaison, la commande sera sans aucun effet --- elle ne reste pas en mémoire 
 +jusqu'à la prochaine liaison, elle est purement et simplement ignorée.
 +Il faut donc que la commande introduite par @code{\once} soit insérée
 +comme suit : 
 +
 +
 +@cindex Slur, exemple de dérogation
- @cindex Épaisseur, exemple de propriété
++@cindex thickness, exemple d'utilisation de la propriété
 +@cindex Liaison, exemple de dérogation
- @cindex thickness, exemple de propriété
++@cindex Épaisseur, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    r4 b8
 +    % Increase thickness of immediately following slur only
 +    \once \override Slur #'thickness = #5.0
 +    b[( g]) g |
 +    g[( e]) e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond 
 +
 +@noindent
 +Alors seule la première liaison est rendue plus épaisse.
 +
 +La commande @code{\once} peut aussi être utilisée devant la commande 
 +@code{\set}.
 + 
 +
 +@subheading Reverting
 +
 +@cindex revert
 +@cindex retour
 +@cindex défaut, retour aux propriétés par
 +
 +@funindex \revert
 +@funindex revert
 +
 +Et si l'on voulait que les deux premières liaisons soient plus épaisses ? 
 +On pourrait bien sûr utiliser deux commandes, chacune précédée de 
 +@code{\once}, et placées juste avant la note par laquelle débute la 
 +liaison :
 +
 +
 +@cindex Slur, exemple de dérogation
- @cindex Épaisseur, exemple de propriété
++@cindex thickness, exemple d'utilisation de la propriété
 +@cindex Liaison, exemple de dérogation
- @cindex thickness, exemple de propriété
++@cindex Épaisseur, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    r4 b8
 +    % Increase thickness of immediately following slur only
 +    \once \override Slur #'thickness = #5.0
 +    b[( g]) g |
 +    % Increase thickness of immediately following slur only
 +    \once \override Slur #'thickness = #5.0
 +    g[( e]) e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +    The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond 
 +
 +@noindent
 +mais on peut aussi, au lieu de la commande @code{\once}, utiliser après 
 +la seconde liaison la commande @code{\revert}, qui ramène la propriété 
 +@code{thickness} à sa valeur par défaut .
 +
 +@cindex Slur, exemple de dérogation
- @cindex Épaisseur, exemple de propriété
++@cindex thickness, exemple d'utilisation de la propriété
 +@cindex Liaison, exemple de dérogation
- qui contient la liste @q{Tous les objets de rendu}, et recherchons 
++@cindex Épaisseur, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,relative=2]
 +{
 +  \time 6/8
 +  {
 +    r4 b8
 +    % Increase thickness of all following slurs from 1.2 to 5.0
 +    \override Slur #'thickness = #5.0
 +    b[( g]) g |
 +    g[( e])
 +    % Revert thickness of all following slurs to default of 1.2
 +    \revert Slur #'thickness
 +    e d[( f]) a |
 +    a g
 +  }
 +  \addlyrics {
 +  The man who feels love's sweet e -- mo -- tion
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +N'importe quelle propriété modifiée par @code{\override} peut ainsi 
 +être ramenée, grâce à la commande @code{\revert}, à sa valeur par 
 +défaut. 
 +
 +Ici s'achève notre introduction à la RPI et aux retouches 
 +simples.  Vous trouverez d'autres exemples dans les prochaines 
 +sections de ce chapitre ; ils vous permettront, d'une part, 
 +d'apprendre à connaître un peu mieux la RPI et, d'autre part, de 
 +vous entraîner un peu plus à y chercher les informations.  Ces 
 +exemples seront progressivement accompagnés d'explications et 
 +introduiront des termes nouveaux.
 + 
 +@node Properties found in interfaces
 +@subsection Properties found in interfaces
 +
 +@cindex interface
 +@cindex interfaces, propriétés des
 +@cindex propriétés des interfaces
 +
 +Supposons maintenant que nous voulions imprimer des paroles en italique.  
 +Quelle formulation de la commande @code{\override} allons-nous utiliser ? 
 +Nous consultons en premier lieu, comme précédemment, la page de la RPI 
- Signalons rapidement -- même si cette remarque est importante -- que,
++qui contient la liste @qq{Tous les objets de rendu}, et recherchons 
 +un objet qui contrôle les paroles.  Nous trouvons @code{LyricText}, qui 
 +semble approprié.  Nous cliquons dessus et nous voyons apparaître les 
 +différentes propriétés des paroles, parmi lesquelles @code{font-series} 
 +et @code{font-size}.  Mais aucune ne propose l'italique.  Car la mise 
 +en forme des caractères est une propriété commune à tous les objets 
 +d'écriture, si bien que, au lieu de figurer dans tous les objets de rendu, 
 +elle est regroupée avec d'autres propriétés semblables et placée dans une 
 +@strong{Interface}, la @code{font-interface}.
 +
 +Il nous faut donc apprendre à trouver les propriétés des interfaces 
 +et découvrir les objets qui utilisent les propriétés de ces interfaces.
 +
 +Retournons à la page de la RPI qui traite des paroles
 +(@emph{LyricText}).  En bas de la page est dressée sous forme de liens
 +la liste des interfaces qui concernent LyricText.  Cette liste comporte
 +plusieurs entrées, dont @code{font-interface}.  En cliquant dessus, nous
 +voyons apparaître les différentes propriétés associées à cette
 +interface, qui sont en même temps les propriétés de tous les objets qui
 +s'y rapportent, parmi lesquels  LyricText.
 +
 +Nous avons alors sous les yeux tous les réglages de propriétés qui 
 +contrôlent les polices de caractères, et notamment 
 +@code{font-shape(symbole)}, où @code{symbole} peut prendre la valeur 
 +@code{upright}, @code{italics} ou @code{caps}.
 +
 +Vous remarquerez que @code{font-series} et @code{font-size} figurent 
 +aussi dans la liste.  La question qui ne manque pas de se poser est : 
 +@qq{Comment se fait-il que les propriétés @code{font-series} et 
 +@code{font-size} se retrouvent à la fois dans @code{LyricText} et dans 
 +l'interface @code{font-interface} alors que ce n'est pas le cas pour 
 +@code{font-shape} ?}  La réponse est que lorsqu'un objet @code{LyricText} 
 +est créé, les valeurs globales par défaut de @code{font-series} et 
 +@code{font-size} sont modifiées, mais pas celles de @code{font-shape}. 
 +Les possibilités de modification dans @code{LyricText} ne concernent 
 +donc que les valeurs à appliquer à @code{LyricText}.  Les autres objets qui 
 +dépendent de @code{font-interface} fixeront leurs propriétés différemment 
 +lorsqu'ils seront créés.
 +
 +Voyons maintenant si nous sommes en mesure de formuler la commande 
 +@code{\override} pour mettre les paroles en italique.  L'objet est 
 +@code{LyricText}, la propriété est @code{font-shape} et la valeur est 
 +@code{italic}.  Comme auparavant, nous laissons de côté le contexte. 
 +
- @cindex font-shape, exemple de propriété
++Signalons rapidement --- même si cette remarque est importante --- que,
 +puisque les valeurs de @code{font-shape} se présentent sous forme de
 +symboles, elles doivent être précédées d'une simple apostrophe,
 +@code{'}.  C'est pour cette raison qu'il fallait une apostrophe devant
 +@code{thickness} dans l'exemple précédent, et qu'il en faut une devant
 +@code{font-shape}. Ce sont à chaque fois des symboles, qui sont
 +interprétés comme tels par LilyPond.  Certains symboles peuvent être des
 +noms de propriété, comme @code{thickness} ou @code{font-shape},
 +d'autres sont des valeurs à attribuer aux propriétés, comme
 +@code{italic}. À ne pas confondre avec les chaînes de caractères libres,
 +qui se présentent comme @code{"un texte libre"} ; pour plus de détails
 +sur les symboles et les chaînes de caractères, voir @ref{Scheme
 +tutorial}. 
 +
 +Ainsi, la commande @code{\override} pour mettre les paroles en italique 
 +est : 
 +
 +@example
 +\override LyricText #'font-shape = #'italic
 +@end example
 +
 +@noindent
 +et elle doit être placée juste devant et tout près des paroles à modifier, 
 +comme ceci :
 +
- des espaces avant et après le point, @q{.}, qui sépare le nom de 
++@cindex font-shape, exemple d'utilisation de la propriété
 +@cindex italic, exemple
 +@cindex LyricText, exemple de dérogation
 +@cindex @code{\addlyrics}, exemple
 +
 +@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
 +et voilà les paroles en italiques.
 +
 +@subheading Specifying the context in lyric mode
 +
 +@cindex contexte, spécification en mode lyrique
 +@cindex mode lyrique, spécification de contexte en
 +
 +Lorsqu'il s'agit de paroles et qu'on cherche à préciser le contexte 
 +sur le modèle de ce qui a été fait précédemment, la commande échoue. 
 +Car une syllabe saisie en mode Paroles (lyricmode) se termine 
 +obligatoirement par une espace, un saut de ligne ou un nombre. Tout 
 +autre caractère compte comme un élément de la syllabe. C'est pourquoi 
 +il faut une espace ou un saut de ligne avant le @code{@}} final, pour 
 +éviter qu'il ne soit assimilé à la dernière syllabe. De même, il faut insérer 
- @code{nombre} et @code{symbol}.  Pour pouvoir fonctionner, la valeur
++des espaces avant et après le point, @qq{.}, qui sépare le nom de 
 +contexte du nom de l'objet, faute de quoi les deux noms seront joints et 
 +l'interpréteur ne pourra pas les reconnaître. La formulation correcte est 
 +donc : 
 +
 +@example
 +\override Lyrics . LyricText #'font-shape = #'italic
 +@end example
 +
 +@warning{Dans la saisie des paroles, pensez à toujours laisser une
 +espace entre la dernière syllabe et l'accolade fermante.}
 +
 +@warning{Lorsqu'on retouche des paroles, toujours placer des espaces 
 +autour du point qui sépare le nom de contexte du nom d'objet.}
 +
 +@seealso
 +Manuel d'initiation : @ref{Scheme tutorial}.
 +
 +
 +@node Types of properties
 +@subsection Types of properties
 +
 +
 +@cindex propriété, types de
 +
 +Nous avons vu jusqu'à maintenant deux types de propriétés :
- sous la forme #t  ou #f
++@code{nombre} et @code{symbole}.  Pour pouvoir fonctionner, la valeur
 +associée à une propriété doit correspondre au type attendu et suivre les
 +règles liées à ce type.  Le type de propriété est toujours donné entre
 +parenthèses après le nom de propriété dans la RPI.  Voici une liste des
 +différents types de propriétés, avec les règles qui les régissent et
 +quelques exemples d'utilisation.  Il faut, bien sûr, toujours ajouter un
 +symbole hash, @code{#}, devant ces valeurs lors de la saisie de la
 +commande @code{\override}. 
 +
 +@multitable @columnfractions .2 .45 .35
 +@headitem Type de propriété 
 +  @tab Règles
 +  @tab Exemples
 +@item Booléenne (anglais @emph{Boolean})
 +  @tab Vrai (@emph{true} en anglais) ou Faux (@emph{false} en anglais),
- comprise entre -1 et 1 seulement)
++       sous la forme #t  ou #f
 +  @tab @code{#t}, @code{#f}
 +@item Dimension (en lignes de portée)
 +  @tab Un nombre positif décimal (en unités de lignes de portée)
 +  @tab @code{2.5}, @code{0.34}
 +@item Direction
 +  @tab Une direction valide ou son équivalent numérique (valeur décimale
- @item Durée (@emph{Moment} en anglais)
-   @tab Une durée de note construite avec la fonction make-moment
-   @tab @code{(ly:make-moment 1 4)}, @code{(ly:make-moment 3 8)}
++       comprise entre -1 et 1 seulement)
 +  @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @code{-1}
- @item Inconnu (@emph{Unknown} en anglais)
-   @tab Un processus, ou @code{#f} pour empêcher toute action 
-   @tab @code{bend::print}, @code{ly:text-interface::print}, @code{#f}
 +@item Entier (@emph{Integer} en anglais)
 +  @tab Un nombre entier positif
 +  @tab @code{3}, @code{1}
- sont parfois groupées dans ce qu'on appelle des @emph{interfaces} --
 +@item Liste
 +  @tab Plusieurs valeurs séparées par une espace, encadrées par des
 +parenthèses et prédédées par une apostrophe 
 +  @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'(1.0 0.25 0.5)}
 +@item Markup (ou étiquette)
 +  @tab Toute commande @code{\markup} valide
 +  @tab @code{\markup @{ \italic "cresc." @}}
++@item Durée (@emph{Moment} en anglais)
++  @tab Une durée de note construite avec la fonction make-moment
++  @tab @code{(ly:make-moment 1 4)}, @code{(ly:make-moment 3 8)}
 +@item Nombre
 +  @tab Une valeur décimale positive ou négative
 +  @tab @code{3.5}, @code{-2.45}
 +@item Paire (de nombres)
 +  @tab Deux nombres séparées par @q{espace . espace}, encadrés 
 +par des parenthèses et précédés par une apostrophe
 +  @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
 +@item Symbole
 +  @tab L'un des symboles autorisés pour cette propriété, précédé par une
 +apostrophe
 +  @tab @code{'italic}, @code{'inside}
++@item Inconnu (@emph{Unknown} en anglais)
++  @tab Un processus, ou @code{#f} pour empêcher toute action 
++  @tab @code{bend::print}, @code{ly:text-interface::print}, @code{#f}
 +@item Vecteur
 +  @tab Une liste de trois éléments encadrés par des parenthèses et
 +précédés par apostrophe-hash, @code{'#}
 +  @tab @code{'#(#t #t #f)}
 +@end multitable
 +
++
 +@seealso
 +Manuel d'initiation : @ref{Scheme tutorial}.
 +
 +
 +@node Appearance of objects
 +@section Appearance of objects
 +
 +Il est temps de mettre en pratique les notions apprises précédemment
 +pour modifier l'allure de la partition ; les exemples qui suivent
 +montrent l'utilisation des différentes méthodes de retouche.  
 +
 +@menu
 +* Visibility and color of objects::  
 +* Size of objects::             
 +* Length and thickness of objects::  
 +@end menu
 +
 +
 +@node Visibility and color of objects
 +@subsection Visibility and color of objects
 +
 +Dans un but pédagogique, on peut être amené à masquer certains éléments
 +d'une partition, que les élèves doivent ensuite compléter.  Imaginons,
 +par exemple, un exercice dans lequel il faudrait rétablir les barres de
 +mesure dans un morceau de musique. En temps normal, les barres de mesure
 +s'insèrent automatiquement.  Comment faire pour les effacer de la
 +partition ?  
 +
 +Avant de nous y attaquer, souvenons-nous que les propriétés d'objets
- modifier un objet graphique -- si l'une d'elles est choisie pour un
++sont parfois groupées dans ce qu'on appelle des @emph{interfaces} ---
 +voir @ref{Properties found in interfaces}.  Cela permet de rapprocher
 +toutes les propriétés susceptibles d'être utilisées ensemble pour
- peuvent modifier l'aspect visuel des barres de mesure -- et de beaucoup
++modifier un objet graphique --- si l'une d'elles est choisie pour un
 +objet, elle s'appliquera à tous les autres.  Certains objets tirent
 +alors leurs propriétés de telle ou telle interface, d'autres objets de
 +telle ou telle autre interface.  La liste des interfaces qui contiennent
 +les propriétés liées à un objet graphique (@emph{grob}) figure dans la
 +RPI, en bas de la page de description du @emph{grob} ; pour voir ces
 +propriétés, il faut aller voir ces interfaces.  
 +
 +Nous avons vu, dans @ref{Properties of layout objects}, comment trouver 
 +les informations sur les @emph{grobs}.  Nous procédons de la même manière
 +et consultons la RPI pour connaître l'objet chargé d'imprimer les barres
 +de mesure.  En cliquant sur @emph{Backend} puis sur @emph{Tous les
 +objets de rendu}, nous trouvons un objet appelé @code{BarLine}.  Parmi 
 +ses propriétés, deux d'entre elles déterminent son aspect visuel : 
 +@code{break-visibility} et @code{stencil}.  L'objet @code{BarLine} 
 +est également lié à plusieurs interfaces, dont la @code{grob-interface} 
 +où figurent les propriétés @code{transparent} et @code{color}.  Toutes
- @cindex stencil, exemple de propriété
++peuvent modifier l'aspect visuel des barres de mesure --- et de beaucoup
 +d'autres objets, bien sûr.  Examinons chacune d'elles tour à tour.
 +
 +@subheading stencil
 +
 +@cindex stencil, propriété
 +
 +Cette propriété contrôle l'apparence des barres de mesure en précisant 
 +le type de symbole (glyphe) à imprimer.  Comme pour de nombreuses 
 +autres propriétés, on peut lui indiquer de ne rien imprimer en lui
 +attribuant la valeur @code{#f}.  Essayons en laissant de côté, une fois
 +encore, le contexte concerné (@code{Voice} en l'occurrence) : 
 +
 +@cindex BarLine, exemple de dérogation
- @cindex stencil, exemple de propriété
++@cindex stencil, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override BarLine #'stencil = ##f
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Les barres de mesure sont encore là !  Pourquoi ?  Retournons à la RPI
 +et regardons de nouveau la page qui traite des propriétés de BarLine.
 +En haut de la page, il est précisé que @qq{Les objets BarLine sont créés
 +par le graveur Bar_engraver}.  Allons à la page de @code{Bar_engraver}. 
 +Tout en bas se trouve la liste des contextes dans lesquels fonctionne ce 
 +graveur.  Tous sont du type @code{Staff}, de sorte que, si la commande 
 +@code{\override} n'a pas fonctionné comme prévu, c'est parce que 
 +@code{Barline} n'appartient pas au contexte par défaut, @code{Voice}. 
 +Si le contexte spécifié est erroné, la commande ne fonctionne pas.  Cela 
 +n'entraîne pas de message d'erreur, et rien n'apparaît sur le fichier log. 
 +Essayons de corriger en mentionnant le bon contexte : 
 +
 +@cindex BarLine, exemple de dérogation
- @cindex BarLine, example of overriding
- @cindex break-visibility property, example
++@cindex stencil, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'stencil = ##f
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Cette fois, les barres de mesure ont disparu.
 +
 +@subheading break-visibility
 +
 +@cindex break-visibility, propriété
 +
 +La RPI mentionne, à la page sur @code{BarLine}, que la propriété
 +@code{break-visibility} attend comme argument un vecteur de trois
 +boléens.  Ceux-ci indiquent respectivement si les barres de mesure
 +doivent être imprimées ou non à la fin de la ligne, à l'intérieur de la
 +ligne et au début de la ligne.  Dans notre cas, nous voulons que toutes
 +les barres soient supprimées, si bien que la valeur dont nous avons
 +besoin est @code{'#(#f@tie{}#f@tie{}#f)}. Essayons, sans oublier
 +d'ajouter le contexte @code{Staff}.  Vous remarquerez que, en plus de
 +cette valeur, nous ajoutons @code{#'#} devant la parenthèse ouvrante.
 +Le @code{'#} est nécessaire car il fait partie intégrante de la valeur
 +contenant un vecteur, et le premier @code{#} est là, comme toujours avec
 +la commande @code{\override}, pour introduire la valeur elle-même. 
 +
- retour sur la page @q{Tous les objets de rendu} de la RPI, nous
++@cindex BarLine, exemple de dérogation
++@cindex break-visibility exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Comme on peut le constater, cette solution-là aussi supprime les barres 
 +de mesure.
 +
 +@subheading transparent
 +
 +@cindex transparent, propriété
 +@cindex transparence
 +
 +La RPI mentionne, à la page sur @code{grob-interface}, que la propriété
 +@code{transparent} attend comme argument un boléen.  Il faudrait donc
 +mettre @code{#t} pour rendre l'objet transparent.  Dans cet exemple,
 +essayons de rendre transparente la métrique (@emph{time signature} en
 +anglais) plutôt que les barres de mesure.  Pour cela, il nous faut
 +trouver le nom du @emph{grob} chargé de l'indication de mesure.  De
- @cindex transparent, exemple de propriété
++retour sur la page @qq{Tous les objets de rendu} de la RPI, nous
 +cherchons les propriétés de l'objet @code{TimeSignature}.  Celui-ci est
 +géré par le graveur @code{Time_signature_engraver} qui, comme vous
 +pouvez le constater, appartient au contexte @code{Staff} et peut se
 +rattacher à la @code{grob-interface}.  Dans ces conditions, la commande
 +pour rendre la métrique transparente est : 
 +
 +@cindex TimeSignature, exemple de dérogation
- @cindex stencil, exemple de propriété
++@cindex transparent, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.TimeSignature #'transparent = ##t
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +La métrique a bien disparu mais la commande a laissé un blanc en lieu et
 +place du chiffrage.  Ce peut être souhaitable dans le cadre d'un
 +exercice, afin que les élèves aient la place à compléter, mais dans
 +d'autres circonstances, ce peut être gênant.  Pour y remédier,
 +attribuons plutôt au stencil des métriques la valeur @code{#f} : 
 +
 +@cindex TimeSignature, exemple de dérogation
- @cindex color, exemple de propriété
++@cindex stencil, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.TimeSignature #'stencil = ##f
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +La différence est flagrante : le fait d'attribuer au stencil la valeur
 +@code{#f} supprime totalement l'objet, tandis que le fait de le rendre
 +@code{transparent} le laisse en place, mais de façon invisible. 
 +
 +@subheading color
 +
 +@cindex color, propriété
 +
 +Essayons enfin de rendre les barres de mesure invisibles en les colorant
 +en blanc.  La difficulté est de savoir si les barres blanches vont
 +couper ou non les lignes de la portée aux endroits où elles se
 +croisent.  Vous verrez dans les exemples ci-dessous que cela peut se
 +produire, sans qu'on le sache à l'avance.  Les explications de ce
 +phénomène et les solutions pour y remédier sont exposées dans
 +@ruser{Painting objects white}.  Pour le moment, acceptons cet
 +inconvénient et concentrons-nous sur l'apprentissage de la gestion des
 +couleurs. 
 +
 +La @code{grob-interface} indique que la valeur de la propriété
 +@code{color} est une liste, sans plus d'explication.  En fait, cette
 +liste est une liste de valeurs en unités internes ; pour éviter d'avoir
 +à chercher ce qu'il faut y mettre, il existe différents moyens
 +d'indiquer la couleur.  Le premier moyen consiste à utiliser l'une des
 +couleurs @emph{normales} de la première @ruser{List of colors}.  Pour
 +mettre les barres de mesure en blanc, on écrit :  
 +
 +@cindex BarLine, exemple de dérogation
- ne s'agit pas d'un symbole mais d'une @emph{fonction}.  Quand on
++@cindex color, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'color = #white
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +et nous constatons que les barres de mesure sont une fois de plus
 +invisibles.  Attention : aucune apostrophe ne précède @code{white} -- il
- @cindex color, exemple de propriété
++ne s'agit pas d'un symbole mais d'une @strong{fonction}.  Quand on
 +l'invoque, elle fournit une liste de valeurs internes requises pour
 +changer la couleur en blanc.  Les autres couleurs aussi, dans la
 +@qq{liste normale}, sont des fonctions.  Pour en être certain, vous
 +pouvez faire l'essai en choisissant une autre fonction de la liste en
 +guise de couleur. 
 +
 +@cindex couleur X11
 +@cindex X11, couleurs
 +
 +@funindex x11-color
 +
 +Le deuxième moyen de changer la couleur consiste à utiliser la deuxième
 +@ruser{List of colors}, dite noms de couleurs X11.  Ceux-ci doivent
 +obligatoirement être précédés d'une autre fonction, qui convertit les
 +noms de couleurs X11 en une liste de valeurs internes, @code{x11-color},
 +comme ceci : 
 +
 +@cindex BarLine, exemple de dérogation
- en couleurs internes -- la fonction @code{rgb-color}.  Elle comporte
++@cindex color, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'color = #(x11-color 'white)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +Vous noterez que, dans ce cas, la fonction @code{x11-color} admet un
 +symbole comme argument ; il faut donc placer une apostrophe devant le
 +symbole et insérer les deux à l'intérieur de parenthèses.  
 +
 +@cindex rgb, couleur
 +@cindex couleurs rgb
 +
 +@funindex rgb-color
 +
 +Il existe une troisième fonction, écrite pour convertir les valeurs RGB
- @code{(rgb-color1 0 0)} ; pour le blanc, ce serait 
++en couleurs internes --- la fonction @code{rgb-color}.  Elle comporte
 +trois arguments, donnant respectivement l'intensité du rouge, du vert et
 +du bleu.  Ces arguments prennent des valeurs comprises entre 0 et 1.
 +Ainsi, pour choisir la couleur rouge, la valeur serait 
- @cindex color, exemple de propriété
++@code{(rgb-color 1 0 0)} ; pour le blanc, ce serait 
 +@code{(rgb-color 1 1 1)} : 
 +
 +@cindex BarLine, exemple de dérogation
- @cindex color, exemple de propriété
++@cindex color, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.BarLine #'color = #(rgb-color 1 1 1)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +Enfin, il existe une échelle de gris parmi les possibilités de couleurs
 +X11.  Elle va du noir, @code{'grey0}, au blanc, @code{'grey100}, avec
 +un pas de 1.  Essayons de l'utiliser en attribuant à tous les objets de
 +notre exemple différentes nuances de gris : 
 +
 +@cindex StaffSymbol, exemple de dérogation
 +@cindex TimeSignature, exemple de dérogation
 +@cindex Clef, exemple de dérogation
 +@cindex NoteHead, exemple de dérogation
 +@cindex Stem, exemple de dérogation
 +@cindex BarLine, exemple de dérogation
- portée temporaire, du type  @rglos{ossia}. 
++@cindex color, exemple d'utilisation de la propriété
 +@cindex x11-color, exemple d'utilisation
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +{
 +  \time 12/16
 +  \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
 +  \override Staff.TimeSignature #'color = #(x11-color 'grey60)
 +  \override Staff.Clef          #'color = #(x11-color 'grey60)
 +  \override Voice.NoteHead      #'color = #(x11-color 'grey85)
 +  \override Voice.Stem          #'color = #(x11-color 'grey85)
 +  \override Staff.BarLine       #'color = #(x11-color 'grey10)
 +  c4 b8 c d16 c d8 |
 +  g, a16 b8 c d4 e16 |
 +  e8
 +}
 +@end lilypond
 +
 +@noindent
 +Vous remarquerez le contexte associé à chacun des objets.  Une erreur
 +sur ce point empêcherait la commande de fonctionner.  Souvenez-vous que
 +le contexte est celui dans lequel est placé le graveur approprié.  Pour
 +chaque graveur, on peut trouver son contexte par défaut en partant de
 +l'objet lui-même, puis en cherchant le graveur qui le produit ; la page
 +du graveur dans la RPI nous indique alors le contexte dans lequel le
 +graveur se trouve normalement. 
 +
 +
 +@node Size of objects
 +@subsection Size of objects
 +
 +@cindex modification de la taille des objets
 +@cindex taille d'objets
 +@cindex objets, taille
 +@cindex objets, modification de taille
 +
 +Pour commencer, reprenons l'exemple qui se trouvait dans 
 +@ref{Nesting music expressions}, qui montrait comment créer une nouvelle
- @cindex alignAboveContext, exemple de propriété
++portée temporaire, du type @rglos{ossia}. 
 +
- Nous avons déjà appris à enlever la clef et la métrique -- il suffit de
++@cindex alignAboveContext, exemple d'utilisation de la propriété
 +@cindex @code{\with}, exemple
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +       \relative g' {
 +         r4 g8 g c4 c8 d |
 +         e4 r8
 +         <<
 +           { f c c }
 +           \new Staff \with {
 +             alignAboveContext = #"main" }
 +           { f8 f c }
 +         >>
 +         r4 |
 +  }
 +}
 +@end lilypond
 +
 +Normalement, les ossia ne comportent ni clef ni indication de mesure, et
 +elles sont imprimées légèrement plus petit que la portée principale.
- @cindex alignAboveContext, exemple de propriété
++Nous avons déjà appris à enlever la clef et la métrique --- il suffit de
 +régler le stencil de chacun sur @code{#f}, comme ceci : 
 +
- @cindex stencil, exemple de propriété
++@cindex alignAboveContext, exemple d'utilisation de la propriété
 +@cindex @code{\with}, exemple
- désactivés par @code{\unset} ou@code{\revert}, les réglages reprennent
++@cindex stencil, exemple d'utilisation de la propriété
 +@cindex Clef, exemple de dérogation
 +@cindex TimeSignature, exemple de dérogation
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +      }
 +      {
 +        \override Staff.Clef #'stencil = ##f
 +        \override Staff.TimeSignature #'stencil = ##f
 +        { f8 f c }
 +      }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +La paire d'accolades ajoutée après la clause @code{\with} est nécessaire
 +pour être sûr que les retouches (@code{\override}) ainsi que la musique
 +qui se trouvent à l'intérieur soient bien appliquées à la portée
 +d'ossia. 
 +
 +Mais alors, quelle différence y a-t-il à modifier le contexte de portée
 +au moyen de @code{\with} ou à modifier les stencils de la clef et de la
 +métrique  avec @code{\override} ?  La principale différence est que les
 +changements opérés dans une clause @code{\with} sont réalisés au moment
 +où le contexte est créé et restent par la suite les valeurs @strong{par
 +défaut} aussi longtemps que ce contexte existe, tandis que les commandes
 +@code{\set} ou @code{\override} insérées dans la musique sont dynamiques
 +-- elles provoquent des changements synchronisés avec un point
 +particulier de la musique.  Si les changements sont annulés ou
- @cindex alignAboveContext, exemple de propriété
++désactivés par @code{\unset} ou @code{\revert}, les réglages reprennent
 +les valeurs par défaut, c'est-à-dire celles qui ont été fixées dans la
 +clause @code{\with}, ou, en l'absence de celle-ci, les valeurs par
 +défaut normales. 
 +
 +Certaines propriétés de contexte ne peuvent être modifiées que dans une
 +clause @code{\with}.  Il s'agit des propriétés qu'on ne peut évidemment
 +plus changer après que le contexte a été créé.  C'est le cas de 
 +@code{alignAboveContext} et de son pendant, @code{alignBelowContext} 
 +-- une fois que la portée a été créée, son alignement est décidé et cela
 +n'aurait aucun sens de vouloir le modifier par la suite. 
 +
 +Dans une clause @code{\with}, on peut aussi régler les valeurs par
 +défaut des propriétés d'un objet.  Il suffit d'utiliser la commande 
 +@code{\override} normale, sans s'occuper du nom de contexte 
 +puisqu'il ne fait pas de doute qu'il s'agit du contexte en cours de 
 +modification par la clause @code{\with}.  Il se produirait même une 
 +erreur si le contexte était précisé.
 +
 +Remplaçons donc l'exemple ci-dessus par celui-ci :
 +
- @cindex TimeSignature, exemple dérogation
++@cindex alignAboveContext, exemple d'utilisation de la propriété
 +@cindex @code{\with}, exemple
 +@cindex Clef, exemple de dérogation
- de phrasé ou de prolongation -- en général les objets étendus -- sont
++@cindex TimeSignature, exemple de dérogation
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +        % Don't print clefs in this staff
 +        \override Clef #'stencil = ##f
 +        % Don't print time signatures in this staff
 +        \override TimeSignature #'stencil = ##f
 +      }
 +        { f8 f c }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +Venons-en finalement au changement de taille des objets.
 +
 +Certains objets sont créés comme des glyphes choisis dans une police de
 +caractères.  C'est le cas des têtes de notes, des altérations, des
 +@emph{markup}, des clefs, des métriques, des nuances et des paroles.
 +Pour changer leur taille, on modifie la propriété @code{font-size},
 +comme nous le verrons rapidement.  D'autres objets, comme les liaisons
- @cindex alignAboveContext, exemple de propriété
++de phrasé ou de prolongation --- en général les objets étendus --- sont
 +dessinés à la demande, si bien qu'aucune @code{font-size} ne leur est
 +associée.  Ces objets tirent généralement leur dimension des objets
 +auxquels ils sont rattachés, de sorte qu'on ne doit pas avoir à les
 +redimensionner à la main.  D'autres propriétés, comme la hauteur des
 +hampes et des barres de mesure, l'épaisseur des ligatures et d'autres
 +lignes, et l'écartement des lignes de portée, doivent encore être
 +modifiées de façon particulière. 
 +
 +Si l'on revient à l'exemple d'ossia, commençons par changer la taille de
 +police.  Nous pouvons employer deux méthodes.  Soit nous changeons la
 +taille de police de chaque type d'objet avec des commandes comme 
 +celle-ci pour les têtes de notes (@code{NoteHead}) :
 +
 +@example
 +\override NoteHead #'font-size = #-2
 +@end example
 +
 +soit nous changeons la taille de toutes les polices à la fois grâce à la 
 +propriété @code{fontSize}, en utilisant @code{\set} ou en l'insérant 
 +dans une clause @code{\with} (mais alors sans le @code{\set}).
 +
 +@example
 +\set fontSize = #-2
 +@end example
 +
 +Chacune de ces méthodes réduira la taille de police de deux points par 
 +rapport à sa valeur précédente, sachant que chaque point réduit ou 
 +augmente la taille d'environ 12 %.
 +
 +Essayons sur l'exemple d'ossia :
 +
- @cindex fontSize, exemple de propriété
++@cindex alignAboveContext, exemple d'utilisation de la propriété
 +@cindex @code{\with}, exemple
 +@cindex Clef, exemple de dérogation
 +@cindex TimeSignature, exemple de dérogation
- portée -- plus rarement, il est question de demi-intervalles de lignes.  
++@cindex fontSize, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +        \override Clef #'stencil = ##f
 +        \override TimeSignature #'stencil = ##f
 +        % Reduce all font sizes by ~24%
 +        fontSize = #-2
 +      }
 +        { f8 f c }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +Ce n'est pas encore parfait.  Les têtes de notes et les crochets sont
 +plus petits mais, proportionnellement, les hampes sont trop longues et
 +les lignes de portée trop espacées.  Il faut donc les réduire dans les
 +mêmes proportions que les polices de caractères.  La prochaine
 +sous-section montrera comment faire. 
 +
 +@node Length and thickness of objects
 +@subsection Length and thickness of objects
 +
 +@cindex distance
 +@cindex épaisseur
 +@cindex longueur
 +@cindex magstep
 +@cindex taille, modification
 +@cindex hampe, modification de longueur
 +@cindex écartement des lignes, modification
 +
 +Dans LilyPond, les écartements et longueurs sont généralement mesurés en
 +@qq{intervalles de lignes} (@emph{staff-spaces} en anglais),
 +c'est-à-dire l'écartement qui sépare deux lignes adjacentes dans la
- spéciale appelée @code{magstep} -- pseudo facteur de zoom --, créée
++portée --- plus rarement, il est question de demi-intervalles de lignes.  
 +Les propriétés d'épaisseur (@code{thickness}), quant à elles, sont
 +généralement mesurées en unités d'une propriété interne appelée
 +@qq{épaisseur de ligne} (@code{line-thickness}).  Par exemple, les
 +lignes de crescendo/decrescendo présentent par défaut une épaisseur de 1
 +unité de @code{line-thickness}, alors que l'épaisseur d'une hampe est de
 +1,3.  Toutefois, certaines propriétés d'épaisseur sont différentes : par
 +exemple, l'épaisseur des ligature se mesure en espaces de portée. 
 +
 +Dans ces conditions, comment ajuster les longueurs à la taille des 
 +polices de caractères ?  La solution consiste à utiliser une fonction 
- @cindex alignAboveContext, exemple de propriété
++spéciale appelée @code{magstep} --- pseudo facteur de zoom ---, créée
 +précisément dans ce but.  Elle comporte un argument, le changement de
 +taille de police (#-2 dans l'exemple précédent), à partir duquel elle
 +applique un facteur de mise à l'échelle qui réduit, ou augmente, les
 +objets en proportion.  Voici comment elle s'utilise : 
 +
- @cindex fontSize , exemple de propriété
++@cindex alignAboveContext, exemple d'utilisation de la propriété
 +@cindex @code{\with}, exemple
 +@cindex Clef, exemple de dérogation
 +@cindex TimeSignature, exemple de dérogation
- @cindex staff-space, exemple de propriété
- @cindex stencil, exemple de propriété
++@cindex fontSize , exemple d'utilisation de la propriété
 +@cindex StaffSymbol, exemple de dérogation
 +@cindex magstep, exemple d'utilisation de la fonction
- remarquerez que cela n'affecte que la dimension verticale de l'ossia --
++@cindex staff-space, exemple d'utilisation de la propriété
++@cindex stencil, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\new Staff ="main" {
 +  \relative g' {
 +    r4 g8 g c4 c8 d |
 +    e4 r8
 +    <<
 +      { f c c }
 +      \new Staff \with {
 +        alignAboveContext = #"main"
 +        \override Clef #'stencil = ##f
 +        \override TimeSignature #'stencil = ##f
 +        fontSize = #-2
 +        % Reduce stem length and line spacing to match
 +        \override StaffSymbol #'staff-space = #(magstep -2)
 +      }
 +        { f8 f c }
 +    >>
 +    r4 |
 +  }
 +}
 +@end lilypond
 +
 +@noindent
 +Puisque la longueur des hampes et plusieurs autres propriétés de
 +longueur sont calculées par rapport à la valeur de la propriété
 +@code{staff-space}, elles sont automatiquement mises à l'échelle.  Vous 
- @cindex within-staff objects
- @cindex outside-staff objects
- @cindex objects, within-staff
- @cindex objects, outside-staff
++remarquerez que cela n'affecte que la dimension verticale de l'ossia ---
 +la dimension horizontale étant déterminée par les objets de la portée
 +principale de façon à rester synchronisée vis-à-vis d'elle, elle n'est
 +pas affectée par tous ces changements de taille.  Bien sûr, si l'échelle
 +de toute la portée principale était modifiée, tout le placement
 +horizontal s'en trouverait affecté.  Il en sera question plus bas dans
 +cette section. 
 +
 +Voilà qui complète la création d'une ossia. Les tailles et longueurs de tous 
 +les objets peuvent être modifiées de manière analogue.
 +
 +Pour de petits changements d'échelle, comme dans l'exemple ci-dessus, il
 +n'est généralement pas utile d'ajuster l'épaisseur des différentes
 +lignes telles que les barres de mesure, les ligatures, les soufflets de
 +crescendo/decrescendo, les liaisons, etc.  Si l'épaisseur d'un objet en
 +particulier doit être ajustée, le mieux est de modifier sa propriété
 +@code{thickness}.  Nous avons vu plus haut, dans 
 +@ref{Properties of layout objects}, un exemple de modification de
 +l'épaisseur des liaisons.  L'épaisseur de tous les objets tracés
 +(c'est-à-dire ceux qui ne proviennent pas d'une police de caractère)
 +peut être changée de la même manière. 
 +
 +@node Placement of objects
 +@section Placement of objects
 +
 + @menu
 +* Automatic behavior::          
 +* Within-staff objects::        
 +* Outside staff objects::       
 +@end menu
 +
 +@node Automatic behavior
 +@subsection Automatic behavior
 +
- appelle respectivement les @q{objets de la portée} (@emph{within-staff
- objects} en anglais) et les @q{objets extérieurs à la portée}
++@cindex objets de la portée
++@cindex objets extérieurs à la portée
++@cindex portée, objets de la
++@cindex portée, objets extérieurs à la
 +
 +Dans la notation musicale, il y a des objets qui appartiennent à la 
 +portée et d'autres qui sont placés à l'extérieur de la portée. On les 
- -- les têtes de notes et les hampes, les altérations, etc.  Leur
- position est généralement déterminée par la musique elle-même -- ils
++appelle respectivement les @qq{objets de la portée} (@emph{within-staff
++objects} en anglais) et les @qq{objets extérieurs à la portée}
 +(@emph{outside-staff objects}en anglais). 
 +
 +Les objets de la portée sont ceux qui sont placés sur la portée 
- défaut des hampes -- celles des notes les plus hautes pointant vers le
++--- les têtes de notes et les hampes, les altérations, etc.  Leur
++position est généralement déterminée par la musique elle-même --- ils
 +sont placés verticalement sur des lignes spécifiques ou sont liés à
 +d'autres objets placés de cette manière.  Normalement, les collisions
 +entre les têtes et queues de notes et les altérations dans des accords
 +proches sont évitées automatiquement.  Comme nous le verrons rapidement,
 +il existe des commandes et des possibilités de retouches qui permettent
 +de modifier ce comportement automatique. 
 +
 +Parmi les objets extérieurs à la portée, on compte des éléments comme
 +les marques de reprise, les indications de texte ou de nuances.  Dans
 +LilyPond, la règle est de placer verticalement ces objets extérieurs à
 +la portée le plus près possible de la portée, tout en évitant la
 +collision avec d'autres objets.  LilyPond utilise la propriété
 +@code{outside-staff-priority} pour déterminer l'ordre selon lequel
 +placer ces objets, de la manière suivante : 
 +
 +D'abord, LilyPond dresse la liste de tous les objets extérieurs à la
 +portée.  Puis ceux-ci sont classés suivant leur
 +@code{outside-staff-priority}.  Enfin, ils sont pris un par un, en 
 +commençant par les objets avec la @code{outside-staff-priority} la plus
 +basse, et placés de façon à ne pas entrer en collision avec d'autres
 +objets déjà placés.  Cela signifie que, si deux @emph{grobs} extérieurs
 +à la portée doivent occuper la même place, c'est celui qui a la
 +@code{outside-staff-priority} la plus basse qui est placé le plus près
 +de la portée.  Et si deux objets ont la même
 +@code{outside-staff-priority}, le premier rencontré sera placé le plus
 +près de la portée.  
 +
 +Dans l'exemple suivant, tous les @emph{markup} ont la même priorité, 
 +dans la mesure où rien n'est indiqué explicitement.  Vous remarquerez
 +que @code{Text3} est également positionné près de la portée, juste
 +en-dessous de @code{Text2}. 
 +
 +@cindex markup, exemple
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +c2^"Text1"
 +c^"Text2"
 +c^"Text3"
 +c^"Text4"
 +@end lilypond
 +
 +Les portées aussi sont positionnées, par défaut, le plus près possible 
 +les unes des autres, en ménageant tout de même une certaine séparation.
 +Si des notes se rapprochent nettement d'une portée adjacente, elles ne
 +forceront les portées à s'écarter que s'il y a un risque de
 +chevauchement.  
 +
 +@lilypond[quote,ragged-right,verbatim]
 +<<
 +  \new Staff {
 +    \relative c' { c a, }
 +  }
 +  \new Staff {
 +    \relative c'''' { c a, }
 +  }
 +>>
 +@end lilypond 
 +
 +
 +@node Within-staff objects
 +@subsection Within-staff objects
 +
 +Nous avons vu que les commandes @code{\voiceXXX} jouent sur la 
 +direction des liaisons, des doigtés et sur toute autre chose liée à 
 +l'orientation des queues de notes. Ces commandes sont essentielles dans 
 +la musique polyphonique pour distinguer des lignes mélodiques 
 +entremêlées.  Mais il arrive qu'on ait besoin de modifier ce comportement 
 +automatique.  On peut le faire pour toutes les parties de la musique ou 
 +juste pour une note.  La propriété qui contrôle ce comportement est la 
 +propriété @code{direction} de chaque objet.  Expliquons d'abord ce 
 +qu'elle fait, puis nous présenterons un certain nombre de commandes 
 +déjà prêtes qui évitent, pour les modifications les plus courantes, 
 +d'avoir à encoder les retouches. 
 +
 +Certains objets comme les traits des liaisons se recourbent tantôt 
 +vers le haut, tantôt vers le bas ; d'autres encore, comme les hampes 
 +et les crochets, peuvent se décaler vers la gauche ou vers la droite 
 +selon qu'ils pointent vers le haut ou vers le bas.  Ce comportement est 
 +géré automatiquement dès lors que @code{direction} est activé. 
 +
 +@cindex down
 +@cindex up
 +@cindex center
 +@cindex neutral
 +
 +L'exemple ci-dessous montre dans la première mesure le comportement par 
- @cindex direction, exemple de propriété
++défaut des hampes --- celles des notes les plus hautes pointant vers le
 +bas et celles des notes les plus basses pointant vers le haut ; viennent
 +ensuite quatre notes avec les hampes forcées vers le bas, puis quatre
 +autres avec les hampes forcées vers le haut, et pour finir quatre notes
 +de nouveau avec le comportement par défaut. 
 +
 +@cindex Stem, exemple de dérogation
- pour les hampes, et comme un @q{centré} pour d'autres objets.  Il
++@cindex direction, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +a4 g c a
 +\override Stem #'direction = #DOWN
 +a g c a
 +\override Stem #'direction = #UP
 +a g c a
 +\revert Stem #'direction
 +a g c a
 +@end lilypond
 +
 +Nous utilisons ici les directions @code{DOWN} et @code{UP}.  Elles 
 +correspondent respectivement aux valeurs @code{-1} et @code{+1}, 
 +que l'on peut utiliser à la place.  La valeur @code{0} peut aussi être 
 +utilisée dans certains cas.  Elle est interprétée comme un @code{UP} 
- @cindex direction, exemple de propriété
++pour les hampes, et comme un @qq{centré} pour d'autres objets.  Il
 +existe une direction, @code{CENTER}, qui correspond à la valeur
 +@code{0}. 
 +
 +Quoi qu'il en soit, ces retouches manuelles sont rarement utilisées car
 +il existe des équivalents sous forme de commandes prédéfinies.  Voici un
 +tableau des plus courantes.  Lorsque ce n'est pas évident, leur
 +signification est précisée. 
 +
 +@multitable @columnfractions .2 .2 .25 .35
 +@headitem Bas/Gauche
 +  @tab Haut/Droite
 +  @tab Annulation
 +  @tab Effet
 +@item @code{\arpeggioArrowDown}
 +  @tab @code{\arpeggioArrowUp}
 +  @tab @code{\arpeggioNormal}
 +  @tab Flèche en bas, en haut, ou pas de flèche
 +@item @code{\dotsDown}
 +  @tab @code{\dotsUp}
 +  @tab @code{\dotsNeutral}
 +  @tab Déplacement des points pour éviter les lignes de portée
 +@item @code{\dynamicDown}
 +  @tab @code{\dynamicUp}
 +  @tab @code{\dynamicNeutral}
 +  @tab
 +@item @code{\phrasingSlurDown}
 +  @tab @code{\phrasingSlurUp}
 +  @tab @code{\phrasingSlurNeutral}
 +  @tab Attention : à distinguer des commandes de liaison ci-dessous
 +@item @code{\slurDown}
 +  @tab @code{\slurUp}
 +  @tab @code{\slurNeutral}
 +  @tab
 +@item @code{\stemDown}
 +  @tab @code{\stemUp}
 +  @tab @code{\stemNeutral}
 +  @tab
 +@item @code{\textSpannerDown}
 +  @tab @code{\textSpannerUp}
 +  @tab @code{\textSpannerNeutral}
 +  @tab Le texte saisi en tant qu'extension est au-dessous/au-dessus de la portée
 +@item @code{\tieDown}
 +  @tab @code{\tieUp}
 +  @tab @code{\tieNeutral}
 +  @tab
 +@item @code{\tupletDown}
 +  @tab @code{\tupletUp}
 +  @tab @code{\tupletNeutral}
 +  @tab Les nolets sont au-dessous/au-dessus des notes
 +@end multitable
 +
 +Attention : ces commandes prédéfinies @strong{ne doivent pas} être
 +précédées de @code{\once}.  Pour limiter l'effet à une seule note, il
 +faut soit utiliser la commande équivalente @code{\once \override}, soit
 +utiliser la commande prédéfinie, suivie, après la note à modifier, de la
 +commande @code{\xxxNeutral} correspondante. 
 +
 +@subheading Fingering
 +
 +@cindex doigtés, positionnement
 +@cindex doigtés, accords
 +
 +Le placement des doigtés sur des notes simples peut aussi être contrôlé
 +par la propriété @code{direction}, mais le changement de
 +@code{direction} n'a pas d'effet sur les accords.  Comme nous le
 +verrons, il existe des commandes qui permettent de contrôler le doigté
 +sur chaque note d'un accord, en plaçant l'indication de doigté
 +au-dessus, en dessous, à gauche ou à droite de chaque note. 
 +
 +Tout d'abord, voici l'effet de @code{direction} sur le doigté lié à une
 +note simple.  La première mesure montre le comportement par défaut, et
 +les deux suivantes montrent l'effet lorsqu'on indique @code{DOWN} et
 +@code{UP} : 
 +
 +@cindex doigtés, exemple de dérogation
- chacune des notes d'un accord grâce à la commande @code{\set
- fingeringOrientations}.  La syntaxe de cette commande est :
++@cindex direction, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,relative=2]
 +c-5 a-3 f-1 c'-5
 +\override Fingering #'direction = #DOWN
 +c-5 a-3 f-1 c'-5
 +\override Fingering #'direction = #UP
 +c-5 a-3 f-1 c'-5
 +@end lilypond
 +
 +Le fait d'intervenir sur la propriété @code{direction} n'est sûrement
 +pas la façon la plus simple de placer manuellement les doigtés au-dessus
 +ou en dessous des notes ; mieux vaut utiliser @code{_} ou @code{^}
 +devant le chiffre de doigté plutôt que @code{-}.  Voici ce que donne
 +l'exemple précédent avec cette méthode : 
 +
 +@cindex doigtés, exemple
 +
 +@lilypond[quote,verbatim,relative=2]
 +c-5 a-3 f-1 c'-5
 +c_5 a_3 f_1 c'_5
 +c^5 a^3 f^1 c'^5
 +@end lilypond
 +
 +La propriété @code{direction} ne fonctionne pas pour les accords alors
 +que les préfixes de direction, @code{_} et @code{^}, fonctionnent.  Par
 +défaut, le doigté est placé automatiquement à la fois au-dessus et
 +au-dessous des notes d'un accord, comme ceci : 
 +
 +@cindex doigtés, exemple
 +
 +@lilypond[quote,verbatim,relative=2]
 +<c-5 g-3>
 +<c-5 g-3 e-2>
 +<c-5 g-3 e-2 c-1>
 +@end lilypond
 +
 +@noindent
 +mais il est possible de forcer manuellement vers le haut ou vers le bas le 
 +placement de tous ou certains chiffres de doigté, comme ceci :
 +
 +@cindex doigtés, exemple
 +
 +@lilypond[quote,verbatim,relative=2]
 +<c-5 g-3 e-2 c-1>
 +<c^5 g_3 e_2 c_1>
 +<c^5 g^3 e^2 c_1>
 +@end lilypond
 +
 +On peut aller encore plus loin dans le positionnement des doigtés pour
- @code{left} et @code{right} s'excluent l'un l'autre -- l'indication de
++chacune des notes d'un accord grâce à la commande
++@code{\set@tie{}fingeringOrientations}.  La syntaxe de cette commande
++est : 
 +
 +@example
 +@code{\set fingeringOrientations = #'([up] [left/right] [down])}
 +@end example
 +
 +@noindent
 +On utilise @code{\set} car @code{fingeringOrientations} est une propriété 
 +du contexte @code{Voice}, créée et utilisée par le graveur 
 +@code{New_fingering_engraver}.
 +
 +On peut attribuer à cette propriété une liste composée de une à trois 
 +valeurs.  Celles-ci déterminent si l'indication de doigté doit être
 +placée au-dessus (lorsque @code{up} apparaît dans la liste), au-dessous
 +(lorsque @code{down} apparaît), à gauche (lorsque @code{left} apparaît)
 +ou à droite (lorsque @code{right} apparaît).  En revanche, si une valeur
 +n'est pas sur la liste, aucun doigté n'ira à cet emplacement.  LilyPond
 +garde ces contraintes en mémoire et recherche le meilleur emplacement
 +pour le doigté des notes des accords suivants.  Vous remarquerez que
- @warning{Ppour contrôler à l'aide de cette commande le placement du
++@code{left} et @code{right} s'excluent l'un l'autre --- l'indication de
 +doigté ne peut être placée que d'un côté ou de l'autre, pas des deux. 
 +
- @cindex fingeringOrientations, exemple de propriété
++@warning{Pour contrôler à l'aide de cette commande le placement du
 +doigté sur une note simple, il faut la saisir comme un accord composé
 +d'une note unique, en l'encadrant de chevrons.}
 +
 +Voici quelques exemples : 
 +
 +@cindex doigtés, exemple
 +@cindex @code{\set}, exemple d'utilisation
- @cindex text spanner
- @cindex ottava bracket
++@cindex fingeringOrientations, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left down)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(right)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +@end lilypond
 +
 +@noindent
 +Si les indications de doigtés paraissent un peu serrées, on peut 
 +toujours réduire la taille de police (@code{font-size}).  La valeur 
 +par défaut donnée dans la RPI à la page de l'objet 
 +@code{Fingering} étant @code{-5}, essayons @code{-7} :
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +\override Fingering #'font-size = #-7
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left down)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(up left)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +\set fingeringOrientations = #'(right)
 +<f-2>
 +< c-1  e-2 g-3 b-5 > 4
 +@end lilypond
 +
 +
 +@node Outside staff objects
 +@subsection Outside staff objects
 +
 +Les objets extérieurs à la portée sont placés automatiquement de façon à
 +éviter les collisions.  Les objets avec la plus petite valeur de la
 +propriété @code{outside-staff-priority} sont placés au plus près de la
 +portée, tandis que les autres sont écartés autant qu'il faut pour éviter
 +les collisions.  La @code{outside-staff-priority} est définie dans la
 +@code{grob-interface} ; elle est donc une propriété commune à tous les
 +objets de rendu.  Par défaut, elle est réglée sur @code{#f} pour tous
 +les objets de la portée, et porte une valeur numérique appropriée à
 +chacun des objets extérieurs à la portée, à mesure qu'ils sont créés.
 +Le tableau suivant montre la valeur numérique par défaut pour
 +quelques-uns des objets extérieurs à la portée les plus courants qui
 +sont placés, par défaut, dans les contextes @code{Staff} ou
 +@code{Voice}. 
 +
 +@multitable @columnfractions .3 .3 .3
 +@headitem Objet de rendu
 +  @tab Priorité 
 +  @tab Contrôle la position de :
 +@item @code{MultiMeasureRestText}
 +  @tab @code{450}
 +  @tab Texte sur les silences qui couvrent des mesures entières 
 +@item @code{TextScript}
 +  @tab @code{450}
 +  @tab Texte des @emph{markup} (ou étiquettes)
 +@item @code{OttavaBracket}
 +  @tab @code{400}
 +  @tab Indication d'octaviation
 +@item @code{TextSpanner}
 +  @tab @code{350}
 +  @tab Bandeau ou extension de texte
 +@item @code{DynamicLineSpanner}
 +  @tab @code{250}
 +  @tab Toutes les marques de nuances
 +@item @code{VoltaBracketSpanner}
 +  @tab @code{100}
 +  @tab Bandeau de répétition
 +@item @code{TrillSpanner}
 +  @tab @code{50}
 +  @tab Bandeau de trille
 +@end multitable
 +
 +Voici un exemple qui montre le placement par défaut de certains 
 +d'entre eux.
 +
- @cindex bound-details, exemple de propriété
++@cindex extension de texte
++@cindex indication d'octaviation
 +
 +@funindex \startTextSpan
 +@funindex startTextSpan
 +@funindex \stopTextSpan
 +@funindex stopTextSpan
 +
 +@cindex TextSpanner, exemple de dérogation
- @code{Bar_number_engraver}, le @code{Metronome_mark_engraver} oule
- @code{Mark_engraver} du contexte @code{Score} et les placer en haut du
++@cindex bound-details, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +% Set details for later Text Spanner
 +\override TextSpanner #'bound-details #'left #'text
 +    = \markup { \small \bold Slower }
 +% Place dynamics above staff
 +\dynamicUp
 +% Start Ottava Bracket
 +\ottava #1
 +c' \startTextSpan
 +% Add Dynamic Text
 +c\pp
 +% Add Dynamic Line Spanner
 +c\<
 +% Add Text Script
 +c^Text
 +c c
 +% Add Dynamic Text
 +c\ff c \stopTextSpan
 +% Stop Ottava Bracket
 +\ottava #0
 +c, c c c
 +@end lilypond
 +
 +Cet exemple montre comment créer des extensions de texte (@emph{Text
 +Spanners} en anglais ) -- texte avec des longues lignes au-dessus d'un
 +passage musical.  L'extension s'étend depuis la commande
 +@code{\startTextSpan} jusqu'à la commande @code{\stopTextSpan} et le
 +format de texte est défini par la commande @code{\override TextSpanner}.
 +Pour de plus amples détails, voir @ruser{Text spanners}.
 +
 +Il montre aussi comment créer des marques d'octaviation.
 +
 +@cindex modification du positionnement des numéros de mesure
 +@cindex numéros de mesure, modification du positionnement
 +@cindex modification du positionnement des indications métronomiques
 +@cindex indications métronomiques, modification du positionnement
 +@cindex modification du positionnement des marques de repère
 +@cindex marques de repère, modification du positionnement
 +
 +Vous aurez remarqué que les numéros de mesure, l'indication métronomique
 +et les marques de répétition n'apparaissent pas.  Par défaut, ils sont
 +créés dans le contexte @code{Score} et leur
 +@code{outside-staff-priority} est ignorée face aux objets qui sont créés
 +dans le contexte @code{Staff}.  Si vous voulez faire apparaître les
 +numéros de mesure, l'indication métronomique ou les marques de
 +répétition conformément à la valeur de leur
 +@code{outside-staff-priority}, il vous faudra retirer respectivement le
- @cindex bound-details, exemple de propriété
++@code{Bar_number_engraver}, le @code{Metronome_mark_engraver} ou le
++@code{Mark_engraver} du contexte @code{Score} et les placer en tête du
 +contexte @code{Staff}.  Après quoi ces marques porteront les valeurs de 
 +@code{outside-staff-priority} par défaut suivantes : 
 +
 +@multitable @columnfractions .3 .3
 +@headitem Objet de rendu          @tab Priorité
 +@item @code{RehearsalMark}        @tab @code{1500}
 +@item @code{MetronomeMark}        @tab @code{1000}
 +@item @code{BarNumber}            @tab @code{ 100}
 +@end multitable
 +
 +Si les valeurs de @code{outside-staff-priority} par défaut ne donnent
 +pas les résultats que vous attendez, il suffit de modifier la priorité
 +de l'un de ces objets.  Supposons que vous vouliez placer l'indication
 +d'octaviation sous le bandeau de texte, dans l'exemple précédent.  Tout
 +ce que nous devons faire, c'est regarder la priorité de
 +@code{OttavaBracket} dans la RPI ou dans le tableau plus haut, et la
 +ramener à une valeur plus basse que celle de @code{TextSpanner}, en
 +gardant à l'esprit que @code{OttavaBracket} est créé dans le contexte
 +@code{Staff} : 
 +
 +@cindex TextSpanner, exemple de dérogation
- @cindex outside-staff-priority, exemple de propriété
++@cindex bound-details, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +% Set details for later Text Spanner
 +\override TextSpanner #'bound-details #'left #'text
 +    = \markup { \small \bold Slower }
 +% Place dynamics above staff
 +\dynamicUp
 +%Place following Ottava Bracket below Text Spanners
 +\once \override Staff.OttavaBracket #'outside-staff-priority = #340
 +% Start Ottava Bracket
 +\ottava #1
 +c' \startTextSpan
 +% Add Dynamic Text
 +c\pp
 +% Add Dynamic Line Spanner
 +c\<
 +% Add Text Script
 +c^Text
 +c c
 +% Add Dynamic Text
 +c\ff c \stopTextSpan
 +% Stop Ottava Bracket
 +\ottava #0
 +c, c c c
 +@end lilypond
 +
++@cindex liaisons et outside-staff-priority
++@cindex liaisons et articulations
++@cindex articulations et liaisons
++
++Les liaisons sont intrinsèquement des objets membres de la portée
++(@emph{within-staff objects}) bien qu'elles la surplombent lorsque les
++notes auxquelles elles se rattachent sont relativement hautes.  Ceci
++peut avoir pour conséquence de remonter d'autant les objets externes
++(@emph{outside-staff objects}) tels les articulations.  La propriété
++@code{avoid-slur} de l'articulation en question peut se voir déterminée
++à @code{'inside} dans le but de @qq{ramener} cette articulation à
++l'intérieur de la liaison.  Cette propriété @code{avoid-slur} ne sera
++toutefois effective que dans la mesure où la
++@code{outside-staff-priority} est désactivée (valeur @code{#f}).  Dans
++le même esprit, il est possible d'affecter un valeur numérique
++particulière à la propriété @code{outside-staff-priority} d'une
++liaison dans le but de regrouper la liaison avec les objets externes.
++L'exemple suivant illustre ces deux différentes méthodes.
++
++@lilypond[quote,verbatim,relative=2]
++c4( c^\markup\tiny\sharp d4.) c8
++c4(
++\once \override TextScript #'avoid-slur = #'inside
++\once \override TextScript #'outside-staff-priority = ##f
++c^\markup\tiny\sharp d4.) c8
++\once \override Slur #'outside-staff-priority = #500
++c4( c^\markup\tiny\sharp d4.) c8
++@end lilypond
++
 +Le fait de changer la @code{outside-staff-priority} peut aussi servir à
 +contrôler le positionnement vertical des objets individuels, quoique le
 +résultat ne soit pas toujours formidable.  Imaginons que nous voulions
 +placer @qq{Text3} au-dessus de @qq{Text4} dans l'exemple de la section
 +Comportement automatique, plus haut (voir @ref{Automatic behavior}).  Il
 +nous suffit pour cela de regarder dans la RPI ou dans le tableau plus
 +haut la priorité de @code{TextScript}, et d'augmenter la priorité de
 +@qq{Text3} jusqu'à une valeur très haute : 
 +
 +@cindex TextScript, exemple de dérogation
- @cindex markup text, allowing collisions
++@cindex outside-staff-priority, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +c2^"Text1"
 +c^"Text2"
 +\once \override TextScript #'outside-staff-priority = #500
 +c^"Text3"
 +c^"Text4"
 +@end lilypond
 +
 +S'il est vrai que cela place @qq{Text3} au-dessus de @qq{Text4}, ça le
 +place aussi plus haut que @qq{Text2} tandis que @qq{Text4} dégringole.
 +Ce n'est peut-être pas si bien que ça.  En fait, ce que nous aimerions
 +faire, c'est placer toutes les annotations à égale distance de la
 +portée.  Pour cela, nous avons besoin d'espacer horizontalement les
 +notes pour laisser plus de place au texte.  C'est possible grâce à la
 +commande @code{textLengthOn}. 
 +
 +@subheading \textLengthOn
 +
 +@cindex notes, répartition selon le texte
 +
 +@funindex \textLengthOn
 +@funindex textLengthOn
 +@funindex \textLengthOff
 +@funindex textLengthOff
 +
 +Par défaut, l'espacement horizontal d'un texte produit sous forme de
 +@emph{markup} (ou d'étiquette) n'est pas pris en compte, dans la mesure
 +où ce qui est concerné n'entre pas dans la musique.  La commande
 +@code{\textLengthOn} inverse ce comportement, faisant en sorte que les
 +notes soient espacées autant qu'il faut pour s'adapter au texte :  
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\textLengthOn  % Cause notes to space out to accommodate text
 +c2^"Text1"
 +c^"Text2"
 +c^"Text3"
 +c^"Text4"
 +@end lilypond  
 +
 +La commande qui permet de revenir au comportement par défaut est 
 +@code{\textLengthOff}.  Rappelez-vous que @code{\once} ne 
 +fonctionne qu'avec @code{\override}, @code{\set}, @code{\revert} ou 
 +@code{\unset}, et donc ne peut pas être utilisé avec 
 +@code{\textLengthOn}.
 +
- @cindex outside-staff-priority, exemple de propriété
++@cindex étiquette de texte et collision
 +
 +Les textes des @emph{markup} éviteront également les notes qui
 +s'échappent au-dessus de la portée.  Si ce n'est pas notre souhait, il
 +est possible de supprimer ce déplacement automatique vers le haut en
 +attribuant à la priorité la valeur @code{#f}.  Voici un exemple qui
 +montre comment les textes des @emph{markup} interagissent avec ces types
 +de notes. 
 +
 +@cindex TextScript, exemple de dérogation
- @cindex DynamicText, example of overriding
- @cindex extra-spacing-width property, example
++@cindex outside-staff-priority, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +% This markup is short enough to fit without collision
 +c2^"Tex"
 +c''2
 +R1
 +% This is too long to fit, so it is displaced upwards
 +c,,2^"Text"
 +c''2
 +R1
 +% Turn off collision avoidance
 +\once \override TextScript #'outside-staff-priority = ##f
 +c,,2^"Long Text   "
 +c''2
 +R1
 +% Turn off collision avoidance
 +\once \override TextScript #'outside-staff-priority = ##f
 +\textLengthOn  % and turn on textLengthOn
 +c,,2^"Long Text   "  % Spaces at end are honored
 +c''2
 +@end lilypond
 +
 +
 +@subheading Dynamics
 +
 +@cindex modifier le positionnement des nuances
 +@cindex nuances, modifier le positionnement
 +
 +Les indications de nuances se placent normalement sous la portée mais on
 +peut les placer au-dessus avec la commande @code{dynamicUp}.  Elles se
 +positionnent verticalement par rapport à la note à laquelle elles sont
 +liées et se décalent vers le bas (ou le haut) en fonction des objets de
 +la portée comme les liaisons de phrasé ou les numéros de mesure.  Cela
 +peut donner d'assez bons résultats, comme le montre cet exemple : 
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
 +\clef "bass"
 +\key aes \major
 +\time 9/8
 +\dynamicUp
 +bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
 +ees,2.~\)\mf ees4 r8 |
 +@end lilypond
 +
 +De toute façon, si les notes et les nuances qui leur sont liées sont 
 +trop proches, le positionnement automatique évitera les collisions en  
 +déplaçant davantage les nuances suivantes, mais le résultat peut ne 
 +pas être très satisfaisant, comme le montre cet exemple artificiel : 
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +@noindent
 +Si une telle situation devait survenir dans de la musique @qq{réelle},
 +il serait préférable d'espacer un peu plus les notes, de façon que les
 +indications de nuance puissent toutes se situer à la même distance de la
 +portée.  Il était possible de faire cela pour les textes de
 +@emph{markup} grâce à la commande @code{\textLengthOn} mais il n'existe
 +pas d'équivalent pour les indications de nuance.  Il nous faut donc
 +chercher à faire cela avec la commande @code{\override}. 
 +
 +@subheading Grob sizing
 +
 +@cindex grob, dimensionnement
 +@cindex dimensionnement des grobs
 +
 +Tout d'abord, nous devons apprendre ce qui détermine la dimension des 
 +grobs. Tous les grobs portent en eux un point de référence qui est 
 +utilisé pour les positionner par rapport à leur objet parent. Ce point du 
 +grob est placé à une distance horizontale, @code{X-offset}, 
 +et à une distance verticale, @code{Y-offset}, de son parent. 
 +L'étendue horizontale de l'objet est fixée par une paire de 
 +nombres, @code{X-extent}, qui donnent la position du coin 
 +gauche et du coin droit par rapport au point de référence.  De 
 +même, l'étendue verticale est fixée par une paire de nombre, 
 +@code{Y-extent}. Ce sont des propriétés communes à tous les 
 +grobs et que gère la @code{grob-interface}.
 +
 +@cindex @code{extra-spacing-width}
 +
 +Par défaut, la largeur des objets extérieurs à la portée est donnée 
 +comme étant nulle, si bien qu'ils peuvent se chevaucher 
 +horizontalement. Pour arriver à cela, on a ajouté l'infini à 
 +l'extension gauche et moins l'infini à l'extension droite, en 
 +attribuant à @code{extra-spacing-width} la valeur
 + @code{'(+inf.0 . -inf.0)}. Pour être sûr que les objets ne se 
 +chevaucheront pas horizontalement, nous devons donc corriger 
 +cette valeur de @code{extra-spacing-width} en @code{'(0 . 0)}, 
 +afin que leur vraie largeur se manifeste. La commande pour y 
 +parvenir avec des indications de nuances est : 
 +
 +@example
 +\override DynamicText #'extra-spacing-width = #'(0 . 0)
 +@end example
 +
 +@noindent
 +Voyons si ça marche sur notre exemple précédent :
 +
- @cindex DynamicText, example of overriding
- @cindex extra-spacing-width property, example
++@cindex DynamicText, exemple de dérogation
++@cindex extra-spacing-width, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +\override DynamicText #'extra-spacing-width = #'(0 . 0)
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +@noindent
 +Bon, cela a mis un terme aux déplacements verticaux des 
 +nuances mais il reste deux problèmes. Il faudrait que les 
 +nuances soient un peu plus écartées et ce serait mieux si 
 +elles étaient toutes à la même distance de la portée. Le 
 +premier problème est simple à résoudre. Au lieu d'attribuer 
 +à @code{extra-spacing-width} la valeur zéro, nous pourrions 
 +mettre un peu plus. L'unité est la distance entre deux lignes 
 +de portée, donc en écartant le bord gauche d'une demi-unité 
 +et le bord droit d'une demi-unité, on obtient : 
 +
++@cindex DynamicText, exemple de dérogation
++@cindex extra-spacing-width, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +% Extend width by 1 staff space
 +\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +@noindent
 +C'est mieux mais nous voulons peut-être aligner les indications de 
 +nuances sur une même ligne plutôt que de les voir monter et 
 +descendre avec les notes. La propriété qui gère cela est 
 +@code{staff-padding} ; la section suivante lui est consacrée.
 +
 +
 +@node Collisions of objects
 +@section Collisions of objects
 +
- d'esthétique -- ils rendraient mieux avec un peu plus ou un peu moins 
 +@menu
 +* Moving objects::              
 +* Fixing overlapping notation::  
 +* Real music example::          
 +@end menu
 +
 +@node Moving objects
 +@subsection Moving objects
 +
++@cindex déplacement d'objets se chevauchant
++@cindex déplacement d'objets en collision
++@cindex déplacement de grobs en collision
++@cindex objets, évitement des collisions
++@cindex grobs, évitement des collisions
++
 +Aussi surprenant que cela puisse paraître, LilyPond n'est pas parfait.
 +Certains éléments sur la partition peuvent se chevaucher, ce qui est 
 +regrettable mais, le plus souvent, facile à corriger. En général, quand 
 +on déplace des objets, c'est pour des raisons de lisibilité ou 
- Il y a trois façons de résoudre les problèmes de chevauchement. Il est 
++d'esthétique --- ils rendraient mieux avec un peu plus ou un peu moins 
 +d'espace autour d'eux. 
 +
- positionner les objets, sont modifiables avec @code{\override}. Il y a deux 
++Il y a trois façons de résoudre les problèmes de chevauchement.  Il est 
 +préférable de les aborder dans l'ordre suivant :
 +
 +@enumerate
 +@item
 +L'@strong{orientation} d'un objet qui en chevauche un autre peut être 
 +changée grâce aux commandes prédéfinies dont la liste a été donnée 
 +plus haut à propos des objets de portée (voir @ref{Within-staff objects}). 
 +Les queues de notes, les liaisons de phrasé et de prolongation, les 
 +crochets, les nuances et les nolets peuvent facilement être repositionnés 
 +de cette manière. En contrepartie, vous n'avez le choix qu'entre deux 
 +positions, sans personnalisation possible.
 +
 +@item
 +Les @strong{propriétés d'objet}, auxquelles LilyPond a recours pour 
- type d'objet. Ces propriétés sont :
++positionner les objets, sont modifiables avec @code{\override}.  Il y a deux 
 +avantages à changer ces propriétés : (a) d'autres objets pourront être 
 +déplacés automatiquement si nécessaire pour faire de la place, et (b) 
 +la même retouche peut s'appliquer à toutes les occurrences du même 
- Ce point a déjà été traité en détails -- voir @ref{Within-staff objects}.
++type d'objet.  Ces propriétés sont :
 +
 +@itemize
 +
 +@item
 +@code{direction}
 +
- @cindex padding
- @cindex left-padding property
- @cindex padding property
- @cindex right-padding property
- @cindex staff-padding property
++Ce point a déjà été traité en détails --- voir @ref{Within-staff objects}.
 +
 +@item
 +@code{padding}, @code{left-padding},
 +@code{right-padding}, @code{staff-padding}
 +
- Pour trouver quelle propriété  @q{padding} employer pour l'objet que vous 
++@cindex décalage (padding)
++@cindex left-padding, propriété
++@cindex padding, propriété
++@cindex right-padding, propriété
++@cindex staff-padding, propriété
 +
 +Au moment de positionner un objet, la valeur de sa propriété 
 +@code{padding} détermine l'espace à laisser libre entre celui-ci et le 
 +coin le plus proche de l'objet à côté duquel il est placé. Vous remarquerez 
 +que c'est la valeur @code{padding} de l'objet @strong{à placer} qui 
 +compte ; la valeur @code{padding} de l'objet déjà placé est ignorée. 
 +Les espaces libres déterminés par @code{padding} s'appliquent à tous 
 +les objets associés à la @code{side-position-interface}.
 +
 +Le positionnement de groupes d'altérations est contrôlé par 
 +@code{left-padding} et @code{right-padding}, et non plus @code{padding}.
 +Ces propriétés appartiennent à l'objet @code{AccidentalPlacement}, qui, 
 +vous le remarquerez, prend place dans le contexte @strong{Staff}. Dans le 
 +processus de composition, les têtes de notes sont composées en premier, 
 +puis les altérations, s'il y en a, sont ajoutées à gauche des têtes de notes 
 +suivant la propriété @code{right-padding} qui détermine l'espacement par 
 +rapport aux têtes de notes. C'est pourquoi seule la propriété 
 +@code{right-padding} de l'objet @code{AccidentalPlacement} joue sur le 
 +positionnement des altérations. 
 +
 +La propriété @code{staff-padding} est très proche de la propriété 
 +@code{padding} : @code{padding} contrôle l'espace minimum entre un 
 +objet qui accepte la @code{side-position-interface} et l'objet le plus 
 +proche (généralement une note ou une ligne de portée) ; @code{staff-padding} 
 +ne s'applique qu'aux objets qui sont toujours placés en-dehors de la portée -- 
 +il contrôle l'espace minimum à insérer entre l'objet et la portée. Attention : 
 +par défaut, @code{staff-padding} concerne les objets positionnés par rapport 
 +à la portée et n'a aucun effet sur les objets qui sont positionnés par
 +rapport à une note ; il est toutefois possible de le régler pour
 +fonctionner avec ces derniers. 
 +
- la RPI. Prenez garde que les propriétés @q{padding} ne sont pas forcément 
++Pour trouver quelle propriété @code{padding} employer pour l'objet que vous 
 +cherchez à repositionner, il vous faut consulter les propriétés de l'objet dans 
- Toutes les valeurs @q{padding} sont exprimées en espaces de portée. 
++la RPI. Prenez garde que les propriétés @code{padding} ne sont pas forcément 
 +traitées dans l'objet en question ; il faut alors regarder les objets
 +qui semblent s'en rapprocher. 
 +
- @cindex self-alignment-X property
++Toutes les valeurs @code{padding} sont exprimées en espaces de portée. 
 +Pour la plupart des objets, la valeur par défaut est aux alentours de 1.0, 
 +parfois moins (cela dépend de chaque objet). Il est possible de la modifier 
 +lorsqu'on a besoin d'un espace vide plus grand (ou plus petit).
 +
 +
 +@item
 +@code{self-alignment-X}
 +
- @cindex extra-spacing-width property
++@cindex self-alignment-X,  propriété
++
 +Cette propriété sert à aligner les objets sur la gauche, sur la droite ou 
 +à les centrer par rapport au point de référence des objets parents. 
 +Elle peut être utilisée avec tous les objets qui acceptent la 
 +@code{self-alignment-interface}. Il s'agit, en général, des objets qui 
 +contiennent du texte. Les valeurs admises sont @code{LEFT}, 
 +@code{RIGHT} et @code{CENTER}. On peut aussi attribuer à 
 +la place une valeur numérique entre @code{-1} et @code{+1}, 
 +où @code{-1} signifie alignement sur la gauche, @code{+1} 
 +alignement sur la droite, et les nombres intermédiaires déplacent 
 +progressivement le texte de la gauche vers la droite. Des valeurs 
 +numériques supérieures à @code{1} sont également admises 
 +pour déplacer le texte encore plus loin vers la gauche, ou des 
 +valeurs inférieures à @code{-1} pour déplacer le texte encore 
 +plus loin vers la droite. Un écart de @code{1} en valeur 
 +correspond à un déplacement de la moitié de la longueur du 
 +texte.
 +
 +@item
 +@code{extra-spacing-width}
 +
- @cindex staff-position property
++@cindex extra-spacing-width, propriété
++
 +Cette propriété est utilisée pour tous les objets qui acceptent la 
 +@code{item-interface}. Elle reçoit deux nombres, le premier étant 
 +ajouté au bord gauche et le second au bord droit. Des nombres 
 +négatifs déplacent le coin vers la gauche, des nombres positifs 
 +vers la droite, si bien que pour élargir un objet, le premier nombre 
 +doit être négatif et le second positif. Attention : tous les objets 
 +n'acceptent pas forcément les deux nombres. Par exemple, l'objet 
 +@code{Accidental} ne retient que le premier nombre (coin gauche).
 +
 +
 +@item
 +@code{staff-position}
 +
- @cindex force-hshift property
++@cindex staff-position, propriété
++
 +@code{staff-position} est une propriété de la 
 +@code{staff-symbol-referencer-interface}, qui s'applique aux objets 
 +positionnés par rapport à la portée. Elle indique, en demi-espaces de 
 +portée, la position verticale des objets par rapport à la ligne médiane 
 +de la portée. C'est bien pratique pour résoudre des problèmes de 
 +collision entre des objets comme les silences valant mesure entière, 
 +les liaisons et les notes de différentes voix.
 +
 +@item
 +@code{force-hshift}
 +
- alors de colonnes de notes et un objet appelé @code{NoteColumn} 
- est créé pour placer les notes sur la colonne.
++@cindex force-hshift, propriété
++
 +Des notes très proches dans un accord, ou des notes simultanées dans 
 +différentes voix, peuvent être disposées sur deux colonnes, rarement 
 +plus, pour éviter que les têtes de notes ne se chevauchent. On parle 
- @cindex extra-offset property
++alors de colonnes (ou empilement) de notes et un objet appelé
++@code{NoteColumn} est créé pour placer les notes sur la colonne.
 +
 +La propriété @code{force-hshift} appartient à @code{NoteColumn} (en 
 +réalité à la @code{note-column-interface}). Le fait de la modifier permet 
 +de déplacer une colonne de notes selon l'unité appropriée aux colonnes 
 +de notes, à savoir la largeur des têtes de notes de la première voix. Son 
 +utilisation est réservée à des situations complexes dans lesquelles les 
 +commandes habituelles @code{\shiftOn} 
 +(voir @ref{Explicitly instantiating voices}) ne suffisent plus à résoudre les 
 +conflits. Elle est alors préférable à l'utilisation de la propriété 
 +@code{extra-offset}, dans la mesure où on n'a pas besoin d'exprimer 
 +la distance en espaces de portée et où le fait de déplacer les notes à 
 +l'intérieur ou à l'extérieur d'une @code{NoteColumn} affecte d'autres 
 +actions comme les fusionnements de notes.
 +
 +@end itemize
 +
 +@item
 +Pour terminer, quand toutes les autres méthodes ont échoué, il est 
 +possible de repositionner verticalement les objets à la main par rapport 
 +à la ligne médiane de la portée, ou en les déplaçant à une distance 
 +donnée vers une nouvelle position. Les inconvénients sont qu'il faut
 +individuellement pour chaque objet trouver les valeurs correctes de 
 +repositionnement, souvent par tâtonnement, et que, puisque le 
 +mouvement est opéré après que LilyPond a placé tous les autres 
 +objets, c'est à l'utilisateur de résoudre tous les problèmes de collisions 
 +qui pourraient survenir. Et le pire avec cette méthode est que, le jour 
 +où la musique est modifiée, il faut de nouveau rechercher les 
 +valeurs de repositionnement. Les propriétés à utiliser pour ce type de 
 +repositionnement manuel sont :
 +
 +
 +@table @code
 +@item extra-offset
 +
- @cindex positions property
++@cindex extra-offset, propriété
++
 +Cette propriété s'applique à tout objet acceptant la @code{grob-interface}. 
 +Elle reçoit une paire de nombre qui indiquent le déplacement supplémentaire 
 +dans le sens horizontal et vertical. Des nombres négatifs déplacent l'objet 
 +vers la gauche ou vers la droite. L'unité utilisée est l'espace de portée. Le 
 +déplacement supplémentaire intervient une fois que la composition des 
 +objets est achevée, si bien qu'un objet peut être repositionné à n'importe 
 +quel endroit sans que ça perturbe quoi que ce soit. 
 +
 +@item positions
 +
- la hauteur des barres de croches, des liaisons et des nolets. Elle est  
++@cindex positions, propriété
++
 +Cette propriété est très utile pour ajuster manuellement l'inclinaison et 
- @item Barres de croches             @tab @code{Beam}
++la hauteur des barres de ligature, des liaisons et des nolets. Elle est  
 +suivie de deux nombres qui donnent la position des bords gauche et 
 +droit des barres, liaisons, etc., par rapport à la ligne médiane de la 
 +portée. L'unité de référence est l'intervalle de lignes de portée. Attention 
 +toutefois au fait que les liaisons et phrasés ne peuvent pas être repositionnés 
 +n'importe où. LilyPond commence par dresser la liste des emplacements 
 +possibles pour les liaisons et choisit par défaut la liaison qui @qq{semble 
 +la meilleure}. Si la propriété @code{positions} a été retouchée, la 
 +liaison la plus proche de la position demandée sera retenue dans la 
 +liste.
 +@end table
 +
 +@end enumerate
 +
 +Il est possible qu'un objet ne dispose pas de toutes ces propriétés. Il 
 +est donc nécessaire de consulter la RPI pour vérifier quelles sont les 
 +propriétés disponibles pour l'objet en question. 
 +
 +Voici une liste d'objets les plus couramment impliqués dans les 
 +collisions, avec le nom de l'objet à consulter dans la RPI afin de trouver 
 +les propriétés à retoucher pour obtenir un déplacement.
 +
 +
 +@multitable @columnfractions .5 .5
 +@headitem Type d'objet              @tab Nom d'objet
 +@item Articulations                 @tab @code{Script}
- @cindex padding
- @cindex fixing overlapping notation
- @cindex overlapping notation
++@item Barres de ligature            @tab @code{Beam}
 +@item Doigté                        @tab @code{Fingering}
 +@item Liaisons de phrasé            @tab @code{Slur} 
 +@item Liaisons de prolongation      @tab @code{Tie}
 +@item Nolets                        @tab @code{TupletBracket}
 +@item Nuances (verticalement)       @tab @code{DynamicLineSpanner}
 +@item Nuances (horizontalement)     @tab @code{DynamicText}
 +@item Reprises / marques de texte   @tab @code{RehearsalMark}
 +@item Texte, p.ex. @code{^"texte"}  @tab @code{TextScript}
 +@end multitable
 +
 +
 +@node Fixing overlapping notation
 +@subsection Fixing overlapping notation
 +
 +Voyons maintenant comment les propriétés décrites dans la section 
 +précédente peuvent nous aider à résoudre les collisions. 
 +
 +@subheading padding property
 +
- @q{rembourrage}), on augmente (ou on diminue) la distance entre 
++@cindex décalage (padding)
++@cindex résolution des chevauchements de notation
++@cindex chevauchement de notation
 +
 +En jouant sur la propriété @code{padding} (littéralement 
- @cindex Script, example of overriding
- @cindex padding property, example
++@qq{rembourrage}), on augmente (ou on diminue) la distance entre 
 +des symboles qui sont imprimés au-dessus ou en dessous des notes. 
 +
- @cindex MetronomeMark, example of overriding
- @cindex padding property, example
++@cindex Script, exemple de dérogation
++@cindex padding, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,relative=1,verbatim]
 +c2\fermata
 +\override Script #'padding = #3
 +b2\fermata
 +@end lilypond
 +
- @cindex left-padding property
- @cindex right-padding property
++@cindex MetronomeMark, exemple de dérogation
++@cindex padding, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,relative=1,verbatim]
 +% This will not work, see below:
 +\override MetronomeMark #'padding = #3
 +\tempo 4=120
 +c1
 +% This works:
 +\override Score.MetronomeMark #'padding = #3
 +\tempo 4=80
 +d1
 +@end lilypond
 +
 +Vous remarquerez dans le second exemple à quel point il est important de 
 +préciser le nom du contexte qui contient l'objet. Puisque l'objet 
 +@code{MetronomeMark} appartient au contexte @code{Score}, le fait de 
 +modifier la propriété dans le contexte @code{Voice} passera inaperçu. 
 +Pour plus de détails, voir @ruser{Modifying properties}.
 +
 +Si on augmente la propriété @code{padding} d'un objet alors que celui-ci 
 +fait partie d'un ensemble d'objets positionnés en fonction de leur 
 +@code{outside-staff-priority}, cet objet sera déplacé, ainsi que tous les 
 +autres objets du groupe. 
 +
 +@subheading left-padding and right-padding
 +
- Pas une ne convient, et la seconde se solde même par une collision 
- entre les deux signes. 
++@cindex left-padding, propriété
++@cindex right-padding, propriété
 +
 +La propriété @code{right-padding} joue sur l'espacement entre une 
 +altération et la note sur laquelle elle porte. On ne l'utilise pas souvent, 
 +mais l'exemple ci-dessous montre une situation où elle est nécessaire. 
 +Imaginons que nous voulions faire apparaître un accord qui contienne 
 +à la fois un si bécarre et un si bémol. Pour qu'il n'y ait pas de doute, 
 +nous chercherions à précéder la note d'un signe bécarre et d'un signe 
 +bémol. Voici différentes tentatives pour y parvenir : 
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +<b bes>
 +<b! bes>
 +<b? bes>
 +@end lilypond
 +
- @cindex Accidental, example of overriding
- @cindex text property, example
- @cindex stencil property, example
- @cindex AccidentalPlacement, example of overriding
- @cindex right-padding property, example
++Aucune n'est satifaisante, et la seconde se solde même par une
++collision  entre les deux signes. 
 +
 +Une solution pour arriver à nos fins consiste à retoucher le stencil des 
 +altérations grâce à un markup qui contient les symboles bécarre et 
 +bémol, dans l'ordre que nous souhaitons, comme ceci :
 +
- qui ne sera par reprise par la suite. Le type de stencil est obligatoirement 
++@cindex Accidental, exemple de dérogation
++@cindex text, exemple d'utilisation de la propriété
++@cindex stencil, exemple d'utilisation de la propriété
++@cindex AccidentalPlacement, exemple de dérogation
++@cindex right-padding, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,ragged-right,verbatim]
 +naturalplusflat = \markup { \natural \flat }
 +\relative c'' {
 +  \once \override Accidental
 +    #'stencil = #ly:text-interface::print
 +  \once \override Accidental #'text = #naturalplusflat
 +  \once \override Score.AccidentalPlacement #'right-padding = #1.5
 +  <b bes>
 +}
 +@end lilypond
 +
 +@noindent
 +Cette méthode utilise, pour le stencil des altérations, une retouche 
- @cindex aligning objects on a baseline
- @cindex objects, aligning on a baseline
++qui ne sera pas reprise par la suite. Le type de stencil est obligatoirement 
 +une procédure, qui consiste ici à imprimer le contenu de la propriété 
 +@code{text} de @code{Accidental}, déclaré comme étant un signe 
 +bécarre suivi d'un signe bémol. Celui-ci est ensuite repoussé devant la 
 +tête de note par la retouche de @code{right-padding}.
 +
 +@noindent
 +
 +@subheading staff-padding property
 +
- @cindex DynamicText, example of overriding
- @cindex extra-spacing-width property, example
- @cindex DynamicLineSpanner, example of overriding
- @cindex staff-padding property, example
++@cindex alignement d'objets sur une ligne de base
++@cindex objets, alignement sur une ligne de base
 +
 +@code{staff-padding} sert à aligner des objets tels que des nuances 
 +sur une ligne fictive à une hauteur donnée par rapport à la portée, plutôt 
 +qu'à une hauteur qui varie en fonction de la position de la note sur laquelle 
 +porte l'objet. Ce n'est pas une propriété de @code{DynamicText} mais de 
 +@code{DynamicLineSpanner}. Car la ligne fictive est destinée à s'appliquer 
 +autant à @strong{toutes} les nuances, notamment celles qui sont créées 
 +comme des bandeaux en longueur (en anglais @q{Spanners}). Tel est donc 
 +le moyen d'aligner les indications de nuances, comme dans cet exemple 
 +repris de la section précédente : 
 +
- @cindex StringNumber, example of overriding
- @cindex self-alignment-X property, example
++@cindex DynamicText, exemple de dérogation
++@cindex extra-spacing-width, exemple d'utilisation de la propriété
++@cindex DynamicLineSpanner, exemple de dérogation
++@cindex staff-padding, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 +\dynamicUp
 +% Extend width by 1 unit
 +\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
 +% Align dynamics to a base line 2 units above staff
 +\override DynamicLineSpanner #'staff-padding = #2
 +a4\f b\mf c\mp b\p
 +@end lilypond
 +
 +
 +@subheading self-alignment-X property
++
 +L'exemple suivant montre comment résoudre une collision entre une indication 
 +de corde et une queue de note, en alignant le coin droit sur le point de 
 +référence de la note parente :
 +
- @cindex object collision within a staff
++@cindex StringNumber, exemple de dérogation
++@cindex self-alignment-X, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
 +\voiceOne
 +< a \2 >
 +\once \override StringNumber #'self-alignment-X = #RIGHT
 +< a \2 >
 +@end lilypond
 +
 +@subheading staff-position property
 +
- notes d'une autre voix. Vu que ces silences sont centrés entre les deux 
- barres de mesure, il serait très compliqué de programmer LilyPond pour repérer 
- ces risques de collisions, dans la mesure où, normalement, toutes les collisions 
- entre notes ou entre notes et silences se produisent sur des notes et silences 
- simultanés. Voici un exemple de collision de ce type :
++@cindex collision d'objets à l'intérieur d'une portée
++
 +Dans une voix, un silence valant une mesure entière peut chevaucher les 
- le bas -- puisque cette pause appartient à la voix deux.  Par défaut, dans la 
- @code{\voiceTwo} (c'est-à-dire dans la seconde voix d'une construction 
- @code{<<@{...@} \\ @{...@}>>}), la propriété @code{staff-position} est 
- réglée sur -4 pour les MultiMeasureRest ; nous avons donc besoin de la 
- déplacer, disons, de quatre demi-intervalles vers le bas, ce qui donne
- @code{-8}.
++notes d'une autre voix.  Vu que ces silences sont centrés entre les deux 
++barres de mesure, il serait très compliqué de programmer LilyPond pour
++repérer ces risques de collision, dans la mesure où, normalement, toutes
++les collisions entre notes ou entre notes et silences se produisent sur
++des notes et silences simultanés. Voici un exemple de collision de ce type :
 +
 +@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
 +<< {c c c c} \\ {R1} >>
 +@end lilypond
 +
 +Ici, la meilleure solution consiste à déplacer le symbole de pause vers
- @cindex MultiMeasureRest, example of overriding
- @cindex staff-position property, example
++le bas --- puisque cette pause appartient à la voix deux.  Par défaut,
++dans la @code{\voiceTwo} (c'est-à-dire dans la seconde voix d'une
++construction  @code{<<@{...@} \\ @{...@}>>}), la propriété
++@code{staff-position} est réglée sur -4 pour les MultiMeasureRest ; nous
++avons donc besoin de la déplacer, disons, de quatre demi-intervalles
++vers le bas, ce qui donne @code{-8}.
 +
 +
- @cindex positioning objects
- @cindex positioning grobs
- @cindex objects, positioning
- @cindex grobs, positioning
++@cindex MultiMeasureRest, exemple de dérogation
++@cindex staff-position, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
 +<<
 +  {c c c c}
 +\\
 +  \override MultiMeasureRest #'staff-position = #-8
 +  {R1}
 +>>
 +@end lilypond
 +
 +C'est mieux que d'utiliser, par exemple, @code{extra-offset}, 
 +car la ligne supplémentaire au-dessus du silence est insérée 
 +automatiquement. 
 +
 +@subheading extra-offset property
 +
- La propriété @code{extra-offset}
++@cindex positionnement des objets
++@cindex positionnement des grobs
++@cindex objets, positionnement
++@cindex grobs, positionnement
 +
- légèrement vers la gauche et de 1.8 intervalle de lignes vers le bas :
 +La propriété @code{extra-offset} offre la possibilité de contrôler 
 +entièrement le placement d'un objet, aussi bien horizontalement que 
 +verticalement. 
 +
 +Dans l'exemple suivant, la seconde indication de doigté est déplacée 
- @cindex Fingering, example of overriding
- @cindex extra-offset property, example
++légèrement vers la gauche et de 1,8 intervalle de lignes vers le bas :
 +
- @cindex controlling tuplets, slurs, phrasing slurs, and beams manually
- @cindex manually controlling tuplets, slurs, phrasing slurs, and beams
- @cindex tuplet beams, controlling manually
- @cindex slurs, controlling manually
- @cindex phrasing slurs, controlling manually
- @cindex beams, controlling manually
++@cindex Fingering, exemple de dérogation
++@cindex extra-offset, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,relative=1,verbatim]
 +\stemUp
 +f-5
 +\once \override Fingering
 +    #'extra-offset = #'(-0.3 . -1.8)
 +f-5
 +@end lilypond
 +
 +
 +@subheading positions property
 +
- de croches. Voici un exemple avec une horrible liaison de phrasé -- 
++@cindex contrôle des nolets, liaisons, phrasés et ligatures
++@cindex gestion manuelle des nolets, liaisons, phrasés et ligatures
++@cindex ligatures de nolet, gestion manuelle
++@cindex liaisons, gestion manuelle
++@cindex phrasés, gestion manuelle
++@cindex ligatures, gestion manuelle
 +
 +La propriété @code{positions} permet de contrôler manuellement la 
 +position et l'inclinaison des nolets, coulés, liaisons de phrasé et barres 
- @cindex PhrasingSlur, example of overriding
- @cindex positions property, example
++de ligature. Voici un exemple avec une horrible liaison de phrasé --- 
 +horrible pour avoir tenté de contourner la liaison de l'acciaccature.
 +
 +@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 +r4  \acciaccatura e8\( d8 c ~c d c d\)
 +@end lilypond
 +
 +@noindent
 +Nous pourrions tout simplement déplacer la liaison de phrasé au-dessus des
 +notes, et ce serait la meilleure solution :
 +
 +@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 +r4
 +\phrasingSlurUp
 +\acciaccatura e8\( d8 c ~c d c d\)
 +@end lilypond
 +
 +@noindent
 +Mais si, pour une quelconque raison, cette solution n'était pas 
 +envisageable, l'autre solution consiste à déplacer légèrement vers le 
 +bas l'extrémité gauche de la liaison de phrasé, grâce à la propriété 
 +@code{positions}. Cela corrige en même temps la forme plutôt 
 +disgracieuse de la liaison.
 +
- constater, les barres de croches chevauchent les notes les plus hautes :
++@cindex PhrasingSlur, exemple de dérogation
++@cindex positions, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
 +r4
 +\once \override PhrasingSlur #'positions = #'(-4 . -3)
 +\acciaccatura
 +e8\( d8 c ~c d c d\)
 +@end lilypond
 +
 +Voici un autre exemple, tiré du début de la partie de main gauche 
 +du Prélude de Chopin, Op. 28, No 2. Comme nous pouvons le 
- @cindex Beam, example of overriding
- @cindex positions property, example
++constater, les barres de ligature chevauchent les notes les plus hautes :
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +{
 +\clef "bass"
 +<< {b,8 ais, b, g,} \\ {e, g e, g} >>
 +<< {b,8 ais, b, g,} \\ {e, g e, g} >>
 +}
 +@end lilypond
 +
 +@noindent
 +On peut y remédier en déplaçant manuellement vers le haut les deux 
 +extrémités des barres de croches, non plus à 2 intervalles au-dessus 
 +de la ligne médiane mais, disons, à 3 :
 +
- troisième voix) ne devraient pas être décalées de la colonne des deux 
++@cindex Beam, exemple de dérogation
++@cindex positions, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +{
 +  \clef "bass"
 +  <<
 +    \override Beam #'positions = #'(3 . 3)
 +    {b,8 ais, b, g,}
 +  \\
 +    {e, g e, g}
 +  >>
 +  << {b,8 ais, b, g,} \\ {e, g e, g} >>
 +}
 +@end lilypond
 +
 +@noindent
 +Vous remarquerez que la retouche continue à s'appliquer au 
 +second bloc de croches de la première voix mais qu'il ne s'applique 
 +à aucune barre de la deuxième voix.
 +
 +@subheading force-hshift property
 +
 +@c FIXME: formatting stuff  (ie not important right now IMO)
 +@c @a nchor Chopin finally corrected TODOgp
 +
 +Maintenant, nous sommes prêts à appliquer les dernières corrections  à
 +l'exemple de Chopin présenté à la fin de @ref{I'm hearing Voices}, que 
 +nous avions laissé dans cet état :
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +\new Staff \relative c'' {
 +  \key aes \major
 +  <<
 +    { c2 aes4. bes8 } \\
 +    { aes2 f4 fes   } \\
 +    { \voiceFour
 +      <ees c>2
 +      des2
 +    }
 +  >> |
 +  <c ees aes c>1 |
 +}
 +@end lilypond
 +
 +@noindent
 +Les deux plus basses notes du premier accord (c'est-à-dire celles de la 
- -- qui est une propriété de @code{NoteColumn} -- de ces notes sur zéro. 
++troisième voix) ne devraient pas être décalées de l'empilement des deux 
 +plus hautes notes. Pour y remédier, nous réglons le @code{force-hshift} 
- note sur 0.5 -- c'est-à-dire la moitié de la largeur d'une tête de note vers la 
- droite de la colonne des notes plus hautes.
++--- qui est une propriété de @code{NoteColumn} --- de ces notes sur zéro. 
 +Ensuite, la note la plus basse du second accord serait mieux à droite des 
 +notes plus hautes. Pour cela, nous réglons le @code{force-hshift} de cette 
- @cindex NoteColumn, example of overriding
- @cindex force-hshift property, example
++note sur 0,5 --- c'est-à-dire la moitié de la largeur d'une tête de note
++vers la droite de la colonne des notes plus hautes.
 +
 +Et voici le résultat final :
 +
- reporter au Manuel de notation.  Quand on cherche @q{arpège} et @q{barre
++@cindex NoteColumn, exemple de dérogation
++@cindex force-hshift, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,fragment,ragged-right]
 +\new Staff \relative c'' {
 +  \key aes \major
 +  <<
 +    { c2 aes4. bes8 } \\
 +    { aes2 f4 fes   } \\
 +    { \voiceFour
 +      \once \override NoteColumn #'force-hshift = #0 <ees c>2
 +      \once \override NoteColumn #'force-hshift = #0.5 des2
 +    }
 +  >> |
 +  <c ees aes c>1 |
 +}
 +@end lilypond
 +
 +
 +@node Real music example
 +@subsection Real music example
 +
 +Pour terminer ce chapitre consacré aux retouches, voici, étape par 
 +étape, la mise en forme d'un exemple concret nécessitant un certain 
 +nombre de retouches jusqu'à l'obtention du résultat attendu. Cet exemple 
 +a été choisi en raison des problèmes inhabituels de notation qu'il soulevait 
 +et pour vous apprendre à les résoudre grâce au Manuel de notation.  Il
 +n'est pas représentatif d'une opération normale de gravure ; que ces 
 +difficultés ne vous découragent donc pas ! Des difficultés comme celles-ci 
 +ne sont, heureusement, pas courantes !
 +
 +Cet exemple est tiré de la Première Ballade de Chopin, Op. 23, mesures 
 +6 à 9 ; cela correspond à la transition entre le Lento d'ouverture et le 
 +Moderato. Voici, pour commencer, ce à quoi nous voulons que la 
 +partition ressemble ; pour limiter les complications, nous n'avons pas 
 +fait apparaître les indications de nuances, de doigté ni de pédale.
 +
 +
 +@c The following should appear as music without code
 +@c This example should not be indexed
 +@lilypond[quote,ragged-right]
 +rhMusic = \relative c'' {
 +  r2
 +  c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  bes2.^\markup {\bold "Moderato"} r8
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    % Reposition the c2 to the right of the merged note
 +    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
 +    % Move the c2 out of the main note column so the merge will work
 +    \shiftOnn c2}
 +  \\
 +    % Stem on the d2 must be down to permit merging
 +    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
 +  \\
 +    {s4 fis4.}
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Nous constatons tout d'abord que, dans la troisième mesure, la main 
 +droite compte quatre voix. Ce sont les cinq croches avec une barre, 
 +le do avec liaison, le ré blanche qui se fond avec le ré croche, et le 
 +fa dièse noire pointée qui se fond lui aussi avec la croche de même 
 +hauteur. Tout le reste se réduit à une seule voix. Le plus simple est 
 +donc de créer temporairement ces quatre voix au moment opportun. 
 +Si vous avez oublié comment faire, reportez-vous à 
 +@ref{I'm hearing Voices}. Commençons par saisir les notes comme 
 +appartenant à deux variables, mettons en place l'ossature des 
 +portées dans un bloc score et voyons ce que LilyPond propose par 
 +défaut : 
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4. g8 |
 +  bes1~ |
 +  \time 6/4
 +  bes2. r8
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8 d fis bes a | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  g2.
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2 |
 +  <d g, d>1 |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Toutes les notes sont correctes mais l'allure générale est loin d'être 
 +satisfaisante. La liaison se heurte à l'indication de mesure lors du 
 +changement de chiffrage, la barre des croches n'est pas bonne dans la 
 +troisième mesure, les notes ne sont pas fusionnées et il manque plusieurs 
 +éléments de notation. Commençons par le plus simple. Nous pouvons 
 +corriger la barre des croches en la créant manuellement et nous pouvons 
 +facilement ajouter les limites droite et gauche de la liaison de phrasé, 
 +puisque tout cela a déjà été traité dans le tutoriel. Voici le résultat :
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  bes1~ |
 +  \time 6/4
 +  bes2. r8
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1) |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +La première mesure est maintenant correcte. La seconde contient un arpège 
 +et doit se terminer par une double barre. Comment faire, puisque cela n'a pas 
 +été traité dans le Manuel d'initiation ? C'est alors qu'il faut nous
- @q{Moderato} en gras. Mais comment faire pour fusionner les notes de 
++reporter au Manuel de notation.  Quand on cherche @qq{arpège} et @qq{barre
 +de mesure} dans l'index, on voit aisément qu'il faut ajouter
 +@code{\arpeggio} à un accord pour produire un arpège et qu'une double
 +barre est le résultat de la commande @code{\bar "||"}.  Rien de plus
 +facile ! Nous devons ensuite corriger la collision entre la liaison et
 +l'indication de mesure. Le mieux est de déplacer la liaison vers le
 +haut. La méthode pour déplacer les objets a déjà été présentée dans
 +@ref{Moving objects}, et l'on sait que, pour des objets positionnés par
 +rapport à la portée, il nous faut modifier leur propriété
 +@code{staff-position}, exprimée en demi-intervalles de lignes par
 +rapport à la ligne médiane de la portée.  Voici donc la retouche à
 +insérer juste devant la première note liée ; elle est censée déplacer la
 +liaison vers le haut de 3,5 demi-intervalles de lignes au-dessus de la
 +ligne médiane : 
 +
 +@code{\once \override Tie #'staff-position = #3.5}
 +
 +Cela s'adjoint à la deuxième mesure, pour donner :
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2. r8
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Venons-en à la troisième mesure et au début de la section Moderato. Dans 
 +le Tutoriel, il est indiqué comment insérer du texte en gras à l'aide de la 
 +commande @code{\markup} ; pas de problème, du coup, pour ajouter 
- aide. Une recherche sur @q{fusionnement de notes} dans l'index nous renvoie, 
- dans @ruser{Collision resolution}, aux  commandes pour fusionner les notes, 
- différentes en fonction du type de note et selon que celles-ci sont
- pointées ou non.  Dans notre exemple, pour la durée de la polyphonie de
- la troisième mesure, nous avons besoin de fusionner deux types de notes
- ; grâce aux informations trouvées dans le Manuel de notation, nous
- ajoutons  
++@qq{Moderato} en gras. Mais comment faire pour fusionner les notes de 
 +différentes voix ? C'est là que le Manuel de notation peut nous venir en 
- -- en produisant un décalage grâce à l'une des commandes @code{\shift}.
++aide. Une recherche sur @qq{fusionnement de notes} dans l'index nous
++renvoie au chapitre @ruser{Collision resolution}, et plus précisément
++aux  commandes permettant de fusionner des notes en fonction de leur
++type et selon que elles sont pointées ou non.  Dans notre exemple, pour
++la durée de la polyphonie de la troisième mesure, nous avons besoin de
++fusionner deux types de notes ; grâce aux informations trouvées dans le
++Manuel de notation, nous ajoutons  
 +
 +@example
 +\mergeDifferentlyHeadedOn
 +\mergeDifferentlyDottedOn
 +@end example
 +
 +@noindent
 +au début de cette section et
 +
 +@example
 +\mergeDifferentlyHeadedOff
 +\mergeDifferentlyDottedOff
 +@end example
 +
 +@noindent
 +à la fin, ce qui donne : 
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2.^\markup {\bold "Moderato"} r8
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    {c,8~ c2 | }
 +  \\
 +    {s8 d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Ces retouches ont permis de fusionner les deux fa dièse mais pas les 
 +deux ré. Pourquoi ? La réponse se trouve dans la même section du 
 +Manuel de notation : les notes à fusionner doivent avoir des queues dans 
 +des directions opposées et deux notes ne peuvent pas être fusionnées s'il 
 +y a une troisième note dans la même colonne. Ici, les deux ré ont leur 
 +queue orientée vers le haut et il y a une troisième note, do. Nous 
 +savons changer l'orientation de la queue avec @code{\stemDown} et 
 +le Manuel de notation nous indique également comment déplacer le do 
- @cindex Tie, example of overriding
- @cindex staff-position property, example
++--- en produisant un décalage grâce à l'une des commandes @code{\shift}.
 +Mais laquelle ? Le do appartient à la deuxième voix et n'est pas décalé ; 
 +les deux ré appartiennent respectivement à la première et à la troisième 
 +voix, et l'un n'est pas décalé tandis que l'autre l'est. Il nous faut donc 
 +décaler largement le do avec la commande @code{\shiftOnn} pour 
 +éviter une interférence avec les deux ré. Voici ce que donnent ces 
 +modifications : 
 +
- @cindex NoteColumn, example of overriding
- @cindex force-hshift property, example
- @cindex Stem, example of overriding
- @cindex transparent property, example
++@cindex Tie, exemple de dérogation
++@cindex staff-position, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2 c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2.^\markup {\bold "Moderato"} r8
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  % Start polyphonic section of four voices
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    % Move the c2 out of the main note column so the merge will work
 +    {c,8~ \shiftOnn c2 | }
 +  \\
 +    % Stem on the d2 must be down to permit merging
 +    {s8 \stemDown d2 | }
 +  \\
 +    {s4 fis4. | }
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +Pas loin. Il ne reste plus que deux problèmes : les ré une fois fusionnés 
 +ne devraient plus avoir de queue vers le bas, et le do serait mieux à la 
 +droite des ré. Nous savons remédier à ces deux problèmes grâce aux 
 +retouches précédentes : nous allons rendre la queue transparente et 
 +déplacer le do avec la propriété @code{force-hshift}. Et voici le 
 +résultat final : 
 +
- @cindex transparent property, use of
- @cindex objects, making invisible
- @cindex removing objects
- @cindex objects, removing
- @cindex hiding objects
- @cindex objects, hiding
- @cindex invisible objects
- @cindex objects, invisible
- @cindex tying notes across voices
++@cindex NoteColumn, exemple de dérogation
++@cindex force-hshift, exemple d'utilisation de la propriété
++@cindex Stem, exemple de dérogation
++@cindex transparent, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,ragged-right]
 +rhMusic = \relative c'' {
 +  r2
 +  c4.\( g8 |
 +  \once \override Tie #'staff-position = #3.5
 +  bes1~ |
 +  \bar "||"
 +  \time 6/4
 +  bes2.^\markup {\bold "Moderato"} r8
 +  \mergeDifferentlyHeadedOn
 +  \mergeDifferentlyDottedOn
 +  <<
 +    {c,8[ d fis bes a] | }
 +  \\
 +    % Reposition the c2 to the right of the merged note
 +    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
 +    % Move the c2 out of the main note column so the merge will work
 +    \shiftOnn c2}
 +  \\
 +    % Stem on the d2 must be down to permit merging
 +    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
 +  \\
 +    {s4 fis4.}
 +  >>
 +  \mergeDifferentlyHeadedOff
 +  \mergeDifferentlyDottedOff
 +  g2.\)
 +}
 +
 +lhMusic = \relative c' {
 +  r2 <c g ees>2( |
 +  <d g, d>1)\arpeggio |
 +  r2. d,,4 r4 r |
 +  r4
 +}
 +
 +\score {
 +  \new PianoStaff <<
 +    \new Staff = "RH"  <<
 +      \key g \minor
 +      \rhMusic
 +    >>
 +    \new Staff = "LH" <<
 +      \key g \minor
 +      \clef "bass"
 +      \lhMusic
 +    >>
 +  >>
 +}
 +
 +@end lilypond
 +
 +
 +@node Further tweaking
 +@section Further tweaking
 +
 +@menu
 +* Other uses for tweaks::       
 +* Using variables for tweaks::  
 +* Other sources of information::  
 +* Avoiding tweaks with slower processing::  
 +* Advanced tweaks with Scheme::  
 +@end menu
 +
 +@node Other uses for tweaks
 +@subsection Other uses for tweaks
 +
- @cindex Stem, example of overriding
- @cindex transparent propery, example
++@cindex transparent, utilisation de la propriété
++@cindex création d'objet invisible
++@cindex suppression d'objets
++@cindex objets, suppression d'
++@cindex masquage d'objets
++@cindex objets, masquage d'
++@cindex invisibles, objets
++@cindex objets, invisibles
++@cindex liaison de tenue avec changement de voix
 +
 +@subheading Tying notes across voices
 +
 +Voici un exemple qui montre comment créer une liaison de 
 +prolongation entre des notes appartenant à des voix différentes. En 
 +temps normal, seules deux notes appartenant à une même voix 
 +peuvent être ainsi liées. La solution consiste à utiliser deux voix, 
 +dont l'une avec les notes liées
 +
 +@lilypond[quote,fragment,relative=2]
 +<< { b8~ b8\noBeam }
 +\\ { b[ g8] }
 +>>
 +@end lilypond
 +
 +@noindent
 +et à rendre transparente la première queue de note de cette voix ; 
 +on a alors l'impression que la liaison couvre les deux voix.
 +
- @cindex stencil property, use of
- @cindex fermata, implementing in MIDI
++@cindex Stem, exemple de dérogation
++@cindex transparent, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,fragment,relative=2,verbatim]
 +<<
 +  {
 +    \once \override Stem #'transparent = ##t
 +    b8~ b8\noBeam
 +  }
 +\\
 +  { b[ g8] }
 +>>
 +@end lilypond
 +
 +Pour être sûr que la queue que nous avons rendue transparente 
 +n'empiète pas trop sur le trait de liaison, nous pouvons l'allonger en 
 +réglant la longueur (@code{length}) sur @code{8},
 +
 +@lilypond[quote,fragment,relative=2,verbatim]
 +<<
 +  {
 +    \once \override Stem #'transparent = ##t
 +    \once \override Stem #'length = #8
 +    b8~ b8\noBeam
 +  }
 +\\
 +  { b[ g8] }
 +>>
 +@end lilypond
 +
 +@subheading Simulating a fermata in MIDI
 +
- @cindex MetronomeMark, example of overriding
- @cindex transparent property, example
++@cindex stencil, utilisation de la propriété
++@cindex point d'orgue, rendu en MIDI
 +
 +En ce qui concerne les objets extérieurs à la portée, quand on veut les 
 +faire disparaître de la partition imprimée , il est généralement préférable 
 +de modifier leur propriété @code{stencil} plutôt que leur propriété 
 +@code{transparent}. Le fait d'attribuer à la propriété @code{stencil} 
 +d'un objet la valeur @code{#f} supprimera entièrement celui-ci de la 
 +partition. Il ne risquera donc pas de gêner le placement d'autres objets.
 +
 +Par exemple, si nous voulons changer le réglage de métronome pour 
 +simuler un point d'orgue dans le fichier MIDI, nous ne voulons surtout 
 +pas que cette indication métronomique apparaisse sur la partition ni 
 +qu'elle influence l'espacement entre les deux systèmes ou la position 
 +des annotations voisines sur la portée. Le fait d'attribuer à la propriété 
 +@code{stencil} la valeur @code{#f} est donc la bonne solution. Nous 
 +montrons ci-dessous le résultat des deux méthodes : 
 +
- @cindex MetronomeMark, example of overriding
- @cindex stencil property, example
++@cindex MetronomeMark, exemple de dérogation
++@cindex transparent, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,ragged-right]
 +\score {
 +  \relative c'' {
 +    % Visible tempo marking
 +    \tempo 4=120
 +    a4 a a
 +    \once \override Score.MetronomeMark #'transparent = ##t
 +    % Invisible tempo marking to lengthen fermata in MIDI
 +    \tempo 4=80
 +    a\fermata
 +    % New tempo for next section
 +    \tempo 4=100
 +    a a a a
 +  }
 +  \layout { }
 +  \midi { }
 +}
 +@end lilypond
 +
- Les deux méthodes permettent l'enlever l'indication métronomique qui allonge 
- le point d'orgue de la partition, et toutes deux modifient le rythme MIDI comme 
- souhaité, mais, dans la première, l'indication métronomique transparente 
- repousse vers le haut l'indication de tempo, contrairement à la seconde (avec 
- le stencil désactivé) qui la laisse à sa place.
++@cindex MetronomeMark, exemple de dérogation
++@cindex stencil, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim,ragged-right]
 +\score {
 +  \relative c'' {
 +    % Visible tempo marking
 +    \tempo 4=120
 +    a4 a a
 +    \once \override Score.MetronomeMark #'stencil = ##f
 +    % Invisible tempo marking to lengthen fermata in MIDI
 +    \tempo 4=80
 +    a\fermata
 +    % New tempo for next section
 +    \tempo 4=100
 +    a a a a
 +  }
 +  \layout { }
 +  \midi { }
 +}
 +@end lilypond
 +
 +@noindent
- @cindex variables, using for tweaks
- @cindex using variables for tweaks
- @cindex tweaks, using variables for
++Les deux méthodes permettent d'enlever l'indication métronomique qui
++allonge le point d'orgue de la partition, et toutes deux modifient le
++rythme MIDI comme souhaité, mais, dans la première, l'indication
++métronomique transparente repousse vers le haut l'indication de tempo,
++contrairement à la seconde (avec le stencil désactivé) qui la laisse à
++sa place. 
 +
 +
 +@node Using variables for tweaks
 +@subsection Using variables for tweaks
 +
- définir des variables qui les contiennent. Imaginons que nous 
- voulions accentuer certains mots dans des paroles en les mettant 
- en italiques. Au lieu des commandes @code{\italic} et 
- @code{\bold}, qui ne fonctionnent dans les paroles que si elles 
- sont enchâssées dans un @code{\markup}, ce qui les rend 
- pénibles à saisir, pouvons-nous employer les commandes 
- @code{\override} et @code{\revert}?
++@cindex variables, utilisation dans les retouches
++@cindex utilisation de variables dans les retouches
++@cindex retouches et utilisation de variables
 +
 +Les commandes de retouche sont souvent longues et pénibles à 
 +taper, et ne tolèrent pas la moindre erreur. Lorsqu'on a besoin de 
 +faire plusieurs fois les mêmes retouches, il est préférable de 
- et les utilisons comme suit -- quoique on choisirait sans doute pour les 
- variables des noms plus courts pour simplifier la frappe : 
++définir des variables qui les contiennent. 
++
++Imaginons que nous voulions accentuer certains mots dans des paroles en
++les mettant en italiques.  Au lieu des commandes @code{\italic} et
++@code{\bold}, qui ne fonctionnent dans les paroles que si elles sont
++enchâssées dans un @code{\markup}, ce qui les rend pénibles à saisir,
++pouvons-nous employer les commandes @code{\override} et @code{\revert} ?
 +
 +@example
 +@code{\override Lyrics . LyricText #'font-shape = #'italic}
 +@code{\override Lyrics . LyricText #'font-series = #'bold}
 +
 +@code{\revert Lyrics . LyricText #'font-shape}
 +@code{\revert Lyrics . LyricText #'font-series}
 +@end example
 +
 +Là encore, ce serait extrêmement pénible à saisir, surtout s'il y avait 
 +beaucoup de mots à retoucher de cette façon. Plutôt que cette 
 +solution, nous déclarons ces commandes comme étant deux variables 
- @cindex LyricText, example of overriding
- @cindex font-shape property, example
- @cindex font-series property, example
++et les utilisons comme suit --- quoique on choisirait sans doute pour
++les variables des noms plus courts pour simplifier la frappe : 
 +
- LilyPond. Cependant vous pouvez en découvrir 
- encore plus en consultant les fichiers internes de LilyPond. Pour cela, 
- il vous faut d'abord connaître le répertoire ad hoc sur votre système. 
- L'emplacement du répertoire dépend (a) du fait que, pour vous procurer 
- LilyPond, vous avez téléchargé un paquet précompilé sur lilypond.org, ou 
- vous l'avez installé grâce à votre gestionnaire de paquetages (c'est-à-dire 
- distribué avec Linux ou installé avec fink ou cygwin), ou encore vous l'avez 
- compilé directement à partir des sources ; et (b) du système d'exploitation 
- sous lequel il tourne. 
++@cindex LyricText, exemple de dérogation
++@cindex font-shape, exemple d'utilisation de la propriété
++@cindex font-series, exemple d'utilisation de la propriété
 +
 +@lilypond[quote,verbatim]
 +emphasize = {
 +  \override Lyrics . LyricText #'font-shape = #'italic
 +  \override Lyrics . LyricText #'font-series = #'bold
 +}
 +normal = {
 +  \revert Lyrics . LyricText #'font-shape
 +  \revert Lyrics . LyricText #'font-series
 +}
 +
 +global = { \time 4/4 \partial 4 \key c \major}
 +SopranoMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
 +AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
 +TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
 +BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
 +VerseOne   = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
 +VerseTwo   = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
 +VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
 +VerseFour  = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
 +
 +\score {
 +  \new ChoirStaff <<
 +    \new Staff <<
 +      \clef "treble"
 +      \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
 +      \new Voice = "Alto" { \voiceTwo \AltoMusic }
 +      \new Lyrics \lyricsto "Soprano" { \VerseOne   }
 +      \new Lyrics \lyricsto "Soprano" { \VerseTwo   }
 +      \new Lyrics \lyricsto "Soprano" { \VerseThree }
 +      \new Lyrics \lyricsto "Soprano" { \VerseFour  }
 +    >>
 +    \new Staff <<
 +      \clef "bass"
 +      \new Voice = "Tenor" { \voiceOne \TenorMusic }
 +      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
 +    >>
 +  >>
 +}
 +@end lilypond
 +
 +
 +@node Other sources of information
 +@subsection Other sources of information
 +
 +La Référence du programme contient beaucoup d'informations sur 
- et sélectionner @q{Afficher le contenu du paquet}.
++LilyPond.  Cependant vous pouvez en découvrir encore plus en consultant
++les fichiers internes de LilyPond.  Pour cela, il vous faut d'abord
++connaître le répertoire @emph{ad hoc} sur votre système.  L'emplacement
++du répertoire dépend (a) du fait que, pour vous procurer LilyPond, vous
++avez téléchargé un paquet précompilé sur lilypond.org, ou vous l'avez
++installé grâce à votre gestionnaire de paquetages (c'est-à-dire
++distribué avec Linux ou installé avec fink ou cygwin), ou encore vous
++l'avez compilé directement à partir des sources ; et (b) du système
++d'exploitation sous lequel il tourne. 
 +
 +@strong{Téléchargé depuis lilypond.org}
 +
 +@itemize @bullet
 +@item Linux
 +
 +@file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/}
 +
 +@item MacOS X
 +
 +@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
 +Pour accéder à ce dossier, deux possibilités : soit, dans un Terminal,
 +taper @code{cd} suivi du chemin complet ci-dessus ; soit
 +Control-cliquer (ou clic droit) sur l'application LilyPond
- @var{PREFIX} est déterminé par votre gestionnaire de paquetages ou par le script 
- @code{configure}, et @var{X.Y.Z} est le numéro de version de LilyPond.
++et sélectionner @qq{Afficher le contenu du paquet}.
 +
 +@item Windows
 +
 +Dans l'Explorateur Windows, voir
 +@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
 +
 +@end itemize
 +
 +@strong{Installé par un gestionnaire de paquetages ou compilé d'après
 +les sources} 
 +
 +@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, où
- Dans ce répertoire, deux sous-répertoires sont particulièrement intéressants :
++@var{PREFIX} est déterminé par votre gestionnaire de paquetages ou par
++le script @code{configure}, et @var{X.Y.Z} est le numéro de version de
++LilyPond. 
 +
 +@smallspace
 +
- @item @file{ly/} - contient les fichiers en format LilyPond
- @item @file{scm/} - contient les fichiers en format Scheme
++Dans ce répertoire, deux sous-répertoires sont particulièrement
++intéressants : 
 +
 +@itemize
- Nous ouvrons @file{ly/property-init.ly} dans un éditeur de texte -- celui 
- que vous avez l'habitude d'utiliser pour les fichiers @code{.ly} fera très 
- bien l'affaire. Ce fichier contient les définitions de toutes les commandes 
- standard prédéfinies de LilyPond, comme @code{\stemUp} et 
- @code{\slurDotted}. Vous pouvez constater que ce n'est rien d'autre 
++@item @file{ly/} --- contient les fichiers en format LilyPond
++@item @file{scm/} --- contient les fichiers en format Scheme
 +@end itemize
 +
 +Commençons par examiner quelques fichiers contenus dans @file{ly/}.
- de commandes @code{\override}. Par exemple, @code{\tieDotted} 
++Nous ouvrons @file{ly/property-init.ly} dans un éditeur de texte ---
++celui que vous avez l'habitude d'utiliser pour les fichiers @code{.ly}
++fera très bien l'affaire.  Ce fichier contient les définitions de toutes
++les commandes standard prédéfinies de LilyPond, comme @code{\stemUp} et  
++@code{\slurDotted}.  Vous pouvez constater que ce n'est rien d'autre 
 +que des définitions de variables composées d'un ou plusieurs groupes 
- Si vous n'aimez pas les valeurs par défaut, les commandes prédéfinies
- peuvent être facilement redéfinies, comme n'importe quelle autre variable,
- en tête de votre fichier d'entrée.
++de commandes @code{\override}.  Par exemple, @code{\tieDotted} 
 +est défini comme :
 +
 +@example
 +tieDotted = @{
 +  \override Tie #'dash-period = #0.75
 +  \override Tie #'dash-fraction = #0.1
 +@}
 +@end example
 +
- Voici les fichiers les plus utiles dans le répertoire @file{ly/}:
++Si vous n'aimez pas les valeurs par défaut, les commandes prédéfinies 
++peuvent être facilement redéfinies, comme n'importe quelle autre
++variable, en tête de votre fichier d'entrée.
 +
- Les autres réglages (comme les définitions de commandes markup) sont 
- conservés comme fichiers @code{.scm} (Scheme). Le langage de 
++Voici les fichiers les plus utiles dans le répertoire @file{ly/} :
 +
 +@multitable @columnfractions .4 .6
 +@headitem Nom de fichier
 +  @tab Contenu
 +@item @file{ly/engraver-init.ly}
 +  @tab Définitions des Contextes de graveurs
 +@item @file{ly/paper-defaults-init.ly}
 +  @tab Réglages papier par défaut
 +@item @file{ly/performer-init.ly}
 +  @tab Définitions des Contextes d'interprétation
 +@item @file{ly/property-init.ly}
 +  @tab Définitions de toutes les commandes prédéfinies courantes
 +@item @file{ly/spanner-init.ly}
 +  @tab Définitions des commandes prédéfinies pour les bandeaux 
 +@end multitable
 +
- processus interne de LilyPond. De plus amples explications sur ces 
++Les autres réglages (comme les définitions de commandes @emph{markup})
++sont conservés comme fichiers @code{.scm} (Scheme).  Le langage de 
 +programmation Scheme offre une interface programmable dans le 
- requièrent la connaissance du langage Scheme. Les utilisateurs qui 
++processus interne de LilyPond.  De plus amples explications sur ces 
 +fichiers dépasseraient le cadre de ce manuel, dans la mesure où elles 
- substantielles et beaucoup de temps sont nécessaires (voir 
++requièrent la connaissance du langage Scheme.  Les utilisateurs qui 
 +souhaiteraient comprendre le fonctionnement de ces fichiers de 
 +configuration doivent être avertis que des connaissances techniques 
-        barres de mesure, etc
++substantielles et beaucoup de temps sont nécessaires (voir le 
 +@ref{Scheme tutorial}).
 +
 +Si c'est votre cas, les fichiers Scheme les plus utiles à connaître sont :
 +
 +@multitable @columnfractions .4 .6
 +@headitem Nom de fichier
 +  @tab Contenu
 +@item @file{scm/auto-beam.scm}
 +  @tab Régles par défaut des ligatures subalternes
 +@item @file{scm/define-grobs.scm}
 +  @tab Réglages par défaut des propriétés de grobs
 +@item @file{scm/define-markup-commands.scm}
 +  @tab Spécification de toutes les commandes de @emph{markup}
 +@item @file{scm/midi.scm}
 +  @tab Réglages par défaut pour les sorties MIDI
 +@item @file{scm/output-lib.scm}
 +  @tab Réglages affectant l'apparence des frets, couleurs, altérations,
- traitement des fichiers ; cependant, le rendu nécessitera alors plus de
- temps.  En contrepartie, il y aura moins d'ajustements manuels à réaliser. 
- Si une indication textuelle ou des paroles  débordent dans la marge, ces 
- vérifications auront pour effet de serrer la ligne suffisamment pour faire 
- tenir le texte entre les marges. 
- Pour pouvoir fonctionner en toutes circonstances, ces vérifications doivent 
- être activées ; il faut pour cela placer les retouches dans un bloc Score 
- @code{\with}, plutôt qu'à l'intérieur du fragment musical, comme ceci :
++       barres de mesure, etc.
 +@item @file{scm/parser-clef.scm}
 +      @tab Définition des clefs prises en charge
 +@item @file{scm/script.scm}
 +      @tab Réglages par défaut des articulations
 +@end multitable
 +
 +
 +
 +@node Avoiding tweaks with slower processing
 +@subsection Avoiding tweaks with slower processing
 +
 +LilyPond peut effectuer des vérifications supplémentaires lors du 
- intégré directement dans le processus interne de LilyPond. Bien sûr, 
++traitement des fichiers ; cependant, le rendu nécessitera alors plus de 
++temps.  En contrepartie, il y aura moins d'ajustements manuels à
++réaliser.  Si une indication textuelle ou des paroles  débordent dans la
++marge, ces vérifications auront pour effet de serrer la ligne
++suffisamment pour faire tenir le texte entre les marges.  
++
++Pour pouvoir fonctionner en toutes circonstances, ces vérifications
++doivent être activées ; il faut pour cela placer les retouches dans un
++bloc @code{Score \with}, plutôt qu'à l'intérieur du fragment musical,
++comme ceci : 
 +
 +@example
 +\new Score \with @{
 +  % Pour s'assurer que les indications textuelles et paroles 
 +  % seront à l'intérieur des marges de la page.
 +  \override PaperColumn #'keep-inside-line = ##t
 +  \override NonMusicalPaperColumn #'keep-inside-line = ##t
 +@} @{
 +   ..
 +@}
 +@end example
 +
 +
 +@node Advanced tweaks with Scheme
 +@subsection Advanced tweaks with Scheme
 +
 +Nous avons vu à quel point le résultat obtenu avec LilyPond peut 
 +être largement personnalisé à l'aide de commandes comme 
 +@code{\override} et @code{\tweak}.  Et pourtant l'utilisation de 
 +Scheme ouvre des possibilités encore plus grandes.
 +Le code écrit dans le langage de programmation Scheme peut être 
- Scheme. Pour des explications complètes là-dessus, consultez le 
++intégré directement dans le processus interne de LilyPond.  Bien sûr, 
 +il faut pour cela connaître un minimum de programmation en langage 
- En guise d'illustration - et ce n'est qu'une possibilité parmi tant 
- d'autres -- nous allons attribuer à une propriété non pas une valeur 
++Scheme.  Pour des explications complètes là-dessus, consultez le 
 +@ref{Scheme tutorial}.
 +
- utilisation de la propriété par LilyPond. De cette façon, nous obtenons 
++En guise d'illustration --- et ce n'est qu'une possibilité parmi tant 
++d'autres --- nous allons attribuer à une propriété non pas une valeur 
 +préétablie mais une procédure Scheme qui sera lancée à chaque 
- procédure. Dans cet exemple, nous colorons les têtes de notes en fonction 
- de leur position sur la portée. 
++utilisation de la propriété par LilyPond.  De cette façon, nous obtenons  
 +un réglage dynamique de la propriété par le simple fait d'invoquer la 
- @cindex x11-color function, example of using
- @cindex NoteHead, example of overriding
- @cindex color property, setting to Scheme procedure
++procédure.  Dans cet exemple, nous colorons les têtes de notes en
++fonction de leur position sur la portée. 
 +
 +
- Vous trouverez dans @ref{Tweaking with Scheme} d'autres exemples d'utilisation de ces interfaces programmables.
++@cindex x11-color, exemple d'utilisaation de la fonction
++@cindex NoteHead, exemple de dérogation
++@cindex color, détermination de la propriété par une procédure Scheme
 +
 +@lilypond[quote,verbatim,ragged-right]
 +#(define (color-notehead grob)
 +  "Color the notehead according to its position on the staff."
 +  (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
 +    (case mod-position
 +      ;;   Return rainbow colors
 +      ((1) (x11-color 'red    ))  ; for C
 +      ((2) (x11-color 'orange ))  ; for D
 +      ((3) (x11-color 'yellow ))  ; for E
 +      ((4) (x11-color 'green  ))  ; for F
 +      ((5) (x11-color 'blue   ))  ; for G
 +      ((6) (x11-color 'purple ))  ; for A
 +      ((0) (x11-color 'violet ))  ; for B
 +    )
 +  )
 +)
 +
 +\relative c' {
 +  % Arrange to obtain color from color-notehead procedure
 +  \override NoteHead #'color = #color-notehead
 +  c2 c' |
 +  b4 g8 a b4 c |
 +  c,2 a' |
 +  g1 |
 +}
 +\addlyrics {
 +  Some -- where o -- ver the Rain -- bow, way up high,
 +}
 +@end lilypond
 +
++Vous trouverez dans @ref{Tweaking with Scheme} d'autres exemples
++d'utilisation de ces interfaces programmables. 
 +
index 82a0b49aa1ecc143cf41ed54918c84527a0bfd25,0000000000000000000000000000000000000000..24eaa91cc889fc2d3914f2c1112dd163b44a8e45
mode 100644,000000..100644
--- /dev/null
@@@ -1,843 -1,0 +1,1291 @@@
 +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
-    Translation of GIT committish: 148e80b8992a7fb9d59ec439c00b79decbbe3bad
 +@ignore
- @c Translators: Ludovic Sardain
++   Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
 +
 +   When revising a translation, copy the HEAD committish of the
 +   version that you are working on.  See TRANSLATION for details.
 +@end ignore
 +
 +@c \version "2.12.0"
 +
- Notez que chaque fichier modèle contient une ligne @code{\version
- "2.11.32"}.  Nous vous conseillons fortement d'inclure cette ligne,
++@c Translators: Ludovic Sardain, Jean-Charles Malahieude
 +@c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau, Jean-Charles Malahieude
 +
 +@node Working on LilyPond projects
 +@chapter Working on LilyPond projects
 +
 +Cette section explique comment résoudre ou éviter certains problèmes
 +courants.  Si vous avez de l'expérience en programmation, beaucoup de
 +ces astuces peuvent vous paraître évidentes, mais vous ne perdrez tout
 +de même pas votre temps à lire ce chapitre.
 +
 +@menu
 +* Suggestions for writing LilyPond input files::
 +* When things don't work::      
 +* Scores and parts::            
++* Make and Makefiles::
 +@end menu
 +
 +@node Suggestions for writing LilyPond input files
 +@section Suggestions for writing LilyPond input files
 +
 +Maintenant vous êtes prêt à travailler sur de plus gros fichiers
 +LilyPond --- des pièces entières, et plus seulement les petits
 +exemples du tutoriel.  Mais comment devriez-vous vous y prendre ?
 +
 +Tant que LilyPond parvient à comprendre vos fichiers et produit le
 +résultat que vous souhaitez, peu importe la manière dont le code est
 +organisé.  Néanmoins, quelques critères doivent être pris en compte
 +lorsque l'on écrit un fichier LilyPond.
 +
 +@itemize
 +@item Si vous faites une erreur, la structure même du fichier LilyPond
 +peut permettre de la localiser plus ou moins facilement.
 +
 +@item Et si vous souhaitez partager vos fichiers avec quelqu'un
 +d'autre, ou si vous souhaitez modifier vos propres fichiers dans
 +quelques années ?  Si certains fichiers LilyPond sont compréhensibles
 +au premier coup d'oeil, d'autres vous feront vous arracher les cheveux
 +pendant une heure.
 +
 +@item Et si vous souhaitez mettre à jour votre fichier pour
 +l'utiliser avec une version plus récente de LilyPond ?  La syntaxe du
 +langage d'entrée change parfois lorsque LilyPond s'améliore.  La
 +plupart des changements peuvent être appliqués automatiquement avec
 +@code{convert-ly}, mais quelques-uns peuvent requérir une intervention
 +manuelle.  Vos fichiers LilyPond peuvent être structurés de manière à
 +faciliter leur mise à jour.
 +@end itemize
 +
 +@menu
 +* General suggestions::         
 +* Typesetting existing music::  
 +* Large projects::              
 +* Saving typing with variables and functions::  
 +* Style sheets::                
 +@end menu
 +
 +@node General suggestions
 +@subsection General suggestions
 +
 +Voici quelques conseils qui peuvent vous éviter certains problèmes ou
 +en résoudre d'autres.
 +
 +@itemize
 +@item @strong{Ajoutez le numéro de version dans chaque fichier}.
- @item @strong{Ajoutez des contrôles}: @ruser{Octave checks}, et
++Notez que chaque fichier modèle contient une ligne @w{@code{\version
++"@version{}"}}.  Nous vous conseillons fortement d'inclure cette ligne,
 +même pour de petits fichiers.  Par expérience, il est très difficile
 +de se rappeler quelle version de LilyPond on utilisait quelques
 +années auparavant.  L'utilitaire @command{convert-ly} demande que vous
 +spécifiiez la version de LilyPond vous utilisiez alors.
 +
- \transpose c tonalite-naturelle @{...@}
++@item @strong{Ajoutez des contrôles} : @ruser{Octave checks}  et
 +@ruser{Bar and bar number checks}.  Si vous avez ajouté des contrôles
 +de loin en loin, et que vous faites une erreur, vous pourrez la
 +retrouver plus rapidement.  @qq{De loin en loin}, qu'est-ce à dire ?
 +Cela dépend de la complexité de la musique.  Pour de la musique très
 +simple, peut-être une ou deux fois.  Pour de la musique très complexe,
 +peut-être à chaque mesure.
 +
 +@item @strong{Une mesure par ligne de texte}.  Si la musique en elle-même ou
 +le résultat que vous désirez contient quelque chose de compliqué, il
 +est souvent bon de n'écrire qu'une seule mesure par ligne.  Économiser
 +de la place en tassant huit mesures par ligne, ça ne vaut pas vraiment
 +le coup si l'on doît corriger vos fichiers.
 +
 +@item @strong{Ajoutez des commentaires}.  Utilisez soit des
 +numéros de mesure (assez souvent), soit des références au contenu
 +musical --- @qq{second thème des violons}, @qq{quatrième variation}, etc.
 +Vous pouvez ne pas avoir besoin des commentaires lorsque vous écrivez
 +une pièce pour la première fois, mais si vous souhaitez y revenir deux
 +ou trois ans plus tard pour changer quelque chose, ou si vous donnez
 +le fichier source à un ami, ce sera beaucoup plus difficile de
 +déterminer vos intentions ou la manière dont votre fichier est
 +structuré si vous n'y avez pas adjoint de commentaires.
 +
 +@item @strong{Indentez les accolades}.  Beaucoup de problèmes
 +viennent d'un défaut de parité entre @code{@{} et @code{@}}.
 +
 +@item @strong{Mentionnez les durées} au début de chaque section ou
 +variable.  Si vous saisissez @code{c4 d e} au début d'une phrase, vous
 +vous épargnerez des problèmes si, plus tard, vous modifiez votre musique.
 +
 +@item @strong{Séparez les affinages de mise en forme} de la musique
 +elle-même. Voyez @ref{Saving typing with variables and functions} et
 +@ref{Style sheets}.
 +
 +@end itemize
 +
 +
 +@node Typesetting existing music
 +@subsection Typesetting existing music
 +
 +Si vous saisissez de la musique à partir d'une partition existante,
 +c'est-à-dire de la musique déjà écrite,
 +
 +@itemize
 +
 +@item n'entrez qu'un seul système de la partition originale
 +à la fois --- mais toujours une seule mesure par ligne de texte ---,
 +et vérifiez chaque système lorsqu'il est terminé.  Vous pouvez
 +utiliser les commandes @code{showLastLength} et @code{showFirstLength}
 +pour accélérer la compilation --- voir @ruser{Skipping corrected music} ;
 +
 +@item définissez @code{mBreak = @{\break @}} et insérez
 +@code{\mBreak} dans le fichier d'entrée pour obtenir des sauts de
 +ligne identiques à la partition originale.  Cela facilite la
 +comparaison entre la partition originale et la partition de 
 +LilyPond.  Lorsque vous avez fini de relire votre musique, vous pouvez
 +définir @code{mBreak = @{ @}} pour enlever tous ces sauts de ligne, et
 +laisser LilyPond placer les sauts de ligne selon son propre algorithme.
 +
 +@item encadrez les notes d'une partie pour instrument transpositeur
 +dans un 
 +
 +@example
- (où @code{tonatilte-naturelle} correspond à celle de l'instrument en
++\transpose c tonalité-naturelle @{...@}
 +@end example
- que vous utiliserez seront celles propres à chacun des instruments --
++(où @code{tonalité-naturelle} correspond à celle de l'instrument en
 +question) de telle sorte que la musique comprise dans cette variable se
 +retrouve en ut.  Vous pourrez toujours transposer à l'inverse si besoin
 +lorsque vous ferez appel à cette variable.  Des erreurs de transposition
 +seront moins susceptibles de se produire si la musique de toutes les
 +variables est dans la même et unique tonalité.
 +
 +De la même manière, prénez toujours le do comme note de départ ou
 +d'arrivée.  Ceci aura pour simple conséquence que les autres tonalités
- fthenp = _\markup@{
++que vous utiliserez seront celles propres à chacun des instruments ---
 +sib pour une trompette en si bémol, ou lab pour une clarinette en la bémol.
 +
 +@end itemize
 +
 +
 +@node Large projects
 +@subsection Large projects
 +
 +Lorsque l'on travaille sur un gros projet, il devient vital
 +de structurer clairement ses fichiers LilyPond.
 +
 +@itemize @bullet
 +
 +@item @strong{Utilisez un identificateur pour chaque voix},
 +avec un minimum de structure dans la définition.  La structure de la
 +section @code{\score} est la plus susceptible de changer, notamment
 +dans une nouvelle version de LilyPond, alors que la définition du
 +@code{violon} l'est beaucoup moins.
 +
 +@example
 +violin = \relative c'' @{
 +g4 c'8. e16
 +@}
 +...
 +\score @{
 + \new GrandStaff @{
 +   \new Staff @{
 +     \violin
 +   @}
 + @}
 +@}
 +@end example
 +
 +@item @strong{Séparez les retouches} des définitions de
 +musique.  Nous vous avons déjà invité à adopter une telle pratique, qui
 +par ailleurs devient vitale pour des projets d'importance.  Nous
 +pouvons avoir besoin de changer la définition de
 +@code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire
 +qu'une seule fois, et nous pourrons encore éviter de
 +modifier quoi que ce soit à l'intérieur de la définition
 +du @code{violon}.
 +
 +@example
- g4\fthenp c'8. e16
++fpuisp = _\markup@{
 + \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
 +violin = \relative c'' @{
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++g4\fpuisp c'8. e16
 +@}
 +@end example
 +
 +@end itemize
 +
 +
 +@node Saving typing with variables and functions
 +@subsection Saving typing with variables and functions
 +
 +@cindex variables
 +@cindex identificateurs
 +
 +Jusqu'à maintenant, vous avez vu ce type de code :
 +
 +@lilypond[quote,verbatim,ragged-right]
 +hornNotes = \relative c'' { c4 b dis c }
 +\score {
 +  {
 +    \hornNotes
 +  }
 +}
 +@end lilypond
 +
 +Vous comprendrez combien cela peut être utile pour écrire de la
 +musique minimaliste :
 +
 +@lilypond[quote,verbatim,ragged-right]
 +fragmentA = \relative c'' { a4 a8. b16 }
 +fragmentB = \relative c'' { a8. gis16 ees4 }
 +violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
 +\score {
 +  {
 +    \violin
 +  }
 +}
 +@end lilypond
 +
 +Néanmoins vous pouvez aussi utiliser ces identificateurs
 +--- aussi connus sous le nom de variables, macros, ou commandes
 +(définies par l'utilisateur) --- pour des retouches :
 +
 +@lilypond[quote,verbatim,ragged-right]
 +dolce = \markup{ \italic \bold dolce }
 +padText = { \once \override TextScript #'padding = #5.0 }
 +fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
 +violin = \relative c'' {
 +  \repeat volta 2 {
 +    c4._\dolce b8 a8 g a b |
 +    \padText
 +    c4.^"hi there!" d8 e' f g d |
 +    c,4.\fthenp b8 c4 c-. |
 +  }
 +}
 +\score {
 +  {
 +    \violin
 +  }
 +\layout{ragged-right=##t}
 +}
 +@end lilypond
 +
 +Ces identificateurs sont évidemment utiles pour économiser de la
 +frappe.  Mais ils peuvent l'être même si vous ne les utilisez qu'une
 +seule fois : ils réduisent la complexité.  Regardons l'exemple
 +précédent sans aucun identificateur.  C'est beaucoup plus laborieux à
 +lire, et particulièrement la dernière ligne.
 +
 +@example
 +violin = \relative c'' @{
 +  \repeat volta 2 @{
 +    c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
 +    \once \override TextScript #'padding = #5.0
 +    c4.^"hi there!" d8 e' f g d |
 +    c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
 +      \hspace #0.1 \dynamic p @} b8 c4 c-. |
 +  @}
 +@}
 +@end example
 +
 +@c TODO Replace the following with a better example  -td
 +@c Skylining handles this correctly without padText
 +
 +Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
 +rencontre @code{\padText}, il le remplace par le contenu que nous lui
 +avons défini --- c'est-à-dire le contenu à droite de @code{padText=}.
 +
 +LilyPond gère également des substitutions non-statiques --- vous
 +pouvez les voir comme des fonctions.
 +
 +@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
 +
 +Utiliser les identificateurs est aussi un bon moyen pour vous épargner
 +du travail si la syntaxe de LilyPond change un jour --- voir
 +@ref{Updating old input files}.  Si vous avez une seule définition, par
 +exemple @code{\dolce}, pour tous vos fichiers (voir @ref{Style sheets}),
 +et que la syntaxe change, alors vous n'aurez qu'à mettre à 
 +jour votre seule définition @code{\dolce}, au lieu de devoir modifier
 +chaque fichier @code{.ly}.
 +
 +
 +@node Style sheets
 +@subsection Style sheets
 +
 +La sortie que produit LilyPond peut être largement modifiée --- voir
 +@ref{Tweaking output} pour plus de détails.  Mais que faire si vous
 +avez beaucoup de fichiers auxquels vous souhaitez appliquer vos
 +retouches ? Ou si vous souhaitez simplement séparer les retouches de
 +la musique elle-même ?  Rien de plus facile.
 +
 +Prenons un exemple.  Ne vous inquiétez pas si vous ne comprenez pas
 +les parties avec tous les @code{#()}.  Celles-ci sont expliquées dans
 +@ref{Advanced tweaks with Scheme}.
 +
 +@lilypond[quote,verbatim,ragged-right]
- tempoMark = #(define-music-function (parser location markp) (string?)
- #{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup { \bold $markp }
- #})
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line(#:dynamic "mp" #:text #:italic "dolce" )))
-   \tempoMark "Poco piu mosso"
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +
 +\relative c'' {
 +  \tempo 4=50
 +  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- et @code{tempoMark}.  Elles produisent le résultat que nous désirons,
++  \inst "Clarinet"
 +  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 +}
 +@end lilypond
 +
 +Il y a quelques problèmes de chevauchement ; nous allons arranger
 +cela en utilisant les techniques de @ref{Moving objects}.  On peut
 +aussi faire quelque chose pour les définitions de @code{mpdolce}
- %%% enregistrez ceci dans un fichier nommé "definitions.ly"
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++et @code{inst}.  Elles produisent le résultat que nous désirons,
 +mais nous pourrions aussi vouloir les utiliser dans une autre pièce.
 +Il suffirait de les copier et coller au début de chaque
 +fichier, mais c'est fastidieux.  De plus, cela laisse les définitions
 +dans nos fichiers de musique, et je trouve personnellement tous ces
 +@code{#()} assez laids.  Stockons-les dans un autre fichier :
 +
 +@example
- tempoMark = #(define-music-function (parser location markp) (string?)
- #@{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup @{ \bold $markp @}
- #@})
++%%% enregistrez ceci dans un fichier nommé "definitions.ily"
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line(#:dynamic "mp" #:text #:italic "dolce" )))
- sous @file{"musique.ly"}).
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +@end example
 +
++Nous rappellerons ce fichier par une simple commande @code{\include} au
++début de notre fichier de musique.  Lui attribuer l'extension
++@code{.ily} nous permet de distinguer aisément qu'il s'agit d'un fichier
++voué à être inclus dans un fichier maître ; il n'est pas destiné à être
++compilé isolément.
 +Maintenant, modifions notre musique (enregistrez ce fichier
- \include "definitions.ly"
++sous @file{musique.ly}).
 +
 +@c  We have to do this awkward example/lilypond-non-verbatim
 +@c  because we can't do the \include stuff in the manual.
 +
 +@example
-   \once \override Score.RehearsalMark #'padding = #2.0
-   \tempoMark "Poco piu mosso"
++\include "definitions.ily"
 +
 +\relative c'' @{
 +  \tempo 4=50
 +  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++  \inst "Clarinet"
 +  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 +@}
 +@end example
 +
 +@lilypond[quote,ragged-right]
- tempoMark = #(define-music-function (parser location markp) (string?)
- #{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup { \bold $markp }
- #})
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line(#:dynamic "mp" #:text #:italic "dolce" )))
-   \once \override Score.RehearsalMark #'padding = #2.0
-   \tempoMark "Poco piu mosso"
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +
 +\relative c'' {
 +  \tempo 4=50
 +  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- fichier @file{definitions.ly} par ceci :
++  \inst "Clarinet"
 +  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 +}
 +@end lilypond
 +
 +C'est mieux, mais effectuons encore quelques retouches.  Le glissando
 +est peu visible, c'est pourquoi nous allons l'épaissir et le
 +rapprocher des têtes de note.  Déplaçons l'indication métronomique
 +au-dessus de la clef, au lieu de la laisser au-dessus de la première
 +note.  Et pour finir, mon professeur de composition déteste les
 +chiffrages de mesure en @qq{C}, nous allons donc le transformer en @qq{4/4}.
 +
 +Cependant, ne changez pas le fichier @file{musique.ly}.  Remplacez le
- %%%  definitions.ly
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++fichier @file{definitions.ily} par ceci :
 +
 +@example
- tempoMark = #(define-music-function (parser location markp) (string?)
- #@{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup @{ \bold $markp @}
- #@})
++%%%  definitions.ily
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line( #:dynamic "mp" #:text #:italic "dolce" )))
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +
 +\layout@{
 +  \context @{ \Score
 +    \override MetronomeMark #'extra-offset = #'(-9 . 0)
 +    \override MetronomeMark #'padding = #'3
 +  @}
 +  \context @{ \Staff
 +    \override TimeSignature #'style = #'numbered
 +  @}
 +  \context @{ \Voice
 +    \override Glissando #'thickness = #3
 +    \override Glissando #'gap = #0.1
 +  @}
 +@}
 +@end example
 +
 +@lilypond[quote,ragged-right]
- tempoMark = #(define-music-function (parser location markp) (string?)
- #{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup { \bold $markp }
- #})
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-   \once \override Score.RehearsalMark #'padding = #2.0
-   \tempoMark "Poco piu mosso"
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +
 +\layout{
 +  \context { \Score
 +    \override MetronomeMark #'extra-offset = #'(-9 . 0)
 +    \override MetronomeMark #'padding = #'3
 +  }
 +  \context { \Staff
 +    \override TimeSignature #'style = #'numbered
 +  }
 +  \context { \Voice
 +    \override Glissando #'thickness = #3
 +    \override Glissando #'gap = #0.1
 +  }
 +}
 +
 +\relative c'' {
 +  \tempo 4=50
 +  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- @file{definitions.ly} dans le fichier @file{publication-web.ly}, et
++  \inst "Clarinet"
 +  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 +}
 +@end lilypond
 +
 +C'est encore mieux !  Mais supposons maintenant que je veuille publier
 +cette pièce.  Mon professeur de composition n'aime pas les chiffrages
 +de mesure en @qq{C}, mais moi je les aime bien.  Copions l'actuel
- %%%  definitions.ly
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++@file{definitions.ily} dans le fichier @file{publication-web.ily}, et
 +modifions ce dernier.  Puisque la musique est destinée à produire un
 +fichier PDF affiché sur écran, nous allons aussi augmenter la taille
 +globale de police.
 +
 +@example
- tempoMark = #(define-music-function (parser location markp) (string?)
- #@{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup @{ \bold $markp @}
- #@})
++%%%  definitions.ily
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-     \override MetronomeMark #'extra-offset = #'(-9 .  0)
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +
 +#(set-global-staff-size 23)
 +\layout@{
 +  \context @{ \Score
- mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
++    \override MetronomeMark #'extra-offset = #'(-9 . 0)
 +    \override MetronomeMark #'padding = #'3
 +  @}
 +  \context @{ \Staff
 +  @}
 +  \context @{ \Voice
 +    \override Glissando #'thickness = #3
 +    \override Glissando #'gap = #0.1
 +  @}
 +@}
 +@end example
 +
 +@lilypond[quote,ragged-right]
- tempoMark = #(define-music-function (parser location markp) (string?)
- #{
-   \once \override Score . RehearsalMark #'self-alignment-X = #left
-   \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
-   \mark \markup { \bold $markp }
- #})
++mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
 +  #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-   \once \override Score.RehearsalMark #'padding = #2.0
-   \tempoMark "Poco piu mosso"
++
++inst = #(define-music-function (parser location string) (string?)
++  (make-music
++    'TextScriptEvent
++    'direction UP
++    'text (markup #:bold (#:box string))))
 +
 +#(set-global-staff-size 23)
 +\layout{
 +  \context { \Score
 +    \override MetronomeMark #'extra-offset = #'(-9 . 0)
 +    \override MetronomeMark #'padding = #'3
 +  }
 +  \context { \Voice
 +    \override Glissando #'thickness = #3
 +    \override Glissando #'gap = #0.1
 +  }
 +}
 +
 +\relative c'' {
 +  \tempo 4=50
 +  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
- Il ne nous reste plus qu'à remplacer @code{\include "definitions.ly"}
- par @code{\include "publication-web.ly"} dans notre fichier de musique.
++  \inst "Clarinet"
 +  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
 +}
 +@end lilypond
 +
- pourrions créer un fichier @file{definitions.ly} qui ne contiendrait
- que les définitions de @code{mpdolce} et de @code{tempoMark}, un
- fichier @file{publication-web.ly} qui ne contiendrait que la section
- @code{layout} décrite ci-dessus et un fichier @file{universite.ly} qui
++Il ne nous reste plus qu'à remplacer @code{\include "definitions.ily"}
++par @code{\include "publication-web.ily"} dans notre fichier de musique.
 +
 +Il est possible, bien sûr, de rendre cela encore plus pratique.  Nous
- \include "definitions.ly"
++pourrions créer un fichier @file{definitions.ily} qui ne contiendrait
++que les définitions de @code{mpdolce} et de @code{inst}, un
++fichier @file{publication-web.ily} qui ne contiendrait que la section
++@code{layout} décrite ci-dessus et un fichier @file{universite.ily} qui
 +ne contiendrait que les retouches pour produire le résultat que mon
 +professeur préfère.  Le début du fichier @file{musique.ly} ressemblerait
 +alors à
 +
 +@example
- \include "publication-web.ly"
- %\include "universite.ly"
++\include "definitions.ily"
 +
 +%%%  Décommentez seulement une de ces deux lignes !
- chaque fichier de musique par @code{\include "../global.ly"} qui contient :
++\include "publication-web.ily"
++%\include "universite.ily"
 +@end example
 +
 +Cette approche peut être utile même si vous ne produisez qu'un seul
 +jeu de partitions.  J'utilise personnellement une demi-douzaine de
 +fichiers de @qq{feuille de style} pour mes projets.  Je commence
- %%%   global.ly
++chaque fichier de musique par @code{\include "../global.ily"} qui contient :
 +
 +@example
- utilisant LaTeX --- par exemple, @samp{No\"el}.  À partir de la
- version 2.6, le caratère @samp{ë} doit être entré directement
++%%%   global.ily
 +\version @w{"@version{}"}
 +#(ly:set-option 'point-and-click #f)
 +\include "../init/init-defs.ly"
 +\include "../init/init-mise-en-page.ly"
 +\include "../init/init-en-tetes.ly"
 +\include "../init/init-papier.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 input files
 +@subsection Updating old input files
 +
++@cindex convert-ly
++@cindex mise à jour d'anciens fichiers
++
 +La syntaxe de LilyPond change de temps en temps.  Ces changements de
 +syntaxe du langage d'entrée accompagnent les améliorations du
 +logiciel.  Ces changements sont parfois destinés à rendre les fichiers
 +plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles
 +fonctionnalités.
 +
 +LilyPond est fourni avec un utilitaire qui facilite cette mise à
 +jour : @command{convert-ly}.  Pour savoir comment utiliser ce programme,
 +voir @rprogram{Updating files with convert-ly}.
 +
 +Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
 +modifications.  Il s'occupe des changements qui ne requièrent qu'une
 +simple substitution de texte --- comme @code{raggedright} devenant
 +@code{ragged-right} ---, les autres étant trop compliqués à effectuer.
 +Les changements de syntaxe qui ne sont pas gérés par @command{convert-ly}
 +sont énumérés dans @rprogram{Updating files with convert-ly}.
 +
 +Par exemple, dans les versions 2.4 et antérieures de LilyPond,
 +les accents et les lettres non anglaises étaient entrées en
- @iftex
++utilisant LaTeX --- par exemple, @code{No\"el}.  À partir de la
++version 2.6, le caratère @code{ë} doit être entré directement
 +dans le fichier LilyPond comme caractère UTF-8.
 +@code{convert-ly} ne peut pas changer tous les caractères
 +LaTeX en caractères UTF-8 ; vous devez mettre à jour vos vieux
 +fichiers LilyPond manuellement.
 +
 +
 +
++@node Common errors
++@subsection Common errors
++
++The error conditions described below occur often, yet the cause
++is not obvious or easily found.  Once seen and understood, they
++are easily handled.
++
++
++@menu
++* Music runs off the page::
++* Apparent error in ../ly/init.ly::
++* Error message Unbound variable %::
++@end menu
++
++@node Music runs off the page
++@unnumberedsubsubsec Music runs off the page
++
++Lorsque la musique s'épanche au delà de la marge droite ou bien semble
++anormalement comprimée, la raison en est le plus souvent une note à la
++durée erronée ; cela finit par provoquer le débordement de la dernière
++note d'une mesure.  Rien ne s'oppose à ce que la dernière note d'une
++mesure ne s'arrête avant la barre de mesure ; on considère simplement
++qu'elle se prolonge sur la mesure suivante.  Des débordements à
++répétition finissent par générer une musique comprimée ou qui sort de la
++page, pour la simple et bonne raison que les sauts de ligne automatiques
++ne peuvent intervenir qu'à la fin d'une mesure complète, autrement dit
++lorsque toutes les notes sont terminées avant la fin de la mesure.
++
++@warning{Une durée erronée peut empêcher les sauts de ligne, ce qui
++conduit à une musique compressée, voire à un débordement de la page.}
++
++Une erreur de durée sera bien plus facilement localisable si vous
++positionnez régulièrement des contrôles de barre de mesure --- voir 
++@ruser{Bar and bar number checks}.
++
++Si vous tenez absolument à enchainer de tels débordements, vous devrez
++insérer des barres de mesure invisibles là où vous souhaitez positionner
++un saut de ligne.  Consultez le chapitre @ruser{Bar lines} pour plus de
++détails. 
++
++@node Apparent error in ../ly/init.ly
++@unnumberedsubsubsec Apparent error in @code{../ly/init.ly}
++
++Certains messages d'erreur relatifs à une erreur de syntaxe dans le
++fichier @code{../ly/init.ly} peuvent survenir lorsque le fichier est mal
++formaté.  Cela se produit notamment lors d'un défaut de parité de
++bornage ou de guillemets.
++
++L'erreur la plus courante est la simple omission d'une accolade
++fermante (@code{@}} à la fin du bloc @code{Score}.  La solution est
++évidente en pareil cas : i lsuffit de vérifier que le bloc @code{Score}
++est bien clôturé.  La structure des fichiers LilyPond est abordée plus
++en détails au chapitre @ref{How LilyPond input files work}.  C'est la
++raison pour laquelle nous vous invitons à utiliser un éditeur de texte
++qui prenne en charge le contrôle de parité des parnthèses, crochets et
++accolades afin de vous éviter de telles erreurs.
++
++Lorsqu'il s'agit d'un guillemet fermant (@code{"}) omis, le message
++d'erreur devrait vous indiquer un numéro de ligne avoisinant.  L'erreur
++se situe la plupart du temps une ou deux lignes au-dessus de celle
++indiquée. 
++
++
++@node Error message Unbound variable %
++@unnumberedsubsubsec Error message Unbound variable %
++
++Ce message d'erreur, qu'il apparaisse sur le terminal ou en fin de
++fichier journal, est associé à un message du type @qq{GUILE a signalé
++une erreur @dots{}} survient à chaque fois qu'un commentaire
++@emph{LilyPond} est indûment placé dans une routine @emph{Scheme}.
++
++Un commentaire LilyPond est introduit par le signe pourcent (@code{%})
++et de doit en aucun cas se trouver dans une routine Scheme.  En Scheme,
++les commentaire s'introduisent par un point-virgule (@code{;}).
++
++
 +@node Troubleshooting (taking it all apart)
 +@subsection Troubleshooting (taking it all apart)
 +
 +Tôt ou tard, vous écrirez un fichier que LilyPond ne peut pas
 +compiler.  Les messages que LilyPond affiche peuvent vous aider à
 +trouver l'erreur, mais dans beaucoup de cas vous aurez besoin de faire
 +quelques recherches pour déterminer la source du problème.
 +
 +Pour ce faire, les outils les plus puissants sont le commentaire de
 +fin de ligne, indiqué par @code{%}, et le commentaire multilignes (ou
 +bloc de commentaire), indiqué par @code{%@{ ... %@}}.  Si vous ne
 +pouvez localiser le problème, commencez par mettre en commentaire de
 +grandes parties de votre fichier d'entrée.  Après avoir mis en
 +commentaire une section, essayez de compiler à nouveau.  Si cela
 +fonctionne, c'est que le problème se situe dans cette partie du
 +fichier.  Si cela ne fonctionne pas, continuez à mettre en commentaire
 +d'autres sections, jusqu'à ce que vous ayez quelque chose qui compile.
 +
 +Dans un cas extrême, vous pourriez en arriver à
 +
 +@example
 +\score @{
 +  <<
 +    % \melodie
 +    % \harmonie
 +    % \basse
 +  >>
 +  \layout@{@}
 +@}
 +@end example
 +
 +@noindent
 +c'est-à-dire un fichier sans aucune musique.
 +
 +Si cela arrive, ne vous découragez pas.  Décommentez un peu, la partie
 +de basse par exemple, et voyez si ça fonctionne.  Si ce n'est pas le
 +cas, placez en commentaire toute la partie de basse, mais laissez
 +@code{\basse} décommenté dans le bloc @code{\score}.
 +
 +@example
 +basse = \relative c' @{
 +%@{
 +  c4 c c c
 +  d d d d
 +%@}
 +@}
 +@end example
 +
 +Maintenant commencez à décommenter petit à petit le partie de
 +@code{basse} jusqu'à ce que vous localisiez la ligne qui pose
 +problème.
 +
 +Une autre technique de déboguage très utile est la construction
- @end iftex
- @ifnottex
- d'@ref{Minimal examples}.
- @end ifnottex
 +de @ref{Minimal examples}.
- @item un ajout à
- @uref{http://lsr@/.dsi@/.unimi@/.it/,LilyPond Snippet Repository}.
 +
 +
 +@node Minimal examples
 +@subsection Minimal examples
 +
 +Un exemple minimal est un exemple de code aussi court que possible.
 +De tels exemples sont bien plus compréhensibles que des exemples
 +longs.  Les exemples minimaux sont utilisés pour
 +
 +@itemize
 +@item les rapports de bogue,
 +@item les demandes d'aide sur les listes de diffusion,
- sera substitué le contenu du fichier @file{musique-Cor.ly}, et de ce
++@item un ajout au
++@uref{http://lsr.dsi.unimi.it/,LilyPond Snippet Repository}.
 +@end itemize
 +
 +Pour construire un exemple minimal, la règle est très simple : enlevez
 +tout ce qui n'est pas nécessaire.  Il est préférable de commenter les
 +lignes non nécessaires plutôt que de les effacer : ainsi, si vous vous
 +apercevez que certaines étaient @emph{réellement} nécessaires, vous
 +pouvez les décommenter au lieu de les resaisir.
 +
 +Il y a deux exceptions à cette règle du strict nécessaire :
 +
 +@itemize
 +@item incluez le numéro de @code{\version} en début de fichier
 +@item si possible, utilisez @code{\paper@{ ragged-right=##t @}} au
 +début de votre exemple.
 +@end itemize
 +
 +Tout l'intérêt d'un exemple minimal réside dans sa facilité de lecture :
 +
 +@itemize
 +@item évitez d'utiliser des notes, armures ou métriques compliquées, à
 +moins que vous ne vouliez montrer quelque chose en rapport avec
 +celles-ci,
 +@item n'utilisez pas de commandes @code{\override} sauf si elles font
 +l'intérêt de l'exemple.
 +@end itemize
 +
++
 +@node Scores and parts
 +@section Scores and parts
 +
 +Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
 +D'abord dans les parties séparées destinées aux musiciens, et ensuite
 +dans le conducteur destiné au chef.  Les variables sont là pour vous éviter
 +un double travail.  La musique n'est entrée qu'une seule fois, et stockée dans
 +une variable, dont le contenu servira à imprimer à la fois la partie
 +séparée et la partition d'orchestre.
 +
 +Il est judicieux de définir les notes dans un fichier séparé. Par
 +exemple, supposons que le fichier @file{musique-Cor.ly} contienne la
 +partie suivante pour un duo cor/@/basson.
 +
 +@example
 +notesCor = \relative c @{
 +  \time 2/4
 +  r4 f8 a cis4 f e d
 +@}
 +@end example
 +
 +@noindent
 +On établira alors une partie séparée en constituant un nouveau fichier :
 +
 +@example
 +\include "musique-Cor.ly"
 +\header @{
 +  instrument = "Cor en Fa"
 +@}
 +
 +@{
 + \transpose f c' \notesCor
 +@}
 +@end example
 +
 +À la ligne
 +
 +@example
 +\include "musique-Cor.ly"
 +@end example
 +
 +@noindent
- sera transposé à la quinte supérieure : le son réel @samp{f} s'écrit
++sera substitué le contenu du fichier @code{musique-Cor.ly}, et de ce
 +fait la variable @code{notesCor} se trouvera définie.  La commande
 +@code{\transpose f@tie{}c'} indique que son argument @code{\notesCor}
- Dans une partie séparée, les silences multi-mesures sont compressés.
- Il faut pour cela définir la propriété @code{skipBars} à @q{vrai} :
++sera transposé à la quinte supérieure : le son réel @code{f} s'écrit
 +@code{c'}, ce qui est la caractéristique d'un Cor en fa.  La
 +transposition est visible comme suit :
 +
 +@lilypond[quote,ragged-right]
 +\transpose f c' \relative c {
 +  \time 2/4
 +  r4 f8 a cis4 f e d
 +}
 +@end lilypond
 +
 +Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
 +pendant plusieurs mesures.  Un silence spécial, appelé silence multi-mesures,
 +l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
 +durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une demi-pause,
 +etc.  Cette durée peut être multipliée pour établir de plus longs silences.
 +Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
 +
 +@example
 +R2*3
 +@end example
 +
- Cette commande assigne la valeur @q{vrai} --- @emph{true} en anglais, et
- @samp{#t} dans le langage Scheme --- à cette propriété dans le
++Dans une partie séparée, les silences multimesure sont compressés.
++Il faut pour cela définir la propriété @code{skipBars} à @qq{vrai} :
 +
 +@example
 +\set Score.skipBars = ##t
 +@end example
 +
 +@noindent
- silence multi-mesures et cette option, on obtient le résultat suivant :
++Cette commande assigne la valeur @qq{vrai} --- @emph{true} en anglais, et
++@code{#t} dans le langage Scheme --- à cette propriété dans le
 +contexte @code{Score}.  Si l'on ajoute dans la musique ci-dessus le
- voix de notre duo se trouve dans le fichier @file{musique-Basson.ly} en
++silence multimesure et cette option, on obtient le résultat suivant :
 +
 +@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
 +
 +Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
- et de parties séparées se trouvent dans le manuel : voir
++voix de notre duo se trouve dans le fichier @code{musique-Basson.ly} en
 +tant que variable @code{notesBasson}, on établira un conducteur avec
 +
 +@example
 +\include "musique-Basson.ly"
 +\include "musique-Cor.ly"
 +
 +<<
 +  \new Staff \notesCor
 +  \new Staff \notesBasson
 +>>
 +@end example
 +
 +@noindent
 +ce qui équivaut à
 +
 +@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
 +
 +Des informations plus détaillées sur la mise en place de conducteurs
- Les variables (@q{propriétés}) réglables sont abordées en détail dans
++et de parties séparées se trouvent dans le manuel de notation : voir
 +@ruser{Writing parts}.
 +
++Les variables (@qq{propriétés}) réglables sont abordées en détail dans
 +@ruser{The set command}.
++
++
++
++@node Make and Makefiles
++@section Make and Makefiles
++
++@cindex makefiles
++@cindex make
++
++La plupart des plates-formes sur lesquelles tourne LilyPond disposent
++d'un logiciel appelé @code{make}.  Ce logiciel va lire un fichier
++spécial, nommé de @code{Makefile}, qui contient tout ce qu'il
++faut --- les dépendances entre certains fichiers, les instructions
++successives à traiter par le système --- pour aboutir au fichier que
++vous désirez obtenir.  Il pourrait par exemple contenir tout ce qu'il
++faut pour produire @code{ballade.pdf} et @code{ballade.midi} à partir de 
++@code{ballade.ly} en lançant LilyPond.
++
++La création d'un @code{Makefile} peut se révéler pertinente pour
++certains projets, que ce soit par simple goût personnel ou bien par
++respect de ceux qui pourront accéder à vos sources.  Cette manière de
++procéder est particulièrement indiquée lorsque vous travaillez sur un
++projet de grande envergure impliquant de nombreuses inclusions de
++fichiers et différentes éditions --- par exemple un conducteur et un
++matériel d'orchestre complet avec la partition pour le chef et une
++partition séparée pour chacun des pupitres --- ou bien si votre projet
++requiert certaines commandes particulières comme @code{lilypond-book}.
++Les @emph{Makefiles} varient tant en complexité qu'en flexibilité selon
++les besoin et les aptitudes de celui qui les crée.  Le programme GNU Make
++est installé par défaut sur les distributions Linux et sur MacOS@tie{}X,
++et il en existe une version pour les environnements Windows.
++
++Consultez le @strong{GNU Make Manual} pour plus de détails sur ce dont 
++@code{make} est capable --- vous pourrez même en trouver des versions
++françaises à l'aide des moteurs de recherche ---, dans la mesure où ce
++qui suit ne donne qu'un bref apperçu de ses possibilités.
++
++Les commandes permettant de définir les règles diffèrent selon la
++plate-forme : si les différents Linux et MacOS@tie{}X utilisent
++@code{bash}, Windows utilise @code{cmd}.  Dans le cas de MacOS@tie{}X,
++vous devrez toutefois configurer votre système de telle sorte qu'il
++utilise l'interpréteur en ligne de commande.  Voici quelques exemples de
++fichier @emph{Makefile}, avec une version pour Linux ou MacOS et une
++pour Windows.
++
++Pour commencer, une pièce à quatre mouvements pour orchestre et dont les 
++fichiers sont répartis selon l'arborescence suivante :
++
++@example
++Symphonie/
++|-- MIDI/
++|-- Makefile
++|-- Notes/
++|   |-- alto.ily
++|   |-- cor.ily
++|   |-- cello.ily
++|   |-- figures.ily
++|   |-- hautbois.ily
++|   |-- trioCordes.ily
++|   |-- violonOne.ily
++|   `-- violonTwo.ily
++|-- Partitions/
++|   |-- symphonie.ly
++|   |-- symphonieI.ly
++|   |-- symphonieII.ly
++|   |-- symphonieIII.ly
++|   `-- symphonieIV.ly
++|-- PDF/
++|-- Pupitres/
++|   |-- symphon-alto.ly
++|   |-- symphonie-cello.ly
++|   |-- symphonie-cor.ly
++|   |-- symphonie-hautbois.ly
++|   |-- symphonie-violonUn.ly
++|   `-- symphonie-violonDeux.ly
++`-- symphonieDefs.ily
++@end example
++
++Les fichiers @code{.ly} des répertoires @code{Partitions} et
++@code{Pupitres} récupèreront la notation des fichiers @code{.ily}
++contenus dans le répertoire @code{Notes} :
++
++@example
++%%% début du fichier "symphone-cello.ly"
++\include ../definitions.ily
++\include ../Notes/cello.ily
++@end example
++
++Le @emph{Makefile} répertorie des cibles correspondant à @code{score}
++(l'intégrale au format conducteur), @code{mouvements} (chacun des
++mouvements au format conducteur) et @code{pupitres} (une partition par
++pupitre).  Il contient aussi une cible @code{archive} chargée de générer
++une archive des fichiers sources qui pourra être diffusée sur la toile ou
++transmise par courriel.  Voici ce que contiendrait ce @emph{Makefile}
++pour Linux ou MacOS@tie{}X.  Ce fichier doit être enregistré sous le nom
++de @code{Makefile} à la racine du projet --- ici @code{Symphonie}.
++
++@warning{Lorsque vous définissez une cible ou une règle sur plusieurs
++lignes, les lignes à partir de la deuxième @strong{doivent} débuter par
++une tabulation, non pas par des espaces.}
++
++@example
++# Le préfixe au nom des fichiers résultants
++piece = symphonie
++# Détermination du nombre de processeurs
++CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//`
++# La commande d'appel à lilypond
++LILY_CMD = lilypond -ddelete-intermediate-files \
++                    -dno-point-and-click -djob-count=$(CPU_CORES)
++
++# Les suffixes utilisés dans ce Makefile
++.SUFFIXES: .ly .ily .pdf .midi
++
++# Les fichiers sources et résultants sont recherchés dans les répertoires
++# listés dans la variable VPATH.  Ceux-ci sont tous des sous-répertoires
++# du répertoire courant (fourni par la variable de GNU make `CURDIR').
++VPATH = \
++  $(CURDIR)/Partitions \
++  $(CURDIR)/PDF \
++  $(CURDIR)/Pupitres \
++  $(CURDIR)/Notes
++
++# La règle type pour créer un PDF et un MIDI à partir d'un fichier
++# source LY.
++# Les .pdf résultants iront dans le sous-répertoire "PDF" et les fichiers
++# .midi dans le sous-répertoire "MIDI".
++%.pdf %.midi: %.ly
++        $(LILY_CMD) $<; \           # cette ligne commence par une tabulation
++        if test -f "$*.pdf"; then \
++            mv "$*.pdf" PDF/; \
++        fi; \
++        if test -f "$*.midi"; then \
++            mv "$*.midi" MIDI/; \
++        fi
++
++notes = \
++  alto.ily \
++  cello.ily \
++  cor.ily \
++  hautbois.ily \
++  violonUn.ily \
++  violonDeux.ily
++
++# Les dépendances selon le mouvement.
++$(piece)I.pdf: $(piece)I.ly $(notes)
++$(piece)II.pdf: $(piece)II.ly $(notes)
++$(piece)III.pdf: $(piece)III.ly $(notes)
++$(piece)IV.pdf: $(piece)IV.ly $(notes)
++
++# Les dépendances pour la partition intégrale.
++$(piece).pdf: $(piece).ly $(notes)
++
++# Les dépendances pour les pupitres.
++$(piece)-alto.pdf: $(piece)-alto.ly alto.ily
++$(piece)-cello.pdf: $(piece)-cello.ly cello.ily
++$(piece)-cor.pdf: $(piece)-cor.ly cor.ily
++$(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily
++$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
++$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
++
++# Lancer `make score' pour générer l'intégrale des quatre mouvements en
++# un seul fichier.
++.PHONY: score
++score: $(piece).pdf
++
++# Lancer `make parties' pour obtenir tous les pupitres.
++# Lancer `make toto.pdf' pour obtenir la partie instrumentale de toto.
++# Par exemple : `make symphonie-cello.pdf'.
++.PHONY: parties
++parties: $(piece)-cello.pdf \
++         $(piece)-violonUn.pdf \
++         $(piece)-violonDeux.pdf \
++         $(piece)-alto.pdf \
++         $(piece)-hautbois.pdf \
++         $(piece)-cor.pdf
++
++# Lancer `make mouvements' pour générer un fichier séparé pour chacun
++# des mouvements.
++.PHONY: mouvements
++mouvements: $(piece)I.pdf \
++            $(piece)II.pdf \
++            $(piece)III.pdf \
++            $(piece)IV.pdf
++
++all: score parties mouvements
++
++archive:
++        tar -cvvf symphonie.tar \      # cette ligne commence par une tabulation
++        --exclude=*pdf --exclude=*~ \
++        --exclude=*midi --exclude=*.tar \
++        ../Symphonie/*
++@end example
++
++
++Les choses se compliquent sous Windows.  Une fois GNU Make pour Windows
++téléchargé et installé, il vous faudra correctement définir le chemin
++d'accès au programme @emph{Make} --- dans les variables d'environnement
++du système ---  afin que l'interpréteur de commandes DOS puisse le
++localiser.  Pour cela, faites un clic droite sur @qq{Poste de travail},
++choisissez @code{Propriétés} puis @code{Avancées}.  Cliquez sur
++@code{Variables d'environnement} puis, dans l'onglet @w{@code{Variables
++système}}, mettez @code{path} en surbrillance et cliquez sur
++@code{Modifier}.  Ajoutez alors le chemin d'accès complet à l'exécutable
++de GNU Make, qui devrait ressembler à :
++
++@example
++C:\Program Files\GnuWin32\bin
++@end example
++
++Il va également falloir adapter le @emph{makefile} aux particularités de
++l'interpréteur de commandes et à la présence d'espaces dans le nom de
++certains répertoire de ce système.
++La cible @code{archive} est tout bonnement supprimée, puisque Windows ne
++dispose pas de la commande @code{tar}.  Enfin, les fichiers MIDI ont une
++extension par défaut propre à Windows.
++
++
++@example
++## VERSION POUR WINDOWS
++##
++piece = symphonie
++LILY_CMD = lilypond -ddelete-intermediate-files \
++                    -dno-point-and-click \
++                    -djob-count=$(NUMBER_OF_PROCESSORS)
++
++#get the 8.3 name of CURDIR (workaround for spaces in PATH)
++workdir = $(shell for /f "tokens=*" %%b in ("$(CURDIR)") \
++          do @@echo %%~sb)
++
++.SUFFIXES: .ly .ily .pdf .mid
++
++VPATH = \
++  $(workdir)/Partitions \
++  $(workdir)/PDF \
++  $(workdir)/Pupitress \
++  $(workdir)/Notes
++
++%.pdf %.mid: %.ly
++        $(LILY_CMD) $<      # cette ligne commence par une tabulation
++        if exist "$*.pdf"  move /Y "$*.pdf"  PDF/ # tabulation au début
++        if exist "$*.mid" move /Y "$*.mid" MIDI/  # tabulation au début
++
++notes = \
++  cello.ily \
++  figures.ily \
++  cor.ily \
++  hautbois.ily \
++  trioCordes.ily \
++  alto.ily \
++  violonUn.ily \
++  violonDeux.ily
++
++$(piece)I.pdf: $(piece)I.ly $(notes)
++$(piece)II.pdf: $(piece)II.ly $(notes)
++$(piece)III.pdf: $(piece)III.ly $(notes)
++$(piece)IV.pdf: $(piece)IV.ly $(notes)
++
++$(piece).pdf: $(piece).ly $(notes)
++
++$(piece)-cello.pdf: $(piece)-cello.ly cello.ily
++$(piece)-cor.pdf: $(piece)-cor.ly cor.ily
++$(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily
++$(piece)-alto.pdf: $(piece)-alto.ly alto.ily
++$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
++$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
++
++.PHONY: score
++score: $(piece).pdf
++
++.PHONY: parties
++parties: $(piece)-cello.pdf \
++         $(piece)-violonUn.pdf \
++         $(piece)-violonDeux.pdf \
++         $(piece)-alto.pdf \
++         $(piece)-hautbois.pdf \
++         $(piece)-cor.pdf
++
++.PHONY: mouvements
++mouvements: $(piece)I.pdf \
++           $(piece)II.pdf \
++           $(piece)III.pdf \
++           $(piece)IV.pdf
++
++all: score parties mouvements
++@end example
++
++
++Le @emph{Makefile} suivant convient pour un document
++@command{lilypond-book} réalisé avec @LaTeX{}.  Ce projet contiendra un
++index, ce qui nécessitera de lancer une deuxième fois @command{latex}
++pour mettre à jour les liens.  Les fichiers résultants iront dans le
++répertoire @code{out} pour ce qui est des .pdf et dans le répertoire
++@code{htmlout} pour ce qui est du html.
++
++@example
++SHELL=/bin/sh
++FILE=monprojet
++OUTDIR=out
++WEBDIR=htmlout
++VIEWER=acroread
++BROWSER=firefox
++LILYBOOK_PDF=lilypond-book --output=$(OUTDIR) --pdf $(FILE).lytex
++LILYBOOK_HTML=lilypond-book --output=$(WEBDIR) $(FILE).lytex
++PDF=cd $(OUTDIR) && pdflatex $(FILE)
++HTML=cd $(WEBDIR) && latex2html $(FILE)
++INDEX=cd $(OUTDIR) && makeindex $(FILE)
++PREVIEW=$(VIEWER) $(OUTDIR)/$(FILE).pdf &
++
++all: pdf web keep
++
++pdf:
++        $(LILYBOOK_PDF)  # tabulation en début de ligne
++        $(PDF)           # tabulation en début de ligne
++        $(INDEX)         # tabulation en début de ligne
++        $(PDF)           # tabulation en début de ligne
++        $(PREVIEW)       # tabulation en début de ligne
++
++web:
++        $(LILYBOOK_HTML) # tabulation en début de ligne
++        $(HTML)          # tabulation en début de ligne
++        cp -R $(WEBDIR)/$(FILE)/ ./  # tabulation en début de ligne
++        $(BROWSER) $(FILE)/$(FILE).html &  # tabulation en début de ligne
++
++keep: pdf
++        cp $(OUTDIR)/$(FILE).pdf $(FILE).pdf  # tabulation en début de ligne
++
++clean:
++        rm -rf $(OUTDIR) # tabulation en début de ligne
++
++web-clean:
++        rm -rf $(WEBDIR) # tabulation en début de ligne
++
++archive:
++        tar -cvvf monprojet.tar \ # tabulation en début de ligne
++        --exclude=out/* \
++        --exclude=htmlout/* \
++        --exclude=monprojet/* \
++        --exclude=*midi \
++        --exclude=*pdf \
++        --exclude=*~ \
++        ../MonProjet/*
++@end example
++
++AVENIR: faire que ça marche sous Windows
++
++Ce @emph{makefile} n'est malheureusement pas opérationnel sous Windows.
++La seule alternative qui s'offre aux utilisateurs de Windows consiste à
++créer un fichier de traitement par lot (@code{.bat}) qui contienne les
++différentes commandes successives.  Bien que cette manière de procéder
++ne tienne aucun compte des dépendances entre fichiers, elle permet de
++réduire le nombre de processus à lancer dans une seule commande.  Vous
++devrez enregistrer les lignes suivantes dans un fichier
++@code{construire.bat} ou @code{construire.cmd}.  Ce fichier pourra être
++exécuté soit en ligne de commande, soit par un double clic sur son
++icone. 
++
++@example
++lilypond-book --output=out --pdf monprojet.lytex
++cd out
++pdflatex monprojet
++makeindex monprojet
++pdflatex monprojet
++cd ..
++copy out\monprojet.pdf MonProjet.pdf
++@end example
++
++
++@seealso
++Manuel d'utilisation :
++@rprogram{Setup for MacOS X},
++@rprogram{Command-line usage},
++@rprogram{LilyPond-book}
index 7e25c7f412c79c1c2a559ff511485e0adaeace1c,0000000000000000000000000000000000000000..db558a69866e4431f211a296d973b19526499002
mode 100644,000000..100644
--- /dev/null
@@@ -1,46 -1,0 +1,45 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
 +%% Do not edit this file; it is auto-generated from input/new
 +%% This file is in the public domain.
 +%% Note: this file works from version 2.13.0
 +\version "2.13.1"
 +
 +\header {
- %% Translation of GIT committish: 6bf3e9149eb97e66b4c813e41dc7625f06c501aa
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +Se puede hacer que los diagramas de posiciones se muestren sólo
 +cuando el acorde cambia o al comienzo de una nueva línea.
 +
 +"
 +
 +  doctitlees = "Cambios de acorde de posiciones de trastes"
 +
++%% Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
 +texidocde = "
 +Bunddiagramme können definiert werden, sodass sie nur angezeigt werden,
 +wenn der Akkord sich ändert oder eine neue Zeile anfängt.
 +
 +"
 +
 +  doctitlede = "Akkordänderungen für Bunddiagramme"
 +
 +  lsrtags = "fretted-strings"
 +  texidoc = "FretBoards can be set to display only when the chord changes
 +or at the beginning of a new line."
 +  doctitle = "chordChanges for FretBoards"
 +} % begin verbatim
 +
 +
 +\include "predefined-guitar-fretboards.ly"
 +
 +myChords = \chordmode {
 +  c1 c1 \break
 +  \set chordChanges = ##t
 +  c1 c1 \break
 +  c1 c1 \break
 +}
 +
 +<<
 +  \new ChordNames { \myChords }
 +  \new FretBoards { \myChords }
 +  \new Staff { \myChords }
 +>>
index 0b6f93485e86ad9754ffdc8c001ec57904adbb06,0000000000000000000000000000000000000000..b11e07e4c9fdb8f5191735cc3aa69e30ba9fcbdd
mode 100644,000000..100644
--- /dev/null
@@@ -1,88 -1,0 +1,88 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
 +%% Do not edit this file; it is auto-generated from input/new
 +%% This file is in the public domain.
 +%% Note: this file works from version 2.13.1
 +\version "2.13.1"
 +
 +\header {
- %% Translation of GIT committish: 13ac9d1dfbcc297166948ee396e9ade078d2446e
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +
 +Las ligaduras de expresión se pueden construir con patrones de
 +discontinuidad complejos mediante la definición de la propiedad
 +@code{dash-definition}.  @code{dash-definition} es una lista de
 +@code{elementos de discontinuidad}.  Un @code{elemento de
 +discontinuidad} es una lista de parámetros que definen el
 +comportamiento de discontinuidad de un segmento de la ligadura de
 +expresión.
 +
 +La ligadura se define en términos del parámetro de bezier t cuyo
 +rango va de 0 a la izquierda de la ligadura hasta 1 en el extremo
 +derecho de la ligadura.  Cada @code{elemento de discontinuidad} es
 +una lista @code{(t-inicio t-final fracción-discontinuidad
 +período-discontinuidad)}.  La región de la ligadura desde
 +@code{t-inicio} hasta @code{t-final} tendrá una fracción
 +@code{fracción-discontinuidad} de cada
 +@code{período-discontinuidad} de color negro.
 +@code{período-discontinuidad} se define en términos de espacios de
 +pentagrama.  @code{fracción-discontinuidad} se establece al valor
 +de 1 para una ligadura continua.
 +
 +"
 +
 +  doctitlees = "Hacer ligaduras de expresión con estructura compleja de discontinuidad"
 +
 +
++%% Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
 +  texidocde = "
 +Legatobögen können mit einem komplizierten Strichelmuster
 +gesetzt werden, indem die @code{dash-definition}-Eigenschaft
 +definiert wird.  @code{dash-definition} ist eine Liste bestehend
 +aus @code{dash-elements}-Elementen.  Ein @code{dash-element} ist
 +eine Liste an Parametern, die das Strichverhalten für einen
 +Abschnitt des Legatobogens definieren.
 +
 +Der Bogen wird nach dem Bezierparameter t definiert, welcher
 +von 0 am linken Ende des Bogens zu 1 am rechten Ende des Bogens
 +reicht.  @code{dash-element} ist eine Liste @code{(start-t stop-t dash-Unterbrechung dash-Abschnitt)}.  Die Region des Bogens von @code{start-t}
 +bis @code{stop-t} hat eine Unterbrechung von @code{dash-Unterbrechung}
 +von jedem @code{dash-Abschnitt}-Schwarzabschnitt.  @code{dash-Abschnitt} ist in Notenlinienzwischenräumen definiert.
 +@code{dash-Abschnitt} ist auf 1 für einen durchgehenden Bogen
 +gesetzt.
 +"
 +  doctitlede = "Legatobögen mit kompliziertem Strichelmuster
 +  definieren"
 +
 +  lsrtags = "rhythms, expressive-marks"
 +  texidoc = "
 +Slurs can be made with complex dash patterns by defining
 +the @code{dash-definition} property.  @code{dash-definition}
 +is a list of @code{dash-elements}.  A @code{dash-element} is a
 +list of parameters defining the dash behavior for a segment of
 +the slur.
 +
 +The slur is defined in terms of the bezier parameter t
 +which ranges from 0
 +at the left end of the slur to 1 at the right end of the slur.
 +@code{dash-element} is a list @code{(start-t stop-t dash-fraction
 +dash-period)}.  The region of the slur from @code{start-t} to
 +@code{stop-t} will have a fraction @code{dash-fraction}
 +of each @code{dash-period} black.  @code{dash-period} is
 +defined in terms of staff spaces.  @code{dash-fraction} is
 +set to 1 for a solid slur.
 +"
 +  doctitle = "Making slurs with complex dash structure"
 +} % begin verbatim
 +
 +
 +\relative c' {
 +  \once \override
 +    Slur #'dash-definition = #'((0 0.3 0.1 0.75)
 +                                (0.3 0.6 1 1)
 +                                (0.65 1.0 0.4 0.75))
 +  c( d e f)
 +  \once \override
 +    Slur #'dash-definition = #'((0 0.25 1 1)
 +                                (0.3 0.7 0.4 0.75)
 +                                (0.75 1.0 1 1))
 +  c( d e f)
 +}
index 595d579ba0d332234c6a8322b1322084416abd9e,0000000000000000000000000000000000000000..7812cda0ae4e00f9f76df6bbef6be8508a2a2875
mode 100644,000000..100644
--- /dev/null
@@@ -1,74 -1,0 +1,74 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
 +%% Do not edit this file; it is auto-generated from input/new
 +%% This file is in the public domain.
 +%% Note: this file works from version 2.13.1
 +\version "2.13.1"
 +
 +\header {
- %% Translation of GIT committish: 6bf3e9149eb97e66b4c813e41dc7625f06c501aa
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  texidoces = "
 +LilyPond también proporciona funciones de formato para imprimir
 +números de grupo especial diferentes a la propia fracción, así
 +como para añadir una figura al número o a la fracción de la
 +agrupación.
 +
 +"
 +
 +  doctitlees = "Números de agrupación especial distintos a los predeterminados"
 +
++%% Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
 +texidocde = "
 +LilyPond stellt auch Formatierungsfunktionen zur Verfügung, mit denen
 +N-tolennummern gesetzt werden können, die sich von dem eigentlichen Bruch
 +unterscheiden.  Auch ein Notenwert kann zu Nenner oder Zähler des Bruchs
 +hinzugefügt werden.
 +"
 +  doctitlede = "Nicht-standard-N-tolennummern"
 +
 +%% Translation of GIT committish: fa7695ea860d7ab2db86581dd5f8bc4f413f6705
 +  texidocfr = "
 +LilyPond sait aussi gérer des nolets dont le chiffrage imprimé ne
 +correspond pas exactement à la fraction de mesure à laquelle ils se
 +réfèrent, tout comme ceux auxquels une valeur de note vient en complément
 +au chiffre.
 +"
 +  doctitlefr = "Nolets au chiffrage inhabituel"
 +
 +  lsrtags = "rhythms"
 +
 +  texidoc = "
 +LilyPond also provides formatting functions to print tuplet numbers different
 +than the actual fraction, as well as to append a note value to the tuplet 
 +number or tuplet fraction.
 +"
 +  doctitle = "Non-default tuplet numbers"
 +} % begin verbatim
 +
 +
 +\relative c'' {
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::non-default-tuplet-denominator-text 7)
 +  \times 2/3  { c4. c4. c4. c4. }
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::non-default-tuplet-fraction-text 12 7)
 +  \times 2/3  { c4. c4. c4. c4. }
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::append-note-wrapper
 +      (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
 +  \times 2/3  { c4. c4. c4. c4. }
 +
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::append-note-wrapper
 +      tuplet-number::calc-denominator-text "4")
 +  \times 2/3  { c8 c8 c8 c8 c8 c8 }
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::append-note-wrapper
 +      tuplet-number::calc-fraction-text "4")
 +  \times 2/3  { c8 c8 c8 c8 c8 c8 }
 +
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::fraction-with-notes "4." "8")
 +  \times 2/3  { c4. c4. c4. c4. }
 +  \once \override TupletNumber #'text =
 +    #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
 +  \times 2/3  { c4. c4. c4. c4. }
 +}
index d3184a6c499bb5f32d0a204e5e32e0f3a42e70b9,0000000000000000000000000000000000000000..34ea0eccc24631a7393db6985ab084c2c215ee05
mode 100644,000000..100644
--- /dev/null
@@@ -1,91 -1,0 +1,91 @@@
- %% Translation of GIT committish: d4f58bb3ad4e7fe1967a6b48f25e3addffc8aa14
 +%% Do not edit this file; it is auto-generated from input/new
 +%% This file is in the public domain.
 +%% Note: this file works from version 2.13.0
 +\version "2.13.1"
 +
 +\header {
- %% Translation of GIT committish: 6bf3e9149eb97e66b4c813e41dc7625f06c501aa
++%% Translation of GIT committish: da7ce7d651c3a0d1bfed695f6e952975937a1c79
 +  doctitlees = "Armaduras de tonalidad no tradicionales"
 +  texidoces = "
 +
 +La muy utilizada instrucción @code{\\key} establece la propiedad
 +@code{keySignature} property, dentro del contexto @code{Staff}.
 +
 +Para crear armaduras de tonalidad no estándar, ajuste esta
 +propiedad directamente.  El formato de esta instrucción es una
 +lista:
 +
 +@code{\\set Staff.keySignature = #`(((octava . paso) . alteración)
 +((octava . paso) . alteración) ...)} donde, para cada elemento
 +dentro de la lista, @code{octava} especifica la octava
 +(siendo@tie{}cero la octava desde el Do@tie{}central hasta el Si
 +por encima), @code{paso} especifica la nota dentro de la octava
 +(cero@tie{}significa@tie{}Do y 6@tie{}significa@tie{}Si), y
 +@code{alteración} es @code{,SHARP ,FLAT ,DOUBLE-SHARP}
 +etc. (observe la coma precedente.)
 +
 +De forma alternativa, para cada elemento de la lista el uso del
 +formato más conciso @code{(paso . alteración)} especifica que la
 +misma alteración debe estar en todas las octavas.
 +
 +He aquí un ejemplo de una posible armadura para generar una escala
 +exátona:
 +"
 +
++%% Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
 +  doctitlede = "Untypische Tonarten"
 +  texidocde = "
 +Der üblicherweise benutzte @code{\\key}-Befehl setzt die
 +@code{keySignature}-Eigenschaft im @code{Staff}-Kontext.
 +
 +Um untypische Tonartenvorzeichen zu erstellen, muss man diese Eigenschaft
 +direkt setzen.  Das Format für den Befehl ist eine Liste: @code{ \\set
 +Staff.keySignature = #`(((Oktave . Schritt) . Alteration) ((Oktave
 +. Schritt) . Alteration) ...)} wobei für jedes Element in der Liste
 +@code{Oktave} die Oktave angibt (0@tie{}ist die Oktave vom
 +eingestrichenen@tie{}C bis zum eingestrichenen@tie{}H), @code{Schritt} gibt
 +die Note innerhalb der Oktave an (0@tie{}heißt@tie{}C und
 +6@tie{}heißt@tie{}H), und @code{Alteration} ist @code{,SHARP ,FLAT
 +,DOUBLE-SHARP} usw.  (Beachte das beginnende Komma.)
 +
 +Alternativ kann auch jedes Element der Liste mit dem allgemeineren Format
 +@code{(Schritt . Alteration)} gesetzt werden, wobei dann die Einstellungen
 +für alle Oktaven gelten.
 +
 +Hier ein Beispiel einer möglichen Tonart für eine Ganztonleiter:
 +"
 +
 +  lsrtags = "pitches, staff-notation"
 +  texidoc = "
 +The commonly used @code{\\key} command sets the @code{keySignature}
 +property, in the @code{Staff} context.
 +
 +To create non-standard key signatures, set this property directly.  The
 +format of this command is a list:
 +
 +@code{\\set Staff.keySignature = #`(((octave . step) . alter) ((octave
 +. step) . alter) ...)} where, for each element in the list,
 +@code{octave} specifies the octave (0@tie{}being the octave from
 +middle@tie{}C to the B above), @code{step} specifies the note within the
 +octave (0@tie{}means@tie{}C and 6@tie{}means@tie{}B), and @code{alter} is
 +@code{,SHARP ,FLAT ,DOUBLE-SHARP} etc.  (Note the leading comma.)
 +
 +Alternatively, for each item in the list, using the more concise format
 +@code{(step . alter)} specifies that the same alteration should hold in all
 +octaves.
 +
 +Here is an example of a possible key signature for generating a whole-tone
 +scale:
 +"
 +  doctitle = "Non-traditional key signatures"
 +} % begin verbatim
 +
 +
 +\relative c' {
 +  \set Staff.keySignature = #`(((0 . 6) . ,FLAT)
 +                               ((0 . 5) . ,FLAT)
 +                               ((0 . 3) . ,SHARP))
 +  c4 d e fis
 +  aes4 bes c2
 +}
 +