[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

1.8 Texto

@translationof Text

[image of music]

Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las partituras.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

1.8.1 Escritura del texto

@translationof Writing text

Esta sección presenta las distintas formas de añadir texto a una partitura.

Nota: 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 Codificación del texto.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Panorámica de los objetos de texto

@translationof Text objects overview

Los objetos de texto se introducen ya sea como simples cadenas entrecomilladas, o como bloques de \markup que pueden aceptar una variedad de posibilidades avanzadas de formato y gráficas, como se detalla en la sección Formatear el texto.

Así, los bloques de marcado se pueden utilizar:

Muchos otros objetos basados en texto se pueden escribir como bloques de marcado, incluso cuando este no sea su uso principal.

De hecho es posible usar la instrucción \markup para personalizar la apariencia de prácticamente cualquier objeto gráfico (o ‘grob’), bien sea sobreescribiendo su propiedad text, si la tiene, o bien su propiedad stencil. Una parte de la lógica que hace posible todo esto, está explicada en (essay)Arquitectura flexible sección ‘Arquitectura flexible’ en Ensayo.

El ejemplo que aparece a continuación ilustra la omnipresencia de los bloques de marcado, no solo como algunos de los objetos relacionados más arriba, sino también en sustitución de objetos musicales por objetos de texto a través de distintos métodos.

 
\header { title = \markup "Header" }

dyn =
#(make-dynamic-script #{ \markup \text "DynamicText" #})

\markup \box "Top-level markup"

\score {
  <<
    \new ChordNames
    \with {
      majorSevenSymbol = \markup "majorSevenSymbol"
    }
    \chordmode { c1:maj7 }
    \new Staff {
      \tempo \markup "MetronomeMark"
      \mark \markup \smaller "RehearsalMark"
      \once \override TupletNumber.text =
        \markup "TupletNumber"
      \tuplet 3/2 {
        \once \override NoteHead.stencil =
          #ly:text-interface::print
        \once \override NoteHead.text =
          \markup \lower #0.5 "NoteHead"
        c''8^\markup \italic "TextScript"
        a'\finger \markup \text "Fingering"
        \once \override Rest.stencil =
          #(lambda (grob)
             (grob-interpret-markup grob #{
               \markup  "Rest"
               #}))
        r
      }
    }
    \new Lyrics \lyricmode {
      \markup \smallCaps "LyricText" 1
    }
    \new Dynamics { s1\dyn }
  >>
}

[image of music]

Véase también

Referencia de la notación: Formatear el texto, Guiones de texto, Extensiones de texto, Indicaciones de texto, Texto separado, Indicaciones de digitación, Notación común para música vocal, Imprimir los acordes, Indicaciones dinámicas nuevas, Matices dinámicos, Globos de ayuda.

Ensayo sobre grabado musical automatizado: (essay)Arquitectura flexible sección ‘Arquitectura flexible’ en Ensayo.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Guiones de texto

@translationof Text scripts

Es posible añadir indicaciones de “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 Dirección y posición.

 
\relative { a'8^"pizz." g f e a4-"scherz." f }

[image of music]

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 \markup, como se describe bajo Formatear el texto.

 
\relative {
  a'8^\markup { \italic pizz. } g f e
  a4_\markup { \tiny scherz. \bold molto } f }

[image of music]

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.

 
\relative {
  a'8^"pizz." g f e
  \textLengthOn
  a4_"scherzando" f
}

[image of music]

Se pueden adjuntar articulaciones a las notas, además de inscripciones de texto. Para ver más información, consulte Articulaciones y ornamentos.

Para ver más información sobre el orden relativo de las inscripciones de texto y las articulaciones, consulte (learning)Colocación de los objetos sección ‘Colocación de los objetos’ en Manual de Aprendizaje.

Instrucciones predefinidas

\textLengthOn, \textLengthOff.

Véase también

Manual de aprendizaje: (learning)Colocación de los objetos sección ‘Colocación de los objetos’ en Manual de Aprendizaje.

Referencia de la notación: Formatear el texto, Dirección y posición, Articulaciones y ornamentos.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.

Advertencias y problemas conocidos

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

 
\override Score.PaperColumn.keep-inside-line = ##f

[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Extensiones de texto

@translationof Text spanners

Ciertas indicaciones de ejecución, p.ej., rallentando o accelerando, se escriben como texto y se extienden sobre muchos compases mediante líneas de puntos. Estos objetos, que reciben el nombre de ‘spanners’ u objetos de extensión, se pueden crear desde una nota hasta otra usando la siguiente sintaxis:

 
\relative {
  \override TextSpanner.bound-details.left.text = "rit."
  b'1\startTextSpan
  e,\stopTextSpan
}

[image of music]

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 \markup, como se describe en Formatear el texto.

 
\relative {
  \override TextSpanner.bound-details.left.text =
    \markup { \upright "rit." }
  b'1\startTextSpan c
  e,\stopTextSpan
}

[image of music]

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 Estilos de línea.

Instrucciones predefinidas

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

Advertencias y problemas conocidos

LilyPond sólo puede manejar un objeto de extensión de texto por cada voz.

Fragmentos de código seleccionados

Objetos extensores de texto postfijos para dinámica

Los objetos de extensión \cresc, \dim y \decresc ahora se pueden redefinir como operadores postfijos y producir un solo objeto de extensión de texto. La definición de extensores personalizados también es fácil. Se pueden mezclar con facilidad los crescendi textuales y en forma de reguladores. \< y \> producen reguladores gráficos de forma predeterminada, \cresc etc. producen elementos extensores de texto de forma predeterminada.

 
% Some sample text dynamic spanners, to be used as postfix operators
crpoco =
#(make-music 'CrescendoEvent
             'span-direction START
             'span-type 'text
             'span-text "cresc. poco a poco")

\relative c' {
  c4\cresc d4 e4 f4 |
  g4 a4\! b4\crpoco c4 |
  c4 d4 e4 f4 |
  g4 a4\! b4\< c4 |
  g4\dim a4 b4\decresc c4\!
}

[image of music]

Objeto personalizado de extensión de texto de matices dinámicos, postfijo

Funciones postfijas para la creación de objetos de extensión de texto personalizados. Los objetos de extensión deben comenzar en la primera nota del compás. Hay que utilizar -\mycresc, en caso contrario el comienzo del eobjeto de extensión se asignará a la nota siguiente.

 
% Two functions for (de)crescendo spanners where you can explicitly give the
% spanner text.
mycresc =
#(define-music-function (mymarkup) (markup?)
   (make-music 'CrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))
mydecresc =
#(define-music-function (mymarkup) (markup?)
   (make-music 'DecrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))

\relative c' {
  c4-\mycresc "custom cresc" c4 c4 c4 |
  c4 c4 c4 c4 |
  c4-\mydecresc "custom decresc" c4 c4 c4 |
  c4 c4\! c4 c4
}

[image of music]

Véase también

Referencia de la notación: Estilos de línea, Matices dinámicos, Formatear el texto.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código, (snippets)Expressive marks sección ‘Expressive marks’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextSpanner sección ‘TextSpanner’ en Referencia de Funcionamiento Interno.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Indicaciones de texto

@translationof Text marks

Se pueden añadir a la partitura varios elementos de texto con la sintaxis que se describe en Llamadas de ensayo:

 
\relative {
  \mark "Verse"
  c'2 g'
  \bar "||"
  \mark "Chorus"
  g2 c,
  \bar "|."
}

[image of music]

Esta sintaxis posibilita colocar cualquier texto sobre la línea divisoria; se pueden incorporar formatos más complejos para el texto usando un bloque \markup, como está explicado en Formatear el texto:

 
\relative {
  <c' e>1
  \mark \markup { \italic { colla parte } }
  <d f>2 <e g>
  <c f aes>1
}

[image of music]

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 Notación musical dentro de elementos de marcado:

 
\relative {
  <bes' f>2 <aes d>
  \mark \markup { \musicglyph "scripts.ufermata" }
  <e g>1
}

[image of music]

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.

 
\relative c'' {
  \mark "Allegro"
  c1 c
  \mark "assai" \break
  c  c
}

[image of music]

Instrucciones predefinidas

\markLengthOn, \markLengthOff.

Fragmentos de código seleccionados

Imprimir marcas al final de una línea

Se pueden imprimir marcas al final de la línea actual, en vez de al principio de la línea siguiente. En estos casos, puede ser preferible alinear el borde derecho de la marca con la línea divisoria.

 
\relative c'' {
  g2 c
  d,2 a'
  \once \override Score.RehearsalMark.break-visibility = #end-of-line-visible
  \once \override Score.RehearsalMark.self-alignment-X = #RIGHT
  \mark "D.C. al Fine"
  \break
  g2 b,
  c1 \bar "||"
}

[image of music]

Imprimir marcas de ensayo en cualquier pentagrama

Aunque normalmente las marcas de ensayo textuales sólo se imprimen sobre el pentagrama superior, también se pueden imprimir en otro pentagrama cualquiera.

 
\score {
  <<
    \new Staff { c''1 \mark "molto" c'' }
    \new Staff { c'1 \mark "molto" c' }
  >>
  \layout {
    \context {
      \Score
      \remove "Mark_engraver"
      \remove "Staff_collecting_engraver"
    }
    \context {
      \Staff
      \consists "Mark_engraver"
      \consists "Staff_collecting_engraver"
    }
  }
}

[image of music]

Véase también

Referencia de la notación: Llamadas de ensayo, Formatear el texto, Notación musical dentro de elementos de marcado, La tipografía Emmentaler.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)MarkEvent sección ‘MarkEvent’ en Referencia de Funcionamiento Interno, (internals)Mark_engraver sección ‘Mark_engraver’ en Referencia de Funcionamiento Interno, (internals)RehearsalMark sección ‘RehearsalMark’ en Referencia de Funcionamiento Interno.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Texto separado

@translationof Separate text

Un bloque \markup puede existir de forma independiente, fuera de cualquier bloque \score, como una “expresión de nivel superior”. Esta sintaxis se describe en Estructura del archivo.

 
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}

[image of music]

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 Varias partituras en un libro.

 
\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}

[image of music]

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 Elementos de marcado de varias páginas.

Instrucciones predefinidas

\markup, \markuplist.

Fragmentos de código seleccionados

Elemento de marcado de texto independiente en dos columnas

Los textos independientes se pueden disponer en varias columnas utilizando instrucciones \markup:

 
\markup {
  \fill-line {
    \hspace #1
    \column {
      \line { O sacrum convivium }
      \line { in quo Christus sumitur, }
      \line { recolitur memoria passionis ejus, }
      \line { mens impletur gratia, }
      \line { futurae gloriae nobis pignus datur. }
      \line { Amen. }
    }
    \hspace #2
    \column \italic {
      \line { O sacred feast }
      \line { in which Christ is received, }
      \line { the memory of His Passion is renewed, }
      \line { the mind is filled with grace, }
      \line { and a pledge of future glory is given to us. }
      \line { Amen. }
    }
    \hspace #1
  }
}

[image of music]

Véase también

Referencia de la notación: Formatear el texto, Estructura del archivo, Varias partituras en un libro, Elementos de marcado de varias páginas.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

1.8.2 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 \markup.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Introducción al marcado de texto

@translationof Text markup introduction

Se usa un bloque \markup para tipografiar texto con una sintaxis ampliable que se denomina “modo de marcado”. Tales bloques se pueden emplear en cualquier parte, como se explica en Panorámica de los objetos de texto.

La sintaxis del marcado es similar a la sintaxis usual de LilyPond: una expresión \markup se encierra entre llaves { … }. 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 “texto entrecomillado” simples, los bloques \markup pueden contener expresiones anidadas o instrucciones de marcado, que se introducen utilizando el carácter de barra invertida \ . Estas instrucciones sólo afectan a la expresión que sigue inmediatamente.

 
\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
}

