[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Table of Contents: 2 problems
From: |
David Kastrup |
Subject: |
Re: Table of Contents: 2 problems |
Date: |
Tue, 24 Nov 2015 14:47:25 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
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)
--- /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.
--
David Kastrup
- 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