如何在LilyPond中实现高音谱号前显示女高音/中音谱号?
LilyPond实现开头显示初始谱号后切换为高音谱号的解决方案
直接连续使用\clef soprano \clef treble时,LilyPond会自动优化隐藏前一个谱号——它默认不会在同一小节内显示连续切换的谱号。要实现需求,需要强制显示第一个谱号,再切换到高音谱号。
以下是可复现效果的完整代码:
\version "2.24.0" \score { << \new Staff { % 强制显示女高音谱号,随后切换为高音谱号 \once \override Staff.Clef.break-visibility = #(#t #t #t) \clef soprano \clef treble c'4 d' e' f' } \new Staff { % 强制显示中音谱号,随后切换为高音谱号 \once \override Staff.Clef.break-visibility = #(#t #t #t) \clef alto \clef treble c4 d e f } >> }
代码说明
\once \override Staff.Clef.break-visibility = #(#t #t #t):强制当前谱号在小节的开头、中间、结尾位置都保持可见,阻止LilyPond的自动隐藏优化。- 先声明初始谱号(女高音/中音),紧接着用
\clef treble切换到高音谱号,即可实现两行乐谱开头先显示指定谱号、随后切换为高音谱号的效果。
内容的提问来源于stack exchange,提问作者S98
相关产品推荐
相关产品推荐

