| [ << スペースの問題 ] | [トップ][目次][インデックス] | [ デフォルトを変更する >> ] |
| [ < 改行/改ページ ] | [ 上へ : 改行/改ページ ] | [ 改ページ > ] |
4.3.1 改行
通常、改行は自動的に決定されます。改行は、行が混み合って見えたり散漫に見えたりしないように、連続する行の密度が同じくらいになるように選択されます。
小節線が引かれる場所で手動で強制的に改行を入れるには、\break コマンドを使用します:
\relative c'' {
c4 c c c | \break
c4 c c c |
}
デフォルトでは、小節の‘途中’に挿入された \break コマンドは無視されます
(そして、LilyPond ファイルをコンパイルする時に警告メッセージが出力されます)。小節の途中で強制的に改行を入れるには、不可視の小節線 – ‘\bar ""’ – を \break コマンドの前に挿入することで、強制的に改行することができます:
\relative c'' {
c4 c c
\bar ""
\break
c |
c4 c c c |
}
連符が開始する小節と終了する小節が異なる場合などのように、前の小節が音符の途中で終わっている場合、前の小節の終わりに \break を配置しても無視されます。この場合、Voice コンテキストから Forbid_line_break_engraver を削除し、同時進行の音楽表記を使い、2 つ目の‘ボイス’の正しい位置に
\break を挿入してください:
音楽と並列に改行コマンドを追加する必要があるということに注意してください:
\new Voice \with {
\remove "Forbid_line_break_engraver"
} \relative {
<<
{ c''2. \tuplet 3/2 { c4 c c } c2. | }
{ s1 | \break s1 | }
>>
}
同様にデフォルトでは、連桁が小節線を跨いでいる場合も、改行は無視されます。\override Beam.breakable = ##t コマンドで強制することができます:
\relative c'' {
\override Beam.breakable = ##t
c2. c8[ c | \break
c8 c] c2. |
}
\noBreak コマンドは、コマンドが配置された小節線での改行を禁止します。
楽譜の中で、\autoLineBreaksOff と \autoLineBreaksOn の間にある音楽は、自動改行が抑止されます。同様に自動改ページも抑止させたい場合は、\autoBreaksOff と \autoBreaksOn コマンドを使うべきです。手動改行や改ページは、これらのコマンドによって影響されません。自動改行を抑止した際、音楽のすべてが 1 行に収まりきらない場合に右の余白を飛び出す可能性があることに注意してください。
自動改行は、小節線のところで \once \autoLineBreaksOn を用いることで、単一の小節線に対して有効にすることができます (改ページはできません)。これは、強制改行ではなく、許可された改行を示します。
行スペースに影響を与える最も基本的な設定は indent と
line-width です。これらは \layout ブロック内で設定されます。これらは音楽の最初の行のインデントと行の長さを制御します。
\layout ブロック内で ragged-right が真にセットされた場合、システムは、行全体に広がらずに、本来の長さで終了します。これは短い楽譜の断片を記譜する場合や、本来のスペースがどれくらい密になっているかチェックする場合に有用です。
オプション ragged-last は ragged-right と似ていますが、楽曲の最後の行にだけ効果を持ちます。
\layout {
indent = 0\mm
line-width = 150\mm
ragged-last = ##t
}
規則的な間隔で改行を行うには、スキップで区切られた \break を用いて、それを \repeat で繰り返します。例えば、以下の例は 28 小節 (4/4 拍子と仮定して) であり、4 小節ごとに改行が入ります
(それ以外の場所で改行が入ることはありません):
<<
\repeat unfold 7 {
s1 \noBreak s1 \noBreak
s1 \noBreak s1 \break
}
{ 実際の音楽… }
>>
定義済みコマンド
\break,
\noBreak,
\autoBreaksOff,
\autoBreaksOn,
\autoLineBreaksOff,
\autoLineBreaksOn
Selected Snippets
改行のために専用のボイスを用意する
改行や改ページの情報を音楽から分離し、\break, \pageBreak
やその他のレイアウト情報のみを含む専用のボイスを用意した方が管理しやすい場合があります。
このパターンは、line-break-system-details のような、NonMusicalPaperColumn Grob の設定が長いプロパティをオーバライドする際に、特に有用です。
music = \relative c'' { c4 c c c }
\score {
\new Staff <<
\new Voice {
s1 * 2 \break
s1 * 3 \break
s1 * 6 \break
s1 * 5 \break
}
\new Voice {
\repeat unfold 2 { \music }
\repeat unfold 3 { \music }
\repeat unfold 6 { \music }
\repeat unfold 5 { \music }
}
>>
}
参照
記譜法リファレンス:
改行のための \paper 変数,
\layout ブロック
コード断片集: Spacing
内部リファレンス: LineBreakEvent
既知の問題と警告
\autoLineBreaksOff や \autoBreaksOff を音楽の最初に配置すると、エラー メッセージが表示されます。何らかの音楽の後に、これらのコマンドを配置するようにしてください。
| [ << スペースの問題 ] | [トップ][目次][インデックス] | [ デフォルトを変更する >> ] |
| [ < 改行/改ページ ] | [ 上へ : 改行/改ページ ] | [ 改ページ > ] |