LilyPond - Einstellen unterschiedlicher Notenzeilengrößen für unterschiedliche Partituren in "2.18"

Ich bin dabei, different staff sizesfür verschiedene scoresoder zumindest Buchteile in LilyPond "2.18.2" zu verwenden .

Hier gibt es eine Frage zum globalen Festlegen der Mitarbeitergröße , die mein Problem nicht löst. Die Antwort ist die Verknüpfung mit der Lösung "2.19"#(layout-set-staff-size NN) , in der Sie die innerhalb eines Blocks verwenden können \layout. Dies funktioniert nicht in "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)
  }
}

gibt diese Ausgabe:

Geben Sie hier die Bildbeschreibung ein

Gibt es eine Möglichkeit, verschiedene Stabgrößen in zu verwenden "2.18.2"?
es war ok, wenn ich zumindest für a eine individuelle stabgröße einstellen konnte \bookpart {}.

Dies ist kein 2.18-spezifisches Problem. Es verhält sich auch in 2.19 schlecht. Ich konnte mit diesen Befehlen einiges von dem bekommen, was Sie wollen , aber ich habe beim Spielen mit verschiedenen Permutationen festgestellt, dass sich auch dies nicht konsistent verhält. Daher werde ich noch keine allgemeine Antwort posten, da ich mir nicht ganz sicher bin, was mit den internen Befehlen schief läuft (und gerade keine Zeit habe, es zu klären). Aber in der Zwischenzeit kann dieser Link vielleicht helfen.
@Athanasius hat gerade gefunden, dass dies layout-set-staff-sizebereits in den "2.18.2" -Dokumenten vorgeschlagen wird , wusste das nicht ...

Antworten (1)

Ich habe ein Snippet mit einer Funktion im LilyPond Snippet Repository (LSR) gefunden :

\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 {}
}

Geben Sie hier die Bildbeschreibung ein

es ändert nicht die Notenzeilengröße für ganze \bookpartBlöcke, erfüllt aber seinen Zweck, auch wenn es etwas gestreckt aussieht.

Hinweis: Die \with { \staffSize #-4 }müssen zu jedem hinzugefügt werden \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 {}
}

Geben Sie hier die Bildbeschreibung ein

Auch der Abstand zwischen den Stäben wird immer kleiner, je größer die Partitur wird und umgekehrt. Dies muss manuell angepasst werden. Überhaupt keine Ideallösung.