@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore Translation of GIT committish: 354e5ce3edd1dba03b4ecb68fc766bb46235f5d2 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore @c \version "2.19.21" @node Texto @section Texto @translationof 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{Música vocal}, @ref{Títulos y encabezamientos}. @menu * Escritura del texto:: * Formatear el texto:: * Tipografías:: @end menu @node Escritura del texto @subsection Escritura del texto @translationof Writing text Esta sección presenta las distintas formas de añadir texto a una partitura. @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{Codificación del texto}.} @menu * Guiones de texto:: * Extensiones de texto:: * Indicaciones de texto:: * Texto separado:: @end menu @node Guiones de texto @unnumberedsubsubsec Guiones de texto @translationof Text scripts @cindex texto, inscripciones de @cindex texto, elementos no vacíos de @cindex no vacíos, textos @cindex texto destacado Es posible añadir indicaciones de @qq{texto entre comillas} a una partitura, como se muestra en el ejemplo siguiente. Estas indicaciones se pueden colocar manualmente por encima o por debajo del pentagrama, utilizando la sintaxis que se describe en @ref{Dirección y posición}. @lilypond[quote,verbatim] \relative { a'8^"pizz." g f e a4-"scherz." f } @end lilypond 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{Formatear el texto}. @lilypond[quote,verbatim] \relative { a'8^\markup { \italic pizz. } g f e 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,verbatim] \relative { a'8^"pizz." g f e \textLengthOn a4_"scherzando" f } @end lilypond Se pueden adjuntar articulaciones a las notas, además de inscripciones de texto. Para ver más información, consulte @ref{Articulaciones y ornamentos}. Para ver más información sobre el orden relativo de las inscripciones de texto y las articulaciones, consulte @rlearning{Colocación de los objetos}. @funindex \textLengthOn @funindex textLengthOn @funindex \textLengthOff @funindex textLengthOff @predefined @code{\textLengthOn}, @code{\textLengthOff}. @endpredefined @seealso Manual de aprendizaje: @rlearning{Colocación de los objetos}. Referencia de la notación: @ref{Formatear el texto}, @ref{Dirección y posición}, @ref{Articulaciones y ornamentos}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @cindex texto fuera del margen @cindex margen, texto fuera del @cindex texto, mantener dentro del margen @cindex letra, mantener dentro del margen @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, requiere cálculos adicionales. En caso de que desee un proceso ligeramente más rápido, puede utilizar @example \override Score.PaperColumn.keep-inside-line = ##f @end example @node Extensiones de texto @unnumberedsubsubsec Extensiones de texto @translationof Text spanners @cindex texto, elementos de extensión 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 desde una nota hasta otra usando la siguiente sintaxis: @lilypond[verbatim,quote] \relative { \override TextSpanner.bound-details.left.text = "rit." b'1\startTextSpan e,\stopTextSpan } @end lilypond @cindex texto, formateado de los elementos de extensión @cindex formato de los elementos de extensión de texto @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{Formatear el texto}. @lilypond[quote,verbatim] \relative { \override TextSpanner.bound-details.left.text = \markup { \upright "rit." } b'1\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{Estilos de línea}. @funindex \textSpannerUp @funindex textSpannerUp @funindex \textSpannerDown @funindex textSpannerDown @funindex \textSpannerNeutral @funindex textSpannerNeutral @predefined @code{\textSpannerUp}, @code{\textSpannerDown}, @code{\textSpannerNeutral}. @endpredefined @knownissues LilyPond sólo puede manejar un objeto de extensión de texto por cada voz. @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {dynamics-text-spanner-postfix.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {dynamics-custom-text-spanner-postfix.ly} @seealso Referencia de la notación: @ref{Estilos de línea}, @ref{Matices dinámicos}, @ref{Formatear el texto}. Fragmentos de código: @rlsr{Text}, @rlsr{Expressive marks}. Referencia de funcionamiento interno: @rinternals{TextSpanner}. @node Indicaciones de texto @unnumberedsubsubsec Indicaciones de texto @translationof Text marks @cindex texto, indicaciones de @cindex indicaciones de texto @cindex texto sobre la barra de compás @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 @funindex mark @funindex \markup @funindex markup Se pueden añadir a la partitura varios elementos de texto con la sintaxis que se describe en @ref{Llamadas de ensayo}: @c \mark needs to be placed on a separate line (it's not @c attached to an object like \markup is). -vv @lilypond[verbatim,quote] \relative { c''4 \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{Formatear el texto}: @lilypond[quote,verbatim] \relative { 1 \mark \markup { \italic { colla parte } } 2 1 } @end lilypond @noindent Esta sintaxis también permite imprimir símbolos especiales como llamadas, segno o calderones, especificando el nombre del símbolo correspondiente como se explica en @ref{Notación musical dentro de elementos de marcado}: @lilypond[quote,verbatim] \relative { 2 \mark \markup { \musicglyph #"scripts.ufermata" } 1 } @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 entre las notas. Si se especifican en un salto de línea, las llamadas se imprimen al principio de la línea siguiente. @lilypond[quote,verbatim,ragged-right] \relative c'' { \mark "Allegro" c1 c \mark "assai" \break c c } @end lilypond @funindex \markLengthOn @funindex markLengthOn @funindex \markLengthOff @funindex markLengthOff @predefined @code{\markLengthOn}, @code{\markLengthOff}. @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-marks-at-the-end-of-a-line.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-marks-on-every-staff.ly} @seealso Referencia de la notación: @ref{Llamadas de ensayo}, @ref{Formatear el texto}, @ref{Notación musical dentro de elementos de marcado}, @ref{La tipografía Feta}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{MarkEvent}, @rinternals{Mark_engraver}, @rinternals{RehearsalMark}. @node Texto separado @unnumberedsubsubsec Texto separado @translationof Separate text @cindex separado, texto @cindex texto separado @cindex independiente, texto @cindex nivel superior, texto del @cindex texto del nivel superior @cindex texto independiente @funindex \markup @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{Estructura del archivo}. @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{Varias partituras en un libro}. @lilypond[quote,verbatim] \score { c'1 } \markup { Tomorrow, and tomorrow, and tomorrow... } \score { c'1 } @end lilypond Los bloques de texto independientes pueden abarcar varias páginas, posibilitando la impresión de documentos de texto o libros íntegramente desde LilyPond. Esta funcionalidad y la sintaxis que requiere se describen en @ref{Elementos de marcado de varias páginas}. @funindex \markup @funindex markup @funindex \markuplist @funindex markuplist @predefined @code{\markup}, @code{\markuplist}. @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {stand-alone-two-column-markup.ly} @seealso Referencia de la notación: @ref{Formatear el texto}, @ref{Estructura del archivo}, @ref{Varias partituras en un libro}, @ref{Elementos de marcado de varias páginas}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @node Formatear el texto @subsection Formatear el texto @translationof 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 * Introducción al marcado de texto:: * Seleccionar la tipografía y su tamaño:: * Alineación de texto:: * Notación gráfica dentro de elementos de marcado:: * Notación musical dentro de elementos de marcado:: * Elementos de marcado de varias páginas:: @end menu @node Introducción al marcado de texto @unnumberedsubsubsec Introducción al marcado de texto @translationof Text markup introduction @cindex marcado @cindex texto, marcado de @cindex marcado de texto @cindex tipografiar texto @funindex \markup @funindex markup Se usa un bloque @code{\markup} para tipografiar texto con una sintaxis ampliable que se denomina @qq{modo de marcado}. @cindex marcado, expresiones de @cindex expresiones de marcado @cindex marcado, sintaxis @cindex sintaxis del marcado La sintaxis del marcado es similar a la sintaxis usual de LilyPond: una expresión @code{\markup} se encierra entre llaves @code{@{ @dots{} @}}. Una sola palabra se considera como una expresión mínima, y por tanto no necesita estar encerrada entre llaves. A diferencia de las indicaciones de @qq{texto entrecomillado} simples, los bloques @code{\markup} pueden contener expresiones anidadas o instrucciones de marcado, que se introducen utilizando el carácter de barra invertida @code{\} . Estas instrucciones sólo afectan a la expresión que sigue inmediatamente. @lilypond[quote,verbatim] \relative { a'1-\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 @cindex texto entrecomillado en modo de marcado Un bloque @code{\markup} puede contener también cadenas de texto entre comillas. Dichas cadenas se tratan como expresiones de texto mínimas, y por tanto cualquier instrucción de marcado o carácter especial (como @code{\} y@tie{}@code{#}) se imprimen literalmente sin afectar al formateo del texto. Se puede hacer que se impriman las propias comillas si se les antepone una barra invertida. @lilypond[quote,verbatim] \relative { a'1^"\italic markup..." a_\markup { \italic "... prints \"italic\" letters!" } a a } @end lilypond Para que se traten como una expresión distinta, es necesario que las listas de palabras estén encerradas entre comillas o precedidas de una instrucción. La forma en que están definidas las expresiones de marcado afecta a cómo se apilan, se centran y se alinean estas expresiones; en el ejemplo siguiente, la segunda expresión @code{\markup} se trata igual que la primera: @lilypond[quote,verbatim] \relative c'' { c1^\markup { \center-column { a bbb c } } c1^\markup { \center-column { a { bbb c } } } c1^\markup { \center-column { a \line { bbb c } } } c1^\markup { \center-column { a "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 Referencia de la notación: @ref{Text markup commands}. Fragmentos de código: @rlsr{Text}. Archivos de inicio: @file{scm/markup.scm}. @knownissues Los errores de sintaxis para el modo de marcado a menudo producen confusión. @node Seleccionar la tipografía y su tamaño @unnumberedsubsubsec Seleccionar la tipografía y su tamaño @translationof Selecting font and font size @cindex fuente tipográfica, cambiar @cindex cambio de la fuente tipográfica @funindex \italic @funindex italic @funindex \bold @funindex bold @funindex \underline @funindex underline Está contemplado de forma básica el cambio de la fuente tipográfica en el modo de marcado: @lilypond[quote,verbatim] \relative { d''1^\markup { \bold { Più mosso } \italic { non troppo \underline Vivo } } r2 r4 r8 d,_\markup { \italic quasi \smallCaps Tromba } f1 d2 r } @end lilypond @cindex fuente tipográfica, tamaño de @cindex texto, tamaño de @funindex \abs-fontsize @funindex \fontsize @funindex fontsize @funindex \smaller @funindex smaller @funindex \larger @funindex larger @funindex \magnify @funindex magnify El tamaño de la fuente tipográfica se puede alterar en relación al tamaño global del pentagrama, de una serie de formas como se ve a continuación. Se puede fijar a un tamaño predefinido, @lilypond[quote,verbatim] \relative b' { b1_\markup { \huge Sinfonia } b1^\markup { \teeny da } b1-\markup { \normalsize camera } } @end lilypond Se puede establecer a un tamaño relativo al valor anterior, @lilypond[quote,verbatim] \relative b' { b1_\markup { \larger Sinfonia } b1^\markup { \smaller da } b1-\markup { \magnify #0.6 camera } } @end lilypond Se puede aumentar o disminuir de forma relativa al valor fijado por el tamaño global del pentagrama, @lilypond[quote,verbatim] \relative b' { b1_\markup { \fontsize #-2 Sinfonia } b1^\markup { \fontsize #1 da } b1-\markup { \fontsize #3 camera } } @end lilypond También se puede establecer a un tamaño de puntos fijo, independientemente del tamaño global del pentagrama, @lilypond[quote,verbatim] \relative b' { b1_\markup { \abs-fontsize #20 Sinfonia } b1^\markup { \abs-fontsize #8 da } b1-\markup { \abs-fontsize #14 camera } } @end lilypond @cindex subíndice @cindex superíndice @funindex \super @funindex super @funindex \sub @funindex sub @funindex \normal-size-super @funindex normal-size-super El texto se puede imprimir como subíndice o como superíndice. De forma predeterminada se imprimen en un tamaño menor, pero también se puede usar un tamaño normal: @lilypond[quote,verbatim] \markup { \column { \line { 1 \super st movement } \line { 1 \normal-size-super st movement \sub { (part two) } } } } @end lilypond @cindex fuente tipográfica, familias de El modo de marcado ofrece una manera fácil de elegir familias de tipografía alternativas. A no ser que se especifique de otro modo, se selecciona automáticamente la fuente predeterminada con serifa, de tipo romano: en la última línea del ejemplo siguiente, no hay diferencia entre la primera y la segunda palabra. @lilypond[quote,verbatim] \markup { \column { \line { Act \number 1 } \line { \sans { Scene I. } } \line { \typewriter { Verona. An open place. } } \line { Enter \roman Valentine and Proteus. } } } @end lilypond @noindent Algunas de estas familias, usadas para elementos específicos como números o matices, no ofrecen todos los caracteres, como se explica en @ref{Indicaciones dinámicas contemporáneas} y @ref{Marcas de repetición manual}. @c \concat is actually documented in Align (it is not @c a font-switching command). But we need it here. -vv Si se usan dentro de una palabra, algunas instrucciones de cambio de tipografía o de formateo pueden producir un espacio vacío no deseado. Esto se puede solucionar concatenando en uno solo los distintos elementos de texto: @lilypond[quote,verbatim] \markup { \column { \line { \concat { 1 \super st } movement } \line { \concat { \dynamic p , } \italic { con dolce espressione } } } } @end lilypond Se puede encontrar una lista exhaustiva de instrucciones de cambio y utilización personalizada de las fuentes tipográficas en @ref{Font}. También es posible definir conjuntos personalizados de fuentes, tal y como se explica en @ref{Tipografías}. @funindex \teeny @funindex teeny @funindex \tiny @funindex tiny @funindex \small @funindex small @funindex \normalsize @funindex normalsize @funindex \large @funindex large @funindex \huge @funindex huge @funindex \smaller @funindex smaller @funindex \larger @funindex larger @predefined @code{\teeny}, @code{\tiny}, @code{\small}, @code{\normalsize}, @code{\large}, @code{\huge}, @code{\smaller}, @code{\larger}. @endpredefined @seealso Referencia de la notación: @ref{Font}, @ref{Indicaciones dinámicas contemporáneas}, @ref{Marcas de repetición manual}, @ref{Tipografías}. Archivos de inicio: @file{scm/define-markup-commands.scm}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @knownissues La utilización de las instrucciones de tamaño de texto @code{\teeny}, @code{\tiny}, @code{\small}, @code{\normalsize}, @code{\large} y @code{\huge} conducen a un espaciado de las líneas inconsistente comparado con el uso de @code{\fontsize}. @node Alineación de texto @unnumberedsubsubsec Alineación de texto @translationof Text alignment @cindex texto, alineación de @cindex alinear texto @cindex alinear texto de marcado @cindex alinear elementos de marcado @cindex marcado, elementos, alinear @cindex marcado, texto, alinear Esta subsección trata sobre cómo colocar texto en el modo de marcado. Los objetos de marcado también se pueden mover como un todo, usando la sintaxis que se describe en @rlearning{Mover objetos}. @c Padding commands should be mentioned on this page, but @c most of these require \box to be more clearly illustrated. -vv @cindex texto, alineación horizontal @cindex horizontal, alineación de texto @funindex \left-align @funindex left-align @funindex \center-align @funindex center-align @funindex \right-align @funindex right-align Los objetos de marcado se pueden alinear de distintas maneras. De forma predeterminada, una indicación de texto se alinea sobre el borde izquierdo: en el ejemplo siguiente, no existe diferencia entre los marcados primero y segundo. @lilypond[quote,verbatim] \relative { d''1-\markup { poco } f d-\markup { \left-align poco } f d-\markup { \center-align { poco } } f d-\markup { \right-align poco } } @end lilypond @funindex \halign @funindex halign Se puede realizar un ajuste fino de la alineación horizontal usando un valor numérico: @lilypond[quote,verbatim] \relative { a'1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 poco } } @end lilypond @noindent Ciertos objetos pueden poseer sus propios procedimientos de alineación, y por tanto no resultan afectados por estas instrucciones. Es posible mover estos objetos de marcado como un todo, como se muestra por ejemplo en @ref{Indicaciones de texto}. @cindex texto, alineación vertical @cindex vertical, alineación de texto @funindex \raise @funindex raise @funindex \lower @funindex lower @funindex \null @funindex null La alineación vertical es un poco más compleja. Como se ha dicho más arriba, los objetos de marcado se pueden mover como un todo; sin embargo, también es posible mover elementos específicos dentro de un bloque de marcado. En este caso, el elemento a mover se debe preceder de un @emph{punto de anclaje}, que puede ser otro elemento de marcado o un objeto invisible. El ejemplo siguiente ejemplifica estas dos posibilidades; el último marcado en este ejemplo no tiene punto de anclaje y por ello no resulta movido. @lilypond[quote,verbatim] \relative { d'2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \null \lower #4 \bold { Très modéré } } a d,^\markup { \raise #4 \italic { Une forêt. } } a'4 a g2 a } @end lilypond @funindex \general-align @funindex general-align @funindex \translate @funindex translate @funindex \translate-scaled @funindex translate-scaled Algunas instrucciones pueden afectar tanto a la alineación horizontal como a la vertical de los objetos de texto en el modo de marcado. Cualquier objeto afectado por estas instrucciones se deben preceder de un punto de anclaje: @lilypond[quote,verbatim] \relative { d'2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \null \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup { \null \translate-scaled #'(-1 . 2) \teeny "Une forêt." } a'4 a g2 a } @end lilypond @cindex varias líneas, marcado @cindex marcado de varias líneas @cindex varias líneas, texto @cindex texto de varias líneas @cindex texto en columnas @cindex columnas, texto @funindex \column @funindex column @funindex \center-column @funindex center-column Un objeto de marcado puede incluir varias líneas de texto. En el ejemplo siguiente, cada elemento o expresión se sitúa en su propia línea, ya sea alineada por la izquierda o centrada: @lilypond[quote,verbatim] \markup { \column { a "b c" \line { d e f } } \hspace #10 \center-column { a "b c" \line { d e f } } } @end lilypond @cindex centrar texto en la página @cindex texto, centrar en la página @cindex marcado, centrar en la página @funindex \fill-line @funindex fill-line De forma similar, una lista de elementos o expresiones se puede repartir de forma que rellene por completo el ancho de la línea horizontal (si hay un solo elemento, se centra en el papel). A su vez, estas expresiones pueden incluir texto de varias líneas o cualquier otra expresión de marcado: @lilypond[quote,verbatim] \markup { \fill-line { \line { William S. Gilbert } \center-column { \huge \smallCaps "The Mikado" or \smallCaps "The Town of Titipu" } \line { Sir Arthur Sullivan } } } \markup { \fill-line { 1885 } } @end lilypond @cindex texto ajustado a palabras @cindex texto justificado @cindex justificado, texto @cindex ajustado a palabras, texto @cindex marcado, texto, ajustado a palabras @cindex texto de marcado ajustado a palabras @cindex ajuste de línea, texto con @funindex \wordwrap @funindex wordwrap @funindex \justify @funindex justify Las indicaciones de texto largas se pueden también ajustar automáticamente según un ancho de línea dado. Estarán alineados por la izquierda o justificados, como se muestra en el ejemplo siguiente. @lilypond[quote,verbatim] \markup { \column { \line \smallCaps { La vida breve } \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) } \hspace #0 \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) } } } @end lilypond @cindex texto, instrucciones de alineación @cindex marcado, texto, instrucciones de alineación @cindex alineación, instrucciones de texto Hay una lista exhaustiva de instrucciones de alineación de texto en @ref{Align}. @seealso Manual de aprendizaje: @rlearning{Mover objetos}. Referencia de la notación: @ref{Align}, @ref{Indicaciones de texto}. Archivos de inicio: @file{scm/define-markup-commands.scm}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @node Notación gráfica dentro de elementos de marcado @unnumberedsubsubsec Notación gráfica dentro de elementos de marcado @translationof Graphic notation inside markup @cindex gráficos, insertar @cindex dibujar objetos gráficos @cindex gráficos, dibujar objetos @cindex insertar objetos gráficos @cindex gráficos, insertar objetos Se puede añadir diversos objetos gráficos a una partitura, utilizando instrucciones de marcado. @cindex enmarcar texto @cindex texto, enmarcar @cindex texto, decorar @cindex marcado, texto, decorar @cindex marcado, texto, enmarcar @cindex decorar texto @funindex \box @funindex box @funindex \circle @funindex circle @funindex \rounded-box @funindex rounded-box @funindex \bracket @funindex bracket @funindex \hbracket @funindex hbracket Ciertas instrucciones de marcado permiten la decoración de elementos de texto con gráficos, como se muestra en el ejemplo siguiente. @lilypond[quote,verbatim] \markup \fill-line { \center-column { \circle Jack \box "in the box" \null \line { Erik Satie \hspace #3 \bracket "1866 - 1925" } \null \rounded-box \bold Prelude } } @end lilypond @cindex relleno alrededor de texto @cindex texto, relleno de @cindex marcado, relleno de textos de @funindex \pad-markup @funindex pad-markup @funindex \pad-x @funindex pad-x @funindex \pad-to-box @funindex pad-to-box @funindex \pad-around @funindex pad-around Algunas instrucciones pueden requerir un aumento del relleno alrededor del texto: esto se puede conseguir con algunas instrucciones de marcado descritas exhaustivamente en @ref{Align}. @lilypond[quote,verbatim] \markup \fill-line { \center-column { \box "Charles Ives (1874 - 1954)" \null \box \pad-markup #2 "THE UNANSWERED QUESTION" \box \pad-x #8 "A Cosmic Landscape" \null } } \markup \column { \line { \hspace #10 \box \pad-to-box #'(-5 . 20) #'(0 . 5) \bold "Largo to Presto" } \pad-around #3 "String quartet keeps very even time, Flute quartet keeps very uneven time." } @end lilypond @cindex gráfica, notación @cindex símbolos no musicales @cindex no musicales, símbolos @cindex notación gráfica @funindex \combine @funindex combine @funindex \draw-circle @funindex draw-circle @funindex \filled-box @funindex filled-box @funindex \triangle @funindex triangle @funindex \draw-line @funindex draw-line @funindex \arrow-head @funindex arrow-head Se pueden imprimir otros símbolos o elementos gráficos sin que se requiera ningún otro texto. De igual manera que en el caso de las expresiones de marcado, dichos objetos se pueden combinar: @lilypond[quote,verbatim] \markup { \combine \draw-circle #4 #0.4 ##f \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1 \hspace #5 \center-column { \triangle ##t \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f } } @end lilypond @cindex insertar gráficos @cindex imágenes, insertar @cindex gráficos, insertar @cindex PostScript @funindex \epsfile @funindex epsfile @funindex \postscript @funindex postscript Entre las funcionalidades gráficas avanzadas se encuentran la posibilidad de incluir archivos de imagen externos convertidos al formato de PostScript Encapsulado (@emph{eps}), y la inclusión directa de gráficos dentro del archivo de entrada, usando código PostScript nativo. En tal caso puede ser de utilidad la especificación explícita del tamaño del dibujo, como se ejemplifica a continuación: @lilypond[quote,verbatim,fragment] c'1^\markup { \combine \epsfile #X #10 #"./context-example.eps" \with-dimensions #'(0 . 6) #'(0 . 10) \postscript #" -2 3 translate 2.7 2 scale newpath 2 -1 moveto 4 -2 4 1 1 arct 4 2 3 3 1 arct 0 4 0 3 1 arct 0 0 1 -1 1 arct closepath stroke" } c' @end lilypond Hay una lista exhaustiva de instrucciones específicas de gráficos en @ref{Graphic}. @seealso Referencia de la notación: @ref{Graphic}, @ref{Anotaciones editoriales}. Archivos de inicio: @file{scm/define-markup-commands.scm}, @file{scm/stencil.scm}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @node Notación musical dentro de elementos de marcado @unnumberedsubsubsec Notación musical dentro de elementos de marcado @translationof Music notation inside markup @cindex notación dentro de marcado @cindex música dentro de marcado @cindex marcado, notación musical dentro de Se pueden añadir a la partitura diversos elementos de notación musical, dentro de un objeto de marcado. Las notas y las alteraciones se pueden escribir utilizando instrucciones de marcado: @lilypond[quote,verbatim,fragment] a'2 a'^\markup { \note #"4" #1 = \note-by-number #1 #1 #1.5 } b'1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a'1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b' @end lilypond Otros objetos de notación se pueden también imprimir en el modo de marcado: @lilypond[quote,verbatim] \relative { g1 bes ees\finger \markup \tied-lyric #"4~1" fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 } cis d-\markup { \markalphabet #8 \markletter #8 } } @end lilypond De forma más general, cualquier símbolo musical disponible se puede incluir por separado dentro de un objeto de marcado, como se ejemplifica a continuación; hay una lista exhaustiva de estos símbolos y sus nombres en @ref{La tipografía Feta}. @lilypond[quote,verbatim] \relative { c''2 c'^\markup { \musicglyph #"eight" } c,4 c,8._\markup { \musicglyph #"clefs.G_change" } c16 c2^\markup { \musicglyph #"timesig.neomensural94" } } @end lilypond Otra forma de imprimir glifos que no son de texto se encuentra descrita en @ref{Explicación de las fuentes tipográficas}. Tiene la utilidad de imprimir llaves de distintos tamaños. El modo de marcado también contempla diagramas para instrumentos específicos: @lilypond[quote,verbatim] \relative { c''1^\markup { \fret-diagram-terse #"x;x;o;2;3;2;" } c^\markup { \harp-pedal #"^-v|--ov^" } c c^\markup { \combine \musicglyph #"accordion.discant" \combine \raise #0.5 \musicglyph #"accordion.dot" \raise #1.5 \musicglyph #"accordion.dot" } } @end lilypond @c The accordion diagram is actually taken from a snippet. @noindent Dichos diagramas se encuentran documentados en @ref{Instrument Specific Markup}. @cindex partitura dentro marcado @cindex marcado, partitura dentro de Incluso una partitura completa se puede incluir dentro de un objeto de marcado. En tal caso, el bloque anidado @code{\score} debe contener un bloque @code{\layout}, como se muestra aquí: @lilypond[quote,verbatim] \relative { c'4 d^\markup { \score { \relative { c'4 d e f } \layout { } } } e f | c d e f } @end lilypond Hay una lista exhaustiva de instrucciones relacionadas con la notación musical en @ref{Music}. @seealso Referencia de la notación: @ref{Music}, @ref{La tipografía Feta}, @ref{Explicación de las fuentes tipográficas}. Archivos de inicio: @file{scm/define-markup-commands.scm}, @file{scm/fret-diagrams.scm}, @file{scm/harp-pedals.scm}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @node Elementos de marcado de varias páginas @unnumberedsubsubsec Elementos de marcado de varias páginas @translationof Multi-page markup @cindex páginas, marcado de varias @cindex marcado de varias páginas @cindex marcado, texto de, varias páginas @cindex texto que ocupa varias páginas @funindex \markuplist @funindex markuplist @funindex \justified-lines @funindex justified-lines @funindex \wordwrap-lines @funindex wordwrap-lines Aunque los objetos de marcado estándar no se pueden dividir, una sintaxis específica hace posible la introducción de líneas de texto que pueden abarcar varias páginas: @c KEEP LY @lilypond[quote,verbatim] \markuplist { \justified-lines { Un texto muy largo de líneas justificadas. ... } \wordwrap-lines { Otro párrafo muy largo. ... } ... } @end lilypond Esta sintaxis acepta una lista de elementos de marcado, que pueden ser @itemize @item el resultado de una instrucción de lista de marcado, @item una lista de marcados, @item o una lista de listas de marcado. @end itemize Hay una lista exhaustiva de las instrucciones de lista de marcado en @ref{Text markup list commands}. @seealso Referencia de la notación: @ref{Text markup list commands}. Archivos de inicio: @file{scm/define-markup-commands.scm}. Manual de extensión: @rextend{New markup list command definition}. Fragmentos de código: @rlsr{Text}. Referencia de funcionamiento interno: @rinternals{TextScript}. @funindex \markuplist @funindex markuplist @predefined @code{\markuplist}. @endpredefined @node Tipografías @subsection Tipografías @translationof Fonts Esta sección presenta la forma en que se manejan las fuentes tipográficas, y cómo se pueden cambiar en las partituras. @menu * Explicación de las fuentes tipográficas:: * Fuentes de un solo elemento:: * Fuentes tipográficas del documento completo:: @end menu @node Explicación de las fuentes tipográficas @unnumberedsubsubsec Explicación de las fuentes tipográficas @translationof Fonts explained @cindex Pango @cindex fuentes tipográficas, explicación @cindex llaves de distintos tamaños @cindex fuentes tipográficas, explicación @cindex llaves de varios tamaños @cindex fuentes tipográficas de símbolos en marcado @cindex símbolos, fuentes tipográficas en el marcado @funindex font-interface Las fuentes tipográficas se manejan a través de distintas bibliotecas. FontConfig se utiliza para detectar las tipografías disponibles en el sistema; las tipografías seleccionadas se trazan utilizando Pango. Las tipografías de notación musical se pueden describir como un conjunto de glifos específicos, ordenados en varias familias. La siguiente sintaxis permite usar directamente varias tipografías @code{feta} de LilyPond distintas a las de texto en el modo de marcado: @lilypond[quote,verbatim,fragment] a'1^\markup { \vcenter { \override #'(font-encoding . fetaBraces) \lookup #"brace120" \override #'(font-encoding . fetaText) \column { 1 3 sf } \override #'(font-encoding . fetaMusic) \lookup #"noteheads.s0petrucci" } } @end lilypond @noindent Sin embargo, todos estos glifos excepto las llaves de varios tamaños que están contenidas en la fuente tipográfica @code{fetaBraces} están disponibles utilizando la sintaxis más sencilla que se describe en @ref{Notación musical dentro de elementos de marcado}. Cuando se usan los glifos de la fuente de llaves @code{fetaBraces}, el tamaño de la llave se especifica por la parte numérica del nombre del glifo, en unidades arbitrarias. Se puede especificar cualquier entero de @code{0} a @code{575} inclusive, siendo @code{0} el que produce la llave más pequeña. El valor óptimo se debe determinar por ensayo y error. Todos estos glifos son llaves izquierdas; las llaves derechas se pueden obtener mediante rotación, véase @ref{Rotación de objetos}. Están disponibles tres familias de tipografías de texto: la tipografía @emph{romana} (con serifa), que de forma predeterminada es New Century Schoolbook, la fuente @emph{sans} y la fuente monoespaciada @emph{de máquina de escribir}. Estas dos últimas familias vienen determinadas por la instalación de Pango. @warning{No existen fuentes tipográficas predeterminadas asociadas con las familias de fuente @emph{sans} y @emph{typewriter}. Un archivo de entrada que especifica alguna de éstas puede dar lugar a salidas diferentes en distintos sistemas. Para asegurar un resultado consistente entre distintas plataformas, se deben especificar las tipografías por su nombre, y dichas fuentes deben estar disponibles en cualquier sistema que vaya a procesar el documento. Véase @ref{Fuentes de un solo elemento} y @ref{Fuentes tipográficas del documento completo}.} Cada familia puede incluir distintas formas y series. El ejemplo siguiente muestra la posibilidad de seleccionar familias, formas, series y tamaños alternativos. El valor que se da a @code{font-size} es el cambio requerido a partir del tamaño predeterminado. @lilypond[quote,verbatim,fragment] \override Score.RehearsalMark.font-family = #'typewriter \mark \markup "Ouverture" \override Voice.TextScript.font-shape = #'italic \override Voice.TextScript.font-series = #'bold d''2.^\markup "Allegro" \override Voice.TextScript.font-size = #-3 c''4^smaller @end lilypond @noindent Se puede usar una sintaxis similar en el modo de marcado, aunque en este caso es preferible usar la sintaxis sencilla que se explica en @ref{Seleccionar la tipografía y su tamaño}: @lilypond[quote,verbatim] \markup { \column { \line { \override #'(font-shape . italic) \override #'(font-size . 4) Idomeneo, } \line { \override #'(font-family . typewriter) { \override #'(font-series . bold) re di } \override #'(font-family . sans) Creta } } } @end lilypond Aunque es fácil cambiar entre las fuentes tipográficas preconfiguradas, también es posible usar otras fuentes, como se explica en las siguientes secciones: @ref{Fuentes de un solo elemento} y @ref{Fuentes tipográficas del documento completo}. @seealso Referencia de la notación: @ref{La tipografía Feta}, @ref{Notación musical dentro de elementos de marcado}, @ref{Rotación de objetos}, @ref{Seleccionar la tipografía y su tamaño}, @ref{Font}. @node Fuentes de un solo elemento @unnumberedsubsubsec Fuentes de un solo elemento @translationof Single entry fonts Se puede usar en una partitura cualquier fuente tipográfica que esté instalada en el sistema operativo y reconocida por parte de FontConfig, usando la siguiente sintaxis: @lilypond[quote,verbatim,fragment] \override Staff.TimeSignature.font-name = #"Bitstream Charter" \override Staff.TimeSignature.font-size = #2 \time 3/4 a'1_\markup { \override #'(font-name . "Vera Bold") { Vera Bold } } @end lilypond @cindex fuentes tipográficas, buscar, disponibles @cindex buscar fuentes tipográficas disponibles @cindex listar fuentes tipográficas disponibles @cindex disponibles, listar las fuentes tipográficas @funindex show-available-fonts La instrucción siguiente presenta una lista de todas las tipografías disponibles en el sistema operativo: @example lilypond -dshow-available-fonts x @end example @seealso Referencia de la notación: @ref{Explicación de las fuentes tipográficas}, @ref{Fuentes tipográficas del documento completo}. Fragmentos de código: @rlsr{Text}. @c A source file gets never installed... @c Installed files: @c @file{lily/font-config-scheme.cc}. @node Fuentes tipográficas del documento completo @unnumberedsubsubsec Fuentes tipográficas del documento completo @translationof Entire document fonts Se pueden cambiar las fuentes tipográficas que se usan como tipografías predeterminadas en las familias @emph{romana}, @emph{sans-serif} y @emph{monoespaciada}, especificándolas en este orden como se ve en el ejemplo de abajo, que escala las tipografías automáticamente con el valor fijado para el tamaño global del pentagrama. Para leer más explicaciones sobre las fuentes tipográficas, consulte @ref{Explicación de las fuentes tipográficas}. @cindex fuente, establecer la familia de @cindex fuentes tipográficas, cambiar para todo el documento @funindex make-pango-font-tree @lilypond[verbatim,quote] \paper { #(define fonts (make-pango-font-tree "Times New Roman" "Nimbus Sans" "Luxi Mono" (/ staff-height pt 20))) } \relative c'{ c1-\markup { roman, \sans sans, \typewriter typewriter. } } @end lilypond @c we don't do Helvetica / Courier, since GS incorrectly loads @c Apple TTF fonts @seealso Referencia de la notación: @ref{Explicación de las fuentes tipográficas}, @ref{Fuentes de un solo elemento}, @ref{Seleccionar la tipografía y su tamaño}, @ref{Font}.