[image of music]

Un bloque \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 \ y #) 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.

 
\relative {
  a'1^"\italic markup..."
  a_\markup { \italic "... prints \"italic\" letters!" }
  a a
}

[image of music]

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 \markup se trata igual que la primera:

 
\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" } }
}

[image of music]

Los marcados se pueden almacenar dentro de variables. Estas variables se pueden adjuntar directamente a las notas:

 
allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}

[image of music]

Se puede encontrar una lista exhaustiva de las instrucciones específicas de \markup en Instrucciones de marcado de texto. The inner workings of these commands, and how to implement new ones, is explained in (extending)Markup functions sección ‘Markup functions’ en Extender.

Véase también

Referencia de la notación: Panorámica de los objetos de texto, Instrucciones de marcado de texto.

Manual de extensión: (extending)Funciones de marcado sección ‘Funciones de marcado’ en Extender.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Archivos de inicio: ‘scm/markup.scm’.

Advertencias y problemas conocidos

Los mensajes de error de sintaxis para el modo de marcado a menudo producen confusión.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Seleccionar la tipografía y su tamaño

@translationof Selecting font and font size

Está contemplado de forma básica el cambio de la fuente tipográfica en el modo de marcado:

 
\relative {
  d''1^\markup {
    \bold { Più mosso }
    \italic { non troppo \underline Vivo }
  }
  r2 r4 r8
  d,_\markup { \italic quasi \smallCaps Tromba }
  f1 d2 r
}

