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

4.4 垂直方向のスペース

@translationof Vertical spacing

垂直方向のスペースは 3 つの要素によって制御されます: 利用可能なスペースの量 (つまり、紙面サイズとマージン)、システムの間隔、それにシステム内部での譜の間隔です。


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

4.4.1 システム内部の可変な垂直方向のスペース

@translationof Flexible vertical spacing within systems

システム内部の可変な垂直方向のスペースを制御する 3 つの仕組みがあり、以下のカテゴリに分けられます:

システムの高さは 2 つのステップで決定されます。最初に、すべての譜が利用可能なスペースの量に応じた間隔で配置されます。次に、譜ではない行が譜の間に配置されます。

このセクションでは、システム内部の譜と譜ではない行の垂直方向のスペースを制御する仕組みだけを説明しているということに注意してください。システム、score、マークアップ、それにマージン間の垂直方向のスペースは、\paper 変数によって制御されます – 可変な垂直方向の \paper スペース変数 で説明しています。


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

システム内部のスペース プロパティ

@translationof Within-system spacing properties

システム内部の垂直方向のスペースは、2 セットのグラフィカル オブジェクト プロパティによって制御されます。1 つ目は VerticalAxisGroup グラフィカル オブジェクト – これは、譜と譜ではない行によって作成されます – のプロパティ セットです。2 つ目は StaffGrouper グラフィカル オブジェクト – これは、明示的に呼び出された場合に、譜グループによって作成されます – のプロパティ セットです。これらのプロパティは、このセクションの終わりで説明します。

これらのプロパティの名前は (staff-affinity を除いて)、item1-item2-spacing という形式に従います – ここで、item1 と item2 は、スペースを入れられる要素です。item2 は必ずしも item1 の下にある要素ではないということに注意してください。例えば、staff-affinity が UP である場合、nonstaff-relatedstaff-spacing は譜ではない行から上向きにスペースをとります。

スペースは、2 つの要素の 参照ポイント 間の距離です。譜の参照ポイントは、その譜の StaffSymbol (すなわち、line-count が奇数の場合は中央の譜線で、line-count が偶数の場合は中央のスペースです) の垂直方向の中央です。譜ではない行の参照ポイントは、以下の表のようになります:

譜ではない行参照ポイント
ChordNamesベースライン
NoteNamesベースライン
Lyricsベースライン
Dynamics垂直方向の中央
FiguredBass最も上のポイント
FretBoardsトップ ライン

以下の画像では、水平方向の線が参照ポイントの位置を示しています:

[image of music]

垂直方向のスペースのグラフィカル オブジェクト プロパティは (staff-affinity を除いて)、可変な垂直方向の \paper スペース変数 で説明した \paper スペース変数と同じ連想配列構造を使用します。 連想配列を変更する方法は、@ref{Modifying alists} で説明します。グラフィカル オブジェクト プロパティの調節は、\score ブロックか \layout ブロックの内部で、\override を用いて行う必要があります。

以下の例は、連想配列を変更する 2 つの方法を示しています。最初の宣言は 1 つのキー値を個別に更新して、2 番目の宣言はプロパティ全体を再定義しています:

 
\new Staff \with {
  \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
} { … }

\new Staff \with {
  \override VerticalAxisGroup.default-staff-staff-spacing =
    #'((basic-distance . 10)
       (minimum-distance . 9)
       (padding . 1)
       (stretchability . 10))
} { … }

スペース設定をグローバルに変更するには、そのスペース設定を \layout ブロックの中に配置します:

 
\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
  }
}

