LilyPond - установка разных размеров нотоносца для разных оценок в "2.18"

Я стараюсь использовать разные staff sizesдля разных scoresили, по крайней мере, частей книги в LilyPond "2.18.2" .

Здесь есть вопрос о глобальной настройке размера персонала , что не решает мою проблему. Ответ связан с решением «2.19» , в котором вы можете использовать внутри блока. Это не работает в :#(layout-set-staff-size NN)\layout"2.18.2"

\version "2.18.2"

\score {
  \relative c' {
    c4( d e f
    g1) \bar "|."
  }
  \layout {
    #(layout-set-staff-size 24)
  }
}

\score {
  \relative c'' {
    g4( f e d
    c1) \bar "|."
  }
  \layout {
    #(layout-set-staff-size 10)
  }
}

дает этот вывод:

введите описание изображения здесь

Есть ли способ использовать разные размеры персонала в "2.18.2"?
было бы нормально, если бы я мог установить индивидуальный размер персонала хотя бы для файла \bookpart {}.

Это не проблема, специфичная для 2.18. Он также плохо себя ведет в 2.19. Я смог получить кое-что из того, что вы хотите, с помощью этих команд , но при игре с различными перестановками я обнаружил, что это тоже не работает последовательно. Поэтому я пока не собираюсь публиковать общий ответ, так как не совсем уверен, что происходит с внутренними командами (и сейчас у меня нет времени разбираться). А пока, может быть, эта ссылка может помочь.
@Athanasius только что обнаружил, что layout-set-staff-sizeэто уже предложено в документах «2.18.2» , не знал этого ...

Ответы (1)

Я нашел фрагмент с функцией в репозитории фрагментов LilyPond (LSR) :

\version "2.18.2"

staffSize = #(define-music-function (parser location new-size) (number?)
  #{
    \set fontSize = #new-size
    \override StaffSymbol.staff-space = #(magstep new-size)
    \override StaffSymbol.thickness = #(magstep new-size)
  #})

\score {
  \new Staff        % default size
  \relative c' {
    c4( d e f
    g1) \bar "|."
  }
  \layout {}
}

\score {
  \new Staff \with { \staffSize #-4 } 

  \relative c'' {
    g4( f e d
    c1) \bar "|."
  }
  \layout {}
}

введите описание изображения здесь

он не изменяет размеры нотоносца для целых \bookpartблоков, но служит цели, хотя и выглядит немного растянутым.

Примечание: необходимо \with { \staffSize #-4 }добавить к каждому отдельному \new Staff:

\version "2.18.2"

staffSize = #(define-music-function (parser location new-size) (number?)
  #{
    \set fontSize = #new-size
    \override StaffSymbol.staff-space = #(magstep new-size)
    \override StaffSymbol.thickness = #(magstep new-size)
  #})

melody = \relative c'' {
  \repeat unfold 3 {
    g4( f e d) 
    e2 e
  }
  g8( f e d c d e f)
  g( f e d c d e f)
  g( f e d c2)~
  c1 \bar "|."
}

basscl = \relative c' {
  \clef bass
  \repeat unfold 3 {
    g2 e
    e c
  }
  g1
  d
  f2. c4~
  c1 \bar "|."
}


\score {
  \new StaffGroup \with {
    instrumentName = "minus 4"}
  <<
  \new Staff \with { \staffSize #-4 }
    \melody 
  \new Staff \with { \staffSize #-4 }
    \basscl
  >>
  \layout {}
}

\score {
  \new StaffGroup \with {
    instrumentName = "default"}
  <<
  \new Staff
    \melody 
  \new Staff
    \basscl
  >>
  \layout {}
}

\score {
  \new StaffGroup \with {
    instrumentName = "plus 4"}
  <<
  \new Staff \with { \staffSize #4 }
    \melody 
  \new Staff \with { \staffSize #4 }
    \basscl
  >>
  \layout {}
}

введите описание изображения здесь

также расстояние между посохами становится все меньше и меньше, чем больше становится счет, и наоборот. Это нужно настроить вручную. Идеального решения вообще нет.