+%% Bookpart first page and last page predicates
+#(define (part-first-page? layout props)
+ (= (chain-assoc-get 'page:page-number props -1)
+ (ly:output-def-lookup layout 'first-page-number)))
+
+#(define (part-last-page? layout props)
+ (chain-assoc-get 'page:is-bookpart-last-page props #f))
+
+#(define (part-first-page layout props arg)
+ (if (part-first-page? layout props)
+ (interpret-markup layout props arg)
+ empty-stencil))
+
+#(define (not-part-first-page layout props arg)
+ (if (not (part-first-page? layout props))
+ (interpret-markup layout props arg)
+ empty-stencil))
+
+#(define (part-last-page layout props arg)
+ (if (part-last-page? layout props)
+ (interpret-markup layout props arg)
+ empty-stencil))
+