From: Francisco Vila Date: Thu, 27 Jun 2013 12:14:53 +0000 (+0200) Subject: Doc-es: update CHANGES, programming-interface, scheme-tutorial, others. X-Git-Tag: release/2.17.28-1~29^2~12 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d0c75b14a90e2fc4551c3036baf99e3b7bff8107;p=lilypond.git Doc-es: update CHANGES, programming-interface, scheme-tutorial, others. Also included/helpus, common-notation, learning/fundamental, learning/tweaks, notation/ancient, changing-defaults. --- diff --git a/Documentation/es/changes.tely b/Documentation/es/changes.tely index b2c1717388..f574fcc681 100644 --- a/Documentation/es/changes.tely +++ b/Documentation/es/changes.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: b6f94447415dded7c6e146b41b6139fe76cb84c4 + Translation of GIT committish: efec448b936bd63d82571cf79f8435768605c66d When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -70,14 +70,20 @@ which scares away people. @end ignore @item -Se reserva espacio horizontal para las indicaciones de tempo y las -marcas de ensayo, de forma que no se superpongan. La instrucción -nueva @code{\markLengthOff} desactiva esta funcionalidad. -@lilypond[quote,relative=0] -\compressFullBarRests -\tempo "Molto vivace" c''2 c' -\mark\default -\tempo "Meno mosso" R1*16 +Se ha cambiado el nombre de @code{OctavateEight} por el de +@code{ClefModifier}. Las propiedades de contexto relacionadas han +cambiado su nombre @code{xxxOctavationyyy} por el de +@code{xxxTranspositionyyy}. + +@item +Existe una nueva instrucción @code{\absolute} que marca +explícitamente la música introducida en alturas absolutas. Aunque +esto era antes el comportamiento predeterminado, una instrucción +@code{\absolute} explícita evita también la reinterpretación +cuando el pasaje está dentro de un bloque marcado como +@code{\relative}: +@lilypond[verbatim,quote] +\relative c { c'4 \absolute { f'' g'' } c } @end lilypond @item @@ -180,6 +186,45 @@ que se transporta contenga @code{\transposition}. Anteriormente, era equivalente a @code{\transposition f'}. Ahora se mantiene como equivalente a @code{\transposition bes'}. +@item +Cuando se comprueba la existencia de colisiones, LilyPond ya no +trata los objetos como rectángulos. En lugar de ello se aproxima +la forma verdadera de los objetos utilizando un enfoque parecido +al uso de integrales, lo que por lo común dará como resultado un +posicionamiento más ceñido y regular de los objetos y los sistemas +de pentagramas: + +@lilypond[relative=1] +#(ly:set-option 'debug-skylines #t) +\dynamicUp +c'4\f a4\f d\f( f) +a,4\< c c c\! +d4-.\downbow a4^"r'venu..." c \tempo "T1" e +@end lilypond + +El fragmento anterior tenía anteriormente este aspecto: + +@lilypond[relative=1] +#(ly:set-option 'debug-skylines #t) +\override Hairpin #'vertical-skylines = #'() +\override DynamicText #'vertical-skylines = #'() +\override TextScript #'vertical-skylines = #'() +\override Score.MetronomeMark #'vertical-skylines = #'() +\override Staff.Clef #'vertical-skylines = #'() +\dynamicUp +c'4\f a4\f d\f( f) +a,4\< c c c\! +d4-.\downbow a4^"r'venu..." c \tempo "T1" e +@end lilypond + +Entre los objetos afectados se encuentran @code{Accidentals}, +@code{Beams}, @code{Clefs}, @code{Dynamics}, @code{FiguredBass}, +@code{Flags}, @code{Glissandos}, @code{Lyrics}, +@code{MetronomeMarks}, @code{OttavaBrackets}, @code{Pedals}, +@code{RehearsalMarks}, @code{Rests}, @code{Scripts}, +@code{TextScripts}, @code{Ties}, @code{Tuplets} y +@code{VoltaBrackets}. + @item Ahora los grupos de valoración especial se crean mediante la instrucción @code{\tuplet}, que toma una fracción @@ -240,7 +285,7 @@ también forma parte de las @acronym{URI}s de @code{textedit}) aún comienza en@tie{}0. @item -La instrucción @code{\clef} contempla un cambio opcional de octava: +La instrucción @code{\clef} contempla una transposición opcional: @lilypond[verbatim,quote,relative=1] \clef "treble_(8)" c2 c diff --git a/Documentation/es/extending/programming-interface.itely b/Documentation/es/extending/programming-interface.itely index 20ec32f411..6526d972e5 100644 --- a/Documentation/es/extending/programming-interface.itely +++ b/Documentation/es/extending/programming-interface.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c This file is part of extending.tely @ignore - Translation of GIT committish: b24aaf5d1e10c5ea055043ce6b2c3d50d2a9c943 + Translation of GIT committish: fc43a05568a1be2fc78bd7a16a42e474d239aac8 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -32,25 +32,60 @@ Scheme, @ref{Tutorial de Scheme}. @node Bloques de código de LilyPond @section Bloques de código de LilyPond -@translationof Lilypond code blocks +@translationof LilyPond code blocks + +@cindex Bloques de código de LilyPond +@cindex LilyPond, bloques de código de +@funindex #@{ @dots{} #@} +@funindex $ +@funindex # + +La creación de expresiones musicales en Scheme puede ser una tarea +tediosa porque a veces presentan muchos niveles de profundidad de +anidamiento y el código resultante es grande. Para algunas tareas +sencillas, esto puede evitarse utilizando bloques de código de +LilyPond, que permiten usar la sintaxis ordinaria de LilyPond +dentro de Scheme. Los bloques de código de LilyPond tienen el siguiente aspecto: @example #@{ @var{código de LilyPond} #@} @end example -Se pueden usar en cualquier lugar en el que se pueda escribir código -de Scheme: el lector de Scheme en efecto se modifica para que pueda -incorporar bloques de código de LilyPond y pueda ocuparse de las -expresiones de Scheme incrustadas que comienzan por @code{$} y@w{ }@code{#}. - -Extrae el bloque de código de LilyPond y genera una llamada al -@code{parser} o analizador sintáctico de LilyPond, que corre en -tiempo de ejecución para interpretar el bloque de código de -LilyPond. Cualquier expresión de Scheme que se halle incrustada -se ejecuta en el entorno léxico del bloque de código de LilyPond, -de manera que tenemos acceso a las variables locales y a los -parámetros de función en el punto en que se encuentra escrito el -bloque de código de LilyPond. Si @code{location} se refiere a una + +He aquí un ejemplo trivial: + +@lilypond[verbatim,quote] +ritpp = #(define-event-function (parser location) () + #{ ^"rit." \pp #} +) + +{ c'4 e'4\ritpp g'2 } +@end lilypond + +Los bloques de código de LilyPond se pueden usar en cualquier +lugar en el que se pueda escribir código de Scheme. El lector de +Scheme en efecto se modifica para que pueda incorporar bloques de +código de LilyPond y pueda ocuparse de las expresiones de Scheme +incrustadas que comienzan por @code{$} y@w{ }@code{#}. + +@cindex parser (function argument) +@cindex location + +El lector extrae el bloque de código de LilyPond y genera una +llamada en tiempo de ejecución al analizador sintáctico para que +interprete el código de LilyPond. Las expresiones de Scheme +incrustadas en el código de LilyPond se evalúan dentro del entorno +lóexico del bloque de código de LilyPond, de manera que puede +accederse a todas las variables locales y los parámetros de +función que están disponibles en el punto en que se escribe el +bloque de código de LilyPond. Las variables definidas en otros +módulos de Scheme, como los módulos que contienen bloques +@code{\header} y @code{\layout}, no están accesibles como +variables de Scheme, es decir, precedidas de@tie{}@code{#}, pero +se puede acceder a ellas como variables de LilyPond, es decir, +precedidas de@tie{}@code{\}. + +Si @code{location} (véase @ref{Funciones de Scheme}) se refiere a una posición de entrada válida (como lo hace normalmente dentro de las funciones musicales o de Scheme), toda la música generada dentro del bloque de código tiene su @samp{origin} establecido a @@ -106,28 +141,34 @@ donde de LilyPond (@code{#@{}@dots{}@code{#@}}) acceso al analizador sintáctico. +@item @code{location} +@tab tiene que ser literalmente @code{location} para ofrecer acceso al +objeto de situación de la entrada, que se usa para ofrecer +menssajes de error con nombres de archivo y números de línea. + @item @code{@var{argN}} @tab @var{n}-ésimo argumento @item @code{@var{typeN?}} @tab un @emph{predicado de tipo} de Scheme para el que @code{@var{argN}} -debe devolver @code{#t}. Algunos de estos predicados se reconocen de -forma especial por parte del analizador, véase más abajo. También -existe una forma especial @code{(@emph{predicate?} @emph{default})} -para especificar argumentos opcionales. Si el argumento actual no -está presente cuando se ll ama a la función, el valor predeterminado se -emplea en sustitución. Los valores predeterminados se evalúan en -tiempo de definición (¡incluyendo los bloques de código de LilyPond!), -de manera que se necesitamos un valor por omisión calculado en tiempo -de ejecución, debemos escribir en su lugar un valor especial que -podamos reconocer fácilmente. Si escribimos el predicado entre -paréntesis pero no lo seguimos por el valor predeterminado, se usa -@code{#f} como valor por omisión. Los valores por omisión no se -verifican con @emph{predicate?} en tiempo de definición ni en tiempo -de ejecución: es nuestra responsabilidad tratar con los valores que -especifiquemos. Los valores por omisión que son expresiones musicales -se copian mientras se establece @code{origin} al parámetro -@code{location}. +debe devolver @code{#t}. Algunos de estos predicados se reconocen +de forma especial por parte del analizador, véase más abajo. +También existe una forma especial @code{(@emph{predicate?} +@emph{default})} para especificar argumentos opcionales. Si el +argumento actual no está presente cuando se ll ama a la función, +el valor predeterminado se emplea en sustitución. Los valores +predeterminados se evalúan en tiempo de definición (¡incluyendo +los bloques de código de LilyPond!), de manera que se necesitamos +un valor por omisión calculado en tiempo de ejecución, debemos +escribir en su lugar un valor especial que podamos reconocer +fácilmente. Si escribimos el predicado entre paréntesis pero no +lo seguimos por el valor predeterminado, se usa @code{#f} como +valor por omisión. Los valores por omisión no se verifican con +@emph{predicate?} en tiempo de definición ni en tiempo de +ejecución: es nuestra responsabilidad tratar con los valores que +especifiquemos. Los valores por omisión que son expresiones +musicales se copian mientras se establece @code{origin} al +parámetro @code{location}. @item @code{@var{cuerpo}} @tab una secuencia de formas de Scheme que se evalúan ordenadamente; la @@ -268,7 +309,7 @@ noApuntarYPulsar = (parser location) () (ly:set-option 'point-and-click #f)) -... +@dots{} \noApuntarYPulsar % desactivar la función de apuntar y pulsar @end example @@ -438,6 +479,61 @@ manualBeam = } @end lilypond +@funindex \temporary +@cindex sobreescrituras temporales +@cindex temporales, sobreescrituras +@cindex propiedades, recuperar valor anterior + +Las propiedades se mantienen conceptualmente utilizando una pila +por cada propiedad, por cada grob y por cada contexto. Las +funciones musicales pueden requerir la sobreescritura de una o +varias propiedades durante el tiempo de duración de la función, +restaurándolas a sus valores previos antes de salir. Sin embargo, +las sobreescrituras normales extraen y descartan la cima de la +pila de propiedades actual antes de introducir un valor en ella, +de manera que el valor anterior de la propiedad se pierde cuando +se sobreescribe. Si se quiere preservar el valor anterior, hay +que preceder la instrucción @code{\override} con la palabra clave +@code{\temporary}, así: + +@example +\temporary \override @dots{} +@end example + +El uso de @code{\temporary} hace que se borre la propiedad +(normalmente fijada a un cierto valor) @code{pop-first} de la +sobreescritura, de forma que el valor anterior no se extrae de la +pila de propiedades antes de poner en ella el valor nuevo. Cuando +una instrucción @code{\revert} posterior extrae el avlor +sobreescrito temporalmente, volverá a emerger el valor anterior. + +En otras palabras, una llamada a @code{\temporary \override} y a +continuación otra a @code{\revert} sobre la misma propiedad, tiene +un valor neto que es nulo. De forma similar, la combinación en +secuencia de @code{\temporary} y @code{\undo} sobre la misma +música que contiene las sobreescrituras, tiene un efecto neto +nulo. + +He aquí un ejemplo de una función musical que utiliza lo expuesto +anteriormente. El uso de @code{\temporary} asegura que los +valores de las propiedades @code{cross-staff} y @code{style} se +restauran a la salida a los valores que tenían cuando se llamó a +la función @code{crossStaff}. Sin @code{\temporary}, a la salida +se habrían fijado los valores predeterminados. + +@example +crossStaff = +#(define-music-function (parser location notes) (ly:music?) + (_i "Create cross-staff stems") + #@{ + \temporary \override Stem.cross-staff = #cross-staff-connect + \temporary \override Flag.style = #'no-flag + #notes + \revert Stem.cross-staff + \revert Flag.style +#@}) +@end example + @node Matemáticas dentro de las funciones @subsection Matemáticas dentro de las funciones @@ -612,11 +708,12 @@ sólo con Scheme. @multitable @columnfractions .3 .3 @item @b{LilyPond} @tab @b{Scheme} @item @code{\markup marcado1} @tab @code{(markup marcado1)} -@item @code{\markup @{ marcado1 marcado2 ... @}} @tab - @code{(markup marcado1 marcado2 ... )} +@item @code{\markup @{ marcado1 marcado2 @dots{} @}} @tab + @code{(markup marcado1 marcado2 @dots{} )} @item @code{\instruccion} @tab @code{#:instruccion} @item @code{\variable} @tab @code{variable} -@item @code{\center-column @{ ... @}} @tab @code{#:center-column ( ... )} +@item @code{\center-column @{ @dots{} @}} @tab + @code{#:center-column ( @dots{} )} @item @code{cadena} @tab @code{"cadena"} @item @code{#argumento-de-scheme} @tab @code{argumento-de-scheme} @end multitable @@ -707,11 +804,11 @@ Se pueden definir instrucciones de marcado nuevas usando el macro de Scheme @code{define-markup-command}, en el nivel sintáctico superior. @lisp -(define-markup-command (@var{nombre-de-la-instruccion} @var{layout} @var{props} @var{arg1} @var{arg2} ...) - (@var{tipo-de-arg1?} @var{tipo-de-arg2?} ...) +(define-markup-command (@var{nombre-de-la-instruccion} @var{layout} @var{props} @var{arg1} @var{arg2} @dots{}) + (@var{tipo-de-arg1?} @var{tipo-de-arg2?} @dots{}) [ #:properties ((@var{propiedad1} @var{valor-predeterminado1}) - ...) ] - ..command body..) + @dots{}) ] + @dots{}command body@dots{}) @end lisp Los argumentos son @@ -950,7 +1047,7 @@ documentación): (number-pair?) #:category graphic #:properties ((thickness 1)) - "...documentación..." + "@dots{}documentación@dots{}" (let ((th (* (ly:output-def-lookup layout 'line-thickness) thickness)) (x (car dest)) @@ -968,7 +1065,7 @@ instrucciones de marcado definidas por el usuario. (define-markup-command (draw-double-line layout props dest) (number-pair?) #:properties ((thickness 1)) - "...documentación..." + "@dots{}documentación@dots{}" (let ((th (* (ly:output-def-lookup layout 'line-thickness) thickness)) (x (car dest)) @@ -985,8 +1082,8 @@ predeterminado de p.ej. 0.6: (number-pair?) #:properties ((thickness 1) (line-gap 0.6)) - "...documentación..." - ... + "@dots{}documentación@dots{}" + @dots{} @end lisp Finalmente, se añade el código para trazar las dos líneas. Se usan diff --git a/Documentation/es/extending/scheme-tutorial.itely b/Documentation/es/extending/scheme-tutorial.itely index e04cdaefb8..7dfc6fd7a2 100644 --- a/Documentation/es/extending/scheme-tutorial.itely +++ b/Documentation/es/extending/scheme-tutorial.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: cccd2bf82ebfb55b6423346037fa4d2793fc4c3b + Translation of GIT committish: fc43a05568a1be2fc78bd7a16a42e474d239aac8 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -277,7 +277,7 @@ los procedimientos de Scheme @code{car} y @code{cdr}, respectivamente. @lisp guile> (define mipareja (cons 123 "Hola") -... ) +@dots{} ) guile> (car mipareja) 123 guile> (cdr mipareja) @@ -614,7 +614,7 @@ let: @lisp guile> (let ((x 2) (y 3) (z 4)) (display (+ x y)) (display (- z 4)) -... (+ (* x y) (/ z x))) +@dots{} (+ (* x y) (/ z x))) 508 @end lisp @@ -661,7 +661,7 @@ Otro procedimiento condicional en Scheme es @code{cond}: @example (cond (expresión-de-prueba-1 secuencia-de-expresiones-resultante-1) (expresión-de-prueba-2 secuencia-de-expresiones-resultante-2) - ... + @dots{} (expresión-de-prueba-n secuencia-de-expresiones-resultante-n)) @end example @@ -884,7 +884,7 @@ traLaLa = @{ c'4 d'4 @} se convierte internamente en una definición de Scheme: @example -(define traLaLa @var{Valor Scheme de `@code{... }'}) +(define traLaLa @var{Valor Scheme de `@code{@dots{}}'}) @end example Esto significa que las variables de LilyPond y las variables de Scheme @@ -928,7 +928,7 @@ LilyPond. En lugar de definir @code{\twice}, el ejemplo anterior podría también haberse escrito como @example -... +@dots{} $(make-sequential-music newLa) @end example @@ -954,7 +954,7 @@ Utilizándolos, la última parte del ejemplo se podría haber escrito como @example -... +@dots{} @{ #@@newLa @} @end example @@ -976,7 +976,7 @@ procedimiento: #(define (nopc) (ly:set-option 'point-and-click #f)) -... +@dots{} #(nopc) @{ c'4 @} @end example @@ -1266,7 +1266,7 @@ leer: 'pitch (ly:make-pitch 0 0 0)))) @end example -Una secuencia musical @code{@{ ... @}} tiene el nombre +Una secuencia musical @code{@{ @dots{} @}} tiene el nombre @code{SequentialMusic}, y sus expresiones internas se almacenan coma una lista dentro de su propiedad @code{'elements}. Una nota se representa como un objeto @code{NoteEvent} (que almacena las @@ -1458,7 +1458,7 @@ articulación (como una instrucción de digitación) a una nota única dentro de un acorde, lo cual no es posible si nos limitamos a mezclar fragmentos de música independientes. -Una @code{$variable} dentro de la notación @code{#@{...#@}} es como +Una @code{$variable} dentro de la notación @code{#@{@dots{}#@}} es como una @code{\variable} normal en la notación clásica de LilyPond. Sabemos que @@ -1530,7 +1530,7 @@ quedar claro a partir de su nombre (¡esto también es una buena práctica en otros lenguajes de programación!) @example -"Add an accent..." +"Add an accent@dots{}" @end example @noindent diff --git a/Documentation/es/included/helpus.itexi b/Documentation/es/included/helpus.itexi index 27cd758bf9..480fd64977 100644 --- a/Documentation/es/included/helpus.itexi +++ b/Documentation/es/included/helpus.itexi @@ -3,7 +3,7 @@ @c contributor/introduction.itely @ignore - Translation of GIT committish: 4c7bdf42ee240fdbb3c3dab2b1c201eae04253fa + Translation of GIT committish: f6443f01a56112f080b8d2e7e646007397bdf6ec When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -135,7 +135,7 @@ implican en el desarrollo de su programa favorito. Arreglar fallos, implementar funcionalidades nuevas, documentar el código fuente: es mucho lo que hay que hacer, pero lo principal es: hay una oportunidad para todos de aprender más sobre LilyPond, sobre el Software Libre, -sobre programación... y pasarlo bien. Si siente curiosidad sobre +sobre programación@dots{} y pasarlo bien. Si siente curiosidad sobre cualquiera de ellos, el lema es: @emph{Join the Frogs!} diff --git a/Documentation/es/learning/common-notation.itely b/Documentation/es/learning/common-notation.itely index b59ab15346..b5e32aef5c 100644 --- a/Documentation/es/learning/common-notation.itely +++ b/Documentation/es/learning/common-notation.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: e674b7637b08e5d2638d232ba3d7c8420c9d1b6f + Translation of GIT committish: e6513c72e95fd6691998cb368a5172de3aad0525 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -1010,7 +1010,7 @@ cada sílaba mediante un espacio. @end lilypond Observe los -ángulos dobles @w{@code{<< ... >>}} alrededor del fragmento entero +ángulos dobles @w{@code{<<@dots{}>>}} alrededor del fragmento entero para expresar que la música y la letra han de suceder al mismo tiempo. @node Alineación de la letra a una melodía diff --git a/Documentation/es/learning/fundamental.itely b/Documentation/es/learning/fundamental.itely index 260a294cc8..a22a7441a4 100644 --- a/Documentation/es/learning/fundamental.itely +++ b/Documentation/es/learning/fundamental.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: fbe8b9bf789f4a9833e1581dbb6ba4fce71a6cd2 + Translation of GIT committish: 94dc452301cc0d1e9983f5aeb784884f7fe8c964 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -10,7 +10,6 @@ @c \version "2.17.18" - @node Conceptos fundamentales @chapter Conceptos fundamentales @translationof Fundamental concepts @@ -64,7 +63,7 @@ Un ejemplo básico de archivo de entrada de LilyPond es el siguiente: \header @{ @} \score @{ - @var{...expresión musical compuesta...} % toda la música viene aquí + @var{ @dots{} expresión musical compuesta @dots{} } % toda la música va aquí \layout @{ @} \midi @{ @} @} @@ -147,13 +146,13 @@ cosa entre una sola nota hasta una enorme expresión compuesta como @example @{ \new StaffGroup << - @var{...inserte aquí la partitura completa de una ópera de Wagner...} + @var{ @dots{} inserte aquí la partitura completa de una ópera de Wagner @dots{} } >> @} @end example @noindent -Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como +Puesto que todo se encuentra dentro de @code{@{ @dots{} @}}, cuenta como una expresión musical. Como vimos anteriormente, el bloque @code{\score} puede contener otras @@ -327,13 +326,13 @@ Aquí hemos asignado nombres a los pentagramas: @qq{cantante} y que resulta útil cultivar de manera que podamos saber de un vistazo para qué es cada pentagrama. -Recuerde que utilizamos @code{<< ... >>} en lugar de @code{@{ ... @}} +Recuerde que utilizamos @code{<< @dots{} >>} en lugar de @code{@{ @dots{} @}} para presentar la música simultánea. Esto hace que las partes vocal y del piano aparezcan una sobre la otra en la partitura. La -construcción @code{<< ... >>} no sería necesaria para el pentagrama +construcción @code{<< @dots{} >>} no sería necesaria para el pentagrama del cantante en el ejemplo de arriba si contiene solamente una expresión musical secuencial, pero se necesitarían los @code{<< -... >>} en lugar de las llaves si la música de ese pentagrama fuese a +@dots{} >>} en lugar de las llaves si la música de ese pentagrama fuese a contener dos o más expresiones simultáneas, p.ej. dos voces simultáneas, o una voz con letra. Vamos a tener una voz con letra, por lo que se requieren los ángulos dobles. Después añadiremos algo @@ -521,29 +520,29 @@ distintas clases de corchetes, llaves y paréntesis. @multitable @columnfractions .3 .7 @headitem Tipo de paréntesis @tab Función -@item @code{@{ .. @}} +@item @code{@{ @dots{} @}} @tab Encierra un fragmento secuencial de música -@item @code{< .. >} +@item @code{< @dots{} >} @tab Encierra las notas de un acorde -@item @code{<< .. >>} +@item @code{<< @dots{} >>} @tab Encierra expresiones musicales simultáneas -@item @code{( .. )} +@item @code{( @dots{} )} @tab Marca el comienzo y el final de una ligadura de expresión -@item @code{\( .. \)} +@item @code{\( @dots{} \)} @tab Marca el comienzo y el final de una ligadura de fraseo -@item @code{[ .. ]} +@item @code{[ @dots{} ]} @tab Marca el comienzo y el final de un barrado manual @end multitable A las anteriores, debemos añadir otras construcciones que generan líneas entre o a través de las notas: las ligaduras de unión (marcadas con una tilde curva, @code{~}), los grupos especiales que se escriben -como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben -como @code{\grace@{..@}}. +como @code{\tuplet x/y @{ @dots{} @}}, y las notas de adorno, que se escriben +como @code{\grace @{ @dots{} @}}. Fuera de LilyPond, el uso convencional de los paréntesis y otros corchetes requiere que los distintos tipos se encuentren anidados -correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que +correctamente, como en: @code{<< [ @{ ( @dots{} ) @} ] >>}, de manera que los paréntesis que se cierran deben encontrarse en el orden exactamente opuesto al de los paréntesis que se abren. Esto @strong{es} un requisito para los tres tipos de paréntesis que se @@ -637,7 +636,7 @@ En primer lugar observe este ejemplo de cuatro acordes: @end lilypond Esto se puede expresar utilizando sólo símbolos de acorde con ángulos -simples, @code{< ... >}, y para este propósito tan sólo se necesita +simples, @code{< @dots{} >}, y para este propósito tan sólo se necesita una voz. Pero suponga que el Fa sostenido fuese realmente una corchea seguida de un Sol corchea, una nota de paso que conduce al La. Ahora tenemos dos notas que empiezan en el mismo momento pero tienen @@ -654,8 +653,8 @@ Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond. La forma más fácil de introducir fragmentos con más de una voz en un solo pentagrama es escribir cada voz como una secuencia (con -@code{@{...@}}), y combinarlas simultáneamente con ángulos dobles, -@code{<<...>>}. Los fragmentos también se deben separar mediante una +@code{@{ @dots{} @}}), y combinarlas simultáneamente con ángulos dobles, +@code{<< @dots{} >>}. Los fragmentos también se deben separar mediante una doble barra invertida, @code{\\}, para situarlos en voces separadas. Sin esto, las notas irían a una sola voz, lo que normalmente produce errores. Esta técnica se adapta especialmente bien a piezas de música @@ -732,7 +731,7 @@ correcta. @end lilypond Todas estas voces están separadas de la voz principal que contiene las -notas justo por fuera de la construcción @code{<< .. >>}. Le +notas justo por fuera de la construcción @code{<< @dots{} >>}. Le llamaremos a esto la @emph{construcción simultánea}. Las ligaduras (de prolongación y de expresión) solamente pueden conectar notas que estén dentro de la misma voz, luego las ligaduras no pueden entrar o @@ -818,13 +817,13 @@ voces están muy separadas, es colocar una instrucción @code{\relative} al principio de cada voz: @example -\relative c' @{ notaA ... @} +\relative c' @{ notaA @dots{} @} << - \relative c'' @{ < notaB notaC > ... @} + \relative c'' @{ < notaB notaC > @dots{} @} \\ - \relative g' @{ notaD ... @} + \relative g' @{ notaD @dots{} @} >> -\relative c' @{ notaE ... @} +\relative c' @{ notaE @dots{} @} @end example Finalmente, analicemos las voces en una pieza de música más compleja. @@ -1882,7 +1881,7 @@ y esto los desactivará en todos los pentagramas: Como un ejemplo más, si se establece @code{clefTransposition} dentro del contexto de @code{Score}, éste cambia inmediatamente el valor de la -octavación en todos los pentagramas en curso y establece un nuevo +transposición en todos los pentagramas en curso y establece un nuevo valor predeterminado que se aplicará a todos los pentagramas. La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la @@ -1933,7 +1932,7 @@ en que se crea el contexto. A veces esta forma de establecer el valor de una propiedad es mucho más clara, si ha de quedar fijo durante todo el tiempo que dure el contexto. Cuando se crea un contexto con una instrucción @code{\new} puede ir inmediatamente seguido de un bloque -@code{\with @{ .. @}} en el que se establecen los valores predeterminados de las +@code{\with @{ @dots{} @}} en el que se establecen los valores predeterminados de las propiedades. Por ejemplo, si queremos suprimir la impresión de becuadros adicionales para toda la duración de un pentagrama, podemos escribir: @@ -2885,12 +2884,12 @@ ejemplo final que aparece al final de la sección, borre los dobles >> @end example -No es necesario utilizar la construcción simultánea @code{<< >>} para +No es necesario utilizar la construcción simultánea @code{<< @dots{} >>} para el pentagrama del manual dos y el pentagrama del órgano de pedal, ya que contienen una única expresión, pero no hace daño, y es una buena costumbre utilizar siempre dobles ángulos después de @code{\new Staff} cuando hay varias voces. Lo opuesto es cierto para las voces: -normalmente deben ir seguidas de llaves @code{@{ .. @}} en caso de que +normalmente deben ir seguidas de llaves @code{@{ @dots{} @}} en caso de que tengamos música codificada como distintas variables que se deben situar consecutivamente. diff --git a/Documentation/es/learning/tweaks.itely b/Documentation/es/learning/tweaks.itely index 41e7b6b143..dca82c8d95 100644 --- a/Documentation/es/learning/tweaks.itely +++ b/Documentation/es/learning/tweaks.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: b6f94447415dded7c6e146b41b6139fe76cb84c4 + Translation of GIT committish: e6513c72e95fd6691998cb368a5172de3aad0525 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -352,7 +352,8 @@ b c | @end lilypond Sin embargo, las instrucciones predefinidas de la forma -@code{\...Neutral}, @code{\...Off} y @code{\un...} utilizan +@code{\@dots{}Neutral}, +@code{\@dots{}Off} y @code{\un@dots{}} utilizan internamente @code{\revert} en vez de @code{\override}, por lo que añadir @code{\once} como prefijo aquí no tiene ningún efecto. @@ -3027,7 +3028,7 @@ aquí un ejemplo de colisión de este tipo: La mejor solución aquí es mover el silencio multi-compás hacia abajo, pues el silencio está en la voz dos. El ajuste predeterminado para @code{\voiceTwo} (es decir, en la segunda voz de una construcción -@code{<<@{...@} \\ @{...@}>>}) es que @code{staff-position} tenga el +@code{<<@{@dots{}@} \\ @{@dots{}@}>>}) es que @code{staff-position} tenga el valor -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor @w{@code{-8}}. @@ -3956,7 +3957,7 @@ Glosario musical: @node Uso de variables para los ajustes de disposición @subsection Uso de variables para los ajustes de disposición -@translationof Using variables for tweaks +@translationof Using variables for layout adjustments @cindex variables, usar para sobreescrituras @cindex sobreescrituras, usar variablas para diff --git a/Documentation/es/notation/ancient.itely b/Documentation/es/notation/ancient.itely index d9352fa9a3..aebd5b01e6 100644 --- a/Documentation/es/notation/ancient.itely +++ b/Documentation/es/notation/ancient.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @c vim: foldmethod=marker @ignore - Translation of GIT committish: 08cf111c64bf608b4dc7622558b0cabef84f3c46 + Translation of GIT committish: 4e7839892d676e4863e07e11ea4968cffe34f97f When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -270,7 +270,7 @@ ellas. La sintaxis todavía utiliza el obsoleto estilo infijo @code{\[ expresión_musical \]}. Por motivos de consistencia, esto -cambiará algún día al estilo postfijo @code{nota\[ ... nota\]}. +cambiará algún día al estilo postfijo @code{nota\[ @dots{} nota\]}. @node Custos @@ -1556,7 +1556,7 @@ las notas que se han de unir. Una nota sin modificaciones produce un @emph{punctum}. Todos los demás neumas, incluso los neumas de una nota con forma distinta como la @emph{virga}, se consideran en principio como ligaduras y por ello -se deben escribir dentro de @code{\[...\]}. +se deben escribir dentro de @code{\[@dots{}\]}. @noindent Neumas de una nota: @@ -2755,7 +2755,7 @@ el grabador @code{Stem_engraver} del contexto de voz: @example \layout @{ - ... + @dots{} \context @{ \Voice \remove "Stem_engraver" diff --git a/Documentation/es/notation/changing-defaults.itely b/Documentation/es/notation/changing-defaults.itely index 6c929ade54..4025f05d98 100644 --- a/Documentation/es/notation/changing-defaults.itely +++ b/Documentation/es/notation/changing-defaults.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore -Translation of GIT committish: 91aeca2562af49ff24110e923d5196bebd95f372 +Translation of GIT committish: 4e7839892d676e4863e07e11ea4968cffe34f97f When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -434,7 +434,7 @@ más tarde, por ejemplo cuando se asocia la letra con la música: @example \new Voice = "tenor" @var{música} -... +@dots{} \new Lyrics \lyricsto "tenor" @var{letra} @end example @@ -481,13 +481,13 @@ eventos musicales adicionales a un contexto anterior. Existe una excepción a esta regla general: precisamente uno de los contextos de @code{Voice} que están dentro de un contexto de -@code{Staff} o de una construcción @code{<<...>>} persiste siempre +@code{Staff} o de una construcción @code{<<@dots{}>>} persiste siempre hasta el final de, contexto de @code{Staff} circundante o la -construcción @code{<<...>>}, incluso aunque puede haber períodos en +construcción @code{<<@dots{}>>}, incluso aunque puede haber períodos en que no tiene nada que hacer. El contexto que persiste de esta forma será el primero que se encuentre en la primera construcción encerrada -entre llaves @code{@{...@}}, ignorando cualquiera que se encuentre -dentro de construcciones encerradas por ángulos dobles @code{<<...>>}. +entre llaves @code{@{@dots{}@}}, ignorando cualquiera que se encuentre +dentro de construcciones encerradas por ángulos dobles @code{<<@dots{}>>}. Cualquier contexto se puede mantener vivo si nos aseguramos de que tiene algo que hacer en cualquier momento musical dado. Los @@ -665,7 +665,7 @@ modificándolo: @emph{etc.} @} @{ - @emph{..música..} + @emph{@dots{}música@dots{}} @} @end example @@ -1104,7 +1104,7 @@ Referencia de la notación: @funindex denies Los contextos específicos, como @code{Staff} y @code{Voice}, están -construidos a base de bloques sencillos. Es posible crear nuevos +construidos a partir de bloques sencillos. Es posible crear nuevos tipos de contextos con combinaciones distintas de añadidos grabadores. El siguiente ejemplo muestra cómo construir un tipo diferente de @@ -1158,34 +1158,39 @@ En primer lugar es necesario definir un nombre para el nuevo contexto: \name ImproVoice @end example -Debido a que es parecido al contexto @code{Voice}, queremos órdenes -que funcionen sobre contextos de @code{Voice} (existentes) para que -siga funcionando. Esto se consigue dando al contexto nuevo un alias -@code{Voice}, +Debido a que es parecido al contexto @code{Voice}, queremos +órdenes que funcionen dentro de los contextos @code{Voice} +(existentes) para que siga funcionando. Esto se consigue dando al +contexto nuevo un alias de @code{Voice}, @example \alias Voice @end example -El contexto imprimirá notas y textos explicativos, por ello tenemos -que añadir los grabadores que aportan esta funcionalidad: +El contexto imprimirá notas y textos explicativos, por ello +tenemos que añadir los grabadores que aportan esta funcionalidad, +y además el grabador que agrupa las notas, plicas y silencios que +están en el mismo momento musical en forma de columnas, @example \consists "Note_heads_engraver" \consists "Text_engraver" +\consists "Rhythmic_column_engraver" @end example -pero sólo necesitamos esto en la línea central: +Las cabezas de todas las notas se deben situar sobre la línea +central, @example \consists "Pitch_squash_engraver" squashedPosition = #0 @end example -El grabador @rinternals{Pitch_squash_engraver} modifica las cabezas de -nota (creadas por el grabador @rinternals{Note_heads_engraver}) y +El grabador @code{Pitch_squash_engraver} modifica las cabezas de +nota (creadas por el grabador @code{Note_heads_engraver}) y establece sus posiciones verticales al valor de -@code{squashedPosition}, en este caso@tie{}@code{0}, la línea central. +@code{squashedPosition}, en este caso@tie{}@code{0}, la línea +central. Las notas parecen barras inclinadas y no tienen plica: @@ -1210,6 +1215,7 @@ Al juntarlo todo, obtenemos \type "Engraver_group" \consists "Note_heads_engraver" \consists "Text_engraver" + \consists "Rhythmic_column_engraver" \consists "Pitch_squash_engraver" squashedPosition = #0 \override NoteHead.style = #'slash @@ -1219,9 +1225,9 @@ Al juntarlo todo, obtenemos @end example @funindex \accepts -Los contextos dan lugar a jerarquías. Queremos colgar el contexto -@code{ImproVoice} bajo el contexto @code{Staff}, como simples -@code{Voice}s normales. Por tanto, modificamos la definición de +Los contextos dan lugar a jerarquías. Queremos poner el contexto +@code{ImproVoice} dentro del contexto @code{Staff}, igual que los contextos +de voz normales. Por tanto, modificamos la definición de @code{Staff} con la instrucción @code{\accepts} (acepta), @example @@ -1266,6 +1272,15 @@ puede escribir como @} @end example +@seealso + +Referencia de funcionamiento interno: +@rinternals{Engraver_group}, +@rinternals{Note_heads_engraver}, +@rinternals{Text_engraver}, +@rinternals{Rhythmic_column_engraver}, +@rinternals{Pitch_squash_engraver}. + @node Orden de disposición de los contextos @subsection Orden de disposición de los contextos @@ -1325,10 +1340,26 @@ ejemplo, el contexto @code{VaticanaStaff} está basado en el contexto @code{Staff}, pero con el contexto @code{VaticanaVoice} sustituido por el contexto @code{Voice} en la lista @qq{accepts}. -Observe que discretamente se crea un contexto de forma implícita si se -encuentra una instrucción donde no hay un contexto apropiado para -contenerlo. Esto puede dar lugar a pentagramas o partituras nuevos no -esperados. + +@cindex contextos implícitos +@cindex implícitos, contextos +@funindex \defaultchild + +Observe que discretamente se crea un contexto de forma implícita +si se encuentra una instrucción donde no hay un contexto apropiado +para contenerlo. + +Dentro de una definición de contexto, el tipo de un subcontexto +que se va a crear implícitamente se especifica usando +@code{\defaultchild} (hijo predeterminado). Algunos eventos +musicales requieren un contexto @samp{Bottom} (inferior): cuando +se encuentra este evento, se crean subcontextos de forma recursiva +hasta que se alcanza un contexto que no tiene establecido el +@samp{defaultchild}. + +La creación implícita de contextos puede dar lugar a pentagramas o +partituras nuevos no esperados. La utilización de @code{\new} +para crear contextos explícitamente evita esos problemas. @cindex alignAboveContext @cindex alignBelowContext @@ -1336,13 +1367,14 @@ esperados. @funindex alignBelowContext En ocasiones se necesita que un contexto exista durante un breve -intervalo de tiempo, siendo un buen ejemplo el contexto de pentagrama -de un ossia. Esto se consigue normalmente mediante la introducción de -la definición del contexto en el lugar apropiado en paralelo con la -sección correspondiente de la música principal. De forma -predeterminada, el contexto tempral se coloca debajo de todos los -contextos existentes. Para reposicionallo por encima del contexto que -tenga el nombre @qq{principal}, debería definirse de esta forma: +intervalo de tiempo, siendo un buen ejemplo el contexto de +pentagrama de un ossia. Esto se consigue normalmente mediante la +introducción de la definición del contexto en el lugar apropiado +en paralelo con la sección correspondiente de la música principal. +De forma predeterminada, el contexto tempral se coloca debajo de +todos los contextos existentes. Para reposicionarlo por encima +del contexto que tenga el nombre @qq{principal}, debería definirse +de esta forma: @example @code{\new Staff \with @{ alignAboveContext = #"principal" @} } @@ -2345,7 +2377,7 @@ We have seen two methods of changing properties: @code{\set} and properties. @code{fontSize} is a special property: it is equivalent to -entering @code{\override ... #'font-size} for all pertinent +entering @code{\override @dots{} #'font-size} for all pertinent objects. Since this is a common change, the special property (modified with @code{\set}) was created. @@ -3489,23 +3521,23 @@ explícitas. @c TODO Add example -@subsubsubheading Claves octavadas +@subsubsubheading Claves transportadas -@cindex octavadas, visibilidad de las claves -@cindex visibilidad de las claves octavadas -@cindex claves, visibilidad de la octavación +@cindex transportadas, visibilidad de las claves +@cindex visibilidad de las claves transportadas +@cindex claves, visibilidad de la transposición -El pequeño símbolo de octava sobre las claves en octava alta o baja se -produce por parte del objeto @code{ClefModifier}. Su visibilidad se -hereda automáticamente de la del objeto @code{Clef}, así que no es +El pequeño símbolo de transposición sobre una clave se produce por +parte del objeto @code{ClefModifier}. Su visibilidad se hereda +automáticamente de la del objeto @code{Clef}, así que no es necesario aplicar las sobreescrituras correspondientes -@code{break-visibility} a los objetos -@code{ClefModifier} para suprimir los símbolos de octavación -para las claves invisibles. +@code{break-visibility} a los objetos @code{ClefModifier} para +suprimir los símbolos de transposición u octavación para las +claves invisibles. 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. +@code{explicitClefVisibility} controla tanto el símbolo de clave +como el símbolo de transposición o de octava asociado. @seealso Manual de aprendizaje: @@ -3918,11 +3950,11 @@ distintos a las barras de compás. Estos objetos son @code{ambitus}, @code{left-edge}, @code{key-cancellation}, @code{key-signature} y @code{time-signature}. -De forma predeterminada, las letras de ensayo y los números de compás -se centran horizontalmente sobre el objeto: +Cada tipo de objeto tiene su propio punto de referencia +predeterminado, con el que se alinean las marcas de ensayo: @lilypond[verbatim,quote,relative=1] -% The rehearsal mark will be centered above the Clef +% The rehearsal mark will be aligned to right edge of the Clef \override Score.RehearsalMark.break-align-symbols = #'(clef) \key a \major \clef treble @@ -3955,13 +3987,13 @@ divisoria. Si la línea divisoria es invisible, el objeto se alinea con el punto en el que se encontraría la línea divisoria. @lilypond[verbatim,quote,relative=1] -% The rehearsal mark will be centered above the Key Signature +% The rehearsal mark will be aligned to the right edge of the Key Signature \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e1 -% The rehearsal mark will be centered above the Clef +% The rehearsal mark will be aligned to the right edge of the Clef \set Staff.explicitKeySignatureVisibility = #all-invisible \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major @@ -3984,20 +4016,20 @@ 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 Key Signature +% The RehearsalMark will be aligned with the right edge of the Key Signature \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 Key Signature -\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT +% The RehearsalMark will be centered above the Key Signature +\once \override Score.KeySignature.break-align-anchor-alignment = #CENTER \mark "↓" \key a \major e1 -% The RehearsalMark will be aligned with the right edge of the Key Signature -\once \override Score.KeySignature.break-align-anchor-alignment = #RIGHT +% The RehearsalMark will be aligned with the left edge of the Key Signature +\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT \key a \major \mark "↓" e1