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))
Véase también
Archivos de inicio: ‘../ly/toc-init.ly’.