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:
-
tocTitleMarkup
Utilizado para dar formato al título del índice general.
tocTitleMarkup = \markup \huge \column { \fill-line { \null "Índice general" \null } \null }
-
tocItemMarkup
Usado para dar formato a los elementos del índice general.
tocItemMarkup = \markup \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page }
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 }
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:
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
Otros idiomas: English, català, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.