1 ;;;; framework-tex.scm --
3 ;;;; source file of the GNU LilyPond music typesetter
5 ;;;; (c) 2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 (define-module (scm framework-texstr)
8 #:export (output-framework-tex
9 output-classic-framework-tex))
11 (use-modules (ice-9 regex)
19 (define (dump-page putter page last? with-extents?)
20 (ly:outputter-dump-string
22 (format "\\lybox{~a}{~a}{%\n"
24 (interval-start (ly:stencil-extent page X))
27 (- (interval-start (ly:stencil-extent page Y)))
29 (ly:outputter-dump-string
33 "}%\n\\vfill\n\\lilypondpagebreak\n")))
35 (define-public (output-framework outputter book scopes fields basename )
36 (let* ((paper (ly:paper-book-paper book))
37 (pages (ly:paper-book-pages book))
41 (ly:outputter-dump-string outputter x))
45 (ly:outputter-dump-stencil outputter page))
48 (define (dump-line putter line last?)
49 (ly:outputter-dump-string
51 (format "\\lybox{~a}{~a}{%\n"
53 (max 0 (interval-end (ly:paper-system-extent line X))))
55 (interval-length (ly:paper-system-extent line Y)))))
57 (ly:outputter-dump-stencil putter (ly:paper-system-stencil line))
58 (ly:outputter-dump-string
62 "}\\interscoreline\n")))
65 (define-public (convert-to-ps . args) #t)
66 (define-public (convert-to-pdf . args) #t)
67 (define-public (convert-to-png . args) #t)
68 (define-public (convert-to-dvi . args) #t)
69 (define-public (convert-to-tex . args) #t)