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 @lilypondfile[quote]{text-headword.ly}
16 Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las
19 @cindex Texto, en otros idiomas
20 Para escribir texto con caracteres acentuados y especiales (como los de idiomas distintos del inglés),
22 inserte los caracteres directamente en el archivo de lilypond. El archivo se debe
23 guardar como UTF-8. Para ver más información, consulte @ref{Text encoding}.
33 @subsection Writing text
37 * Text and line spanners::
44 @subsubsection Text scripts
46 @cindex Texto, inscripciones de
47 @cindex texto, elementos no vacíos de
48 @cindex no vacíos, textos
50 Es posible colocar cadenas de texto arbitrarias o @ref{Formatting text},
51 encima o debajo de las notas utilizando una cadena @code{c^"texto"}. Por omisión,
52 estas indicaciones no influyen sobre el espaciado de las notas, pero si se utiliza la
53 instrucción @code{\textLengthOn}, las anchuras se tendrán en cuenta
55 @lilypond[quote,fragment,ragged-right,verbatim,relative=1]
56 c4^"longtext" \textLengthOn c4_"longlongtext" c4
60 Para evitar que el texto influya sobre el espaciado, utilice @code{\textLengthOff}.
62 También se pueden añadir a una nota textos con un formato más complejo utilizando la
63 orden markup (marcado),
65 @lilypond[fragment,ragged-right,verbatim,quote]
66 c'4^\markup { bla \bold bla }
69 La instrucción @code{\markup} se describe con más detalle en
70 @ref{Formatting text}.
75 @funindex \textLengthOn
77 @funindex \textLengthOff
78 @code{\textLengthOff}.
83 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
84 una tarea computacional relativamente grande. Para acelerar el procesado, lilypond de entrada no realiza
85 dichos cálculos; para habilitarlo, utilice
88 \override Score.PaperColumn #'keep-inside-line = ##t
94 En este manual: @ref{Formatting text}.
96 Referencia del programa: @rinternals{TextScript}.
99 @node Text and line spanners
100 @subsubsection Text and line spanners
102 Ciertas indicaciones de ejecución, p.ej., @i{rallentando},
103 @i{accelerando} y los @i{trinos} se escriben como texto y se extienden
104 sobre muchos compases mediante líneas, a veces punteadas u onduladas.
106 Todos ellos usan las mismas rutinas que el glissando para dibujar los textos y las líneas,
107 y por ello el ajuste fino de su comportamiento se hace de la
108 misma manera. Se hace con un spanner (un objeto de extensión), y la rutina responsable
109 de dibujar los objetos de extensión es @code{ly:line-interface::print}. Esta
110 rutina determina la colocación exacta de los dos @i{extremos del
111 objeto de extensión} y dibuja una línea entre ellos, en el estilo solicitado.
113 He aquí un ejemplo de los distintos estilos de línea disponibles, y cómo
114 aplicarles ajustes finos.
116 @lilypond[relative=2,ragged-right,verbatim,fragment]
118 \once \override Glissando #'style = #'dashed-line
120 \override Glissando #'style = #'dotted-line
122 \override Glissando #'style = #'zigzag
124 \override Glissando #'style = #'trill
128 La información que determina los puntos extremos se calcula al vuelo
129 para cada objeto gráfico, pero es posible sobreescribirlos.
131 @lilypond[relative=2,ragged-right,verbatim,fragment]
133 \once \override Glissando #'bound-details #'right #'Y = #-2
137 El objeto @code{Glissando}, como cualquier otro que use la rutina
138 @code{ly:line-interface::print}, conlleva una lista asociativa
139 anidada. En la instrucción anterior, el valor de @code{Y}
140 se establece a @code{-2} para la lista asociativa correspondiente al extremo final de la
141 derecha. Por supuesto, también es posible ajustar el extremo de la izquierda con
142 @code{left} en vez de @code{right}.
144 Si no se establece el valor de @code{Y}, se calcula a partir de la posición
145 vertical del punto de anclaje derecho del objeto de extensión.
147 En el caso de un salto de línea, los valores de los puntos extremos se extienden
148 con los contenidos de las sublistas @code{left-broken} y @code{right-broken},
151 @lilypond[relative=2,ragged-right,verbatim,fragment]
152 \override Glissando #'breakable = ##T
153 \override Glissando #'bound-details #'right-broken #'Y = #-3
158 Las siguientes propiedades se pueden usar para el ajuste fino de los objetos de extensión:
162 Establece la coordenada Y del punto extremo, en espacios de pentagrama. Por
163 omisión, es el centro del objeto con que enlaza. Así, para un glissando
164 apuntaría al centro vertical de la cabeza de la nota.
166 Para objetos de extensión horizontales, como el de texto y los trinos, tiene el valor
170 Determina el lugar donde la línea comienza y acaba en la dirección X,
171 relativo al objeto al que se enlaza. Así, un valor de @code{-1} (o
172 @code{LEFT}) hace que la línea comience o acabe en el lado izquierdo de la cabeza de la nota
173 a la que el objeto se encuentra adjuntado.
176 Es la coordenada absoluta del extremo final. Normalmente
177 se calcula al vuelo y no tiene mucho sentido sobreescribirlo.
180 Los objetos extensores de línea pueden tener símbolos al principio o al final, que se encuentra contenido
181 dentro de esta subpropiedad. Es para uso interno y se recomienda
185 Es un elemento de marcado que se evalúa para generar la propiedad stencil anterior. Se usa
186 para poner @i{cresc.} y @i{tr} sobre los objetos de extensión horizontales.
188 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
189 \override TextSpanner #'bound-details #'left #'text
190 = \markup { \small \bold Slower }
191 c2\startTextSpan b c a\stopTextSpan
194 @item stencil-align-dir-y
196 Sin un valor establecido para esto, el stencil se coloca simplemente sobre el extremo del final,
197 tal y como se encuentra definido por las subpropiedades @code{X} e @code{Y}.
198 La asignación de un valor para @code{stencil-align-dir-y} o para @code{stencil-offset}
199 desplaza el símbolo del extremo de forma relativa al extremo de la línea
201 @lilypond[relative=1,fragment,verbatim]
202 \override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN
203 \override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP
205 \override TextSpanner #'bound-details #'left #'text = #"gggg"
206 \override TextSpanner #'bound-details #'right #'text = #"hhhh"
207 c4^\startTextSpan c c c \stopTextSpan
211 El establecimiento de esta subpropiedad al valor de @code{#t} produce una cabeza de flecha al final de la
214 @item padding (relleno)
215 Esta subpropiedad controla el espacio entre el punto extremo de la línea especificado
216 y el extremo real. Sin relleno, un glissando empezaría
217 y acabaría en el centro de las cabezas de las notas.
223 Referencia del programa: @rinternals{TextSpanner},
224 @rinternals{Glissando}, @rinternals{VoiceFollower},
225 @rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
227 Ejemplos: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
231 @subsubsection Text spanners
233 @cindex Texto, objetos de extensión de
235 Algunas indicaciones de interpretación, p.ej., @i{rallentando} o @i{accelerando},
236 se escriben como texto y se extienden sobre varios compases con líneas de puntos.
237 Estos textos se crean mediante objetos de extensión; añada
238 @code{\startTextSpan} y @code{\stopTextSpan} a la primera y última
239 notas del intervalo abarcado por el objeto de extensión.
241 La cadena de caracteres que se imprime, así como el estilo, se establecen a través de las
242 propiedades de objeto
244 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
247 \override TextSpanner #'bound-details #'left #'text =
248 \markup { \upright "rall" }
249 c2\startTextSpan b c\stopTextSpan a
252 \override TextSpanner #'bound-details #'left #'text =
253 \markup { \italic "rit" }
254 c2\startTextSpan b c\stopTextSpan a
259 @funindex textSpannerUp
260 @code{\textSpannerUp},
261 @funindex textSpannerDown
262 @code{\textSpannerDown},
263 @funindex textSpannerNeutral
264 @code{\textSpannerNeutral}.
269 Para imprimir una línea continua, use
272 \override TextSpanner #'style = #'line
278 Referencia del programa: @rinternals{TextSpanner}.
282 @subsubsection Text marks
284 @cindex coda sobre la línea divisoria
285 @cindex segno sobre la línea divisoria
286 @cindex calderón sobre la línea divisoria
287 @cindex líneas divisorias, símbolos sobre las
290 La instrucción @code{\mark} (llamada de ensayo) se usa principalmente para
291 @ref{Rehearsal marks},
292 pero también se puede usar para poner símbolos como coda,
293 segno y calderón encima de una línea divisoria. Utilice @code{\markup} para
294 acceder al símbolo apropiado (los símbolos se encuentran relacionados en
295 @ref{The Feta font}).
297 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
298 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
303 @code{\mark} se tipografía solamente sobre el pentagrama superior de la partitura. Si
304 especifica la instrucción @code{\mark} en una línea divisoria, la llamada resultante
305 se coloca encima de la barra. Si lo especifica en medio de un compás
306 la llamada resultante se coloca entre las notas. Si se especifica
307 antes del comienzo de una línea de la partitura, se coloca
308 antes de la primera nota de esta línea. Por último, si la marca se produce en un salto
309 de línea, se imprimirá al principio
310 de la línea siguiente.
311 @c IMO this is a bug; hopefully it'll be fixed soon, so I can
312 @c delete this sentence. -gp
313 Si no hay ninguna línea después de la actual, la llamada no se imprimirá en absoluto.
318 Para imprimir la llamada al final de la línea actual, utilice
321 \override Score.RehearsalMark
322 #'break-visibility = #begin-of-line-invisible
325 Con frecuencia, @code{\mark} se utiliza para añadir texto al final de un compás. En tales
326 casos es muy útil cambiar el @code{#'self-alignment}
328 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
329 \override Score.RehearsalMark
330 #'break-visibility = #begin-of-line-invisible
332 \once \override Score.RehearsalMark #'self-alignment-X = #right
333 \mark "D.S. al Fine "
336 Las llamadas de texto se pueden alinear con otros objetos de notación además de las líneas
339 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
344 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
348 \override Score.RehearsalMark #'break-align-symbols = #'(clef)
352 \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
361 Los símbolos posibles para la lista @code{break-align-symbols} son
362 @code{ambitus}, @code{breathing-sign}, @code{clef}, @code{custos},
363 @code{staff-bar}, @code{left-edge}, @code{key-cancellation},
364 @code{key-signature} y @code{time-signature}.
366 Las llamadas de texto, por omisión se alinearán con el punto medio del objeto de notación,
367 pero esto se puede cambiar sobreescribiendo las propiedades
368 @code{break-align-anchor-alignment} y
369 @code{break-align-anchor} para el objeto gráfico apropiado.
372 @lilypond[fragment,quote,ragged-right,verbatim]
374 \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
378 % La llamada se alinea con el límite izquierdo de la armadura
379 \once \override Staff.KeySignature #'break-align-anchor-alignment = #LEFT
384 % La llamada se alinea con el límite derecho de la armadura
385 \once \override Staff.KeySignature #'break-align-anchor-alignment = #RIGHT
390 % La llamada se alinea con el límite izquierdo de la armadura
391 % y después se desplaza 2 unidades hacia la derecha.
392 \once \override Staff.KeySignature #'break-align-anchor = #2
398 Aunque normalmente las llamadas textuales se imprimen sólo encima del pentagrama superior,
399 podemos alterar este comportamiento para que se impriman sobre todos los pentagramas,
401 @lilypond[quote,ragged-right,verbatim,relative=2]
404 \remove "Mark_engraver"
408 \consists "Mark_engraver"
410 { c''1 \mark "foo" c'' }
412 \consists "Mark_engraver"
414 { c'1 \mark "foo" c' }
422 Referencia del programa: @rinternals{RehearsalMark}.
425 @node New dynamic marks
426 @subsubsection New dynamic marks
428 Es posible imprimir nuevas indicaciones de dinámica o texto que debe ir alineado
429 con ellas. Utilice @code{make-dynamic-script} para crear estas
430 indicaciones. Tenga en cuenta que la tipografía de dinámica contiene solamente los caracteres
431 @code{f,m,p,r,s} y @code{z}.
433 Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía
434 establecidas como fijas. Si estamos creando texto en estas situaciones, se recomienda
435 cancelar dichas propiedades con
436 @code{normal-text}. Consulte @ref{Text markup commands} para
439 @cindex make-dynamic-script
441 @lilypond[quote,verbatim,ragged-right]
442 sfzp = #(make-dynamic-script "sfzp")
448 @cindex dinámica, indicaciones, editoriales
449 @cindex dinámica, indicaciones, paréntesis
451 También es posible imprimir las indicaciones de dinámica entre paréntesis redondos o entre corchetes rectos.
452 Éstos se usan con frecuencia para añadir indicaciones de dinámica editoriales.
454 @lilypond[quote,verbatim,ragged-right]
455 rndf = \markup{ \center-align {\line { \bold{\italic (}
456 \dynamic f \bold{\italic )} }} }
457 boxf = \markup{ \bracket { \dynamic f } }
458 { c'1_\rndf c'1_\boxf }
463 @node Formatting text
464 @subsection Formatting text
467 * Text markup introduction::
469 * Page wrapping text::
472 @node Text markup introduction
473 @subsubsection Text markup introduction
476 @cindex texto, marcado de
477 @cindex marcado de texto
478 @cindex tipografiar texto
480 Utilice @code{\markup} para tipografiar texto. Las instrucciones se escriben con la barra
481 invertida @code{\}. Para escribir @code{\} and @code{#}, utilice
484 @lilypond[quote,verbatim,fragment,relative=1]
486 c1_\markup { hi there }
487 c1^\markup { hi \bold there, is \italic {anyone home?} }
488 c1_\markup { "\special {weird} #characters" }
492 Consulte @ref{Text markup commands}, para ver una lista de todas las
495 @code{\markup} se usa principalmente para indicaciones del tipo @rinternals{TextScript},
496 pero también se pueden usar en cualquier lugar donde se requiere texto en lilypond
498 @lilypond[quote,verbatim]
499 \header{ title = \markup{ \bold { foo \italic { bar! } } } }
502 \override Score.RehearsalMark
503 #'break-visibility = #begin-of-line-invisible
504 \override Score.RehearsalMark #'self-alignment-X = #right
506 \set Staff.instrumentName = \markup{ \column{ Alto solo } }
507 c2^\markup{ don't be \flat }
508 \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
510 a2\mark \markup{ \large \bold Fine }
514 \addlyrics { bar, foo \markup{ \italic bar! } }
518 Una orden @code{\markup} también se puede poner por sí misma, fuera de cualquier bloque
519 @code{\score}, véase @ref{Multiple scores in a book}.
521 @lilypond[quote,ragged-right,verbatim]
522 \markup{ Here is some text. }
525 @cindex cambio de tipografía
527 El elemento de marcado en el ejemplo presenta un ejemplo de las instrucciones de cambio de tipografía. Las órdenes
528 @code{\bold} e @code{\italic} se aplican sólo a la siguiente palabra;
529 para aplicar una orden a más de una palabra, encierre las palabras
533 \markup @{ \bold @{ buenos días @} @}
537 Para mayor claridad, también puede hacerlo para argumentos de una sola palabra, p.ej.
540 \markup @{ ¿hay \italic @{ alguien @} ahí? @}
543 En el modo de marcado puede componer expresiones, similares a las expresiones
544 matemáticas, documentos XML y expresiones musicales. Podemos apilar
545 las expresiones en grupos verticales con la instrucción @code{\column}.
546 De forma similar, @code{\center-align} alinea textos por sus líneas medias:
548 @lilypond[quote,verbatim,fragment,relative=1]
549 c1^\markup { \column { a bbbb \line { c d } } }
550 c1^\markup { \center-align { a bbbb c } }
551 c1^\markup { \line { a b c } }
554 Las listas sin una instrucción previa no se mantienen separadas. La expresión
557 \center-align @{ @{ a b @} @{ c d @} @}
565 \center-align @{ a b c d @}
570 Para dejar separadas las listas de palabras, podemos utilizar comillas @code{"} o la
573 @lilypond[quote,verbatim,fragment,relative=1]
575 c4^\markup{ \center-align { on three lines } }
576 c4^\markup{ \center-align { "all one line" } }
577 c4^\markup{ \center-align { { on three lines } } }
578 c4^\markup{ \center-align { \line { on one line } } }
581 Los elementos de marcado se pueden almacenar dentro de variables, y estas variables se pueden adjuntar a notas,
584 allegro = \markup @{ \bold \large @{ Allegro @} @}
585 @{ a^\allegro b c d @}
588 Ciertos objetos tienen procedimientos de alineación propios, que cancelan
589 cualquier efecto de las alineaciones aplicadas a sus argumentos de marcado en su conjunto.
590 Por ejemplo la @rinternals{RehearsalMark} se centra
591 horizontalmente, por lo que usar @code{\mark \markup @{ \left-align .. @}} no tiene
594 Además, la colocación vertical se realiza después de crear el objeto
595 de marcado de texto. Si queremos mover un elemento de marcado completo,
596 tenemos que usar la propiedad de relleno #'padding o crear un punto de @q{anclaje}
597 dentro del elemento de marcado (generalmente con @code{\hspace #0}).
599 @lilypond[quote,verbatim,fragment,relative=1]
601 c'4^\markup{ \raise #5 "not raised" }
602 \once \override TextScript #'padding = #3
603 c'4^\markup{ raised }
604 c'4^\markup{ \hspace #0 \raise #1.5 raised }
607 Algunas situaciones (como las indicaciones de dinámica) tienen propiedades de tipografía
608 preestablecidas. Si está creando texto en tales situaciones, recomendamos
609 cancelar dichas propiedades con
610 @code{normal-text}. Consulte @ref{Text markup commands}
611 para ver más detalles.
616 En el presente manual: @ref{Text markup commands}.
618 Referencia del programa: @rinternals{TextScript}.
620 Archivos de inicio: @file{scm/@/new@/-markup@/.scm}.
625 El «kerning» y la generación de ligaduras de texto se hacen sólo cuando se usa el «backend» o fundamento de @TeX{}.
626 En este caso, LilyPond no se encarga de ellos y así los textos
627 quedarán espaciados ligeramente más separados.
629 Los errores de sintaxis para el modo de marcado son confusos.
633 @subsubsection Nested scores
635 Es posible anidar música dentro de los elementos de marcado, añadiendo un bloque @code{\score}
636 a una expresión de marcado. Dicha partitura debe contener un bloque
639 @lilypond[quote,verbatim,ragged-right]
643 \relative { c4 d e f }
651 @node Page wrapping text
652 @subsubsection Page wrapping text
654 Dondequiera que se utilice @code{\markup} para escribir un bloque de texto que no se deba dividir,
655 se puede usar @code{\markuplines} en el nivel superior del código para introducir líneas de texto
656 que se pueden extender sobre varias páginas:
661 Un texto muy largo de líneas justificadas.
665 Otro párrafo muy largo.
672 @code{\markuplines} admite una lista de elementos de marcado, ya sea el resultado de
673 una instrucción de lista de marcado, o una lista de elementos o listas de elementos. Las
674 instrucciones incorporadas de lista de elementos de marcado se describen en
675 @ref{Text markup list commands}.
679 En este manual: @ref{Text markup list commands},
680 @ref{New markup list command definition}.
684 @funindex \markuplines
691 @cindex fuente tipográfica, selección de la
692 @cindex fuente tipográfica, ampliación
693 @funindex font-interface
695 Estableciendo las propiedades de objetos que se describen más abajo, puede seleccionar
696 una fuente tipográfica de entre las familias tipográficas preconfiguradas. LilyPond contempla por defecto
697 la tipografía musical feta. Las tipografías del texto se seleccionan a través de
698 Pango/FontConfig. La fuente tipográfica con serifa por defecto es New Century Schoolbook,
699 las tipografías sans y tipo máquina de escribir son por defecto las que correspondan a la instalación
704 @item @code{font-encoding}
705 es un símbolo que establece la disposición de los glifos. Se debe ajustar solamente para
706 seleccionar distintos tipos de tipografías no textuales, p.ej.:
708 @code{fetaBraces} para las llaves de sistemas de piano, @code{fetaMusic} la
709 tipografía estándar de música, incluyendo los glifos de la música antigua, @code{fetaDynamic} para
710 indicaciones dinámicas y @code{fetaNumber} para la tipografía de números.
712 @item @code{font-family}
713 es un símbolo que indica la clase general de la tipografía. Están contemplados
714 @code{roman} (Computer Modern), @code{sans} y @code{typewriter} (monoespaciado).
716 @item @code{font-shape}
717 es un símbolo que indica la forma de la tipografía. Normalmente están disponibles varias
718 formas de tipografía para cada familia. Se puede elegir entre
719 @code{italic} (cursiva), @code{caps} (versalitas) y @code{upright} (recta).
721 @item @code{font-series}
722 es un símbolo que indica la serie de la tipografía. Normalmente cada familia y forma de
723 tipografía tiene varias series. Se puede elegir entre
724 @code{medium} (normal) y @code{bold} (negrita).
728 Las tipografías seleccionadas de la forma que se acaba de esquematizar, vienen con una hoja de estilos predefinida.
729 Si quiere usar una tipografía desde fuera de la hoja de estilos,
733 @lilypond[fragment,verbatim]
735 \override Staff.TimeSignature #'font-name = #"Charter"
736 \override Staff.TimeSignature #'font-size = #2
739 \override #'(font-name . "Vera Bold")
740 { This text is in Vera Bold }
746 Se puede usar cualquier tipografía en la medida en que esté disponible por parte de Pango/FontConfig.
747 Para conseguir una lista completa de todas las tipografías que están disponibles, ejecute la orden
749 lilypond -dshow-available-fonts blabla
751 (el último argumento de la instrucción puede ser cualquier cosa, pero debe estar presente).
754 El tamaño de la tipografía se puede establecer con la propiedad @code{font-size}.
755 El tamaño resultante se toma como relativo al tamaño
756 @code{text-font-size} tal y como está definido en el bloque @code{\paper}.
758 @cindex fuente tipográfica, tamaño de la
759 @cindex fuente tipográfica, aumento
762 También es posible cambiar la familia por defecto de la tipografía para todo el
763 documento. Esto se hace llamando al árbol @code{make-pango-font-tree} desde
764 dentro del bloque @code{\paper}. La función toma los nombres de las familias tipográficas
765 que se deseen utilizar para el texto en estilo roman, sans serif y monoespaciado. Por
769 @cindex fuentes tipográficas, establecer la familia de las
778 (make-pango-font-tree "Times New Roman"
785 c'^\markup { roman: foo \sans bla \typewriter bar }
789 @c we don't do Helvetica / Courier, since GS incorrectly loads
796 Ejemplos: @lsr{text,font@/-family@/-override.ly}.