Style language - cross references
-
Include page number only if figure is on a different page
<style-specification id=figref use=hardcopy>
(element xref
(map-constructor (let ((x (current-node)))
(lambda()
(process-xref x)))
(element (attribute-string "REFID"))))
(define (process-xref xref-node)
(if (match-element? 'chapter (current-node))
(with-mode xref
(process-node-list (current-node)))
(sosofo-append
(literal "Figure "
(format-number (element-number) "1"))
(general-indirect-sosofo
page-ref-if-different
(page-number
first-area-of-node: (current-node))
(page-number first-area-of-node: xref-node)))))
(define (page-ref-if-different figure-page current-page)
(if (equal? figure-page current-page)
(empty-sosofo)
(literal ", page "
(format-number figure-page "1"))))
</style>
[Prev][Next]