Footnote example

(define-column-set-model double-columns
  (column-subset
   (column
    (x-origin 0pt)
    (width column-measure))
   (column
    (x-origin (+ column-measure column-separation))
    (width column-measure))
   (flow
    (main body-text)
    (figure top-float bottom-float)
    (fn footnote))))

(element chapter
  (make page-sequence
    force-first-page: 'front
    initial-page-models: (list chapter-first-page)
    repeat-page-models: (list chapter-verso-page
                              chapter-recto-page)
    blank-back-page-model: chapter-verso-page
    (make column-set-sequence
      column-set-model: double-columns)))

(define footnote-font-size 8pt)
(define superscript-shift-ems .4) ; ems to shift up superscript for footnote
;; factor by which to multiply font size for superscripts
(define superscript-size-factor .6)

(element note
  (let ((mark
         (literal (format-number (note-number) "1"))))
    (sync (make sequence
            font-size: (* (inherited-font-size)
                          superscript-size-factor)
            placement-offset: (- (* (inherited-font-size)
                                    superscript-shift-ems))
            mark)
          (make paragraph
            label: 'fn
            font-size: footnote-font-size
            mark
            (literal ". ")
            (process-children))
          type: 'page)))

;; Footnotes are numbered per chapter

(define (note-number)
  (list-ref (element-number-list '("CHAPTER" "NOTE"))
            1))
[Prev][Next]