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