#(define (book-first-page? layout props)
"Return #t iff the current page number, got from @code{props}, is the
book first one."
- (define (ancestor layout)
- "Return the topmost layout ancestor"
- (let ((parent (ly:output-def-parent layout)))
- (if (not (ly:output-def? parent))
- layout
- (ancestor parent))))
(= (chain-assoc-get 'page:page-number props -1)
- (ly:output-def-lookup (ancestor layout) 'first-page-number)))
+ (book-first-page layout props)))
#(define (book-last-page? layout props)
"Return #t iff the current page number, got from @code{props}, is the
(ly:stencil-add (ly:make-stencil link-expr xextent yextent) stil)))
+(define-public (book-first-page layout props)
+ "Return the @code{'first-page-number} of the entire book"
+ (define (ancestor layout)
+ "Return the topmost layout ancestor"
+ (let ((parent (ly:output-def-parent layout)))
+ (if (not (ly:output-def? parent))
+ layout
+ (ancestor parent))))
+ (ly:output-def-lookup (ancestor layout) 'first-page-number))
+
(define-markup-command (with-link layout props label arg)
(symbol? markup?)
#:category other
(if (list? table)
(assoc-get label table)
#f))
- (first-page-number
- (ly:output-def-lookup layout 'first-page-number))
+ (first-page-number (book-first-page layout props))
(current-page-number
(if table-page-number
(1+ (- table-page-number first-page-number))