1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: 459d5b872a370b53f61e747784fb56cf23f56e4b
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
12 Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las
15 @cindex Texto, en otros idiomas
16 Para escribir texto con caracteres acentuados y especiales (como los de idiomas distintos del inglés),
18 inserte los caracteres directamente en el archivo de lilypond. El archivo se debe
19 guardar como UTF-8. Para ver más información, consulte @ref{Text encoding}.
21 @lilypond[fragment,ragged-right,staffsize=16,quote]
22 c'4^\markup { bla \bold bla }
25 @lilypond[fragment,ragged-right,staffsize=16,quote]
26 c'4^\markup { bla \bold bla }
29 @lilypond[fragment,ragged-right,staffsize=16,quote]
30 c'4^\markup { bla \bold bla }
33 @lilypond[fragment,ragged-right,staffsize=16,quote]
34 c'4^\markup { bla \bold bla }
44 @subsection Writing text
48 * Text and line spanners::
55 @unnumberedsubsubsec Text scripts
57 @cindex Texto, inscripciones de
58 @cindex texto, elementos no vacíos de
59 @cindex no vacíos, textos
61 Es posible colocar cadenas de texto arbitrarias o @ref{Text markup},
62 encima o debajo de las notas utilizando una cadena @code{c^"texto"}. Por omisión,
63 estas indicaciones no influyen sobre el espaciado de las notas, pero si se utiliza la
64 instrucción @code{\textLengthOn}, las anchuras se tendrán en cuenta
66 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
67 c4^"longtext" \textLengthOn c4_"longlongtext" c4
71 Para evitar que el texto influya sobre el espaciado, utilice @code{\textLengthOff}.
73 También se pueden añadir a una nota textos con un formato más complejo utilizando la
74 orden markup (marcado),
76 @lilypond[fragment,ragged-right,verbatim,quote]
77 c'4^\markup { bla \bold bla }
80 La instrucción @code{\markup} se describe con más detalle en
86 @funindex \textLengthOn
88 @funindex \textLengthOff
89 @code{\textLengthOff}.
94 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
95 una tarea computacional relativamente grande. Para acelerar el procesado, lilypond de entrada no realiza
96 dichos cálculos; para habilitarlo, utilice
99 \override Score.PaperColumn #'keep-inside-line = ##t
105 En este manual: @ref{Text markup}.
107 Referencia del programa: @internalsref{TextScript}.
110 @node Text and line spanners
111 @unnumberedsubsubsec Text and line spanners
113 Ciertas indicaciones de ejecución, p.ej., @i{rallentando},
114 @i{accelerando} y los @i{trinos} se escriben como texto y se extienden
115 sobre muchos compases mediante líneas, a veces punteadas u onduladas.
117 Todos ellos usan las mismas rutinas que el glissando para dibujar los textos y las líneas,
118 y por ello el ajuste fino de su comportamiento se hace de la
119 misma manera. Se hace con un spanner (un objeto de extensión), y la rutina responsable
120 de dibujar los objetos de extensión es @code{ly:line-interface::print}. Esta
121 rutina determina la colocación exacta de los dos @i{extremos del
122 objeto de extensión} y dibuja una línea entre ellos, en el estilo solicitado.
124 He aquí un ejemplo de los distintos estilos de línea disponibles, y cómo
125 aplicarles ajustes finos.
127 @lilypond[relative=2,ragged-right,verbatim,fragment]
129 \once \override Glissando #'style = #'dashed-line
131 \override Glissando #'style = #'dotted-line
133 \override Glissando #'style = #'zigzag
135 \override Glissando #'style = #'trill
139 La información que determina los puntos extremos se calcula al vuelo
140 para cada objeto gráfico, pero es posible sobreescribirlos.
142 @lilypond[relative=2,ragged-right,verbatim,fragment]
144 \once \override Glissando #'bound-details #'right #'Y = #-2
148 El objeto @code{Glissando}, como cualquier otro que use la rutina
149 @code{ly:line-interface::print}, conlleva una lista asociativa
150 anidada. En la instrucción anterior, el valor de @code{Y}
151 se establece a @code{-2} para la lista asociativa correspondiente al extremo final de la
152 derecha. Por supuesto, también es posible ajustar el extremo de la izquierda con
153 @code{left} en vez de @code{right}.
155 Si no se establece el valor de @code{Y}, se calcula a partir de la posición
156 vertical del punto de anclaje derecho del objeto de extensión.
158 En el caso de un salto de línea, los valores de los puntos extremos se extienden
159 con los contenidos de las sublistas @code{left-broken} y @code{right-broken},
162 @lilypond[relative=2,ragged-right,verbatim,fragment]
163 \override Glissando #'breakable = ##T
164 \override Glissando #'bound-details #'right-broken #'Y = #-3
169 Las siguientes propiedades se pueden usar para el ajuste fino de los objetos de extensión:
173 Establece la coordenada Y del punto extremo, en espacios de pentagrama. Por
174 omisión, es el centro del objeto con que enlaza. Así, para un glissando
175 apuntaría al centro vertical de la cabeza de la nota.
177 Para objetos de extensión horizontales, como el de texto y los trinos, tiene el valor
181 Determina el lugar donde la línea comienza y acaba en la dirección X,
182 relativo al objeto al que se enlaza. Así, un valor de @code{-1} (o
183 @code{LEFT}) hace que la línea comience o acabe en el lado izquierdo de la cabeza de la nota
184 a la que el objeto se encuentra adjuntado.
187 Es la coordenada absoluta del extremo final. Normalmente
188 se calcula al vuelo y no tiene mucho sentido sobreescribirlo.
191 Los objetos extensores de línea pueden tener símbolos al principio o al final, que se encuentra contenido
192 dentro de esta subpropiedad. Es para uso interno y se recomienda
196 Es un elemento de marcado que se evalúa para generar la propiedad stencil anterior. Se usa
197 para poner @i{cresc.} y @i{tr} sobre los objetos de extensión horizontales.
199 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
200 \override TextSpanner #'bound-details #'left #'text
201 = \markup { \small \bold Slower }
202 c2\startTextSpan b c a\stopTextSpan
205 @item stencil-align-dir-y
207 Sin un valor establecido para esto, el stencil se coloca simplemente sobre el extremo del final,
208 tal y como se encuentra definido por las subpropiedades @code{X} e @code{Y}.
209 La asignación de un valor para @code{stencil-align-dir-y} o para @code{stencil-offset}
210 desplaza el símbolo del extremo de forma relativa al extremo de la línea
212 @lilypond[relative=1,fragment,verbatim]
213 \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN
214 \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP
216 \override TextSpanner #'bound-details #'left #'text = #"gggg"
217 \override TextSpanner #'bound-details #'right #'text = #"hhhh"
218 c4^\startTextSpan c c c \stopTextSpan
222 El establecimiento de esta subpropiedad al valor de @code{#t} produce una cabeza de flecha al final de la
225 @item padding (relleno)
226 Esta subpropiedad controla el espacio entre el punto extremo de la línea especificado
227 y el extremo real. Sin relleno, un glissando empezaría
228 y acabaría en el centro de las cabezas de las notas.
234 Referencia del programa: @internalsref{TextSpanner},
235 @internalsref{Glissando}, @internalsref{VoiceFollower},
236 @internalsref{TrillSpanner}, @internalsref{line-spanner-interface}.
238 Ejemplos: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
242 @unnumberedsubsubsec Text spanners
244 @cindex Texto, objetos de extensión de
246 Algunas indicaciones de interpretación, p.ej., @i{rallentando} o @i{accelerando},
247 se escriben como texto y se extienden sobre varios compases con líneas de puntos.
248 Estos textos se crean mediante objetos de extensión; añada
249 @code{\startTextSpan} y @code{\stopTextSpan} a la primera y última
250 notas del intervalo abarcado por el objeto de extensión.
252 La cadena de caracteres que se imprime, así como el estilo, se establecen a través de las
253 propiedades de objeto
255 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
258 \override TextSpanner #'bound-details #'left #'text =
259 \markup { \upright "rall" }
260 c2\startTextSpan b c\stopTextSpan a
263 \override TextSpanner #'bound-details #'left #'text =
264 \markup { \italic "rit" }
265 c2\startTextSpan b c\stopTextSpan a
270 @funindex textSpannerUp
271 @code{\textSpannerUp},
272 @funindex textSpannerDown
273 @code{\textSpannerDown},
274 @funindex textSpannerNeutral
275 @code{\textSpannerNeutral}.
280 Para imprimir una línea continua, use
283 \override TextSpanner #'style = #'line
289 Referencia del programa: @internalsref{TextSpanner}.
293 @unnumberedsubsubsec Text marks
295 @cindex coda sobre la línea divisoria
296 @cindex segno sobre la línea divisoria
297 @cindex calderón sobre la línea divisoria
298 @cindex líneas divisorias, símbolos sobre las
301 La instrucción @code{\mark} (llamada de ensayo) se usa principalmente para
302 @ref{Rehearsal marks},
303 pero también se puede usar para poner símbolos como coda,
304 segno y calderón encima de una línea divisoria. Utilice @code{\markup} para
305 acceder al símbolo apropiado (los símbolos se encuentran relacionados en
306 @ref{The Feta font}).
308 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
309 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
314 @code{\mark} se tipografía solamente sobre el pentagrama superior de la partitura. Si
315 especifica la instrucción @code{\mark} en una línea divisoria, la llamada resultante
316 se coloca encima de la barra. Si lo especifica en medio de un compás
317 la llamada resultante se coloca entre las notas. Si se especifica
318 antes del comienzo de una línea de la partitura, se coloca
319 antes de la primera nota de esta línea. Por último, si la marca se produce en un salto
320 de línea, se imprimirá al principio
321 de la línea siguiente.
322 @c IMO this is a bug; hopefully it'll be fixed soon, so I can
323 @c delete this sentence. -gp
324 Si no hay ninguna línea después de la actual, la llamada no se imprimirá en absoluto.
329 Para imprimir la llamada al final de la línea actual, utilice
332 \override Score.RehearsalMark
333 #'break-visibility = #begin-of-line-invisible
336 Con frecuencia, @code{\mark} se utiliza para añadir texto al final de un compás. En tales
337 casos es muy útil cambiar el @code{#'self-alignment}
339 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
340 \override Score.RehearsalMark
341 #'break-visibility = #begin-of-line-invisible
343 \once \override Score.RehearsalMark #'self-alignment-X = #right
344 \mark "D.S. al Fine "
347 Las llamadas de texto se pueden alinear con otros objetos de notación además de las líneas
350 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
355 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
359 \override Score.RehearsalMark #'break-align-symbols = #'(clef)
363 \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
372 Los símbolos posibles para la lista @code{break-align-symbols} son
373 @code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
374 @code{staff-bar}, @code{left-edge}, @code{key-cancellation},
375 @code{key-signature} y @code{time-signature}.
377 Las llamadas de texto, por omisión se alinearán con el punto medio del objeto de notación,
378 pero esto se puede cambiar sobreescribiendo las propiedades
379 @code{break-align-anchor-alignment} y
380 @code{break-align-anchor} para el objeto gráfico apropiado.
382 @lilypond[fragment,quote,ragged-right,verbatim]
384 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
388 % the RehearsalMark will be aligned with the left edge of the KeySignature
389 \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
394 % the RehearsalMark will be aligned with the right edge of the KeySignature
395 \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
400 % the RehearsalMark will be aligned with the left edge of the KeySignature
401 % and then shifted right by 2 units.
402 \once \override Staff.KeySignature #'break-align-anchor = #2
408 Aunque normalmente las llamadas textuales se imprimen sólo encima del pentagrama superior,
409 podemos alterar este comportamiento para que se impriman sobre todos los pentagramas,
411 @lilypond[quote,ragged-right,verbatim,relative=2]
414 \remove "Mark_engraver"
418 \consists "Mark_engraver"
420 { c''1 \mark "foo" c'' }
422 \consists "Mark_engraver"
424 { c'1 \mark "foo" c' }
432 Referencia del programa: @internalsref{RehearsalMark}.
435 @node New dynamic marks
436 @unnumberedsubsubsec New dynamic marks
438 Es posible imprimir nuevas indicaciones de dinámica o texto que debe ir alineado
439 con ellas. Utilice @code{make-dynamic-script} para crear estas
440 indicaciones. Tenga en cuenta que la tipografía de dinámica contiene solamente los caracteres
441 @code{f,m,p,r,s} y @code{z}.
443 Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía
444 establecidas como fijas. Si estamos creando texto en estas situaciones, se recomienda
445 cancelar dichas propiedades con
446 @code{normal-text}. Consulte @ref{Overview of text markup commands} para
449 @cindex make-dynamic-script
451 @lilypond[quote,verbatim,ragged-right]
452 sfzp = #(make-dynamic-script "sfzp")
458 @cindex dinámica, indicaciones, editoriales
459 @cindex dinámica, indicaciones, paréntesis
461 También es posible imprimir las indicaciones de dinámica entre paréntesis redondos o entre corchetes rectos.
462 Éstos se usan con frecuencia para añadir indicaciones de dinámica editoriales.
464 @lilypond[quote,verbatim,ragged-right]
465 rndf = \markup{ \center-align {\line { \bold{\italic (}
466 \dynamic f \bold{\italic )} }} }
467 boxf = \markup{ \bracket { \dynamic f } }
468 { c'1_\rndf c'1_\boxf }
474 @subsection Text markup
477 * Text markup introduction::
479 * Page wrapping text::
483 @node Text markup introduction
484 @unnumberedsubsubsec Text markup introduction
487 @cindex texto, marcado de
488 @cindex marcado de texto
489 @cindex tipografiar texto
491 Utilice @code{\markup} para tipografiar texto. Las instrucciones se escriben con la barra
492 invertida @code{\}. Para escribir @code{\} and @code{#}, utilice
495 @lilypond[quote,verbatim,fragment,relative=1]
497 c1_\markup { hi there }
498 c1^\markup { hi \bold there, is \italic {anyone home?} }
499 c1_\markup { "\special {weird} #characters" }
503 Consulte @ref{Overview of text markup commands}, para ver una lista de todas las
506 @code{\markup} se usa principalmente para indicaciones del tipo @internalsref{TextScript},
507 pero también se pueden usar en cualquier lugar donde se requiere texto en lilypond
509 @lilypond[quote,verbatim]
510 \header{ title = \markup{ \bold { foo \italic { bar! } } } }
513 \override Score.RehearsalMark
514 #'break-visibility = #begin-of-line-invisible
515 \override Score.RehearsalMark #'self-alignment-X = #right
517 \set Staff.instrumentName = \markup{ \column{ Alto solo } }
518 c2^\markup{ don't be \flat }
519 \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
521 a2\mark \markup{ \large \bold Fine }
525 \addlyrics { bar, foo \markup{ \italic bar! } }
529 Una orden @code{\markup} también se puede poner por sí misma, fuera de cualquier bloque
530 @code{\score}, véase @ref{Multiple scores in a book}.
532 @lilypond[quote,ragged-right,verbatim]
533 \markup{ Here is some text. }
536 @cindex cambio de tipografía
538 El elemento de marcado en el ejemplo presenta un ejemplo de las instrucciones de cambio de tipografía. Las órdenes
539 @code{\bold} e @code{\italic} se aplican sólo a la siguiente palabra;
540 para aplicar una orden a más de una palabra, encierre las palabras
544 \markup @{ \bold @{ buenos días @} @}
548 Para mayor claridad, también puede hacerlo para argumentos de una sola palabra, p.ej.
551 \markup @{ ¿hay \italic @{ alguien @} ahí? @}
554 En el modo de marcado puede componer expresiones, similares a las expresiones
555 matemáticas, documentos XML y expresiones musicales. Podemos apilar
556 las expresiones en grupos verticales con la instrucción @code{\column}.
557 De forma similar, @code{\center-align} alinea textos por sus líneas medias:
559 @lilypond[quote,verbatim,fragment,relative=1]
560 c1^\markup { \column { a bbbb \line { c d } } }
561 c1^\markup { \center-align { a bbbb c } }
562 c1^\markup { \line { a b c } }
565 Las listas sin una instrucción previa no se mantienen separadas. La expresión
568 \center-align @{ @{ a b @} @{ c d @} @}
576 \center-align @{ a b c d @}
581 Para dejar separadas las listas de palabras, podemos utilizar comillas @code{"} o la
584 @lilypond[quote,verbatim,fragment,relative=1]
586 c4^\markup{ \center-align { on three lines } }
587 c4^\markup{ \center-align { "all one line" } }
588 c4^\markup{ \center-align { { on three lines } } }
589 c4^\markup{ \center-align { \line { on one line } } }
592 Los elementos de marcado se pueden almacenar dentro de variables, y estas variables se pueden adjuntar a notas,
595 allegro = \markup @{ \bold \large @{ Allegro @} @}
596 @{ a^\allegro b c d @}
599 Ciertos objetos tienen procedimientos de alineación propios, que cancelan
600 cualquier efecto de las alineaciones aplicadas a sus argumentos de marcado en su conjunto.
601 Por ejemplo la @internalsref{RehearsalMark} se centra
602 horizontalmente, por lo que usar @code{\mark \markup @{ \left-align .. @}} no tiene
605 Además, la colocación vertical se realiza después de crear el objeto
606 de marcado de texto. Si queremos mover un elemento de marcado completo,
607 tenemos que usar la propiedad de relleno #'padding o crear un punto de @q{anclaje}
608 dentro del elemento de marcado (generalmente con @code{\hspace #0}).
610 @lilypond[quote,verbatim,fragment,relative=1]
612 c'4^\markup{ \raise #5 "not raised" }
613 \once \override TextScript #'padding = #3
614 c'4^\markup{ raised }
615 c'4^\markup{ \hspace #0 \raise #1.5 raised }
618 Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía
619 preestablecidas. Si está creando texto en tales situaciones, recomendamos
620 cancelar dichas propiedades con
621 @code{normal-text}. Consulte @ref{Overview of text markup commands}
622 para ver más detalles.
627 En el presente manual: @ref{Overview of text markup commands}.
629 Referencia del programa: @internalsref{TextScript}.
631 Archivos de inicio: @file{scm/@/new@/-markup@/.scm}.
636 El «kerning» y la generación de ligaduras de texto se hacen sólo cuando se usa el «backend» o fundamento de @TeX{}.
637 En este caso, LilyPond no se encarga de ellos y así los textos
638 quedarán espaciados ligeramente más separados.
640 Los errores de sintaxis para el modo de marcado son confusos.
644 @unnumberedsubsubsec Nested scores
646 Es posible anidar música dentro de los elementos de marcado, añadiendo un bloque @code{\score}
647 a una expresión de marcado. Dicha partitura debe contener un bloque
650 @lilypond[quote,verbatim,ragged-right]
654 \relative { c4 d e f }
662 @node Page wrapping text
663 @unnumberedsubsubsec Page wrapping text
664 Dondequiera que se utilice @code{\markup} para escribir un bloque de texto que no se deba dividir,
665 se puede usar @code{\markuplines} en el nivel superior del código para introducir líneas de texto
666 que se pueden extender sobre varias páginas:
671 Un texto muy largo de líneas justificadas.
675 Otro párrafo muy largo.
682 @code{\markuplines} admite una lista de elementos de marcado, ya sea el resultado de
683 una instrucción de lista de marcado, o una lista de elementos o listas de elementos. Las
684 instrucciones incorporadas de lista de elementos de marcado se describen en
685 @ref{Overview of text markup list commands}.
689 En este manual: @ref{Overview of text markup list commands},
690 @ref{New markup list command definition}.
694 @funindex \markuplines
698 @unnumberedsubsubsec Font selection
700 @cindex fuente tipográfica, selección de la
701 @cindex fuente tipográfica, ampliación
702 @funindex font-interface
704 Estableciendo las propiedades de objetos que se describen más abajo, puede seleccionar
705 una fuente tipográfica de entre las familias tipográficas preconfiguradas. LilyPond contempla por defecto
706 la tipografía musical feta. Las tipografías del texto se seleccionan a través de
707 Pango/FontConfig. La fuente tipográfica con serifa por defecto es New Century Schoolbook,
708 las tipografías sans y tipo máquina de escribir son por defecto las que correspondan a la instalación
713 @item @code{font-encoding}
714 es un símbolo que establece la disposición de los glifos. Se debe ajustar solamente para
715 seleccionar distintos tipos de tipografías no textuales, p.ej.:
717 @code{fetaBraces} para las llaves de sistemas de piano, @code{fetaMusic} la
718 tipografía estándar de música, incluyendo los glifos de la música antigua, @code{fetaDynamic} para
719 indicaciones dinámicas y @code{fetaNumber} para la tipografía de números.
721 @item @code{font-family}
722 es un símbolo que indica la clase general de la tipografía. Están contemplados
723 @code{roman} (Computer Modern), @code{sans} y @code{typewriter} (monoespaciado).
725 @item @code{font-shape}
726 es un símbolo que indica la forma de la tipografía. Normalmente están disponibles varias
727 formas de tipografía para cada familia. Se puede elegir entre
728 @code{italic} (cursiva), @code{caps} (versalitas) y @code{upright} (recta).
730 @item @code{font-series}
731 es un símbolo que indica la serie de la tipografía. Normalmente cada familia y forma de
732 tipografía tiene varias series. Se puede elegir entre
733 @code{medium} (normal) y @code{bold} (negrita).
737 Las tipografías seleccionadas de la forma que se acaba de esquematizar, vienen con una hoja de estilos predefinida.
738 Si quiere usar una tipografía desde fuera de la hoja de estilos,
742 @lilypond[fragment,verbatim]
744 \override Staff.TimeSignature #'font-name = #"Charter"
745 \override Staff.TimeSignature #'font-size = #2
748 \override #'(font-name . "Vera Bold")
749 { This text is in Vera Bold }
755 Se puede usar cualquier tipografía en la medida en que esté disponible por parte de Pango/FontConfig.
756 Para conseguir una lista completa de todas las tipografías que están disponibles, ejecute la orden
758 lilypond -dshow-available-fonts blabla
760 (el último argumento de la instrucción puede ser cualquier cosa, pero debe estar presente).
763 El tamaño de la tipografía se puede establecer con la propiedad @code{font-size}.
764 El tamaño resultante se toma como relativo al tamaño
765 @code{text-font-size} tal y como está definido en el bloque @code{\paper}.
767 @cindex fuente tipográfica, tamaño de la
768 @cindex fuente tipográfica, aumento
771 También es posible cambiar la familia por defecto de la tipografía para todo el
772 documento. Esto se hace llamando al árbol @code{make-pango-font-tree} desde
773 dentro del bloque @code{\paper}. La función toma los nombres de las familias tipográficas
774 que se deseen utilizar para el texto en estilo roman, sans serif y monoespaciado. Por
778 @cindex fuentes tipográficas, establecer la familia de las
787 (make-pango-font-tree "Times New Roman"
794 c'^\markup { roman: foo \sans bla \typewriter bar }
798 @c we don't do Helvetica / Courier, since GS incorrectly loads
805 Ejemplos: @lsr{text,font@/-family@/-override.ly}.