Referencia de la notación de GNU LilyPond: 3.2.4 Índice general

### 3.2.4 Índice general

Se puede insertar un índice general o tabla de contenidos utilizando la instrucción `\markuplines \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.

    \markuplines \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 se encuentran definidos dentro del bloque `\paper`. Los elementos predeterminados son `tocTitleMarkup`, para dar formato al título de la tabla, y `tocItemMarkup`, para aplicar formato a los elementos del índice, que consisten en el título del elemento y el número de página. Estas variables se pueden cambiar por parte del usuario:

    \paper {
      %% Traducir el título del índice al español:
      tocTitleMarkup = \markup \huge \column {
        \fill-line { \null "Índice general" \null }
        \hspace #1
      }
      %% usar una fuente mayor
      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`.

También se pueden definir nuevas instrucciones y elementos de marcado para crear índices generales más elaborados:

- en primer lugar, defina una variable de marcado nueva dentro del bloque `\paper`
- luego defina una función de música cuyo propósito es añadir un elemento al índice general utilizando esta variable de marcado del bloque `\paper`.

En el ejemplo siguiente se define un estilo nuevo para introducir los nombres de los actos de una ópera en el índice general:

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

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

Se pueden añadir puntos de relleno entre un elemento y su número de página:

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

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

#### Véase también

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

#### Instrucciones predefinidas

`\table-of-contents`, `\tocItem`.

Otros idiomas: English, deutsch, français, 日本語.

#### LilyPond — Referencia de la notación