[image of music]

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:

 
\relative b' {
  b1_\markup { \huge Sinfonia }
  b1^\markup { \teeny da }
  b1-\markup { \normalsize camera }
}

[image of music]

Se puede establecer a un tamaño relativo al valor anterior:

 
\relative b' {
  b1_\markup { \larger Sinfonia }
  b1^\markup { \smaller da }
  b1-\markup { \magnify #0.6  camera }
}

[image of music]

Se puede aumentar o disminuir de forma relativa al valor fijado por el tamaño global del pentagrama:

 
\relative b' {
  b1_\markup { \fontsize #-2 Sinfonia }
  b1^\markup { \fontsize #1 da }
  b1-\markup { \fontsize #3 camera }
}

[image of music]

También se puede establecer a un tamaño de puntos fijo, independientemente del tamaño global del pentagrama:

 
\relative b' {
  b1_\markup { \abs-fontsize #20 Sinfonia }
  b1^\markup { \abs-fontsize #8 da }
  b1-\markup { \abs-fontsize #14 camera }
}

[image of music]

Si el texto incluye espacios, es mejor escribir todo entre comillas, de forma que el tamaño de cada espacio sea correcto para el tamaño de los otros caracteres.

 
\markup \fontsize #6 \bold { Sinfonia da camera }
\markup \fontsize #6 \bold { "Sinfonia da camera" }

[image of music]

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:

 
\markup {
  \column {
    \line { 1 \super st movement }
    \line { 1 \normal-size-super st movement
      \sub { (part two) }  }
  }
}

[image of music]

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.

 
\markup {
  \column {
    \line { Act \number 1 }
    \line { \sans { Scene I. } }
    \line { \typewriter { Verona. An open place. } }
    \line { Enter \roman Valentine and Proteus. }
  }
}

[image of music]

Algunas de estas familias, usadas para elementos específicos como números o matices, no ofrecen todos los caracteres, como se explica en Indicaciones dinámicas nuevas y Marcas de repetición manual.

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:

 
\markup {
  \column {
    \line {
      \concat { 1 \super st }
      movement
    }
    \line {
      \concat { \dynamic p , }
      \italic { con dolce espressione }
    }
  }
}

[image of music]

Se puede encontrar una lista exhaustiva de instrucciones de cambio y utilización personalizada de las fuentes tipográficas en Tipografías.

También es posible definir conjuntos personalizados de fuentes, tal y como se explica en Tipografías.

Instrucciones predefinidas

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger.

Véase también

Referencia de la notación: Tipografías, Indicaciones dinámicas nuevas, Marcas de repetición manual, Tipografías.

Archivos de inicio: ‘scm/define-markup-commands.scm’.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.

Advertencias y problemas conocidos

La utilización de las instrucciones de tamaño de texto \teeny, \tiny, \small, \normalsize, \large y \huge conducen a un espaciado de las líneas inconsistente comparado con el uso de \fontsize.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Alineación de texto

@translationof Text alignment

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 (learning)Mover objetos sección ‘Mover objetos’ en Manual de Aprendizaje.

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.

 
\relative {
  d''1-\markup { poco }
  f
  d-\markup { \left-align poco }
  f
  d-\markup { \center-align { poco } }
  f
  d-\markup { \right-align poco }
}

[image of music]

Se puede realizar un ajuste fino de la alineación horizontal usando un valor numérico:

 
\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 }
}

[image of music]

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 Indicaciones de texto.

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 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.

 
\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
}

[image of music]

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:

 
\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
}

