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:

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
}

[image of music]

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:

[image of music]

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

\table-of-contents, \tocItem.


Guida alla Notazione di LilyPond v2.25.22 (development-branch).