我试图在大的上层员工上方添加Ossia员工职员。从这个邮件列表帖子中工作,我有构建了一个最小的例子,即几乎做我想要的。这问题是整个分数包含一个空白的Ossia工作人员,即使在没有骨的系统中。
这是一个示例(确实是旋律构图):
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 = 25mm
short-indent = 5mm
}
score {
<< pianoStaff >>
% This changes nothing:
% layout { context { Staff RemoveEmptyStaves } }
}
这是输出(PNG图像,85 kb)。
需要注意的一些有趣的事情:
如果我在第13行(标记
% ???
)上删除s2.*100
,或更改Ossia员工渲染物的价值小于12的东西完全错误地。它出现在低音谱号下方,包括CLEF和时间签名,并且位于C的钥匙中(即渲染笔记包括意外)。基本上,看来它未能请注意,ossia
工作人员存在并构建了一个全新的一。我怀疑这是因为Ossia工作人员应该延伸超过每个使用的点 - 即当切换员工时上下文,一个人可以"回到过去",但不能前进。我不是理解这一点,但我可以忍受,因为它似乎没有只要启用compressFullBarRests
,就会产生内在效果。我在MWE中包括了纸张尺寸以强制一致不同系统上的尺寸。
正如我在分数中指出的那样,添加
RemoveEmptyStaves
不会删除空的小仓。
我的问题是:我如何保持Ossia工作人员的渲染此示例(小和高音clef)>所有以前的系统上的空白空间?
emoveEmptystaves不起作用,因为五线谱在钢琴上,因此您必须在 layout块中添加 remove "Keep_alive_together_engraver"
。这是文档片段稍作修改的最小示例:
version "2.18.2"
new PianoStaff
<<
new Staff = "ossia" with {
remove "Time_signature_engraver"
hide Clef
fontSize = #-3
override StaffSymbol.staff-space = #(magstep -3)
override StaffSymbol.thickness = #(magstep -3)
} relative c'' {
R1*3
c4 e8 d c2
}
new Staff relative c' {
c4 b c2
e4 f e2
g4 a g2 break
c4 b c2
g4 a g2
e4 d c2
}
>>
layout {
context {
Staff RemoveEmptyStaves
override VerticalAxisGroup.remove-first = ##t
}
context {
PianoStaff
remove "Keep_alive_together_engraver"
}
}
您的例子很大,不是真正的MWE。s2.*100
对我没有任何意义。我建议您提交一个较小的例子。