| [ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
| [ < Riferimento ai numeri di pagina ] | [ Su : Titoli e intestazioni ] | [ Lavorare coi file di input > ] |
3.2.6 Indice
L’indice si include col comando \markuplist \table-of-contents.
Gli elementi che devono apparire nell’indice si inseriscono col comando
\tocItem, che può essere usato nel livello superiore o all’interno
di un’espressione musicale.
\markuplist \table-of-contents
\pageBreak
\tocItem \markup "Primo brano"
\score {
{
c'4 % ...
\tocItem \markup "Un punto preciso nel primo brano"
d'4 % ...
}
}
\tocItem \markup "Secondo brano"
\score {
{
e'4 % ...
}
}
I testi markup usati per formattare l’indice sono definiti nel blocco
\paper. Ce ne sono due predefiniti:
-
tocTitleMarkupUsato per formattare il titolo dell’indice.
tocTitleMarkup = \markup \huge \column { \fill-line { \null "Indice" \null } \null } -
tocItemMarkupUsato per formattare gli elementi dell’indice.
tocItemMarkup = \markup \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page }
Queste variabili possono essere entrambe modificate.
Ecco un esempio che mostra come cambiare il titolo dell’indice in francese:
\paper {
tocTitleMarkup = \markup \huge \column {
\fill-line { \null "Table des matières" \null }
\hspace #1
}
}
Ecco un esempio che mostra come cambiare il corpo dei caratteri nell’indice:
\paper {
tocItemMarkup = \markup \large \fill-line {
\fromproperty #'toc:text \fromproperty #'toc:page
}
}
Nota il modo in cui sono citati il testo e il numero di pagina dell’elemento
dell’indice nella definizione di tocItemMarkup.
Includendo il comando \tocItemWithDotsMarkup dentro tocItemMarkup
lo spazio tra un elemento dell’indice e la sua pagina corrispondente sarà
riempito con dei punti:
\header { tagline = ##f }
\paper {
tocItemMarkup = \tocItemWithDotsMarkup
}
\book {
\markuplist \table-of-contents
\tocItem \markup { Allegro }
\tocItem \markup { Largo }
\markup \null
}
Si possono anche definire comandi personalizzati con markup specifici per creare un indice più complesso. Nell’esempio seguente, viene definito un nuovo stile per inserire i nomi degli atti nell’indice di un’opera.
Una nuova variabile di markup (chiamata tocActMarkup) viene definita
nel blocco \paper:
\paper {
tocActMarkup = \markup \large \column {
\hspace #1
\fill-line { \null \italic \fromproperty #'toc:text \null }
\hspace #1
}
}
Viene quindi aggiunta una funzione musicale personalizzata (tocAct),
che usa la nuova definizione di markup tocActMarkup:
tocAct = #(define-music-function (text) (markup?) (add-toc-item! 'tocActMarkup text))
Un file di input di LilyPond, che usi queste definizioni personalizzate, potrebbe avere il seguente output:
Ecco un esempio del comando \fill-with-pattern usato nel contesto di
un indice:
\paper {
tocItemMarkup = \markup { \fill-line {
\override #'(line-width . 70)
\fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
}
}
}
Vedi anche
File installati: ‘ly/toc-init.ly’.
Comandi predefiniti
| [ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
| [ < Riferimento ai numeri di pagina ] | [ Su : Titoli e intestazioni ] | [ Lavorare coi file di input > ] |