1 ;;;; framework-tex.scm --
3 ;;;; source file of the GNU LilyPond music typesetter
5 ;;;; (c) 2004--2007 Han-Wen Nienhuys <hanwen@xs4all.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 format ergonomic-simple-format)
21 (define (header filename)
23 \\input{lilypond-tex-metrics}
24 \\documentclass{article}
25 \\lilyglobalscale{1.0}
26 \\lilymetricsfile{~a.textmetrics}
35 (define-public (output-classic-framework basename book scopes fields)
36 (let* ((filename (format #f "~a.texstr" basename))
37 (outputter (ly:make-paper-outputter
38 (open-file filename "wb")
39 (ly:get-option 'backend)))
40 (paper (ly:paper-book-paper book))
41 (lines (ly:paper-book-systems book)))
42 (ly:outputter-dump-string outputter (header basename))
45 (ly:outputter-dump-stencil outputter (paper-system-stencil system)))
47 (ly:outputter-dump-string outputter (footer))))
49 (define-public (output-framework basename book scopes fields )
50 (let* ((filename (format #f "~a.texstr" basename))
52 (ly:make-paper-outputter
53 (open-file filename "wb")
54 (ly:get-option 'backend)))
55 (paper (ly:paper-book-paper book))
56 (pages (ly:paper-book-pages book)))
57 (ly:outputter-dump-string outputter (header basename))
60 (ly:outputter-dump-stencil outputter page))
62 (ly:outputter-dump-string outputter (footer))))
64 (define-public (convert-to-ps . args) #t)
65 (define-public (convert-to-pdf . args) #t)
66 (define-public (convert-to-png . args) #t)
67 (define-public (convert-to-dvi . args) #t)
68 (define-public (convert-to-tex . args) #t)