LilyPond 記譜法リファレンス: 3.2.1 タイトル、ヘッダ、フッタを作成する

### 3.2.1 タイトル、ヘッダ、フッタを作成する

#### タイトルの説明

1 つの入力ファイルにある各 `\book` ブロックは、別々の出力ファイルを作り出します。ファイル構造 を参照してください。出力ファイルごとに 3 種類のタイトル エリアが提供されています: 各ブックの最初にあるブック タイトル、各ブック パートの最初にあるブック パート タイトル、各スコアの最初にあるスコア タイトルです。

`title` や `composer` のようなタイトル フィールドの値は `\header` ブロックでセットします (`\header` ブロックの構文や、デフォルトで使用可能なフィールドの完全なリストは、ブック パートとスコアのタイトルのデフォルト レイアウト を参照してください)。ブック タイトル、ブック パート タイトル、スコア タイトルは同じフィールドを含むことができますが、デフォルトではスコア タイトルに使用されるのは `piece` と `opus` に限られています。

`\header` ブロックは、4 つの異なる場所に配置することができ、それぞれが階層構造を作り出します。

- 入力ファイルの最初。つまり全ての `\book`, `\bookpart`, `\score` ブロックよりも前。
- `\book` ブロックの中だが、そのブックにある全ての `\bookpart` や `\score` ブロックよりも外側。
- `\bookpart` ブロックの中だが、そのブック パートにある全ての `\score` よりも外側。
- `\score` ブロックの中。

それぞれのフィールドの値は、この階層に沿って上書きされます。高い階層にある値は、下の階層においてオーバライドされない限り保たれます。 つまり:

- ブック タイトルはまず、入力ファイルの最初にあるフィールドから設定され、`\book` ブロック内でフィールドが定義されていた場合にはそれで上書きされます。最終的な値は、ブックの一番始め、つまり最初のブック パートの前に、ページを割くような何らかのものがある場合に、そのブックのブック タイトルを表示するために使われます。`\pageBreak` が 1 つあればブック タイトルは表示されるようになります。
- ブック パート タイトルはまず、入力ファイルの最初にあるフィールドから設定され、`\book` ブロック内でフィールドが定義されていた場合はそれで上書きされ、また `\bookpart` ブロック内で定義されていた場合には更に上書きされます。最終的な値は、そのブック パートのブック パート タイトルを表示するために使われます。
- スコア タイトルはまず、入力ファイルの最初にあるフィールドから設定され、`\book` ブロック内でフィールドが定義されていた場合はそれで上書きされ、`\bookpart` ブロック内で定義されていた場合には更に上書きされ、最後に `\score` ブロックで定義されていた場合にも上書きされます。最終的な値は、そのスコアのスコア タイトルを表示するために使われます。しかしスコア タイトルは、`\paper` 変数の `print-all-headers` が `#t` にセットされていない限り、`piece` と `opus` フィールドのみが表示されるということに注意してください。

`\header` ブロックを 4 つの場所全てに配置する必要はありません。どれかを、あるいは全てを省略することができます。同様に、単純な入力ファイルでは、`\book` や `\bookpart` ブロックを省略することができ、その時にはコンパイル時に暗黙的に作成されます。

ブックにスコアが 1 つだけある場合、`\header` ブロックは通常、ファイルの先頭に配置するべきです。こうすることで、ブック パート タイトルのみが生成され、全てのタイトル フィールドが使用できます。

ブックにスコアが複数ある場合、`\header` ブロックの配置方法は出版のスタイルに応じていくつか考えられます。例えば、出版譜が同じ作曲家によるいくつかの楽曲を含む場合、まずファイルの先頭に `\header` ブロックを配置し、そこでブック タイトルと作曲家を指定して、次にそれぞれの `\score` ブロック内に `\header` ブロックを配置し、そこで `piece` や `opus` を指定するのが最適でしょう。以下に例を示します:

>     \header {
>       title = "SUITE I."
>       composer = "J. S. Bach."
>     }

