[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2 タイトルとヘッダ

@translationof Titles and headers

ほとんどすべての楽譜にはタイトルと作曲者名が含まれます。楽譜の中にはさらに多くの情報を含むものもあります。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

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

@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 つの異なる場所に配置することができ、それぞれが階層構造を作り出します。

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

\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."
  }
}

[image of music]

更に複雑な配置をすることもできます。例えば、ブック内の \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
    }
  }
}

[image of music]

参照

記譜法リファレンス: @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"
    }
  }
}

[image of music]

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

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

\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
    }
  }
}

[image of music]

参照

学習マニュアル: (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 変数によって制御されます:

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

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

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

[image of music]

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


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.2 カスタム タイトル、ヘッダ、フッタ

@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" }
  }
}

[image of music]

参照

記譜法リファレンス: @ref{Formatting text}


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

タイトルのカスタム レイアウト

@translationof Custom layout for titles

\header ブロックの中に \markup コマンドを配置することにより、シンプルなテキストをフォーマットすることができます。しかしながら、タイトルの配置を精密に制御することはできません。テキスト フィールドの配置をカスタマイズするには、以下の \paper 変数のどちらか、あるいは両方を変更します:

これらの \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"
  }
}

[image of music]

以下の例では、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"
    }
  }
}

[image of music]

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"
    }
  }
}

[image of music]

あなた自身のカスタム テキスト フィールドを作成して、それをマークアップ定義で参照することもできます。

 
\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"
    }
  }
}

[image of music]

参照

記譜法リファレンス: @ref{Titles explained}


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

ヘッダとフッタのカスタム レイアウト

@translationof Custom layout for headers and footers

\header ブロックの中に \markup コマンドを配置することにより、シンプルなテキストをフォーマットすることができます。しかしながら、ヘッダとフッタの配置を精密に制御することはできません。テキスト フィールドの配置をカスタマイズするために、以下の \paper 変数のいずれか、あるいはいくつかを使用します:

\markup コマンド \on-the-fly を用いて、\paper ブロック内部で定義されたヘッダ テキストとフッタ テキストに条件付でマークアップを追加することができます。以下の構文を用います:

 
variable = \markup {
  …
  \on-the-fly  \procedure  markup
  …
}

procedure は、それを保持している \markdup コマンドが評価される度に呼び出されます。procedure はある特定の条件をテストして、条件が真である場合にのみmarkup 引数を解釈します (つまり、表示します)。

様々な条件をテストするためのプロシージャがあらかじめ用意されています:

Procedure nameCondition tested
print-page-number-check-firstこのページ番号は表示されるか?
create-page-number-stencilprint-page-numbers は真か?
print-all-headersprint-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 }
  }
}

[image of music]

複数の \on-the-fly 条件を ‘and’ 演算子で組み合わせることができます。例えば、

 
  \on-the-fly \first-page
  \on-the-fly \last-page
  { \markup … \fromproperty #'header: … }

これは、出力が単一のページかどうかを判断します。

参照

記譜法リファレンス: @ref{Titles explained}, @ref{Default layout of bookpart and score titles}

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


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.3 出力ファイルのメタデータを作成する

@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 変数を使うことで、楽譜上の出力と独立してシーケンス名を指定することができます。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.4 脚注を作成する

@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 つの形にあるそれぞれの要素は以下のような意味を持ちます:

direction

\footnote が音符の後に付加するイベントやアーティキュレンションに適用される場合に限り、方向指示子 (-, _, ^) を前に付けて、music が (脚注マークと共に) その前にある音符や休符に付加されるようにしなければなりません。

mark

これは参照ポイントとページの下の脚注自体の両方に使われる、脚注マークを指定するマークアップや文字列です。これは省略することができ (これは \default に置き換えるのと同じです)、その時は自動的に連番が振られます。この連番は脚注が含まれるページごとにリセットされます。

offset

これは ‘#(2 . 1)’ のような数のペアで、マークを配置する場所の X, Y オフセットを、オブジェクトの境界からの譜スペース単位で指定します。正の値の場合は右/上からのオフセットとして、負の値の場合は左/下からのオフセットとして解釈されます。0 は境界に中央揃えされることを意味します。

Context

これは脚注の付加されるグラフィカル オブジェクトが作られるコンテキストを指定します。グラフィカル オブジェクトが Voice のような下位のコンテキストに属している場合は省略することができます。

GrobName

これは (‘Flag’ のように) 脚注の付加されるグラフィカル オブジェクトを指定します。これが指定された場合、脚注はある特定の音楽表記に付加されることはなく、その音楽タイミングで生成される、指定したグラフィカル オブジェクト全てに付加されます。

footnote

ページの下で用いる脚注テキストを指定するマークアップや文字列です。

music

脚注が付加される、音楽イベントや音符の後に付加するイベント、アーティキュレーションです。

イベントに紐づく脚注

以下の構文で、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
  }
}

