Hi everybody!

As far as I understand after \bar "" a \break is permitted in the middle of a 
bar.
Lilypond is supposed to engrave the next barline at the proper place.

At the marked places ( FIXME/ BUG) in the attached score lilypond needs to be
forced to print a barline ... I think this is a bug, although it's also 
possible that I
missed something in the docs.

cu,
 Knut

P.S. The score  is WIP, a lot of tuning (beams, ties, slurs, etc) is missing
\version "2.19.49" % git 22a856e734d8dd3e2112ba954c4aab2ab7fc3556

\include "deutsch.ly"

ob = { \break }
opb = { \pageBreak }
br = { \breathe }

global = { 
  \key c \major
  \autoBeamOff
}

sopmus = {
  \global
  \relative c'' {
    \time 2/4 \tempo \markup { "Gemächliche " \fontsize #-2 \note #"4" #UP } c4 8 8 8 8 d4 \time 3/4 c4. 8 \br 4 \time 2/4 f2 2 c2 2 \ob
    f2 2 c4 \br 4 f2 2 c2 2 f2 \opb
    f2 c4 \br d \time 3/4 b2 4 a2 d4 \time 2/4 b4. ( a8 g f g4 ~ 8 f \bar "" \ob
    d4 es2 ) d \tempo \markup { "Etwas zurückhaltender, frei"} r8 d'8 4 4 c8 (d a g4) 8  f4 a g \br 
      \once \override Score.MetronomeMark.self-alignment-X = #CENTER \tempo \markup { \center-column {\line { "Im" } \line { "Zeitmaß"}}} d'\opb
    d4 4 \time 3/4 es2 f4 d2 c4 \time 2/4 d4 \br 4 ~ 8 8 4 f2 ( 4 ) 4 ~ \ob
    4 e f \br a,4 ~ 8 8 4 b4. ( a8 g4 ) f g2 2 R2 \undo \hide Score.BarLine \bar "|."
  }
}

sopfoo = {
  \override Staff.StaffSymbol.line-count = #0
  \time 2/4 \repeat unfold 2 {s2}  \time 3/4 \repeat unfold 1 {s2.} \time 2/4 \repeat unfold 14 {s2} \time 3/4 \repeat unfold 2 {s2.}
  \time 2/4 s2 s2 s4 \bar "" s4 \repeat unfold 8 {s2} \time 3/4 \repeat unfold 2 {s2.} \time 2/4 \repeat unfold 12 {s2} \bar "|."
}

mezmus = {
  \global
  \relative a' {
    \time 2/4 a4 8 8 8 8 f4 \time 3/4 a4. 8 \br 4 \time 2/4 c2 2 a?2 2
    \time 3/4 c8 (d c4) b a? \br a2 \time 2/4 c2 2 a?2 2 \time 3/4 c8 (d c4) \bar ""
    % FIXME mensuration line requires \bar "|". Why? BUG?
    %      |
    %  vvvvvvvv
    b  \bar "|" a?4 \br 2 \time 2/4 d g, c f, \time 3/4 b4. ( c8 b4
    a4. g8 f4 ) \time 2/4 g2 ~ 2 ~ 2 ~ 2 R2 r4 a4
    4 4 \time 3/4 b2 c4 a2 g4 \time 2/4 a4 \br 4 ~ 8 8 4 b4. ( a8 g4) f
    g2 f4 \br 4 ~ 8 8 4 \time 3/4 d2 b4 c2. \time 2/4 f2 R2
    \undo \hide Score.BarLine \bar "|."
  }
}
mezfoo = {
  \override Staff.StaffSymbol.line-count = #0
  \time 2/4 \repeat unfold 2 {s2} \time 3/4 \repeat unfold 1 {s2.} \time 2/4 \repeat unfold 4 {s2} \time 3/4 \repeat unfold 2 {s2.}
  % FIXME mensuration line requires \bar "|". Why? BUG?
  %                                                 |
  %                                             vvvvvvvv
  \time 2/4 \repeat unfold 4 {s2} s2 \bar "" s4 \bar "|" s2. \time 2/4 \repeat unfold 4 {s2} \time 3/4 \repeat unfold 2 {s2.}
  \time 2/4 \repeat unfold 7 {s2} \time 3/4 \repeat unfold 2 {s2.} \time 2/4 \repeat unfold 7 {s2} \time 3/4 \repeat unfold 2 {s2.}
  \time 2/4 \repeat unfold 2 {s2} \bar "|."
}

