mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-11-03 22:01:36 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			6583 lines
		
	
	
		
			205 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			6583 lines
		
	
	
		
			205 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
;; $Id$
 | 
						|
;;
 | 
						|
;; This file is part of the Modular DocBook Stylesheet distribution.
 | 
						|
;; See ../README or http://nwalsh.com/docbook/dsssl/
 | 
						|
;;
 | 
						|
 | 
						|
(define (have-sibling? sibling-gi #!optional (node (current-node)))
 | 
						|
  (let loop ((nl (children (parent node))))
 | 
						|
    (if (node-list-empty? nl) 
 | 
						|
	#f
 | 
						|
	(if (equal? (gi (node-list-first nl)) sibling-gi)
 | 
						|
	    #t
 | 
						|
	    (loop (node-list-rest nl))))))
 | 
						|
 | 
						|
(define (titlepage-content? elements gis)
 | 
						|
  (let giloop ((gilist gis))
 | 
						|
    (if (null? gilist)
 | 
						|
	#f
 | 
						|
	(if (not (node-list-empty? (node-list-filter-by-gi 
 | 
						|
				    elements 
 | 
						|
				    (list (car gilist)))))
 | 
						|
	    #t
 | 
						|
	    (giloop (cdr gilist))))))
 | 
						|
 | 
						|
(define (titlepage-gi-list-by-elements elements nodelist) 
 | 
						|
  ;; Elements is a list of GIs.  Nodelist is a list of nodes.
 | 
						|
  ;; This function returns all of the nodes in nodelist that
 | 
						|
  ;; are in elements in the order they occur in elements.
 | 
						|
  (let loop ((gilist elements) (rlist (empty-node-list)))
 | 
						|
    (if (null? gilist)
 | 
						|
	rlist
 | 
						|
	(loop (cdr gilist) 
 | 
						|
	      (node-list rlist (node-list-filter-by-gi 
 | 
						|
				nodelist (list (car gilist))))))))
 | 
						|
 | 
						|
(define (titlepage-gi-list-by-nodelist elements nodelist) 
 | 
						|
  ;; Elements is a list of GIs.  Nodelist is a list of nodes.
 | 
						|
  ;; This function returns all of the nodes in nodelist that
 | 
						|
  ;; are in elements in the order they occur in nodelist.
 | 
						|
  (let loop ((nl nodelist) (rlist (empty-node-list)))
 | 
						|
    (if (node-list-empty? nl)
 | 
						|
	rlist
 | 
						|
	(if (member (gi (node-list-first nl)) elements)
 | 
						|
	    (loop (node-list-rest nl)
 | 
						|
		  (node-list rlist (node-list-first nl)))
 | 
						|
	    (loop (node-list-rest nl) rlist)))))
 | 
						|
 | 
						|
(define (titlepage-nodelist elements nodelist)
 | 
						|
  ;; We expand BOOKBIBLIO, BIBLIOMISC, and BIBLIOSET in the element
 | 
						|
  ;; list because that level of wrapper usually isn't significant.
 | 
						|
  (let ((exp-nodelist (expand-children nodelist (list (normalize "bookbiblio") 
 | 
						|
						      (normalize "bibliomisc")
 | 
						|
						      (normalize "biblioset")))))
 | 
						|
    (if %titlepage-in-info-order%
 | 
						|
	(titlepage-gi-list-by-nodelist elements exp-nodelist)
 | 
						|
	(titlepage-gi-list-by-elements elements exp-nodelist))))
 | 
						|
 | 
						|
(mode titlepage-address-mode
 | 
						|
  (default (process-children)))
 | 
						|
 | 
						|
;; == Title pages for SETs ==============================================
 | 
						|
 | 
						|
(define (set-titlepage-recto-elements)
 | 
						|
  (list (normalize "title") 
 | 
						|
	(normalize "subtitle") 
 | 
						|
	(normalize "graphic") 
 | 
						|
	(normalize "mediaobject")
 | 
						|
	(normalize "corpauthor") 
 | 
						|
	(normalize "authorgroup") 
 | 
						|
	(normalize "author") 
 | 
						|
	(normalize "editor")))
 | 
						|
 | 
						|
(define (set-titlepage-verso-elements)
 | 
						|
  (list (normalize "title") 
 | 
						|
	(normalize "subtitle") 
 | 
						|
	(normalize "corpauthor") 
 | 
						|
	(normalize "authorgroup") 
 | 
						|
	(normalize "author") 
 | 
						|
	(normalize "editor")
 | 
						|
	(normalize "edition") 
 | 
						|
	(normalize "pubdate") 
 | 
						|
	(normalize "copyright")
 | 
						|
	(normalize "legalnotice") 
 | 
						|
	(normalize "revhistory")))
 | 
						|
 | 
						|
(define (set-titlepage-content? elements side)
 | 
						|
  (titlepage-content? elements (if (equal? side 'recto)
 | 
						|
				   (set-titlepage-recto-elements)
 | 
						|
				   (set-titlepage-verso-elements))))
 | 
						|
 | 
						|
(define (set-titlepage elements #!optional (side 'recto))
 | 
						|
  (let ((nodelist (titlepage-nodelist 
 | 
						|
		   (if (equal? side 'recto)
 | 
						|
		       (set-titlepage-recto-elements)
 | 
						|
		       (set-titlepage-verso-elements))
 | 
						|
		   elements)))
 | 
						|
;;    (make simple-page-sequence
 | 
						|
;;      page-n-columns: %titlepage-n-columns%
 | 
						|
;;      input-whitespace-treatment: 'collapse
 | 
						|
;;      use: default-text-style
 | 
						|
      (make sequence
 | 
						|
 | 
						|
      ;; This hack is required for the RTF backend. If an external-graphic
 | 
						|
      ;; is the first thing on the page, RTF doesn't seem to do the right
 | 
						|
      ;; thing (the graphic winds up on the baseline of the first line
 | 
						|
      ;; of the page, left justified).  This "one point rule" fixes
 | 
						|
      ;; that problem.
 | 
						|
      (make paragraph
 | 
						|
	line-spacing: 1pt
 | 
						|
	(literal ""))
 | 
						|
 | 
						|
      (let loop ((nl nodelist) (lastnode (empty-node-list)))
 | 
						|
	(if (node-list-empty? nl)
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make sequence
 | 
						|
	      (if (or (node-list-empty? lastnode)
 | 
						|
		      (not (equal? (gi (node-list-first nl))
 | 
						|
				   (gi lastnode))))
 | 
						|
		  (set-titlepage-before (node-list-first nl) side)
 | 
						|
		  (empty-sosofo))
 | 
						|
	      (cond
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "abbrev"))
 | 
						|
		 (set-titlepage-abbrev (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "abstract"))
 | 
						|
		 (set-titlepage-abstract (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "address"))
 | 
						|
		 (set-titlepage-address (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "affiliation"))
 | 
						|
		 (set-titlepage-affiliation (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "artpagenums"))
 | 
						|
		 (set-titlepage-artpagenums (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "author"))
 | 
						|
		 (set-titlepage-author (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "authorblurb"))
 | 
						|
		 (set-titlepage-authorblurb (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "authorgroup"))
 | 
						|
		 (set-titlepage-authorgroup (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "authorinitials"))
 | 
						|
		 (set-titlepage-authorinitials (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "bibliomisc"))
 | 
						|
		 (set-titlepage-bibliomisc (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "biblioset"))
 | 
						|
		 (set-titlepage-biblioset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "bookbiblio"))
 | 
						|
		 (set-titlepage-bookbiblio (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "citetitle"))
 | 
						|
		 (set-titlepage-citetitle (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "collab"))
 | 
						|
		 (set-titlepage-collab (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "confgroup"))
 | 
						|
		 (set-titlepage-confgroup (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "contractnum"))
 | 
						|
		 (set-titlepage-contractnum (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "contractsponsor"))
 | 
						|
		 (set-titlepage-contractsponsor (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "contrib"))
 | 
						|
		 (set-titlepage-contrib (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "copyright"))
 | 
						|
		 (set-titlepage-copyright (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "corpauthor"))
 | 
						|
		 (set-titlepage-corpauthor (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "corpname"))
 | 
						|
		 (set-titlepage-corpname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "date"))
 | 
						|
		 (set-titlepage-date (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "edition"))
 | 
						|
		 (set-titlepage-edition (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "editor"))
 | 
						|
		 (set-titlepage-editor (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "firstname"))
 | 
						|
		 (set-titlepage-firstname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "graphic"))
 | 
						|
		 (set-titlepage-graphic (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "honorific"))
 | 
						|
		 (set-titlepage-honorific (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "indexterm"))
 | 
						|
		 (set-titlepage-indexterm (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "invpartnumber"))
 | 
						|
		 (set-titlepage-invpartnumber (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "isbn"))
 | 
						|
		 (set-titlepage-isbn (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "issn"))
 | 
						|
		 (set-titlepage-issn (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "issuenum"))
 | 
						|
		 (set-titlepage-issuenum (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "itermset"))
 | 
						|
		 (set-titlepage-itermset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "keywordset"))
 | 
						|
		 (set-titlepage-keywordset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "legalnotice"))
 | 
						|
		 (set-titlepage-legalnotice (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "lineage"))
 | 
						|
		 (set-titlepage-lineage (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "mediaobject"))
 | 
						|
		 (set-titlepage-mediaobject (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "modespec"))
 | 
						|
		 (set-titlepage-modespec (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "orgname"))
 | 
						|
		 (set-titlepage-orgname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "othercredit"))
 | 
						|
		 (set-titlepage-othercredit (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "othername"))
 | 
						|
		 (set-titlepage-othername (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "pagenums"))
 | 
						|
		 (set-titlepage-pagenums (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "printhistory"))
 | 
						|
		 (set-titlepage-printhistory (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "productname"))
 | 
						|
		 (set-titlepage-productname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "productnumber"))
 | 
						|
		 (set-titlepage-productnumber (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "pubdate"))
 | 
						|
		 (set-titlepage-pubdate (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "publisher"))
 | 
						|
		 (set-titlepage-publisher (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "publishername"))
 | 
						|
		 (set-titlepage-publishername (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "pubsnumber"))
 | 
						|
		 (set-titlepage-pubsnumber (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "releaseinfo"))
 | 
						|
		 (set-titlepage-releaseinfo (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "revhistory"))
 | 
						|
		 (set-titlepage-revhistory (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "seriesinfo"))
 | 
						|
		 (set-titlepage-seriesinfo (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "seriesvolnums"))
 | 
						|
		 (set-titlepage-seriesvolnums (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "subjectset"))
 | 
						|
		 (set-titlepage-subjectset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "subtitle"))
 | 
						|
		 (set-titlepage-subtitle (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "surname"))
 | 
						|
		 (set-titlepage-surname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "title"))
 | 
						|
		 (set-titlepage-title (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "titleabbrev"))
 | 
						|
		 (set-titlepage-titleabbrev (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "volumenum"))
 | 
						|
		 (set-titlepage-volumenum (node-list-first nl) side))
 | 
						|
		(else
 | 
						|
		 (set-titlepage-default (node-list-first nl) side)))
 | 
						|
	      (loop (node-list-rest nl) (node-list-first nl))))))))
 | 
						|
 | 
						|