[image of music]

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:

 
\markup {
  \column {
    a
    "b c"
    \line { d e f }
  }
  \hspace #10
  \center-column {
    a
    "b c"
    \line { d e f }
  }
}

[image of music]

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:

 
\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 }
}

[image of music]

Los elementos se pueden extender para que cubran cualquier anchura especificada mediante la sobreescritura de la propiedad line-width. De forma predetermianda está establecida a #f lo que implica toda la línea:

 
\markup {
  \column {
    \fill-line { left center right }
    \null
    \override #'(line-width . 30)
    \fill-line { left center right }
  }
}

[image of music]

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.

 
\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)
    }
  }
}

[image of music]

Hay una lista exhaustiva de instrucciones de alineación de texto en Align.

Véase también

Manual de aprendizaje: (learning)Mover objetos sección ‘Mover objetos’ en Manual de Aprendizaje.

Referencia de la notación: Align, Indicaciones de texto.

Archivos de inicio: ‘scm/define-markup-commands.scm’.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Notación gráfica dentro de elementos de marcado

@translationof Graphic notation inside markup

Se puede añadir diversos objetos gráficos a una partitura, utilizando instrucciones de marcado.

Ciertas instrucciones de marcado permiten la decoración de elementos de texto con gráficos, como se muestra en el ejemplo siguiente.

 
\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
  }
}

