string (list-ref (element-number-list '("paper" "footnote") (current-node)) 1)) ". "))) (process-children)) (make paragraph first-line-start-indent: indent)))) (element abstract (make sequence quadding: 'justify)) (element address (make sequence line-spacing: (* base-leading .8) font-size: (* base-size .8) (process-node-list (get-children-by-type '("street" "pob"))) (make paragraph (literal (let address-loop ((addrparts (get-children-by-type '("city" "country" "postcode" "state"))) (addr-string "")) (if (node-list-empty? addrparts) addr-string (address-loop (node-list-rest addrparts) (string-append addr-string (data (node-list-first addrparts)) (if (and (equal? (gi (node-list-first addrparts)) "city") (member (gi (node-list-ref addrparts 1)) '("country" "state"))) ", " " "))))))) (process-node-list (get-children-by-type '("phone" "fax" "email" "otheraddr"))))) (element (docinfo author) (sosofo-append (make paragraph line-spacing: (* base-leading 1.5) font-size: (* base-size 1.5) space-before: (* base-leading 1.5) (literal (let author-loop ((nameparts (get-children-by-type '("firstname" "honorific" "lineage" "othername" "surname"))) (author-string "")) (if (node-list-empty? nameparts) author-string (author-loop (node-list-rest nameparts) (string-append author-string (data (node-list-first nameparts)) (if (node-list-empty? (node-list-rest nameparts)) "" " "))))))) (process-node-list (get-children-by-type '("affiliation"))))) (element citetitle (make sequence font-posture: 'italic)) (element (revision date) (make table-cell)) (element docinfo (make sequence quadding: 'center)) (element (address email) (make paragraph font-family-name: "iso-monospace")) (element (address fax) (make paragraph (literal "Fax: ") (process-children))) (element footnote (make sequence position-point-shift: (/ (inherited-line-spacing) 3) font-size: (/ (* (inherited-font-size) 2) 3) (literal (number->string (list-ref (element-number-list '("paper" "footnote") (current-node)) 1))))) (element footnoteref (make sequence position-point-shift: (/ (inherited-line-spacing) 3) font-size: (/ (* (inherited-font-size) 2) 3) (literal (number->string (list-ref (element-number-list '("paper" "footnote") (element-with-id (attribute-string "linkend"))) 1))))) (element foreignphrase (make sequence font-posture: 'italic)) (element itemizedlist (make sequence start-indent: (* indent 2))) (element (docinfo author affiliation jobtitle) (make paragraph)) (element keywordset (empty-sosofo)) (element literal (make sequence font-family-name: "iso-monospace")) (element (address otheraddr) (make paragraph)) (element (docinfo author affiliation orgname) (make paragraph)) (element (docinfo orgname) (make paragraph space-before: (inherited-line-spacing))) (element paper (make simple-page-sequence left-margin: 1in right-margin: 1in top-margin: 1in bottom-margin: 1in footer-margin: .5in center-footer: (make sequence font-size: (* base-size .8) (page-number-sosofo)) line-spacing: base-leading quadding: 'justify font-size: base-size (process-children) (let ((footnotes (select-elements (descendants (current-node)) "footnote"))) (if (node-list-empty? footnotes) (empty-sosofo) (make sequence (make paragraph line-spacing: (* base-leading 1.5) font-weight: 'bold font-size: (* base-size 1.5) quadding: 'center space-before: (* base-leading 1.5) (literal "Notes")) (make sequence start-indent: indent (with-mode notes (process-node-list footnotes)))))))) (element (abstract para) (if (first-sibling?) (make paragraph space-before: (inherited-line-spacing) (make line-field font-weight: 'bold (literal "Abstract: ")) (process-children)) (make paragraph first-line-start-indent: indent))) (element (itemizedlist listitem para) (if (first-sibling?) (make paragraph first-line-start-indent: (- indent) (make line-field field-width: indent (literal (string #\U-2022))) (process-children)) (make paragraph first-line-start-indent: indent))) (element para (make paragraph first-line-start-indent: (if (first-sibling?) 0pt indent) space-before: (if (first-sibling?) base-leading 0pt))) (element (address phone) (make paragraph (literal "Telephone: ") (process-children))) (element (address pob) (make paragraph (sosofo-append (literal "PO Box ") (process-children)))) (element quote (if (equal? (modulo (length (hierarchical-number-recursive "quote" (current-node))) 2) 0) (sosofo-append (literal (string #\U-201C)) (process-children) (literal (string #\U-201D))) (sosofo-append (literal (string #\U-2018)) (process-children) (literal (string #\U-2019))))) (element revhistory (make table display-alignment: 'center space-before: (inherited-line-spacing) font-size: (* (inherited-font-size) .8) (make table-column width: 1in) (make table-column width: 1in) (make table-column width: 2.5in) (process-children))) (element revision (make table-row)) (element revnumber (make table-cell (sosofo-append (literal "Revision ") (process-children)))) (element revremark (make table-cell)) (element (address street) (make paragraph)) (element subjectset (empty-sosofo)) (element systemitem (make sequence font-family-name: "iso-monospace" (case (attribute-string "role") (("url") (literal ""))))) (element (docinfo title) (make paragraph line-spacing: (* base-leading 2) font-weight: 'bold font-size: (* base-size 2))) (element (sect1 title) (make paragraph line-spacing: (* base-leading 1.5) font-weight: 'bold font-size: (* base-size 1.5) quadding: 'center space-before: (* base-leading 1.5) keep-with-next?: #t)) (element (sect2 title) (make paragraph line-spacing: (* base-leading 1.2) font-weight: 'bold font-size: (* base-size 1.2) space-before: (* base-leading 1.2) keep-with-next?: #t)) (element (sect3 title) (make paragraph font-weight: 'bold space-before: base-leading keep-with-next?: #t)) ]]>