大譜表をまたいで符尾などをつなぐ

 ピアノ曲では、一つのフレーズが両手にまたがることがよくある。これを実現するには、フレーズの途中で隣の譜表に移動する。(参考:ドキュメント 2.2.1, Common notation for keyboards)。

\version "2.12.0" \new PianoStaff << \new Staff = "up" { <des' g>16 es \change Staff="down" bes, es, \change Staff="up" <c' g>16 es \change Staff="down" bes, es, \change Staff="up" \stemDown <des' g>16 es \change Staff="down" \stemUp bes, es, \change Staff="up" \stemDown <c' g>16 es \change Staff="down" \stemUp bes, es, \change Staff="up" } \new Staff = "down" { \clef bass s1 } >>

Cross-staff beam

 \change Staff="..." というのが譜表を移動するコマンド。小節の後半では、\stemUp, \stemDown を使って符尾の方向を手動で決めている。

 スラーやタイもつなげられるはずだけど、変なところに書かれてしまうこともある。

\version "2.12.0" \new PianoStaff << \new Staff = "up" { << { b'2 ( cis'' d''2 ) } \\ { b'8 ( fis' d' b~ \change Staff="down" \voiceOne b fis d b,) } >> } \new Staff = "down" { \clef bass d,2 \voiceTwo fis,2 b,,2 } >>

Cross-staff beam example 2

 \once \override Slur #'extra-offset で平行移動は可能。

\version "2.12.0" \new PianoStaff << \new Staff = "up" { << { b'2 ( cis'' d''2 ) } \\ { \once \override Slur #'extra-offset = #'(0 . 4) b'8 ( fis' d' \once \override Tie #'extra-offset = #'(0 . 9) b~ \change Staff="down" \voiceOne b fis d b,) } >> } \new Staff = "down" { \clef bass d,2 \voiceTwo fis,2 b,,2 } >>

Cross-staff beam example 3

 タイが変な感じだが、まあこれは仕方がない。control-points を調整して自由な形を作ることも一応できるのだが、かなり大変。(2011/02/13 追記:「大譜表をまたぐスラーの調整」参照)

(2009.2.22. 作成)