\version "2.22.2" %{ Score example used taken from https://github.com/lilypond/lilypond/blob/master/Documentation/ly-examples/orchestra.ly title = "Violent Dance For Orchestra" composer = "Hu Haipeng" %} %{ There are a number of things that need to be improved on score level. 1) A large square bracket is removed, see line 74-79, but there is an error message cannot create context: Orchestra = orchestra \new Orchestra = "orchestra" << 2) I want to include the Contrafagott as well in the square bracket for the Fagotti, but I get error messages if I remove the ">>" in line 258 3) The tempo \tempo \markup { \bold \large "Molto adagio, solenne" } 4 = 45 is too much too the right. Should start above "C" or so instead 4) The font size of the header could be a little bigger in the A3 score format but not in the parts, of course. 5) The composer, shouldn't that be a little closer to the score (i.e. top stave)? Overall, to my feeling, the header section is a little too dense, see for example the distance between the composer and the Op. 44. 6) There are other problems as well For example, the tenutos are too close to the note heads, dynamics are repeated above and below the stave when using "\partCombine". Maybe the simplest would be to keep the dynamics in a separate file. If needed, I will address this in separate postings %} \include "Instruments.ily" \header { tagline = ##f title = "Mellanspel ur Kantaten SÃ¥ngen" subtitle = " " subsubtitle = "Interlude from The Song, cantata for four solo voices, chorus and orchestra" % piece = "Interlude from The Song, cantata for four solo voices, chorus and orchestra" composer = "Wilhelm Stenhammar (1871 - 1927)" opus = "Op. 44" instrument = " " } global = { \time 4/4 \tempo \markup { \bold \large "Molto adagio, solenne" } 4 = 45 s1*3 \mark \default s1*3 \tempo \markup { \bold \normal-text "Fine del concerto" } \mark \markup { \musicglyph "scripts.coda" } \bar "||" s1*5 \bar "|." } \paper { #(set-paper-size "a3") line-width = 255\mm left-margin = 25\mm top-margin = 20\mm markup-system-spacing = #'((basic-distance . 15) (padding . 0.5) (stretchability . 15)) score-markup-spacing = #'((basic-distance . 15) (padding . 0.5) (stretchability . 40)) markup-markup-spacing = #'((basic-distance . 1) (padding . 0.5)) } %% text defs %% layout to create orchestra staff group %% with non-spanned barlines between two instrument groups \layout { \context { \StaffGroup \name Orchestra \remove Span_bar_engraver } % If I commnet out this part, I get rid of the square bracket that span % the complete score but with an error message for line % \context { % \Score % \accepts Orchestra % } } %% Layout to produce SquareStaff context %% to group similar instruments in a staff group with thin square bracket \layout { \context { \StaffGroup \name SquareStaff systemStartDelimiter = #'SystemStartSquare } \context { \Orchestra \accepts SquareStaff } \context { \StaffGroup \accepts SquareStaff } } %% Layout to produce MarkLine context %% to place rehearsal marks and texts above full score \layout { \context { \type Engraver_group \name MarkLine \consists Output_property_engraver \consists Axis_group_engraver \consists Mark_engraver \consists Metronome_mark_engraver \consists Script_engraver \consists Text_engraver \consists Text_spanner_engraver \consists Font_size_engraver \override VerticalAxisGroup.staff-affinity = #DOWN \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #2 \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.padding = #5 \override TextSpanner.breakable = ##t } \context { \Score \accepts MarkLine } \context { \Orchestra \accepts MarkLine } \context { \StaffGroup \accepts MarkLine } } %% layout to produce a smaller markline %% put before 1st violin part \layout { \context { \MarkLine \name SmallMarkLine \override MetronomeMark.outside-staff-priority = #800 \override RehearsalMark.outside-staff-priority = #1200 } \context { \Score \accepts SmallMarkLine } \context { \Orchestra \accepts SmallMarkLine } \context { \StaffGroup \accepts SmallMarkLine } } % Increase the size staff (originally I used 12 but seems too small) #(set-global-staff-size 14) \score { \new Orchestra = "orchestra" << \set Score.skipBars = ##f % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 \new MarkLine { \global } \new StaffGroup = "woodwind" << \new SquareStaff = "flutes" << \new Staff = "flauti" { \set Staff.instrumentName = "Flauto I & II" \set Staff.shortInstrumentName = "Fl I & II" \set Staff.soloText = #"I" \set Staff.soloIIText = #"II" \partCombine \keepWithTag #'scoreonly \FloeteOne \keepWithTag #'scoreonly \FloeteTwo } \new Staff = "flauti" { \set Staff.instrumentName = "Fluto III" \set Staff.shortInstrumentName = "Fl III" \keepWithTag #'scoreonly \FloeteThree } >> \new SquareStaff = "oboes" << \new Staff = "oboes" { \set Staff.instrumentName = "Oboe I" \set Staff.shortInstrumentName = "Ob I" \keepWithTag #'scoreonly \OboeI } \new Staff = "oboes" { \set Staff.instrumentName = "Oboe II" \set Staff.shortInstrumentName = "Ob II" \OboeII } \new Staff = "oboes" { \set Staff.instrumentName = "Oboe III" \set Staff.shortInstrumentName = "Ob III" \keepWithTag #'scoreonly \OboeIII } >> \new SquareStaff = "clarinetto" << \new Staff = "clarinets" { \set Staff.instrumentName = \markup { \column { \line { "Clarinetto I" } \line { "in B" \smaller \flat } } } \set Staff.shortInstrumentName = "Cl I" \KlarinetteI } \new Staff = "clarinets" { \set Staff.instrumentName = \markup { \column { \line { "Clarinetto II" } \line { "in B" \smaller \flat } } } \set Staff.shortInstrumentName = "Cl II" \KlarinetteII } \new Staff = "clarinets" { \set Staff.instrumentName = \markup { \column { \line { "Clarinetto III" } \line { "in B" \smaller \flat } } } \set Staff.shortInstrumentName = "Cl III" \KlarinetteIII } % >> % This can be removed \new Staff = "clarinets" { \set Staff.instrumentName = \markup { \column { \line { "Clarinetto basso" } \line { "in B" \smaller \flat } } } \set Staff.shortInstrumentName = "CCl." \keepWithTag #'scoreonly \KlarinetteBass } >> \new SquareStaff = "fagotto" << \new Staff = "fagotto" { \set Staff.instrumentName = "Fagotto I" \set Staff.shortInstrumentName = "Fag I" \clef bass \FagottI } \new Staff = "fagotto" { \set Staff.instrumentName = "Fagotto II" \set Staff.shortInstrumentName = "Fag II" \clef bass \FagottII } \new Staff = "fagotto" { \set Staff.instrumentName = "Fagotto III" \set Staff.shortInstrumentName = "Fag III" \clef bass \FagottIII } >> % >> shouldn't be here but I get error messages without % Unexpected layout, unknown escape string wtc. \new Staff = "fagotto" { \set Staff.instrumentName = "Contrafagotto" \set Staff.shortInstrumentName = "Cfag" \clef bass \FagottContra } % Shouldn't the Contrafagotto be within the square brackets for the Fagotti? >> \new StaffGroup = "brass" << \new SquareStaff = "horns" << \new Staff = "hornsI" { \set Staff.instrumentName = \markup { \column { \line { "Corno I & II" } \line { "in F" } } } \set Staff.shortInstrumentName = "Hn I & II" \partCombine \keepWithTag #'scoreonly \HornOne \keepWithTag #'scoreonly \HornTwo } \new Staff = "hornsII" { \set Staff.instrumentName = \markup { \column { \line { "Corno III & IV" } \line { "in F" } } } \set Staff.shortInstrumentName = "Hn III & IV" \partCombine \HornThree \HornFour } >> \new SquareStaff = "trumpets" << \new Staff = "trumpetI" { \set Staff.instrumentName = \markup { \column { \line { "Tromba I & II" } \line { "in B" \smaller \flat } } } \set Staff.shortInstrumentName = "Tp I & II" \set Staff.soloText = #"I" \set Staff.soloIIText = #"II" \partCombine \keepWithTag #'scoreonly \TrompeteI \keepWithTag #'scoreonly \TrompeteII } \new Staff = "trumpetII" { \set Staff.instrumentName = \markup { \column { \line { "Tromba III" } \line { "in B" \smaller \flat } } } \set Staff.shortInstrumentName = "Tp. III" \keepWithTag #'scoreonly \TrompeteIII } >> \new SquareStaff = "trombones" << \new Staff = "trombones 1 & 2" { \set Staff.instrumentName = "Trombone I & II" \set Staff.shortInstrumentName = "Tb I & II" \clef tenor \partCombine \keepWithTag #'scoreonly \PosauneI \keepWithTag #'scoreonly \PosauneII } \new Staff = "tuba" { \set Staff.instrumentName = "Trombone III & Tuba" \set Staff.shortInstrumentName = "Tb III & Tu" \set Staff.soloText = #"III" \set Staff.soloIIText = #"Tuba" \clef bass \partCombine \keepWithTag #'scoreonly \PosauneIII \keepWithTag #'scoreonly \Tuba } >> >> \new Staff = "timpani" { \set Staff.instrumentName = "Timpani" \set Staff.shortInstrumentName = "Tim" \clef bass \keepWithTag #'scoreonly \Timpani } \new SmallMarkLine { \global } \new StaffGroup = "strings" << \new SquareStaff = "violins" << \new Staff = "violin I" { \set Staff.instrumentName = "Violini I" \set Staff.shortInstrumentName = "Vn I" \ViolineOne } \new Staff = "violin II" { \set Staff.instrumentName = "Violini II" \set Staff.shortInstrumentName = "Vn II" \ViolineTwo } >> \new SquareStaff = "viole" << \new Staff = "viola" { \set Staff.instrumentName = "Viole I" \set Staff.shortInstrumentName = "Vl I" \clef alto \ViolaI } \new Staff = "viola" { \set Staff.instrumentName = "Viole II" \set Staff.shortInstrumentName = "Vl II" \clef alto \ViolaII } >> \new SquareStaff = "Cello and Bass" << \new Staff = "violoncello" { \set Staff.instrumentName = "Violoncello I Solo" \set Staff.shortInstrumentName = "Vc I Solo" \clef bass\VcISolo } \new Staff = "violoncello" { \set Staff.instrumentName = "Violoncello II Solo" \set Staff.shortInstrumentName = "Vc II Solo" \clef bass\VcIISolo } \new Staff = "violoncello" { \set Staff.instrumentName = "Violoncello gli altri" \set Staff.shortInstrumentName = "Vc gli altri" \clef bass\VcTutti } \new Staff = "contrabass" { \set Staff.instrumentName = "Contrabassi" \set Staff.shortInstrumentName = "Cb." \clef bass\contrabass } >> >> >> \layout { \context { \Score \remove Mark_engraver \remove Metronome_mark_engraver markFormatter = #format-mark-box-numbers \compressEmptyMeasures \override BarNumber #'padding = #3 \override RehearsalMark #'padding = #2 } % Here the length of the hairpins are increased to make them legible \context { \Staff \RemoveEmptyStaves \override Hairpin.minimum-length = #8 \override DynamicTextSpanner.style = #'none } } }