(define (set-titlepage-before node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (cond
 | 
						|
       ((equal? (gi node) (normalize "corpauthor"))
 | 
						|
	(make paragraph
 | 
						|
	  space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	  (literal "\no-break-space;")))
 | 
						|
       ((equal? (gi node) (normalize "authorgroup"))
 | 
						|
	(if (have-sibling? (normalize "corpauthor") node)
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       ((equal? (gi node) (normalize "author"))
 | 
						|
	(if (or (have-sibling? (normalize "corpauthor") node) 
 | 
						|
		(have-sibling? (normalize "authorgroup") node))
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       (else (empty-sosofo)))
 | 
						|
      (empty-sosofo)))
 | 
						|
 | 
						|
(define (set-titlepage-default node side)
 | 
						|
  (let ((foo (debug (string-append "No set-titlepage-* for " (gi node) "!"))))
 | 
						|
    (empty-sosofo)))
 | 
						|
 | 
						|
(define (set-titlepage-element node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (with-mode set-titlepage-recto-mode
 | 
						|
	(process-node-list node))
 | 
						|
      (with-mode set-titlepage-verso-mode
 | 
						|
	(process-node-list node))))
 | 
						|
 | 
						|
(define (set-titlepage-abbrev node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-abstract node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-address node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-affiliation node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-artpagenums node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-author node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-authorblurb node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-authorgroup node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-authorinitials node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-bibliomisc node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-biblioset node side)
 | 
						|
  (set-titlepage node side))
 | 
						|
(define (set-titlepage-bookbiblio node side)
 | 
						|
  (set-titlepage node side))
 | 
						|
(define (set-titlepage-citetitle node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-collab node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-confgroup node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-contractnum node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-contractsponsor node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-contrib  node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-copyright node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
 | 
						|
(define (set-titlepage-corpauthor node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (set-titlepage-element node side)
 | 
						|
      (if (first-sibling? node)
 | 
						|
	  (make paragraph
 | 
						|
	    (with-mode set-titlepage-verso-mode
 | 
						|
	      (process-node-list
 | 
						|
	       (select-elements (children (parent node))
 | 
						|
				(normalize "corpauthor")))))
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
(define (set-titlepage-corpname node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-date node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-edition node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-editor node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-firstname node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-graphic node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-honorific node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-indexterm node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-invpartnumber node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-isbn node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-issn node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-issuenum node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-itermset node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-keywordset node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-legalnotice node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-lineage node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-mediaobject node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-modespec node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-orgname node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-othercredit node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-othername node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-pagenums node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-printhistory node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-productname node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-productnumber node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-pubdate node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-publisher node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-publishername node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-pubsnumber node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-releaseinfo node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-revhistory node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-seriesinfo node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-seriesvolnums node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-subjectset node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-subtitle node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-surname node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-title node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-titleabbrev node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
(define (set-titlepage-volumenum node side)
 | 
						|
  (set-titlepage-element node side))
 | 
						|
 | 
						|
(define set-titlepage-recto-style
 | 
						|
  (style
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      font-size: (HSIZE 1)))
 | 
						|
 | 
						|
(define set-titlepage-verso-style
 | 
						|
  (style
 | 
						|
      font-family-name: %body-font-family%))
 | 
						|
 | 
						|
(mode set-titlepage-recto-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (abstract para)
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    (let ((author-name  (author-string))
 | 
						|
	  (author-affil (select-elements (children (current-node)) 
 | 
						|
					 (normalize "affiliation"))))
 | 
						|
      (make sequence      
 | 
						|
	(make paragraph
 | 
						|
          use: set-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal author-name))
 | 
						|
	(process-node-list author-affil))))
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (authorblurb para)
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make display-group
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
  
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: set-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 3)
 | 
						|
	line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(process-children))
 | 
						|
      ;; This paragraph is a hack to get the spacing right.
 | 
						|
      ;; Authors always have an affiliation paragraph below them, even if
 | 
						|
      ;; it's empty, so corpauthors need one too.
 | 
						|
      (make paragraph
 | 
						|
	use: set-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 1)
 | 
						|
	line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(literal "\no-break-space;"))))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    (let ((editor-name (author-string)))
 | 
						|
      (make sequence      
 | 
						|
	(if (first-sibling?) 
 | 
						|
	    (make paragraph
 | 
						|
	      use: set-titlepage-recto-style
 | 
						|
	      font-size: (HSIZE 1)
 | 
						|
	      line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	      space-before: (* (HSIZE 2) %head-before-factor% 6)
 | 
						|
	      quadding: %division-title-quadding%
 | 
						|
	      keep-with-next?: #t
 | 
						|
	      (literal (gentext-edited-by)))
 | 
						|
	    (empty-sosofo))
 | 
						|
	(make paragraph
 | 
						|
	  use: set-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal editor-name)))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'center)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para)
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      line-spacing: (* 0.8 (inherited-line-spacing))
 | 
						|
      font-size: (* 0.8 (inherited-font-size))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: set-titlepage-recto-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo)))))))
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle 
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 4)
 | 
						|
      line-spacing: (* (HSIZE 4) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 4) %head-before-factor%)
 | 
						|
      quadding: %division-subtitle-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title 
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 5)
 | 
						|
      line-spacing: (* (HSIZE 5) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 5) %head-before-factor%)
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      heading-level: (if %generate-heading-level% 1 0)
 | 
						|
      (with-mode title-mode
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
(mode set-titlepage-verso-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract ($semiformal-object$))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    ;; Print the author name.  Handle the case where there's no AUTHORGROUP
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (not in-group)
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-list-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-list-string))))))  
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make paragraph
 | 
						|
      space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
      (make sequence
 | 
						|
	(literal (gentext-by))
 | 
						|
	(literal "\no-break-space;")
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    ;; note: set-titlepage-corpauthor takes care of wrapping multiple
 | 
						|
    ;; corpauthors
 | 
						|
    (make sequence
 | 
						|
      (if (first-sibling?)
 | 
						|
	  (if (equal? (gi (parent (current-node))) (normalize "authorgroup"))
 | 
						|
	      (empty-sosofo)
 | 
						|
	      (literal (gentext-by) " "))
 | 
						|
	  (literal ", "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    ;; Print the editor name.
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (or #t (not in-group)) ; nevermind, always put out the Edited by
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-edited-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-string))))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'start)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para) 
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      font-size: (* (inherited-font-size) 0.8)
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make display-group
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: set-titlepage-verso-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: set-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo)))))))
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (literal (if (first-sibling?) ": " "; "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (with-mode title-mode
 | 
						|
	(process-children))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: set-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
)
 | 
						|
 | 
						|
;; == Title pages for BOOKs =============================================
 | 
						|
 | 
						|
(define (book-titlepage-recto-elements)
 | 
						|
  (list (normalize "title") 
 | 
						|
	(normalize "subtitle") 
 | 
						|
	(normalize "graphic") 
 | 
						|
	(normalize "mediaobject")
 | 
						|
	(normalize "corpauthor") 
 | 
						|
	(normalize "authorgroup") 
 | 
						|
	(normalize "author") 
 | 
						|
	(normalize "editor")))
 | 
						|
 | 
						|
(define (book-titlepage-verso-elements)
 | 
						|
  (list (normalize "title") 
 | 
						|
	(normalize "subtitle") 
 | 
						|
	(normalize "corpauthor") 
 | 
						|
	(normalize "authorgroup") 
 | 
						|
	(normalize "author") 
 | 
						|
	(normalize "editor")
 | 
						|
	(normalize "edition") 
 | 
						|
	(normalize "pubdate") 
 | 
						|
	(normalize "copyright")
 | 
						|
	(normalize "abstract") 
 | 
						|
	(normalize "legalnotice") 
 | 
						|
	(normalize "revhistory")))
 | 
						|
 | 
						|
(define (book-titlepage-content? elements side)
 | 
						|
  (titlepage-content? elements (if (equal? side 'recto)
 | 
						|
				   (book-titlepage-recto-elements)
 | 
						|
				   (book-titlepage-verso-elements))))
 | 
						|
 | 
						|
(define (book-titlepage elements #!optional (side 'recto))
 | 
						|
  (let ((nodelist (titlepage-nodelist 
 | 
						|
		   (if (equal? side 'recto)
 | 
						|
		       (book-titlepage-recto-elements)
 | 
						|
		       (book-titlepage-verso-elements))
 | 
						|
		   elements)))
 | 
						|
;;    (make simple-page-sequence
 | 
						|
;;      page-n-columns: %titlepage-n-columns%
 | 
						|
;;      input-whitespace-treatment: 'collapse
 | 
						|
;;      use: default-text-style
 | 
						|
      (make sequence
 | 
						|
 | 
						|
      ;; This hack is required for the RTF backend. If an external-graphic
 | 
						|
      ;; is the first thing on the page, RTF doesn't seem to do the right
 | 
						|
      ;; thing (the graphic winds up on the baseline of the first line
 | 
						|
      ;; of the page, left justified).  This "one point rule" fixes
 | 
						|
      ;; that problem.
 | 
						|
      (make paragraph
 | 
						|
	line-spacing: 1pt
 | 
						|
	(literal ""))
 | 
						|
      
 | 
						|
      (let loop ((nl nodelist) (lastnode (empty-node-list)))
 | 
						|
	(if (node-list-empty? nl)
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make sequence
 | 
						|
	      (if (or (node-list-empty? lastnode)
 | 
						|
		      (not (equal? (gi (node-list-first nl))
 | 
						|
				   (gi lastnode))))
 | 
						|
		  (book-titlepage-before (node-list-first nl) side)
 | 
						|
		  (empty-sosofo))
 | 
						|
	      (cond
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "abbrev"))
 | 
						|
		 (book-titlepage-abbrev (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "abstract"))
 | 
						|
		 (book-titlepage-abstract (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "address"))
 | 
						|
		 (book-titlepage-address (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "affiliation"))
 | 
						|
		 (book-titlepage-affiliation (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "artpagenums"))
 | 
						|
		 (book-titlepage-artpagenums (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "author"))
 | 
						|
		 (book-titlepage-author (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "authorblurb"))
 | 
						|
		 (book-titlepage-authorblurb (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "authorgroup"))
 | 
						|
		 (book-titlepage-authorgroup (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "authorinitials"))
 | 
						|
		 (book-titlepage-authorinitials (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "bibliomisc"))
 | 
						|
		 (book-titlepage-bibliomisc (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "biblioset"))
 | 
						|
		 (book-titlepage-biblioset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "bookbiblio"))
 | 
						|
		 (book-titlepage-bookbiblio (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "citetitle"))
 | 
						|
		 (book-titlepage-citetitle (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "collab"))
 | 
						|
		 (book-titlepage-collab (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "confgroup"))
 | 
						|
		 (book-titlepage-confgroup (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "contractnum"))
 | 
						|
		 (book-titlepage-contractnum (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "contractsponsor"))
 | 
						|
		 (book-titlepage-contractsponsor (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "contrib"))
 | 
						|
		 (book-titlepage-contrib (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "copyright"))
 | 
						|
		 (book-titlepage-copyright (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "corpauthor"))
 | 
						|
		 (book-titlepage-corpauthor (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "corpname"))
 | 
						|
		 (book-titlepage-corpname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "date"))
 | 
						|
		 (book-titlepage-date (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "edition"))
 | 
						|
		 (book-titlepage-edition (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "editor"))
 | 
						|
		 (book-titlepage-editor (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "firstname"))
 | 
						|
		 (book-titlepage-firstname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "graphic"))
 | 
						|
		 (book-titlepage-graphic (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "honorific"))
 | 
						|
		 (book-titlepage-honorific (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "indexterm"))
 | 
						|
		 (book-titlepage-indexterm (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "invpartnumber"))
 | 
						|
		 (book-titlepage-invpartnumber (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "isbn"))
 | 
						|
		 (book-titlepage-isbn (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "issn"))
 | 
						|
		 (book-titlepage-issn (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "issuenum"))
 | 
						|
		 (book-titlepage-issuenum (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "itermset"))
 | 
						|
		 (book-titlepage-itermset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "keywordset"))
 | 
						|
		 (book-titlepage-keywordset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "legalnotice"))
 | 
						|
		 (book-titlepage-legalnotice (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "lineage"))
 | 
						|
		 (book-titlepage-lineage (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "mediaobject"))
 | 
						|
		 (book-titlepage-mediaobject (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "modespec"))
 | 
						|
		 (book-titlepage-modespec (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "orgname"))
 | 
						|
		 (book-titlepage-orgname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "othercredit"))
 | 
						|
		 (book-titlepage-othercredit (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "othername"))
 | 
						|
		 (book-titlepage-othername (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "pagenums"))
 | 
						|
		 (book-titlepage-pagenums (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "printhistory"))
 | 
						|
		 (book-titlepage-printhistory (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "productname"))
 | 
						|
		 (book-titlepage-productname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "productnumber"))
 | 
						|
		 (book-titlepage-productnumber (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "pubdate"))
 | 
						|
		 (book-titlepage-pubdate (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "publisher"))
 | 
						|
		 (book-titlepage-publisher (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "publishername"))
 | 
						|
		 (book-titlepage-publishername (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "pubsnumber"))
 | 
						|
		 (book-titlepage-pubsnumber (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "releaseinfo"))
 | 
						|
		 (book-titlepage-releaseinfo (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "revhistory"))
 | 
						|
		 (book-titlepage-revhistory (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "seriesinfo"))
 | 
						|
		 (book-titlepage-seriesinfo (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "seriesvolnums"))
 | 
						|
		 (book-titlepage-seriesvolnums (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "subjectset"))
 | 
						|
		 (book-titlepage-subjectset (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "subtitle"))
 | 
						|
		 (book-titlepage-subtitle (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "surname"))
 | 
						|
		 (book-titlepage-surname (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "title"))
 | 
						|
		 (book-titlepage-title (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "titleabbrev"))
 | 
						|
		 (book-titlepage-titleabbrev (node-list-first nl) side))
 | 
						|
		((equal? (gi (node-list-first nl)) (normalize "volumenum"))
 | 
						|
		 (book-titlepage-volumenum (node-list-first nl) side))
 | 
						|
		(else
 | 
						|
		 (book-titlepage-default (node-list-first nl) side)))
 | 
						|
	      (loop (node-list-rest nl) (node-list-first nl))))))))
 | 
						|
 | 
						|
