[ << 入出力全般 ] | [トップ][目次][インデックス][ ? ] | [ スペースの問題 >> ] | ||
[ < ヘッダとフッタのデフォルト レウアウト ] | [ 上へ : タイトルとヘッダ ] | [ タイトル ブロックのカスタム テキスト フォーマット > ] |
3.2.2 カスタム ヘッダ、フッタ、タイトル
タイトル ブロックのカスタム テキスト フォーマット | ||
タイトル ブロックのカスタム レイアウト | ||
ヘッダとフッタのカスタム レイアウト |
[ << 入出力全般 ] | [トップ][目次][インデックス][ ? ] | [ スペースの問題 >> ] | ||
[ < カスタム ヘッダ、フッタ、タイトル ] | [ 上へ : カスタム ヘッダ、フッタ、タイトル ] | [ タイトル ブロックのカスタム レイアウト > ] |
タイトル ブロックのカスタム テキスト フォーマット
標準の \markup
コマンドを使って \header
ブロックの中にあるヘッダ、フッタ、それにタイトル テキストをカスタマイズすることができます。
\score { { s1 } \header { piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" } subtitle = \markup { \italic "(Excerpt)" } } }
参照
記譜法リファレンス: テキストをフォーマットする
[ << 入出力全般 ] | [トップ][目次][インデックス][ ? ] | [ スペースの問題 >> ] | ||
[ < タイトル ブロックのカスタム テキスト フォーマット ] | [ 上へ : カスタム ヘッダ、フッタ、タイトル ] | [ ヘッダとフッタのカスタム レイアウト > ] |
タイトル ブロックのカスタム レイアウト
\header
ブロックの中に \markup
コマンドを配置することにより、シンプルなテキストをフォーマットすることができます。しかしながら、タイトルの配置を精密に制御することはできません。テキスト フィールドの配置をカスタマイズするには、以下の \paper
変数のどちらか、あるいは両方を変更します:
-
bookTitleMarkup
-
scoreTitleMarkup
これらの \markup
のデフォルト値を用いた場合のタイトルの配置は
book と score のタイトル ブロックのデフォルト レイアウト の中にある例で示しています。
‘ly/titling-init.ly’ で定義されている scoreTitleMarkup
のデフォルト設定は以下のとおりです:
scoreTitleMarkup = \markup { \column { \on-the-fly #print-all-headers { \bookTitleMarkup \hspace #1 } \fill-line { \fromproperty #'header:piece \fromproperty #'header:opus } } }
これは、piece
テキスト フィールドと opus
テキスト フィールドを同一行の両端に配置します:
\score { { s1 } \header { piece = "PRAELUDIUM I" opus = "BWV 846" } }
以下の例では、scoreTitleMarkup
を再定義することにより、piece
テキスト フィールドを中央に配置して、フォントを大きく、太字にしています。
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:opus } } } \header { tagline = ##f } \score { { s1 } \header { piece = "PRAELUDIUM I" opus = "BWV 846" } } }
print-all-headers
を \paper
ブロックの中に配置することにより、メイン タイトル ブロックのテキスト フィールドを個々の score タイトル ブロックに表示させることができます。この方法の欠点は、個々の \score
ブロックで、最上位の \header
ブロックだけに表示させるテキスト フィールドを手動で抑制する必要があることです。タイトル ブロックの説明 を参照してください。
この欠点を回避するには、個々の \score
ブロックに表示させたいテキスト フィールドを scoreTitleMarkup
定義に追加します。以下の例では、composer
テキスト フィールド
(通常、これは bookTitleMarkup
に関連付けされています)
を scoreTitleMarkup
に追加することにより、各 score は異なる作曲者を表示しています:
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #4 \bold \fromproperty #'header:piece \fromproperty #'header:composer } } } \header { tagline = ##f } \score { { s1 } \header { piece = "MENUET" composer = "Christian Petzold" } } \score { { s1 } \header { piece = "RONDEAU" composer = "François Couperin" } } }
あなた自身のカスタム テキスト フィールドを作成して、それをマークアップ定義で参照することもできます。
\book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \override #`(direction . ,UP) { \dir-column { \center-align \fontsize #-1 \bold \fromproperty #'header:mycustomtext %% User-defined field \center-align \fontsize #4 \bold \fromproperty #'header:piece } } \fromproperty #'header:opus } } } \header { tagline = ##f } \score { { s1 } \header { piece = "FUGA I" mycustomtext = "A 4 VOCI" %% User-defined field opus = "BWV 846" } } }
参照
記譜法リファレンス: タイトル ブロックの説明
[ << 入出力全般 ] | [トップ][目次][インデックス][ ? ] | [ スペースの問題 >> ] | ||
[ < タイトル ブロックのカスタム レイアウト ] | [ 上へ : カスタム ヘッダ、フッタ、タイトル ] | [ 脚注を作成する > ] |
ヘッダとフッタのカスタム レイアウト
\header
ブロックの中に \markup
コマンドを配置することにより、シンプルなテキストをフォーマットすることができます。しかしながら、ヘッダとフッタの配置を精密に制御することはできません。テキスト フィールドの配置をカスタマイズするために、以下の \paper
変数のいずれか、あるいはいくつかを使用します:
-
oddHeaderMarkup
-
evenHeaderMarkup
-
oddFooterMarkup
-
evenFooterMarkup
\markup
コマンド \on-the-fly
を用いて、\paper
ブロック内部で定義されたヘッダ テキストとフッタ テキストに条件付でマークアップを追加することができます。以下の構文を用います:
variable = \markup { ... \on-the-fly #procedure markup ... }
procedure は、それを保持している \markdup
コマンドが評価される度に呼び出されます。procedure はある特定の条件をテストして、条件が真である場合にのみmarkup 引数を解釈します (つまり、表示します)。
様々な条件をテストするためのプロシージャがあらかじめ用意されています:
Procedure name
Condition tested
print-page-number-check-first
このページ番号は表示されるか?
create-page-number-stencil
’print-page-numbers は真か?
print-all-headers
’print-all-headers は真か?
first-page
ブックの最初のページか?
(on-page nmbr)
ページ番号 = nmbr か?
last-page
ブックの最後のページか?
not-first-page
ブックの最初ではないページか?
part-first-page
ブック パートの最初のページか?
part-last-page
ブック パートの最後のページか?
not-single-page
ブック パートのページ数 > 1 か?
以下の例では、ページ番号を各ページの最下段中央に配置しています。まず、oddHeaderMarkup
と evenHeaderMarkup
に
null を定義することにより、デフォルト設定を削除します。次に、oddFooterMarkup
に中央に配置されたページ番号を再定義します。最後に、evenFooterMarkup
に oddFooterMarkup
を定義することにより、同じレイアウトにします:
\book { \paper { print-page-number = ##t print-first-page-number = ##t oddHeaderMarkup = \markup \null evenHeaderMarkup = \markup \null oddFooterMarkup = \markup { \fill-line { \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string } } evenFooterMarkup = \oddFooterMarkup } \score { \new Staff { s1 \break s1 \break s1 } } }
複数の \on-the-fly
条件を ‘and’ 演算子で組み合わせることができます。例えば、
\on-the-fly #first-page \on-the-fly #last-page { \markup ... \fromproperty #'header: ... }
これは、出力が単一のページかどうかを判断します。
参照
記譜法リファレンス: タイトル ブロックの説明, book と score のタイトル ブロックのデフォルト レイアウト
インストールされているファイル: ‘../ly/titling-init.ly’
[ << 入出力全般 ] | [トップ][目次][インデックス][ ? ] | [ スペースの問題 >> ] | ||
[ < タイトル ブロックのカスタム レイアウト ] | [ 上へ : カスタム ヘッダ、フッタ、タイトル ] | [ 脚注を作成する > ] |
他の言語: deutsch
About automatic language selection.