altmus = {
  \global
  \relative f' {
    \time 2/4 f4 8 8 8 8 b4 \time 3/4 f4. 8 \br 4 \time 2/4 as2 2 f2 2
    \time 3/4 as8 (b as4) ges f4 \br 2 \time 2/4 as2 2 f2 2 \time3/4 as8 ( b as4) \bar ""
    % FIXME mensuration line requires \bar "|". Why? BUG?
    %         |
    %     vvvvvvvv
    ges4 \bar "|" f4 \br 2 \time 2/4 d? es c d \time 3/4 b4. ( a?8 g?4
    b a2 ) \time 2/4 g2 ~ 2 ~ 2 ~ 2 R2 r4 g'4
    4 4 \time 3/4 fis2 g4 fis2 e4 \time 2/4 d \br f4 ~ 8 8 4 \time 3/4 d2 b4 << { c2.} { s4 \bar "" \break s2 } >>
    \time 2/4 f4 \br d4 ~ 8 8 4 f2 ( 4 ) 4 ~ 4 e f2 R2
    \undo \hide Score.BarLine \bar "|."
    
  }
}

altfoo = {
  \override Staff.StaffSymbol.line-count = #0
  \time 2/4 \repeat unfold 2 {s2} \time 3/4 \repeat unfold 1 {s2.} \time 2/4 \repeat unfold 4 {s2} \time 3/4 \repeat unfold 2 {s2.}
  % FIXME mensuration line requires \bar "|". Why? BUG?
  %                                                 |
  %                                             vvvvvvvv
  \time 2/4 \repeat unfold 4 {s2} s2 \bar "" s4 \bar "|" s2. \time 2/4 \repeat unfold 4 {s2} \time 3/4 \repeat unfold 2 {s2.}
  \time 2/4 \repeat unfold 7 {s2} \time 3/4 \repeat unfold 2 {s2.} \time 2/4 \repeat unfold 2 {s2} \time 3/4 s2. s4 \bar "" s2
  \time 2/4 \repeat unfold 6 {s2}
}

