Иногда, когда музыкальное произведение имеет часто меняющийся тактовый размер, тактовый размер печатается над нотоносцем. В следующем примере печатается только числитель (всегда в знаменателе 4):
Я знаю, что этого можно добиться в LilyPond, скрыв обычные тактовые размеры и отобразив числа вручную. Можно ли сделать это, изменив вместо этого гравер тактового размера?
Вы можете использовать вариант этого фрагмента и использовать динамический контекст для отображения тактовых размеров, как в следующем примере:
\version "2.18.2"
\score {
<<
\new Dynamics {
\time 2/4 s2
\time 3/4 s2.
\time 4/4 s1
}
\new Staff \relative c' {
\key es \major
\clef treble
<< { g'8[-3^\markup { \italic "sempre legato" } a b] s } \\
{ es,[-3\pp f g <b, d>] } >>
<< { es[-2 f-1 g a <g-1 b-4> <as-2 c-5>] } \\
{ c,[-4 d es f] s s } >>
<< { s es[-2 f g-1 a b c d]-5 } \\
{ <b,-5 d>[ c d es f g-3 a b] } >>
}
>>
\layout {
\context {
\Score
\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/32)
}
\context {
\Dynamics
\consists "Time_signature_engraver"
\override TimeSignature.style = #'single-digit
\override TimeSignature.break-align-symbol = ##f
\override TimeSignature.X-offset = #ly:self-alignment-interface::x-aligned-on-self
\override TimeSignature.self-alignment-X = #CENTER
\override TimeSignature.after-line-breaking = #shift-right-at-line-begin
}
\context {
\Staff
\remove "Time_signature_engraver"
}
}
}
Вышеупомянутое должно отображаться как:
Если вы хотите изменить только один контекст Dynamics, вы также можете использовать
[...]
\new Dynamics \with {
\consists "Time_signature_engraver"
\override TimeSignature.style = #'single-digit
\override TimeSignature.break-align-symbol = ##f
\override TimeSignature.X-offset = #ly:self-alignment-interface::x-aligned-on-self
\override TimeSignature.self-alignment-X = #CENTER
\override TimeSignature.after-line-breaking = #shift-right-at-line-begin
} {
\time 2/4 s2
\time 3/4 s2.
\time 4/4 s1
}
[...]
И удалить материал из \layout
.
Рози Ф.
Джаспер Хабихт
\with
. Смотрите мою правку.