@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
-Translation of GIT committish: 18cfd801fa7fcd698e924f3b530862714f3e3013
+Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.15.20"
+@c \version "2.16.0"
@node Cambiar los valores por omisión
@chapter Cambiar los valores por omisión
* Orden de disposición de los contextos::
@end menu
-
@seealso
Manual de aprendizaje:
@rlearning{Contextos y grabadores}.
* Contextos del nivel más bajo. Voces::
@end menu
+
@node Score. El contexto maestro
@unnumberedsubsubsec Score. El contexto maestro
@translationof Score - the master of all contexts
procesa un bloque @code{\score @{@dots{}@}} o @code{\layout
@{@dots{}@}}.
+
@node Contextos del nivel superior. Contenedores de pentagramas
@unnumberedsubsubsec Contextos del nivel superior: contenedores de pentagramas
@translationof Top-level contexts - staff containers
Igual que @code{GrandStaff}, pero contempla la posibilidad de poner el
nombre del instrumento a la izquierda del sistema.
+
@node Contextos de nivel intermedio. Pentagramas
@unnumberedsubsubsec Contextos de nivel intermedio. Pentagramas
@translationof Intermediate-level contexts - staves
@end itemize
+
@node Mantener vivos los contextos
@subsection Mantener vivos los contextos
@translationof Keeping contexts alive
llamados @q{grabadores} que crean elementos de notación. Por ejemplo,
el contexto @code{Voice} contiene un grabador
@code{Note_heads_engraver} que crea las cabezas de nota y el contexto
-@code{Staff} contiene un grabador @code{Key_signature_engraver} que
-crea la indicación de compás.
+@code{Staff} contiene un grabador @code{Key_engraver} que
+crea la armadura.
Para ver una descripción completa de todos y cada uno de los
complementos, consulte
@knownissues
-Normalmente, el orden en que se especifican los grabadores no tiene
-importancia, pero en algunos casos especiales sí la tiene, por ejemplo
-donde un grabador escribe una propiedad y otro la lee, o donde un
-grabador crea un groby otro debe procesarlo. El orden en que los
-grabadores se especifican es el orden en que se llaman para realizar
-su tarea de procesamiento.
+El orden en que los grabadores se especifican es el orden en que se
+llaman para realizar su tarea de procesamiento. Normalmente, el orden
+en que se especifican los grabadores no tiene importancia, pero en
+algunos casos especiales sí la tiene, por ejemplo donde un grabador
+escribe una propiedad y otro la lee, o donde un grabador crea un groby
+otro debe procesarlo.
+
+Las siguientes ordenaciones son importantes:
+
+@itemize
+@item
+el grabador de compases @code{Bar_engraver} debe ir normalmente en
+primer lugar,
+
+@item
+el grabador de digitaciones @code{New_fingering_engraver} debe ir
+antes del grabador @code{Script_column_engraver} de columnas de
+inscripciones,
+
+@item
+el @code{Timing_translator} debe ir antes del grabador de números de
+compás @code{Bar_number_engraver}.
+
+@end itemize
+
+@seealso
+Archivos instalados:
+@file{ly/engraver-init.ly}.
-Las siguientes ordenaciones son importantes: el grabador de compases
-@code{Bar_engraver} debe ir normalmente en primer lugar, y el grabador
-de digitaciones @code{New_fingering_engraver} debe ir antes del
-grabador @code{Script_column_engraver} de columnas de inscripciones.
-Podría haber otros que tengan dependencias de ordenación.
@node Cambiar los valores por omisión de los contextos
@subsection Cambiar los valores por omisión de los contextos
@translationof Changing context default settings
-Los ajustes de contexto que están preparados para usarse de forma
-predeterminada en los contextos @code{Score}, @code{Staff} y
-@code{Voice}, se pueden especificar dentro de un bloque
-@code{\layout}, como se ilustra en el ejemplo siguiente. El bloque
-@code{\layout} se debe colocar dentro del bloque @code{\score} en que
-se quiere que haga efecto, pero fuera de la música.
+@cindex predeterminadas, cambio de propiedades de contexto
+@cindex contexto, cambiar propiedades predeterminadas de
+
+Se pueden cambiar las propiedades de contexto y de grob con las
+instrucciones @code{\set} y @code{\override}, tal y como se describe
+en @ref{Modificar las propiedades}. Estas instrucciones crean eventos
+musicales, haciendo que los cambios tengan efecto en el punto temporal
+en que la música se está procesando.
+
+Por contra, esta sección explica la forma de cambiarlos valores
+@emph{predeterminados} de las propiedades de contexto y de grob en el
+momento en que se crea el contexto. Existen dos formas de hacerlo.
+Una modifica los valores predeterminados en todos los contextos de un
+tipo dado, y el otro modifica los valores predeterminados solamente en
+una instancia concreta de un contexto.
+
+@menu
+* Cambiar todos los contextos del mismo tipo::
+* Cambiar solamente un contexto determinado::
+* Orden de precedencia::
+@end menu
-Observe que la propia instrucción @code{\set} y el contexto se deben
-omitir cuando se especifican de esta manera los valores de contexto
-predeterminados:
+@node Cambiar todos los contextos del mismo tipo
+@unnumberedsubsubsec Cambiar todos los contextos del mismo tipo
+@translationof Changing all contexts of the same type
+
+@cindex \context dentro de un bloque \layout
+@funindex \context
+@funindex \layout
+
+Los ajustes de contexto que se han de usar de forma predeterminada
+dentro de @code{Score}, @code{Staff}, @code{Voice} y otros contextos
+se pueden especificar en un bloque @code{\context} dentro de cualquier
+bloque @code{\layout}. El bloque @code{\layout} se debe colocar
+dentro del bloque @code{\score} al que se aplica, después de la
+música.
+
+@example
+\layout @{
+ \context @{
+ \Voice
+ [ajustes de contexto para todos los contextos Voice]
+ @}
+ \context @{
+ \Staff
+ [ajustes de contexto para todos los contextos Staff]
+ @}
+@}
+@end example
+
+Se pueden especificar los siguientes tipos de ajustes:
+
+@itemize
+@item
+Una instrucción @code{\override}, pero omitiendo el nombre del contexto
@lilypond[quote,verbatim]
\score {
\relative c'' {
- a4^"Really small, thicker stems, no time signature" a a a
- a a a a
+ a4^"Thicker stems" a a a
+ a4 a a\ff a
}
\layout {
\context {
\Staff
- fontSize = #-4
\override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
}
}
}
@end lilypond
-En este ejemplo, la instrucción @code{\Staff} especifica que los
-ajustes siguientes se apliquen a todos los pentagramas dentro del
-bloque de partitura.
+@item
+Estableciendo una propiedad de contexto directamente
-Se pueden realizar de forma similar modificaciones al contexto
-@code{Score} o a todos los contextos @code{Voice}.
+@lilypond[quote,verbatim]
+\score {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a\ff a
+ }
+ \layout {
+ \context {
+ \Staff
+ fontSize = #-4
+ }
+ }
+}
+@end lilypond
-Los cambios de contexto se pueden poner dentro de una variable y
-aplicarse a una definición de contexto @code{\context} anteponiendo la
-modificación mediante @code{\with}:
+@item
+Una instrucción predefinida tal como @code{\dynamicUp} o una expresión
+musical como @code{\accidentalStyle "dodecaphonic"}
@lilypond[quote,verbatim]
-blubb = \with {
- fontSize = #-4
- \override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
+\score {
+ \relative c'' {
+ a4^"Dynamics above" a a a
+ a4 a a\ff a
+ }
+ \layout {
+ \context {
+ \Voice
+ \dynamicUp
+ }
+ \context {
+ \Staff
+ \accidentalStyle "dodecaphonic"
+ }
+ }
}
+@end lilypond
-bla = \with {
- fontSize = #3
- \override Stem #'thickness = #-2.0
-}
+@item
+Una variable definida por el usuario que contenga un bloque
+@code{\with}; para ver detalles acerca del bloque @code{\with},
+consulte @ref{Cambiar solamente un contexto determinado}.
-melody = \relative c'' {
- a4 a a a |
- a4 a a a |
+@lilypond[quote,verbatim]
+StaffDefaults = \with {
+ fontSize = #-4
}
\score {
- <<
- \new Staff <<
- \melody
- s1*0^"Small, thicker stems, no time signature"
- >>
- \new Staff \bla <<
- \melody
- s1*0^"Different"
- >>
- >>
+ \new Staff {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
+ }
+ }
\layout {
\context {
\Staff
- \blubb
+ \StaffDefaults
}
}
}
@end lilypond
-@c TODO: add \with in here.
+@end itemize
+Las instrucciones de ajuste de propiedades se pueden disponer dentro
+de un bloque @code{\layout} sin que estén encerradas en un bloque
+@code{\context}. Tales ajustes son equivalentes a incluir las mismas
+instrucciones de ajuste de propiedades al comienzo de cada uno de los
+contextos del tipo especificado. Si no se especifica ningún contexto,
+@emph{todos y cada uno} de los contextos del nivel inferior quedan
+afectados, véase @ref{Contextos del nivel más bajo. Voces}. La
+sintaxis de una instrucción de ajuste de propiedades dentro de un
+bloque @code{\layout} es la misma que si la misma instrucción
+estuviera escrita en el propio flujo musical.
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
+ }
+ }
+ \layout {
+ \accidentalStyle "dodecaphonic"
+ \set fontSize = #-4
+ \override Voice.Stem #'thickness = #4.0
+ }
+}
+@end lilypond
+
+
+@node Cambiar solamente un contexto determinado
+@unnumberedsubsubsec Cambiar solamente un contexto determinado
+@translationof Changing just one specific context
+
+@cindex \with
+@funindex \with
+
+Las propiedades de contexto de una única instancia de contexto pueden
+cambiarse dentro de un bloque @code{\with}. Todas las demás
+instancias de contexto del mismo tipo retienen los ajustes
+predeterminados que LilyPond tiene programados y que se modifican por
+parte de cualquier bloque @code{\layout} que se encuentre dentro del
+ámbito. El bloque @code{\with} se debe situar inmediatamente después
+de las instrucciones @code{\new} @var{context-type}:
+
+@example
+\new Staff
+\with @{
+ [ajustes de contexto para esta única instancia de contexto]
+@} @{
+...
+@}
+@end example
+
+Se pueden especificar los siguientes tipos de ajustes:
+
+@itemize
+@item
+Una instrucción @code{\override}, pero omitiendo el nombre del
+contexto
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \new Voice
+ \with {
+ \override Stem #'thickness = #4.0
+ }
+ {
+ \relative c'' {
+ a4^"Thick stems" a a a
+ a4 a a a
+ }
+ }
+ }
+}
+@end lilypond
+
+@item
+Estableciendo una propiedad de contexto directamente
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \relative c'' {
+ a4^"Default font" a a a
+ a4 a a a
+ }
+ }
+ \new Staff
+ \with {
+ fontSize = #-4
+ } {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
+ }
+ }
+ >>
+}
+@end lilypond
+
+@item
+Una instrucción predefinida tal como @code{\dynamicUp}
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \new Voice {
+ \relative c'' {
+ a4^"Dynamics below" a a a
+ a4 a a\ff a
+ }
+ }
+ }
+ \new Staff
+ \with { \accidentalStyle "dodecaphonic" }
+ {
+ \new Voice
+ \with { \dynamicUp }
+ {
+ \relative c'' {
+ a4^"Dynamics above" a a a
+ a4 a a\ff a
+ }
+ }
+ }
+ >>
+}
+@end lilypond
+
+@end itemize
+
+@node Orden de precedencia
+@unnumberedsubsubsec Orden de precedencia
+@translationof Order of precedence
+
+El valor de una propiedad que se aplica en un momento determinado se
+determina de la siguiente forma:
+
+@itemize
+@item
+si está en efecto una instrucción @code{\override} o @code{\set}
+dentro del flujo musical, se usa dicho valor,
+
+@item
+de lo contrario, se usa el valor predeterminado tomado de un enunciado
+@code{\with} en las instrucciones de inicio del contexto,
+
+@item
+de lo contrario, se usa el valor tomado del bloque @code{\context} más
+reciente que corresponda dentro de los bloques @code{\layout},
+
+@item
+de lo contrario se usa el valor predeterminado que LilyPond lleva
+preprogramado.
+@end itemize
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Modificar las propiedades de los contextos}.
+
+Referencia de la notación:
+@ref{Explicación de los contextos},
+@ref{Contextos del nivel más bajo. Voces},
+@ref{La instrucción set},
+@ref{La instrucción override},
+@ref{El bloque \layout}.
@node Definir contextos nuevos
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
que añadir los grabadores que aportan esta funcionalidad:
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
pero sólo necesitamos esto en la línea central:
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
contenerlo. Esto puede dar lugar a pentagramas o partituras nuevos no
esperados.
+@cindex alignAboveContext
+@cindex alignBelowContext
+@funindex alignAboveContext
+@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:
+
+@example
+@code{\new Staff \with @{ alignAboveContext = #"principal" @} }
+@end example
+
+Se presenta una situación similar cuando se posiciona un contexto
+temporal de letra de una canción dentro de una disposición de varios
+pentagramas tal como @code{ChoirStaff}, por ejemplo, cuando se añade
+una segunda estrofa a una sección que se repite. De forma
+predeterminada, el contexto temporal de letra se coloca debajo de los
+pentagramas inferiores. Mediante la definición del contexto temporal
+de letra con @code{alignBelowContext} se puede posicionar
+correctamente debajo del contexto de letra con nombre que contiene el
+texto de la primera estrofa.
+
+En diversos lugares pueden verse ejemplos que muestran esta
+recolocación de contextos temporales: véase
+@rlearning{Anidado de expresiones musicales},
+@ref{Modificación de pentagramas sueltos} y
+@ref{Técnicas específicas para la letra}.
+
@seealso
+Manual de aprendizaje:
+@rlearning{Anidado de expresiones musicales}.
+
+Referencia de la notación:
+@ref{Modificación de pentagramas sueltos},
+@ref{Técnicas específicas para la letra}.
+
Manual de utilización del programa:
@rprogram{Aparece un pentagrama de más}.
@section Explicación del Manual de referencia de funcionamiento interno
@translationof Explaining the Internals Reference
-
@menu
* Navegar por la referencia del programa::
* Interfaces de la presentación::
@end itemize
@end ignore
+
@node Modificar las propiedades
@section Modificar las propiedades
@translationof Modifying properties
@rinternals{RevertProperty},
@rinternals{PropertySet}.
-
@knownissues
-
El «back-end» o motor de salida no es muy estricto en la comprobación
de tipos de las propiedades de objetos. Las referencias cíclicas en
valores Scheme de propiedades pueden producir cuelgues o salidas
@end ifnothtml
@seealso
-
Referencia de funcionamiento interno:
@rinternals{Tunable context properties}.
-
@cindex grob, propiedades de
@cindex propiedades de grob
@funindex \override
+
@node La instrucción override
@subsection La instrucción @code{\override}
@translationof The override command
@end ignore
@seealso
-
Referencia de funcionamiento interno:
@rinternals{Backend}
+
@node La instrucción tweak
@subsection La instrucción @code{\tweak}
@translationof The tweak command
instrucción @code{\tweak}, que tiene la sintaxis siguiente:
@example
-\tweak #'@code{propiedad-del-grob} #@code{valor}
+\tweak @var{objeto-de-presentación} #'@var{propiedad-del-grob} @var{valor}
@end example
-La instrucción @code{\tweak} se aplica al objeto que viene
-inmediatamente después de @code{valor} dentro del flujo musical.
+Es opcional especificar el @var{objeto-de-presentación}. La
+instrucción @code{\tweak} se aplica al objeto musical que viene
+inmediatamente después de @var{valor} dentro del flujo musical.
@ignore
En ocasiones es posible tomar un atajo para realizar el ajuste fino de
Para que funcione la instrucción @code{\tweak}, debe permanecer
adyacente al objeto al que se ha de aplicar después de que el código
-de entrada se ha convertido a un flujo musical. A veces, LilyPond
-puede insertar elementos adicionales dentro del flujo de música
-durante el proceso de análisis sintáctico. Por ejemplo, cuando una
-nota que no es parte explícita de un acorde se coloca dentro de un
-acorde por parte de LilyPond de manera que las notas que se pretenden
-modificar con @code{\tweak} se deben poner dentro de una construcción
-de acorde:
+de entrada se ha convertido a un flujo musical. El trucaje de un
+acorde completo no hace nada porque su evento musical actúa solamente
+como un contenedor, y todos los objetos de presentación se crean a
+partir de eventos dentro del @code{EventChord}:
@lilypond[relative=2,verbatim,quote]
\tweak #'color #red c4
-<\tweak #'color #red c>4
+\tweak #'color #red <c e>4
+<\tweak #'color #red c e>4
@end lilypond
-La instrucción @code{\tweak} no se puede usar para modificar ningún
-elemento que no aparezca explícitamente en el código de entrada.
-Concretamente, no se puede usar para modificar plicas, barras o
-alteraciones directamente, porque éstos se generan posteriormente por
-parte de las cabezas de las notas, más que por elementos musicales del
-flujo de entrada. Tampoco se puede usar @code{\tweak} para modificar
-las claves ni las indicaciones de compás, porque se separarán de
-cualquier instrucción @code{\tweak} que aparezca en el flujo de
-entrada debido a la inserción automática de los elementos adicionales
-que se requieren para especificar el contexto.
+La instrucción @code{\tweak} sencilla no se puede usar para modificar
+ningún objeto que no se haya creado directamente a partir de la entrada.
+Concretamente, no afecta a las plicas, barras automáticas ni
+alteraciones, porque éstos se generan posteriormente por
+parte de objetos de presentación @code{NoteHead}
+más que por elementos musicales del
+flujo de entrada.
+
+Tales objetos de presencaión creados indirectamente se pueden trucar
+usando la forma explícita de la instrucción @code{\tweak}:
-También se pueden escribir varias instrucciones @code{\tweak} antes de
-un elemento notacional, y todas ellas le afectan:
+@lilypond[relative=2,verbatim,quote]
+\tweak Stem #'color #red
+\tweak Beam #'color #green c8 e
+<c e \tweak Accidental #'font-size #-3 ges>4
+@end lilypond
+
+No se puede usar @code{\tweak} para modificar las claves o las
+indicaciones de compás, porque éstos se separan de cualquier
+instrucción @code{\tweak} precedente dentro del flujo de entrada
+merced a la inserción automática de elementos adicionales que se
+requieren para especificar el contexto.
+
+Se pueden colocar varias instrucciones @code{\tweak} antes de un
+elemento de notación; todos le afectan:
@lilypond[verbatim,quote,relative=1]
c
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{Métodos de trucaje}.
Manual de extensión:
@rextend{Presentación de las expresiones musicales}.
-
@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} solamente se aplica a la primera de
-varias ligaduras generadas dentro de un acorde.
+No se puede usar la instrucción @code{\tweak} para modificar los
+puntos de control de una sola de varias ligaduras de unión dentro de
+un acorde, aparte de la primera que se encuentre en el código de
+entrada.
+
@node set frente a override
@subsection @code{\set} frente a @code{\override}
* Rotación de objetos::
@end menu
+
@node Modos de entrada
@subsection Modos de entrada
@translationof Input modes
@end lilypond
-
@node Dirección y posición
@subsection Dirección y posición
@translationof Direction and placement
instrucciones predefinidas para especificar la dirección. Todas ellas
son de la forma:
-@noindent
-@code{\xxxUp}, @code{xxxDown}, @code{xxxNeutral}
+@example
+@code{\xxxUp}, @code{\xxxDown} o @code{\xxxNeutral}
+@end example
@noindent
-donde @code{xxxNeutral} significa @qq{utilizar la dirección
+donde @code{\xxxNeutral} significa @qq{utilizar la dirección
predeterminada}. Véase @rlearning{Objetos interiores al pentagrama}.
-En alguna que otra ocasión, con el único ejemplo usual del arpegio, el
-valor de la propiedad @code{direction} especifica si el objeto se debe
+En alguna que otra ocasión como en el arpegio, el
+valor de la propiedad @code{direction} puede especificar si el objeto se debe
colocar a la izquierda o a la derecha del objeto padre. En este caso
@w{@code{-1}} ó @code{LEFT} significan @qq{a la izquierda} y @code{1}
ó @code{RIGHT} significan @qq{a la derecha}. @code{0} ó @code{CENTER}
-significan @qq{utilizar la dirección predeterminada}, como antes.
+significan @qq{utilizar la dirección predeterminada}.
Estas indicaciones afectan a todas las notas hasta que son canceladas.
c2( c)
@end lilypond
+En música polifónica, en general es mejor especificar una voz explícita
+que cambiar la dirección de un objeto. Para ver más información,
+véase @ref{Varias voces}.
+
+@seealso
+Manual de aprendizaje:
+@rlearning{Objetos interiores al pentagrama}.
+
+Referencia de la notación:
+@ref{Varias voces}.
+
@node Distancias y medidas
@subsection Distancias y medidas
en @code{staff-space}. Para ver una explicación y un ejemplo de su
utilización, consulte @rlearning{Longitud y grosor de los objetos}.
-
@seealso
Manual de aprendizaje:
@rlearning{Longitud y grosor de los objetos}.
Si se usa @code{\endSpanners} no es necesario cerrar \startTextSpan
con \stopTextSpan, ni cerrar los reguladores con @code{\!}.
-
@seealso
Referencia de funcionamiento interno:
@rinternals{TextSpanner},
a a a
@end lilypond
+
@node Hacer transparentes los objetos
@unnumberedsubsubsec Hacer transparentes los objetos
@translationof Making objects transparent
a a
@end lilypond
+
@node Pintar los objetos de blanco
@unnumberedsubsubsec Pintar los objetos de blanco
@translationof Painting objects white
a1
@end lilypond
+
@node Uso de break-visibility (visibilidad en el salto)
@unnumberedsubsubsec Uso de break-visibility (visibilidad en el salto)
@translationof Using break-visibility
los objetos de presentación serán visibles en las posiciones que se
muestran en el encabezamiento de cada columna:
-@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {yes} {yes} {yes}
+@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {Antes del} {Si no hay} {Después del}
@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 OctavateEight: véase más abajo
@end itemize
+
@node Consideraciones especiales
@unnumberedsubsubsec Consideraciones especiales
@translationof Special considerations
@code{explicitClefVisibility} controla tanto el símbolo de clave como
el símbolo de octava asociado.
-
@seealso
Manual de aprendizaje:
@rlearning{Visibilidad y color de los objetos}
g,,4\< e' d' f\!
@end lilypond
+
@node Rotación de elementos de marcado
@unnumberedsubsubsec Rotación de elementos de marcado
@translationof Rotating markup
fis^\markup { \rotate #30 "an F-Sharp" }
@end lilypond
+
@node Trucos avanzados
@section Trucos avanzados
@translationof Advanced tweaks
* Contenedores unpure-pure::
@end menu
-
@seealso
Manual de aprendizaje:
@rlearning{Trucar la salida},
@ref{Explicación del Manual de referencia de funcionamiento interno},
@ref{Modificar las propiedades}.
+Manual de extensión:
+@rextend{Interfaces para programadores}.
Archivos de inicio:
@file{scm/define-grobs.scm}.
Fragmentos de código:
@rlsr{Tweaks and overrides}.
-Extender:
-@rextend{Interfaces para programadores}.
-
Referencia de funcionamiento interno:
@rinternals{All layout objects}.
de ensayo sobre dichos objetos.
@seealso
-@ref{Uso del break-alignable-interface},
+Referencia de la notación:
+@ref{Uso del break-alignable-interface}.
+
+Manual de extensión:
@rextend{Funciones de callback}.
@menu
* Uso del break-alignable-interface::
@end menu
+
@node Establecer directamente X-offset e Y-offset
@unnumberedsubsubsec Establecer directamente @code{X-offset} y @code{Y-offset}
@translationof Setting X-offset and Y-offset directly
@c TODO write more
+
@node Uso del side-position-interface
@unnumberedsubsubsec Uso del @code{side-position-interface}
@translationof Using the side-position-interface
@c TODO Add examples
+
@node Uso del self-alignment-interface
@unnumberedsubsubsec Uso del @code{self-alignment-interface}
@translationof Using the self-alignment-interface
@c TODO Add inserting Postscript or ref to later
-
@seealso
Referencia de la notación:
@ref{Notación gráfica dentro de elementos de marcado},
* Modificación de ligaduras de unión y de expresión::
@end menu
+
@node Modificación de ligaduras de unión y de expresión
@unnumberedsubsubsec Modificación de ligaduras de unión y de expresión
@translationof Modifying ties and slurs
@cindex no-puros: contenedores de Scheme
@cindex horizontal, sobreescribir el espaciado
+
@node Contenedores unpure-pure
@subsection Contenedores unpure-pure
@translationof Unpure-pure containers
\new Voice \with { \remove "Stem_engraver" }
\relative c'' {
\squareLineCircleSpace
- cis4 ces cisis c
+ cis4 ces disis d
\smartSquareLineCircleSpace
- cis4 ces cisis c
+ cis4 ces disis d
}
@end lilypond
* Ejemplos de funciones de sustitución::
@end menu
+
@node Sintaxis de las funciones de sustitución
@subsection Sintaxis de las funciones de sustitución
@translationof Substitution function syntax
@item @code{@var{@dots{}música@dots{}}}
@tab código de entrada normal de LilyPond, que utiliza @code{$} (en los
lugares en que sólo se permiten construcciones de Lilypond) o @code{#}
-(para usarlo como un valor de Scheme o un argumento de función
-musical) para referenciar argumentos (p.ej. @samp{#arg1}).
+(para usarlo como un valor de Scheme o un argumento de función musical
+o música dentro de listas de música) para referenciar argumentos
+(p.ej. @samp{#arg1}).
@end multitable
Los argumentos @code{parser} y @code{location} son necesarios, y se
@ref{Predicados de tipo predefinidos}. También se permiten los
predicados de tipo definidos por el usuario.
-
@seealso
-
Referencia de la notación:
@ref{Predicados de tipo predefinidos}.
Además de números, podemos usar expresiones musicales, como notas,
para los argumentos de las funciones musicales:
-@c TODO: use a better example (the music argument is redundant).
-
@lilypond[quote,verbatim,ragged-right]
custosNote =
#(define-music-function
(parser location note)
(ly:music?)
#{
- \once \override Voice.NoteHead #'stencil =
- #ly:text-interface::print
- \once \override Voice.NoteHead #'text =
- \markup \musicglyph #"custodes.mensural.u0"
- \once \override Voice.Stem #'stencil = ##f
- $note
+ \tweak NoteHead #'stencil #ly:text-interface::print
+ \tweak NoteHead #'text
+ \markup \musicglyph #"custodes.mensural.u0"
+ \tweak Stem #'stencil ##f
+ #note
#})
\relative c' { c4 d e f \custosNote g }
tempoPadded =
#(define-music-function
(parser location padding tempotext)
- (number? string?)
+ (number? markup?)
#{
\once \override Score.MetronomeMark #'padding = #padding
\tempo \markup { \bold #tempotext }
\relative c'' {
\tempo \markup { "Low tempo" }
c4 d e f g1
- \tempoPadded #4.0 #"High tempo"
+ \tempoPadded #4.0 "High tempo"
g4 f e d c1
}
@end lilypond