Joram: > could someone explain to me how lilypond-book (esp. the preamble) works? > > I read this in ly/lilypond-book-preamble.ly: > > several define ...-handler % what is that?
#(define default-toplevel-book-handler print-book-with-defaults-as-systems ) #(define toplevel-book-handler (lambda ( . rest) (set! output-empty-score-list #f) (apply print-book-with-defaults rest))) #(define toplevel-music-handler (lambda ( . rest) (apply collect-music-for-book rest))) #(define toplevel-score-handler (lambda ( . rest) (apply collect-scores-for-book rest))) #(define toplevel-text-handler (lambda ( . rest) (apply collect-scores-for-book rest))) Theese: print-book-with-defaults-as-systems print-book-with-defaults collect-music-for-book collect-scores-for-book are defined in scm/lily-library.scm, take a look there. > #(ly:set-option 'backend 'eps) % what if I want svg? Can't you convert your intermediary eps's or final ps/pdf's to svg ? Inkscape claims to be able to do that: https://en.wikipedia.org/wiki/Wikipedia:Graphic_Lab/Resources/PDF_conversion_to_SVG > #(ly:set-option (quote no-point-and-click)) % ok > #(define inside-lilypond-book #t) % consequences? $ find . -type f -print0 | xargs -0 grep 'inside-lilypond-book' ./Documentation/misc/ChangeLog-2.10: inside-lilypond-book ./input/regression/abc2ly/out-test-baseline/share/lilypond/current/ly/lilypond-book-preamble.ly:#(define inside-lilypond-book #t) ./input/regression/out-test-baseline/share/lilypond/current/ly/lilypond-book-preamble.ly:#(define inside-lilypond-book #t) ./input/regression/musicxml/out-test-baseline/share/lilypond/current/ly/lilypond-book-preamble.ly:#(define inside-lilypond-book #t) ./ly/lilypond-book-preamble.ly:#(define inside-lilypond-book #t) seems to be there for your convenience, i.e. you can check in your ly/scm code if you are using lilypond-book. > #(define version-seen #t) % ok, I can omit the version > > From the code, I could not find how the cropping, removing of indent, > removing of the tagline, output as png happens and where the tex, texi > and count files are produced (I don't need them). Why don't you include the ly/lilypond-book-preamble.ly verbatim in some test ly file of yours, like: \version "2.19.16" \header { tagline = "" } #(define default-toplevel-book-handler print-book-with-defaults-as-systems ) #(define toplevel-book-handler (lambda ( . rest) (set! output-empty-score-list #f) (apply print-book-with-defaults rest))) #(define toplevel-music-handler (lambda ( . rest) (apply collect-music-for-book rest))) #(define toplevel-score-handler (lambda ( . rest) (apply collect-scores-for-book rest))) #(define toplevel-text-handler (lambda ( . rest) (apply collect-scores-for-book rest))) #(set! output-empty-score-list #t) #(ly:set-option 'backend 'svg) #(ly:set-option (quote no-point-and-click)) %#(define inside-lilypond-book #t) %#(define version-seen #t) \score { \new Staff { a4 b c d } } Doing that I find that scm/framework-svg.scm is missing the output-classic-framework procedure which the other framework-*.scm have. Perhaps adding that will solve your problem. Regards, /Karl Hammar ----------------------------------------------------------------------- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user