From 508d1fc0394a22479af93954bd8c2add50b16bc1 Mon Sep 17 00:00:00 2001 From: Francisco Vila Date: Sun, 15 Jun 2008 16:35:46 +0200 Subject: [PATCH] partial update of text, fixes doc build --- Documentation/es/user/text.itely | 938 +++++++++++++------------------ 1 file changed, 396 insertions(+), 542 deletions(-) diff --git a/Documentation/es/user/text.itely b/Documentation/es/user/text.itely index 7182cbfb0f..87a5504930 100644 --- a/Documentation/es/user/text.itely +++ b/Documentation/es/user/text.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; -*- @ignore - Translation of GIT committish: 2c2b739a8f4c1998ffb6423d1d73350426ec59be + Translation of GIT committish: a00fb9828b12ac0c12e0aa18628e6cb6eb2dce2f When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -13,14 +13,20 @@ @lilypondfile[quote]{text-headword.ly} -Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las -partituras. +Esta sección explica cómo incluir texto (con diversos estilos de +formateo) en las partituras. -@cindex Texto, en otros idiomas -Para escribir texto con caracteres acentuados y especiales (como los de idiomas distintos del inglés), -sencillamente -inserte los caracteres directamente en el archivo de lilypond. El archivo se debe -guardar como UTF-8. Para ver más información, consulte @ref{Text encoding}. +@noindent +Ciertos elementos de texto de los que no nos ocupamos aquí se tratan +en otras secciones específicas: @ref{Vocal music}, @ref{Titles and +headers}. + +@cindex texto, en otros idiomas +@warning{Para escribir texto con caracteres acentuados y especiales +(como los de idiomas distintos del inglés), sencillamente inserte los +caracteres directamente en el archivo de LilyPond. El archivo se debe +guardar como UTF-8. Para ver más información, consulte @ref{Text +encoding}.} @menu * Writing text:: @@ -32,12 +38,14 @@ guardar como UTF-8. Para ver más información, consulte @ref{Text encoding}. @node Writing text @subsection Writing text +Esta sección presenta las distintas formas de añadir texto a una +partitura. + @menu -* Text scripts:: -* Text and line spanners:: -* Text spanners:: -* Text marks:: -* New dynamic marks:: +* Text scripts:: +* Text spanners:: +* Text marks:: +* Separate text:: @end menu @node Text scripts @@ -47,213 +55,102 @@ guardar como UTF-8. Para ver más información, consulte @ref{Text encoding}. @cindex texto, elementos no vacíos de @cindex no vacíos, textos -Es posible colocar cadenas de texto arbitrarias o @ref{Formatting text}, -encima o debajo de las notas utilizando una cadena @code{c^"texto"}. Por omisión, -estas indicaciones no influyen sobre el espaciado de las notas, pero si se utiliza la -instrucción @code{\textLengthOn}, las anchuras se tendrán en cuenta +Es posible añadir cadenas de texto arbitrarias a una partitura, como +se muestra en el ejemplo siguiente. Tales indicaciones se pueden +colocar también manulamente encima o debajo del pentagrama utilizando +la sintaxis simple que se describe en @ref{Direction and placement}. @lilypond[quote,fragment,ragged-right,verbatim,relative=1] -c4^"longtext" \textLengthOn c4_"longlongtext" c4 +d8^"pizz." e f g a4-"scherz." f @end lilypond -@noindent -Para evitar que el texto influya sobre el espaciado, utilice @code{\textLengthOff}. +En LilyPond, estas cadenas de texto se llaman objetos de +@command{markup} o de marcado. Esta sintaxis es en realidad una +abreviatura; se puede añadir explícitamente a una nota un formateado +de texto más complejo utilizando un bloque @code{\markup}, como se +describe bajo @ref{Formatting text}. -También se pueden añadir a una nota textos con un formato más complejo utilizando la -orden markup (marcado), - -@lilypond[fragment,ragged-right,verbatim,quote] -c'4^\markup { bla \bold bla } +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +d8^\markup { \italic pizz. } e f g +a4_\markup { \tiny scherz. \bold molto } f @end lilypond -La instrucción @code{\markup} se describe con más detalle en -@ref{Formatting text}. +De forma predeterminada, las indicaciones de texto no afectan al +espaciado de las notas. Sin embargo, su anchura sí podría tenerse en +cuenta: en el siguiente ejemplo, la primera cadena de texto no afecta +al espaciado, pero la segunda sí afecta. +@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +d8^"pizz." e f g \textLengthOn a4_"scherzando" f +@end lilypond @predefined @funindex \textLengthOn @code{\textLengthOn}, @funindex \textLengthOff -@code{\textLengthOff}. - - -@commonprop - -La comprobación (por parte del programa) que asegura que las inscripciones de texto y la letra se encuentran dentro de los márgenes, es -una tarea computacional relativamente grande. Para acelerar el procesado, lilypond de entrada no realiza -dichos cálculos; para habilitarlo, utilice - -@example -\override Score.PaperColumn #'keep-inside-line = ##t -@end example +@code{\textLengthOff} @seealso -En este manual: @ref{Formatting text}. +Referencia de la notación: +@ref{Formatting text}, +@ref{Direction and placement}. -Referencia del programa: @rinternals{TextScript}. +Fragmentos de código: +@rlsr{Text}. +Referencia de funcionamiento interno: +@rinternals{TextScript}. -@node Text and line spanners -@subsubsection Text and line spanners +@knownissues -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. +La comprobación necesaria para asegurar que las inscripciones de texto +y la letra de las canciones se mantienen dentro de los márgenes, es +una tarea computacional relativamente grande. Para acelerar el +procesado, LilyPond no realiza estos cálculos de forma predeterminada; +para habilitarlos, utilice -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. +@example +\override Score.PaperColumn #'keep-inside-line = ##t +@end example -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 +@node Text spanners +@subsubsection Text spanners -La información que determina los puntos extremos se calcula al vuelo -para cada objeto gráfico, pero es posible sobreescribirlos. +@cindex text spanners -@lilypond[relative=2,ragged-right,verbatim,fragment] -e2 \glissando f -\once \override Glissando #'bound-details #'right #'Y = #-2 -e2 \glissando f -@end lilypond +Ciertas indicaciones de ejecución, p.ej., @i{rallentando} o +@i{accelerando}, se escriben como texto y se extienden sobre muchos +compases mediante líneas de puntos. Estos objetos, que reciben el +nombre de @q{spanners} u objetos de extensión, se pueden crear dede +una nota hasta otra usando la siguiente sintaxis: -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}. - -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. - -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 - -@lilypond[relative=2,ragged-right,verbatim,fragment] -\override Glissando #'breakable = ##T -\override Glissando #'bound-details #'right-broken #'Y = #-3 -c1 \glissando \break -f1 +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +\override TextSpanner #'bound-details #'left #'text = "rit." +b1\startTextSpan +e,\stopTextSpan @end lilypond -Las siguientes propiedades se pueden usar para el ajuste fino de los objetos de extensión: - -@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. - -Para objetos de extensión horizontales, como el de texto y los trinos, tiene el valor -fijo de cero. - -@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 X -Es la coordenada absoluta del extremo final. Normalmente -se calcula al vuelo y no tiene mucho sentido sobreescribirlo. - -@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 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. +@noindent +La cadena de texto que imprimir se establece a través de propiedades +de objeto. De forma predeterminada se imprime en estilo cursiva, pero +se pueden conseguir distintos efectos de formato utilizando bloques +@code{\markup}, como se describe en @ref{Formatting text}. @lilypond[quote,ragged-right,fragment,relative=2,verbatim] -\override TextSpanner #'bound-details #'left #'text - = \markup { \small \bold Slower } -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 - -@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" -c4^\startTextSpan c c c \stopTextSpan -@end lilypond - -@item arrow (flecha) -El establecimiento de esta subpropiedad al valor de @code{#t} produce una cabeza de flecha al final 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. - -@end table - -@seealso - -Referencia del programa: @rinternals{TextSpanner}, -@rinternals{Glissando}, @rinternals{VoiceFollower}, -@rinternals{TrillSpanner}, @rinternals{line-spanner-interface}. - -Ejemplos: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly} - - -@node Text spanners -@subsubsection Text spanners - -@cindex Texto, objetos de extensión de - -Algunas indicaciones de interpretación, p.ej., @i{rallentando} o @i{accelerando}, -se escriben como texto y se extienden sobre varios compases con líneas de puntos. -Estos textos se crean mediante objetos de extensión; añada -@code{\startTextSpan} y @code{\stopTextSpan} a la primera y última -notas del intervalo abarcado por el objeto de extensión. - -La cadena de caracteres que se imprime, así como el estilo, se establecen a través de las -propiedades de objeto - -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -c1 -\textSpannerDown \override TextSpanner #'bound-details #'left #'text = - \markup { \upright "rall" } -c2\startTextSpan b c\stopTextSpan a -\break -\textSpannerUp -\override TextSpanner #'bound-details #'left #'text = - \markup { \italic "rit" } -c2\startTextSpan b c\stopTextSpan a + \markup { \upright "rit." } +b1\startTextSpan c +e,\stopTextSpan @end lilypond +El estilo de la línea, así como la cadena de texto, se pueden definir +como una propiedad de objeto. Esta sintaxis se describe en @ref{Line +styles}. + @predefined @funindex textSpannerUp @@ -261,21 +158,18 @@ c2\startTextSpan b c\stopTextSpan a @funindex textSpannerDown @code{\textSpannerDown}, @funindex textSpannerNeutral -@code{\textSpannerNeutral}. - +@code{\textSpannerNeutral} -@commonprop - -Para imprimir una línea continua, use - -@example -\override TextSpanner #'style = #'line -@end example +@seealso +Referencia de la notación: +@ref{Line styles}. -@seealso +Fragmentos de código: +@rlsr{Text}. -Referencia del programa: @rinternals{TextSpanner}. +Referencia de funcionamiento interno: +@rinternals{TextSpanner}. @node Text marks @@ -287,12 +181,19 @@ Referencia del programa: @rinternals{TextSpanner}. @cindex líneas divisorias, símbolos sobre las @funindex \mark -La instrucción @code{\mark} (llamada de ensayo) se usa principalmente para -@ref{Rehearsal marks}, -pero también se puede usar para poner símbolos como coda, -segno y calderón encima de una línea divisoria. Utilice @code{\markup} para -acceder al símbolo apropiado (los símbolos se encuentran relacionados en -@ref{The Feta font}). +Se pueden añadir a la partitura varios elementos de texto con la +sintaxis que se describe en @ref{Rehearsal marks}: + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +c4\mark "Allegro" c c c +@end lilypond + +Esta sintaxis posibilita colocar cualquier texto sobre la línea +divisoria; se pueden incorporar formatos más complejos para el texto +usando un bloque @code{\markup}, como está explicado en +@ref{Formatting text}. Esto se puede usar para imprimir letraros como +coda, segno o calderón, especificando el nombre del símbolo +correspondiente: @lilypond[fragment,quote,ragged-right,verbatim,relative=2] c1 \mark \markup { \musicglyph #"scripts.ufermata" } @@ -300,173 +201,135 @@ c1 @end lilypond @noindent -@code{\mark} se tipografía solamente sobre el pentagrama superior de la partitura. Si -especifica la instrucción @code{\mark} en una línea divisoria, la llamada resultante -se coloca encima de la barra. Si lo especifica en medio de un compás -la llamada resultante se coloca entre las notas. Si se especifica -antes del comienzo de una línea de la partitura, se coloca -antes de la primera nota de esta línea. Por último, si la marca se produce en un salto -de línea, se imprimirá al principio -de la línea siguiente. -@c IMO this is a bug; hopefully it'll be fixed soon, so I can -@c delete this sentence. -gp -Si no hay ninguna línea después de la actual, la llamada no se imprimirá en absoluto. +Estos objetos se tipografían solamente sobre el pentagrama superior de +la partitura; dependiendo de si están especificados al final o en +medio de un compás, se colocarán sobre la línea divisoria o entra las +notas. Si se especifican al principio de la partitura o en un salto +de línea, las llamadas se imprimen al principio de la línea (o de la +línea siguiente, en el caso de un salto de línea). +@lilypond[fragment,quote,ragged-right,verbatim,relative=2] +\mark "Allegro" c1 +c\mark "assai" \break +c c +@end lilypond -@commonprop -Para imprimir la llamada al final de la línea actual, utilice +@snippets -@example -\override Score.RehearsalMark - #'break-visibility = #begin-of-line-invisible -@end example +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +{printing-marks-at-the-end-of-a-line-or-a-score.ly} -Con frecuencia, @code{\mark} se utiliza para añadir texto al final de un compás. En tales -casos es muy útil cambiar el @code{#'self-alignment} +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +{aligning-marks-with-various-notation-objects.ly} -@lilypond[fragment,quote,ragged-right,verbatim,relative=2] -\override Score.RehearsalMark - #'break-visibility = #begin-of-line-invisible -c1 c c c4 c c c -\once \override Score.RehearsalMark #'self-alignment-X = #right -\mark "D.S. al Fine " -@end lilypond +@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +{printing-marks-on-every-staff.ly} -Las llamadas de texto se pueden alinear con otros objetos de notación además de las líneas -divisorias, +@seealso -@lilypond[fragment,quote,ragged-right,verbatim,relative=2] -\relative { - c1 - \key cis \major - \clef alto - \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) - \mark "on key" - cis - \key ces \major - \override Score.RehearsalMark #'break-align-symbols = #'(clef) - \clef treble - \mark "on clef" - ces - \override Score.RehearsalMark #'break-align-symbols = #'(time-signature) - \key d \minor - \clef tenor - \time 3/4 - \mark "on time" - c -} -@end lilypond +Referencia de la notación: +@ref{Rehearsal marks}, +@ref{Formatting text}, +@ref{The Feta font}. -Los símbolos posibles para la lista @code{break-align-symbols} 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}. +Fragmentos de código: +@rlsr{Text}. -Las llamadas de texto, por omisión se alinearán con el punto medio del objeto de notación, -pero esto se puede cambiar sobreescribiendo las propiedades -@code{break-align-anchor-alignment} y -@code{break-align-anchor} para el objeto gráfico apropiado. +Referencia de funcionamiento interno: +@rinternals{RehearsalMark}. -@c KEEP LY -@lilypond[fragment,quote,ragged-right,verbatim] -{ - \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) - c1 - \key cis \major - - % La llamada se alinea con el límite izquierdo de la armadura - \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT - \mark \default - cis1 - \key ces \major - - % La llamada se alinea con el límite derecho de la armadura - \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT - \mark \default - ces1 - \key cis \major - - % La llamada se alinea con el límite izquierdo de la armadura - % y después se desplaza 2 unidades hacia la derecha. - \once \override Staff.KeySignature #'break-align-anchor = #2 - \mark \default - ces1 -} -@end lilypond +@knownissues +@c IMO this is a bug; hopefully it'll be fixed soon, so I can +@c delete this sentence. -gp +@c A workaround is suggested in the first @snippets item -vv -Aunque normalmente las llamadas textuales se imprimen sólo encima del pentagrama superior, -podemos alterar este comportamiento para que se impriman sobre todos los pentagramas, +Si se introduce una llamada al final del último compás de la partitura +(donde no hay línea siguiente), la llamada no se imprime en absoluto. -@lilypond[quote,ragged-right,verbatim,relative=2] -{ - \new Score \with { - \remove "Mark_engraver" - } - << - \new Staff \with { - \consists "Mark_engraver" - } - { c''1 \mark "foo" c'' } - \new Staff \with { - \consists "Mark_engraver" - } - { c'1 \mark "foo" c' } - >> -} -@end lilypond +@node Separate text +@subsubsection Separate text +@cindex separate text +@cindex standalone text +@cindex top-level text +@cindex text, standalone +@funindex \markup -@seealso +Un bloque @code{\markup} puede existir de forma independiente, fuera +de cualquier bloque @code{\score}, como una @qq{expresión de nivel +superior}. Esta sintaxis se describe en @ref{File structure}. + +@lilypond[verbatim,quote] +\markup { + Tomorrow, and tomorrow, and tomorrow... +} +@end lilypond -Referencia del programa: @rinternals{RehearsalMark}. +@noindent +Esto hace posible imprimir texto separado de la música, lo que es +especialmente útil cuando el archivo de entrada contiene varias +piezas, tal y como se describe en @ref{Multiple scores in a book}. +@lilypond[quote,ragged-right,verbatim] +\score { + c'1 +} +\markup { + Tomorrow, and tomorrow, and tomorrow... +} +\score { + c'1 +} +@end lilypond -@node New dynamic marks -@subsubsection New dynamic marks +Usando una sintaxis específica, los bloques de texto se pueden +repartir entre varias páginas, posibilitando la impresión de +documentos de texto o libros (y por tanto para usar LilyPond como un +editor de textos). Esta sintaxis se describe en @ref{Multi-page +markup}. -Es posible imprimir nuevas indicaciones de dinámica o texto que debe ir alineado -con ellas. Utilice @code{make-dynamic-script} para crear estas -indicaciones. Tenga en cuenta que la tipografía de dinámica contiene solamente los caracteres -@code{f,m,p,r,s} y @code{z}. +@predefined -Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía -establecidas como fijas. Si estamos creando texto en estas situaciones, se recomienda -cancelar dichas propiedades con -@code{normal-text}. Consulte @ref{Text markup commands} para -ver más detalles. +@funindex \markup +@code{\markup}, +@funindex \markuplines +@code{\markuplines} -@cindex make-dynamic-script +@ignore +@snippets -@lilypond[quote,verbatim,ragged-right] -sfzp = #(make-dynamic-script "sfzp") -\relative c' { - c4 c c\sfzp c -} -@end lilypond +TODO: add convenient snippets in input/new -vv +@end ignore -@cindex dinámica, indicaciones, editoriales -@cindex dinámica, indicaciones, paréntesis +@seealso -También es posible imprimir las indicaciones de dinámica entre paréntesis redondos o entre corchetes rectos. -Éstos se usan con frecuencia para añadir indicaciones de dinámica editoriales. +Referencia de la notación: +@ref{Formatting text}, +@ref{File structure}, +@ref{Multiple scores in a book}, +@ref{Multi-page markup}. -@lilypond[quote,verbatim,ragged-right] -rndf = \markup{ \center-align {\line { \bold{\italic (} - \dynamic f \bold{\italic )} }} } -boxf = \markup{ \bracket { \dynamic f } } -{ c'1_\rndf c'1_\boxf } -@end lilypond +Fragmentos de código: +@rlsr{Text}. +Referencia de funcionamiento interno: +@rinternals{TextScript}. @node Formatting text @subsection Formatting text +Esta sección presenta los formateados básico y avanzado de texto, +usando la sintaxis específica del modo de @code{\markup}. + @menu * Text markup introduction:: -* Nested scores:: -* Page wrapping text:: +* Common markup commands:: +* Text alignment:: +* Graphic notation inside markup:: +* Music notation inside markup:: +* Multi-page markup:: @end menu @node Text markup introduction @@ -477,73 +340,56 @@ boxf = \markup{ \bracket { \dynamic f } } @cindex marcado de texto @cindex tipografiar texto -Utilice @code{\markup} para tipografiar texto. Las instrucciones se escriben con la barra -invertida @code{\}. Para escribir @code{\} and @code{#}, utilice -comillas dobles. +Se usa un bloque @code{\markup} para tipografiar texto con una +sintaxis ampliable específica que se denomina @qq{modo de marcado}. -@lilypond[quote,verbatim,fragment,relative=1] -c1^\markup { hello } -c1_\markup { hi there } -c1^\markup { hi \bold there, is \italic {anyone home?} } -c1_\markup { "\special {weird} #characters" } -@end lilypond +@cindex marcado, expresiones de +@cindex marcado, sintaxis -@noindent -Consulte @ref{Text markup commands}, para ver una lista de todas las -instrucciones. +La sintaxis del marcado es similar a la sintaxis usual de LilyPond: +una expresión @code{\markup} se encierra entre llaves +@code{@{ @dots{} @}}. -@code{\markup} se usa principalmente para indicaciones del tipo @rinternals{TextScript}, -pero también se pueden usar en cualquier lugar donde se requiere texto en lilypond - -@lilypond[quote,verbatim] -\header{ title = \markup{ \bold { foo \italic { bar! } } } } -\score{ - \relative c'' { - \override Score.RehearsalMark - #'break-visibility = #begin-of-line-invisible - \override Score.RehearsalMark #'self-alignment-X = #right - - \set Staff.instrumentName = \markup{ \column{ Alto solo } } - c2^\markup{ don't be \flat } - \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit } - b2\startTextSpan - a2\mark \markup{ \large \bold Fine } - r2\stopTextSpan - \bar "||" - } - \addlyrics { bar, foo \markup{ \italic bar! } } -} -@end lilypond +En el modo de marcado, las instrucciones específicas se introducen +mediante la barra invertida @code{\}. Estas instrucciones sólo +afectan a la primera expresión que venga a continuación. -Una orden @code{\markup} también se puede poner por sí misma, fuera de cualquier bloque -@code{\score}, véase @ref{Multiple scores in a book}. +Las expresiones de marcado también se pueden encerrar entre comillas +@code{"..."}. Estas expresiones se escriben como cadenas de texto y no +pueden contener expresiones anidadas ni otras instrucciones. Por +tanto, generalmente se prefieren las llaves a las comillas; el ejemplo +siguiente muestra las dos sintaxis. -@lilypond[quote,ragged-right,verbatim] -\markup{ Here is some text. } +@lilypond[quote,verbatim,fragment,relative=1] +e1-\markup "intenso" +a2^\markup { poco \italic più forte } +c e1 +d2_\markup { \italic "string. assai" } +e +b1^\markup { \bold { molto \italic agitato } } +c @end lilypond -@cindex cambio de tipografía +@cindex caracteres especiales en modo de marcado +@cindex marcado, caracteres especiales en modo de +@cindex reservados, impresión de caracteres +@cindex impresión de caracteres especiales -El elemento de marcado en el ejemplo presenta un ejemplo de las instrucciones de cambio de tipografía. Las órdenes -@code{\bold} e @code{\italic} se aplican sólo a la siguiente palabra; -para aplicar una orden a más de una palabra, encierre las palabras -entre llaves, - -@example -\markup @{ \bold @{ buenos días @} @} -@end example +Los caracteres especiales como @code{\} y @code{#} se pueden imprimir +fácilmente utilizando comillas. Las propias comillas sólo se imprimen +cuando se preceden por una barra invertida: -@noindent -Para mayor claridad, también puede hacerlo para argumentos de una sola palabra, p.ej. - -@example -\markup @{ ¿hay \italic @{ alguien @} ahí? @} -@end example +@lilypond[quote,verbatim,fragment,relative=1] +\clef bass +a^\markup "##\ LEPORELLO \##" +a_\markup "Bravi! \"Cosa rara\"!" +r a8 d +cis a r4 r2 +@end lilypond -En el modo de marcado puede componer expresiones, similares a las expresiones -matemáticas, documentos XML y expresiones musicales. Podemos apilar -las expresiones en grupos verticales con la instrucción @code{\column}. -De forma similar, @code{\center-align} alinea textos por sus líneas medias: +La forma en que están definidas las expresiones de marcado afectan a +la manera en que se apilan, se centran o se alinean al usar las +instrucciones descritas en @ref{Text alignment}. @lilypond[quote,verbatim,fragment,relative=1] c1^\markup { \column { a bbbb \line { c d } } } @@ -551,109 +397,90 @@ c1^\markup { \center-align { a bbbb c } } c1^\markup { \line { a b c } } @end lilypond -Las listas sin una instrucción previa no se mantienen separadas. La expresión +No se conservan como independientes aquellas listas de palabras que no +estén encerradas entre comillas o precedidas de una instrucción +previa. En el ejemplo siguiente, las dos primeras expresiones +@code{\markup} son equivalentes: -@example -\center-align @{ @{ a b @} @{ c d @} @} -@end example +@lilypond[quote,verbatim,fragment,relative=1] +c1^\markup { \center-align { a bbb c } } +c1^\markup { \center-align { a { bbb c } } } +c1^\markup { \center-align { a \line { bbb c } } } +@end lilypond -@noindent -equivale a +Los marcados se pueden almacenar dentro de variables. Estas variables +se pueden adjuntar directamente a las notas: -@example -\center-align @{ a b c d @} -@end example +@lilypond[quote,verbatim] +allegro = \markup { \bold \large Allegro } -@noindent +{ + d''8.^\allegro + d'16 d'4 r2 +} +@end lilypond -Para dejar separadas las listas de palabras, podemos utilizar comillas @code{"} o la -orden @code{\line} -@lilypond[quote,verbatim,fragment,relative=1] -\textLengthOn -c4^\markup{ \center-align { on three lines } } -c4^\markup{ \center-align { "all one line" } } -c4^\markup{ \center-align { { on three lines } } } -c4^\markup{ \center-align { \line { on one line } } } -@end lilypond +@noindent +Se puede encontrar una lista exhaustiva de las instrucciones +específicas de @code{\markup} en @ref{Text markup commands}. -Los elementos de marcado se pueden almacenar dentro de variables, y estas variables se pueden adjuntar a notas, -como en -@example -allegro = \markup @{ \bold \large @{ Allegro @} @} - @{ a^\allegro b c d @} -@end example -Ciertos objetos tienen procedimientos de alineación propios, que cancelan -cualquier efecto de las alineaciones aplicadas a sus argumentos de marcado en su conjunto. -Por ejemplo la @rinternals{RehearsalMark} se centra -horizontalmente, por lo que usar @code{\mark \markup @{ \left-align .. @}} no tiene -ningún efecto. +@seealso -Además, la colocación vertical se realiza después de crear el objeto -de marcado de texto. Si queremos mover un elemento de marcado completo, -tenemos que usar la propiedad de relleno #'padding o crear un punto de @q{anclaje} -dentro del elemento de marcado (generalmente con @code{\hspace #0}). +En este manual: +@ref{Text markup commands}. -@lilypond[quote,verbatim,fragment,relative=1] -\textLengthOn -c'4^\markup{ \raise #5 "not raised" } -\once \override TextScript #'padding = #3 -c'4^\markup{ raised } -c'4^\markup{ \hspace #0 \raise #1.5 raised } -@end lilypond +Fragmentos de código: +@rlsr{Text}. -Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía -preestablecidas. Si está creando texto en tales situaciones, recomendamos -cancelar dichas propiedades con -@code{normal-text}. Consulte @ref{Text markup commands} -para ver más detalles. +Referencia de funcionamiento interno: +@rinternals{TextScript}. +Archivos de inicio: +@file{scm/@/new@/-markup@/.scm}. -@seealso -En el presente manual: @ref{Text markup commands}. +@knownissues -Referencia del programa: @rinternals{TextScript}. +@c FIXME: this is totally deprecated, isn't it? -vv +@c Kerning or generation of ligatures is only done when the @TeX{} +@c backend is used. In this case, LilyPond does not account for them +@c so texts will be spaced slightly too wide. -Archivos de inicio: @file{scm/@/new@/-markup@/.scm}. +@c is the following sentence really relevant? -vv +Los errores de sintaxis para el modo de marcado a menudo producen +confusión. -@knownissues +@node Common markup commands +@subsubsection Common markup commands -El «kerning» y la generación de ligaduras de texto se hacen sólo cuando se usa el «backend» o fundamento de @TeX{}. -En este caso, LilyPond no se encarga de ellos y así los textos -quedarán espaciados ligeramente más separados. +UNTRANSLATED NODE: IGNORE ME -Los errores de sintaxis para el modo de marcado son confusos. +@node Text alignment +@subsubsection Text alignment +UNTRANSLATED NODE: IGNORE ME -@node Nested scores -@subsubsection Nested scores +@node Graphic notation inside markup +@subsubsection Graphic notation inside markup -Es posible anidar música dentro de los elementos de marcado, añadiendo un bloque @code{\score} -a una expresión de marcado. Dicha partitura debe contener un bloque -@code{\layout}. +UNTRANSLATED NODE: IGNORE ME -@lilypond[quote,verbatim,ragged-right] -\relative { - c4 d^\markup { - \score { - \relative { c4 d e f } - \layout { } - } - } - e f -} -@end lilypond +@node Music notation inside markup +@subsubsection Music notation inside markup + +UNTRANSLATED NODE: IGNORE ME -@node Page wrapping text -@subsubsection Page wrapping text +@node Multi-page markup +@subsubsection Multi-page markup -Dondequiera que se utilice @code{\markup} para escribir un bloque de texto que no se deba dividir, -se puede usar @code{\markuplines} en el nivel superior del código para introducir líneas de texto -que se pueden extender sobre varias páginas: +Así como @code{\markup} se utiliza para introducir un bloque de texto +no divisible en líneas, se puede usar @code{\markuplines} en el nivel +más alto del código para introducir líneas de texto que pueden abarcar +varias páginas: @verbatim \markuplines { @@ -669,66 +496,121 @@ que se pueden extender sobre varias páginas: } @end verbatim -@code{\markuplines} admite una lista de elementos de marcado, ya sea el resultado de -una instrucción de lista de marcado, o una lista de elementos o listas de elementos. Las -instrucciones incorporadas de lista de elementos de marcado se describen en -@ref{Text markup list commands}. +@code{\markuplines} acepta una lista de marcado, esto es: o bien el +resultado de una instrucción de lista de marcado, o bien una lista de +elementos de marcado o de listas de marcado. Las instrucciones de +lista de marcad predefinidas se explican en @ref{Text markup list +commands}. @seealso -En este manual: @ref{Text markup list commands}, +En este manual: +@ref{Text markup list commands}, @ref{New markup list command definition}. +Fragmentos de código: +@rlsr{Text}. + @predefined @funindex \markuplines @code{\markuplines} + +@c TODO: move the following subsubsec into NR3 -vv +@c maybe. -gp @node Fonts @subsection Fonts -@cindex fuente tipográfica, selección de la -@cindex fuente tipográfica, ampliación +@menu +* Entire document fonts:: +* Single entry fonts:: +@end menu + +@node Entire document fonts +@subsubsection Entire document fonts + +También es posible cambiar la familia predeterminada de la fuente +tipográfica para todo el documento. Se hace llamando a la función +@code{make-pango-font-tree} desde dentro del bloque @code{\paper}. +Esta función toma los nombres de las familias de fuente que se quieren +usar para el texto en tipo romano, sans-serif y monoespaciado. Por +ejemplo: + +@cindex fuente, establecer la familia de +@cindex Pango + + +@lilypond[verbatim] +\paper { + myStaffSize = #20 + + #(define fonts + (make-pango-font-tree "Times New Roman" + "Nimbus Sans" + "Luxi Mono" + (/ myStaffSize 20))) +} + +{ + c'^\markup { roman: foo \sans bla \typewriter bar } +} +@end lilypond + +@c we don't do Helvetica / Courier, since GS incorrectly loads +@c Apple TTF fonts + + +@node Single entry fonts +@subsubsection Single entry fonts + +@cindex fuente, selección +@cindex fuente, ampliación @funindex font-interface -Estableciendo las propiedades de objetos que se describen más abajo, puede seleccionar -una fuente tipográfica de entre las familias tipográficas preconfiguradas. LilyPond contempla por defecto -la tipografía musical feta. Las tipografías del texto se seleccionan a través de -Pango/FontConfig. La fuente tipográfica con serifa por defecto es New Century Schoolbook, -las tipografías sans y tipo máquina de escribir son por defecto las que correspondan a la instalación -de Pango. +Mediante el ajusta de las propiedades de objeto descritas a +continuación, podemos elegir una fuente de entre las familias +preconfiguradas. LilyPond contempla de forma predeterminada las +fuentes de música «Feta». Las fuentes del texto se eligen a través de +Pango/FontConfig. La fuente de tipo serif predeterminada es New +Century Schoolbook, y las fuentes de tipo sans y máquina de escribir a +lo que tenga por predeterminado la instalación de Pango. -@itemize @bullet +@itemize @item @code{font-encoding} -es un símbolo que establece la disposición de los glifos. Se debe ajustar solamente para -seleccionar distintos tipos de tipografías no textuales, p.ej.: +es un símbolo que establece la presentación de los glifos. Sólo se +debería ajustar para seleccionar distintos tipos de fuente que no sean +para texto, p. ej.: -@code{fetaBraces} para las llaves de sistemas de piano, @code{fetaMusic} la -tipografía estándar de música, incluyendo los glifos de la música antigua, @code{fetaDynamic} para -indicaciones dinámicas y @code{fetaNumber} para la tipografía de números. +@code{fetaBraces} para las llaves de los pentagramas de piano, +@code{fetaMusic} es la fuente estándar para música, incluidos los +glifos de la música antigua, @code{fetaDynamic} para los matices +dinámicos y @code{fetaNumber} para los números. @item @code{font-family} -es un símbolo que indica la clase general de la tipografía. Están contemplados -@code{roman} (Computer Modern), @code{sans} y @code{typewriter} (monoespaciado). +es un símbolo que indica la clase general del tipo. Están +contempladas @code{roman} (Computer Modern), @code{sans} y +@code{typewriter}. @item @code{font-shape} -es un símbolo que indica la forma de la tipografía. Normalmente están disponibles varias -formas de tipografía para cada familia. Se puede elegir entre -@code{italic} (cursiva), @code{caps} (versalitas) y @code{upright} (recta). +es un símbolo que indica la forma de la fuente. Están disponibles +normalmente varias formas de tipografía para cada una de las familas +de fuente. se puede elegir entre @code{italic} (cursiva), @code{caps} +(versalitas) y @code{upright} (recta). @item @code{font-series} -es un símbolo que indica la serie de la tipografía. Normalmente cada familia y forma de -tipografía tiene varias series. Se puede elegir entre -@code{medium} (normal) y @code{bold} (negrita). +es un símbolo que indica la serie de la tipografía. En general +existen varias series de fuente para cada familia y forma de una +tipografía. Se puede elegir entre @code{medium} (normal) y +@code{bold} (negrita). @end itemize -Las tipografías seleccionadas de la forma que se acaba de esquematizar, vienen con una hoja de estilos predefinida. -Si quiere usar una tipografía desde fuera de la hoja de estilos, -ajuste la propiedad -@code{font-name}, +Las fuentes que se eligen de esta manera provienen de una hoja de +estilos predefinida. Si quiere usar una tipografía de fuera de la +hoja de estilos establezca el valor de la propiedad @code{font-name}: @lilypond[fragment,verbatim] { @@ -743,56 +625,28 @@ ajuste la propiedad @end lilypond @noindent -Se puede usar cualquier tipografía en la medida en que esté disponible por parte de Pango/FontConfig. -Para conseguir una lista completa de todas las tipografías que están disponibles, ejecute la orden +Se puede usar cualquier fuente, en la medida en que esté disponible +para Pango/FontConfig. Para obtener una lista completa de todas las +fuentes dispoonibles, ejecute la instrucción + @example lilypond -dshow-available-fonts blabla @end example -(el último argumento de la instrucción puede ser cualquier cosa, pero debe estar presente). - -El tamaño de la tipografía se puede establecer con la propiedad @code{font-size}. -El tamaño resultante se toma como relativo al tamaño -@code{text-font-size} tal y como está definido en el bloque @code{\paper}. +(el último argumento puede ser blabla o cualquier otra cosa, pero debe +estar presente). -@cindex fuente tipográfica, tamaño de la -@cindex fuente tipográfica, aumento - - -También es posible cambiar la familia por defecto de la tipografía para todo el -documento. Esto se hace llamando al árbol @code{make-pango-font-tree} desde -dentro del bloque @code{\paper}. La función toma los nombres de las familias tipográficas -que se deseen utilizar para el texto en estilo roman, sans serif y monoespaciado. Por -ejemplo, - - -@cindex fuentes tipográficas, establecer la familia de las -@cindex Pango - - -@lilypond[verbatim] -\paper { - myStaffSize = #20 - - #(define fonts - (make-pango-font-tree "Times New Roman" - "Nimbus Sans" - "Luxi Mono" - (/ myStaffSize 20))) -} - -{ - c'^\markup { roman: foo \sans bla \typewriter bar } -} -@end lilypond - -@c we don't do Helvetica / Courier, since GS incorrectly loads -@c Apple TTF fonts +El tamaño de la fuente se puede ajustar con la propiedad +@code{font-size}. El tamaño que resulta se considera en relación al +tamaño @code{text-font-size} tal y como está definido en el bloque +@code{\paper}. +@cindex fuente, tamaño de +@cindex fuente, ampliación de la @seealso -Ejemplos: @lsr{text,font@/-family@/-override.ly}. - +Fragmentos de código: +@rlsr{Text}. -- 2.39.2