垂直方向スペースのグラフィカル オブジェクト プロパティの標準設定は (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Internals Reference と (internals)StaffGrouper section ‘StaffGrouper’ in Internals Reference でリスト アップしています。特定のタイプの譜ではない行のデフォルト設定は、 (internals)Contexts section ‘Contexts’ in Internals Reference の中にある関連するコンテキストの説明でリスト アップしています。

VerticalAxisGroup グラフィカル オブジェクトのプロパティ

通常、VerticalAxisGroup プロパティは、Staff レベル (あるいはそれと同等のレベル) で、\override を用いて調節します。

staff-staff-spacing

カレントの譜とそのすぐ下の譜の間隔 – その間に 1 つ以上の譜ではない行 (Lyrics 等) が配置されている場合であっても – を決定するために使用します。システムの最下段の譜には適用されません。

VerticalAxisGroup の staff-staff-spacing は、譜がグループの一部である場合は StaffGrouper の staff-staff-spacing プロパティを適用し、グループではない譜の場合はその譜の default-staff-staff-spacing を適用する Scheme 関数です。これにより、グループ化されている譜に異なる間隔を入れることが可能です。グループ化されていることとは無関係に同一の間隔を入れるには、上で示したプロパティ再定義を用いて、この関数を可変スペースの連想配列で置き換えます。

default-staff-staff-spacing

グループ化されていない譜で使用される staff-staff-spacing を定義している可変スペースの連想配列です。staff-staff-spacing は \override を用いて上書きされることがあります。

staff-affinity

カレントの譜ではない行にスペースを入れるために使用する譜の方向です。選択肢は UP, DOWN, それに CENTER です。CENTER の場合、衝突や他のスペース上の制約によって妨げられない限り、譜ではない行は上下にある近くの譜から等距離になるよう配置されます。隣接する譜ではない行の staff-affinity は、方向が下から上へと増加しないようにする必要があります。例えば、DOWN に設定された譜ではない行のすぐ後に UP に設定された譜ではない行を置くべきではありません。システムの最上段にある譜ではない行は DOWN であるべきで、システムの最下段にある譜ではない行は UP であるべきです。譜ではない行の staff-affinity を #f に設定すると、その行は譜として扱われます。譜に対して UP, CENTER, あるいは DOWN の staff-affinity を設定すると、その譜は譜ではない行として扱われます。

nonstaff-relatedstaff-spacing

カレントの譜ではない行と staff-affinity の方向にある最も近い譜との間隔です – 2 つの間に譜ではない行が無く、staff-affinity が UP と DOWN のどちらかである場合です。staff-affinity が CENTER である場合、nonstaff-relatedstaff-spacing は最も近くにある 上下両サイド の譜の間隔になります – たとえ、カレントの譜ではない行と上下どちらかの譜の間に、他の譜ではない行があったとしてもです。このことは、譜ではない行の配置は、上下にある譜と譜ではない行の両方に依存するということを意味します。このスペースの stretchability に小さな値を設定すると、そのとおりのスペースになりやすくなります。このスペースの stretchability に大きな値を設定すると、そのとおりのスペースになりにくくなります。

nonstaff-nonstaff-spacing

カレントの譜ではない行と staff-affinity の方向にある次の譜ではない行の間隔です – 2 つの間に譜が無く、staff-affinity が UP と DOWN のどちらかである場合です。

nonstaff-unrelatedstaff-spacing

カレントの譜ではない行と staff-affinity とは反対方向にある譜の間隔です – 2 つの間に他の譜ではない行が無く、staff-affinity が UP と DOWN のどちらかである場合です。これは、例えば、Lyrics 行と Lyrics が属していない譜との間のパディングを最小にする必要がある場合に使用される可能性があります。

StaffGrouper グラフィカル オブジェクトのプロパティ

通常、StaffGrouper プロパティは、StaffGroup レベル (あるいはそれと同等のレベル) で、\override を用いて調節します。

staff-staff-spacing

カレントの譜グループ内部にある隣接する譜の間隔です。個々の譜の VerticalAxisGroup グラフィカル オブジェクトの staff-staff-spacing プロパティは、譜毎のスペース設定で上書きされる可能性があります。

staffgroup-staff-spacing

カレントの譜グループの最後の譜と、同じシステム内にあるすぐ下の譜の間隔です – 2 つの譜の間に 1 つ以上の譜ではない行 (Lyrics 等) が存在する場合であってもです。システムの最下段の譜には適用されません。個々の譜の VerticalAxisGroup グラフィカル オブジェクトの staff-staff-spacing プロパティは、譜毎のスペース設定で上書きされる可能性があります。

参照

記譜法リファレンス: 可変な垂直方向の \paper スペース変数, @ref{Modifying alists}

インストールされているファイル: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’

内部リファレンス: (internals)Contexts section ‘Contexts’ in Internals Reference, (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Internals Reference, (internals)StaffGrouper section ‘StaffGrouper’ in Internals Reference


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

グループ化されていない譜のスペース

@translationof Spacing of ungrouped staves

譜 (Staff, DrumStaff, TabStaff 等) は、1 つ以上のボイス コンテキストを保持することができ、他の譜を保持することはできないコンテキストです。

以下のプロパティは、グループ化されていない 譜のスペースに影響を与えます:

これらのグラフィカル オブジェクト プロパティは、それぞれ上で説明しています。システム内部のスペース プロパティ を参照してください。

譜グループの一部である譜には、他にもプロパティがあります。グループ化されている譜のスペース を参照してください。

以下の例は、default-staff-staff-spacing プロパティがどのようにグループ化されていない譜のスペースに影響を与えるかを示しています。staff-staff-spacing に同じ上書きを適用すると同じ効果を持ちますが、譜がグループ化されている場合にも適用されます。

 
\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing =
      #'((basic-distance . 8)
         (minimum-distance . 7)
         (padding . 1))
  }
}

