Menu

#609 PaperColumn.keep-inside-line fails with MultiMeasureRestText

Accepted
nobody
None
Ugly
2015-09-27
2008-04-25
Anonymous
No

Originally created by: *anonymous

Originally created by: v.villenave

% In this example, keep-inside-line only works on the last line

:::TeX
\version "2.11.44"

gpl =
\markup {
  \override #'(line-width . 40)
  \box
  \justify-string
  #"If you want to redistribute LilyPond, you must comply with the GNU
General Public License (reproduced below). This license applies to
LilyPond with the following exceptions:"
}

\new Score \with {
  \override PaperColumn #'keep-inside-line = ##t
}{
  b1 b b b b b b b b r1^\markup \gpl b \break
  b b b b b b b b \mark \markup \gpl b \break
  b b b b b b b b b b b^\markup \gpl b \break
}

It might be related to issue 160 or issue 436

Related

Issues: #160
Issues: #436
Issues: #637
Issues: #997

Discussion

  • Google Importer

    Google Importer - 2008-04-26

    Originally posted by: v.villenave

    Actually, the second line of my example is irrelevant (it's a different limitation,
    also annoying but less easily fixable).

    Correct code should be:

    :::TeX
    \new Score \with {
      \override PaperColumn #'keep-inside-line = ##t
    }{
      b1 b b b b b b b b R1^\markup \gpl b \break
      b1 b b b b b b b b R1^\markup \gpl b \break
    }
    

    % keep-inside-line doesn't work as you can see.

    Summary: wrong placement of \markup on MultiMeasureRest

     

    Last edit: Simon Albrecht 2015-09-27
  • Google Importer

    Google Importer - 2008-04-30

    Originally posted by: n.putt...@gmail.com

    Hi Valentin,

    I'm unsure whether this is a bug, since text attached to MultiMeasureRest grobs is
    handled by MultiMeasureRestText. Your snippet works if you attach the markup text to
    a skip:

    :::TeX
    \new Score \with {
      \override PaperColumn #'keep-inside-line = ##t
    }{
      b1 b b b b b b b b s1*0^\markup \gpl r1 b \break
      b1 b b b b b b b b R1^\markup \gpl b \break
    }
    

    It's not really ideal that you have to use skips in this case, but it is documented
    under Rehearsal marks.

    Regards,
    Neil

     

    Last edit: Simon Albrecht 2015-09-27
  • Google Importer

    Google Importer - 2008-04-30

    Originally posted by: v.villenave

    Yes indeed. However, I still do think it's a bug (or at least, a needed improvement)
    that MultiMeasureRestTexts aren't taken into account by PaperColumn #'keep-inside-line.

    The workaround is certainly convenient and well documented, but it's still a
    workaround. Therefore I'm keeping the issue open, but marking it as an Enhancement,
    and changing the priority to Low.

    Labels: -Type-Defect -Priority-Medium Type-Enhancement Priority-Low

     
  • Google Importer

    Google Importer - 2011-10-16

    Originally posted by: pkx1...@gmail.com

    The results of 2.15.15 are attached.

    Attached to skips (workaround) and without skips (Ugly)

    Labels: -Type-Enhancement -Priority-Low Type-Ugly
    Owner: ---

     
  • Simon Albrecht

    Simon Albrecht - 2015-09-21

    Bug persists in 2.19.27. With

    :::TeX
    \version "2.19.27"
    \paper { #(set-paper-size "a5" 'landscape) indent = 0 }
    #(ly:set-option 'point-and-click #f)
    \header { tagline = ##f }
    
    gpl =
    \markup {
      \override #'(line-width . 40)
      \box \justify-string
      #"If you want to redistribute LilyPond, you must comply with the GNU
    General Public License (reproduced below). This license applies to
    LilyPond with the following exceptions:"
    }
    
    \new Score \with {
      \override PaperColumn #'keep-inside-line = ##t
    } {
      b1 b b b b b b b b R1^\markup \gpl b \break
      b1 b b b b b b b b r1^\markup \gpl b \break
    }
    

    I get the attached result.
    keep-inside-line is true by default, so the override is superfluous.
    Note that the bug appears only with R (MMR), not with r (Rest).

     

    Last edit: Simon Albrecht 2015-09-27
  • Simon Albrecht

    Simon Albrecht - 2015-09-21
     
  • Simon Albrecht

    Simon Albrecht - 2015-09-21
    • summary: wrong placement of \markup on MultiMeasureRest --> PaperColumn.keep-inside-line fails with MultiMeasureRestText
     
  • Simon Albrecht

    Simon Albrecht - 2015-09-27
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -4,21 +4,27 @@
    
     % In this example, keep-inside-line only works on the last line
    
    +~~~~
    +:::TeX
     \version "2.11.44"
    
     gpl =
    -\markup \{ \override \#'\(line-width . 40\) 
    - \box \justify-string 
    -\#"If you want to redistribute LilyPond, you must comply with the GNU
    -General Public License \(reproduced below\). This license applies to
    -LilyPond with the following exceptions:" \}
    +\markup {
    +  \override #'(line-width . 40)
    +  \box
    +  \justify-string
    +  #"If you want to redistribute LilyPond, you must comply with the GNU
    +General Public License (reproduced below). This license applies to
    +LilyPond with the following exceptions:"
    +}
    
    -\new Score \with \{
    -  \override PaperColumn \#'keep-inside-line = \#\#t
    -\}\{
    -  b1 b b b b b b b b r1^\markup \gpl b \break
    -  b b b b b b b b \mark \markup \gpl b \break 
    -  b b b b b b b b b b b^\markup \gpl b \break
    -\}
    +\new Score \with {
    +  \override PaperColumn #'keep-inside-line = ##t
    +}{
    +  b1 b b b b b b b b r1^\markup \gpl b \break
    +  b b b b b b b b \mark \markup \gpl b \break
    +  b b b b b b b b b b b^\markup \gpl b \break
    +}
    +~~~~
    
    -% it might be related to [issue 160](#160) or [issue 436](#436)
    +It might be related to [issue 160](#160) or [issue 436](#436)
    
     
MongoDB Logo MongoDB