| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Titles and headers
ほとんどすべての楽譜にはタイトルと作曲者名が含まれます。楽譜の中にはさらに多くの情報を含むものもあります。
| 3.2.1 タイトル、ヘッダ、フッタを作成する | ||
| 3.2.2 カスタム タイトル、ヘッダ、フッタ | ||
| 3.2.3 出力ファイルのメタデータを作成する | ||
| 3.2.4 脚注を作成する | ||
| 3.2.5 ページ番号の参照 | ||
| 3.2.6 目次 |
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Creating titles headers and footers
| タイトルの説明 | ||
| ブック パートとスコアのタイトルのデフォルト レイアウト | ||
| ヘッダとフッタのデフォルト レイアウト |
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Titles explained
1 つの入力ファイルにある各 \book ブロックは、別々の出力ファイルを作り出します。@ref{File structure} を参照してください。出力ファイルごとに
3 種類のタイトル エリアが提供されています: 各ブックの最初にあるブック タイトル、各ブック パートの最初にあるブック パート タイトル、各スコアの最初にあるスコア タイトルです。
title や composer のようなタイトル フィールドの値は
\header ブロックでセットします (\header ブロックの構文や、デフォルトで使用可能なフィールドの完全なリストは、@ref{Default layout of bookpart and score titles} を参照してください)。ブック タイトル、ブック パート タイトル、スコア タイトルは同じフィールドを含むことができますが、デフォルトではスコア タイトルに使用されるのは
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 { \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, } | } \header { piece = "Prélude." } } \score { \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 { piece = "Allemande." } }
更に複雑な配置をすることもできます。例えば、ブック内の \header
ブロックにあるテキスト フィールドは全てのスコア タイトルに表示させることができ、いくつかのフィールドを上書きしたり、手動で表示を抑制することもできます:
\book { \paper { print-all-headers = ##t } \header { title = "DAS WOHLTEMPERIRTE CLAVIER" subtitle = "TEIL I" % このブックではデフォルトで LilyPond が生成するフッタを表示しません tagline = ##f } \markup { \vspace #1 } \score { \new PianoStaff << \new Staff { s1 } \new Staff { \clef "bass" s1 } >> \header { title = "PRAELUDIUM I" opus = "BWV 846" % このスコアでは subtitle を表示しません subtitle = ##f } } \score { \new PianoStaff << \new Staff { s1 } \new Staff { \clef "bass" s1 } >> \header { title = "FUGA I" subsubtitle = "A 4 VOCI" opus = "BWV 846" % このスコアでは subtitle を表示しません subtitle = ##f } } }
記譜法リファレンス: @ref{File structure}, @ref{Default layout of bookpart and score titles}, タイトルのカスタム レイアウト
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Default layout of bookpart and score titles
以下の例は表示に反映される \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 { { s1 } \header { % 以下のフィールドは同一行の両端に配置されます piece = "Piece 1" opus = "Opus 1" } } \score { { s1 } \header { % 以下のフィールドは同一行の両端に配置されます piece = "Piece 2 on the same page" opus = "Opus 2" } } \pageBreak \score { { s1 } \header { % 以下のフィールドは同一行の両端に配置されます piece = "Piece 3 on a new page" opus = "Opus 3" } } }
以下に注意してください:
\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 {
\repeat unfold 4 { e'' e'' e'' e'' }
\header {
piece = "This is the Music"
breakbefore = ##t
}
}
}
|
学習マニュアル: (learning)How LilyPond input files work section ‘How LilyPond input files work’ in Learning Manual
記譜法リファレンス: タイトルのカスタム レイアウト, @ref{File structure}
インストールされているファイル: ‘ly/titling-init.ly’
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Default layout of headers and footers
ヘッダ と フッタ は、ブックのテキストとは別の、ページの最初と最後に表示されるテキスト行です。ヘッダとフッタは以下の \paper 変数によって制御されます:
oddHeaderMarkup
evenHeaderMarkup
oddFooterMarkup
evenFooterMarkup
これらのマークアップ変数は、最上位の \header ブロック
(これはブックのすべてのスコアに適用されます) から、テキスト フィールドのみにアクセスすることができ、‘ly/titling-init.ly’ で定義されています。デフォルトでは以下のようになっています:
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 をセットします。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Custom titles headers and footers
| タイトルのカスタム テキスト フォーマット | ||
| タイトルのカスタム レイアウト | ||
| ヘッダとフッタのカスタム レイアウト |
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Custom text formatting for titles
標準の \markup コマンドを使って \header ブロックの中にあるヘッダ、フッタ、それにタイトル テキストをカスタマイズすることができます。
\score { { s1 } \header { piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" } opus = \markup { \italic "BWV 846" } } }
記譜法リファレンス: @ref{Formatting text}
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Custom layout for titles
\header ブロックの中に \markup コマンドを配置することにより、シンプルなテキストをフォーマットすることができます。しかしながら、タイトルの配置を精密に制御することはできません。テキスト フィールドの配置をカスタマイズするには、以下の \paper
変数のどちらか、あるいは両方を変更します:
bookTitleMarkup
scoreTitleMarkup
これらの \markup のデフォルト値を用いた場合のタイトルの配置は
@ref{Default layout of bookpart and score titles} の中にある例で示しています。
‘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 ブロックの中に配置することにより、メイン タイトル ブロックのテキスト フィールドを個々のスコア タイトル ブロックに表示させることができます。
paper ブロックに print-all-headers をセットすると、スコアの \header ブロックでは通常表示されないテキスト フィールドを、スコア タイトル領域に表示させることができます。この方法の欠点は、個々の \score ブロックで、ブック パート タイトル領域のみに表示させたいテキスト フィールドを手動で抑制する必要があることです。@ref{Titles explained} を参照してください。
この欠点を回避するには、個々の \score ブロックに表示させたいテキスト フィールドを scoreTitleMarkup 定義に追加します。以下の例では、composer テキスト フィールド
(通常、これは bookTitleMarkup に関連付けされています)
を scoreTitleMarkup に追加することにより、各スコアは異なる作曲者を表示しています:
\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" } } }
記譜法リファレンス: @ref{Titles explained}
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Custom layout for headers and footers
\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 ブックの最初のページか? not-first-page ブックの最初ではないページか? (on-page nmbr) ページ番号 = nmbr か? last-page ブックの最後のページか? part-first-page ブック パートの最初のページか? not-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
|
これは、出力が単一のページかどうかを判断します。
記譜法リファレンス: @ref{Titles explained}, @ref{Default layout of bookpart and score titles}
インストールされているファイル: ‘../ly/titling-init.ly’
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Creating output file metadata
\header 変数には、楽譜の見た目上の出力に表示されるデータだけではなく、出力ファイルのメタデータを作り出すためにも使われます。例えば、PDF ファイルでは、このメタデータが PDF ファイルの properties
フィールドとして PDF リーダに表示されます。それぞれの出力ファイルの形式に応じて、別々のファイルを作り出すようなレベルより上位での
\header ブロックのみが使用されます。すなわち、PDF ファイルにおいては、\book レベルやトップレベルの
\header 定義のみが PDF ドキュメント全体のメタデータとして有効で、MIDI ファイルにおいては、上で挙げたレベルに加えて \score レベルの
\header ブロックでも有効です。
例えば、\header ブロックの title プロパティを ‘Symphony I’ にセットすると、PDF ドキュメントのタイトルと、MIDI ファイルのシーケンス名に使われることになります。
\header {
title = "Symphony I"
}
|
楽譜上のタイトルと、PDF のタイトル プロパティを別の値にしたい場合、下の例のように pdftitle を使用することができます:
\header {
title = "Symphony I"
pdftitle = "Symphony I by Beethoven"
}
|
変数 title, subject, keywords,
subtitle, composer, arranger, poet, author,
copyright は全て、PDF のプロパティに使われます。これらは、頭に ‘pdf’ を付け加えることで楽譜上の出力とは違う値をセットすることもできます。
PDF の Creator プロパティは自動的に、‘LilyPond’ と現在の LilyPond のバージョンが組み合わされてセットされます。CreationDate と
ModDate はどちらも、現在の日時にセットされますが、ModDate は\header 変数 moddate (あるいは pdfmoddate) を正しい PDF 日時文字列にセットすることでオーバライドすることができます。
title 変数は MIDI でのシーケンス名としてもセットされます。midititle 変数を使うことで、楽譜上の出力と独立してシーケンス名を指定することができます。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Creating footnotes
脚注はいくつかの異なる場面で使われます。どのような場合であっても、‘脚注マーク’が参照としてテキストや音楽のところに配置され、対応する‘脚注テキスト’が同じページの下部に、水平線によって音楽から区切られて配置されます。この区切りの外観は paper 変数 footnote-separator-markup をセットすることで変更することができます。
@ref{Miscellaneous paper variables} を参照してください。
音楽表記の中にある脚注と、音楽表記外の独立したテキストにある脚注では、作り方が異なります。
| 音楽表記の中にある脚注 | ||
| 独立したテキストの中にある脚注 |
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Footnotes in music expressions
音楽表記の中にある脚注は 2 つのカテゴリーに分けられます:
これは、単一の音符、アーティキュレーション (指番号、アクセント、強弱記号など)、音符の後に付加するイベント (スラーや手動の連桁など) といった特定のイベントに付加されます。イベントに紐づく脚注の一般的な形は以下のようなものです:
[direction] \footnote [mark] offset footnote music |
これは、音楽コンテキスト内の時間の一点に関連付けられます。\time や \clef といったいくつかのコマンドは、拍子記号や音部記号を作り出すのにイベントを使いません。和音もそれ自体ではイベントを作りません: その和音の符幹や符尾が、
タイム ステップの最後に (名目上は中にある音符のどれかを通して) 作られます。和音の中のどの音符が符幹や符尾の生成元として見なされるのかは、正確に定義されていません。そのため、符幹や符尾に脚注を付加する場合にも、こちらのタイプを用いると良いでしょう。
時間に基づく脚注は、イベントを参照せずに、このようなレイアウト オブジェクトに注釈を入れることができます。この脚注の一般的な形は以下のようなものです:
\footnote [mark] offset footnote [Context].GrobName |
2 つの形にあるそれぞれの要素は以下のような意味を持ちます:
\footnote が音符の後に付加するイベントやアーティキュレンションに適用される場合に限り、方向指示子 (-, _, ^) を前に付けて、music が (脚注マークと共に) その前にある音符や休符に付加されるようにしなければなりません。
これは参照ポイントとページの下の脚注自体の両方に使われる、脚注マークを指定するマークアップや文字列です。これは省略することができ
(これは \default に置き換えるのと同じです)、その時は自動的に連番が振られます。この連番は脚注が含まれるページごとにリセットされます。
これは ‘#(2 . 1)’ のような数のペアで、マークを配置する場所の X, Y オフセットを、オブジェクトの境界からの譜スペース単位で指定します。正の値の場合は右/上からのオフセットとして、負の値の場合は左/下からのオフセットとして解釈されます。0 は境界に中央揃えされることを意味します。
これは脚注の付加されるグラフィカル オブジェクトが作られるコンテキストを指定します。グラフィカル オブジェクトが Voice のような下位のコンテキストに属している場合は省略することができます。
これは (‘Flag’ のように) 脚注の付加されるグラフィカル オブジェクトを指定します。これが指定された場合、脚注はある特定の音楽表記に付加されることはなく、その音楽タイミングで生成される、指定したグラフィカル オブジェクト全てに付加されます。
ページの下で用いる脚注テキストを指定するマークアップや文字列です。
脚注が付加される、音楽イベントや音符の後に付加するイベント、アーティキュレーションです。
以下の構文で、music によるイベントから生成されるレイアウト オブジェクトに脚注を加えることができます:
\footnote [mark] offset footnote music |
\book { \header { tagline = ##f } \relative c'' { \footnote #'(-1 . 3) "A note" a4 a4 \footnote #'(2 . 2) "A rest" r4 a4 } }
和音全体にイベントに紐づく脚注を付け加えることはできません。和音は、例え 1 つの音符しか持っていなかったとしても、それ自身ではイベントを作り出さないからです。しかし、和音の中にある個別の音符には脚注を付け加えることができます:
\book { \header { tagline = ##f } \relative c'' { \footnote #'(2 . 3) "Does not work" <a-3>2 % これは動作しません <\footnote #'(-2 . -3) "Does work" a-3>4 % これは動作します <a-3 \footnote #'(3 . 1/2) "Also works" c-5>4 % これも動作します } }
脚注が音符の後に付加するイベントやアーティキュレンションに付加される場合、\footnote コマンドの前に必ず方向指示子 (-, _, ^) を付けて、後にイベントやアーティキュレーションを続けなければなりません。この形では、\footnote の部分が、最後の引数 music に脚注マークが付加されたもののコピーとして解釈することができます。構文は以下です:
direction \footnote [mark] offset footnote music |
\book { \header { tagline = ##f } \relative { a'4_\footnote #'(0 . -1) "A slur forced down" ( b8^\footnote #'(1 . 0.5) "A manual beam forced up" [ b8 ] c4 ) c-\footnote #'(1 . 1) "Tenuto" -- } }
脚注が付加されるレイアウト オブジェクトがイベントから間接的に生成されるものである場合 (Accidental や Stem など) には、そのレイアウト オブジェクトの GrobName が脚注テキストの後に、music の代わりに必要です:
\book { \header { tagline = ##f } \relative c'' { \footnote #'(-1 . -3) "A flat" Accidental aes4 c \footnote #'(-1 . 0.5) "Another flat" Accidental ees \footnote #'(1 . -2) "A stem" Stem aes } }
しかし、GrobName が指定された場合、脚注が現在のタイム ステップにある全てのグラフィカル オブジェクトに付加されることに注意してください:
\book { \header { tagline = ##f } \relative c' { \footnote #'(-1 . 3) "A flat" Accidental <ees ges bes>4 \footnote #'(2 . 0.5) "Articulation" Script c'->-. } }
和音内の各音符にはそれぞれ (イベントに紐づく) 脚注を加えることができます。‘NoteHead’ のみが音符から直接生成されるグラフィカル オブジェクトです。そのため、イベントに紐づく脚注は、和音内の ‘NoteHead’ に脚注を加える時にのみ有効です。和音における他のグラフィカル オブジェクトは間接的に生成されるものです。\footnote コマンド自体は、グラフィカル オブジェクトの種類と、どの特定のイベントに付加するかを両方指定できるような構文がありません。しかし、グラフィカル オブジェクトの種類を指定するために時間に紐づく脚注を使用し、それを \single で前置することで次に来るイベントのみに適用させることができます。
\book { \header { tagline = ##f } \relative c'' { < \footnote #'(1 . -2) "An A" a \single \footnote #'(-1 . -1) "A sharp" Accidental cis \single \footnote #'(0.5 . 0.5) "A flat" Accidental ees fis >2 } }
Note: 脚注が上の例のように、同じ音楽タイミングにあるいくつかの要素に付加する場合、脚注の番号は入力ファイルでの順番ではなく、上に表示されるものから順番に割り振られます。
音部記号や転調を示す調号のようなレイアウト オブジェクトは、基本的には実際のイベントから作られるわけではなく、プロパティが変化した結果として生成されるものです。また、小節線や小節番号は、タイミングに基づいて生成されるものです。そのため、このようなオブジェクトに脚注を付ける場合には、それが生成される音楽的タイミングに紐付ける必要があります。時間に紐づく脚注は、和音にある符幹や連桁に脚注を付加する場合にも有効です。このようなオブジェクトは名目上、和音内のどれか 1 つのイベントに割り当てられて生成されます。特定の音符に脚注を紐付けることは軽率でしょう。
脚注を付ける対象となるレイアウト オブジェクトは、時間に紐づく脚注の場合には常に明示する必要があります。また、グラフィカル オブジェクトが下位 (訳注: Voice など) ではないコンテキストで生成される場合には、正しいコンテキストを指定する必要があります。
\book { \header { tagline = ##f } \relative c'' { r1 | \footnote #'(-0.5 . -1) "Meter change" Staff.TimeSignature \time 3/4 \footnote #'(1 . -1) "Chord stem" Stem <c e g>4 q q \footnote #'(-0.5 . 1) "Bar line" Staff.BarLine q q \footnote #'(0.5 . -1) "Key change" Staff.KeySignature \key c \minor q } }
数字の代わりに独自の脚注マークを使うことができ、マークされるオブジェクトと、脚注マークを繋げる線の表示を抑制することができます:
\book { \header { tagline = ##f } \relative c' { \footnote "*" #'(0.5 . -2) \markup { \italic "* The first note" } a'4 b8 \footnote \markup { \super "$" } #'(0.5 . 1) \markup { \super "$" \italic " The second note" } e c4 \once \override Score.FootnoteItem.annotation-line = ##f b-\footnote \markup \tiny "+" #'(0.1 . 0.1) \markup { \super "+" \italic " Editorial" } \p } }
脚注マークのカスタマイズについての更なる例は、@ref{Footnotes in stand-alone text} にあります。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Footnotes in stand-alone text
これらは参照ポイントを指す線を表示しません。脚注マークは、脚注を付加されるマークアップの後に続いて表示されます。マークは自動で挿入することができ、その場合には連番が割り振られます。手動で、独自のマークを使うよう設定することもできます。
独立したテキストの中にある脚注を自動で作る方法と、独自のマークを使うために手動で作る方法は異なります。
独立したテキストに自動マークで脚注を付加するための構文は以下です:
\markup { … \footnote text footnote … }
|
要素は以下の通りです:
これは、脚注を付加するマークアップや文字列です。
ページの下で用いる脚注テキストを指定するマークアップや文字列です。
例を示します:
\book { \header { tagline = ##f } \markup { "A simple" \footnote "tune" \italic " By me" "is shown below. It is a" \footnote "recent" \italic " Aug 2012" "composition." } \relative { a'4 b8 e c4 d } }
独立したテキストに独自のマークで脚注を付加するための構文は以下です:
\markup { … \footnote mark footnote … }
|
要素は以下の通りです:
これは参照ポイントに使われる、脚注マークを指定するマークアップや文字列です。このマークは脚注自体の最初に自動で挿入されないことに注意してください。
ページの下で用いる脚注テキストを指定するマークアップや文字列です。通常、mark から始めます。
@ref{Footnotes in music expressions} にあるように、* や + などの簡単な文字をマークとして用いることができます。他に、ASCII エイリアスを用いることができます (@ref{ASCII aliases} を参照してください)。
\book { \paper { #(include-special-characters) } \header { tagline = ##f } \markup { "A simple tune" \footnote "*" \italic "* By me" "is shown below. It is a recent" \footnote \super † \concat { \super † \italic " Aug 2012" } "composition." } \relative { a'4 b8 e c4 d } }
Unicode 文字をマークに使うこともできます (Unicode を参照してください)。
\book { \header { tagline = ##f } \markup { "A simple tune" \footnote \super \char##x00a7 \concat { \super \char##x00a7 \italic " By me" } "is shown below. It is a recent" \footnote \super \char##x00b6 \concat { \super \char##x00b6 \italic " Aug 2012" } "composition." } \relative { a'4 b8 e c4 d } }
学習マニュアル: (learning)Objects and interfaces section ‘Objects and interfaces’ in Learning Manual
記譜法リファレンス: @ref{ASCII aliases}, @ref{Balloon help}, @ref{List of special characters}, @ref{Text marks}, @ref{Text scripts}, Unicode
内部リファレンス: (internals)FootnoteEvent section ‘FootnoteEvent’ in Internals Reference, (internals)FootnoteItem section ‘FootnoteItem’ in Internals Reference, (internals)FootnoteSpanner section ‘FootnoteSpanner’ in Internals Reference, (internals)Footnote_engraver section ‘Footnote_engraver’ in Internals Reference
同じページにある複数の脚注は上下にしか配置できません。一方の脚注はもう一方の脚注の上に配置され、同じ行に配置することはできません。
MultiMeasureRests、自動連桁、歌詞に脚注を付けることはできません。
脚注は譜や \markup オブジェクト、他の脚注マークや線と衝突する可能性があります。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Reference to page numbers
\label コマンドを用いて、楽譜のある特定の場所
– 楽譜の最上位あるいは内部 –
に印をつけることができます。このラベルをマークアップの中で参照することできます。ラベルを付けられた場所のページ番号を取得するには、\page-ref マークアップ コマンドを使います。
\header { tagline = ##f }
\book {
\label #'firstScore
\score {
{
c'1
\pageBreak \mark A \label #'markA
c'1
}
}
\markup { The first score begins on page \page-ref #'firstScore "0" "?" }
\markup { Mark A is on page \page-ref #'markA "0" "?" }
}
|
\page-ref マークアップ コマンドは 3 つの引数をとります:
#'firstScore。
ゲージが必要な理由は、マークアップが解釈されているときに改ページはまだ行われておらず、ページ番号はまだわからないからです。この問題を回避するために、実際のマークアップ解釈はもっと後に延期されます。しかしながら、マークアップの大きさは事前に判明している必要があるため、ゲージを使ってマークアップの大きさを決定します。ブックのページ数が 10 から 99 までの範囲であるのなら、ゲージを "00" – つまり、2 桁の数 – にします。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Table of contents
目次は \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’
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] |
This document was generated by gub on 7 月 13, 2020 using texi2html 1.82.
他の言語: English, català, deutsch, español, français, italiano
About automatic language selection.