LilyPond Benutzerhandbuch: 3.2.5 Inhaltsverzeichnis

### 3.2.5 Inhaltsverzeichnis

Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl `\markuplist \table-of-contents`. Die Elemente, die im Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem `\tocItem`-Befehl markiert, welches sowohl auf höchster Ebene als auch in einem musikalischen Ausdruck verwendet werden kann.

    \markuplist \table-of-contents
    \pageBreak

    \tocItem \markup "Erste Partitur"
    \score {
      {
        c'4  % ...
        \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
        d'4  % ...
      }
    }

    \tocItem \markup "zweite Partitur"
    \score {
      {
        e'4 % ...
      }
    }

Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis zu formatieren, sind in der `\paper`-Umgebung definiert. Die Standardformatierungselemente sind `tocTitleMarkup` um die Überschrift zu formatieren und `tocItemMarkup` um die einzelnen Inhaltselemente zu formatieren, bestehend aus dem Titelelement und einer Seitenzahl. Die Variablen können durch den Benutzer geändert werden:

    \paper {
      %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
      tocTitleMarkup = \markup \huge \column {
        \fill-line { \null "Table des matières" \null }
        \hspace #1
      }
      %% hier größere Schriftarten
      tocItemMarkup = \markup \large \fill-line {
        \fromproperty #'toc:text \fromproperty #'toc:page
      }
    }

Die Inhaltsverzeichniselemente Text und Seitenzahl werden in der Definition von `tocItemMarkup` aufgerufen mit `#'toc:text` und `#'toc:page`.

Neue Befehle und Beschriftungen können auch definiert werden, um eigene Inhaltsverzeichnisse zu gestalten:

- zuerst muss eine neue Beschriftungsvariable in der `\paper`-Umgebung definiert werden
- dann muss die musikalische Funktion definiert werden, die ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue Variable benutzt wird.

Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen einer Oper in das Inhaltsverzeichnis aufzunehmen:

    \paper {
      tocActMarkup = \markup \large \column {
        \hspace #1
        \fill-line { \null \italic \fromproperty #'toc:text \null }
        \hspace #1
      }
    }

    tocAct =
    #(define-music-function (text) (markup?)
       (add-toc-item! 'tocActMarkup text))

Die Zeile zwischen dem Inhalt und der Seitenzahl kann mit einer gepunkteten Linie gefüllt werden:

>     \header { tagline = ##f }
>     \paper {
>       tocItemMarkup = \tocItemWithDotsMarkup
>     }

>     \book {
>       \markuplist \table-of-contents
>       \tocItem \markup { Allegro }
>       \tocItem \markup { Largo }
>       \markup \null
>     }

#### Siehe auch

Installierte Dateien: ‘`ly/toc-init.ly`’.

#### Vordefinierte Befehle

`\table-of-contents`, `\tocItem`.

#### LilyPond – Notationsreferenz v2.22.2 (stabiler Zweig).