[image of music]

Algunas instrucciones pueden requerir un aumento del relleno alrededor del texto: esto se puede conseguir con algunas instrucciones de marcado descritas exhaustivamente en Align.

 
\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."
}

[image of music]

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:

 
\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
  }
}

[image of music]

Entre las funcionalidades gráficas avanzadas se encuentran la posibilidad de incluir archivos de imagen externos convertidos al formato de PostScript Encapsulado (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:

 
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'

[image of music]

Hay una lista exhaustiva de instrucciones específicas de gráficos en Graphic.

Véase también

Referencia de la notación: Align, @ref{Dimensions}, Anotaciones editoriales, Graphic.

Archivos de inicio: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Notación musical dentro de elementos de marcado

@translationof Music notation inside markup

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:

 
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'

[image of music]

Otros objetos de notación se pueden también imprimir en el modo de marcado:

 
\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
  }
}

[image of music]

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 La tipografía Emmentaler.

 
\relative {
  c''2
  c'^\markup { \musicglyph "eight" }
  c,4
  c,8._\markup { \musicglyph "clefs.G_change" }
  c16
  c2^\markup { \musicglyph "timesig.neomensural94" }
}

[image of music]

Otra forma de imprimir glifos que no son de texto se encuentra descrita en 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:

 
\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"
  }
}

[image of music]

Dichos diagramas se encuentran documentados en Instrument Specific Markup.

Incluso una partitura completa se puede incluir dentro de un objeto de marcado:

 
\relative {
  c'4 d^\markup {
    \score {
      \relative { c'4 d e f }
    }
  }
  e f |
  c d e f
}

[image of music]

Hay una lista exhaustiva de instrucciones relacionadas con la notación musical en Music.

Véase también

Referencia de la notación: Music, La tipografía Emmentaler, Explicación de las fuentes tipográficas.

Archivos de inicio: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.

Advertencias y problemas conocidos

El espaciado vertical de un \score dentro de un objeto de marcado está controlado por baseline-skip. Todo ajuste del bloque \paper se ignora.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Elementos de marcado de varias páginas

@translationof Multi-page markup

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:

 
\markuplist {
  \justified-lines {
    Un texto muy largo de líneas justificadas.
    ...
  }
  \wordwrap-lines {
    Otro párrafo muy largo.
    ...
  }
  ...
}

[image of music]

Esta sintaxis acepta una lista de elementos de marcado, que pueden ser

Hay una lista exhaustiva de las instrucciones de lista de marcado en Instrucciones de listas de marcado de texto.

Véase también

Referencia de la notación: Instrucciones de listas de marcado de texto.

Archivos de inicio: ‘scm/define-markup-commands.scm’.

Manual de extensión: (extending)Definición de nuevas instrucciones de lista de marcado sección ‘Definición de nuevas instrucciones de lista de marcado’ en Extender.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.

Referencia de funcionamiento interno: (internals)TextScript sección ‘TextScript’ en Referencia de Funcionamiento Interno.

Instrucciones predefinidas

\markuplist.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

1.8.3 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.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

Explicación de las fuentes tipográficas

