3.2.6 Índex general
Es pot inserir un índex general o taula de continguts utilitzant
l’ordre \markuplist \table-of-contents. Els elements que
han d’aparèixer a la taula de continguts s’introdueixen amb
l’ordre \tocItem, que es pot usar al nivell més alt de la
jerarquia del codi, o dins d’una expressió musical.
\markuplist \table-of-contents
\pageBreak
\tocItem \markup "Primera partitura"
\score {
{
c'4 % ...
\tocItem \markup "Un punto concret dins de la primera partitura"
d'4 % ...
}
}
\tocItem \markup "Segona partitura"
\score {
{
e'4 % ...
}
}
Els elements de marcatge que s’usen per donar format a l’índex
general o taula de continguts estan definits dins del bloc
\paper. Hi ha dos elements de marcatge ‘predefinits’ disponibles:
-
tocTitleMarkupUtilitzat per donar format al títol de l’índex general.
tocTitleMarkup = \markup \huge \column { \fill-line { \null "Índex general" \null } \null } -
tocItemMarkupUsat per donar formats als elements de l’índex general.
tocItemMarkup = \markup \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page }
Ambdues variables poden modificar-se.
Vet aquí un exemple que modifica el títol de l’índex general perquè aparegui en francès:
\paper {
tocTitleMarkup = \markup \huge \column {
\fill-line { \null "Table des matières" \null }
\hspace #1
}
A continuació apareix un exemple que modifica la mida del tipus de lletra dels elements de l´índex general:
tocItemMarkup = \markup \large \fill-line {
\fromproperty #'toc:text \fromproperty #'toc:page
}
Observeu la forma en la qual ens referim al text i al número de
pàgina de l’element d l’índex, dins de la definició
tocItemMarkup.
L’ordre \tocItemWithDotsMarkup es pot incloure dins de
tocItemMarkup per omplir la línia amb punts entre un
element de l’índex general i el seu número de pàgina
corresponent:.
\header { tagline = ##f }
\paper {
tocItemMarkup = \tocItemWithDotsMarkup
}
\book {
\markuplist \table-of-contents
\tocItem \markup { Allegro }
\tocItem \markup { Largo }
\markup \null
}
Les ordres predefinides amb els seus propis marcatges poden definir-se també perquè construeixin un índex general més complex. A l’exemple següent es defineix un estil nou per introduir els noms dels actes d’una òpera a l’índex general:
Una nova variable de marcatge (anomenada tocActMarkup) es
defineix al bloc \paper:
\paper {
tocActMarkup = \markup \large \column {
\hspace #1
\fill-line { \null \italic \fromproperty #'toc:text \null }
\hspace #1
}
}
A continuació es crea una funció musical personalitzada
(tocAct), que usa la nova definició de marcatge
tocActMarkup.
tocAct =
#(define-music-function (text) (markup?)
(add-toc-item! 'tocActMarkup text))
Un fitxer d’entrada del LilyPond que usi aquestes definicions personalitzades tindria l’aspecte següent:
Vet aquí un exemple de l’ordre \fill-with-pattern usada
dins del context d’un índex general:
\paper {
tocItemMarkup = \markup { \fill-line {
\override #'(line-width . 70)
\fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
}
}
}
Vegeu també
Fitxers d’inici: ‘ly/toc-init.ly’.