Я пытаюсь поместить пользовательский текст в вольтах при гравировке с помощью Lilypond. Проблема не в том, чтобы добавить текст, а в том, чтобы добавить его с форматированием, которое я хочу. Я знаю, что аналогичный вопрос был задан и на него был дан ответ ( текст разметки внутри второй скобки volta ), но он не отвечает на мою проблему, потому что результат действительно уродлив. Это то, что у меня уже есть, за исключением того, что метод другой; Я попробовал это, так что ожидайте, что если я сделаю что-то не так, это не то, что я хочу.
То, что у меня есть на данный момент, выглядит так:
Идея состоит в том, что текст в вольтах скорее будет похож на текст, который я поместил под си и до в первых двух тактах.
Мой код на данный момент:
\version "2.20.0"
aaaa = _\markup { \italic \teeny "Suite" }
bbbb = \tweak DynamicText.self-alignment-X #LEFT
#(make-dynamic-script
(markup
#:with-dimensions '(0 . 5) '(0 . 0) #:line
(#:normal-text #:italic #:teeny "Fin")))
pianoUpper = \relative c' {
\override DynamicLineSpanner.staff-padding = #3
\clef "treble"
\key f \major
bes1 \bbbb
\set Score.repeatCommands = #'((volta "Suite"))
c \aaaa
\set Score.repeatCommands = #'((volta #f))
\bar "||"
\set Score.repeatCommands = #'((volta "Fin"))
d
\set Score.repeatCommands = #'((volta #f))
\bar "||"
e_"D.S. al Fine"
\bar "S-S"
\break
}
pianoLower = \relative c {
\clef "bass"
\key f \major
}
\score {
\new PianoStaff
<<
\new Staff = "upper" {
\pianoUpper
}
\new Staff = "lower" {
\pianoLower
}
>>
}
Как я могу получить форматирование (курсив) в тексте скобки volta?
Кажется, это работает. Только не ставь ничего раньше \text
. Изменено
\set Score.repeatCommands = #(list(list 'volta finVoltaTxt) 'end-repeat)
в той же форме, что и потому \set Score.repeatCommands = #(list(list 'volta suiteVoltaTxt))
, что две переменные действительно должны быть вместе; не один сделал так, другой сделал иначе.suiteVoltaTxt
finVoltaTxt
suiteVoltaTxt = \markup { \text \italic Suite}
finVoltaTxt = \markup { \text \italic Fin}
pianoUpper = \relative c' {
\key f \major
\time 4/4
bes1
\set Score.repeatCommands = #(list(list 'volta suiteVoltaTxt))
c1
\set Score.repeatCommands = #(list(list 'volta finVoltaTxt) 'end-repeat)
d1
\set Score.repeatCommands = #'((volta #f))
e |
}