(define (book-titlepage-before node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (cond
 | 
						|
       ((equal? (gi node) (normalize "corpauthor"))
 | 
						|
	(make paragraph
 | 
						|
	  space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	  (literal "\no-break-space;")))
 | 
						|
       ((equal? (gi node) (normalize "authorgroup"))
 | 
						|
	(if (have-sibling? (normalize "corpauthor") node)
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       ((equal? (gi node) (normalize "author"))
 | 
						|
	(if (or (have-sibling? (normalize "corpauthor") node) 
 | 
						|
		(have-sibling? (normalize "authorgroup") node))
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       (else (empty-sosofo)))
 | 
						|
      (empty-sosofo)))
 | 
						|
 | 
						|
(define (book-titlepage-default node side)
 | 
						|
  (let ((foo (debug (string-append "No book-titlepage-* for " (gi node) "!"))))
 | 
						|
    (empty-sosofo)))
 | 
						|
 | 
						|
(define (book-titlepage-element node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (with-mode book-titlepage-recto-mode
 | 
						|
	(process-node-list node))
 | 
						|
      (with-mode book-titlepage-verso-mode
 | 
						|
	(process-node-list node))))
 | 
						|
 | 
						|
(define (book-titlepage-abbrev node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-abstract node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-address node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-affiliation node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-artpagenums node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-author node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-authorblurb node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-authorgroup node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-authorinitials node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-bibliomisc node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-biblioset node side)
 | 
						|
  (book-titlepage node side))
 | 
						|
(define (book-titlepage-bookbiblio node side)
 | 
						|
  (book-titlepage node side))
 | 
						|
(define (book-titlepage-citetitle node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-collab node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-confgroup node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-contractnum node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-contractsponsor node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-contrib  node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-copyright node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
 | 
						|
(define (book-titlepage-corpauthor node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (book-titlepage-element node side)
 | 
						|
      (if (first-sibling? node)
 | 
						|
	  (make paragraph
 | 
						|
	    (with-mode book-titlepage-verso-mode
 | 
						|
	      (process-node-list
 | 
						|
	       (select-elements (children (parent node)) 
 | 
						|
				(normalize "corpauthor")))))
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
(define (book-titlepage-corpname node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-date node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-edition node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-editor node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-firstname node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-graphic node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-honorific node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-indexterm node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-invpartnumber node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-isbn node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-issn node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-issuenum node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-itermset node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-keywordset node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-legalnotice node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-lineage node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-mediaobject node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-modespec node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-orgname node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-othercredit node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-othername node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-pagenums node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-printhistory node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-productname node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-productnumber node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-pubdate node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-publisher node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-publishername node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-pubsnumber node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-releaseinfo node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-revhistory node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-seriesinfo node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-seriesvolnums node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-subjectset node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-subtitle node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-surname node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-title node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-titleabbrev node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
(define (book-titlepage-volumenum node side)
 | 
						|
  (book-titlepage-element node side))
 | 
						|
 | 
						|
(define book-titlepage-recto-style
 | 
						|
  (style
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      font-size: (HSIZE 1)))
 | 
						|
 | 
						|
(define book-titlepage-verso-style
 | 
						|
  (style
 | 
						|
      font-family-name: %body-font-family%))
 | 
						|
 | 
						|
(mode book-titlepage-recto-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (abstract para)
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    (let ((author-name  (author-string))
 | 
						|
	  (author-affil (select-elements (children (current-node)) 
 | 
						|
					 (normalize "affiliation"))))
 | 
						|
      (make sequence      
 | 
						|
	(make paragraph
 | 
						|
	  use: book-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal author-name))
 | 
						|
	(process-node-list author-affil))))
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (authorblurb para)
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make display-group
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: book-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 3)
 | 
						|
	line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(process-children))
 | 
						|
      ;; This paragraph is a hack to get the spacing right.
 | 
						|
      ;; Authors always have an affiliation paragraph below them, even if
 | 
						|
      ;; it's empty, so corpauthors need one too.
 | 
						|
      (make paragraph
 | 
						|
	use: book-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 1)
 | 
						|
	line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(literal "\no-break-space;"))))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    (let ((editor-name (author-string)))
 | 
						|
      (make sequence      
 | 
						|
	(if (first-sibling?) 
 | 
						|
	    (make paragraph
 | 
						|
	      use: book-titlepage-recto-style
 | 
						|
	      font-size: (HSIZE 1)
 | 
						|
	      line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	      space-before: (* (HSIZE 2) %head-before-factor% 6)
 | 
						|
	      quadding: %division-title-quadding%
 | 
						|
	      keep-with-next?: #t
 | 
						|
	      (literal (gentext-edited-by)))
 | 
						|
	    (empty-sosofo))
 | 
						|
	(make paragraph
 | 
						|
	  use: book-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal editor-name)))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'center)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para)
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      line-spacing: (* 0.8 (inherited-line-spacing))
 | 
						|
      font-size: (* 0.8 (inherited-font-size))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: book-titlepage-recto-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo)))))))
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle 
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 4)
 | 
						|
      line-spacing: (* (HSIZE 4) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 4) %head-before-factor%)
 | 
						|
      quadding: %division-subtitle-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title 
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 5)
 | 
						|
      line-spacing: (* (HSIZE 5) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 5) %head-before-factor%)
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      heading-level: (if %generate-heading-level% 1 0)
 | 
						|
      (with-mode title-mode
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
(mode book-titlepage-verso-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract ($semiformal-object$))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    ;; Print the author name.  Handle the case where there's no AUTHORGROUP
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (not in-group)
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-list-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-list-string))))))  
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (let* ((editors (select-elements (children (current-node)) (normalize "editor"))))
 | 
						|
      (make paragraph
 | 
						|
	space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	(make sequence
 | 
						|
	  (if (node-list-empty? editors)
 | 
						|
	      (literal (gentext-by))
 | 
						|
	      (literal (gentext-edited-by)))
 | 
						|
	  (literal "\no-break-space;")
 | 
						|
	  (process-children-trim)))))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    ;; note: book-titlepage-corpauthor takes care of wrapping multiple
 | 
						|
    ;; corpauthors
 | 
						|
    (make sequence
 | 
						|
      (if (first-sibling?)
 | 
						|
	  (if (equal? (gi (parent (current-node))) (normalize "authorgroup"))
 | 
						|
	      (empty-sosofo)
 | 
						|
	      (literal (gentext-by) " "))
 | 
						|
	  (literal ", "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    ;; Print the editor name.
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (or #f (not in-group)) ; nevermind, always put out the Edited by
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-edited-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-string))))
 | 
						|
	  (make sequence
 | 
						|
	    (literal (author-list-string))))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'start)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para) 
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      font-size: (* (inherited-font-size) 0.8)
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make display-group
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: book-titlepage-verso-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: book-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo))))))) 
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (literal (if (first-sibling?) ": " "; "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (with-mode title-mode
 | 
						|
	(process-children))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: book-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
;; == Title pages for PARTs =============================================
 | 
						|
 | 
						|
(define (part-titlepage-recto-elements)
 | 
						|
  (list (normalize "title")
 | 
						|
	(normalize "subtitle")))
 | 
						|
 | 
						|
(define (part-titlepage-verso-elements)
 | 
						|
  '())
 | 
						|
 | 
						|
(define (part-titlepage-content? elements side)
 | 
						|
  (titlepage-content? elements (if (equal? side 'recto)
 | 
						|
				   (part-titlepage-recto-elements)
 | 
						|
				   (part-titlepage-verso-elements))))
 | 
						|
 | 
						|
(define (part-titlepage elements #!optional (side 'recto))
 | 
						|
  (let ((nodelist (titlepage-nodelist 
 | 
						|
		   (if (equal? side 'recto)
 | 
						|
		       (part-titlepage-recto-elements)
 | 
						|
		       (part-titlepage-verso-elements))
 | 
						|
		   elements))
 | 
						|
        ;; partintro is a special case...
 | 
						|
	(partintro (node-list-first
 | 
						|
		    (node-list-filter-by-gi elements (list (normalize "partintro"))))))
 | 
						|
    (if (part-titlepage-content? elements side)
 | 
						|
;;	(make simple-page-sequence
 | 
						|
;;	  page-n-columns: %titlepage-n-columns%
 | 
						|
;;	  input-whitespace-treatment: 'collapse
 | 
						|
;;	  use: default-text-style
 | 
						|
	(make sequence
 | 
						|
  
 | 
						|
	  ;; This hack is required for the RTF backend. If an external-graphic
 | 
						|
	  ;; is the first thing on the page, RTF doesn't seem to do the right
 | 
						|
	  ;; thing (the graphic winds up on the baseline of the first line
 | 
						|
	  ;; of the page, left justified).  This "one point rule" fixes
 | 
						|
	  ;; that problem.
 | 
						|
	  (make paragraph
 | 
						|
	    line-spacing: 1pt
 | 
						|
	    (literal ""))
 | 
						|
 | 
						|
	  (let loop ((nl nodelist) (lastnode (empty-node-list)))
 | 
						|
	    (if (node-list-empty? nl)
 | 
						|
		(empty-sosofo)
 | 
						|
		(make sequence
 | 
						|
		  (if (or (node-list-empty? lastnode)
 | 
						|
			  (not (equal? (gi (node-list-first nl))
 | 
						|
				       (gi lastnode))))
 | 
						|
		      (part-titlepage-before (node-list-first nl) side)
 | 
						|
		      (empty-sosofo))
 | 
						|
		  (cond
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "abbrev"))
 | 
						|
		    (part-titlepage-abbrev (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "abstract"))
 | 
						|
		    (part-titlepage-abstract (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "address"))
 | 
						|
		    (part-titlepage-address (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "affiliation"))
 | 
						|
		    (part-titlepage-affiliation (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "artpagenums"))
 | 
						|
		    (part-titlepage-artpagenums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "author"))
 | 
						|
		    (part-titlepage-author (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorblurb"))
 | 
						|
		    (part-titlepage-authorblurb (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorgroup"))
 | 
						|
		    (part-titlepage-authorgroup (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorinitials"))
 | 
						|
		    (part-titlepage-authorinitials (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "bibliomisc"))
 | 
						|
		    (part-titlepage-bibliomisc (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "biblioset"))
 | 
						|
		    (part-titlepage-biblioset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "bookbiblio"))
 | 
						|
		    (part-titlepage-bookbiblio (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "citetitle"))
 | 
						|
		    (part-titlepage-citetitle (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "collab"))
 | 
						|
		    (part-titlepage-collab (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "confgroup"))
 | 
						|
		    (part-titlepage-confgroup (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contractnum"))
 | 
						|
		    (part-titlepage-contractnum (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contractsponsor"))
 | 
						|
		    (part-titlepage-contractsponsor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contrib"))
 | 
						|
		    (part-titlepage-contrib (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "copyright"))
 | 
						|
		    (part-titlepage-copyright (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "corpauthor"))
 | 
						|
		    (part-titlepage-corpauthor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "corpname"))
 | 
						|
		    (part-titlepage-corpname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "date"))
 | 
						|
		    (part-titlepage-date (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "edition"))
 | 
						|
		    (part-titlepage-edition (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "editor"))
 | 
						|
		    (part-titlepage-editor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "firstname"))
 | 
						|
		    (part-titlepage-firstname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "graphic"))
 | 
						|
		    (part-titlepage-graphic (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "honorific"))
 | 
						|
		    (part-titlepage-honorific (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "indexterm"))
 | 
						|
		    (part-titlepage-indexterm (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "invpartnumber"))
 | 
						|
		    (part-titlepage-invpartnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "isbn"))
 | 
						|
		    (part-titlepage-isbn (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "issn"))
 | 
						|
		    (part-titlepage-issn (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "issuenum"))
 | 
						|
		    (part-titlepage-issuenum (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "itermset"))
 | 
						|
		    (part-titlepage-itermset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "keywordset"))
 | 
						|
		    (part-titlepage-keywordset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "legalnotice"))
 | 
						|
		    (part-titlepage-legalnotice (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "lineage"))
 | 
						|
		    (part-titlepage-lineage (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "mediaobject"))
 | 
						|
		    (part-titlepage-mediaobject (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "modespec"))
 | 
						|
		    (part-titlepage-modespec (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "orgname"))
 | 
						|
		    (part-titlepage-orgname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "othercredit"))
 | 
						|
		    (part-titlepage-othercredit (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "othername"))
 | 
						|
		    (part-titlepage-othername (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pagenums"))
 | 
						|
		    (part-titlepage-pagenums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "printhistory"))
 | 
						|
		    (part-titlepage-printhistory (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "productname"))
 | 
						|
		    (part-titlepage-productname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "productnumber"))
 | 
						|
		    (part-titlepage-productnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pubdate"))
 | 
						|
		    (part-titlepage-pubdate (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "publisher"))
 | 
						|
		    (part-titlepage-publisher (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "publishername"))
 | 
						|
		    (part-titlepage-publishername (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pubsnumber"))
 | 
						|
		    (part-titlepage-pubsnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "releaseinfo"))
 | 
						|
		    (part-titlepage-releaseinfo (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "revhistory"))
 | 
						|
		    (part-titlepage-revhistory (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "seriesinfo"))
 | 
						|
		    (part-titlepage-seriesinfo (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "seriesvolnums"))
 | 
						|
		    (part-titlepage-seriesvolnums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "subjectset"))
 | 
						|
		    (part-titlepage-subjectset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "subtitle"))
 | 
						|
		    (part-titlepage-subtitle (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "surname"))
 | 
						|
		    (part-titlepage-surname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "title"))
 | 
						|
		    (part-titlepage-title (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "titleabbrev"))
 | 
						|
		    (part-titlepage-titleabbrev (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "volumenum"))
 | 
						|
		    (part-titlepage-volumenum (node-list-first nl) side))
 | 
						|
		   (else
 | 
						|
		    (part-titlepage-default (node-list-first nl) side)))
 | 
						|
		  (loop (node-list-rest nl) (node-list-first nl)))))
 | 
						|
 | 
						|
	  (if (and %generate-part-toc%
 | 
						|
		   %generate-part-toc-on-titlepage%
 | 
						|
		   (equal? side 'recto))
 | 
						|
	      (make display-group
 | 
						|
		(build-toc (current-node)
 | 
						|
			   (toc-depth (current-node))))
 | 
						|
	      (empty-sosofo))
 | 
						|
 | 
						|
	  ;; PartIntro is a special case
 | 
						|
	  (if (and (equal? side 'recto)
 | 
						|
		   (not (node-list-empty? partintro))
 | 
						|
		   %generate-partintro-on-titlepage%)
 | 
						|
	      ($process-partintro$ partintro #f)
 | 
						|
	      (empty-sosofo)))
 | 
						|
	(empty-sosofo))))
 | 
						|
 | 
						|
(define (part-titlepage-before node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (cond
 | 
						|
       ((equal? (gi node) (normalize "corpauthor"))
 | 
						|
	(make paragraph
 | 
						|
	  space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	  (literal "\no-break-space;")))
 | 
						|
       ((equal? (gi node) (normalize "authorgroup"))
 | 
						|
	(if (have-sibling? (normalize "corpauthor") node)
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       ((equal? (gi node) (normalize "author"))
 | 
						|
	(if (or (have-sibling? (normalize "corpauthor") node) 
 | 
						|
		(have-sibling? (normalize "authorgroup") node))
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       (else (empty-sosofo)))
 | 
						|
      (empty-sosofo)))
 | 
						|
 | 
						|
(define (part-titlepage-default node side)
 | 
						|
  (let ((foo (debug (string-append "No part-titlepage-* for " (gi node) "!"))))
 | 
						|
    (empty-sosofo)))
 | 
						|
 | 
						|
(define (part-titlepage-element node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (with-mode part-titlepage-recto-mode
 | 
						|
	(process-node-list node))
 | 
						|
      (with-mode part-titlepage-verso-mode
 | 
						|
	(process-node-list node))))
 | 
						|
 | 
						|
(define (part-titlepage-abbrev node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-abstract node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-address node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-affiliation node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-artpagenums node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-author node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-authorblurb node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-authorgroup node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-authorinitials node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-bibliomisc node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-biblioset node side)
 | 
						|
  (part-titlepage node side))
 | 
						|
(define (part-titlepage-bookbiblio node side)
 | 
						|
  (part-titlepage node side))
 | 
						|
(define (part-titlepage-citetitle node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-collab node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-confgroup node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-contractnum node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-contractsponsor node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-contrib  node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-copyright node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
 | 
						|
(define (part-titlepage-corpauthor node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (book-titlepage-element node side)
 | 
						|
      (if (first-sibling? node)
 | 
						|
	  (make paragraph
 | 
						|
	    (with-mode book-titlepage-verso-mode
 | 
						|
	      (process-node-list
 | 
						|
	       (select-elements (children (parent node)) 
 | 
						|
				(normalize "corpauthor")))))
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
(define (part-titlepage-corpname node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-date node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-edition node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-editor node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-firstname node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-graphic node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-honorific node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-indexterm node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-invpartnumber node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-isbn node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-issn node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-issuenum node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-itermset node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-keywordset node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-legalnotice node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-lineage node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-mediaobject node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-modespec node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-orgname node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-othercredit node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-othername node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-pagenums node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-printhistory node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-productname node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-productnumber node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-pubdate node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-publisher node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-publishername node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-pubsnumber node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-releaseinfo node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-revhistory node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-seriesinfo node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-seriesvolnums node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-subjectset node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-subtitle node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-surname node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-title node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-titleabbrev node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
(define (part-titlepage-volumenum node side)
 | 
						|
  (part-titlepage-element node side))
 | 
						|
 | 
						|
(define part-titlepage-recto-style
 | 
						|
  (style
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      font-size: (HSIZE 1)))
 | 
						|
 | 
						|
(define part-titlepage-verso-style
 | 
						|
  (style
 | 
						|
      font-family-name: %body-font-family%))
 | 
						|
 | 
						|
(mode part-titlepage-recto-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (abstract para)
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    (let ((author-name  (author-string))
 | 
						|
	  (author-affil (select-elements (children (current-node)) 
 | 
						|
					 (normalize "affiliation"))))
 | 
						|
      (make sequence      
 | 
						|
	(make paragraph
 | 
						|
          use: part-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal author-name))
 | 
						|
	(process-node-list author-affil))))
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (authorblurb para)
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make display-group
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
        use: part-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 3)
 | 
						|
	line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(process-children))
 | 
						|
      ;; This paragraph is a hack to get the spacing right.
 | 
						|
      ;; Authors always have an affiliation paragraph below them, even if
 | 
						|
      ;; it's empty, so corpauthors need one too.
 | 
						|
      (make paragraph
 | 
						|
        use: part-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 1)
 | 
						|
	line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(literal "\no-break-space;"))))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    (let ((editor-name (author-string)))
 | 
						|
      (make sequence      
 | 
						|
	(if (first-sibling?) 
 | 
						|
	    (make paragraph
 | 
						|
              use: part-titlepage-recto-style
 | 
						|
	      font-size: (HSIZE 1)
 | 
						|
	      line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	      space-before: (* (HSIZE 2) %head-before-factor% 6)
 | 
						|
	      quadding: %division-title-quadding%
 | 
						|
	      keep-with-next?: #t
 | 
						|
	      (literal (gentext-edited-by)))
 | 
						|
	    (empty-sosofo))
 | 
						|
	(make paragraph
 | 
						|
          use: part-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal editor-name)))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'center)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para)
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      line-spacing: (* 0.8 (inherited-line-spacing))
 | 
						|
      font-size: (* 0.8 (inherited-font-size))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: part-titlepage-recto-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo))))))) 
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle 
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 4)
 | 
						|
      line-spacing: (* (HSIZE 4) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 4) %head-before-factor%)
 | 
						|
      quadding: %division-subtitle-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (let ((division (ancestor-member (current-node) (division-element-list))))
 | 
						|
      (make paragraph
 | 
						|
        use: part-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 5)
 | 
						|
	line-spacing: (* (HSIZE 5) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 5) %head-before-factor%)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	heading-level: (if %generate-heading-level% 1 0)
 | 
						|
	(if (string=? (element-label division) "")
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (literal (element-label division) 
 | 
						|
		     (gentext-label-title-sep (gi division))))
 | 
						|
	(with-mode title-mode
 | 
						|
	  (process-children)))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
(mode part-titlepage-verso-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract ($semiformal-object$))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    ;; Print the author name.  Handle the case where there's no AUTHORGROUP
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (not in-group)
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-list-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-list-string))))))  
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make paragraph
 | 
						|
      space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
      (make sequence
 | 
						|
	(literal (gentext-by))
 | 
						|
	(literal "\no-break-space;")
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    ;; note: part-titlepage-corpauthor takes care of wrapping multiple
 | 
						|
    ;; corpauthors
 | 
						|
    (make sequence
 | 
						|
      (if (first-sibling?)
 | 
						|
	  (if (equal? (gi (parent (current-node))) (normalize "authorgroup"))
 | 
						|
	      (empty-sosofo)
 | 
						|
	      (literal (gentext-by) " "))
 | 
						|
	  (literal ", "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    ;; Print the editor name.
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (or #t (not in-group)) ; nevermind, always put out the Edited by
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-edited-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-string))))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'start)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para) 
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      font-size: (* (inherited-font-size) 0.8)
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make display-group
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: part-titlepage-verso-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: part-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo))))))) 
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (literal (if (first-sibling?) ": " "; "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (let ((division (ancestor-member (current-node) (division-element-list))))
 | 
						|
      (make sequence
 | 
						|
        font-family-name: %title-font-family%
 | 
						|
	font-weight: 'bold
 | 
						|
	(if (string=? (element-label division) "")
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (literal (element-label division) 
 | 
						|
		     (gentext-label-title-sep (gi division))))
 | 
						|
	(with-mode title-mode
 | 
						|
	  (process-children)))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: part-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
;; == Title pages for ARTICLEs ==========================================
 | 
						|
;;
 | 
						|
;; Note: Article title pages are a little different in that they do not
 | 
						|
;; create their own simple-page-sequence.
 | 
						|
;;
 | 
						|
 | 
						|
(define (article-titlepage-recto-elements)
 | 
						|
  (list (normalize "title") 
 | 
						|
	(normalize "subtitle") 
 | 
						|
	(normalize "corpauthor") 
 | 
						|
	(normalize "authorgroup") 
 | 
						|
	(normalize "author") 
 | 
						|
	(normalize "abstract")))
 | 
						|
 | 
						|
(define (article-titlepage-verso-elements)
 | 
						|
  '())
 | 
						|
 | 
						|
(define (article-titlepage-content? elements side)
 | 
						|
  (titlepage-content? elements (if (equal? side 'recto)
 | 
						|
				   (article-titlepage-recto-elements)
 | 
						|
				   (article-titlepage-verso-elements))))
 | 
						|
 | 
						|
(define (article-titlepage elements #!optional (side 'recto))
 | 
						|
  (let* ((nodelist (titlepage-nodelist 
 | 
						|
		    (if (equal? side 'recto)
 | 
						|
			(article-titlepage-recto-elements)
 | 
						|
			(article-titlepage-verso-elements))
 | 
						|
		    elements)))
 | 
						|
    (if (article-titlepage-content? elements side)
 | 
						|
	(make sequence
 | 
						|
	  (let loop ((nl nodelist) (lastnode (empty-node-list)))
 | 
						|
	    (if (node-list-empty? nl)
 | 
						|
		(empty-sosofo)
 | 
						|
		(make sequence
 | 
						|
		  (if (or (node-list-empty? lastnode)
 | 
						|
			  (not (equal? (gi (node-list-first nl))
 | 
						|
				       (gi lastnode))))
 | 
						|
		      (article-titlepage-before (node-list-first nl) side)
 | 
						|
		      (empty-sosofo))
 | 
						|
		  (cond
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "abbrev"))
 | 
						|
		    (article-titlepage-abbrev (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "abstract"))
 | 
						|
		    (article-titlepage-abstract (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "address"))
 | 
						|
		    (article-titlepage-address (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "affiliation"))
 | 
						|
		    (article-titlepage-affiliation (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "artpagenums"))
 | 
						|
		    (article-titlepage-artpagenums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "author"))
 | 
						|
		    (article-titlepage-author (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorblurb"))
 | 
						|
		    (article-titlepage-authorblurb (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorgroup"))
 | 
						|
		    (article-titlepage-authorgroup (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorinitials"))
 | 
						|
		    (article-titlepage-authorinitials (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "bibliomisc"))
 | 
						|
		    (article-titlepage-bibliomisc (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "biblioset"))
 | 
						|
		    (article-titlepage-biblioset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "bookbiblio"))
 | 
						|
		    (article-titlepage-bookbiblio (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "citetitle"))
 | 
						|
		    (article-titlepage-citetitle (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "collab"))
 | 
						|
		    (article-titlepage-collab (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "confgroup"))
 | 
						|
		    (article-titlepage-confgroup (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contractnum"))
 | 
						|
		    (article-titlepage-contractnum (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contractsponsor"))
 | 
						|
		    (article-titlepage-contractsponsor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contrib"))
 | 
						|
		    (article-titlepage-contrib (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "copyright"))
 | 
						|
		    (article-titlepage-copyright (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "corpauthor"))
 | 
						|
		    (article-titlepage-corpauthor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "corpname"))
 | 
						|
		    (article-titlepage-corpname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "date"))
 | 
						|
		    (article-titlepage-date (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "edition"))
 | 
						|
		    (article-titlepage-edition (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "editor"))
 | 
						|
		    (article-titlepage-editor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "firstname"))
 | 
						|
		    (article-titlepage-firstname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "graphic"))
 | 
						|
		    (article-titlepage-graphic (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "honorific"))
 | 
						|
		    (article-titlepage-honorific (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "indexterm"))
 | 
						|
		    (article-titlepage-indexterm (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "invpartnumber"))
 | 
						|
		    (article-titlepage-invpartnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "isbn"))
 | 
						|
		    (article-titlepage-isbn (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "issn"))
 | 
						|
		    (article-titlepage-issn (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "issuenum"))
 | 
						|
		    (article-titlepage-issuenum (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "itermset"))
 | 
						|
		    (article-titlepage-itermset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "keywordset"))
 | 
						|
		    (article-titlepage-keywordset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "legalnotice"))
 | 
						|
		    (article-titlepage-legalnotice (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "lineage"))
 | 
						|
		    (article-titlepage-lineage (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "mediaobject"))
 | 
						|
		    (article-titlepage-mediaobject (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "modespec"))
 | 
						|
		    (article-titlepage-modespec (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "orgname"))
 | 
						|
		    (article-titlepage-orgname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "othercredit"))
 | 
						|
		    (article-titlepage-othercredit (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "othername"))
 | 
						|
		    (article-titlepage-othername (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pagenums"))
 | 
						|
		    (article-titlepage-pagenums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "printhistory"))
 | 
						|
		    (article-titlepage-printhistory (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "productname"))
 | 
						|
		    (article-titlepage-productname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "productnumber"))
 | 
						|
		    (article-titlepage-productnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pubdate"))
 | 
						|
		    (article-titlepage-pubdate (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "publisher"))
 | 
						|
		    (article-titlepage-publisher (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "publishername"))
 | 
						|
		    (article-titlepage-publishername (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pubsnumber"))
 | 
						|
		    (article-titlepage-pubsnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "releaseinfo"))
 | 
						|
		    (article-titlepage-releaseinfo (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "revhistory"))
 | 
						|
		    (article-titlepage-revhistory (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "seriesinfo"))
 | 
						|
		    (article-titlepage-seriesinfo (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "seriesvolnums"))
 | 
						|
		    (article-titlepage-seriesvolnums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "subjectset"))
 | 
						|
		    (article-titlepage-subjectset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "subtitle"))
 | 
						|
		    (article-titlepage-subtitle (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "surname"))
 | 
						|
		    (article-titlepage-surname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "title"))
 | 
						|
		    (article-titlepage-title (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "titleabbrev"))
 | 
						|
		    (article-titlepage-titleabbrev (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "volumenum"))
 | 
						|
		    (article-titlepage-volumenum (node-list-first nl) side))
 | 
						|
		   (else
 | 
						|
		    (article-titlepage-default (node-list-first nl) side)))
 | 
						|
		  (loop (node-list-rest nl) (node-list-first nl)))))
 | 
						|
 | 
						|
	  (if (and %generate-article-toc%
 | 
						|
		   %generate-article-toc-on-titlepage%
 | 
						|
		   (equal? side 'recto))
 | 
						|
	      (make display-group
 | 
						|
		(build-toc (current-node)
 | 
						|
			   (toc-depth (current-node))))
 | 
						|
	      (empty-sosofo)))
 | 
						|
	(empty-sosofo))))
 | 
						|
 | 
						|
(define (article-titlepage-before node side)
 | 
						|
  (empty-sosofo))
 | 
						|
 | 
						|
(define (article-titlepage-default node side)
 | 
						|
  (let ((foo (debug (string-append "No article-titlepage-* for " (gi node) "!"))))
 | 
						|
    (empty-sosofo)))
 | 
						|
 | 
						|
(define (article-titlepage-element node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (with-mode article-titlepage-recto-mode
 | 
						|
	(process-node-list node))
 | 
						|
      (with-mode article-titlepage-verso-mode
 | 
						|
	(process-node-list node))))
 | 
						|
 | 
						|
(define (article-titlepage-abbrev node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-abstract node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-address node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-affiliation node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-artpagenums node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-author node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-authorblurb node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-authorgroup node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-authorinitials node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-bibliomisc node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-biblioset node side)
 | 
						|
  (article-titlepage node side))
 | 
						|
(define (article-titlepage-bookbiblio node side)
 | 
						|
  (article-titlepage node side))
 | 
						|
(define (article-titlepage-citetitle node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-collab node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-confgroup node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-contractnum node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-contractsponsor node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-contrib  node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-copyright node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
 | 
						|
(define (article-titlepage-corpauthor node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (book-titlepage-element node side)
 | 
						|
      (if (first-sibling? node)
 | 
						|
	  (make paragraph
 | 
						|
	    (with-mode book-titlepage-verso-mode
 | 
						|
	      (process-node-list
 | 
						|
	       (select-elements (children (parent node)) 
 | 
						|
				(normalize "corpauthor")))))
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
(define (article-titlepage-corpname node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-date node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-edition node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-editor node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-firstname node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-graphic node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-honorific node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-indexterm node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-invpartnumber node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-isbn node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-issn node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-issuenum node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-itermset node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-keywordset node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-legalnotice node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-lineage node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-mediaobject node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-modespec node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-orgname node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-othercredit node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-othername node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-pagenums node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-printhistory node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-productname node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-productnumber node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-pubdate node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-publisher node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-publishername node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-pubsnumber node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-releaseinfo node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-revhistory node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-seriesinfo node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-seriesvolnums node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-subjectset node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-subtitle node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-surname node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-title node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-titleabbrev node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
(define (article-titlepage-volumenum node side)
 | 
						|
  (article-titlepage-element node side))
 | 
						|
 | 
						|
(define article-titlepage-recto-style
 | 
						|
  (style
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      font-size: (HSIZE 1)))
 | 
						|
 | 
						|
(define article-titlepage-verso-style
 | 
						|
  (style
 | 
						|
      font-family-name: %body-font-family%))
 | 
						|
 | 
						|
(mode article-titlepage-recto-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-verso-style ;; EVEN THOUGH IT'S RECTO!
 | 
						|
      quadding: 'start
 | 
						|
      start-indent: (+ (inherited-start-indent) (/ %body-width% 24))
 | 
						|
      end-indent: (+ (inherited-end-indent) (/ %body-width% 24))
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    (let ((author-name  (author-string))
 | 
						|
	  (author-affil (select-elements (children (current-node)) 
 | 
						|
					 (normalize "affiliation"))))
 | 
						|
      (make sequence      
 | 
						|
	(make paragraph
 | 
						|
          use: article-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	  quadding: %article-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal author-name))
 | 
						|
	(process-node-list author-affil))))
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (authorblurb para)
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make display-group
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
        use: article-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 3)
 | 
						|
	line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	quadding: %article-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(process-children))
 | 
						|
      ;; This paragraph is a hack to get the spacing right.
 | 
						|
      ;; Authors always have an affiliation paragraph below them, even if
 | 
						|
      ;; it's empty, so corpauthors need one too.
 | 
						|
      (make paragraph
 | 
						|
        use: article-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 1)
 | 
						|
	line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	quadding: %article-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(literal "\no-break-space;"))))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    (let ((editor-name (author-string)))
 | 
						|
      (make sequence      
 | 
						|
	(if (first-sibling?) 
 | 
						|
	    (make paragraph
 | 
						|
              use: article-titlepage-recto-style
 | 
						|
	      font-size: (HSIZE 1)
 | 
						|
	      line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	      space-before: (* (HSIZE 2) %head-before-factor% 6)
 | 
						|
	      quadding: %article-title-quadding%
 | 
						|
	      keep-with-next?: #t
 | 
						|
	      (literal (gentext-edited-by)))
 | 
						|
	    (empty-sosofo))
 | 
						|
	(make paragraph
 | 
						|
          use: article-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	  quadding: %article-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal editor-name)))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'center)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keyword
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para)
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      line-spacing: (* 0.8 (inherited-line-spacing))
 | 
						|
      font-size: (* 0.8 (inherited-font-size))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: article-titlepage-recto-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo)))))))
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle 
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 4)
 | 
						|
      line-spacing: (* (HSIZE 4) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 4) %head-before-factor%)
 | 
						|
      quadding: %article-subtitle-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title 
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 5)
 | 
						|
      line-spacing: (* (HSIZE 5) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 5) %head-before-factor%)
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      (with-mode title-mode
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-recto-style
 | 
						|
      quadding: %article-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
(mode article-titlepage-verso-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract ($semiformal-object$))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    ;; Print the author name.  Handle the case where there's no AUTHORGROUP
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (not in-group)
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-list-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-list-string))))))  
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make paragraph
 | 
						|
      space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
      (make sequence
 | 
						|
	(literal (gentext-by))
 | 
						|
	(literal "\no-break-space;")
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    ;; note: article-titlepage-corpauthor takes care of wrapping multiple
 | 
						|
    ;; corpauthors
 | 
						|
    (make sequence
 | 
						|
      (if (first-sibling?)
 | 
						|
	  (if (equal? (gi (parent (current-node))) (normalize "authorgroup"))
 | 
						|
	      (empty-sosofo)
 | 
						|
	      (literal (gentext-by) " "))
 | 
						|
	  (literal ", "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    ;; Print the editor name.
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (or #t (not in-group)) ; nevermind, always put out the Edited by
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-edited-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-string))))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'start)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para) 
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      font-size: (* (inherited-font-size) 0.8)
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make display-group
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: article-titlepage-verso-style
 | 
						|
	font-family-name: %title-font-family%
 | 
						|
	font-weight: 'bold
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (node-list-empty? revnumber)
 | 
						|
		(empty-sosofo)
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (node-list-empty? revdate)
 | 
						|
		(empty-sosofo)
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (node-list-empty? revauthor)
 | 
						|
		(empty-sosofo)
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor)))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: article-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo))))))) 
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (literal (if (first-sibling?) ": " "; "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (with-mode title-mode
 | 
						|
	(process-children))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: article-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
)
 | 
						|
 | 
						|
;; == Title pages for REFERENCEs ========================================
 | 
						|
 | 
						|
(define (reference-titlepage-recto-elements)
 | 
						|
  (list (normalize "title") 
 | 
						|
	(normalize "subtitle")
 | 
						|
	(normalize "corpauthor") 
 | 
						|
	(normalize "authorgroup") 
 | 
						|
	(normalize "author") 
 | 
						|
	(normalize "editor")))
 | 
						|
 | 
						|
(define (reference-titlepage-verso-elements)
 | 
						|
  '())
 | 
						|
 | 
						|
(define (reference-titlepage-content? elements side)
 | 
						|
  (titlepage-content? elements (if (equal? side 'recto)
 | 
						|
				   (reference-titlepage-recto-elements)
 | 
						|
				   (reference-titlepage-verso-elements))))
 | 
						|
 | 
						|
(define (reference-titlepage elements #!optional (side 'recto))
 | 
						|
  (let ((nodelist (titlepage-nodelist 
 | 
						|
		   (if (equal? side 'recto)
 | 
						|
		       (reference-titlepage-recto-elements)
 | 
						|
		       (reference-titlepage-verso-elements))
 | 
						|
		   elements))
 | 
						|
        ;; partintro is a special case...
 | 
						|
	(partintro (node-list-first
 | 
						|
		    (node-list-filter-by-gi elements (list (normalize "partintro"))))))
 | 
						|
    (if (reference-titlepage-content? elements side)
 | 
						|
	(make simple-page-sequence
 | 
						|
	  page-n-columns: %titlepage-n-columns%
 | 
						|
	  input-whitespace-treatment: 'collapse
 | 
						|
	  use: default-text-style
 | 
						|
	  
 | 
						|
	  ;; This hack is required for the RTF backend. If an external-graphic
 | 
						|
	  ;; is the first thing on the page, RTF doesn't seem to do the right
 | 
						|
	  ;; thing (the graphic winds up on the baseline of the first line
 | 
						|
	  ;; of the page, left justified).  This "one point rule" fixes
 | 
						|
	  ;; that problem.
 | 
						|
	  (make paragraph
 | 
						|
	    line-spacing: 1pt
 | 
						|
	    (literal ""))
 | 
						|
      
 | 
						|
	  (let loop ((nl nodelist) (lastnode (empty-node-list)))
 | 
						|
	    (if (node-list-empty? nl)
 | 
						|
		(empty-sosofo)
 | 
						|
		(make sequence
 | 
						|
		  (if (or (node-list-empty? lastnode)
 | 
						|
			  (not (equal? (gi (node-list-first nl))
 | 
						|
				       (gi lastnode))))
 | 
						|
		      (reference-titlepage-before (node-list-first nl) side)
 | 
						|
		      (empty-sosofo))
 | 
						|
		  (cond
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "abbrev"))
 | 
						|
		    (reference-titlepage-abbrev (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "abstract"))
 | 
						|
		    (reference-titlepage-abstract (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "address"))
 | 
						|
		    (reference-titlepage-address (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "affiliation"))
 | 
						|
		    (reference-titlepage-affiliation (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "artpagenums"))
 | 
						|
		    (reference-titlepage-artpagenums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "author"))
 | 
						|
		    (reference-titlepage-author (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorblurb"))
 | 
						|
		    (reference-titlepage-authorblurb (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorgroup"))
 | 
						|
		    (reference-titlepage-authorgroup (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "authorinitials"))
 | 
						|
		    (reference-titlepage-authorinitials (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "bibliomisc"))
 | 
						|
		    (reference-titlepage-bibliomisc (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "biblioset"))
 | 
						|
		    (reference-titlepage-biblioset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "bookbiblio"))
 | 
						|
		    (reference-titlepage-bookbiblio (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "citetitle"))
 | 
						|
		    (reference-titlepage-citetitle (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "collab"))
 | 
						|
		    (reference-titlepage-collab (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "confgroup"))
 | 
						|
		    (reference-titlepage-confgroup (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contractnum"))
 | 
						|
		    (reference-titlepage-contractnum (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contractsponsor"))
 | 
						|
		    (reference-titlepage-contractsponsor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "contrib"))
 | 
						|
		    (reference-titlepage-contrib (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "copyright"))
 | 
						|
		    (reference-titlepage-copyright (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "corpauthor"))
 | 
						|
		    (reference-titlepage-corpauthor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "corpname"))
 | 
						|
		    (reference-titlepage-corpname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "date"))
 | 
						|
		    (reference-titlepage-date (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "edition"))
 | 
						|
		    (reference-titlepage-edition (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "editor"))
 | 
						|
		    (reference-titlepage-editor (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "firstname"))
 | 
						|
		    (reference-titlepage-firstname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "graphic"))
 | 
						|
		    (reference-titlepage-graphic (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "honorific"))
 | 
						|
		    (reference-titlepage-honorific (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "indexterm"))
 | 
						|
		    (reference-titlepage-indexterm (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "invpartnumber"))
 | 
						|
		    (reference-titlepage-invpartnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "isbn"))
 | 
						|
		    (reference-titlepage-isbn (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "issn"))
 | 
						|
		    (reference-titlepage-issn (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "issuenum"))
 | 
						|
		    (reference-titlepage-issuenum (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "itermset"))
 | 
						|
		    (reference-titlepage-itermset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "keywordset"))
 | 
						|
		    (reference-titlepage-keywordset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "legalnotice"))
 | 
						|
		    (reference-titlepage-legalnotice (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "lineage"))
 | 
						|
		    (reference-titlepage-lineage (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "mediaobject"))
 | 
						|
		    (reference-titlepage-mediaobject (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "modespec"))
 | 
						|
		    (reference-titlepage-modespec (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "orgname"))
 | 
						|
		    (reference-titlepage-orgname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "othercredit"))
 | 
						|
		    (reference-titlepage-othercredit (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "othername"))
 | 
						|
		    (reference-titlepage-othername (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pagenums"))
 | 
						|
		    (reference-titlepage-pagenums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "printhistory"))
 | 
						|
		    (reference-titlepage-printhistory (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "productname"))
 | 
						|
		    (reference-titlepage-productname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "productnumber"))
 | 
						|
		    (reference-titlepage-productnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pubdate"))
 | 
						|
		    (reference-titlepage-pubdate (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "publisher"))
 | 
						|
		    (reference-titlepage-publisher (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "publishername"))
 | 
						|
		    (reference-titlepage-publishername (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "pubsnumber"))
 | 
						|
		    (reference-titlepage-pubsnumber (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "releaseinfo"))
 | 
						|
		    (reference-titlepage-releaseinfo (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "revhistory"))
 | 
						|
		    (reference-titlepage-revhistory (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "seriesinfo"))
 | 
						|
		    (reference-titlepage-seriesinfo (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "seriesvolnums"))
 | 
						|
		    (reference-titlepage-seriesvolnums (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "subjectset"))
 | 
						|
		    (reference-titlepage-subjectset (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "subtitle"))
 | 
						|
		    (reference-titlepage-subtitle (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "surname"))
 | 
						|
		    (reference-titlepage-surname (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "title"))
 | 
						|
		    (reference-titlepage-title (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "titleabbrev"))
 | 
						|
		    (reference-titlepage-titleabbrev (node-list-first nl) side))
 | 
						|
		   ((equal? (gi (node-list-first nl)) (normalize "volumenum"))
 | 
						|
		    (reference-titlepage-volumenum (node-list-first nl) side))
 | 
						|
		   (else
 | 
						|
		    (reference-titlepage-default (node-list-first nl) side)))
 | 
						|
		  (loop (node-list-rest nl) (node-list-first nl)))))
 | 
						|
 | 
						|
	  (if (and %generate-reference-toc%
 | 
						|
		   %generate-reference-toc-on-titlepage%
 | 
						|
		   (equal? side 'recto))
 | 
						|
	      (make display-group
 | 
						|
		(build-toc (current-node)
 | 
						|
			   (toc-depth (current-node))))
 | 
						|
	      (empty-sosofo))
 | 
						|
 | 
						|
	  ;; PartIntro is a special case
 | 
						|
	  (if (and (equal? side 'recto)
 | 
						|
		   (not (node-list-empty? partintro))
 | 
						|
		   %generate-partintro-on-titlepage%)
 | 
						|
	      ($process-partintro$ partintro #f)
 | 
						|
	      (empty-sosofo)))
 | 
						|
 | 
						|
	(empty-sosofo))))
 | 
						|
 | 
						|
(define (reference-titlepage-before node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (cond
 | 
						|
       ((equal? (gi node) (normalize "corpauthor"))
 | 
						|
	(make paragraph
 | 
						|
	  space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	  (literal "\no-break-space;")))
 | 
						|
       ((equal? (gi node) (normalize "authorgroup"))
 | 
						|
	(if (have-sibling? (normalize "corpauthor") node)
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       ((equal? (gi node) (normalize "author"))
 | 
						|
	(if (or (have-sibling? (normalize "corpauthor") node) 
 | 
						|
		(have-sibling? (normalize "authorgroup") node))
 | 
						|
	    (empty-sosofo)
 | 
						|
	    (make paragraph
 | 
						|
	      space-after: (* (HSIZE 5) %head-after-factor% 8)
 | 
						|
	      (literal "\no-break-space;"))))
 | 
						|
       (else (empty-sosofo)))
 | 
						|
      (empty-sosofo)))
 | 
						|
 | 
						|
(define (reference-titlepage-default node side)
 | 
						|
  (let ((foo (debug (string-append "No reference-titlepage-* for " (gi node) "!"))))
 | 
						|
    (empty-sosofo)))
 | 
						|
 | 
						|
(define (reference-titlepage-element node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (with-mode reference-titlepage-recto-mode
 | 
						|
	(process-node-list node))
 | 
						|
      (with-mode reference-titlepage-verso-mode
 | 
						|
	(process-node-list node))))
 | 
						|
 | 
						|
(define (reference-titlepage-abbrev node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-abstract node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-address node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-affiliation node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-artpagenums node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-author node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-authorblurb node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-authorgroup node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-authorinitials node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-bibliomisc node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-biblioset node side)
 | 
						|
  (reference-titlepage node side))
 | 
						|
(define (reference-titlepage-bookbiblio node side)
 | 
						|
  (reference-titlepage node side))
 | 
						|
(define (reference-titlepage-citetitle node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-collab node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-confgroup node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-contractnum node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-contractsponsor node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-contrib  node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-copyright node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
 | 
						|
(define (reference-titlepage-corpauthor node side)
 | 
						|
  (if (equal? side 'recto)
 | 
						|
      (book-titlepage-element node side)
 | 
						|
      (if (first-sibling? node)
 | 
						|
	  (make paragraph
 | 
						|
	    (with-mode book-titlepage-verso-mode
 | 
						|
	      (process-node-list
 | 
						|
	       (select-elements (children (parent node)) 
 | 
						|
				(normalize "corpauthor")))))
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
(define (reference-titlepage-corpname node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-date node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-edition node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-editor node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-firstname node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-graphic node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-honorific node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-indexterm node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-invpartnumber node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-isbn node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-issn node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-issuenum node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-itermset node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-keywordset node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-legalnotice node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-lineage node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-mediaobject node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-modespec node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-orgname node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-othercredit node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-othername node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-pagenums node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-printhistory node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-productname node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-productnumber node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-pubdate node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-publisher node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-publishername node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-pubsnumber node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-releaseinfo node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-revhistory node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-seriesinfo node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-seriesvolnums node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-subjectset node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-subtitle node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-surname node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-title node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-titleabbrev node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
(define (reference-titlepage-volumenum node side)
 | 
						|
  (reference-titlepage-element node side))
 | 
						|
 | 
						|
(define reference-titlepage-recto-style
 | 
						|
  (style
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      font-size: (HSIZE 1)))
 | 
						|
 | 
						|
(define reference-titlepage-verso-style
 | 
						|
  (style
 | 
						|
      font-family-name: %body-font-family%))
 | 
						|
 | 
						|
(mode reference-titlepage-recto-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (abstract para)
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    (let ((author-name  (author-string))
 | 
						|
	  (author-affil (select-elements (children (current-node)) 
 | 
						|
					 (normalize "affiliation"))))
 | 
						|
      (make sequence      
 | 
						|
	(make paragraph
 | 
						|
	  use: reference-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal author-name))
 | 
						|
	(process-node-list author-affil))))
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (authorblurb para)
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make display-group
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
        use: reference-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 3)
 | 
						|
	line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 2) %head-before-factor%)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(process-children))
 | 
						|
      ;; This paragraph is a hack to get the spacing right.
 | 
						|
      ;; Authors always have an affiliation paragraph below them, even if
 | 
						|
      ;; it's empty, so corpauthors need one too.
 | 
						|
      (make paragraph
 | 
						|
        use: reference-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 1)
 | 
						|
	line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	(literal "\no-break-space;"))))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    (let ((editor-name (author-string)))
 | 
						|
      (make sequence      
 | 
						|
	(if (first-sibling?) 
 | 
						|
	    (make paragraph
 | 
						|
              use: reference-titlepage-recto-style
 | 
						|
	      font-size: (HSIZE 1)
 | 
						|
	      line-spacing: (* (HSIZE 1) %line-spacing-factor%)
 | 
						|
	      space-before: (* (HSIZE 2) %head-before-factor% 6)
 | 
						|
	      quadding: %division-title-quadding%
 | 
						|
	      keep-with-next?: #t
 | 
						|
	      (literal (gentext-edited-by)))
 | 
						|
	    (empty-sosofo))
 | 
						|
	(make paragraph
 | 
						|
          use: reference-titlepage-recto-style
 | 
						|
	  font-size: (HSIZE 3)
 | 
						|
	  line-spacing: (* (HSIZE 3) %line-spacing-factor%)
 | 
						|
	  space-after: (* (HSIZE 2) %head-after-factor% 4)
 | 
						|
	  quadding: %division-title-quadding%
 | 
						|
	  keep-with-next?: #t
 | 
						|
	  (literal editor-name)))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'center)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para)
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: 'start
 | 
						|
      line-spacing: (* 0.8 (inherited-line-spacing))
 | 
						|
      font-size: (* 0.8 (inherited-font-size))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: reference-titlepage-recto-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-recto-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo))))))) 
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle 
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      font-size: (HSIZE 4)
 | 
						|
      line-spacing: (* (HSIZE 4) %line-spacing-factor%)
 | 
						|
      space-before: (* (HSIZE 4) %head-before-factor%)
 | 
						|
      quadding: %division-subtitle-quadding%
 | 
						|
      keep-with-next?: #t
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (let ((ref (ancestor-member (current-node)
 | 
						|
				(list (normalize "reference")))))
 | 
						|
      (make paragraph
 | 
						|
        use: reference-titlepage-recto-style
 | 
						|
	font-size: (HSIZE 5)
 | 
						|
	line-spacing: (* (HSIZE 5) %line-spacing-factor%)
 | 
						|
	space-before: (* (HSIZE 5) %head-before-factor%)
 | 
						|
	quadding: %division-title-quadding%
 | 
						|
	keep-with-next?: #t
 | 
						|
	heading-level: (if %generate-heading-level% 1 0)
 | 
						|
	(literal (element-label ref)
 | 
						|
		 (gentext-label-title-sep (gi ref)))
 | 
						|
	(with-mode title-mode
 | 
						|
	  (process-children)))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-recto-style
 | 
						|
      quadding: %division-title-quadding%
 | 
						|
      (process-children)))
 | 
						|
)
 | 
						|
 | 
						|