<<
  % 非常に低い位置にある音符は 'basic-distance が提供するよりも
  % 大きなスペースを必要とするため、この譜と次の譜の間隔は 'padding
  % によって決定されます。
  \new Staff { b,2 r | }

  % ここでは、'basic-distance が十分なスペースを提供していて、
  % ページ上にある他の要素のスペースを確保するためにスペースを
  % ('minimum-distance の値に向かって) 縮める必要はありません。
  % そのため、この譜と次の譜の間隔は 'basic-distance によって
  % 決定されます。
  \new Staff { \clef bass g2 r | }

  % 'padding に負の値を設定することにより、譜を重ねることができます。
  % 'basic-distance が取り得る最小の値は 0 です。
  \new Staff \with {
    \override VerticalAxisGroup.default-staff-staff-spacing =
      #'((basic-distance . 3.5)
         (padding . -10))
  } { \clef bass g2 r | }
  \new Staff { \clef bass g2 r | }
>>

[image of music]

参照

インストールされているファイル: ‘scm/define-grobs.scm’

コード断片集: (snippets)Spacing section ‘Spacing’ in Snippets

内部リファレンス: (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Internals Reference


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

グループ化されている譜のスペース

@translationof Spacing of grouped staves

オーケストラ譜や他の大きな楽譜では、譜を譜ループ化することが一般的です。通常、グループ間のスペースは、同じグループの譜の間のスペースよりも大きくなります。

譜グループ (StaffGroup, ChoirStaff 等) は、同時進行する 1 つ以上の譜を保持することができるコンテキストです。

以下のプロパティは、譜グループの中にある譜のスペースに影響を与えます:

これらのグラフィカル オブジェクト プロパティは、上で個々に説明しています。システム内部のスペース プロパティ を参照してください。

以下の例は、StaffGrouper グラフィカル オブジェクトのプロパティがどのようにグループ化された譜のスペースに影響を与えるかを示しています:

 
\layout {
  \context {
    \Score
    \override StaffGrouper.staff-staff-spacing.padding = #0
    \override StaffGrouper.staff-staff-spacing.basic-distance = #1
  }
}

<<
  \new PianoStaff \with {
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
  } <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>

  \new StaffGroup <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>
>>

[image of music]

参照

インストールされているファイル: ‘scm/define-grobs.scm’

コード断片集: (snippets)Spacing section ‘Spacing’ in Snippets

内部リファレンス: (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Internals Reference, (internals)StaffGrouper section ‘StaffGrouper’ in Internals Reference


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

譜ではない行のスペース

@translationof Spacing of non-staff lines

譜ではない行 (Lyrics, ChordNames 等) は、それが保持するレイアウト オブジェクトが譜のように譜刻される (すなわち、システム内部の水平線上での譜刻) コンテキストです。具体的に言うと、譜ではない行は (internals)Axis_group_engraver section ‘Axis_group_engraver’ in Internals Reference を含む譜ではないコンテキストです。

以下のプロパティが、譜ではない行のスペースに影響を与えいます:

これらのグラフィカル オブジェクト プロパティは、上で個々に説明しています。システム内部のスペース プロパティ を参照してください。

以下の例は、nonstaff-nonstaff-spacing プロパティがどのように隣接する譜ではない行のスペースに影響を与えるかを示しています。ここでは、stretchability キーに非常に大きな値を設定することにより、通常よりも歌詞が広がりやすくしています:

 
\layout {
  \context {
    \Lyrics
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
  }
}

\new StaffGroup
<<
  \new Staff \with {
    \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
  } { c'1 }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #UP
  } \lyricmode { up }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #CENTER
  } \lyricmode { center }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #DOWN
  } \lyricmode { down }
  \new Staff { c'1 }
>>

[image of music]

参照

インストールされているファイル: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’

コード断片集: (snippets)Spacing section ‘Spacing’ in Snippets

内部リファレンス: (internals)Contexts section ‘Contexts’ in Internals Reference, (internals)VerticalAxisGroup section ‘VerticalAxisGroup’ in Internals Reference


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

4.4.2 譜とシステムを明示的に配置する

@translationof Explicit staff and system positioning

上で説明した可変な垂直方向のスペースの仕組みを理解する方法の 1 つに、譜とシステムの間の垂直方向のパティングの大きさを制御する設定をコレクションすることがあります。

NonMusicalPaperColumn.line-break-system-details を用いて、垂直方向のスペースに別の方法でアプローチすることができます。可変な垂直方向のスペースの仕組みが垂直方向のパディングを指定するのに対して、NonMusicalPaperColumn.line-break-system-details はページ上の垂直方向の位置を指定することができます。

NonMusicalPaperColumn.line-break-system-details は 4 つの設定からなる連想配列を受け取ります:

以下の NonMusicalPaperColumn に対する上書きを含む、グラフィカル オブジェクトの上書きは、入力ファイルの中の 3 つの場所に配置することができます:

NonMusicalPaperColumn を上書きする場合、通常は \context ブロックや \with ブロックの中で\override コマンドを使用します。一方、音符入力の途中で NonMusicalPaperColumn を上書きする場合、特殊なコマンド \overrideProperty を使用します。ここで、特殊なコマンド \overrideProperty で NonMusicalPaperColumn を上書きする例をいくつか挙げます:

 
\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((Y-offset . 40))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20)
     (Y-offset . 40))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((alignment-distances . (15)))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20)
     (Y-offset . 40)
     (alignment-distances . (15)))

