[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Table of Contents: 2 problems
From: |
David Sumbler |
Subject: |
Re: Table of Contents: 2 problems |
Date: |
Tue, 24 Nov 2015 14:35:22 +0000 |
On Tue, 2015-11-24 at 14:47 +0100, David Kastrup wrote:
> David Sumbler <address@hidden> writes:
>
> > I have experimented with elements from the all the suggestions made -
> > thanks to all. One thing that has been confirmed is that my
> > understanding of how to use markup commands is pretty poor.
> >
> > I still have not managed to solve all of the problems. I tried to test
> > Graham's suggestion of a modification of part of Nicolas Sceaux's
> > book-titling snippet. But when I try to compile the whole snippet
> > (which has a demo at the end of it) I get an error.
> >
> > I am using Lilypond 2.19.30; the snippet does not have a "version"
> > statement. The error I am getting stems from the fact that in the
> > snippet the procedure 'collect-music-for-book' is always called with 2
> > arguments: (collect-music-for-book parser (make-music # # ...)). When I
> > look in the lily-library.scm in my current Lilypond installation, I see
> > that it should only have 1 argument, e.g.
> > (collect-music-for-book (make-music # # ...)).
> >
> > I have tried putting an old version number at the top of the snippet
> > (e.g. "version" 2.16.1) and running convert.ly, but no significant
> > changes are made to the file.
> >
> > How can I get this snippet to work?
>
> I presume you are talking about snippet 368?
>
> Putting on old version number at the top of the snippet and running
> convert-ly works here. Do you have the wrong convert-ly perhaps?
>
> I get as diff (from 2.18.0)
>
> differences between files attachment (lsr368.diff)
> --- /tmp/Snippet 2015-11-24 14:39:21.482732193 +0100
> +++ - 2015-11-24 14:44:36.648156076 +0100
> @@ -1,3 +1,4 @@
> +\version "2.19.32"
> %% http://lsr.di.unimi.it/LSR/Item?id=368
> %% see also
> http://www.lilypond.org/doc/v2.18/Documentation/snippets/paper-and-layout
> %% see also http://nicolas.sceaux.free.fr/
> @@ -236,7 +237,7 @@
> (set! odd-label-header-table
> (cons (list label text display-1st)
> odd-label-header-table))
> - (collect-music-for-book parser
> + (collect-music-for-book
> (make-music 'Music
> 'page-marker #t
> 'page-label label)))))
> @@ -246,7 +247,7 @@
> (set! even-label-header-table
> (cons (list label text display-1st)
> even-label-header-table))
> - (collect-music-for-book parser
> + (collect-music-for-book
> (make-music 'Music
> 'page-marker #t
> 'page-label label))))))
> @@ -266,23 +267,23 @@
> %%% Utilities for adding (no-)page breaks, toplevel markups
> %%%
> #(define (add-page-break parser)
> - (collect-music-for-book parser
> + (collect-music-for-book
> (make-music 'Music
> 'page-marker #t
> 'line-break-permission 'force
> 'page-break-permission 'force)))
>
> #(define (add-no-page-break parser)
> - (collect-music-for-book parser
> + (collect-music-for-book
> (make-music 'Music
> 'page-marker #t
> 'page-break-permission 'forbid)))
>
> #(define (add-toplevel-markup parser text)
> - (collect-scores-for-book parser (list text)))
> + (collect-scores-for-book (list text)))
>
> #(define (add-toc-item parser markup-symbol text)
> - (collect-music-for-book parser
> + (collect-music-for-book
> (add-toc-item! markup-symbol text)))
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> @@ -302,7 +303,7 @@
> (format #f "~a-~a" major-number minor-number))))
>
> #(define-public (add-rehearsal-number parser)
> - (collect-scores-for-book parser
> + (collect-scores-for-book
> (list (markup #:huge #:bold (rehearsal-number)))))
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> @@ -314,50 +315,50 @@
> #(define *use-rehearsal-numbers* (make-parameter #f))
>
> useRehearsalNumbers =
> -#(define-music-function (parser location use-numbers) (boolean?)
> +#(define-music-function (use-numbers) (boolean?)
> (*use-rehearsal-numbers* use-numbers)
> (make-music 'Music 'void #t))
>
> bookTitle =
> -#(define-music-function (parser location title) (string?)
> +#(define-music-function (title) (string?)
> (*book-title* title)
> (make-music 'Music 'void #t))
>
> chapter =
> -#(define-music-function (parser location title) (string?)
> +#(define-music-function (title) (string?)
> (increase-rehearsal-major-number)
> - (add-page-break parser)
> - (add-toc-item parser 'tocChapterMarkup title)
> - (add-even-page-header-text parser (string-upper-case (*book-title*)) #f)
> - (add-odd-page-header-text parser (string-upper-case title) #f)
> - (add-toplevel-markup parser (markup #:chapter-title (string-upper-case
> title)))
> - (add-no-page-break parser)
> + (add-page-break (*parser*))
> + (add-toc-item (*parser*) 'tocChapterMarkup title)
> + (add-even-page-header-text (*parser*) (string-upper-case (*book-title*))
> #f)
> + (add-odd-page-header-text (*parser*) (string-upper-case title) #f)
> + (add-toplevel-markup (*parser*) (markup #:chapter-title (string-upper-case
> title)))
> + (add-no-page-break (*parser*))
> (make-music 'Music 'void #t))
>
> section =
> -#(define-music-function (parser location title) (string?)
> - (add-toc-item parser 'tocSectionMarkup title)
> - (add-toplevel-markup parser (markup #:section-title (string-upper-case
> title)))
> - (add-no-page-break parser)
> +#(define-music-function (title) (string?)
> + (add-toc-item (*parser*) 'tocSectionMarkup title)
> + (add-toplevel-markup (*parser*) (markup #:section-title (string-upper-case
> title)))
> + (add-no-page-break (*parser*))
> (make-music 'Music 'void #t))
>
> piece =
> -#(define-music-function (parser location title) (markup?)
> - (add-toc-item parser 'tocPieceMarkup title)
> - (add-no-page-break parser)
> +#(define-music-function (title) (markup?)
> + (add-toc-item (*parser*) 'tocPieceMarkup title)
> + (add-no-page-break (*parser*))
> (if (*use-rehearsal-numbers*)
> - (add-toplevel-markup parser (markup #:rehearsal-number
> (rehearsal-number))))
> - (add-no-page-break parser)
> + (add-toplevel-markup (*parser*) (markup #:rehearsal-number
> (rehearsal-number))))
> + (add-no-page-break (*parser*))
> (make-music 'Music 'void #t))
>
> titledPiece =
> -#(define-music-function (parser location title) (markup?)
> - (add-toc-item parser 'tocPieceMarkup title)
> +#(define-music-function (title) (markup?)
> + (add-toc-item (*parser*) 'tocPieceMarkup title)
> (if (*use-rehearsal-numbers*)
> - (add-toplevel-markup parser
> + (add-toplevel-markup (*parser*)
> (markup #:piece-title-with-number (rehearsal-number)
> (string-upper-case title)))
> - (add-toplevel-markup parser (markup #:piece-title (string-upper-case
> title))))
> - (add-no-page-break parser)
> + (add-toplevel-markup (*parser*) (markup #:piece-title
> (string-upper-case title))))
> + (add-no-page-break (*parser*))
> (make-music 'Music 'void #t))
>
> #(define-markup-command (chapter-title layout props title) (markup?)
> which seems reasonably nice for an automatic conversion. I haven't
> actually tested it.
>
Sorry - my stupidity. I forgot the -e flag when I ran convert-ly.
David
- Table of Contents: 2 problems, David Sumbler, 2015/11/21
- Re: Table of Contents: 2 problems, Hwaen Ch'uqi, 2015/11/21
- Re: Table of Contents: 2 problems, Graham King, 2015/11/21
- Re: Table of Contents: 2 problems, Federico Bruni, 2015/11/21
- Re: Table of Contents: 2 problems, Nick Payne, 2015/11/21
- Re: Table of Contents: 2 problems, David Sumbler, 2015/11/24