3.2.5 Table des matières
La commande \markuplist \table-of-contents
vous permettra de
générer une table des matières. Les éléments qui la composeront sont
créés par la commande \tocItem
, insérée indépendamment ou au sein
d’une expression musicale.
\markuplist \table-of-contents \pageBreak \tocItem \markup "Premier mouvement" \score { { c'4 % @dots{} \tocItem \markup "Passage spécifique du premier mouvement" d'4 % @dots{} } } \tocItem \markup "Second mouvement" \score { { e'4 % @dots{} } }
Les markups dévolus à la mise en forme de la table des matières
se définissent dans le bloc \paper
. Il s’agit par défaut de
tocTitleMarkup
pour le titre de la table, et de
tocItemMarkup
pour ses éléments – composés de leur libellé et
numéro de page. Vous pouvez bien entendu personnaliser ces variables :
\paper { %% Traduit le titre de la table des matières en français : tocTitleMarkup = \markup \huge \column { \fill-line { \null "Table des matières" \null } \hspace #1 } %% des fontes un peu plus grandes tocItemMarkup = \markup \large \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page } }
Notez bien la manière de référencer le libellé et le numéro de page dans
la définition de tocItemMarkup
.
N’hésitez pas à définir vous-même d’autres commandes et markups afin de construire une table plus élaborée :
-
commencez par définir une nouvelle variable de type
markup
au sein du bloc\paper
, - puis définissez une fonction musicale chargée d’insérer un élément de la table à partir de cette variable.
Dans l’exemple qui suit, nous avons créé un nouveau style d’élément dans le but de mentionner les actes dans la table des matières d’un opéra :
\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))
L’élément et son numéro de page peuvent se rejoindre par une ligne pointillée :
\header { tagline = ##f } \paper { tocItemMarkup = \tocItemWithDotsMarkup } \book { \markuplist \table-of-contents \tocItem \markup { Allegro } \tocItem \markup { Largo } \markup \null }
Commandes prédéfinies
Voir aussi
Fichiers d’initialisation : ‘../ly/toc-init.ly’.
Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.