これらの異なる設定がそれぞれどのように機能するのかを理解するために、まったく上書きを含まない例を見ることから始めます。

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          s1*5 \break
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

この楽譜は改行/改ページ情報を専用のボイスに孤立させています。この改行/改ページ用のボイスを作成するテクニックは、例がより複雑になっていくときに、レイアウトと音楽入力を分離することを助けてくれます。@ref{Breaks} を参照してください。

明示的な \breaks を使うことで、音楽を 1 行あたり 5 小節に分割しています。垂直方向のスペースは LilyPond のデフォルトですが、各システムの垂直方向の開始位置が、NonMusicalPaperColumn グラフィカル オブジェクトの line-break-system-details 属性の中にある Y-offset により明示的にセットされています。

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 0))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 40))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

line-break-system-details は潜在的に多くの値を持つ連想リストをとりますが、ここでは値を 1 つだけしかセットしていないということに注意してください。また、ここでは Y-offset プロパティは、各システムがページに描画される垂直方向の位置を決定しているということにも注意してください。

Y-offset や X-offset を用いて絶対位置を指定することができる一方、line-break-system-details の extra-offset プロパティを用いて、相対位置を指定することもできます。この時、位置はデフォルトあるいは X-offset と Y-offset によって絶対的に指定された位置からの相対的なものになります。extra-offset は、X 軸、Y 軸のオフセットからなる ペア を受け入れます。

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((extra-offset . (0 . 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((extra-offset . (0 . 10)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

これまでに各システムの垂直方向の開始位置を明示的に設定しましたが、各システム内部の各譜の垂直方向の開始位置を手動で設定することも可能です。line-break-system-details のサブプロパティ alignment-offsets を用います。

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 20)
               (alignment-distances . (10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60)
               (alignment-distances . (15)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
          #'((Y-offset . 85)
             (alignment-distances . (20)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

ここでは NonMusicalPaperColumn グラフィカル オブジェクトのline-break-system-details 属性に 2 つの値を代入しているということに注意してください。line-break-system-details 属性の連想配列はもっと多くのスペース パラメータ (例えば、Y-offset ペアに相当する X-offset ペア) を受け付けますが、システムと譜の垂直方向の開始地点を制御するのに必要な設定は、Y-offset ペアと alignment-offsets ペアだけです。 最後に、alignment-offsets は譜の垂直方向の位置を指定するのであり、譜グループの位置を指定するわけではないということに注意してください。

 
\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 0)
               (alignment-distances . (30 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60)
               (alignment-distances . (10 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 100)
               (alignment-distances . (10 30)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new StaffGroup <<
        \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
        \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
      >>
    >>
  }
}

[image of music]

考慮すべき点がいくつかあります:

参照

コード断片集: (snippets)Spacing section ‘Spacing’ in Snippets


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

4.4.3 垂直方向の衝突回避

@translationof Vertical collision avoidance

直観的に、音楽記譜には譜に属するオブジェクトと、譜の外側に配置されるべきオブジェクトがあります。譜の外側に属するオブジェクトには、リハーサル記号、テキスト、それに強弱記号などがあります (これからは、それらを譜外部オブジェクトと呼びます)。LilyPond が譜外部オブジェクトの垂直方向の配置を決定するとき、譜外部オブジェクトをできる限り譜の近くに、しかしながら、他のオブジェクトと衝突しない程度の近さに配置します。

LilyPond は outside-staff-priority プロパティを用いてあるグラフィカル オブジェクトが譜外部オブジェクトかどうかを決定します: outside-staff-priority が数であれば、そのグラフィカル オブジェクトは譜外部オブジェクトです。さらに、outside-staff-priority は LilyPond に、そのグラフィカル オブジェクトを配置する順番を教えてくれます。

まず最初にに、LilyPond は譜外部オブジェクトには属さないオブジェクトをすべて配置します。次に、譜外部オブジェクトを outside-staff-priority に従って (昇順に) ソートします。LilyPond は譜外部オブジェクトを、既に配置済みのオブジェクトと衝突しないよう、一つずつ配置していきます。つまり、2 つの譜外部オブジェクトが同じスペースをめぐって競合する場合、より小さな outside-staff-priority を持つオブジェクトが譜の近くに配置されます。

 
\relative c'' {
  c4_"Text"\pp
  r2.
  \once \override TextScript.outside-staff-priority = #1
  c4_"Text"\pp % ここでは、テキストが譜の近くに配置されます
  r2.
  % outside-staff-priority に数ではない値を設定することにより、
  % 自動衝突回避を無効にします
  \once \override TextScript.outside-staff-priority = ##f
  \once \override DynamicLineSpanner.outside-staff-priority = ##f
  c4_"Text"\pp % ここでは、2 つのオブジェクトが衝突します
}

[image of music]

譜外部オブジェクト周りの垂直方向のパディングは、 outside-staff-padding でコントロールできます。

 
\relative {
  \once \override TextScript.outside-staff-padding = #0
  a'4-"outside-staff-padding = #0"
  \once \override TextScript.outside-staff-padding = #3
  d-"outside-staff-padding = #3"
  c-"default outside-staff-padding"
  b-"default outside-staff-padding"
  R1
}

[image of music]

デフォルトでは、譜外部オブジェクトの配置は、配置済みのグラフィカル オブジェクトとの水平方向の衝突を回避するように配置されます。このことは、オブジェクト同士が水平方向に近く配置される状況を招く可能性があります。下の例にあるように、outside-staff-horizontal-padding をセットすることで、必要な水平方向のスペースを増やしています。また、この例では、テキストが加線に近づきすぎないように上方向に移動しています。

 
\relative {
  c''4^"Word" c c''2
  R1
  \once \override TextScript.outside-staff-horizontal-padding = #1
  c,,4^"Word" c c''2
}

[image of music]

参照

コード断片集: (snippets)Spacing section ‘Spacing’ in Snippets


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

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.