3.2.6 目次

目次は \markuplist \table-of-contents コマンドを用いて挿入します。目次に表示すべき要素は \tocItem コマンドで挿入されます – このコマンドは最上位あるいは音楽表記の内部で使用します。

\markuplist \table-of-contents
\pageBreak

\tocItem \markup "First score"
\score {
  {
    c'4  % ...
    \tocItem \markup "Some particular point in the first score"
    d'4  % ...
  }
}

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

目次を構成するために使用するマークアップは \paper ブロックの中で定義します。‘予め定義された’マークアップが 2 種類あります:

これらの 2 つの変数は変更することができます。

これは目次のタイトルをフランス語に変更する例です:

\paper {
  tocTitleMarkup = \markup \huge \column {
    \fill-line { \null "Table des matières" \null }
    \hspace #1
  }

これは目次の各要素のフォント サイズを変更する例です:

tocItemMarkup = \markup \large \fill-line {
  \fromproperty #'toc:text \fromproperty #'toc:page
}

tocItemMarkup 定義の中で要素のテキストとページ番号を参照する方法に注目してください。

目次のアイテムと、対応するページ番号との間の部分をドットで埋めるために、tocItemMarkup の中に \tocItemWithDotsMarkup コマンドを挿入することができます:

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

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

[image of music]

更に複雑な目次を作るために、独自のマークアップを用いたカスタム コマンドを定義することもできます。次の例では、オペラの目次において幕の名前を入力する新たなスタイルを定義しています:

新たなマークアップ変数 (tocActMarkup) は \paper ブロックに定義します:

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

音楽関数 (tocAct) を定義します – ここで、新たなマークアップ定義であるtocActMarkup を使います:

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

このカスタム定義を使う LilyPond 入力ファイルはこのようになります:

[image of music]

目次内で使う \fill-with-pattern コマンドの例です:

\paper {
  tocItemMarkup = \markup { \fill-line {
    \override #'(line-width . 70)
    \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
    }
  }
}

参照

インストールされているファイル: ly/toc-init.ly

定義済みコマンド

\table-of-contents, \tocItem


LilyPond 記譜法リファレンス v2.25.21 (開発版).