大譜表の上段譜表の上にオシア譜表を追加しようとしています。このメーリングリストの投稿から作業して、私が望むことをほぼ実行する最小限の例を作成しました。問題は、オシアがない譜表であっても、スコア全体にオシア譜表用の空白スペースが含まれていることです。
これがその例です(本当に、メロディアスな構成です):
\version "2.18.2"
ossia = \new Staff = "ossia" \with {
\remove "Time_signature_engraver"
fontSize = #-2
\override StaffSymbol #'staff-space = #(magstep -2)
\override Clef #'transparent = ##t
\override KeySignature #'stencil = ##f
} {
\key b \major
\override Staff.BarLine #'allow-span-bar = ##f
\stopStaff
s2.*100 % ???
}
treble = \new Staff = "treble" {
\clef treble
\key b \major
\relative c' {
\repeat unfold 10 { b8 cis dis fis dis cis }
b4 dis fis |
b4
<<
{ dis, fis }
\context Staff = "ossia" {
\startStaff \tuplet 3/2 { dis8 b dis } fis4 \stopStaff
}
>> |
b2. |
}
}
bass = \new Staff = "bass" {
\clef bass
\key b \major
\relative c {
\repeat unfold 12 { fis,4 fis4 fis4 | }
b2.
}
}
pianoStaff = \new PianoStaff {
\compressFullBarRests
\time 3/4
<<
\ossia
\treble
\bass
>>
}
\paper {
#(set-paper-size "letter")
indent = 25\mm
short-indent = 5\mm
}
\score {
<< \pianoStaff >>
% This changes nothing:
% \layout { \context { \Staff \RemoveEmptyStaves } }
}
注意すべきいくつかの興味深い点:
s2.*100
13 行目 ( マーク)を削除する% ???
か、値を 12 より小さい値に変更すると、ossia スタッフは完全に正しくレンダリングされません。これはヘ音記号の下に表示され、音部記号と拍子記号を含み、C のキーにあります (つまり、レンダリングされた音符には臨時記号が含まれます)。基本的には、スタッフの存在に気付かず、ossia
新しいスタッフを構築したようです。これは、ossia 譜表が使用される各ポイントを超えて拡張されることになっているためではないかと考えています。これはよくわかりませんが、有効になっている限り本質的な効果はないように見えるので、我慢\compressFullBarRests
できます。異なるシステムで一貫した寸法を強制するために、MWE に用紙サイズを含めました。
スコアで指摘したように、追加
\RemoveEmptyStaves
しても空の譜表は削除されません。
私の質問は、以前のすべてのシステムで空のスペースを追加せずに、この例のようにレンダリングされたオシア譜表(ト音記号の上に小さく)を維持するにはどうすればよいですか?