[ << 入出力全般 ] | [Top][Contents][Index] | [ スペースの問題 >> ] |
[ < ページ番号の参照 ] | [ Up : タイトルとヘッダ ] | [ 入力ファイルに取り組む > ] |
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 種類あります:
-
tocTitleMarkup
目次のタイトルをフォーマットするために使います。
tocTitleMarkup = \markup \huge \column { \fill-line { \null "Table of Contents" \null } \null }
-
tocItemMarkup
目次の中にある要素をフォーマットするために使います。
tocItemMarkup = \markup \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page }
これらの 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 }
更に複雑な目次を作るために、独自のマークアップを用いたカスタム コマンドを定義することもできます。次の例では、オペラの目次において幕の名前を入力する新たなスタイルを定義しています:
新たなマークアップ変数 (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 入力ファイルはこのようになります:
目次内で使う \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
[ << 入出力全般 ] | [Top][Contents][Index] | [ スペースの問題 >> ] |
[ < ページ番号の参照 ] | [ Up : タイトルとヘッダ ] | [ 入力ファイルに取り組む > ] |