>     \score {
>       \header {
>         piece = "Prélude."
>       }
>       \new Staff \relative {
>         \clef bass
>         \key g \major
>         \repeat unfold 2 { g,16( d' b') a b d, b' d, } |
>         \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
>       }
>     }

>     \score {
>       \header {
>         piece = "Allemande."
>       }
>       \new Staff \relative {
>         \clef bass
>         \key g \major
>         \partial 16 b16 |
>         <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
>         d16( b g fis) g( e d c) b(c d e) fis( g a b) |
>       }
>     }

更に複雑な配置をすることもできます。例えば、ブック内の `\header` ブロックにあるテキスト フィールドは全てのスコア タイトルに表示させることができ、いくつかのフィールドを上書きしたり、手動で表示を抑制することもできます:

>     \book {
>       \paper {
>         print-all-headers = ##t
>       }
>       \header {
>         title = "DAS WOHLTEMPERIRTE CLAVIER"
>         subtitle = "TEIL I"
>         % このブックではデフォルトで LilyPond が生成するフッタを表示しません
>         tagline = ##f
>       }
>       \markup { \vspace #1 }
>       \score {
>         \header {
>           title = "PRAELUDIUM I"
>           opus = "BWV 846"
>           % このスコアでは subtitle を表示しません
>           subtitle = ##f
>         }
>         \new PianoStaff <<
>           \new Staff { s1 }
>           \new Staff { \clef "bass" s1 }
>         >>
>       }
>       \score {
>         \header {
>           title = "FUGA I"
>           subsubtitle = "A 4 VOCI"
>           opus = "BWV 846"
>           % このスコアでは subtitle を表示しません
>           subtitle = ##f
>         }
>         \new PianoStaff <<
>           \new Staff { s1 }
>           \new Staff { \clef "bass" s1 }
>         >>
>       }
>     }

#### 参照

記譜法リファレンス: ファイル構造, ブック パートとスコアのタイトルのデフォルト レイアウト, タイトルのカスタム レイアウト

#### ブック パートとスコアのタイトルのデフォルト レイアウト

以下の例は表示に反映される `\header` のすべての変数の使用例です:

>     \book {
>       \header {
>           % 以下のフィールドは中央揃えされます。
>         dedication = "Dedication"
>         title = "Title"
>         subtitle = "Subtitle"
>         subsubtitle = "Subsubtitle"
>           % 以下のフィールドは 1 行に配置されます
>           % フィールド "instrument" は 2 ページ以降にも表示されます
>         instrument = \markup \with-color #green "Instrument"
>         poet = "Poet"
>         composer = "Composer"
>           % 以下のフィールドは同一行の両端に配置されます
>         meter = "Meter"
>         arranger = "Arranger"
>           % 以下のフィールドは最下段の中央に配置されます
>           % tagline は最後のページの最下部に配置されます
>           % copyright は最初のページの最下部に配置されます
>         tagline = "The tagline goes at the bottom of the last page"
>         copyright = "The copyright goes at the bottom of the first page"
>       }
>       \score {
>         \header {
>             % 以下のフィールドは同一行の両端に配置されます
>           piece = "Piece 1"
>           opus = "Opus 1"
>         }
>         { s1 }
>       }
>       \score {
>         \header {
>             % 以下のフィールドは同一行の両端に配置されます
>           piece = "Piece 2 on the same page"
>           opus = "Opus 2"
>         }
>         { s1 }
>       }
>       \pageBreak
>       \score {
>         \header {
>             % 以下のフィールドは同一行の両端に配置されます
>           piece = "Piece 3 on a new page"
>           opus = "Opus 3"
>         }
>         { s1 }
>       }
>     }

以下に注意してください:

- 楽器名は各ページに繰り返し表示されます。
- `\paper` 変数 `print-all-headers` に `##f` がセットされている場合 (デフォルトの設定です)、`\score` には `piece` と `opus` だけが表示されます。
- `\header` ブロックでセットされなかったテキスト フィールドには`\null` マークアップがセットされ、スペースを無駄にしません。
- デフォルト設定では、`scoreTitleMarkup` は `piece` テキスト フィールドと `opus` テキスト フィールドを同一行の両端に配置します。

デフォルトのレイアウトを変更するには タイトルのカスタム レイアウト を参照してください。

`\book` ブロックが、すぐ後に `\bookpart` ブロックが来るような形で始まった場合、ブック タイトルを表示するためのページが存在しないため、 ブック タイトルは表示されません。ブック タイトルが必要ならば、`\book` ブロックをマークアップや `\pageBreak` コマンドで開始してください。

より上位の `\header` ブロックのタイトルを最初のページに配置して、`\score` ブロックで定義される楽譜を次のページから始めるするには、`\score` ブロックの中にある `\header` ブロック内で`breakbefore` 変数を使用します。

    \book {
      \header {
        title = "This is my Title"
        subtitle = "This is my Subtitle"
        copyright = "This is the bottom of the first page"
      }
      \score {
        \header {
          piece = "This is the Music"
          breakbefore = ##t
        }
        \repeat unfold 4 { e'' e'' e'' e'' }
      }
    }

#### 参照

学習マニュアル: How LilyPond input files work

記譜法リファレンス: タイトルのカスタム レイアウト, ファイル構造

インストールされているファイル: ‘`ly/titling-init.ly`’

#### ヘッダとフッタのデフォルト レイアウト

ヘッダ と フッタ は、ブックのテキストとは別の、ページの最初と最後に表示されるテキスト行です。ヘッダとフッタは以下の `\paper` 変数によって制御されます:

- `oddHeaderMarkup`
- `evenHeaderMarkup`
- `oddFooterMarkup`
- `evenFooterMarkup`

これらのマークアップ変数は、最上位の `\header` ブロック (これはブックのすべてのスコアに適用されます) から、テキスト フィールドのみにアクセスすることができ、‘`ly/titling-init.ly`’ で定義されています。デフォルトでは以下のようになっています:

- ページ番号は、2 ページ目から、ページ最上段の左端 (偶数ページの場合) または右端 (奇数ページの場合) に自動的に配置されます。
- `instrument` テキスト フィールドは、2 ページ目から、各ページの中央に配置されます。
- `copyright` テキストは最初のページの最下段中央に配置されます。
- `tagline` は最後のページの最下段中央に配置されます。1 ページしかない場合は `copyright` の下に配置されます。

最上位の `\header` ブロックの中に `tagline` を追加することで、デフォルトの LilyPond フッタ テキストを変更することができます。

    \book {
      \header {
        tagline = "... music notation for Everyone"
      }
      \score {
        \relative {
          c'4 d e f
        }
      }
    }

デフォルトの LilyPond フッタ テキストを削除するには、`tagline` に `##f` をセットします。

#### LilyPond — 記譜法リファレンス v2.22.2 (安定版).

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス