| [ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
| [ < タイトルとヘッダ ] | [ 上へ : タイトルとヘッダ ] | [ タイトルの説明 > ] |
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 をセットします。
| [ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
| [ < ブック パートとスコアのタイトルのデフォルト レイアウト ] | [ 上へ : タイトル、ヘッダ、フッタを作成する ] | [ カスタム タイトル、ヘッダ、フッタ > ] |