(mode reference-titlepage-verso-mode
 | 
						|
  (element abbrev
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element abstract ($semiformal-object$))
 | 
						|
 | 
						|
  (element (abstract title) (empty-sosofo))
 | 
						|
 | 
						|
  (element address 
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (with-mode titlepage-address-mode 
 | 
						|
	($linespecific-display$ %indent-address-lines% %number-address-lines%))))
 | 
						|
 | 
						|
  (element affiliation
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element artpagenums
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element author
 | 
						|
    ;; Print the author name.  Handle the case where there's no AUTHORGROUP
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (not in-group)
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-list-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-list-string))))))  
 | 
						|
 | 
						|
  (element authorblurb
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element authorgroup
 | 
						|
    (make paragraph
 | 
						|
      space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
      (make sequence
 | 
						|
	(literal (gentext-by))
 | 
						|
	(literal "\no-break-space;")
 | 
						|
	(process-children-trim))))
 | 
						|
 | 
						|
  (element authorinitials
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element bibliomisc (process-children))
 | 
						|
 | 
						|
  (element bibliomset (process-children))
 | 
						|
 | 
						|
  (element collab
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element confgroup
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractnum
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contractsponsor
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element contrib
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element copyright
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (literal (gentext-element-name (current-node)))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (dingbat "copyright"))
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (copyright year)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling? (current-node)))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal " "))))
 | 
						|
 | 
						|
  (element (copyright holder) ($charseq$))
 | 
						|
 | 
						|
  (element corpauthor
 | 
						|
    ;; note: reference-titlepage-corpauthor takes care of wrapping multiple
 | 
						|
    ;; corpauthors
 | 
						|
    (make sequence
 | 
						|
      (if (first-sibling?)
 | 
						|
	  (if (equal? (gi (parent (current-node))) (normalize "authorgroup"))
 | 
						|
	      (empty-sosofo)
 | 
						|
	      (literal (gentext-by) " "))
 | 
						|
	  (literal ", "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element corpname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element date
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element edition
 | 
						|
    (make paragraph
 | 
						|
      (process-children)
 | 
						|
      (literal "\no-break-space;")
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))))
 | 
						|
 | 
						|
  (element editor
 | 
						|
    ;; Print the editor name.
 | 
						|
    (let ((in-group (have-ancestor? (normalize "authorgroup") (current-node))))
 | 
						|
      (if (or #t (not in-group)) ; nevermind, always put out the Edited by
 | 
						|
	  (make paragraph
 | 
						|
	    ;; Hack to get the spacing right below the author name line...
 | 
						|
	    space-after: (* %bf-size% %line-spacing-factor%)
 | 
						|
	    (make sequence
 | 
						|
	      (literal (gentext-edited-by))
 | 
						|
	      (literal "\no-break-space;")
 | 
						|
	      (literal (author-string))))
 | 
						|
	  (make sequence 
 | 
						|
	    (literal (author-string))))))
 | 
						|
 | 
						|
  (element firstname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element graphic
 | 
						|
    (let* ((nd (current-node))
 | 
						|
	   (fileref (attribute-string "fileref" nd))
 | 
						|
	   (entityref (attribute-string "entityref" nd))
 | 
						|
	   (format (attribute-string "format" nd))
 | 
						|
	   (align (attribute-string "align" nd)))
 | 
						|
      (if (or fileref entityref) 
 | 
						|
	  (make external-graphic
 | 
						|
	    notation-system-id: (if format format "")
 | 
						|
	    entity-system-id: (if fileref 
 | 
						|
				  (graphic-file fileref)
 | 
						|
				  (if entityref 
 | 
						|
				      (entity-generated-system-id entityref)
 | 
						|
				      ""))
 | 
						|
	    display?: #t
 | 
						|
	    display-alignment: 'start)
 | 
						|
	  (empty-sosofo))))
 | 
						|
 | 
						|
  (element honorific
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element isbn
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issn
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element itermset (empty-sosofo))
 | 
						|
 | 
						|
  (element invpartnumber
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element issuenum
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element jobtitle
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element keywordset
 | 
						|
    (make paragraph
 | 
						|
      quadding: 'start
 | 
						|
      (make sequence
 | 
						|
	font-weight: 'bold
 | 
						|
	(literal "Keywords: "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element (keyword)
 | 
						|
    (make sequence
 | 
						|
      (process-children)
 | 
						|
      (if (not (last-sibling?))
 | 
						|
	  (literal ", ")
 | 
						|
	  (literal ""))))
 | 
						|
 | 
						|
  (element legalnotice
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      ($semiformal-object$)))
 | 
						|
 | 
						|
  (element (legalnotice title) (empty-sosofo))
 | 
						|
 | 
						|
  (element (legalnotice para) 
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      font-size: (* (inherited-font-size) 0.8)
 | 
						|
      (process-children-trim)))
 | 
						|
 | 
						|
  (element lineage
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element modespec (empty-sosofo))
 | 
						|
 | 
						|
  (element orgdiv
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element orgname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othercredit
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element othername
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pagenums
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element printhistory
 | 
						|
    (make display-group
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element productnumber
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubdate
 | 
						|
    (make paragraph
 | 
						|
      (literal (gentext-element-name-space (gi (current-node))))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publisher
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element publishername
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element pubsnumber
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element releaseinfo
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element revhistory
 | 
						|
    (make sequence
 | 
						|
      (make paragraph
 | 
						|
	use: reference-titlepage-verso-style
 | 
						|
	space-before: (* (HSIZE 3) %head-before-factor%)
 | 
						|
	space-after: (/ (* (HSIZE 1) %head-before-factor%) 2)
 | 
						|
	(literal (gentext-element-name (current-node))))
 | 
						|
      (make table
 | 
						|
	before-row-border: #f
 | 
						|
	(process-children))))
 | 
						|
  
 | 
						|
  (element (revhistory revision)
 | 
						|
    (let ((revnumber (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "revnumber")))
 | 
						|
	  (revdate   (select-elements (descendants (current-node)) 
 | 
						|
				      (normalize "date")))
 | 
						|
	  (revauthor (select-elements (descendants (current-node))
 | 
						|
				      (normalize "authorinitials")))
 | 
						|
	  (revremark (select-elements (descendants (current-node))
 | 
						|
				      (normalize "revremark"))))
 | 
						|
      (make sequence
 | 
						|
	(make table-row
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revnumber))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-element-name-space (current-node)))
 | 
						|
		  (process-node-list revnumber))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 2
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revdate))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (process-node-list revdate))
 | 
						|
		(empty-sosofo)))
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 3
 | 
						|
	    n-columns-spanned: 1
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    cell-before-column-margin: (if (equal? (print-backend) 'tex)
 | 
						|
					   6pt
 | 
						|
					   0pt)
 | 
						|
	    (if (not (node-list-empty? revauthor))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  (literal (gentext-revised-by))
 | 
						|
		  (process-node-list revauthor))
 | 
						|
		(empty-sosofo))))
 | 
						|
	(make table-row
 | 
						|
	  cell-after-row-border: #f
 | 
						|
	  (make table-cell
 | 
						|
	    column-number: 1
 | 
						|
	    n-columns-spanned: 3
 | 
						|
	    n-rows-spanned: 1
 | 
						|
	    start-indent: 0pt
 | 
						|
	    (if (not (node-list-empty? revremark))
 | 
						|
		(make paragraph
 | 
						|
		  use: reference-titlepage-verso-style
 | 
						|
		  font-size: %bf-size%
 | 
						|
		  font-weight: 'medium
 | 
						|
		  space-after: (if (last-sibling?) 
 | 
						|
				   0pt
 | 
						|
				   (/ %block-sep% 2))
 | 
						|
		  (process-node-list revremark))
 | 
						|
		(empty-sosofo))))))) 
 | 
						|
  
 | 
						|
  (element (revision revnumber) (process-children-trim))
 | 
						|
  (element (revision date) (process-children-trim))
 | 
						|
  (element (revision authorinitials) (process-children-trim))
 | 
						|
  (element (revision revremark) (process-children-trim))
 | 
						|
 | 
						|
  (element seriesvolnums
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element shortaffil
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element subjectset (empty-sosofo))
 | 
						|
 | 
						|
  (element subtitle
 | 
						|
    (make sequence
 | 
						|
      font-family-name: %title-font-family%
 | 
						|
      font-weight: 'bold
 | 
						|
      (literal (if (first-sibling?) ": " "; "))
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element surname
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
  (element title
 | 
						|
    (let ((ref (ancestor-member (current-node)
 | 
						|
				(list (normalize "reference")))))
 | 
						|
      (make sequence
 | 
						|
        font-family-name: %title-font-family%
 | 
						|
        font-weight: 'bold
 | 
						|
	(literal (element-label ref)
 | 
						|
		 (gentext-label-title-sep (gi ref)))
 | 
						|
	(with-mode title-mode
 | 
						|
	  (process-children)))))
 | 
						|
 | 
						|
  (element formalpara ($para-container$))
 | 
						|
  (element (formalpara title) ($runinhead$))
 | 
						|
  (element (formalpara para) (make sequence (process-children)))
 | 
						|
 | 
						|
  (element titleabbrev (empty-sosofo))
 | 
						|
 | 
						|
  (element volumenum
 | 
						|
    (make paragraph
 | 
						|
      use: reference-titlepage-verso-style
 | 
						|
      (process-children)))
 | 
						|
 | 
						|
)
 |