On 11/07/2011, at 3:47 pm, David Nalesnik wrote: >> Now I just need to figure out how to calculate the desired width, given the >> paper size and the staff size. (I think I know what calculation needs to be >> done; the question is just whether my Scheme is up to automating it.) >> > > This seems to do the trick: > \version "2.14.1" > > \paper { > ragged-right = ##t > } > > \relative c' { > \override Staff.StaffSymbol #'width = #(lambda (grob) > (ly:output-def-lookup (ly:grob-layout grob) 'line-width)) > \repeat unfold 10 { c d e f } > \bar "||" > }
Indeed it does, thank you. And no, my Scheme would _not_ have been up to that. I was still trying to figure out how to access the value of line-width, or indeed any of the \paper variables: the documentation is very clear on how to set them in the \paper block, but completely unforthcoming on how to get them from anywhere else. In fact, even given your solution I'm not convinced I understand how it works: as far as I can see you have defined an anonymous function, but not actually evaluated it ... (I've been coding on and off for 30 years in a succession of Basic, Fortran, C, Matlab, C++, Python and even the odd spot of assembler, but Scheme remains quite impenetrable to me). Best wishes, Matthew _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user