[image of music]

和音全体にイベントに紐づく脚注を付け加えることはできません。和音は、例え 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 % これも動作します
  }
}

[image of music]

脚注が音符の後に付加するイベントやアーティキュレンションに付加される場合、\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" --
  }
}

[image of music]

時間に紐づく脚注

脚注が付加されるレイアウト オブジェクトがイベントから間接的に生成されるものである場合 (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
  }
}

[image of music]

しかし、GrobName が指定された場合、脚注が現在のタイム ステップにある全てのグラフィカル オブジェクトに付加されることに注意してください:

 
\book {
  \header { tagline = ##f }
  \relative c' {
    \footnote #'(-1 . 3) "A flat" Accidental
    <ees ges bes>4
    \footnote #'(2 . 0.5) "Articulation" Script
    c'->-.
  }
}

[image of music]

和音内の各音符にはそれぞれ (イベントに紐づく) 脚注を加えることができます。‘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
  }
}

[image of music]

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
  }
}

[image of music]

数字の代わりに独自の脚注マークを使うことができ、マークされるオブジェクトと、脚注マークを繋げる線の表示を抑制することができます:

 
\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
  }
}

[image of music]

脚注マークのカスタマイズについての更なる例は、@ref{Footnotes in stand-alone text} にあります。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

独立したテキストの中にある脚注

@translationof Footnotes in stand-alone text

これらは参照ポイントを指す線を表示しません。脚注マークは、脚注を付加されるマークアップの後に続いて表示されます。マークは自動で挿入することができ、その場合には連番が割り振られます。手動で、独自のマークを使うよう設定することもできます。

独立したテキストの中にある脚注を自動で作る方法と、独自のマークを使うために手動で作る方法は異なります。

独立したテキストに自動マークで脚注を付加する

独立したテキストに自動マークで脚注を付加するための構文は以下です:

 
\markup { … \footnote text 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
  }
}

[image of music]

独立したテキストに独自のマークで脚注を付加する

独立したテキストに独自のマークで脚注を付加するための構文は以下です:

 
\markup { … \footnote mark 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 &dagger; \concat {
      \super &dagger; \italic " Aug 2012"
    }
    "composition."
  }
  \relative {
    a'4 b8 e c4 d
  }
}

[image of music]

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
  }
}

[image of music]

参照

学習マニュアル: (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 オブジェクト、他の脚注マークや線と衝突する可能性があります。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.5 ページ番号の参照

@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" "?" }
}

[image of music]

\page-ref マークアップ コマンドは 3 つの引数をとります:

  1. ラベル。これは Scheme シンボルです – 例: #'firstScore。
  2. マークアップ。これはマークアップの大きさを推定するためのゲージです。
  3. マークアップ。これは、ラベルが不明な場合にページ番号として用いられます。

ゲージが必要な理由は、マークアップが解釈されているときに改ページはまだ行われておらず、ページ番号はまだわからないからです。この問題を回避するために、実際のマークアップ解釈はもっと後に延期されます。しかしながら、マークアップの大きさは事前に判明している必要があるため、ゲージを使ってマークアップの大きさを決定します。ブックのページ数が 10 から 99 までの範囲であるのなら、ゲージを "00" – つまり、2 桁の数 – にします。

定義済みコマンド

\label, \page-ref


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.6 目次

@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 種類あります:

これらの 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
}

[image of music]

更に複雑な目次を作るために、独自のマークアップを用いたカスタム コマンドを定義することもできます。次の例では、オペラの目次において幕の名前を入力する新たなスタイルを定義しています:

新たなマークアップ変数 (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 入力ファイルはこのようになります:

[image of music]

目次内で使う \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’

定義済みコマンド

\table-of-contents, \tocItem


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]

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.