1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: 2c2b739a8f4c1998ffb6423d1d73350426ec59be
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
14 Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las
17 @cindex Texto, en otros idiomas
18 Para escribir texto con caracteres acentuados y especiales (como los de idiomas distintos del inglés),
20 inserte los caracteres directamente en el archivo de lilypond. El archivo se debe
21 guardar como UTF-8. Para ver más información, consulte @ref{Text encoding}.
23 @lilypond[fragment,ragged-right,staffsize=16,quote]
24 c'4^\markup { bla \bold bla }
27 @lilypond[fragment,ragged-right,staffsize=16,quote]
28 c'4^\markup { bla \bold bla }
31 @lilypond[fragment,ragged-right,staffsize=16,quote]
32 c'4^\markup { bla \bold bla }
35 @lilypond[fragment,ragged-right,staffsize=16,quote]
36 c'4^\markup { bla \bold bla }
46 @subsection Writing text
50 * Text and line spanners::
57 @subsubsection Text scripts
59 @cindex Texto, inscripciones de
60 @cindex texto, elementos no vacíos de
61 @cindex no vacíos, textos
63 Es posible colocar cadenas de texto arbitrarias o @ref{Text markup},
64 encima o debajo de las notas utilizando una cadena @code{c^"texto"}. Por omisión,
65 estas indicaciones no influyen sobre el espaciado de las notas, pero si se utiliza la
66 instrucción @code{\textLengthOn}, las anchuras se tendrán en cuenta
68 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
69 c4^"longtext" \textLengthOn c4_"longlongtext" c4
73 Para evitar que el texto influya sobre el espaciado, utilice @code{\textLengthOff}.
75 También se pueden añadir a una nota textos con un formato más complejo utilizando la
76 orden markup (marcado),
78 @lilypond[fragment,ragged-right,verbatim,quote]
79 c'4^\markup { bla \bold bla }
82 La instrucción @code{\markup} se describe con más detalle en
88 @funindex \textLengthOn
90 @funindex \textLengthOff
91 @code{\textLengthOff}.
96 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
97 una tarea computacional relativamente grande. Para acelerar el procesado, lilypond de entrada no realiza
98 dichos cálculos; para habilitarlo, utilice
101 \override Score.PaperColumn #'keep-inside-line = ##t
107 En este manual: @ref{Text markup}.
109 Referencia del programa: @rinternals{TextScript}.
112 @node Text and line spanners
113 @subsubsection Text and line spanners
115 Ciertas indicaciones de ejecución, p.ej., @i{rallentando},
116 @i{accelerando} y los @i{trinos} se escriben como texto y se extienden
117 sobre muchos compases mediante líneas, a veces punteadas u onduladas.
119 Todos ellos usan las mismas rutinas que el glissando para dibujar los textos y las líneas,
120 y por ello el ajuste fino de su comportamiento se hace de la
121 misma manera. Se hace con un spanner (un objeto de extensión), y la rutina responsable
122 de dibujar los objetos de extensión es @code{ly:line-interface::print}. Esta
123 rutina determina la colocación exacta de los dos @i{extremos del
124 objeto de extensión} y dibuja una línea entre ellos, en el estilo solicitado.
126 He aquí un ejemplo de los distintos estilos de línea disponibles, y cómo
127 aplicarles ajustes finos.
129 @lilypond[relative=2,ragged-right,verbatim,fragment]
131 \once \override Glissando #'style = #'dashed-line
133 \override Glissando #'style = #'dotted-line
135 \override Glissando #'style = #'zigzag
137 \override Glissando #'style = #'trill
141 La información que determina los puntos extremos se calcula al vuelo
142 para cada objeto gráfico, pero es posible sobreescribirlos.
144 @lilypond[relative=2,ragged-right,verbatim,fragment]
146 \once \override Glissando #'bound-details #'right #'Y = #-2
150 El objeto @code{Glissando}, como cualquier otro que use la rutina
151 @code{ly:line-interface::print}, conlleva una lista asociativa
152 anidada. En la instrucción anterior, el valor de @code{Y}
153 se establece a @code{-2} para la lista asociativa correspondiente al extremo final de la
154 derecha. Por supuesto, también es posible ajustar el extremo de la izquierda con
155 @code{left} en vez de @code{right}.
157 Si no se establece el valor de @code{Y}, se calcula a partir de la posición
158 vertical del punto de anclaje derecho del objeto de extensión.
160 En el caso de un salto de línea, los valores de los puntos extremos se extienden
161 con los contenidos de las sublistas @code{left-broken} y @code{right-broken},
164 @lilypond[relative=2,ragged-right,verbatim,fragment]
165 \override Glissando #'breakable = ##T
166 \override Glissando #'bound-details #'right-broken #'Y = #-3
171 Las siguientes propiedades se pueden usar para el ajuste fino de los objetos de extensión:
175 Establece la coordenada Y del punto extremo, en espacios de pentagrama. Por
176 omisión, es el centro del objeto con que enlaza. Así, para un glissando
177 apuntaría al centro vertical de la cabeza de la nota.
179 Para objetos de extensión horizontales, como el de texto y los trinos, tiene el valor
183 Determina el lugar donde la línea comienza y acaba en la dirección X,
184 relativo al objeto al que se enlaza. Así, un valor de @code{-1} (o
185 @code{LEFT}) hace que la línea comience o acabe en el lado izquierdo de la cabeza de la nota
186 a la que el objeto se encuentra adjuntado.
189 Es la coordenada absoluta del extremo final. Normalmente
190 se calcula al vuelo y no tiene mucho sentido sobreescribirlo.
193 Los objetos extensores de línea pueden tener símbolos al principio o al final, que se encuentra contenido
194 dentro de esta subpropiedad. Es para uso interno y se recomienda
198 Es un elemento de marcado que se evalúa para generar la propiedad stencil anterior. Se usa
199 para poner @i{cresc.} y @i{tr} sobre los objetos de extensión horizontales.
201 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
202 \override TextSpanner #'bound-details #'left #'text
203 = \markup { \small \bold Slower }
204 c2\startTextSpan b c a\stopTextSpan
207 @item stencil-align-dir-y
209 Sin un valor establecido para esto, el stencil se coloca simplemente sobre el extremo del final,
210 tal y como se encuentra definido por las subpropiedades @code{X} e @code{Y}.
211 La asignación de un valor para @code{stencil-align-dir-y} o para @code{stencil-offset}
212 desplaza el símbolo del extremo de forma relativa al extremo de la línea
214 @lilypond[relative=1,fragment,verbatim]
215 \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN
216 \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP
218 \override TextSpanner #'bound-details #'left #'text = #"gggg"
219 \override TextSpanner #'bound-details #'right #'text = #"hhhh"
220 c4^\startTextSpan c c c \stopTextSpan
224 El establecimiento de esta subpropiedad al valor de @code{#t} produce una cabeza de flecha al final de la
227 @item padding (relleno)
228 Esta subpropiedad controla el espacio entre el punto extremo de la línea especificado
229 y el extremo real. Sin relleno, un glissando empezaría
230 y acabaría en el centro de las cabezas de las notas.
236 Referencia del programa: @rinternals{TextSpanner},
237 @rinternals{Glissando}, @rinternals{VoiceFollower},
238 @rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
240 Ejemplos: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
244 @subsubsection Text spanners
246 @cindex Texto, objetos de extensión de
248 Algunas indicaciones de interpretación, p.ej., @i{rallentando} o @i{accelerando},
249 se escriben como texto y se extienden sobre varios compases con líneas de puntos.
250 Estos textos se crean mediante objetos de extensión; añada
251 @code{\startTextSpan} y @code{\stopTextSpan} a la primera y última
252 notas del intervalo abarcado por el objeto de extensión.
254 La cadena de caracteres que se imprime, así como el estilo, se establecen a través de las
255 propiedades de objeto
257 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
260 \override TextSpanner #'bound-details #'left #'text =
261 \markup { \upright "rall" }
262 c2\startTextSpan b c\stopTextSpan a
265 \override TextSpanner #'bound-details #'left #'text =
266 \markup { \italic "rit" }
267 c2\startTextSpan b c\stopTextSpan a
272 @funindex textSpannerUp
273 @code{\textSpannerUp},
274 @funindex textSpannerDown
275 @code{\textSpannerDown},
276 @funindex textSpannerNeutral
277 @code{\textSpannerNeutral}.
282 Para imprimir una línea continua, use
285 \override TextSpanner #'style = #'line
291 Referencia del programa: @rinternals{TextSpanner}.
295 @subsubsection Text marks
297 @cindex coda sobre la línea divisoria
298 @cindex segno sobre la línea divisoria
299 @cindex calderón sobre la línea divisoria
300 @cindex líneas divisorias, símbolos sobre las
303 La instrucción @code{\mark} (llamada de ensayo) se usa principalmente para
304 @ref{Rehearsal marks},
305 pero también se puede usar para poner símbolos como coda,
306 segno y calderón encima de una línea divisoria. Utilice @code{\markup} para
307 acceder al símbolo apropiado (los símbolos se encuentran relacionados en
308 @ref{The Feta font}).
310 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
311 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
316 @code{\mark} se tipografía solamente sobre el pentagrama superior de la partitura. Si
317 especifica la instrucción @code{\mark} en una línea divisoria, la llamada resultante
318 se coloca encima de la barra. Si lo especifica en medio de un compás
319 la llamada resultante se coloca entre las notas. Si se especifica
320 antes del comienzo de una línea de la partitura, se coloca
321 antes de la primera nota de esta línea. Por último, si la marca se produce en un salto
322 de línea, se imprimirá al principio
323 de la línea siguiente.
324 @c IMO this is a bug; hopefully it'll be fixed soon, so I can
325 @c delete this sentence. -gp
326 Si no hay ninguna línea después de la actual, la llamada no se imprimirá en absoluto.
331 Para imprimir la llamada al final de la línea actual, utilice
334 \override Score.RehearsalMark
335 #'break-visibility = #begin-of-line-invisible
338 Con frecuencia, @code{\mark} se utiliza para añadir texto al final de un compás. En tales
339 casos es muy útil cambiar el @code{#'self-alignment}
341 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
342 \override Score.RehearsalMark
343 #'break-visibility = #begin-of-line-invisible
345 \once \override Score.RehearsalMark #'self-alignment-X = #right
346 \mark "D.S. al Fine "
349 Las llamadas de texto se pueden alinear con otros objetos de notación además de las líneas
352 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
357 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
361 \override Score.RehearsalMark #'break-align-symbols = #'(clef)
365 \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
374 Los símbolos posibles para la lista @code{break-align-symbols} son
375 @code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
376 @code{staff-bar}, @code{left-edge}, @code{key-cancellation},
377 @code{key-signature} y @code{time-signature}.
379 Las llamadas de texto, por omisión se alinearán con el punto medio del objeto de notación,
380 pero esto se puede cambiar sobreescribiendo las propiedades
381 @code{break-align-anchor-alignment} y
382 @code{break-align-anchor} para el objeto gráfico apropiado.
385 @lilypond[fragment,quote,ragged-right,verbatim]
387 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
391 % La llamada se alinea con el límite izquierdo de la armadura
392 \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
397 % La llamada se alinea con el límite derecho de la armadura
398 \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
403 % La llamada se alinea con el límite izquierdo de la armadura
404 % y después se desplaza 2 unidades hacia la derecha.
405 \once \override Staff.KeySignature #'break-align-anchor = #2
411 Aunque normalmente las llamadas textuales se imprimen sólo encima del pentagrama superior,
412 podemos alterar este comportamiento para que se impriman sobre todos los pentagramas,
414 @lilypond[quote,ragged-right,verbatim,relative=2]
417 \remove "Mark_engraver"
421 \consists "Mark_engraver"
423 { c''1 \mark "foo" c'' }
425 \consists "Mark_engraver"
427 { c'1 \mark "foo" c' }
435 Referencia del programa: @rinternals{RehearsalMark}.
438 @node New dynamic marks
439 @subsubsection New dynamic marks
441 Es posible imprimir nuevas indicaciones de dinámica o texto que debe ir alineado
442 con ellas. Utilice @code{make-dynamic-script} para crear estas
443 indicaciones. Tenga en cuenta que la tipografía de dinámica contiene solamente los caracteres
444 @code{f,m,p,r,s} y @code{z}.
446 Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía
447 establecidas como fijas. Si estamos creando texto en estas situaciones, se recomienda
448 cancelar dichas propiedades con
449 @code{normal-text}. Consulte @ref{Text markup commands} para
452 @cindex make-dynamic-script
454 @lilypond[quote,verbatim,ragged-right]
455 sfzp = #(make-dynamic-script "sfzp")
461 @cindex dinámica, indicaciones, editoriales
462 @cindex dinámica, indicaciones, paréntesis
464 También es posible imprimir las indicaciones de dinámica entre paréntesis redondos o entre corchetes rectos.
465 Éstos se usan con frecuencia para añadir indicaciones de dinámica editoriales.
467 @lilypond[quote,verbatim,ragged-right]
468 rndf = \markup{ \center-align {\line { \bold{\italic (}
469 \dynamic f \bold{\italic )} }} }
470 boxf = \markup{ \bracket { \dynamic f } }
471 { c'1_\rndf c'1_\boxf }
477 @subsection Text markup
480 * Text markup introduction::
482 * Page wrapping text::
486 @node Text markup introduction
487 @subsubsection Text markup introduction
490 @cindex texto, marcado de
491 @cindex marcado de texto
492 @cindex tipografiar texto
494 Utilice @code{\markup} para tipografiar texto. Las instrucciones se escriben con la barra
495 invertida @code{\}. Para escribir @code{\} and @code{#}, utilice
498 @lilypond[quote,verbatim,fragment,relative=1]
500 c1_\markup { hi there }
501 c1^\markup { hi \bold there, is \italic {anyone home?} }
502 c1_\markup { "\special {weird} #characters" }
506 Consulte @ref{Text markup commands}, para ver una lista de todas las
509 @code{\markup} se usa principalmente para indicaciones del tipo @rinternals{TextScript},
510 pero también se pueden usar en cualquier lugar donde se requiere texto en lilypond
512 @lilypond[quote,verbatim]
513 \header{ title = \markup{ \bold { foo \italic { bar! } } } }
516 \override Score.RehearsalMark
517 #'break-visibility = #begin-of-line-invisible
518 \override Score.RehearsalMark #'self-alignment-X = #right
520 \set Staff.instrumentName = \markup{ \column{ Alto solo } }
521 c2^\markup{ don't be \flat }
522 \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
524 a2\mark \markup{ \large \bold Fine }
528 \addlyrics { bar, foo \markup{ \italic bar! } }
532 Una orden @code{\markup} también se puede poner por sí misma, fuera de cualquier bloque
533 @code{\score}, véase @ref{Multiple scores in a book}.
535 @lilypond[quote,ragged-right,verbatim]
536 \markup{ Here is some text. }
539 @cindex cambio de tipografía
541 El elemento de marcado en el ejemplo presenta un ejemplo de las instrucciones de cambio de tipografía. Las órdenes
542 @code{\bold} e @code{\italic} se aplican sólo a la siguiente palabra;
543 para aplicar una orden a más de una palabra, encierre las palabras
547 \markup @{ \bold @{ buenos días @} @}
551 Para mayor claridad, también puede hacerlo para argumentos de una sola palabra, p.ej.
554 \markup @{ ¿hay \italic @{ alguien @} ahí? @}
557 En el modo de marcado puede componer expresiones, similares a las expresiones
558 matemáticas, documentos XML y expresiones musicales. Podemos apilar
559 las expresiones en grupos verticales con la instrucción @code{\column}.
560 De forma similar, @code{\center-align} alinea textos por sus líneas medias:
562 @lilypond[quote,verbatim,fragment,relative=1]
563 c1^\markup { \column { a bbbb \line { c d } } }
564 c1^\markup { \center-align { a bbbb c } }
565 c1^\markup { \line { a b c } }
568 Las listas sin una instrucción previa no se mantienen separadas. La expresión
571 \center-align @{ @{ a b @} @{ c d @} @}
579 \center-align @{ a b c d @}
584 Para dejar separadas las listas de palabras, podemos utilizar comillas @code{"} o la
587 @lilypond[quote,verbatim,fragment,relative=1]
589 c4^\markup{ \center-align { on three lines } }
590 c4^\markup{ \center-align { "all one line" } }
591 c4^\markup{ \center-align { { on three lines } } }
592 c4^\markup{ \center-align { \line { on one line } } }
595 Los elementos de marcado se pueden almacenar dentro de variables, y estas variables se pueden adjuntar a notas,
598 allegro = \markup @{ \bold \large @{ Allegro @} @}
599 @{ a^\allegro b c d @}
602 Ciertos objetos tienen procedimientos de alineación propios, que cancelan
603 cualquier efecto de las alineaciones aplicadas a sus argumentos de marcado en su conjunto.
604 Por ejemplo la @rinternals{RehearsalMark} se centra
605 horizontalmente, por lo que usar @code{\mark \markup @{ \left-align .. @}} no tiene
608 Además, la colocación vertical se realiza después de crear el objeto
609 de marcado de texto. Si queremos mover un elemento de marcado completo,
610 tenemos que usar la propiedad de relleno #'padding o crear un punto de @q{anclaje}
611 dentro del elemento de marcado (generalmente con @code{\hspace #0}).
613 @lilypond[quote,verbatim,fragment,relative=1]
615 c'4^\markup{ \raise #5 "not raised" }
616 \once \override TextScript #'padding = #3
617 c'4^\markup{ raised }
618 c'4^\markup{ \hspace #0 \raise #1.5 raised }
621 Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía
622 preestablecidas. Si está creando texto en tales situaciones, recomendamos
623 cancelar dichas propiedades con
624 @code{normal-text}. Consulte @ref{Text markup commands}
625 para ver más detalles.
630 En el presente manual: @ref{Text markup commands}.
632 Referencia del programa: @rinternals{TextScript}.
634 Archivos de inicio: @file{scm/@/new@/-markup@/.scm}.
639 El «kerning» y la generación de ligaduras de texto se hacen sólo cuando se usa el «backend» o fundamento de @TeX{}.
640 En este caso, LilyPond no se encarga de ellos y así los textos
641 quedarán espaciados ligeramente más separados.
643 Los errores de sintaxis para el modo de marcado son confusos.
647 @subsubsection Nested scores
649 Es posible anidar música dentro de los elementos de marcado, añadiendo un bloque @code{\score}
650 a una expresión de marcado. Dicha partitura debe contener un bloque
653 @lilypond[quote,verbatim,ragged-right]
657 \relative { c4 d e f }
665 @node Page wrapping text
666 @subsubsection Page wrapping text
667 Dondequiera que se utilice @code{\markup} para escribir un bloque de texto que no se deba dividir,
668 se puede usar @code{\markuplines} en el nivel superior del código para introducir líneas de texto
669 que se pueden extender sobre varias páginas:
674 Un texto muy largo de líneas justificadas.
678 Otro párrafo muy largo.
685 @code{\markuplines} admite una lista de elementos de marcado, ya sea el resultado de
686 una instrucción de lista de marcado, o una lista de elementos o listas de elementos. Las
687 instrucciones incorporadas de lista de elementos de marcado se describen en
688 @ref{Text markup list commands}.
692 En este manual: @ref{Text markup list commands},
693 @ref{New markup list command definition}.
697 @funindex \markuplines
701 @subsubsection Font selection
703 @cindex fuente tipográfica, selección de la
704 @cindex fuente tipográfica, ampliación
705 @funindex font-interface
707 Estableciendo las propiedades de objetos que se describen más abajo, puede seleccionar
708 una fuente tipográfica de entre las familias tipográficas preconfiguradas. LilyPond contempla por defecto
709 la tipografía musical feta. Las tipografías del texto se seleccionan a través de
710 Pango/FontConfig. La fuente tipográfica con serifa por defecto es New Century Schoolbook,
711 las tipografías sans y tipo máquina de escribir son por defecto las que correspondan a la instalación
716 @item @code{font-encoding}
717 es un símbolo que establece la disposición de los glifos. Se debe ajustar solamente para
718 seleccionar distintos tipos de tipografías no textuales, p.ej.:
720 @code{fetaBraces} para las llaves de sistemas de piano, @code{fetaMusic} la
721 tipografía estándar de música, incluyendo los glifos de la música antigua, @code{fetaDynamic} para
722 indicaciones dinámicas y @code{fetaNumber} para la tipografía de números.
724 @item @code{font-family}
725 es un símbolo que indica la clase general de la tipografía. Están contemplados
726 @code{roman} (Computer Modern), @code{sans} y @code{typewriter} (monoespaciado).
728 @item @code{font-shape}
729 es un símbolo que indica la forma de la tipografía. Normalmente están disponibles varias
730 formas de tipografía para cada familia. Se puede elegir entre
731 @code{italic} (cursiva), @code{caps} (versalitas) y @code{upright} (recta).
733 @item @code{font-series}
734 es un símbolo que indica la serie de la tipografía. Normalmente cada familia y forma de
735 tipografía tiene varias series. Se puede elegir entre
736 @code{medium} (normal) y @code{bold} (negrita).
740 Las tipografías seleccionadas de la forma que se acaba de esquematizar, vienen con una hoja de estilos predefinida.
741 Si quiere usar una tipografía desde fuera de la hoja de estilos,
745 @lilypond[fragment,verbatim]
747 \override Staff.TimeSignature #'font-name = #"Charter"
748 \override Staff.TimeSignature #'font-size = #2
751 \override #'(font-name . "Vera Bold")
752 { This text is in Vera Bold }
758 Se puede usar cualquier tipografía en la medida en que esté disponible por parte de Pango/FontConfig.
759 Para conseguir una lista completa de todas las tipografías que están disponibles, ejecute la orden
761 lilypond -dshow-available-fonts blabla
763 (el último argumento de la instrucción puede ser cualquier cosa, pero debe estar presente).
766 El tamaño de la tipografía se puede establecer con la propiedad @code{font-size}.
767 El tamaño resultante se toma como relativo al tamaño
768 @code{text-font-size} tal y como está definido en el bloque @code{\paper}.
770 @cindex fuente tipográfica, tamaño de la
771 @cindex fuente tipográfica, aumento
774 También es posible cambiar la familia por defecto de la tipografía para todo el
775 documento. Esto se hace llamando al árbol @code{make-pango-font-tree} desde
776 dentro del bloque @code{\paper}. La función toma los nombres de las familias tipográficas
777 que se deseen utilizar para el texto en estilo roman, sans serif y monoespaciado. Por
781 @cindex fuentes tipográficas, establecer la familia de las
790 (make-pango-font-tree "Times New Roman"
797 c'^\markup { roman: foo \sans bla \typewriter bar }
801 @c we don't do Helvetica / Courier, since GS incorrectly loads
808 Ejemplos: @lsr{text,font@/-family@/-override.ly}.