@c -*- coding: utf-8; mode: texinfo; -*- @ignore 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. @end ignore @c \version "2.11.51" @node Text @section Text @lilypondfile[quote]{text-headword.ly} Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las partituras. @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:: * Formatting text:: * Fonts:: @end menu @node Writing text @subsection Writing text Esta sección presenta las distintas formas de añadir texto a una partitura. @menu * Text scripts:: * Text spanners:: * Text marks:: * Separate text:: @end menu @node Text scripts @subsubsection Text scripts @cindex Texto, inscripciones de @cindex texto, elementos no vacíos de @cindex no vacíos, textos 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] d8^"pizz." e f g a4-"scherz." f @end lilypond 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}. @lilypond[quote,fragment,ragged-right,verbatim,relative=1] d8^\markup { \italic pizz. } e f g a4_\markup { \tiny scherz. \bold molto } f @end lilypond 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} @seealso Referencia de la notación: @ref{Formatting text}, @ref{Direction and placement}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @knownissues 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 @example \override Score.PaperColumn #'keep-inside-line = ##t @end example @node Text spanners @subsubsection Text spanners @cindex text spanners 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: @lilypond[verbatim,quote,ragged-right,fragment,relative=2] \override TextSpanner #'bound-details #'left #'text = "rit." b1\startTextSpan e,\stopTextSpan @end lilypond @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 { \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 @code{\textSpannerUp}, @funindex textSpannerDown @code{\textSpannerDown}, @funindex textSpannerNeutral @code{\textSpannerNeutral} @seealso Referencia de la notación: @ref{Line styles}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextSpanner}. @node Text marks @subsubsection Text marks @cindex coda sobre la línea divisoria @cindex segno sobre la línea divisoria @cindex calderón sobre la línea divisoria @cindex líneas divisorias, símbolos sobre las @funindex \mark 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" } c1 @end lilypond @noindent 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 @snippets @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {printing-marks-at-the-end-of-a-line-or-a-score.ly} @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {aligning-marks-with-various-notation-objects.ly} @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] {printing-marks-on-every-staff.ly} @seealso Referencia de la notación: @ref{Rehearsal marks}, @ref{Formatting text}, @ref{The Feta font}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{RehearsalMark}. @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 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. @node Separate text @subsubsection Separate text @cindex separate text @cindex standalone text @cindex top-level text @cindex text, standalone @funindex \markup 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 @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 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}. @predefined @funindex \markup @code{\markup}, @funindex \markuplines @code{\markuplines} @ignore @snippets TODO: add convenient snippets in input/new -vv @end ignore @seealso Referencia de la notación: @ref{Formatting text}, @ref{File structure}, @ref{Multiple scores in a book}, @ref{Multi-page markup}. 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:: * Common markup commands:: * Text alignment:: * Graphic notation inside markup:: * Music notation inside markup:: * Multi-page markup:: @end menu @node Text markup introduction @subsubsection Text markup introduction @cindex marcado @cindex texto, marcado de @cindex marcado de texto @cindex tipografiar texto Se usa un bloque @code{\markup} para tipografiar texto con una sintaxis ampliable específica que se denomina @qq{modo de marcado}. @cindex marcado, expresiones de @cindex marcado, sintaxis La sintaxis del marcado es similar a la sintaxis usual de LilyPond: una expresión @code{\markup} se encierra entre llaves @code{@{ @dots{} @}}. 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. 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,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 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 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: @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 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 } } } c1^\markup { \center-align { a bbbb c } } c1^\markup { \line { a b c } } @end lilypond 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: @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 Los marcados se pueden almacenar dentro de variables. Estas variables se pueden adjuntar directamente a las notas: @lilypond[quote,verbatim] allegro = \markup { \bold \large Allegro } { d''8.^\allegro d'16 d'4 r2 } @end lilypond @noindent Se puede encontrar una lista exhaustiva de las instrucciones específicas de @code{\markup} en @ref{Text markup commands}. @seealso En este manual: @ref{Text markup commands}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. Archivos de inicio: @file{scm/@/new@/-markup@/.scm}. @knownissues @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. @c is the following sentence really relevant? -vv Los errores de sintaxis para el modo de marcado a menudo producen confusión. @node Common markup commands @subsubsection Common markup commands UNTRANSLATED NODE: IGNORE ME @node Text alignment @subsubsection Text alignment UNTRANSLATED NODE: IGNORE ME @node Graphic notation inside markup @subsubsection Graphic notation inside markup UNTRANSLATED NODE: IGNORE ME @node Music notation inside markup @subsubsection Music notation inside markup UNTRANSLATED NODE: IGNORE ME @node Multi-page markup @subsubsection Multi-page markup 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 { \justified-lines { Un texto muy largo de líneas justificadas. ... } \justified-lines { Otro párrafo muy largo. ... } ... } @end verbatim @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}, @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 @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 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 @item @code{font-encoding} 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 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 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 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. 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 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] { \override Staff.TimeSignature #'font-name = #"Charter" \override Staff.TimeSignature #'font-size = #2 \time 3/4 c'1_\markup { \override #'(font-name . "Vera Bold") { This text is in Vera Bold } } } @end lilypond @noindent 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 puede ser blabla o cualquier otra cosa, pero debe estar presente). 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 Fragmentos de código: @rlsr{Text}.