3.2.6 Índice general

Se puede insertar un índice general o tabla de contenidos utilizando la instrucción \markuplist \table-of-contents. Los elementos que deben aparecer en la tabla de contenidos se introducen con la instrucción \tocItem, que se puede usar en el nivel más alto de la jerarquía del código, o dentro de una expresión musical.

\markuplist \table-of-contents
\pageBreak

\tocItem \markup "Primera partitura"
\score {
  {
    c'4  % ...
    \tocItem \markup "Un punto concreto dentro de la primera partitura"
    d'4  % ...
  }
}

\tocItem \markup "Segunda partitura"
\score {
  {
    e'4 % ...
  }
}

Los elementos de marcado que se usan para dar formato al índice general o tabla de contenidos se encuentran definidos dentro del bloque \paper. Hay dos elementos de marcado ‘predefinidos’ disponibles:

Ambas variables pueden modificarse.

He aquí un ejemplo que modifica el título del índice general para que aparezca en francés:

\paper {
  tocTitleMarkup = \markup \huge \column {
    \fill-line { \null "Table des matières" \null }
    \hspace #1
  }

A continuación aparece un ejemplo que modifica el tamaño de fuente tipográfica de los elementos del índice general:

tocItemMarkup = \markup \large \fill-line {
  \fromproperty #'toc:text \fromproperty #'toc:page
}

Observe la forma en que nos referimos al texto y al número de página del elemento de índice, dentro de la definición tocItemMarkup.

La instrucción \tocItemWithDotsMarkup se puede incluir dentro de tocItemMarkup para llenar la línea con puntos entre un elemento del índice general y su número de página correspondiente:

\header { tagline = ##f }
\paper {
  tocItemMarkup = \tocItemWithDotsMarkup
}

\book {
  \markuplist \table-of-contents
  \tocItem \markup { Allegro }
  \tocItem \markup { Largo }
  \markup \null
}

[image of music]

Las instrucciones predefinidas con sus propios marcados pueden definirse también para que construyan un índice general más complejo. En el ejemplo siguiente se define un estilo nuevo para introducir los nombres de los actos de una ópera en el índice general:

Una nueva variable de marcado (llamada tocActMarkup) se define en el bloque \paper:

\paper {
  tocActMarkup = \markup \large \column {
    \hspace #1
    \fill-line { \null \italic \fromproperty #'toc:text \null }
    \hspace #1
  }
}

A continuación se crea una función musical personalizada (tocAct), que usa la nueva definición de marcado tocActMarkup.

tocAct =
  #(define-music-function (text) (markup?)
     (add-toc-item! 'tocActMarkup text))

Un archivo de entrada de LilyPond que use estas definiciones personalizadas tendría el aspecto siguiente:

[image of music]

He aquí un ejemplo de la instrucción \fill-with-pattern usada dentro del contexto de un índice general:

\paper {
  tocItemMarkup = \markup { \fill-line {
    \override #'(line-width . 70)
    \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
    }
  }
}

Véase también

Archivos de inicio: ‘ly/toc-init.ly’.

Instrucciones predefinidas

\table-of-contents, \tocItem.


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

LilyPond — Referencia de la notación v2.21.0 (rama de desarrollo).