@translationof Fonts explained

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 varios glifos de la tipografía Feta de LilyPond distintas a las de texto en el modo de marcado:

 
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"
  }
}

[image of music]

Sin embargo, todos estos glifos excepto las llaves de varios tamaños que están contenidas en la fuente tipográfica fetaBraces están disponibles utilizando la sintaxis más sencilla que se describe en Notación musical dentro de elementos de marcado.

Cuando se usan los glifos de la fuente de llaves 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 0 a 575 inclusive, siendo 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 Rotación de objetos.

Están disponibles tres familias de fuentes tipográficas para el texto: la fuente roman (romana, serif o con remates), la fuente sans (sin remates), y la fuente typewriter o monoespaciada.

Para el backend svg:

FamiliaFuente predeterminada
romanserif
sanssans-serif
typewritermonospace

serif, sans-serif y monospace son generic-family (las familias estándar) en las especificaciones de SVG y CSS.

Para otros backends:

FamiliaFuente predeterminada (alias)Listas de definición del alias
romanLilyPond SerifTeX Gyre Schola, C059, Century SchoolBook URW, Century Schoolbook L, DejaVu Serif, ..., serif
sansLilyPond Sans SerifTeX Gyre Heros, Nimbus Sans, Nimbus Sans L, DejaVu Sans, ..., sans-serif
typewriterLilyPond MonospaceTeX Gyre Cursor, Nimbus Mono PS, Nimbus Mono, Nimbus Mono L, DejaVu Sans Mono, ..., monospace

LilyPond Serif, LilyPond Sans Serif y LilyPond Monospace son alias de las fuentes tipográficas que están definidos en el archivo dedicado de configuración de LilyPond 00-lilypond-fonts.conf. Allí donde un carácter no exista en la primera fuente de la lista, será sustituido por el carácter correspondiente extraído de la siguiente fuente de la lista. Para ver más detalles acerca de las definiciones de los alias, consulte 00-lilypond-fonts.conf dentro de la carpeta de instalación del programa.

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 font-size es el cambio requerido a partir del tamaño predeterminado.

 
\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

[image of music]

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 Seleccionar la tipografía y su tamaño:

 
\markup {
  \column {
    \line {
      \override #'((font-shape . italic) (font-size . 4))
      Idomeneo,
    }
    \line {
      \override #'(font-family . typewriter)
      {
        \override #'(font-series . bold)
        re
        di
      }
      \override #'(font-family . sans)
      Creta
    }
  }
}

[image of music]

Al usar fuentes tipográficas de OpenType, pueden usarse las funcionalidades de fuente o font features. No se pueden especificar los idiomas ni los scripts de OpenType. Nota: no todas las fuentes de OpenType tienen todas las funciones. Si se requiere una funcionalidad que no existe en la fuente seleccionada, la funcionalidad sencillamente se ignora.

 
% Versalitas auténticas
\markup { Estilo normal: Hola HOLA }
\markup { \caps { Falsa versalita: Hola } }
\markup { \override #'(font-features . ("smcp"))
          { Versalitas auténticas: Hola } }

% Estilos de números
\markup { Cifras de estilo normal: 0123456789 }
\markup { \override #'(font-features . ("onum"))
          { Cifras de estilo antiguo: 0123456789 } }

% Alternativas de estilo
\markup { \override #'(font-features . ("salt 0"))
          { Alternativa de estilo 0: εφπρθ } }
\markup { \override #'(font-features . ("salt 1"))
          { Alternativa de estilo 1: εφπρθ } }

% Acumulación de funcionalidades
\markup { \override #'(font-features . ("onum" "smcp" "salt 1"))
          { Acumulación de funcionalidades: Hola 0123456789 εφπρθ } }

[image of music]

Para ver la lista completa de funcionalidades de fuente de OpenType font, consulte: https://www.microsoft.com/typography/otspec/featurelist.htm

Para la identificación de las funcionalidades de fuente de OpenType, consulte: http://lists.gnu.org/archive/html/lilypond-devel/2017-08/msg00004.html

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: Fuentes de un solo elemento y Fuentes tipográficas del documento completo.

Véase también

Referencia de la notación: La tipografía Emmentaler, Notación musical dentro de elementos de marcado, Rotación de objetos, Seleccionar la tipografía y su tamaño, Tipografías.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

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:

 
\override Staff.TimeSignature.font-name = "Bitstream Charter"
\override Staff.TimeSignature.font-size = #2
\time 3/4

