From: Francisco Vila Date: Mon, 20 Oct 2008 15:02:47 +0000 (+0200) Subject: Merge branch 'master' into lilypond/translation X-Git-Tag: release/2.11.63-1~22 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ce31ad670dda706372fefe1220325b02c585bf27;hp=e2812a5487753a91fdd5e9d46c71a0c18e89ac21;p=lilypond.git Merge branch 'master' into lilypond/translation --- diff --git a/Documentation/de/translations.html.in b/Documentation/de/translations.html.in index 85edb1bc01..09e47ac2b0 100644 --- a/Documentation/de/translations.html.in +++ b/Documentation/de/translations.html.in @@ -1,4 +1,4 @@ -·

Zuletzt aktualisiert am·Thu Oct 16 21:38:37 UTC 2008 +·

Zuletzt aktualisiert am·Fri Oct 17 11:37:14 UTC 2008

2.1 Música vocal
(2679) Francisco Vila - parcialmente (56 %) - parcialmente + sí + sí pre-GDP @@ -375,8 +375,8 @@ translations.template.html.in; DO NOT EDIT !--> 5 Cambiar los valores por omisión
(11197) Francisco Vila - parcialmente (66 %) - parcialmente + sí + sí pre-GDP diff --git a/Documentation/es/user/changing-defaults.itely b/Documentation/es/user/changing-defaults.itely index ae87fdcc21..fffd408999 100644 --- a/Documentation/es/user/changing-defaults.itely +++ b/Documentation/es/user/changing-defaults.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond.tely @ignore - Translation of GIT committish: dfae8d829c653d1c011f8823cd51d09c33400b66 +Translation of GIT committish: 88f1608ae6fd17b05344bafb2f0721aafdac657b When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -12,59 +12,29 @@ @node Changing defaults @chapter Changing defaults - -El objetivo del diseño de LilyPond es proporcionar por defecto la más -alta calidad de los resultados. A pesar de ello, podría tener que -cambiar este resultado por defecto. La disposición sobre el papel se -controla a través de un amplio número de proverbiales @q{botones e -interruptores}. Este capítulo no relaciona todos y cada uno de los -botones. Más bien da una visión de conjunto sobre qué grupos de -controles se encuentran disponibles y explica la forma de hallar el -botón exacto que se debe utilizar para conseguir un determinado -efecto. - +El objetivo del diseño de LilyPond es proporcionar la más alta calidad +de los resultados, de forma predeterminada. A pesar de ello, podría +tener que cambiar este resultado predeterminado. La disposición sobre +el papel se controla a través de un amplio número de @q{botones e +interruptores} llamados en su conjunto @q{propiedades}. En el Manual +de aprendizaje podemos encontrar una introducción en forma de tutorial +al acceso y modificación de estas propiedades, véase +@rlearning{Tweaking output}. Éste debería leerse en primer lugar. +Este capítulo cubre un terreno similar, pero con un estilo más +adecuado para un manual de referencia. @cindex Referencia de funcionamiento interno -Los controles disponibles para los ajustes finos se describen en un -documento separado, -@iftex -el Manual de referencia de funcionamiento interno. -@end iftex -@ifnottex -la @ref{Top,Referencia de funcionamiento interno,,lilypond-internals}. -@end ifnottex -Dicho manual relaciona todas las variables, funciones y opciones que -se encuentran disponibles en LilyPond. Está escrito como un documento -HTML, que se puede encontrar en +La descripción definitiva de los controles que están dipsonibles para +su ajuste fino están en un documento aparte: @rinternalsnamed{Top,la +Referencia de funcionamiento interno}. Dicho manual relaciona todas +las variables, funciones y opciones que se encuentran disponibles en +LilyPond. Está escrito como un documento HTML, que se puede encontrar +en @c leave the @uref as one long line. @uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,on@/-line}, pero que también va incluido en el paquete de la documentación de LilyPond. -Hay cuatro áreas en las que se pueden cambiar los valores por defecto: - -@itemize -@item -Notación automática: cambiar la creación automática de los elementos -de notación. Por ejemplo, cambiar las reglas de barrado de las -figuras. - -@item -Salida: cambiar el aspecto de los objetos individuales. Por ejemplo, -cambiar las direcciones de las plicas o la situación exacta de los -subíndices. - -@item -Contexto: modificar aspectos de la traducción de los eventos musicales -en notación. Por ejemplo, dar a cada pentagrama una indicación de -compás distinta. - -@item -Disposición de la página: cambiar el aspecto visual del espaciado, los -saltos de línea y las dimensiones de la página. Estas modificaciones -se discuten en @ref{General input and output} y @ref{Spacing issues}. -@end itemize - Internamente, LilyPond utiliza el lenguaje Scheme (un dialecto de LISP) para aportar la infraestructura. La sobreescritura de las decisiones de disposición da acceso efectivo a las interioridades del @@ -74,14 +44,12 @@ el símbolo de cuadradillo @code{#}.@footnote{@rlearning{Scheme tutorial} contiene un breve tutorial sobre la introducción de números, listas, cadenas y símbolos en Scheme.} - @menu -* Interpretation contexts:: -* Explaining the Internals Reference:: -* Modifying properties:: -* Useful concepts and properties:: -* Common properties:: -* Advanced tweaks:: +* Interpretation contexts:: +* Explaining the Internals Reference:: +* Modifying properties:: +* Useful concepts and properties:: +* Advanced tweaks:: @end menu @@ -91,81 +59,180 @@ listas, cadenas y símbolos en Scheme.} Esta sección explica qué son los contextos y cómo modificarlos. @menu -* Contexts explained:: -* Creating contexts:: -* Modifying context plug-ins:: -* Changing context default settings:: -* Defining new contexts:: -* Aligning contexts:: +* Contexts explained:: +* Creating contexts:: +* Modifying context plug-ins:: +* Changing context default settings:: +* Defining new contexts:: +* Aligning contexts:: @end menu +@seealso + +Manual de aprendizaje: +@rlearning{Contexts and engravers}. + +Archivos de inicio: +@file{ly/@/engraver@/-init@/.ly}, +@file{ly/@/performer@/-init@/.ly}. + +Fragmentos de código: +@rlsr{Contexts and engravers}. + +Referencia de funcionamiento interno: +@rinternals{Contexts}, +@rinternals{Engravers and Performers}. + @node Contexts explained @subsection Contexts explained -Cuando se imprime la música, se tienen que añadir a la salida una gran -cantidad de elementos notacionales. Por ejemplo, compare la entrada y -la salida del siguiente ejemplo: +Los contextos se disponen de forma jerárquica: -@lilypond[quote,verbatim,relative=2,fragment] -cis4 cis2. g4 -@end lilypond +@menu +* Score - the master of all contexts:: +* Top-level contexts - staff containers:: +* Intermediate-level contexts - staves:: +* Bottom-level contexts - voices:: +@end menu -La entrada es bastante escueta, pero en la salida se añaden líneas -divisorias, alteraciones accidentales, la clave y la indicación de -compás. LilyPond @emph{interpreta} la entrada. En esta fase se -inspecciona la información musical en orden temporal, de forma -parecida a la lectura de una partitura de izquierda a -derecha. Mientras se lee la entrada, el programa recuerda dónde se -encuentran los límites de los compases, y qué notas requieren -alteraciones explícitas. Esta información se puede presentar sobre -varios niveles. Por ejemplo, el efecto de una alteración accidental -se encuentra limitada a un solo pentagrama, mientras que una barra -divisoria debe estar sincronizada a través de la partitura de arriba a +@node Score - the master of all contexts +@unnumberedsubsubsec Score - the master of all contexts + +Este es el contexto de notación del nivel más alto. Ningún otro +contexto puede contener a un contexto Score. De forma predeterminada, +el contexto Score maneja la administración de las indicaciones de +compás y se asegura de que ciertos elementos como claves, compases y +armaduras están siempre alineados entre los distintos pentagramas. + +Se crea implícitamente una instancia del contexto Score cuando se +procesa un bloque @code{\score @{@dots{}@}} o @code{\layout +@{@dots{}@}}, o explícitamente cuando se ejecuta una instrucción +@code{\new Score}. + +@node Top-level contexts - staff containers +@unnumberedsubsubsec Top-level contexts - staff containers + +@strong{@emph{StaffGroup}} + +Agrupa pentagramas y añade un corchete en la parte izquierda, formando +un grupo. Las líneas divisorias de los pentagramas contenidos se +conectan verticalmente. StaffGroup sólo consiste en una colección de +pentagramas, con un corchete delante y líneas divisorias de arriba a abajo. -Dentro de LilyPond, estas reglas y pequeñas porciones de información -se agrupan en @emph{Contexts}. Algunos ejemplos de contextos son -@code{Voice} (Voz), @code{Staff} (Pauta o pentagrama) y @code{Score} -(Partitura). Los contextos son jerárquicos, por ejemplo: un -@code{Staff} contener muchas @code{Voice}s, y una @code{Score} puede -contener muchos contextos de @code{Staff}. +@strong{@emph{ChoirStaff}} -@quotation -@sourceimage{context-example,5cm,,} -@end quotation +Idéntico a StaffGroup excepto que las barras de compás de los +pentagramas contenidos no se conectan verticalmente. + +@strong{@emph{GrandStaff}} + +Un grupo de pentagramas, con una llave en la parte izquierda que +abarca el grupo. Las barras de compás de los pentagramas contenidos +se conectan verticalmente. + +@strong{@emph{PianoStaff}} + +@c TODO No longer correct? Check. -td +Igual que GrandStaff pero con una distancia fija entre los +pentagramas, de manera que se pueden usar ligaduras y barras que +cruzan de un pentagrama a otro. + +@ignore +@strong{@emph{InnerStaffGroup}} + +TODO -td + +@strong{@emph{InnerChoirStaff}} + +TODO -td + +@end ignore + +@node Intermediate-level contexts - staves +@unnumberedsubsubsec Intermediate-level contexts - staves + +@strong{@emph{Staff}} + +Maneja claves, barras de compás, tonalidades y alteraciones +accidentales. Puede contener contextos de Voice. + +@strong{@emph{RhythmicStaff}} + +Como Staff, pero para imprimir ritmos. Se ignoran las alturas de las +notas; las notas se imprimen sobre una línea. + +@strong{@emph{TabStaff}} + +Contexto para generar tablaturas. De forma predeterminada dispone la +expresión musical como una tablatura de guitarra, impresa sobre seis +líneas. + +@strong{@emph{DrumStaff}} + +Maneja el tipografiado para instrumentos de percusión. Puede contener +contextos DrumVoice. + +@strong{@emph{VaticanaStaff}} + +Iguall que Staff, excepto que está pensado para tipografiar piezas en +estilo gregoriano. + +@strong{@emph{MensuralStaff}} + +Igual que Staff, excepto que está diseñado para tipografiar piezas en +estilo mensural. + + +@node Bottom-level contexts - voices +@unnumberedsubsubsec Bottom-level contexts - voices + +Los contextos del mismo nivel que Voice dan un valor inicial a ciertas +propiedades e inician los grabadores correspondientes. Siendo +contextos del nivel más bajo, no pueden contener a otros contextos. + +@strong{@emph{Voice}} + +Corresponde a una voz sobre un pentagrama. este contexto maneja la +conversión de las indicaciones dinámicas, plicas, barras, subíndices y +superíndices, ligaduras de expresión y de unión, y silencios. Tenemos +que crear instancias explícitas de este contexto si necesitamos varias +voces en el mismo pentagrama. + +@strong{@emph{VaticanaVoice}} + +Lo mismo que Voice, excepto que está diseñado para tipografiar piezas +en estilo gregoriano. + +@strong{@emph{MensuralVoice}} + +Lo mismmo que Voice, con modificaciones para el tipografiado de piezas +en estilo mensural. + +@strong{@emph{Lyrics}} + +Corresponde a una voz con letra. Maneja la impresión de una sola +línea de letra. + +@strong{@emph{DrumVoice}} + +El contexto de voz utilizado en una pauta de percusión. + +@strong{@emph{FiguredBass}} + +El contexto en que los objetos BassFigure se crean a partir de la +entrada escrita en el modo @code{\figuremode}. + +@strong{@emph{TabVoice}} + +El contexto de voz utilizado dentro de un contexto TabStaff. Se suele +dejar que se cree implícitamente. + +@strong{@emph{ChordNames}} + +Tipografía nombres de acordes. -Cada contexto asume la responsabilidad de imponer algunas reglas de -notación, creando ciertos objetos de notación y manteniendo las -propiedades asociadas. Por ejemplo, el contexto @code{Voice} puede -introducir una alteración accidental y entonces el contexto -@code{Staff} mantiene la regla de mostrar o suprimir la alteración -para el resto del compás. La sincronización de las líneas divisorias -se gestiona dentro del contexto de la partitura, @code{Score}. - -Sin embargo, en algunas músicas posiblemente no queramos que las -líneas divisorias estén sincronizada (pensemos en una partitura -polimétrica en compases de 4/4 y de 3/4). En tales casos, debemos -modificar los ajustes por omisión de los contextos @code{Score} y -@code{Staff}. - -Para partituras muy sencillas, los contextos se crean implícitamente y -no debemos preocuparnos por ellos. Para piezas mayores, como por -ejemplo cualquiera que tenga más de un pentagrama, los contextos se -deben crear explícitamente para asegurarnos de que tendremos la -cantidad exacta de pentagramas que necesitamos, y que están en el -orden correcto. Para tipografiar piezas con notación especializada, -puede ser útil modificar contextos existentes o definir unos nuevos. - - -En la referencia del programa se encuentra una descripción completa de -todos los contextos que están disponibles, consulte -@ifhtml -@rinternals{Contexts}. -@end ifhtml -@ifnothtml -Traducción @expansion{} Contexto. -@end ifnothtml @node Creating contexts @subsection Creating contexts @@ -384,7 +451,7 @@ afecta al espaciado, lo que puede ser deseable o no serlo. Se muestran métodos más sofisticados para quitar objetos en @rlearning{Visibility and color of objects}. -EL ejemplo siguiente muestra una aplicación práctica. Normalmente las +El ejemplo siguiente muestra una aplicación práctica. Normalmente las líneas divisorias y las indicaciones de compás están sincronizadas a lo largo de toda la partitura. Lo hacen los grabadores @code{Timing_translator} y @code{Default_bar_line_engraver}. Estos @@ -666,8 +733,6 @@ Los contextos nuevos se pueden alinear por encima o por debajo de otros contextos existentes. Esto podría ser de utilidad al preparar un pentagrama vocal (@rlearning{Vocal ensembles}) y un ossia, -@c ARREGLAR: esta sección no funciona en PDF. (¿?) - @cindex ossia @findex alignAboveContext @findex alignBelowContext @@ -685,7 +750,53 @@ ossia = { f4 f f f } } @end lilypond +@cindex nested contexts +@cindex contexts, nested +@funindex \accepts +@funindex \denies + +Los contextos como @code{PianoStaff} pueden llevar dentro otros +contextos anidados. Los contextos que se pueden aceptar para su +anidamiento están definidos por la lista @qq{accepts} (acepta) de un +contexto. Los contextos que no están en esta lista se colocan debajo +del contexto exterior en la partitura impresa. Por ejemplo, el +contexto @code{PianoStaff} está definido para que acepte contextos +@code{Staff} y @code{FiguredBass} de forma predeterminada, pero no un +contexto @code{Lyrics}, por ejemplo. Así pues, en la siguiente +estructura la letra se sitúa debajo del sistema de piano en lugar de +colocarse entre los dos pentagramas: + +@lilypond[verbatim,quote,relative=1] +\new PianoStaff +<< + \new Staff { e4 d c2 } + \addlyrics { Three blind mice } + \new Staff { + \clef "bass" + { c,1 } + } +>> +@end lilypond + +La lista @qq{accepts} de un contexto se puede modificar para que +incluya contextos anidados adicionales, y así si quisiéramos que la +letra apareciese entre los dos pentagramas podríamos usar: + +@lilypond[verbatim,quote,relative=1] +\new PianoStaff \with { \accepts Lyrics } +<< + \new Staff { e4 d c2 } + \addlyrics { Three blind mice } + \new Staff { + \clef "bass" + { c,1 } + } +>> +@end lilypond + +Lo contrario de @code{\accepts} (acepta) es @code{\denies} (deniega); +esto suprime un contexto de la lista @qq{accepts}. @node Explaining the Internals Reference @@ -693,10 +804,10 @@ ossia = { f4 f f f } @menu -* Navigating the program reference:: -* Layout interfaces:: -* Determining the grob property:: -* Naming conventions:: +* Navigating the program reference:: +* Layout interfaces:: +* Determining the grob property:: +* Naming conventions:: @end menu @@ -717,7 +828,7 @@ Si hace una visita a la documentación en busca de instrucciones de digitación (en @ref{Fingering instructions}), encontrará: @quotation -@seealso +@strong{Véase también} Referencia de funcionamiento interno: @rinternals{Fingering}. @@ -945,7 +1056,6 @@ c-2 f @end lilypond - En este caso, el contexto de este truco es @code{Voice}. Este hecho se puede deducir también a partir de la referencia del programa, ya que la página dedicada al añadido @rinternals{Fingering_engraver} dice @@ -960,17 +1070,37 @@ El grabador Fingering_engraver es parte de los contextos: @dots{} @node Naming conventions @subsection Naming conventions -@untranslated +@ignore +Another thing that is needed, is an overview of the various naming +conventions: + + scheme functions: lowercase-with-hyphens (incl. one-word +names) + scheme functions: ly:plus-scheme-style + music events, music classes and music properties: +as-scheme-functions + Grob interfaces: scheme-style + backend properties: scheme-style (but X and Y!) + contexts (and MusicExpressions and grobs): Capitalized or +CamelCase + context properties: lowercaseFollowedByCamelCase + engravers: +Capitalized_followed_by_lowercase_and_with_underscores + +Which of these are conventions and which are rules? +Which are rules of the underlying language, and which are +LP-specific? +@end ignore @node Modifying properties @section Modifying properties @menu -* Overview of modifying properties:: -* The set command:: -* The override command:: -* set versus override:: -* The tweak command:: +* Overview of modifying properties:: +* The set command:: +* The override command:: +* The tweak command:: +* set versus override:: @end menu @@ -1022,7 +1152,7 @@ La instrucción @code{\override} modifica la definición de la plica @code{Stem} dentro del pentagrama en curso @code{Staff}. Después de que la instrucción se ha interpretado, todas las plicas se engrosan. -DE manera análoga a @code{\set}, el argumento @var{contexto} se puede +De manera análoga a @code{\set}, el argumento @var{contexto} se puede omitir, ocasionando que se utilice el contexto predeterminado @code{Voice}. Al añadir @code{\once} se aplica el cambio durante un solo paso de tiempo. @@ -1062,7 +1192,7 @@ siguiente ejemplo no hace nada. \revert Staff.Stem #'thickness @end example -Salgunas opciones «trucables» se llaman @q{subpropiedades} y residen +Algunas opciones «trucables» se llaman @q{subpropiedades} y residen dentro de las propiedades normales. Para trucarlas, utilice instrucciones de la forma @@ -1085,7 +1215,7 @@ Referencia de funcionamiento interno: @rinternals{OverrideProperty}, @rinternals{RevertProperty}, @rinternals{PropertySet}, -@rinternals{Backend} y +@rinternals{Backend}, @rinternals{All layout objects}. @@ -1149,7 +1279,7 @@ R1*2 R1*2 @end lilypond -Los contextos so jerárquicos, y si se ha especificado un contexto +Los contextos son jerárquicos, y si se ha especificado un contexto mayor, por ejemplo @code{Staff}, entonces el cambio se aplicaría también a todos los contextos @code{Voice} dentro del pentagrama actual. El cambio se aplica @q{al vuelo}, durante la música, de @@ -1273,6 +1403,150 @@ causarína problemas. Mostraremos a continuación cómo localizar esta información en el manual de notación y en la referencia de funcionamiento interno. + +@node The tweak command +@subsection The @code{\tweak} command + +@funindex \tweak +@cindex trucar + +En ocasiones es posible tomar un atajo para realizar el ajuste fino de +los objetos gráficos. Para objetos que reusultan directamente de un +elemento de código de la entrada, puede usar la función @code{\tweak}, +por ejemplo + +@lilypond[relative=2,verbatim] +< c + \tweak #'color #red + d + g + \tweak #'duration-log #1 + a +> 4 +-\tweak #'padding #8 +-^ +@end lilypond + +@cindex chord, modifying one note in + +Pero el uso principal de la instrucción @code{\tweak} es modificar +solamente uno de varios elementos de notación que dan comienzo en el +mismo momento musical, como las notas de un acorde, o corchetes de +tresillo que empiezan al mismo tiempo. + +Para ver una introducción a la sintaxis y los usos de la instrucción +tweak, consulte @rlearning{Tweaking methods}. + +La instrucción @code{\tweak} fija una propiedad en el objeto que viene +a continuación de forma directa, sin necesidad de especificar el +nombre del grob o el contexto. Para que esto funcione, es necesario +que la instrucción @code{\tweak} permanezca inmediatamente adyacente +al objeto al que se aplica, después de que el archivo de entrada se ha +convertido en un flujo musical. Con frecuencia no es el caso, pues +muchos elementos adicionales se insertan en la corriente musical de +forma implícita. Por ejemplo, cuando se procesa una nota que no forma +parte de un acorde, LilyPond inserta implícitamente un evento +@code{ChordEvent} antes de la nota, separando así el truco de la nota. +Sin embargo, si los símbolos de acorde se sitúan cerca del truco y la +nota, la instrucción @code{\tweak} viene después del @code{ChordEvent} +en el flujo musical, permaneciendo así adyacente a la nota, y con la +posibilidad de modificarla. + +Así, esto funciona: + +@lilypond[relative=2,verbatim,quote] +<\tweak #'color #red c>4 +@end lilypond + +@noindent +pero esto no funciona: + +@lilypond[relative=2,verbatim,quote] +\tweak #'color #red c4 +@end lilypond + +Si se colocan varios elementos similares en el mismo momento musical, +la instrucción @code{\override} no se puede usar para modificar uno +solo de ellos: aquí es donde se debe usar la instrucción +@code{\tweak}. Entre los elementos que pueden aparecer más de una vez +en el mismo momento musical están los siguientes: + +@c TODO expand to include any further uses of \tweak +@itemize +@item las cabezas de las notas de un acorde +@item signos de articulación sobre la misma nota +@item ligaduras de unión entre notas de un acorde +@item corchetes de grupos especials que comienzan en el mismo momento +@end itemize + +@c TODO add examples of these + +@noindent +y se puede usar @code{\tweak} para modificar cualquier aparición +específica de estos elementos. + +Es de resaltar que la instrucción @code{\tweak} no se puede usar para +modificar plicas, barras o alteraciones accidentales, porque éstos se +generan más tarde por parte de las cabezas de nota, en vez de por +elementos musicales que están en el flujo de entrada. Ni se puede +usar una instrucción @code{\tweak} para modificar claves o +indicaciones de compás, ya que éstos están separados de cualquier +instrucción @code{\tweak} precedente en el flujo de entrada a causa de +la inserción automática de elementos adicionales necesarios para +especificar el contexto. + +Pero la instrucción @code{\tweak} se puede usar como alternativa a la +instrucción @code{\override} para modificar estos elementos +notacionales que no producen la adición de ningún elemento notacional +implícito antes de ellos mismos en el flujo musical. Por ejemplo, las +ligaduras de expresión se pueden modificar de esta forma: + +@lilypond[verbatim,quote,relative=1] +c-\tweak #'thickness #5 ( d e f) +@end lilypond + +También se pueden escribir varias instrucciones @code{\tweak} antes de +un elemento notacional, y todas ellas le afectan: + +@lilypond[verbatim,quote,relative=1] +c +-\tweak #'style #'dashed-line +-\tweak #'dash-fraction #0.2 +-\tweak #'thickness #3 +-\tweak #'color #red + \glissando +f' +@end lilypond + +El flujo musical que se genera a partir de una sección de un archivo +de entrada, incluido cualquier elemento insertado automáticamente, +puede examinarse, véase @ref{Displaying music expressions}. Esto +puede ser de utilidad en la determinación de lo que puede modificarse +por medio de una instrucción @code{\tweak}. + +@seealso + +Manual de aprendizaje: +@rlearning{Tweaking methods}. + +Referencia de la notación: +@ref{Displaying music expressions}. + +@knownissues + +@cindex trucos en una variable +La instrucción @code{\tweak} no se puede usar dentro de una variable. + +@cindex trucos en la letra +Las instrucciones @code{\tweak} no se pueden usar dentro del modo @code{\lyricmode}. + +@cindex trucar puntos de control +@cindex control, trucar puntos de + +La instrucción @code{\tweak} no se puede usar para modificar los +puntos de control de una única ligadura entre varias dentro de un +acorde, aparte de la primera que aparece en el archivo de entrada. + @node set versus override @subsection @code{\set} vs. @code{\override} @@ -1326,65 +1600,19 @@ Al ser éste un cambio muy común, se creó la propiedad especial (modificada con @code{\set}). -@node The tweak command -@subsection The @code{\tweak} command - -@funindex \tweak - -En ocasiones es posible tomar un atajo para realizar el ajuste fino de -los objetos gráficos. Para objetos que reusultan directamente de un -elemento de código de la entrada, puede usar la función @code{\tweak}, -por ejemplo - -@lilypond[relative=2,fragment,verbatim,ragged-right] -< - c - \tweak #'color #red d - g - \tweak #'duration-log #1 a ->4-\tweak #'padding #10 -. -@end lilypond - -Como podemos ver, las propiedades se establecen directamente dentro de -los objetos, sin hacer mención al nombre del grob ni al contexto en el -que se tendría que aplicar. - -Esta técnica sólo funciona para los objetos que están conectados -directamente a un @rinternals{Event} (evento) del texto de entrada, -por ejemplo - -@itemize -@item cabezas de nota, producidas por chord-pitch (p. ej.: las notas de un acorde) -@item signos de articulación, producidos por instrucciones de articulación -@end itemize - -Posiblemente no funcione para plicas y alteraciones accidentales -(éstos están producidos por parte de las cabezas de nota, no por los -eventos musicales) ni para las claves (éstos no están producidos por -ninguna entrada musical, sino más bien a causa de un cambio en el -valor de una propiedad). - -Existen muy pocos objetos que estén conectados @emph{directamente} al -resultado de salida. Una nota normal (como @code{c4}) no está -conectada directamente a la salida, así que - -@example -\tweak #'color #red c4 -@end example - -@noindent -no cambia el color. Consulte @ref{Displaying music expressions} para -ver más detalles. - @node Useful concepts and properties @section Useful concepts and properties @menu -* Input modes:: -* Direction and placement:: -* Distances and measurements:: -* Spanners:: +* Input modes:: +* Direction and placement:: +* Distances and measurements:: +* Staff symbol properties:: +* Spanners:: +* Visibility of objects:: +* Line styles:: +* Rotating objects:: @end menu @node Input modes @@ -1412,7 +1640,7 @@ Se activa con la instrucción @code{\drummode} y produce que el código de entrada se interprete con la sintaxis de la notación de percusión, véase @ref{Basic percussion notation}. -EL modo de percusión también se activa con la instrucción +El modo de percusión también se activa con la instrucción @code{\drums}. También crea un contexto @code{DrumStaff} nuevo y hace que el código que sigue se interprete con la sintaxis de la notación de percusión y se imprima como símbolos de percusión sobre un @@ -1578,7 +1806,105 @@ significan @qq{utilizar la dirección predeterminada}, como antes. @node Distances and measurements @subsection Distances and measurements -@untranslated +@cindex distances, absolute +@cindex distances, scaled + +@funindex \mm +@funindex \cm +@funindex \in +@funindex \pt + +Las distancias en LilyPond son de dos tipos: absolutas y escaladas. + +Las distancias absolutas se usan para especificar márgenes, sangrados +y otros detalles de diseño de página, y de forma predeterminada se +especifican en milímetros. Las distancias se pueden especificar en +otras unidades escribiendo después de la cifra indicativa de la +cantidad, @code{\mm}, @code{\cm}, @code{\in}@tie{}(pulgadas), o +@code{\pt}@tie{}(puntos, 1/72.27 pulgadas). Las distancias de diseño +de página se pueden especificar también en unidades escalables (véase +el párrafo siguiente) adjuntando @code{\staff-space} a la cantidad. +La disposición de página se describe en detalle en @ref{Page +formatting}. + +Las distancias escaladas siempre se especifican en unidades de un +espacio del pentagrama o, más raramente, medio espacio del pentagrama. +El espacio de pentagrama es la distancia entre dos líneas del +pentagrama adyacentes. El valor predeterminado se puede cambiar +globalmente fijando el tamaño global del pentagrama, o se puede +sobreescribir localmente cambiando la propiedad @code{staff-space} del +objeto @code{StaffSymbol}. Las distancias escaladas se escalan +automáticamente con cualquier cambio al tamaño global del pentagrama o +a la propiedad @code{staff-space} del objeto @code{StaffSymbol}, pero +las fuentes tipográficas se escalan solamente con los cambios +efectuados al tamaño global del pentagrama. Así, el tamaño global del +pentagrama posibilita la fácil variación del tamaño general de una +partitura impresa. Para ver los métodos de establecimiento del tamaño +global del pentagrama, véase @ref{Setting the staff size}. + +@funindex magstep + +Si se necesita dibujar sólo una sección de una partitura a una escala +distinta, por ejemplo una sección ossia o una nota al pie, no se puede +simplemente cambiar el tamaño global del pentagrama porque esto +afectaría a toda la partitura. En tales casos, el cambio de tamaño se +hace sobreescribiendo tanto la propiedad @code{staff-space} de +@code{StaffSymbol} como el tamaño de las fuentes tipográficas. Está a +nuestra disposición una función de Scheme, @code{magstep}, para +convertir de un cambio en el tamaño de la fuente al cambio equivalente +en @code{staff-space}. Para ver una explicación y un ejemplo de su +utilización, consulte @rlearning{Length and thickness of objects}. + +@seealso + +Manual de aprendizaje: +@rlearning{Length and thickness of objects}. + +Referencia de la notación: +@ref{Page formatting}, +@ref{Setting the staff size}. + + +@node Staff symbol properties +@subsection Staff symbol properties + +@cindex ajuste del símbolo del pentagrama +@cindex dibujar el símbolo del pentagrama +@cindex pentagrama, establecer el símbolo del + +@c TODO Extend or remove this section. See also NR 1.6.2 Staff symbol +@c Need to think of uses for these properties. Eg 'line-positions +@c is used in a snippet to thicken centre line. +@c If retained, add @ref to here in 1.6.2 -td + +Se puede definir al mismo tiempo la posición vertical de las líneas de +la pauta y el número de líneas de la misma. Como muestra el siguiente +ejemplo, las posiciones de las notas no están influidas por las +posiciones de las líneas de la pauta. + +@warning{La propiedad @code{'line-positions} sobreescribe a la +propiedad @code{'line-count}. El número de líneas de la pauta está +definido implícitamente por el número de elementos de la lista de +valores de @code{'line-positions}.} + +@lilypond[verbatim,quote,relative=1] +\new Staff \with { + \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7) +} +{ a4 e' f b | d1 } +@end lilypond + +Se puede modificar la anchura de la pauta. Las unidades son espacios +de pentagrama. El espaciado de los objetos dentro del pentagrama no +resulta afectado por este ajuste. + +@lilypond[verbatim,quote,relative=1] +\new Staff \with { + \override StaffSymbol #'width = #23 +} +{ a4 e' f b | d1 } +@end lilypond + @node Spanners @subsection Spanners @@ -1591,109 +1917,226 @@ especiales para controlar su apariencia y comportamiento. Algunas de estas propiedades son comunes a todos los objetos de extensión; otras se limitan a un subconjunto de los extensores. +Todos los objetos de extensión contemplan el interface +@code{spanner-interface}. Algunos, básicamente aquellos que trazan +una línea recta entre los dos objetos, contemplan también el interface +@code{line-spanner-interface}. -@node Common properties -@section Common properties +@unnumberedsubsubsec Using the @code{spanner-interface} -@menu -* Controlling visibility of objects:: -* Line styles:: -* Rotating objects:: -* Aligning objects:: -@end menu +Este interface proporciona dos propiedades que se aplican a varios +extensores. -@node Controlling visibility of objects -@subsection Controlling visibility of objects +@strong{@i{La propiedad @code{minimum-length}}} +La longitud mínima del objeto de extensión se pesoecifica a través de +la propiedad @code{minimum-length}. Su aumento suele producir el +efecto necesario de aumentar el espaciado de las notas entre los dos +puntos extremos. Sin embargo, esta sobreescritura no tiene ningún +efecto sobre muchos extensores, pues su longitud está determinada por +otras consideraciones. Más abajo se muestran algunos ejemplos de +dónde es efectiva. -@node Line styles -@subsection Line styles +@ignore +Works for: + Tie + MultiMeasureRest + Hairpin + Slur + PhrasingSlur + +Works as long as callback is made: + Glissando + Beam + +Works not at all for: + LyricSpace + LyricHyphen + LyricExtender + TextSpanner + System -Ciertas indicaciones de ejecución, p.ej., @i{rallentando}, -@i{accelerando} y los @i{trinos} se escriben como texto y se extienden -sobre muchos compases mediante líneas, a veces punteadas u onduladas. +@end ignore -Todos ellos usan las mismas rutinas que el glissando para dibujar los textos y las líneas, -y por ello el ajuste fino de su comportamiento se hace de la -misma manera. Se hace con un spanner (un objeto de extensión), y la rutina responsable -de dibujar los objetos de extensión es @code{ly:line-interface::print}. Esta -rutina determina la colocación exacta de los dos @i{extremos del -objeto de extensión} y dibuja una línea entre ellos, en el estilo solicitado. +@lilypond[verbatim,quote,relative=2] +a~a +a +% increase the length of the tie +-\tweak #'minimum-length #5 +~a +@end lilypond -He aquí un ejemplo de los distintos estilos de línea disponibles, y cómo -aplicarles ajustes finos. +@lilypond[verbatim,quote,relative=2] +a1 +\compressFullBarRests +R1*23 +% increase the length of the rest bar +\once \override MultiMeasureRest #'minimum-length = #20 +R1*23 +a1 +@end lilypond -@lilypond[relative=2,ragged-right,verbatim,fragment] -d2 \glissando d'2 -\once \override Glissando #'style = #'dashed-line -d,2 \glissando d'2 -\override Glissando #'style = #'dotted-line -d,2 \glissando d'2 -\override Glissando #'style = #'zigzag -d,2 \glissando d'2 -\override Glissando #'style = #'trill -d,2 \glissando d'2 +@lilypond[verbatim,quote,relative=2] +a \< a a a \! +% increase the length of the hairpin +\override Hairpin #'minimum-length = #20 +a \< a a a \! @end lilypond -La información que determina los puntos extremos se calcula al vuelo -para cada objeto gráfico, pero es posible sobreescribirlos. +Esta sobreescritura se puede usar también para aumentar la longitud de +las ligaduras de expresión y de fraseo: -@lilypond[relative=2,ragged-right,verbatim,fragment] -e2 \glissando f +@lilypond[verbatim,quote,relative=2] +a( a) +a +-\tweak #'minimum-length #5 +( a) + +a\( a\) +a +-\tweak #'minimum-length #5 +\( a\) +@end lilypond + +Para algunos objetos de preesentación, la propiedad +@code{minimum-length} es efectiva sólo si se llama explícitamente al +procedimiento @code{set-spacing-rods}. Para hacerlo, se debe fijar la +propiedad @code{springs-and-rods} al valor +@code{ly:spanner::set-spacing-rods}. Por ejemplo, la longitud mínima +de un glissando no tiene efecto a no ser que se establezca la +propiedad @code{springs-and-rods}: + +@lilypond[verbatim,quote,relative=1] +% default +e \glissando c' + +% not effective alone +\once \override Glissando #'minimum-length = #20 +e, \glissando c' + +% effective only when both overrides are present +\once \override Glissando #'minimum-length = #20 +\once \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods +e, \glissando c' +@end lilypond + +Lo mismo se puede decir del objeto @code{Beam}: + +@lilypond[verbatim,quote,relative=1] +% not effective alone +\once \override Beam #'minimum-length = #20 +e8 e e e + +% effective only when both overrides are present +\once \override Beam #'minimum-length = #20 +\once \override Beam #'springs-and-rods = #ly:spanner::set-spacing-rods +e8 e e e +@end lilypond + +@strong{@i{The @code{to-barline} property}} + +La segunda propiedad útil del @code{spanner-interface} es +@code{to-barline}. De forma predeterminada tiene el valor cierto, +haciendo que los reguladores y otros objetos de extensión que terminan +sobre la primera nota de un compás, en vez de eso terminen en la línea +divisoria inmediatamente precedente. Si se establece al valor falso, +el extensor llegará más allá de la barra de compás y terminará +excatamente sobre la nota: + +@lilypond[verbatim,quote,relative=2] +a \< a a a a \! a a a \break +\override Hairpin #'to-barline = ##f +a \< a a a a \! a a a +@end lilypond + +Esta propiedad no es efectiva para todos los extensores. Por ejemplo, +su establecimiento a @code{#t} no tienen ningún efecto sobre las +ligaduras de expresión o de fraseo, o sobre otros extensores para los +que terminar en la barra de compás no tendría ningún significado. + +@unnumberedsubsubsec Using the @code{line-spanner-interface} + +Entre los objetos que contemplan el interface +@code{line-spanner-interface} se encuentran + +@itemize +@item @code{DynamicTextSpanner} +@item @code{Glissando} +@item @code{TextSpanner} +@item @code{TrillSpanner} +@item @code{VoiceFollower} +@end itemize + +La rutina responsable de dibujar los sellos de estos extensores es +@code{ly:line-interface::print}. esta rutina determina la +localización exacta de los dos puntos extremos y traza una línea entre +ellos, en el estilo solicitado. Las posiciones de los dos puntos +extremos del extensor se calculan al vuelo, pero es posible +sobreescribir sus coordenadas Y. Las propiedades que se deben +especificar están anidadas a dos niveles de profundidad en la +jerarquía de propiedades, pero la sintaxis de la instrucción +@code{\override} es bastante sencilla: + +@lilypond[relative=2,quote,verbatim] +e2 \glissando b +\once \override Glissando #'bound-details #'left #'Y = #3 \once \override Glissando #'bound-details #'right #'Y = #-2 -e2 \glissando f +e2 \glissando b @end lilypond -El objeto @code{Glissando}, como cualquier otro que use la rutina -@code{ly:line-interface::print}, conlleva una lista asociativa -anidada. En la instrucción anterior, el valor de @code{Y} -se establece a @code{-2} para la lista asociativa correspondiente al extremo final de la -derecha. Por supuesto, también es posible ajustar el extremo de la izquierda con -@code{left} en vez de @code{right}. +Las unidades para la propiedad @code{Y} son @code{staff-space}s, +siendo el punto del cero la línea central del pentagrama. Para el +glissando, esto es el valor de @code{Y} en la coordenada X que +corresponde al punto central de cada cabeza de nota si nos imaginamos +que la línea se extiende hasta allí. -Si no se establece el valor de @code{Y}, se calcula a partir de la posición -vertical del punto de anclaje derecho del objeto de extensión. +Si no está fijado @code{Y}, su valor se calcula a partir de la +posición vertical del punto de anclaje correspondiente del extensor. -En el caso de un salto de línea, los valores de los puntos extremos se extienden -con los contenidos de las sublistas @code{left-broken} y @code{right-broken}, -por ejemplo +En caso de salto de línea, los valores para los puntos extremos se +especifican por las sub-listas @code{left-broken} y +@code{right-broken} de @code{bound-details}. Por ejemplo: @lilypond[relative=2,ragged-right,verbatim,fragment] -\override Glissando #'breakable = ##T +\override Glissando #'breakable = ##t \override Glissando #'bound-details #'right-broken #'Y = #-3 c1 \glissando \break f1 @end lilypond -Las siguientes propiedades se pueden usar para el ajuste fino de los objetos de extensión: +Un número de propiedades adicionales de las sub-listas @code{left} y +@code{right} de la propiedad @code{bound-details} se pueden +especificar de la misma forma que @code{Y}: @table @code @item Y -Establece la coordenada Y del punto extremo, en espacios de pentagrama. Por -omisión, es el centro del objeto con que enlaza. Así, para un glissando -apuntaría al centro vertical de la cabeza de la nota. +Establece la coordenada Y del punto extremo, en desplazamientos de +@code{staff-space}s desde la línea central del pentagrama. De forma +predeterminada es el centro del objeto ancla, y así un glissando +apunta al centro vertical de la cabeza de la nota. -Para objetos de extensión horizontales, como el de texto y los trinos, tiene el valor -fijo de cero. +Para extensores horizontales como los extensores de texto y los +trinos, está inamoviblemente codificado como 0. -@item attach-dir -Determina el lugar donde la línea comienza y acaba en la dirección X, -relativo al objeto al que se enlaza. Así, un valor de @code{-1} (o -@code{LEFT}) hace que la línea comience o acabe en el lado izquierdo de la cabeza de la nota -a la que el objeto se encuentra adjuntado. +@item attach-dir (dirección de anclaje) +Determina dónde comienza y termina la línea en la dirección X, con +relación al objeto ancla. Sí, un valor de @code{-1} (o @code{LEFT}, +izquierda) hace que la línea comienze o termine en el lado izquierdo +de la cabeza de la nota a la que está anclado. @item X -Es la coordenada absoluta del extremo final. Normalmente -se calcula al vuelo y no tiene mucho sentido sobreescribirlo. +Es la coordenada X absoluta del punto extremo. Se suele calcular al +vuelo, y su sobreescritura no tiene un efecto útil. -@item stencil -Los objetos extensores de línea pueden tener símbolos al principio o al final, que se encuentra contenido -dentro de esta subpropiedad. Es para uso interno y se recomienda -usar @code{text}. +@item stencil (sello) +Los extensores de línea pueden tener símbolos al comienzo o al final, +lo que está contenido en esta sub-propiedad. Esto es para uso +interno; se recomienda en su lugar el uso de @code{text}. -@item text -Es un elemento de marcado que se evalúa para generar la propiedad stencil anterior. Se usa -para poner @i{cresc.} y @i{tr} sobre los objetos de extensión horizontales. +@item text (texto) +Es un elemento de marcado que se evalúa para dar lugar al sello. Se +usa para escribir @i{cresc.}, @i{tr} y otros textos sobre los objetos +de extensión horizontales. @lilypond[quote,ragged-right,fragment,relative=2,verbatim] \override TextSpanner #'bound-details #'left #'text @@ -1701,48 +2144,63 @@ para poner @i{cresc.} y @i{tr} sobre los objetos de extensión horizontales. c2\startTextSpan b c a\stopTextSpan @end lilypond -@item stencil-align-dir-y -@item stencil-offset -Sin un valor establecido para esto, el stencil se coloca simplemente sobre el extremo del final, -tal y como se encuentra definido por las subpropiedades @code{X} e @code{Y}. -La asignación de un valor para @code{stencil-align-dir-y} o para @code{stencil-offset} -desplaza el símbolo del extremo de forma relativa al extremo de la línea +@item stencil-align-dir-y (alineación del sello en y) +@item stencil-offset (desplazamiento del sello) +Si no se modifican uno u otro, el sello se coloca sencillamente en el +punto extremo, centrado sobrer la línea, como viene definido por las +subpropiedades @code{X} e @code{Y}. Si se fijan +@code{stencil-align-dir-y} o @code{stencil-offset} se moverá el +símbolo del borde verticalmente con relación al extremo de la línea: @lilypond[relative=1,fragment,verbatim] -\override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN -\override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP - -\override TextSpanner #'bound-details #'left #'text = #"gggg" -\override TextSpanner #'bound-details #'right #'text = #"hhhh" +\override TextSpanner #'bound-details + #'left #'stencil-align-dir-y = #-2 +\override TextSpanner #'bound-details + #'right #'stencil-align-dir-y = #UP + +\override TextSpanner #'bound-details + #'left #'text = #"ggg" +\override TextSpanner #'bound-details + #'right #'text = #"hhh" c4^\startTextSpan c c c \stopTextSpan @end lilypond +Observe que los valores negativos mueven el texto @emph{hacia arriba}, +al contrario de lo que podríoa esperarse, pues el valor de @code{-1} o +@code{DOWN} (abajo) significa alinear el bborde @emph{inferior} del +texto con la línea de extensión. Un valor de @code{1} o @code{UP} +(arriba) alinea el borde superior del texto con la línea extensora. + @item arrow (flecha) -El establecimiento de esta subpropiedad al valor de @code{#t} produce una cabeza de flecha al final de la -línea. +Al establecer esta sub-propiedad a @code{#t} se produce una punta de +flecha en el extremo de la línea. @item padding (relleno) -Esta subpropiedad controla el espacio entre el punto extremo de la línea especificado -y el extremo real. Sin relleno, un glissando empezaría -y acabaría en el centro de las cabezas de las notas. +Esta sub-propiedad controla el espacio entre el punto extremo +especificado de la línea y el extremo real. Sin relleno, un glissando +empezaría y terminaría en el centro de la cabeza de las notas. @end table -La función musical \endSpanners termina los objetos de extensión y los -reguladores después de una nota exactamente. +La función musical @code{\endSpanners} finaliza de forma prematura el +extensor que comienza sobre la nota que sigue inmediatamente a +continuación. Se termina después de una nota exactamente, o en la +siguiente barra de compás si @code{to-barline} es verdadero y se +produce una divisoria antes de la siguiente nota. @lilypond[verbatim,quote,ragged-right,relative=2,fragment] \endSpanners -c2 \startTextSpan c2 -c2 \< c2 +c2 \startTextSpan c2 c2 +\endSpanners +c2 \< c2 c2 @end lilypond -Al utilizar \endSpanners no es necesario cerrar \startTextSpan con -\stopTextSpan, ni tampoco cerrar los reguladores con \!. +Si se usa @code{\endSpanners} no es necesario cerrar \startTextSpan +con \stopTextSpan, ni cerrar los reguladores con @code{\!}. @seealso -Referencia del programa: +Referencia de funcionamiento interno: @rinternals{TextSpanner}, @rinternals{Glissando}, @rinternals{VoiceFollower}, @@ -1750,22 +2208,799 @@ Referencia del programa: @rinternals{line-spanner-interface}. +@node Visibility of objects +@subsection Visibility of objects + +@cindex objetos, visibilidad de +@cindex grobs, visibilidad de +@cindex visibilidad de los objetos + +Hay cuatro formas principales en que se puede controlar la visibilidad +de los objetos de presentación: se puede eliminar su sello, se pueden +volver transparentes, se pueden pintar de blanco, o se puede +sobreescribir su propiedad @code{break-visibility}. Las tres primeras +se aplican a todos los objetos de presentación; la última sólo a unos +pocos: los objetos @emph{divisibles}. El Manual de aprendizaje +introduce estas cuatro técnicas, véase @rlearning{Visibility and color +of objects}. + +Hay también algunas otras técnicas que son específicas de ciertos +objetos de presentación. Se estudian bajo Consideraciones especiales. + +@menu +* Removing the stencil:: +* Making objects transparent:: +* Painting objects white:: +* Using break-visibility:: +* Special considerations:: +@end menu + + +@node Removing the stencil +@unnumberedsubsubsec Removing the stencil + +@cindex sello, eliminar + +Todo objeto de presentación tiene una propiedad stencil (sello). De +forma predeterminada está establecida a la función específica que +dibuja ese objeto. Se se sobreescribe eesta propiedad a @code{#f} no +se llama a ninguna función y el objeto no se dibuja. La acción +predeterminada se puede recuperar con @code{\revert}. + +@lilypond[quote,verbatim,relative=1] +a1 a +\override Score.BarLine #'stencil = ##f +a a +\revert Score.BarLine #'stencil +a a a +@end lilypond + +@node Making objects transparent +@unnumberedsubsubsec Making objects transparent + +@cindex transparentes, hacer los objetos + +Todo objeto de presentación tiene una propiedad transparent +(transparente) que de forma predeterminada está establecida a +@code{#f}. Si se fija a @code{#t} el objeto aún ocupa espacio pero es +invisible. + +@lilypond[quote,verbatim,relative=2] +a4 a +\once \override NoteHead #'transparent = ##t +a a +@end lilypond + +@node Painting objects white +@unnumberedsubsubsec Painting objects white + +@cindex objetos, coloreado de +@cindex coloreado de objetos +@cindex capas +@cindex impresión, orden de +@cindex sobreescritura de objetos +@cindex objetos, sobreescritura de +@cindex grobs, sobreescritura de + +Todo objeto de presentación tiene una propiedad de color que de forma +predeterminada está establecida a @code{black} (negro). Si se +sobreescribe a @code{white} (blanco) el objeto será indistinguible del +fondo blanco. Sin embargo, si el objeto cruza a otros objetos, el +color de los puntos de cruce queda determinado por el orden en que se +dibujan estos objetos, lo que puede dejar una imagen fantasma del +objeto blanco, como puede verse aquí: + +@lilypond[quote,verbatim,relative=2] +\override Staff.Clef #'color = #white +a1 +@end lilypond + +Se puede evitar esto cambiando el orden de impresión de los objetos. +Todos los objetos de presentación tienen una propiedad @code{layer} +(capa) que se debe establecer a un valor entero. Los objetos con el +valor de @code{layer} más bajo se dibujan primero, después se dibujan +los objetos con valores progresivamente mayores, y así los objetos con +valores más altos se dibujan encima de los que tienen valores más +bajos. De forma predeterminada, casi todos los objetos tienen +asignado un valor @code{layer} de @code{1}, aunque algunos objetos, +entre ellos el pentagrama y las líneas divisorias, @code{StaffSymbol} +y @code{BarLine}, tienen asignado un calor de @code{0}. El orden de +impresión de los objetos con el mismo valor de @code{layer} es +indeterminado. + +En el ejemplo de arriba, la clave blanca, con un valor @code{layer} +predeterminado de @code{1}, se dibuja después de las líneas del +pentragrama (valor @code{layer} predeterminado de @code{0}), +sobreimpresionándolas. Para cambiarlo, se debe dar al objeto +@code{Clef} un valor de @code{layer} más bajo, digamos @code{-1}, para +que se dibuje antes: + +@lilypond[quote,verbatim,relative=2] +\override Staff.Clef #'color = #white +\override Staff.Clef #'layer = #-1 +a1 +@end lilypond + +@node Using break-visibility +@unnumberedsubsubsec Using break-visibility + +@c TODO Add making other objects breakable + +@cindex break-visibility + +Casi todos los objetos de presentación se imprimen una sola vez, pero +algunos como las líneas divisorias, claves, indicaciones de compás y +armaduras de tonalidad, se pueden tener que imprimir dos veces cuando +se produce un salto de línea : una vez al final de la línea y otra al +comienzo de la siguiente. Estos objetos reciben el nombre de +@emph{divisibles}, y tienen una propiedad, @code{break-visibility} +(visibilidad en el salto), para controlar su visibilidad en las tres +posiciones en que pueden aparecer: al comienzo de una línea, dentro de +la línea si se produce un cambio, y al final de la línea si el cambio +se produce en ese lugar. + +Por ejemplo, la indicación de compás se imprime de forma +predeterminada al comienzo de la primera línea y en ningún otro lugar +a no ser que cambie, en cuyo caso se imprime en el punto en que se +produce el cambio. Si este cambio se produce al final de una línea, +la nueva indicación de compás se imprime al principio de la línea +siguiente y también al final de la línea anterior como indicación de +precaución. + +Este comportamiento se controla por medio de la propiedad +@code{break-visibility}, que se explica en +@c Leave this ref on a newline - formats incorrectly otherwise -td +@rlearning{Visibility and color of objects}. Esta propiedad toma un +vector de tres valores booleanos que, por orden, determinan si el +objeto se imprime al final, dentro, o al principio de la línea. O, +para ser más exactos: antes del salto de línea, si no hay salto, o +después del salto. + +Como alternativa se pueden especificar siete de las ocho combinaciones +mediante funciones predefinidas cuya definición está en +@file{scm/output-lib.scm}, donde las tres últimas columnas indican si +los objetos de presentación serán visibles en las posiciones que se +muestran en el encabezamiento de cada columna: + +@multitable @columnfractions .40 .15 .1 .1 .1 +@c TODO check these more carefully +@headitem Forma @tab Forma @tab Antes del @tab Si no hay @tab Después del +@headitem de función @tab de vector @tab salto @tab salto @tab salto + +@item @code{all-invisible} @tab @code{'#(#f #f #f)} @ @ @tab no @tab no @tab no +@item @code{begin-of-line-visible} @tab @code{'#(#f #f #t)} @tab no @tab no @tab sí +@item @code{end-of-line-visible} @tab @code{'#(#t #f #f)} @tab sí @tab no @tab no +@item @code{all-visible} @tab @code{'#(#t #t #t)} @tab sí @tab sí @tab sí +@c The center-visible function is not defined +@c @item @code{center-visible} @tab @code{'#(#f #t #f)} @tab no @tab sí @tab no +@item @code{begin-of-line-invisible} @tab @code{'#(#t #t #f)} @tab sí @tab sí @tab no +@item @code{end-of-line-invisible} @tab @code{'#(#f #t #t)} @tab no @tab sí @tab sí +@item @code{center-invisible} @tab @code{'#(#t #f #t)} @tab sí @tab no @tab sí +@end multitable + +La función @code{center-visible} no está predefinida. + +Los ajustes predeterminados de @code{break-visibility} dependen del +objeto de presentación. La tabla siguiente muestra todos los objetos +de presentación de interés que resultan afectados por +@code{break-visibility} y el ajuste predeterminado de esta propiedad: + +@multitable @columnfractions .3 .3 .4 + +@headitem Objeto @tab Contexto usual @tab Valor predet. + +@c omit Ambitus as it appears not to be affected by break-visibility -td +@c @item @code{Ambitus} @tab as specified @tab @code{begin-of-line-visible} +@item @code{BarLine} @tab @code{Score} @tab calculado +@item @code{BarNumber} @tab @code{Score} @tab @code{begin-of-line-visible} +@c omit the following item until it can be explained -td +@c @item @code{BreakAlignGroup} @tab @code{Score} @tab calculated +@item @code{BreathingSign} @tab @code{Voice} @tab @code{begin-of-line-invisible} +@item @code{Clef} @tab @code{Staff} @tab @code{begin-of-line-visible} +@item @code{Custos} @tab @code{Staff} @tab @code{end-of-line-visible} +@item @code{DoublePercentRepeat} @tab @code{Voice} @tab @code{begin-of-line-invisible} +@c omit KeyCancellation until it can be explained -td +@c @item @code{KeyCancellation} @tab ?? @tab @code{begin-of-line-invisible} +@item @code{KeySignature} @tab @code{Staff} @tab @code{begin-of-line-visible} +@c omit LeftEdge until it can be explained -td +@c @item @code{LeftEdge} @tab @code{Score} @tab @code{center-invisible} +@item @code{OctavateEight} @tab @code{Staff} @tab @code{begin-of-line-visible} +@item @code{RehearsalMark} @tab @code{Score} @tab @code{end-of-line-invisible} +@item @code{TimeSignature} @tab @code{Staff} @tab @code{all-visible} + +@end multitable + +El ejemplo de abajo muestra el uso de la forma de vector para +controlar la visibilidad de las líneas divisorias: + +@lilypond[quote,verbatim,relative=1,ragged-right] +f4 g a b +f4 g a b +% Remove bar line at the end of the current line +\once \override Score.BarLine #'break-visibility = #'#(#f #t #t) +\break +f4 g a b +f4 g a b +@end lilypond + +Aunque los tres componentes del vector utilizado para sobreescribir +@code{break-visibility} deben estar presentes, no todos son efectivos +para todos los objetos de presentación, y algunas combinaciones pueden +incluso dar errores. Son de aplicación las siguientes limitaciones: + +@itemize @bullet +@item Las líneas divisorias no se pueden imprimir al principio de la línea. +@item No se puede imprimir el número de compás al principio de la primera +línea a no ser que su valor establecido sea distinto de 1. +@item Clave: véase más abajo +@item Las repeticiones dobles de tipo porcentaje se imprimen completamente o +se suprimen por completo. Utilice begin-of line-invisible para +imprimirlas y all-invisible para suprimirlas. +@item Armadura: véase más abajo +@item OctavateEight: véase más abajo +@end itemize + +@node Special considerations +@unnumberedsubsubsec Special considerations + +@strong{@emph{Visibilidad después de un cambio explícito}} + +@cindex armadura, visibilidad después de un cambio explícito +@cindex explicitKeySignatureVisibility +@cindex clave, visibilidad después de un cambio explícito +@cindex explicitClefVisibility + +La propiedad @code{break-visibility} controla la visibilidad de las +armaduras y cambios de clave sólo al principio de las líneas, es +decir, después de un salto. No tiene ningún efecto sobre la +visibilidad de la armadura o la clave después de un cambio explícito +de tonalidad o de clave dentro o al final de una línea. En el ejemplo +siguiente la armadura que sigue al cambio explícito de tonalidad a Si +bemol mayor es visible incluso con @code{all-invisible} establecido. + +@lilypond[quote,verbatim,relative=1,ragged-right] +\key g \major +f4 g a b +% Try to remove all key signatures +\override Staff.KeySignature #'break-visibility = #all-invisible +\key bes \major +f4 g a b +\break +f4 g a b +f4 g a b +@end lilypond + +La visibilidad de estos cambios explícitos de tonalidad y de clave se +controla por medio de las propiedades +@code{explicitKeySignatureVisibility} y @code{explicitClefVisibility}. +Son los equivalentes de la propiedad @code{break-visibility} y las dos +toman un vector de tres valores booleanos o las funciones predefinidas +relacionadas anteriormente, exactamente igual que +@code{break-visibility}. Las dos son propiedades del contexto Staff, +no de los propios objetos de presentación, y por tanto se establecen +utilizando la instrucción @code{\set}. Las dos están establecidas de +forma predeterminada al valor @code{all-visible}. Estas propiedades +controlan sólo la visibilidad de las armaduras y las claves que +resultan de los cambios explícitos y no afectan a las armaduras y +tonalidades que están al principio de las líneas; para quitarlas, aún +se debe sobreescribir la propiedad @code{break-visibility} en el +objeto correspondiente. + +@lilypond[quote,verbatim,relative=1,ragged-right] +\key g \major +f4 g a b +\set Staff.explicitKeySignatureVisibility = #all-invisible +\override Staff.KeySignature #'break-visibility = #all-invisible +\key bes \major +f4 g a b \break +f4 g a b +f4 g a b +@end lilypond + +@strong{@emph{Visibilidad de las alteraciones de precaución}} + +Para eliminar las alteraciones de precaución que se imprimen en un +cambio de tonalidad explícito, establezca la propiedad +@code{printKeyCancellation} del contexto Staff a @code{#f}: + +@lilypond[quote,verbatim,relative=1,ragged-right] +\key g \major +f4 g a b +\set Staff.explicitKeySignatureVisibility = #all-invisible +\set Staff.printKeyCancellation = ##f +\override Staff.KeySignature #'break-visibility = #all-invisible +\key bes \major +f4 g a b \break +f4 g a b +f4 g a b +@end lilypond + +Con estas sobreescrituras solamente permanecen las alteraciones +accidentales delante de las notas para indicar el cambio de tonalidad. + +@c TODO Add visibility of cautionary accidentals before notes + +@strong{@emph{Automatic bars}} + +@cindex automaticBars +@cindex líneas divisorias, eliminación + +Como caso especial, la impresión de las líneas divisorias también se +puede inhabilitar estableciendo la propiedad @code{automaticBars} en +el contexto Score. Si se fija a @code{#f}, las barras de compás no se +imprimen automáticamente; se deben crear explícitamente con una +instrucción @code{\bar}. A diferencia de la instrucción predefinida +@code{\cadenzaOn}, los compases se siguen contando. La generación de +compases continúa de acuerdo a esta cuenta si esta propiedad se +establece posteriormente a @code{#t}. Si se fija al valor @code{#f}, +sólo pueden producirse saltos de línea en instrucciones @code{\bar} +explícitas. + +@c TODO Add example + +@strong{@emph{Octavated clefs}} + +@cindex octavadas, visibilidad de las claves +@cindex visibilidad de las claves octavadas +@cindex claves, visibilidad de la octavación + +El pequeño símbolo de octava sobre las claves en octava alta o baja se +produce por parte del objeto @code{OctavateEight}. Su visibilidad se +controla independientemente de la del objeto @code{Clef}, así que es +necesario aplicar las sobreescrituras correspondientes +@code{break-visibility} tanto a los objetos @code{Clef} como +@code{OctavateEight} para suprimir completamente estos símbolos de +clave al comienzo de cada línea. + +Para los cambios de clave explícitos, la propiedad +@code{explicitClefVisibility} controla tanto el símbolo de clave como +el símbolo de octava asociado. + +@seealso + +Manual de aprendizaje: +@rlearning{Visibility and color of objects} + + +@node Line styles +@subsection Line styles + +Ciertas indicaciones de ejecución, p.ej., @i{rallentando}, +@i{accelerando} y los @i{trinos} se escriben como texto y se extienden +sobre muchos compases mediante líneas, a veces punteadas u onduladas. + +Todos ellos usan las mismas rutinas que el glissando para dibujar los +textos y las líneas, y por ello el ajuste fino de su comportamiento se +hace de la misma manera. Se hace con un spanner (un objeto de +extensión), y la rutina responsable de dibujar los objetos de +extensión es @code{ly:line-interface::print}. Esta rutina determina la +colocación exacta de los dos @i{extremos del objeto de extensión} y +dibuja una línea entre ellos, en el estilo solicitado. + +He aquí un ejemplo de los distintos estilos de línea disponibles, y +cómo aplicarles ajustes finos. + +@lilypond[relative=2,ragged-right,verbatim,fragment] +d2 \glissando d'2 +\once \override Glissando #'style = #'dashed-line +d,2 \glissando d'2 +\override Glissando #'style = #'dotted-line +d,2 \glissando d'2 +\override Glissando #'style = #'zigzag +d,2 \glissando d'2 +\override Glissando #'style = #'trill +d,2 \glissando d'2 +@end lilypond + +Las posiciones de los puntos extremos del objeto de extensión se +computan al vuelo para cada uno de los objetos gráficos, pero es +posible sobreescribirlos: + +@lilypond[relative=2,ragged-right,verbatim,fragment] +e2 \glissando f +\once \override Glissando #'bound-details #'right #'Y = #-2 +e2 \glissando f +@end lilypond + +El valor de @code{Y} está establecido a @code{-2} para el extremo +derecho. El lado izquierdo se puede ajustar de forma similar +especificando @code{left} en vez de @code{right}. + +Si no está establecido @code{Y}, el valor se computa a partir de la +posición vertical de los puntos de anclaje izquierdo y derecho del +extensor. + +Son posibles otros ajustes de los extensores, para ver más detalles +consulte @ref{Spanners}. + + @node Rotating objects @subsection Rotating objects -@node Aligning objects -@subsection Aligning objects +Tanto los objetos de presentación como los elementos de texto de +marcado se pueden girar cualquier ángulo respecto a cualquier punto, +pero difiere el método de hacerlo. + +@menu +* Rotating layout objects:: +* Rotating markup:: +@end menu + +@node Rotating layout objects +@unnumberedsubsubsec Rotating layout objects + +@cindex rotating objects +@cindex objects, rotating + +Todos los objetos de presentación que contemplan el interface +@code{grob-interface} se pueden rotar estableciendo su propiedad +@code{rotation}. Acepta una lista de tres elementos: el ángulo de la +rotación en sentido antihorario, y las coordenadas x e y del punto con +relación al punto de referencia del objeto, alrededor del que se va a +realizar la rotación. El ángulo de rotación se pespecifica en grados +y las coordenadas en espacios de pentagrama. + +El ángulo de rotación y las coordenadas del punto de rotación se deben +determinar por ensayo y error. + +@cindex reguladores en ángulo +@cindex ángulo, reguladores en + +Solamente en ciertas ocasiones es útil la rotación de objetos de +presentación; el ejemplo siguiente muestra una situación en que puede +serlo: + +@lilypond[quote,verbatim,relative=1] +g4\< e' d' f\! +\override Hairpin #'rotation = #'(20 -1 0) +g,,4\< e' d' f\! +@end lilypond +@node Rotating markup +@unnumberedsubsubsec Rotating markup + +Todos los textos de marcado se pueden rotar para que se dispongan en +cualquier ángulo predeciéndolos de la instrucción @code{\rotate}. La +instrucción acepta dos argumentos: el ángulo de rotación en grados en +sentido antihorario, y el texto que rotar. Los límites que ocupa el +texto no se rotan: toman su valor a partir de los extremos de las +coordenadas x e y del texto rotado. En el ejemplo siguiente la +propiedad @code{outside-staff-priority} del texto se establece a +@code{#f} para desactivar la evitación automática de colisiones, lo +que empuja al texto a una posición muy alta. + +@lilypond[quote,verbatim,relative=1] +\override TextScript #'outside-staff-priority = ##f +g4^\markup { \rotate #30 "a G" } +b^\markup { \rotate #30 "a B" } +des^\markup { \rotate #30 "a D-Flat" } +fis^\markup { \rotate #30 "an F-Sharp" } +@end lilypond @node Advanced tweaks @section Advanced tweaks +Esta sección trata sobre distintos enfoques en la realización de +ajustes finos a la apariencia de la partitura impresa. + @menu -* Vertical grouping of grobs:: -* Modifying ends of spanners:: -* Modifying stencils:: +* Aligning objects:: +* Vertical grouping of grobs:: +* Modifying stencils:: +* Modifying shapes:: @end menu +@seealso + +Manual de aprendizaje: +@rlearning{Tweaking output}, +@rlearning{Other sources of information}. + +Referencia de la notación: +@ref{Explaining the Internals Reference}, +@ref{Modifying properties}, +@ref{Interfaces for programmers}. + +Archivos de inicio: +@file{scm/@/define@/-grobs@/.scm}. + +Fragmentos de código: +@rlsr{Tweaks and overrides}. + +Referencia de funcionamiento interno: +@rinternals{All layout objects}. + + +@node Aligning objects +@subsection Aligning objects + +Los objetos gráficos que soportan el interface +@code{self-alignment-interface} y/o el @code{side-position-interface} +se pueden alinear contra un objeto colocado previamente, de diversas +maneras. Para ver una lista de estos objetos, consulte +@rinternals{self-alignment-interface} y +@rinternals{side-position-interface}. + +Todos los objetos gráficos tienen un punto de referencia, una +extensión horizontal y una extensión vertical. La extensión +horizontal es una pareja de números que dan los desplazamientos a +partir del punto de referencia de los bordes izquierdo y derecho, +siendo negativos los desplazamientos hacia la izquierda. La extensión +vertical es una pareja de números que dan el desplazamiento a partir +del punto de referencia hasta los bordes inferior y superior, siendo +negativos los deplazamientos hacia abajo. + +La posición de un objeto sobre el pentagrama viene dada por los +valores de las propiedades @code{X-offset} e @code{Y-offset}. El +valor de @code{X-offset} da el desplazamiento desde la coordenada x +del punto de referencia del objeto padre, y el valor de +@code{Y-offset} da el desplazamiento a partir de la línea central del +pentagrama. Los valores de @code{X-offset} y @code{Y-offset} se +pueden establecer directamente o se puede dejar que se calculen por +parte de procedimientos para conseguir una alineación con el objeto +padre de distintas maneras. + +@warning{Muchos objetos tienen consideraciones de posicionamiento +especiales que hacen que se ignore o se modifique cualquier ajuste +realizado a @code{X-offset} o a @code{Y-offset}, a pesar de que el +objeto contemple el interface @code{self-alignment-interface}.} + +Por ejemplo, una alteración accidental se puede reposicionar +verticalmente estableciendo @code{Y-offset} pero los cambios a +@code{X-offset} no tienen ningún efecto. + +Las letras de ensayo se pueden alinear con objetos divisibles como +líneas divisorias, claves, armaduras e indicaciones de compás. Hay +propiedades especiales que se encuentran en +@code{break-aligned-interface} para el posicionamiento de las letras +de ensayo sobre dichos objetos. + +@menu +* Setting @code{X-offset} and @code{Y-offset} directly:: +* Using the @code{side-position-interface}:: +* Using the @code{self-alignment-interface}:: +* Using the @code{break-aligned-interface}:: +@end menu + +@node Setting @code{X-offset} and @code{Y-offset} directly +@unnumberedsubsubsec Setting @code{X-offset} and @code{Y-offset} directly + +Se pueden dar valores numéricos a las propiedades @code{X-offset} y +@code{Y-offset} de muchos objetos. El ejemplo siguiente muestra tres +notas con una digitación en su posición predeterminada y con los +valores @code{X-offset} y @code{Y-offset} modificados. + +@lilypond[verbatim,quote,relative=2] +a-3 +a +-\tweak #'X-offset #0 +-\tweak #'Y-offset #0 +-3 +a +-\tweak #'X-offset #-1 +-\tweak #'Y-offset #1 +-3 +@end lilypond + +@c TODO write more + +@node Using the @code{side-position-interface} +@unnumberedsubsubsec Using the @code{side-position-interface} + +Un objeto que contempla el @code{side-position-interface} se puede +colocar junto a su objeto padre de forma que los bordes especificados +de los dos objetos se toquen. El objeto se puede situar encima, +debajo, a la derecha o a la izquierda del objeto padre. El padre no +se puede especificar; ciene determinado por el orden de los elementos +en el flujo de entrada. Casi todos los objetos tienen la cabeza de la +nota asociada como padre. + +Los valores de las propiedades @code{side-axis} y @code{direction} +determinan dónde colocar el objeto, como sigue: + +@c TODO add an example of each to the table + +@multitable @columnfractions .3 .3 .3 +@headitem @code{side-axis} @tab @code{direction} @tab +@headitem propiedad @tab propiedad @tab colocación + +@item @code{0} @tab @code{-1} @tab izquierda +@item @code{0} @tab @code{1} @tab derecha +@item @code{1} @tab @code{-1} @tab debajo +@item @code{1} @tab @code{1} @tab encima + +@end multitable + +Si @code{side-axis} es @code{0}, @code{X-offset} se debe establecer al +procedimiento @code{ly:side-position-interface::x-aligned-side}. Este +procedimiento devuelve el calor correcto de @code{X-offset} para +situar el objeto al lado izquierdo o derecho del padre de acuerdo con +el valor de @code{direction}. + +Si @code{side-axis} es @code{1}, @code{Y-offset} se debe establecer al +procedimiento @code{ly:side-position-interface::y-aligned-side}. Este +procedimiento devuelve el valor correcto de @code{Y-offset} para +situar el objeto encima o debajo del padre de acuerdo con el valor de +@code{direction}. + +@c TODO Add examples + +@node Using the @code{self-alignment-interface} +@unnumberedsubsubsec Using the @code{self-alignment-interface} + +@emph{Auto-alineación horizontal de los objetos} + +La alineación horizontal de un objeto que contempla el interface +@code{self-alignment-interface} está controlada por el valor de la +propiedad @code{self-alignment-X}, siempre y cuando la propiedad +@code{X-offset} de este objeto esté establecida a +@code{ly:self-alignment-interface::x-aligned-on-self}. Se le puede +dar a @code{self-alignment-X} cualquier valor real, en unidades de la +mitad de la extensión X total del objeto. Los valores negativos +mueven el objeto a la derecha, los positivos hacia la izquierda. Un +valor de @code{0} centra el objeto sobre el punto de referencia de su +padre, un valor de @code{-1} alinea el borde izquierdo del objeto +sobre el punto de referencia de su padre, y un valor de @code{1} +alinea el borde derecho del objeto sobre el punto de referencia de su +padre. Se pueden usar los símbolos @code{LEFT}, @code{CENTER} y +@code{RIGHT} en sustitución de los valores @code{-1, 0, 1}, +respectivamente. + +Normalmente se usaría la instrucción @code{\override} para modificar +el valor de @code{self-alignment-X}, pero se puede usar la instrucción +@code{\tweak} para alinear varias anotaciones por separado sobre una +sola nota: + +@lilypond[quote,verbatim,relative=1] +a' +-\tweak #'self-alignment-X #-1 +^"left-aligned" +-\tweak #'self-alignment-X #0 +^"center-aligned" +-\tweak #'self-alignment-X #RIGHT +^"right-aligned" +-\tweak #'self-alignment-X #-2.5 +^"aligned further to the right" +@end lilypond + +@emph{Auto-alineación vertical de los objetos} + +Los objetos se pueden alinear verticalmente en una forma análoga a la +alineación horizontal si la propiedad @code{Y-offset} está establecida +a @code{ly:self-alignment-interface::y-aligned-on-self}. Sin embargo, +a menudo se encuentran implicados otros mecanismos en la alineación +vertical: el valor de @code{Y-offset} es tan sólo una variable que se +tiene en cuenta. Esto puede hacer que ajustar el valor de ciertos +objetos sea una tarea dificultosa. Las unidades son sólo la mitad de +las dimensiones verticales del objeto, que suele ser bastante pequeño, +por lo que pueden requerirse números bastante grandes. Un valor de +@code{-1} alinea el borde inferior del objeto con el punto de +referencia del objeto padre, un valor de @code{0} alinea el centro del +objeto con el punto de referencia del padre, y un valor de @code{1} +alinea el borde superior del objeto con el punto de referencia del +padre. Se pueden usar los símbolos @code{DOWN}, @code{CENTER}, +@code{UP} en sustitución de @code{-1, 0, 1} respectivamente. + +@emph{Auto-alineación de objetos en las dos direcciones} + +Estableciendo tanto @code{X-offset} como @code{Y-offset}, se puede +alinear un objeto en las dos direcciones simultáneamente. + +El ejemplo siguiente muestra cómo ajustar una digitación de forma que +se acerque a la cabeza de la nota. + +@lilypond[quote,verbatim,relative=2] +a +-\tweak #'self-alignment-X #0.5 % move horizontally left +-\tweak #'Y-offset #ly:self-alignment-interface::y-aligned-on-self +-\tweak #'self-alignment-Y #-1 % move vertically up +-3 % third finger +@end lilypond + +@ignore +@unnumberedsubsubsec Using the @code{aligned-on-parent} procedures + +@c Cannot document as they do not seem to operate consistently on all objects -td +@c TODO investigate further + +The @code{aligned-on-parent} procedures are used in the same way +as the @code{aligned-on-self} procedures, they difference being +that they permit an object to be aligned with the @emph{edges} of +the parent rather than the parent's reference point. The following +example shows the difference: + +@c TODO Add example + +@lilypond[verbatim,quote] +@end lilypond + +@end ignore + +@ignore +@unnumberedsubsubsec Using the @code{centered-on-parent} procedures + +@c Cannot document as they do not seem to operate consistently on all objects -td +@c TODO investigate further + +@end ignore + +@c TODO The align-interface, BassFigureAlignment and VerticalAlignment + + +@node Using the @code{break-aligned-interface} +@unnumberedsubsubsec Using the @code{break-aligned-interface} + +Las letras de ensayo se pueden alinear con objetos de notación +distintos a las barras de compás. Estos objetos son @code{ambitus}, +@code{breathing-sign}, @code{clef}, @code{custos}, @code{staff-bar}, +@code{left-edge}, @code{key-cancellation}, @code{key-signature} y +@code{time-signature}. + +De forma predeterminada, las letras de ensayo se centran +horizontalmente sobre el objeto: + +@lilypond[verbatim,quote,relative=1] +e1 +% the RehearsalMark will be centered above the Clef +\override Score.RehearsalMark #'break-align-symbols = #'(clef) +\key a \major +\clef treble +\mark "↓" +e +% the RehearsalMark will be centered above the TimeSignature +\override Score.RehearsalMark #'break-align-symbols = #'(time-signature) +\key a \major +\clef treble +\time 3/4 +\mark "↓" +e2. +@end lilypond + +La alineación de la letra de enzayo con relación al objeto de notación +se puede cambiar, como se ve en el ejemplo siguiente. En una +partitura con varios pentagramas, este ajuste se debe hacer para todos +los pentagramas. + +@lilypond[verbatim,quote,relative=1] +% The RehearsalMark will be centered above the KeySignature +\override Score.RehearsalMark #'break-align-symbols = #'(key-signature) +\key a \major +\clef treble +\time 4/4 +\mark "↓" +e1 +% The RehearsalMark will be aligned with the left edge of the KeySignature +\once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT +\mark "↓" +\key a \major +e +% The RehearsalMark will be aligned with the right edge of the KeySignature +\once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT +\key a \major +\mark "↓" +e +@end lilypond + +La letra de ensayo también se puede desplazar al borde derecho o +izquierdo en una medida arbitraria. Las unidades son espacios de +pentagrama: + +@lilypond[verbatim,quote,relative=1] +% The RehearsalMark will be aligned with the left edge of the KeySignature +% and then shifted right by 3.5 staff-spaces +\override Score.RehearsalMark #'break-align-symbols = #'(key-signature) +\once \override Score.KeySignature #'break-align-anchor = #3.5 +\key a \major +\mark "↓" +e +% The RehearsalMark will be aligned with the left edge of the KeySignature +% and then shifted left by 2 staff-spaces +\once \override Score.KeySignature #'break-align-anchor = #-2 +\key a \major +\mark "↓" +e +@end lilypond + @node Vertical grouping of grobs @subsection Vertical grouping of grobs @@ -1780,13 +3015,140 @@ partitura, pero cada @code{Staff}, @code{Lyrics}, etc. tiene su propio @code{VerticalAxisGroup}. -@node Modifying ends of spanners -@subsection Modifying ends of spanners +@node Modifying stencils +@subsection Modifying stencils + +Todos los objetos de presentación tienen una propiedad @code{stencil} +que es parte del @code{grob-interface}. De forma predeterminada, esta +propiedad suele estar establecida a una función específica del objeto +que está hecha a medida para disponer el símbolo que lo representa en +la salida. Por ejemplo, el ajuste estándar para la propiedad +@code{stencil} del objeto @code{MultiMeasureRest} es +@code{ly:multi-measure-rest::print}. + +El símbolo estándar de cualquier objeto se puede sustituir modificando +la propiedad @code{stencil} para que haga referencia a un +procedimiento diferente escrito especialmente. Esto requiere un alto +nivel de conocimiento del funcionamiento interno de LilyPond, pero hay +una forma más fácil que a menudo puede dar resultados adecuados. + +El procedimiento es establecer la propiedad @code{stencil} al +procedimiento que imprime texto (@code{ly:text-interface::print}) y +añadir una propiedad @code{text} al objeto ajustada para que contenga +el texto de marcado que produce el símbolo requerido. Debido a la +flexibilidad del marcado, se pueden conseguir muchas cosas; en +particular, consulte @ref{Graphic notation inside markup}. + +El ejemplo siguiente muestra esto cambiando el símbolo de la cabeza de +la nota a unas aspas dentro de una circunferencia. + +@lilypond[verbatim,quote] +XinO = { + \once \override NoteHead #'stencil = #ly:text-interface::print + \once \override NoteHead #'text = \markup { + \combine + \halign #-0.7 \draw-circle #0.85 #0.2 ##f + \musicglyph #"noteheads.s2cross" + } +} +\relative c'' { + a a \XinO a a +} +@end lilypond + +Cualquiera de los glifos de la fuente tipográfica Feta se puede pasar +a la instrucción de marcado @code{\musicglyph}: véase @ref{The Feta +font}. -@untranslated +@c TODO Add inserting eps files or ref to later +@c TODO Add inserting Postscript or ref to later -@node Modifying stencils -@subsection Modifying stencils +@seealso + +Referencia de la notación: +@ref{Graphic notation inside markup}, +@ref{Formatting text}, +@ref{Text markup commands}, +@ref{The Feta font}. + + +@node Modifying shapes +@subsection Modifying shapes + +@menu +* Modifying ties and slurs:: +@end menu + +@node Modifying ties and slurs +@unnumberedsubsubsec Modifying ties and slurs + +Las ligaduras de unión, de expresión y de fraseo se trazan como curvas +de Bézier de tercer orden. Si la forma de la ligadura calculada +automáticamente no resulta óptima, se puede modificar su forma +manualmente mediante la especificación explícita de los cuatro puntos +de control necesarios para definir una curva de Bézier de tercer +orden. + +Las curvas Bézier de tercer orden o cúbicas están definidas por cuatro +puntos de control. El primer y cuarto puntos de control son +exactamente los puntos extremos de comienzo y de final de la curva. +Los dos puntos de contros intermedios definen la forma. Se pueden +encontrar en la web animaciones que muestran cómo se traza la curva, +pero la descripción siguiente puede ser de ayuda. La curva comienza a +partir del primer punto de control dirigiéndose directamente hacia el +segundo, curvándose progresivamente para dirigirse hacia el tercero y +continuando la curva hacia el cuarto, llegando a éste en viaje directo +desde el tercer punto de control. La curva está contenida enteramente +dentro del cuadrilátero definido por los cuatro puntos de control. + +He aquí un ejemplo de un caso en que la ligadura no es óptima, y donde +@code{\tieDown} no sirve de ayuda. + +@lilypond[verbatim,quote,relative=1] +<< + { e1 ~ e } +\\ + { r4 } +>> +@end lilypond + +Una forma de mejorar esta ligadura es modificar manualmente sus puntos +de control como sigue. + +Las coordenadas de los puntos de control de Bézier se especifican en +unidades de espacios de pentagrama. La coordenada@tie{}X está en +relación con el punto de referencia de la nota a la que está unida la +ligadura, y la coordenada@tie{}Y está en relación con la línea central +del pentagrama. Las coordenadas se introducen como una lista de +cuatro parejas de números decimales (reales). Un enfoque es estimar +las coordenadas de los dos puntos extremos, y luego tratar de adivinar +los dos puntos intermedios. Los valores óptimos se encuentran por +ensayo y error. + +Es útil recordar que una curva simétrica necesita puntos de contros +simétricos, y que las curvas de Bézier tienen la útil propiedad de que +las transformaciones de la curva tales como la traslación, rotación y +escalado se pueden obtener aplicando la misma transformación a los +puntos de control de la curva. + +Para el ejemplo anterior, la sobreescritura siguiente da una ligadura +satisfactoria: + +@lilypond[verbatim,quote,relative=1] +<< + \once \override Tie + #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1)) + { e1 ~ e1 } +\\ + { r4 4 } +>> +@end lilypond + +@knownissues + +No es posible modificar la forma de las ligaduras de unión o de +expresión cambiando la propiedad @code{control-points} si hay más de +una en el mismo mom ento musical, ni siquiera usando la instrucción +@code{\tweak}. -@untranslated diff --git a/Documentation/es/user/converters.itely b/Documentation/es/user/converters.itely index 5a75168d0e..516422590b 100644 --- a/Documentation/es/user/converters.itely +++ b/Documentation/es/user/converters.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond-program.tely @ignore - Translation of GIT committish: 85b54e04be6730bd0781f3135ee741010e099fd8 + Translation of GIT committish: 88f1608ae6fd17b05344bafb2f0721aafdac657b When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -330,7 +330,7 @@ Entre ellas se encuentran las siguientes: @itemize @item -@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, editor de partituras gráfico. +@uref{http://@/www@/.denemo@/.org/,Denemo}, editor de partituras gráfico. @item @uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, convertidor monofónico de MIDI a LilyPond en tiempo real. diff --git a/Documentation/es/user/programming-interface.itely b/Documentation/es/user/programming-interface.itely index 0363aaf97d..f89da275f4 100644 --- a/Documentation/es/user/programming-interface.itely +++ b/Documentation/es/user/programming-interface.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond.tely @ignore - Translation of GIT committish: 541aafa12474496930f99f617890a944c3db4989 + Translation of GIT committish: 88f1608ae6fd17b05344bafb2f0721aafdac657b When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -374,8 +374,9 @@ contrario. Envolviendo un valor de Scheme en la función @code{ly:export}, un valor de Scheme se interpreta como si hubiera sido introducido en sintaxis de LilyPond. En vez de definir @code{\twice}, el ejemplo anterior podría también haberse escrito como + @example -@dots{} +... @{ #(ly:export (make-sequential-music (list newLa))) @} @end example diff --git a/Documentation/es/user/rhythms.itely b/Documentation/es/user/rhythms.itely index 90328fe620..fbb4474368 100644 --- a/Documentation/es/user/rhythms.itely +++ b/Documentation/es/user/rhythms.itely @@ -1,6 +1,6 @@ -@c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: 7c57f1469e057f25f5d7a7b75c18f33bb4e5bed9 + Translation of GIT committish: 5f6b41e0a22a8c235def146b97f5d48e67fd30f6 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -57,7 +57,7 @@ número 64). Son posibles valores más cortos, pero sólo como notas unidas por una barra. @c Two 64th notes are needed to obtain beams -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[quote,verbatim,relative=2] \time 8/1 c\longa c\breve c1 c2 c4 c8 c16 c32 c64 c64 @@ -85,7 +85,7 @@ Si la duración se omite, su valor será el de la duración de la nota anterior. Por omisión, el valor de la primera nota es el de una negra. -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] +@lilypond[quote,verbatim,relative=2] a a a2 a a4 a a1 a @end lilypond @@ -98,7 +98,7 @@ Para obtener duraciones de notas con puntillo, escriba un punto (@code{.}) después del número. Las notas con doble puntillo se especifican escribiendo dos puntos, y así sucesivamente. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] a4 b c4. b8 a4. b4.. c8. @end lilypond @@ -188,7 +188,7 @@ opcionalmente con un corchete. El grupo especial más común es el tresillo, en el que 3 notas tienen el valor de 2, por tanto las notas duran 2/3 de su valor escrito -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] a2 \times 2/3 { b4 b b } c4 c \times 2/3 { b4 a g } @end lilypond @@ -204,7 +204,7 @@ instrucciones predefinidas, para ver más detalles consulte Los grupos pueden anidarse unos dentro de otros: -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \autoBeamOff c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 | @end lilypond @@ -290,7 +290,7 @@ en la forma @code{*L*M/N}. En el siguiente ejemplo las tres primeras notas duran exactamente dos partes, pero no se imprime ningún corchete de tresillo. -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] +@lilypond[quote,relative=2,verbatim] \time 2/4 % Alter durations to triplets a4*2/3 gis4*2/3 a4*2/3 @@ -317,7 +317,7 @@ por la fracción @emph{numerador}/@emph{denominador}. Los espacios que rodean el punto son necesarios. He aquí un ejemplo que muestra cómo se puede comprimir y expandir la música: -@lilypond[quote,fragment,relative=2,ragged-right,verbatim] +@lilypond[quote,relative=2,verbatim] \time 2/4 % Normal durations 4 c8 a @@ -364,8 +364,8 @@ una nota, algo parecido a lo que hace el puntillo.} Se introduce una ligadura de unión usando el símbolo de la tilde curva @code{~} -@lilypond[quote,ragged-right,fragment,verbatim] -e'2 ~ e' +@lilypond[quote,verbatim,relative=2] +a2 ~ a @end lilypond @noindent @@ -375,10 +375,10 @@ ritmo. También se deben usar ligaduras cuando las notas atraviesan subdivisiones del compás de mayor duración: @c KEEP LY -@lilypond[fragment,quote,ragged-right] +@lilypond[verbatim,quote] \relative c' { r8^"sí" c8 ~ c2 r4 | - r8^"not" c2 ~ c8 r4 + r8^"no" c2 ~ c8 r4 } @end lilypond @@ -396,7 +396,7 @@ las cabezas de las notas cuyas alturas coinciden. Si no coincide ningún par de cabezas, no se crea ninguna ligadura. Los acordes se pueden ligar parcialmente colocando la ligadura dentro del acorde. -@lilypond[quote,ragged-right,fragment,verbatim,relative=1] +@lilypond[quote,verbatim,relative=1] ~ @end lilypond @@ -410,13 +410,13 @@ pueden ligar parcialmente colocando la ligadura dentro del acorde. Cuando la segunda vez de una repetición comienza con una nota ligada, es necesario especificar la ligadura repetida como sigue: -@lilypond[fragment,quote,ragged-right,relative=2,verbatim] +@lilypond[quote,relative=2,verbatim] \repeat volta 2 { c g 2 ~ } \alternative { % First alternative: following note is tied normally { 2. r4 } % Second alternative: following note has a repeated tie - {2\repeatTie d4 c }} + { 2\repeatTie d4 c } } @end lilypond @cindex laissez vibrer @@ -428,7 +428,7 @@ vibrar) indican que las notas no se deben apagar al final. Se usan en la notación para piano, arpa y otros instrumentos de cuerda y percusión. Se pueden introducir de la siguiente manera: -@lilypond[fragment,quote,ragged-right,verbatim,relative=1] +@lilypond[quote,verbatim,relative=1] 1\laissezVibrer @end lilypond @@ -526,7 +526,7 @@ predefinidas que se muestran aquí: @c \time 16/1 is used to avoid spurious bar lines @c and long tracts of empty measures -@lilypond[fragment,quote,ragged-right,verbatim] +@lilypond[fragment,quote,verbatim] \new Staff { % These two lines are just to prettify this example \time 16/1 @@ -558,7 +558,7 @@ aplicación manual precisa de formato a la música polifónica, ya que el formateador automático de colisiones de silencios no mueve estos silencios. -@lilypond[fragment,quote,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] a4\rest d4\rest @end lilypond @@ -614,7 +614,7 @@ introduce la letra, se usa la instrucción @code{\skip} para producir un desplazamiento de una cierta magnitud temporal. @code{\skip} requiere una duración explícita. -@lilypond[quote,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] << { a2 \skip2 a2 a2 @@ -665,7 +665,7 @@ Referencia de funcionamiento interno: Los silencios de uno o más compases completos se introducen como notas con el nombre @code{R} en mayúscula: -@lilypond[quote,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] % Rest measures contracted to single measure \compressFullBarRests R1*4 @@ -679,7 +679,7 @@ notación de la duración que se usa para las notas. La duración de un silencio multi-compás debe ser siempre un número entero de compases, por lo que con frecuencia han de utilizarse puntillos o fracciones: -@lilypond[quote,ragged-right,fragment,verbatim] +@lilypond[quote,fragment,verbatim] \compressFullBarRests \time 2/4 R1 | R2 | @@ -695,7 +695,7 @@ Un silencio de un compás completo se imprime como un silencio de redonda o de breve, centrado en el compás, según el tipo de compás vigente. -@lilypond[quote,ragged-right,fragment,verbatim] +@lilypond[quote,verbatim,fragment] \time 4/4 R1 | \time 6/4 @@ -715,7 +715,7 @@ silencio. De forma alternatica, un silencio multicompás se puede presentar como un solo compás que contiene un símbolo de silencio multicompás, con el número de compases impreso encima del compás: -@lilypond[quote,ragged-right,fragment,verbatim] +@lilypond[quote,fragment,verbatim] % Default behavior \time 3/4 r2. | R2.*2 | \time 2/4 R2 | @@ -741,20 +741,22 @@ Se pueden añadir elementos de marcado a los silencios multicompás. Se proporciona la instrucción predefinida @code{\fermataMarkup} para añadir calderones. -@lilypond[quote,ragged-right,verbatim,fragment] +@lilypond[quote,verbatim,fragment] \compressFullBarRests \time 3/4 R2.*10^\markup { \italic "ad lib." } R2.^\fermataMarkup @end lilypond -@warning{ Los elementos de marcado que se añaden a un silencio +@warning{ +Los elementos de marcado que se añaden a un silencio multicompás son objetos del tipo @code{MultiMeasureRestText}, no @code{TextScript}. Las sobreescrituras de propiedades deben ir dirigidas hacia el objeto correcto, o se ignorarán. Véase el ejemplo -siguiente. } +siguiente. +} -@lilypond[quote,ragged-right,verbatim,fragment] +@lilypond[quote,verbatim,fragment] % This fails, as the wrong object name is specified \override TextScript #'padding = #5 R1^"wrong" @@ -852,7 +854,7 @@ silencios. La indicación de compás se establece como sigue: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 2/4 c2 \time 3/4 c2. @end lilypond @@ -865,7 +867,7 @@ línea, se imprime una indicación de advertencia en dicho lugar. Se puede modificar este comportamiento predeterminado, véase @c ref{Controlling visibility of objects}. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 2/4 c2 c \break @@ -882,7 +884,7 @@ c c c c El símbolo de compás que se usa en 2/2 y 4/4 se puede cambiar a un estilo numérico: -@lilypond[fragment,quote,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] % Default style \time 4/4 c1 \time 2/2 c1 @@ -1015,7 +1017,7 @@ escriben usando la instrucción @code{\partial}, con la sintaxis donde @code{duración} es el valor rítmico que se se debe añadir antes del comienzo del siguiente compás completo: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \partial 4 e4 | a2. c,4 | @end lilypond @@ -1023,7 +1025,7 @@ a2. c,4 | El compás parcial puede ser de cualquier duración menor de un compás completo: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \partial 8*3 c8 d e | a2. c,4 | @end lilypond @@ -1078,7 +1080,7 @@ esto no es deseable. Para desactivar las barras y los números de compás automáticos, utilice la instrucción @code{\cadenzaOn}, y para activarlos de nuevo use @code{\cadenzaOff}. -@lilypond[verbatim,quote,ragged-right,relative=2,fragment] +@lilypond[verbatim,relative=2,fragment] c4 d e d \cadenzaOn c4 c d8 d d f4 g4. @@ -1090,7 +1092,7 @@ d4 e d c La numeración de compases se continúa al final de la cadencia como si la cadencia no existiera: -@lilypond[verbatim,quote,ragged-right,relative=2,fragment] +@lilypond[verbatim,relative=2,fragment] % Show all bar numbers \override Score.BarNumber #'break-visibility = #all-visible c4 d e d @@ -1161,7 +1163,7 @@ multiplican por 2/3, pues 2/3 * 9/8 = 3/4, y en el tercer pentagrama, las duraciones que se muestran están multiplicadas por 3/5, pues 3/5 * 10/8 = 3/4. -@lilypond[quote,ragged-right,verbatim,fragment] +@lilypond[quote,verbatim,fragment] \relative c' { << \new Staff { \time 3/4 @@ -1193,7 +1195,7 @@ Se puede dar a cada pentagrama su propia indicación de compás independiente trasladando el grabador @code{Timing_translator} al contexto de @code{Staff}. -@lilypond[quote,verbatim,ragged-right] +@lilypond[quote,verbatim] \layout { \context { \Score @@ -1276,7 +1278,7 @@ Se hace mediante la sustitución del @code{Note_heads_engraver} por el que atraviesan la barra de compás se dividen y se unen mediante una ligadura. -@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm] +@lilypond[quote,verbatim,relative=1] \new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" @@ -1326,7 +1328,7 @@ Esto se puede hacer con un pentagrama de ritmo. Todas las alturas de las notas se convierten en barras inclinadas, y el pentagrama tiene una sola línea: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,relative=1,verbatim] << \new RhythmicStaff { \new Voice = "myRhythm" { @@ -1374,57 +1376,9 @@ rasgueado. Esto se puede hacer con el grabador @code{\improvisationOff}. @snippets -@c TODO -- Convert to snippet; -@c tag for both Rhythms and Guitar? Move to @seealso? - -Para la música de guitarra, es posible mostrar los ritmos de rasgueo, -además de las notas de la melodía, acordes y diagramas de posiciones. - -@lilypond[quote,verbatim] -\include "predefined-guitar-fretboards.ly" -<< - \new ChordNames { - \chordmode { - c1 f g c - } - } - - \new FretBoards { - \chordmode { - c1 f g c - } - } - - - \new Voice \with { - \consists Pitch_squash_engraver - } \relative c'' { - \improvisationOn - c4 c8 c c4 c8 c - f4 f8 f f4 f8 f - g4 g8 g g4 g8 g - c4 c8 c c4 c8 c - } - - \new Voice = "melody" { - \relative c'' { - \improvisationOff - c2 e4 e4 - f2. r4 - g2. a4 - e4 c2. - } - } - - \new Lyrics { - \lyricsto "melody" { - This is my song. - I like to sing. - } - } ->> -@end lilypond +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +{guitar-strum-rhythms.ly} @seealso @@ -1454,7 +1408,7 @@ automáticamente: @cindex barras manuales @cindex manuales, barras -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8 @end lilypond @@ -1473,7 +1427,7 @@ el archivo @file{scm/@/auto@/-beam@/.scm}. El barrado automático se puede habilitar o desactivar con las instrucciones @code{\autoBeamOff} y @code{\autoBeamOn}: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,relative=1,verbatim] c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. @@ -1490,7 +1444,7 @@ c16 c8 Los patrones de barrado se pueden alterar con la propiedad @code{beatGrouping}: -@lilypond[quote,verbatim,relative=2,fragment,ragged-right] +@lilypond[quote,verbatim,relative=2] \time 5/16 \set beatGrouping = #'(2 3) c8[^"(2+3)" c16 c8] @@ -1498,6 +1452,11 @@ c8[^"(2+3)" c16 c8] c8[^"(3+2)" c16 c8] @end lilypond +@funindex subdivideBeams + +@c TODO convert to snippet called "Sub-dividing beams" +@c Added to lsr 18 Oct 08 + De forma predeterminada, las barras de semicorchea o notas más cortas no se subdividen. Esto es, el grupo de tres o más barras se amplía sin romperse sobre grupos enteros de notas. Este comportamiento se @@ -1511,7 +1470,7 @@ Se debe ajustar para que sea una fracción que dé como resultado la duración del subgrupo de barras usando la función @code{make-moment}, como se muestra aquí: -@lilypond[fragment,ragged-right,quote,relative=2,verbatim] +@lilypond[quote,relative=2,verbatim] c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] @@ -1535,9 +1494,8 @@ administration}. Normalmente están prohibidos los saltos de línea cuando las barras atraviesan a la línea divisoria. Este comportamiento se puede modificar ajustando la propiedad @code{breakable}: -@code{\override Beam #'breakable = ##t}. -@lilypond[ragged-right,relative=2,fragment,verbatim,quote] +@lilypond[relative=2,verbatim,quote] \override Beam #'breakable = ##t c8 \repeat unfold 15 { c[ c] } c @end lilypond @@ -1556,7 +1514,7 @@ objeto barra (que depende de la duración de las notas y la inclinación de la barra). De forma predeterminada @code{auto-knee-gap} está establecido al valor de 5.5 espacios de pentagrama. -@lilypond[fragment,ragged-right,quote,verbatim] +@lilypond[fragment,quote,verbatim] f8 f''8 f8 f''8 \override Beam #'auto-knee-gap = #6 f8 f''8 f8 f''8 @@ -1590,13 +1548,20 @@ alteraciones accidentales de las otras voces. @node Setting automatic beam behavior @unnumberedsubsubsec Setting automatic beam behavior +@funindex autoBeaming @funindex autoBeamSettings @funindex (end * * * *) @funindex (begin * * * *) + @cindex barras automáticas, ajuste fino @cindex ajuste fino de las barras automáticas +@cindex automáticas, generación de barras +@cindex barras automáticas +@cindex letra y barrado -@c [TODO: use \applyContext] +@warning{Si se usan barras para indicar los melismas en las canciones, +el barrado automático debe desactivarse con @code{\autoBeamOff} e +indicar los barrados manualmente.} En compases de tipo normal, las barras automáticas pueden comenzar en cualquier nota pero solamente pueden terminar en algunas poriciones @@ -1645,16 +1610,19 @@ equivalente a @code{#(override-auto-beam-setting '(A B C D) E F @end itemize Por ejemplo, si las barras automáticas siempre deben terminar sobre la -primera negra, use +primera negra, para cualquier tipo de compás o duración de la barra, +use -@example +@lilypond[quote,verbatim,relative=2] +a8 a a a a a a a #(override-auto-beam-setting '(end * * * *) 1 4) -@end example +a8 a a a a a a a +@end lilypond Podemos forzar los ajustes de las barras para que sólo tengan efecto sobre barras cuya nota más breve es una cierta duración: -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 2/4 % end 1/16 beams for all time signatures at the 1/16 moment #(override-auto-beam-setting '(end 1 16 * *) 1 16) @@ -1668,7 +1636,7 @@ a32 a a a a16 a a a a a | Podemos forzar los ajustes de las barras para que sólo tengan efecto en ciertos tipos de compás: -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 5/8 % end beams of all durations in 5/8 time signature at the 2/8 moment #(override-auto-beam-setting '(end * * 5 8) 2 8) @@ -1679,8 +1647,35 @@ e8 e f f e e d d c8 c d d d @end lilypond -También podemos eliminar una regla de fin de barrado previamente -establecida usando +Si se usan varias voces, se debe especificar el contexto @code{Staff}: + +@lilypond[quote,verbatim,relative=2] +\time 7/8 +% rhythm 3-1-1-2 +% Context not specified - does not work correctly +#(override-auto-beam-setting '(end * * 7 8) 3 8) +#(override-auto-beam-setting '(end * * 7 8) 4 8) +#(override-auto-beam-setting '(end * * 7 8) 5 8) +<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >> + +% Works correctly with context specified +#(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff) +#(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff) +#(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff) +<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >> +@end lilypond + +@c TODO Add example using Score for multiple staves? + +@warning{Si se produce un comportamiento inesperado de las barras, +compruebe la existencia de una posible interferencia en los ajustes +predeterminados del barrado automático que están en +@file{scm/@/auto@/-beam@/.scm}, porque los finales de barra definidos +aquí aún son válidos además de los suyos.} + +Debemos revertir cualquer final predeterminado indeseado o +conflictivo, para nuestro compás concreto. Podemos eliminar una regla +de barrado automático previamente establecida usando @example #(revert-auto-beam-setting @@ -1693,11 +1688,9 @@ establecida usando @code{límite-barra}, @code{numerador-barra}, @code{denominador-barra}, @code{numerador-compás}, @code{denominador-compás}, @code{numerador-momento}, @code{denominador-momento} y @code{contexto} -son los mismos que antes. Observe que las reglas predeteminadas se -especifican en @file{scm/@/auto@/-beam@/.scm}, así que podemos -revertir las reglas que no hayamos creado explícitamente. +son los mismos que antes. -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 4/4 a16 a a a a a a a a a a a a a a a % undo a rule ending 1/16 beams in 4/4 time at 1/4 moment @@ -1709,7 +1702,7 @@ La regla de un enunciado @code{revert-auto-beam-setting} debe corresponderse exactamente con la regla original. Esto es, no se tiene en cuenta ninguna expansión de comodines. -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 1/4 #(override-auto-beam-setting '(end 1 16 1 4) 1 8) a16 a a a @@ -1719,20 +1712,36 @@ a a a a a a a a @end lilypond -@c TODO: old material -- not covered by above stuff, I think. -Si las barras automáticas han de terminar en cada negra de un compás -de 5/4 time, especifique todas las terminaciones -@example -#(override-auto-beam-setting '(end * * * *) 1 4 'Staff) -#(override-auto-beam-setting '(end * * * *) 1 2 'Staff) -#(override-auto-beam-setting '(end * * * *) 3 4 'Staff) -#(override-auto-beam-setting '(end * * * *) 5 4 'Staff) -@dots{} -@end example +@snippets + +@c TODO Add to LSR with name "Beam grouping in 7/8 time" +@c Added 19 Oct 08 +There are no default automatic beam groupings specified for 7/8 +time, so if automatic beams are required the grouping must be +specified. For example, to group all beams 2-3-2 in 7/8 time, +specify beam endings at 2/8 and 5/8: -Se puede usar la misma sintaxis para especificar los puntos de inicio -de las barras. En este ejemplo, las barras automáticas sólo pueden +@lilypond[quote,verbatim,relative=2] +\time 7/8 +% rhythm 2-3-2 +a8 a a a a a a +#(override-auto-beam-setting '(end * * 7 8) 2 8) +#(override-auto-beam-setting '(end * * 7 8) 5 8) +a8 a a a a a a +@end lilypond + +@ignore +@c TODO Fix this example and convert to @lilypond +@c Seems like setting beam starting points is no longer +@c necessary, and/or has no effect. Remove mention? + +Se puede usar la misma sintaxis para especificar los puntos de inicio de las barras. + +@c TODO Does this example add anything? + + En este ejemplo, las barras automáticas sólo pueden terminar sobre una negra con puntillo: + @example #(override-auto-beam-setting '(end * * * *) 3 8) #(override-auto-beam-setting '(end * * * *) 1 2) @@ -1742,37 +1751,34 @@ En el compás de 4/4, esto significa que las barras automáticas sólo pueden terminar sobre 3/8 y sobre el cuarto pulso del compás (después de que 3/4, esto es, 2 veces 3/8, han transcurrido del compás). -Si se produce cualquier comportamiento inesperado de las barras, -compruebe los ajustes de barrado automático predeterminados que están -en @file{scm/@/auto@/-beam@/.scm} en busca de una posible -interferencia, porque los finales de barra que están allí definidos -aún se aplicarán encima de sus propias sobreescrituras. Cualquier -final no deseado en los valores predeterminados se debe revertir para -nuestro compás concreto. +@end ignore -Por ejemplo, para tipografiar finales de barra de @code{(3 4 3 2)} en -un 12/8, comience por +@c TODO Convert to snippet called "Reverting default beam endings" +@c Added to lsr 19 Oct 08 -@example -%%% revertir los valores predeterminados de scm/auto-beam.scm repecto al compás de 12/8 -#(revert-auto-beam-setting '(end * * 12 8) 3 8) -#(revert-auto-beam-setting '(end * * 12 8) 3 4) -#(revert-auto-beam-setting '(end * * 12 8) 9 8) +Para tipografiar finales de barra de @code{(3 4 3 2)} en un 12/8, es +necesario sobreescribir en primer lugar los finales de barra +predeterminados en 12/8, y después preparar los finales de barra +nuevos: -%%% sus nuevos valores -#(override-auto-beam-setting '(end 1 8 12 8) 3 8) -#(override-auto-beam-setting '(end 1 8 12 8) 7 8) -#(override-auto-beam-setting '(end 1 8 12 8) 10 8) -@end example +@lilypond[verbatim,quote,relative=2] +\time 12/8 -@cindex automática, generación de barras -@cindex auto-barrado -@funindex autoBeaming -@cindex letra +% Default beaming +a8 a a a a a a a a a a a -Si se usan barras para indicar melismas en canciones, entonces el -barrado automático se debe inhabilitar con @code{\autoBeamOff}. +% Revert default values in scm/auto-beam.scm for 12/8 time +#(revert-auto-beam-setting '(end * * 12 8) 3 8) +#(revert-auto-beam-setting '(end * * 12 8) 3 4) +#(revert-auto-beam-setting '(end * * 12 8) 9 8) +a8 a a a a a a a a a a a +% Set new values for beam endings +#(override-auto-beam-setting '(end * * 12 8) 3 8) +#(override-auto-beam-setting '(end * * 12 8) 7 8) +#(override-auto-beam-setting '(end * * 12 8) 10 8) +a8 a a a a a a a a a a a +@end lilypond @predefined @@ -1811,7 +1817,7 @@ la medida de la letra en vez de la de las notas. Tales barras se especifican manualmente marcando los puntos de comienzo y final con @code{[} y @code{]} -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,relative=1,verbatim] { r4 r8[ g' a r8] r8 g[ | a] r8 } @@ -1821,7 +1827,7 @@ especifican manualmente marcando los puntos de comienzo y final con Se pueden marcar notas individuales con @code{\noBeam} para evitar que resulten unidas por una barra: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \time 2/4 c8 c\noBeam c c @end lilypond @@ -1837,13 +1843,14 @@ a un valor, dicho valor se usará una sola vez, y luego se borrará. En este ejemplo, el último Fa se imprime con sólo una barra en el lado izquierdo, es decir, la barra de corchea del grupo como un todo. -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -{ - f8[ r16 f g a] - f8[ r16 - \set stemLeftBeamCount = #1 - f g a] -} +@lilypond[quote,relative=2,verbatim] +a8[ r16 f g a] +a8[ r16 +\set stemLeftBeamCount = #2 +\set stemRightBeamCount = #1 +f +\set stemLeftBeamCount = #1 +g a] @end lilypond @snippets @@ -1880,7 +1887,7 @@ duración que la última, con las notas intermedias alargándose gradualmente. Las cuatro primeras fusas se aceleran gradualmente, mientras que las últimas cuatro fusas están a un tempo constante. -@lilypond[ragged-right,relative=1,fragment,verbatim,quote] +@lilypond[relative=1,verbatim,quote] \override Beam #'grow-direction = #LEFT \featherDurations #(ly:make-moment 2 1) { c16[ c c c c c c c] } @@ -1937,25 +1944,23 @@ Las barras de compás sencillas insertadas automáticamente se pueden cambiar por otros tipos con la instrucción @code{\bar}. Por ejemplo, se suele poner una doble barra de cierre al final de la pieza: -@lilypond[quote,ragged-right,relative=1,fragment,verbatim] +@lilypond[quote,relative=1,verbatim] e4 d c2 \bar "|." @end lilypond -@c TODO -- make this warning more clear. What does it mean? -@warning{Una duración incorrecta lleva a un formato defectuoso en la -música.} - -@c TODO -- check this. I think this behavior no longer happens -@c with completion_heads_engraver, but it may with note_heads_engraver -@c Make an example showing the problem - No deja de ser válida la última nota de un compás si no termina sobre la línea divisoria automática: se supone que la nota se prolonga sobre el compás siguiente. Pero una secuencia larga de dichos compases prolongados puede hacer que la música aparezca comprimida o incluso que se salga de la página. Esto es a causa de que los saltos de línea automáticos solamente se producen al final de compases completos, es -decir, cuando el final de una nota coincide con el final del compás. +decir, cuando todas las notas han finalizado antes de que el compás +termine. + +@warning{Una duración incorrecta puede hacer que se trate de evitar la +producción de saltos de línea, dando como resultado una línea de +música con una compresión exagerada o música que se sale de la +página.} @cindex línea, saltos @cindex líneas divisorias invisibles @@ -1986,21 +1991,21 @@ líneas divisorias automáticas subsiguientes. Están disponibles para su inserción manual la línea divisoria simple y cinco tipos de doble barra: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,relative=1,verbatim] f1 \bar "|" g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e @end lilypond @noindent así como la barra de puntos y la discontinua: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,relative=1,verbatim] f1 \bar ":" g \bar "dashed" a @end lilypond @noindent y cinco tipos de barra de repetición: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,relative=1,verbatim] f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d @end lilypond @@ -2017,7 +2022,7 @@ excepto en los saltos de línea, en que produce una doble barra al final de la línea y una repetición izquierda (de comienzo) al principio de la línea siguiente. -@lilypond[quote,ragged-right,relative=2,fragment,verbatim] +@lilypond[quote,relative=2,verbatim] \override Score.RehearsalMark #'padding = #3 c c c c \bar "||:" @@ -2031,7 +2036,7 @@ en uno de ellos se aplica automáticamente a todos los demás. Las líneas resultantes se conectan entre los distintos pentagramas de un @code{StaffGroup}, @code{PianoStaff} o @code{GrandStaff}. -@lilypond[quote,ragged-right,fragment,verbatim] +@lilypond[quote,fragment,verbatim] << \new StaffGroup << \new Staff { @@ -2063,8 +2068,10 @@ cualquier momento con @code{\set Timing.defaultBarType = @seealso Referencia de la notación: -@ref{Line breaking}, -@ref{Repeats}. +@ref{Line breaking}, +@ref{Repeats}, +@ref{Grouping staves}. + Fragmentos de código: @rlsr{Rhythms}. @@ -2088,7 +2095,7 @@ la propiedad @code{currentBarNumber}, que normalmente se actualiza automáticamente para cada compás. También se puede establecer manualmente: -@lilypond[verbatim,ragged-right,quote,fragment,relative] +@lilypond[verbatim,quote,fragment,relative=1] c1 c c c \break \set Score.currentBarNumber = #50 @@ -2112,7 +2119,7 @@ mitad de la línea}, @code{visible al principio de la línea}. En el ejemplo siguiente se imprimen los números de compás en todos los sitios posibles: -@lilypond[verbatim,ragged-right,quote,fragment,relative] +@lilypond[verbatim,quote,relative=1] \override Score.BarNumber #'break-visibility = #'#(#t #t #t) \set Score.currentBarNumber = #11 \bar "" % Permit first bar number to be printed @@ -2128,7 +2135,7 @@ c c c c y aquí los números de compás se imprimen cada dos compases excepto al final de la línea: -@lilypond[verbatim,ragged-right,quote,fragment,relative] +@lilypond[verbatim,quote,relative=1] \override Score.BarNumber #'break-visibility = #'#(#f #t #t) \set Score.currentBarNumber = #11 \bar "" % Permit first bar number to be printed @@ -2148,7 +2155,7 @@ de compás en rectángulos y circunferencias, y ofrece una forma alternativa de especificar @code{#(#f #t #t)} para @code{break-visibility}. -@lilypond[verbatim,ragged-right,quote,fragment,relative] +@lilypond[verbatim,quote,relative=1] % Prevent bar numbers at the end of a line and permit them elsewhere \override Score.BarNumber #'break-visibility = #end-of-line-invisible @@ -2177,7 +2184,7 @@ línea, la divisoria izquierda del compás. Los números también se pueden colocar directamente sobre la línea divisoria o alinearse por la derecha con ella: -@lilypond[verbatim,ragged-right,quote,fragment,relative] +@lilypond[verbatim,quote,relative=1] \set Score.currentBarNumber = #111 \override Score.BarNumber #'break-visibility = #'#(#t #t #t) % Increase the size of the bar number by 2 @@ -2197,7 +2204,7 @@ Los números de compás se pueden suprimir completamente quitando el grabador @code{Bar_number_engraver} de números de compás del contexto de partitura @code{Score}. -@lilypond[verbatim,ragged-right,quote] +@lilypond[verbatim,quote] \layout { \context { \Score @@ -2230,7 +2237,7 @@ divisorias; para imprimir un número de compás al principio de la pieza, se debe insertar allí una barra de compás vacía, y se debe poner un valor distinto a @code{1} en @code{currentBarNumber}: -@lilypond[verbatim,ragged-right,quote,fragment,relative] +@lilypond[verbatim,quote,relative=1] \set Score.currentBarNumber = #50 \bar "" c1 c c c @@ -2291,7 +2298,7 @@ establece @code{|} de forma que inserte una doble línea divisoria cuando aparece en el código de entrada, en vez de comprobar el final de un compás. -@lilypond[quote,ragged-right,verbatim] +@lilypond[quote,verbatim] pipeSymbol = \bar "||" { c'2 c'2 | @@ -2329,7 +2336,7 @@ Fragmentos de código: Para imprimir una letra de ensayo, utilice la orden @code{\mark} -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] c1 \mark \default c1 \mark \default c1 \mark #8 @@ -2367,13 +2374,15 @@ de un procedimiento enlatado. Después de algunos compases, se establece con el valor de una función que produce un número encerrado en una caja. -@lilypond[fragment,quote,ragged-right,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default +\set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default +\set Score.markFormatter = #format-mark-circle-letters c1 @end lilypond @@ -2388,7 +2397,7 @@ Podemos utilizar @code{format-mark-barnumbers}, @code{format-mark-circle-barnumbers} para obtener números de compás en lugar de números o letras secuenciales. -Otros estilos de marca de ensayo se pueden especificar de forma +Se pueden especificar otros estilos de letra de ensayo de forma manual: @example @@ -2411,7 +2420,7 @@ de esta forma. Sin embargo, es posible aplicar un elemento Los glifos musicales (como el segno) se pueden imprimir dentro de un elemento @code{\mark} -@lilypond[fragment,quote,ragged-right,verbatim,relative] +@lilypond[quote,verbatim,relative=1] c1 \mark \markup { \musicglyph #"scripts.segno" } c1 \mark \markup { \musicglyph #"scripts.coda" } c1 \mark \markup { \musicglyph #"scripts.ufermata" } @@ -2422,7 +2431,7 @@ c1 Consulte @ref{The Feta font} para ver una lista de los símbolos que se pueden imprimir con @code{\musicglyph}. -Para ver formas comunes de trucar la colocación de las marcas de +Para ver formas comunes de trucar la colocación de las letras de ensayo, consulte @ref{Text marks}. @seealso @@ -2442,8 +2451,6 @@ Fragmentos de código: Referencia de funcionamiento interno: @rinternals{RehearsalMark}. -@c Ejemplos: @c @lsr{parts,rehearsal-mark-numbers.ly} - @node Special rhythmic concerns @subsection Special rhythmic concerns @@ -2467,7 +2474,7 @@ Los mordentes y notas de adorno son ornamentos escritos. Se imprimen en un tipo más pequeño y no ocupan ningún tiempo lógico en el compás. -@lilypond[quote,ragged-right,relative=2,verbatim,fragment] +@lilypond[quote,relative=2,verbatim] c4 \grace c16 c4 \grace { c16[ d16] } c2 @end lilypond @@ -2479,7 +2486,7 @@ corchete tachado) y la @emph{appoggiatura}, que toma una fracción fija de la nota principal, y se denota como una nota pequeña, ligada, sin tachar. -@lilypond[quote,ragged-right,relative=2,verbatim,fragment] +@lilypond[quote,relative=2,verbatim] \grace c8 b4 \acciaccatura d8 c4 \appoggiatura e8 d4 @@ -2490,7 +2497,7 @@ La colocación de notas de adorno se sincroniza entre los distintos pentagramas. En el siguiente ejemplo, hay dos semicorcheas de adorno por cada corchea de adorno: -@lilypond[quote,ragged-right,relative=2,verbatim,fragment] +@lilypond[quote,relative=2,verbatim] << \new Staff { e2 \grace { c16[ d e f] } e2 } \new Staff { c2 \grace { g8[ b] } c2 } >> @end lilypond @@ -2503,7 +2510,7 @@ Si queremos terminar una nota con un adorno, usamos la instrucción @code{\afterGrace}. Toma dos argumentos: la nota principal, y las notas de adorno que siguen a la nota principal. -@lilypond[quote,ragged-right,verbatim,relative=2,fragment] +@lilypond[quote,verbatim,relative=2] c1 \afterGrace d1 { c16[ d] } c1 @end lilypond @@ -2513,7 +2520,7 @@ puede cambiar estableciendo @code{afterGraceFraction}. El ejemplo siguiente muestra el resultado de establecer el espacio en su valor predeterminado, en 15/16, y por último en 1/2 de la nota principal. -@lilypond[quote,ragged-right,verbatim,relative=2,fragment] +@lilypond[quote,verbatim,relative=2] << \new Staff { c1 \afterGrace d1 { c16[ d] } c1 @@ -2533,7 +2540,7 @@ El espacio entre la nota principal y la de adorno también se puede especificar usando espaciadores. El ejemplo siguiente sitúa la nota de adorno después de un espacio que dura 7/8 de la nota principal. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \new Voice { << { d1^\trill_( } { s2 s4. \grace { c16[ d] } } >> @@ -2549,7 +2556,7 @@ sobreescrituras se deben también revertir dentro de la expresión de adorno. Aquí, la dirección predeterminada de la plica de la nota de adorno se sobreescribe y luego se revierte. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \new Voice { \acciaccatura { \stemDown @@ -2569,7 +2576,7 @@ adorno se sobreescribe y luego se revierte. El trazo inclinado que atraviesa al corchete de las @emph{acciaccatura}s se puede aplicar en otras situaciones: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \relative c'' { \override Stem #'stroke-style = #"grace" c8( d2) e8( f4) @@ -2582,7 +2589,7 @@ siguiente ejemplo suprime la definición de la dirección de la @code{Stem} (plica) para este adorno, y así las plicas no siempre apuntan hacia arriba. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[quote,verbatim,relative=2] \relative c'' { \new Staff { #(add-grace-property 'Voice 'Stem 'direction ly:stem::calc-direction) @@ -2606,7 +2613,7 @@ obtener otros efectos. Se puede forzar la alineación de las notas de adorno con las notas normales de los otros pentagramas: -@lilypond[verbatim,quote,ragged-right] +@lilypond[verbatim,quote] \relative c'' { << \override Score.SpacingSpanner #'strict-grace-spacing = ##t @@ -2641,9 +2648,9 @@ Referencia de funcionamiento interno: @knownissues -Una @emph{acciaccatura} de varias notas con una barra se imprime sin +Una @i{acciaccatura} de varias notas con una barra se imprime sin tachar, y tiene exactamente la misma apariencia que una -@emph{appoggiatura} de varias notas con barra. +@i{appoggiatura} de varias notas con barra. @c TODO Add link to LSR snippet to add slash when available La sincronización de las notas de adorno también puede acarrear @@ -2651,7 +2658,7 @@ sorpresas. La notación de pentagramas, como armaduras, líneas divisorias, etc., se sincronizan también. Ponga cuidado cuando mezcle pentagramas con adornos y sin adornos, por ejemplo -@lilypond[quote,ragged-right,relative=2,verbatim,fragment] +@lilypond[quote,relative=2,verbatim] << \new Staff { e4 \bar "|:" \grace c16 d2. } \new Staff { c4 \bar "|:" d2. } >> @end lilypond @@ -2661,7 +2668,7 @@ Esto se puede remediar insertando desplazamientos de adorno de las duraciones correspondientes en los otros pentagramas. Para el ejemplo anterior -@lilypond[quote,ragged-right,relative=2,verbatim,fragment] +@lilypond[quote,relative=2,verbatim] << \new Staff { e4 \bar "|:" \grace c16 d2. } \new Staff { c4 \bar "|:" \grace s16 d2. } >> @end lilypond @@ -2690,7 +2697,7 @@ y @code{skip-of-length}. Estas funciones de Scheme toman un fragmento de música como argumento y generan un @code{\skip} o silencio multicompás, de la longitud exacta del fragmento. -@lilypond[verbatim,ragged-right,quote] +@lilypond[verbatim,quote] MyCadenza = \relative c' { c4 d8 e f g g4 f2 g4 g @@ -2773,7 +2780,7 @@ tercer compás, la posición @code{measurePosition} se adelanta en 1/8 hasta 5/8, acortando ese compás en 1/8. Entonces, la siguiente línea divisoria cae en 9/8 en vez de hacerlo en 5/4. -@lilypond[quote,ragged-right,verbatim,relative,fragment] +@lilypond[quote,verbatim,relative=1] \set Score.measureLength = #(ly:make-moment 5 4) c1 c4 c1 c4 diff --git a/Documentation/es/user/staff.itely b/Documentation/es/user/staff.itely index 1ea2866769..1e55cfa736 100644 --- a/Documentation/es/user/staff.itely +++ b/Documentation/es/user/staff.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: 541aafa12474496930f99f617890a944c3db4989 + Translation of GIT committish: 88f1608ae6fd17b05344bafb2f0721aafdac657b When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -28,8 +28,7 @@ indicaciones de interpretación específicas a pentagramas individuales. @subsection Displaying staves Esta sección describe los distintos métodos de creación de pentagramas -y grupos de ellos, que se indican al comienzo de cada línea con una -llave o un corchete. +y grupos de ellos. @menu * Instantiating new staves:: @@ -80,7 +79,7 @@ instrucción @code{\drummode}. Para ver más detalles, consulte moderna de canto gregoriano. No muestra líneas divisorias. @lilypond[verbatim,quote,relative=2] -\new GregorianTranscriptionStaff { c4 d e f } +\new GregorianTranscriptionStaff { c4 d e f e d } @end lilypond @code{RhythmicStaff} crea una pauta de una sola línea que sólo muestra @@ -398,23 +397,6 @@ consulte la sección de fragmentos de código en @ref{Clef}. { d4 d d d } @end lilypond -Se pueden definir al mismo tiempo la posición vertical de las líneas -de la pauta y su número. Como muestra el ejemplo siguiente, las -posiciones de las notas no resultan influidas por las posiciones de -las líneas de la pauta. - -@warning{La propiedad @code{'line-positions} sobreescribe a la -propiedad @code{'line-count}. El número de líneas de la pauta queda -definido implícitamente por el número de elementos de la lista de -valores de @code{'line-positions}.} - -@lilypond[verbatim,quote,relative=1] -\new Staff \with { - \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7) -} -{ a4 e' f b | d1 } -@end lilypond - Se puede modificar el grosor de las líneas de la pauta. El grosor de las líneas adicionales y las plicas también resultan afectados, pues dependen del grosor de las líneas de la pauta. @@ -446,17 +428,6 @@ ajuste afecta también al espaciado de las líneas adicionales. { a4 b c d } @end lilypond -Se puede modificar el ancho del pentagrama. Las unidades son espacios -de pentagrama. El espaciado de los objetos dentro del pentagrama no -resulta afectado por este ajuste. - -@lilypond[verbatim,quote,relative=1] -\new Staff \with { - \override StaffSymbol #'width = #23 -} -{ a4 e' f b | d1 } -@end lilypond - Hay más detalles sobre las proopiedades de @code{StaffSymbol} en @rinternals{staff-symbol-interface}. diff --git a/Documentation/es/user/tutorial.itely b/Documentation/es/user/tutorial.itely index 76aa4717f4..f505d901f0 100644 --- a/Documentation/es/user/tutorial.itely +++ b/Documentation/es/user/tutorial.itely @@ -1,7 +1,7 @@ -@c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond-learning.tely @ignore - Translation of GIT committish: bc494bf964f01a1327bc7c6e3c70d0cb8d897ecb + Translation of GIT committish: 88f1608ae6fd17b05344bafb2f0721aafdac657b When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -293,7 +293,7 @@ anterior, la primera nota (@code{d}) es el Re más cercano al Do central. Añadiendo (o eliminando) comillas simples @code{'} o comas @code{,} de -la instrucción @w{@code{\relative c' @{}}, podemos cambiar la octava +la instrucción @code{@w{\relative c' @{}}, podemos cambiar la octava de inicio: @lilypond[verbatim,quote] @@ -348,7 +348,7 @@ nombre de la nota. Para subir o bajar una nota en dos (¡o más!) octavas, utilizamos varias @code{''} ó @code{,,} (pero tenga cuidado de utilizar dos comillas simples @code{''} ¡y no una comilla doble @code{"}@tie{}!) -El valor inicial de @w{@code{\relative c'}} también puede modificarse +El valor inicial de @code{@w{\relative c'}} también puede modificarse de esta forma. @c " - keeps quotes in order for context-sensitive editor -td @@ -630,11 +630,11 @@ fragmento muestra algunos posibles usos para los comentarios: @cindex archivos, consejos para construir Como ya vimos en @ref{Working on input files}, el código de entrada de -LilyPond debe estar rodeado de llaves @{ @} o de @w{@code{\relative +LilyPond debe estar rodeado de llaves @{ @} o de @code{@w{\relative c'' @{ ... @}}}. Durante el resto del presente manual, la mayor parte de los ejemplos omitirán las llaves. Para reproducir los ejemplos, deberá copiar y pegar la entrada que se muestra, pero @strong{deberá} -escribir el @w{@code{\relative c'' @{ @}}}, de la siguiente forma: +escribir el @code{@w{\relative c'' @{ @}}}, de la siguiente forma: @example \relative c'' @{ @@ -644,13 +644,13 @@ escribir el @w{@code{\relative c'' @{ @}}}, de la siguiente forma: ¿Por qué omitir las llaves? Casi todos los ejemplos del presente manual se pueden insertar en medio de un fragmento mayor de música. -Para estos ejemplos no tiene ningún sentido añadir @w{@code{\relative +Para estos ejemplos no tiene ningún sentido añadir @code{@w{\relative c'' @{ @}}} (¡no debería poner un @code{\relative} dentro de otro -@code{\relative}!); si hubiésemos incluido @w{@code{\relative c'' @{ @}}} -rodeando a cada uno de los ejemplos, usted no podría copiar un ejemplo -pequeño procedente de la documentación y pegarlo dentro de su propia -pieza. La mayoría querrá insertar el código dentro de una pieza más -grande, por eso hemos formateado el manual de esta manera. +@code{\relative}!); si hubiésemos incluido @code{@w{\relative c'' @{ +@}}} rodeando a cada uno de los ejemplos, usted no podría copiar un +ejemplo pequeño procedente de la documentación y pegarlo dentro de su +propia pieza. La mayoría querrá insertar el código dentro de una +pieza más grande, por eso hemos formateado el manual de esta manera. diff --git a/Documentation/es/user/tweaks.itely b/Documentation/es/user/tweaks.itely index 5ed3dfab89..865e07febe 100644 --- a/Documentation/es/user/tweaks.itely +++ b/Documentation/es/user/tweaks.itely @@ -1,7 +1,7 @@ -@c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond.tely @ignore - Translation of GIT committish: f2dfe5301630aa53a9558b33d1a97595b4724911 + Translation of GIT committish: 88f1608ae6fd17b05344bafb2f0721aafdac657b When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -1640,16 +1640,17 @@ nota afectada por la instrucción @code{\xxxNeutral} correspondiente. @subheading Fingering @cindex digitación, colocación -La colocación de las digitaciones también resulta afectada por el -valor de su propiedad @code{direction}, pero 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. +La colocación de las digitaciones se puede controlar también por el +valor de su propiedad @code{direction}, pero los cambios en +@code{direction} no afectan a 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; el primer compás muestra el comportamiento -predeterminado, y después el efecto de especificar @code{DOWN} y -@code{UP}: +digitaciones aplicadas a notas sueltas; el primer compás muestra el +comportamiento predeterminado, y los dos compases siguientes muestran +el efecto de especificar @code{DOWN} y @code{UP}: @lilypond[quote,verbatim,relative=2] c-5 a-3 f-1 c'-5 @@ -1659,10 +1660,22 @@ c-5 a-3 f-1 c'-5 c-5 a-3 f-1 c'-5 @end lilypond -Así es como se controla la digitación sobre notas aisladas, pero la -propiedad @code{direction} se ignora para los acordes. En su lugar, -de forma predeterminada las digitaciones se colocan automáticamente -encima y debajo de las notas del acorde, como se muestra aquí: +Sin embargo, la sobreescritura de la propiedad @code{direction} no es +la manera más sencilla de poner manualmente las digitaciones encima o +debajo de las notas; suele ser preferible utilizar @code{_} o @code{^} +en lugar de @code{-} antes de la digitación. He aquí el ejemplo +anterior usando este método: + +@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{^} funcionan. De forma +predeterminada las digitaciones se colocan automáticamente encima y +debajo de las notas del acorde, como se muestra aquí: @lilypond[quote,verbatim,relative=2] @@ -1670,8 +1683,19 @@ encima y debajo de las notas del acorde, como se muestra aquí: @end lilypond -Es posible tener un mayor control sobre la situación exacta de las -digitaciones mediante la utilización de la instrucción @code{\set +@noindent +pero esto se puede sobreescribir para forzar manualmente que todos o +cualquiera de los números de digitación individuales están encima o +debajo: + +@lilypond[quote,verbatim,relative=2] + + + +@end lilypond + +Es posible tener un control incluso mayor sobre la situación exacta de +las digitaciones mediante la utilización de la instrucción @code{\set fingeringOrientations}. El formato de esta instrucción es @example @@ -1694,9 +1718,9 @@ 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. -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. +@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: diff --git a/Documentation/es/user/vocal.itely b/Documentation/es/user/vocal.itely index fca24d75d4..fd543f53a5 100644 --- a/Documentation/es/user/vocal.itely +++ b/Documentation/es/user/vocal.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of lilypond.tely @ignore - Translation of GIT committish: 2ac76a5b0a5572cb259f22751764acfe431bfff2 + Translation of GIT committish: 7f5cef855d798bc0bc9d415c13a1e3d2bd84cd87 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -13,63 +13,25 @@ @node Vocal music @section Vocal music -Puesto que los archivos de entrada de LilyPond son de texto, hay un -par de cuestiones dignas de consideración cuando se trabaja con música -vocal: +@c TODO: inspirational headword -@itemize -@item -Los textos de las canciones se deben introducir como texto, no como -notas. Por ejemplo, la entrada@tie{}@code{d} se debe interpretar como -una sílaba de una sola letra, no como la nota@tie{}Re. - -@item -Los textos de las canciones se deben alinear con las notas respectivas -de la melodía. -@end itemize - -Existen varias formas diferentes de definir la letra; comenzaremos -examinando el método más simple, y poco a poco iremos aumentando la -complejidad. +Esta sección explica cómo tipografiar música vocal, y cómo asegurarse +de que la letra se alinea con las notas de su melodía correspondiente. @menu * Common notation for vocal music:: -* Entering lyrics:: -* Aligning lyrics to a melody:: -* Specific uses of lyrics:: -* Stanzas:: +* Entering lyrics:: +* Aligning lyrics to a melody:: +* Specific uses of lyrics:: +* Stanzas:: @end menu -@snippets - -Las comprobaciones que aseguran que las indicaciones textuales y las -letras se encuentran dentro de los márgenes es una tarea computacional -relativamente grande. Para acelerar el procesado, lilypond no realiza -estos cálculos por defecto; para activarlos, utilice - -@example -\override Score.PaperColumn #'keep-inside-line = ##t -@end example - -Para hacer que la letra evite las líneas divisorias también, utilice - -@example -\layout @{ - \context @{ - \Lyrics - \consists "Bar_engraver" - \consists "Separating_line_group_engraver" - \override BarLine #'transparent = ##t - @} -@} -@end example - - @node Common notation for vocal music @subsection Common notation for vocal music -@untranslated +Esta sección trata sobre asuntos relacinados con la música vocal en +general y con ciertos estilos concretos de música vocal. @menu @@ -85,41 +47,114 @@ Para hacer que la letra evite las líneas divisorias también, utilice @node References for vocal music and lyrics @unnumberedsubsubsec References for vocal music and lyrics -@untranslated +@c TODO: split this section in two parts? -vv + +Pueden surgir varias cuestiones al tipografiar música vocal. Algunas +se discuten en esta sección, pero otras están tratadas en otros +lugares del manual: + +@itemize +@item +Casi todos los estilos de música vocal utilizan texto escrito como +letra. Hay una introducción a esta notación en @rlearning{Setting +simple songs}. + +@item +La música vocal probablemente requiere el uso del modo de marcado o +@code{markup}, ya sea para la letra o para otros elementos de texto +(nombres de los personajes, etc.). Esta sintaxis está descrita en +@ref{Text markup introduction}. + +@item +Las hojas guía de acordes o @emph{Lead sheets} se pueden imprimir +combinando partes vocales y el @q{modo de acordes}; esta sintaxis se +explica en @ref{Chord notation}. + +@item +Los @q{ambitus} o indicaciones de tesitura vocal se pueden añadir al +principio de los pentagramas vocales, como se explica en +@ref{Ambitus}. + +@item +Las partes vocales se pueden imprimir utilizando las claves +tradicionales, como se muestra en @ref{Clef}. + +@item +Está contemplada la música vocal en estilo de notación antiguo, como +se explica en @ref{Ancient notation}. +@end itemize + @node Opera @unnumberedsubsubsec Opera -@untranslated +@c TODO +Continuará... + +@c add characters names snippet -vv @node Song books @unnumberedsubsubsec Song books -@untranslated +@c TODO +Continuaará... + +@snippets +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +{simple-lead-sheet.ly} + +@seealso +Referencia de la notación: +@ref{Chord notation}. + @node Spoken music @unnumberedsubsubsec Spoken music +@cindex parlato +@cindex Sprechgesang + @c TODO Add @refs -@q{Parlato} es texto hablado sin notas pero con ritmo; su notación se -realiza mediante cabezas de nota en forma de cruz. Esto queda demostrado en -@ref{Special note heads}. +Los efectos como el @q{parlato} o el @q{Sprechgesang} requieren de los +intérpretes que hablen sin altura determinada pero con su ritmo; su +notación se realiza mediante cabezas de nota en forma de aspas, como +se muestra en @ref{Special note heads}. + +@c TODO add "marking-notes-on-spoken-parts" snippet -vv +@c add "showing the rhythm of a melody" snip +@c add "one staff-line notation" +@c add "improvisation" ref +@c add "lyrics independents of notes" ref + @node Chants @unnumberedsubsubsec Chants -@untranslated +@c TODO Add text from lsr and -user +Continuará... + @node Ancient vocal music @unnumberedsubsubsec Ancient vocal music -@untranslated +@c TODO +Continuará... + +@c Add "Printing both the ancient and the modern clef in vocal music" snippet, +@c and "Transcription of Ancient music with incipit" snippet. -vv + +@seealso + +Referencia de la notación: +@ref{Ancient notation}. @node Entering lyrics @subsection Entering lyrics +@c TODO add one sentence here. -vv + @menu * Lyrics explained:: * Setting simple songs:: @@ -625,7 +660,22 @@ se deben insertar a mano. @node Skipping notes @unnumberedsubsubsec Skipping notes -@untranslated +Se puede conseguir que una línea de letra progrese más lentamente que +la melodía, mediante la inserción de desplazamientos o @code{\skip}s +en la letra. Por cada @code{\skip}, el texto se retrasa en una nota. +La instrucción @code{\skip} debe ir seguida de una duración válida, +pero esta duración se ignora cuando se usa @code{\skip} en las letras. + +Por ejemplo, + +@lilypond[verbatim,ragged-right,quote] +\relative c' { c c g' } +\addlyrics { + twin -- \skip 4 + kle +} +@end lilypond + @node Extenders and hyphens @unnumberedsubsubsec Extenders and hyphens @@ -662,11 +712,14 @@ Referencia de funcionamiento interno: @rinternals{LyricExtender}, @node Lyrics and repeats @unnumberedsubsubsec Lyrics and repeats -@untranslated +@c TODO New section. Add text +Continuará... @node Specific uses of lyrics @subsection Specific uses of lyrics +@c FIXME This whole section is to be reorganized. -vv + A menudo se aplican a una melodía distintos versos de una canción de formas ligeramente distintas. Tales variantes pueden aún captarse mediante @code{\lyricsto}. @@ -796,10 +849,13 @@ completa, establezca la propiedad dentro del @q{layout} o disposición. } @end lilypond + @node Centering lyrics between staves @unnumberedsubsubsec Centering lyrics between staves -@untranslated +@c TODO Add text from -user +Continuará... + @node Stanzas @subsection Stanzas @@ -1147,4 +1203,3 @@ text = \lyricmode { Referencia de funcionamiento interno: @rinternals{LyricText}, @rinternals{StanzaNumber}. - diff --git a/Documentation/fr/translations.html.in b/Documentation/fr/translations.html.in index 6b8c29d397..83876ebfe6 100644 --- a/Documentation/fr/translations.html.in +++ b/Documentation/fr/translations.html.in @@ -1,4 +1,4 @@ -

Dernière mise à jour Thu Oct 16 21:38:37 UTC 2008 +

Dernière mise à jour Fri Oct 17 11:37:14 UTC 2008

is finished.

-

Last updated Thu Oct 16 21:38:37 UTC 2008 +

Last updated Fri Oct 17 14:53:06 UTC 2008

@@ -494,8 +494,8 @@ translations.template.html.in; DO NOT EDIT !--> @@ -669,8 +669,8 @@ translations.template.html.in; DO NOT EDIT !--> diff --git a/input/texidocs/guitar-strum-rhythms.texidoc b/input/texidocs/guitar-strum-rhythms.texidoc new file mode 100644 index 0000000000..b650d0587b --- /dev/null +++ b/input/texidocs/guitar-strum-rhythms.texidoc @@ -0,0 +1,6 @@ + texidoces = " +Para la música de guitarra, es posible mostrar los ritmos de rasgueo, +además de las notas de la melodía, acordes y diagramas de posiciones. + +" + doctitlees = "Ritmos rasgueados de guitarra"
not translated
Francisco Vila
- partially translated (56 %)
- partially up to date
+ translated
+ up to date
not translated
Francisco Vila
- partially translated (66 %)
- partially up to date
+ translated
+ up to date