ime = { \set ignoreMelismata = ##t }
ome = { \set ignoreMelismata = ##f }
le = { \once \override LyricText.self-alignment-X = #LEFT }
ce = { \once \override LyricText.self-alignment-X = #CENTER }

soplyrA = \lyricmode {
  Wasch dich, mein Schwe -- ster -- chen, wasch dich;
  zu Ro -- bins Hoch -- zeit gehn wir heut;
  er hat die stol -- ze Ruth ge -- freit.
  Wir kom -- men un -- ge -- be -- ten;
  wir schmau -- sen nicht, __ wir tan -- zen nicht,
  und nicht mit la -- chen -- dem Ge -- sicht
  komm' __ ich vor ihn __ zu __ tre -- ten,
  komm' __ ich vor ihn __ zu tre -- ten!
}
mezlyrA = \lyricmode {
  Wasch dich, mein Schwe -- ster -- chen, wasch dich;
  zu Ro -- bins Hoch -- zeit gehn __ wir heut;
  er hat die stol -- ze Ruth __ ge -- freit.
  Wir kom -- men un -- ge -- be -- ten; __ 
  "... und" nicht mit la -- chen -- dem Ge -- sicht
  komm' __ ich vor ihn __ zu tre -- ten,
  komm' __ ich vor ihn zu tre -- ten!
}
altlyrA = \lyricmode {
  Wasch dich, mein Schwe -- ster -- chen, wasch dich;
  zu Ro -- bins Hoch -- zeit gehn __ wir heut;
  er hat die stol -- ze Ruth __ ge -- freit.
  Wir kom -- men un -- ge -- be -- ten; __ 
  "... und" nicht mit la -- chen -- dem Ge -- sicht
  komm' __ ich vor ihn zu  tre -- ten, 
  komm' __ ich vor ihn __ zu __ tre -- ten!
}

soplyrB = \lyricmode {
  Strähl dich, mein Schwe -- ster -- chen, strähl dich!
  Wir \markup \undertie { wollen } ihm \markup \undertie { singen } ein Rät -- sel -- lied,
  wir \markup \undertie { wollen } ihm \markup \undertie { klingen } ein bö -- ses Lied;
  die Oh -- ren \markup \undertie { sollen } ihm gel -- len.
  Ich will ihr schen -- ken ei -- nen Kranz
  von Nes -- seln und von Dor -- nen ganz:
  da -- mit sie fährt __ zur __ Höl -- len,
  da -- mit sie fährt __ zur Höl -- len!
}
mezlyrB = \lyricmode {
  Strähl dich, mein Schwe -- ster -- chen, strähl dich!
  Wir \markup \undertie { wollen } ihm \markup \undertie { singen } ein Rät -- sel -- lied,
  wir \markup \undertie { wollen } ihm \markup \undertie { klingen } ein bö -- ses Lied;
  die Oh -- ren \markup \undertie { sollen } ihm gel -- len. __
  "... von" Nes -- seln und von Dor -- nen ganz:
  da -- mit sie fährt __ zur Höl -- len,
  da -- mit sie fährt zur Höl -- len!
}
altlyrB = \lyricmode {
  Strähl dich, mein Schwe -- ster -- chen, strähl dich!
  Wir \markup \undertie { wollen } ihm \markup \undertie { singen } ein Rät -- sel -- lied,
  wir \markup \undertie { wollen } ihm \markup \undertie { klingen } ein bö -- ses Lied;
  die Oh -- ren \markup \undertie { sollen } ihm gel -- len. __
  "... von" Nes -- seln und von Dor -- nen ganz:
  da -- mit sie fährt zur Höl -- len,
  da -- mit sie fährt __ zur __ Höl -- len!
}

soplyrC = \lyricmode {
  Schick dich, mein Schwe -- ster -- chen, schmück dich!
  Der -- weil sie al -- le sind am Schmaus,
  soll rot in Flam -- men stehn das Haus,
  die Gä -- ste \markup \undertie { schreien } und ren -- nen.
  Zwei sol -- len sit -- zen un -- ver -- wandt,
  zwei hat ein Sprüch -- lein fest -- ge -- bannt;
  zu __ Koh -- le \ime \le müs -- sen \ome sie __ bren -- nen,
  zu __ Koh -- le \ime \le müs -- \skip 4 sen \ome sie bren -- nen.
}
mezlyrC = \lyricmode {
  Schick dich, mein Schwe -- ster -- chen, schmück dich!
  Der -- weil sie al -- le sind __ am Schmaus,
  soll rot in Flam -- men stehn __ das Haus,
  die Gä -- ste \markup \undertie { schreien } und ren -- nen. __
  "... zwei" hat ein Sprüch -- lein fest -- ge -- bannt;
  zu __ Koh -- le \ime \le müs -- \skip 4 sen \ome sie bren -- nen,
  zu __ Koh -- le \markup \undertie { müssen } \ome sie bren -- nen.
}
altlyrC = \lyricmode {
  Schick dich, mein Schwe -- ster -- chen, schmück dich!
  Der -- weil sie al -- le sind __ am Schmaus,
  soll rot in Flam -- men stehn __ das Haus,
  die Gä -- ste \markup \undertie { schreien } und ren -- nen. __
  "... zwei" hat ein Sprüch -- lein fest -- ge -- bannt;
  zu __ Koh -- le \markup \undertie { müssen } \ome sie bren -- nen,
  zu __ Koh -- le \ime \le müs -- \ome sen sie __ bren -- nen.
}

soplyrD = \lyricmode {
  Lu -- stig, mein Schwe -- ster -- chen, lu -- stig!
  Das war ein al -- ter Am -- men -- sang.
  Den fal -- schen Rob ver -- gaß ich lang.
  Er soll mich se -- hen la -- chen!
  Hab ich doch ei -- nen an -- dern Schatz,
  der mit mir tan -- zet auf dem "Platz –"
  sie __ wer -- den Au -- gen __ ma -- chen,
  sie __ wer -- den Au -- gen ma -- chen!
}
mezlyrD = \lyricmode {
  Lu -- stig, mein Schwe -- ster -- chen, lu -- stig!
  Das war ein al -- ter Am -- men -- sang.
  Den fal -- schen Rob ver -- gaß __ ich lang.
  Er soll mich se -- hen la -- chen! __
  "... der" mit mir tan -- zet auf dem "Platz –"
  sie __ wer -- den Au -- gen ma -- chen,
  sie __ wer -- den Au -- gen ma -- chen!
}
altlyrD = \lyricmode {
  Lu -- stig, mein Schwe -- ster -- chen, lu -- stig!
  Das war ein al -- ter Am -- men -- sang.
  Den fal -- schen Rob ver -- gaß __ ich lang.
  Er soll mich se -- hen la -- chen! __
  "... der" mit mir tan -- zet auf dem "Platz –"
  sie __ wer -- den Au -- gen ma -- chen,
  sie __ wer -- den Au -- gen __ ma -- chen!
}


#(set-global-staff-size 17)

\paper {
  #(set-paper-size "a4")
  #(define page-breaking ly:optimal-breaking)
  left-margin = 2\cm
  line-width = 17\cm
  top-margin = 2\cm
  bottom-margin = 2\cm
  horizontal-shift =0\mm
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  print-page-number = ##f
  annotate-spacing=##f 
}
\header {
  title =    \markup  { \bold \fontsize #4.0 { "Die Tochter der Heide"  }}
  subtitle = \markup  { \bold \fontsize #2.0 { "für Frauenchor (2. Fassung)"  }}
  poet =     \markup  { \bold \fontsize #1.5 { "Eduard Mörike (1804-1875)" }}
  composer = \markup  { \bold \fontsize #1.5 { "Hugo Distler (1908-1942)" }}
  opus =     \markup  { \bold \fontsize #1.0 { "aus dem Mörike-Chorliederbuch, opus 19"}}
%  title =    \markup  { \bold \fontsize #4.0 { \override #'(font-name . "Minion Pro SmBd Cond Subh")  "Die Tochter der Heide"  }}
%  subtitle = \markup  { \bold \fontsize #2.0 { \override #'(font-name . "Minion Pro SmBd Cond")  "für Frauenchor (2. Fassung)"  }}
%  poet =     \markup  { \bold \fontsize #1.5 { \override #'(font-name . "Minion Pro SmBd Cond") "Eduard Mörike (1804-1875)" }}
%  composer = \markup  { \bold \fontsize #1.5 { \override #'(font-name . "Minion Pro SmBd Cond") "Hugo Distler (1908-1942)" }}
%  opus =     \markup  { \bold \fontsize #1.0 { \override #'(font-name . "Minion Pro SmBd Cond") "aus dem Mörike-Chorliederbuch, opus 19"}}
  tagline = ##f
}


\score {
  \new ChoirStaff << 
    \new StaffGroup << 
      \new Staff = sopranos << \new Voice = "sopran" { \sopmus }>>
      \new Lyrics \lyricsto sopran { \soplyrA }
      \new Lyrics \lyricsto sopran { \soplyrB }
      \new Lyrics \lyricsto sopran { \soplyrC }
      \new Lyrics \lyricsto sopran { \soplyrD }
      \new Staff = "sfoo" \with { \remove "Clef_engraver" \remove "Time_signature_engraver"  \override VerticalAxisGroup.staff-staff-spacing =
                                  #'((basic-distance . 0) (minimum-distance . 0)(padding . 0) (stretchability . 0)) } << { \sopfoo }  >>
    >>
    \new StaffGroup << 
      \new Staff = mezzos << \new Voice = "mezzo" { \mezmus } >>
      \new Lyrics \lyricsto mezzo { \mezlyrA }
      \new Lyrics \lyricsto mezzo { \mezlyrB }
      \new Lyrics \lyricsto mezzo { \mezlyrC }
      \new Lyrics \lyricsto mezzo { \mezlyrD }
      \new Staff = "mfoo" \with { \remove "Clef_engraver" \remove "Time_signature_engraver"  \override VerticalAxisGroup.staff-staff-spacing =
                                 #'((basic-distance . 0) (minimum-distance . 0)(padding . 0) (stretchability . 0)) } << { \mezfoo }  >>
    >>
    \new StaffGroup <<
      \new Staff = altos \with {\override VerticalAxisGroup #'staff-staff-spacing =
                                 #'((basic-distance . 0) (minimum-distance . 6) (padding . 0) (stretchability . 0)) }
      << \new Voice = "alt" { \altmus } >>
      \new Staff = "afoo" \with { \remove "Clef_engraver" \remove "Time_signature_engraver" } <<  { \altfoo } >>
      \new Lyrics \lyricsto alt { \altlyrA }
      \new Lyrics \lyricsto alt { \altlyrB }
      \new Lyrics \lyricsto alt { \altlyrC }
      \new Lyrics \lyricsto alt { \altlyrD }
    >>
  >>
  \layout {
    indent = 0\cm
    \context {
      \Score
      \remove "Timing_translator"
      \remove "Default_bar_line_engraver"
      \remove "Forbid_line_break_engraver"
      \override BarLine #'hair-thickness = #'0.75
      \hide BarLine
      \override MetronomeMark #'font-size = #'1.5
%      \override MetronomeMark #'font-name = "Minion Pro Bold Condensed"
      \override LyricExtender #'layer = #'2
      \override LyricExtender #'whiteout = #'4.0
      \override LyricExtender #'whiteout-style = #'whiteout-box 
      \override LyricHyphen #'layer = #'2
      \override LyricHyphen #'whiteout = #'3.0
      \override LyricHyphen #'whiteout-style =  #'outline
      \override LyricText #'layer = #'3
    }
    \context {
      \Staff
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
      \override VerticalAxisGroup #'staff-staff-spacing =
        #'((basic-distance . 0) (minimum-distance . 0) (padding . 18) (stretchability . 0))
      \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing =
        #'((basic-distance . 0) (minimum-distance . 0) (padding . 0) (stretchability . 0))
      \override VerticalAxisGroup #'nonstaff-unrelatedstaff-spacing =
        #'((basic-distance . 0) (minimum-distance . 0) (padding . 0) (stretchability . 0))
      \override Clef #'space-alist = #'((cue-clef extra-space . 2.0) (staff-bar extra-space . 0.7)
        (key-cancellation minimum-space . 3.5)(key-signature minimum-space . 3.5)
        (time-signature minimum-space . 4.2) (first-note minimum-fixed-space . 11.0)
        (next-note extra-space . 1.0) (right-edge extra-space . 0.5))
    }
    \context {
      \Voice
      \remove "Forbid_line_break_engraver"
    }
    \context{
      \Lyrics
%      \override LyricText #'font-size = #'2.0
%      \override LyricText #'font-name = "Minion Pro SmBd Cond"
      \override LyricHyphen #'dash-period = #7
      \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing =
        #'((basic-distance . 0) (minimum-distance . 0) (padding . 1.0) (stretchability . 0))
      \override VerticalAxisGroup #'nonstaff-nonstaff-spacing =
        #'((basic-distance . 0) (minimum-distance . 3.5) (padding . 0.0) (stretchability . 0))
      \override VerticalAxisGroup #'nonstaff-unrelatedstaff-spacing =
        #'((basic-distance . 0) (minimum-distance . 0) (padding . 0.0) (stretchability . 0))
    }
  }
}
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to