a'1_\markup {
  \override #'(font-name . "Bitstream Vera Sans,sans-serif, Oblique Bold")
    { Vera Oblique Bold }
}

[image of music]

font-name puede describirse usando una lista de ‘fuentes tipográfcias’ separadas por comas y una lista de ‘estilos’ separados por espacios. En la medida en que la ‘fuente tipográfica’ de la lista esté instalada y contenga el glifo solicitado, se usará. En caso contrario, se usará como sustitución la siguiente fuente tipográfica de la lista.

La ejecución de lilypond con la opción siguiente presenta una lista de todas las tipografías disponibles en el sistema operativo:

 
lilypond -dshow-available-fonts

Véase también

Referencia de la notación: Explicación de las fuentes tipográficas, Fuentes tipográficas del documento completo.

Fragmentos de código: (snippets)Text sección ‘Text’ en Fragmentos de código.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

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 romana, sans-serif y 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. De forma parecida a Fuentes de un solo elemento, se puede describir usando una lista de ‘fuentes tipográficas’ separadas por comas. Sin embargo, los ‘estilos’ de fuente no se pueden describir. Para leer más explicaciones sobre las fuentes tipográficas, consulte Explicación de las fuentes tipográficas.

 
\paper  {
  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans,Nimbus Sans L"
                          "Luxi Mono"
                          (/ staff-height pt 20)))
}

\relative c'{
  c1-\markup {
    roman,
    \sans sans,
    \typewriter typewriter. }
}

[image of music]

Nota: make-pango-font-tree reinicia las fuentes tipográficas al tipo predeterminado Emmentaler.

La sintaxis siguiente nos permite cambiar las tipografías específicas, dejando el resto en sus valores predeterminados. El siguiente ejemplo tiene el mismo efecto que el ejemplo anterior de utilización de make-pango-font-tree. De igual manera que con make-pango-font-tree, podemos especificar una lista de valores separados por comas de ‘fonts’ para las categorías Romana, Sans serif y Monoespaciada (roman, sans y typewriter). Si no queremos cambiar el tamaño del pentagrama a otro distinto del predeterminado de 20 pt, no es necesaria la parte #:factor (/ staff-height pt 20).

 
\paper {
  #(define fonts
    (set-global-fonts
     #:roman "Times New Roman"
     #:sans "Nimbus Sans,Nimbus Sans L"
     #:typewriter "Luxi Mono"
     #:factor (/ staff-height pt 20) ; innecesario si el tamaño del pentagrama es el predeterminado
    ))
}

También se pueden especificar las fuentes de la notación. El ejemplo siguiente también tiene el mismo efecto que en los casos anteriores, porque establece las fuentes para la notación como las predeterminadas. Para más información, véase Sustituir la tipografía de la notación.

 
\paper {
  #(define fonts
    (set-global-fonts
     #:music "emmentaler"            ; predeterminado
     #:brace "emmentaler"            ; predeterminado
     #:roman "Times New Roman"
     #:sans "Nimbus Sans,Nimbus Sans L"
     #:typewriter "Luxi Mono"
     #:factor (/ staff-height pt 20) ; innecesario si el tamaño del pentagrama es el predeterminado
    ))
}

Nota: cada llamada a set-global-fonts reinicia completamente tanto la fuente tipográfica de la notación como las de texto. Si se deja sin especificar una cualquiera de las categorías, entonces se utiliza la fuente predeterminada para dicha categoría. Cada llamada a set-global-fonts afecta a cada uno de los bloques \book que le siguen. Si existen varios bloques \book y queremos usar distintas fuentes tipográficas para cada uno de ellos, sencillamente llamamos de nuevo a set-global-fonts, así:

 
\paper {
  #(define fonts
    (set-global-fonts
     …
    ))
}
\book {
  …
}

\paper {
  #(define fonts
    (set-global-fonts
     …
    ))
}
\book {
  …
}

Véase también

Referencia de la notación: Explicación de las fuentes tipográficas, Fuentes de un solo elemento, Seleccionar la tipografía y su tamaño, Tipografías, Sustituir la tipografía de la notación.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]

Este documento ha sido generado por gub el el 13 julio 2020 utilizando texi2html 1.82.

Otros idiomas: English, català, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.