;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Style sheet for slide shows (RTF version) ;; Jon Bosak 1998.09.06 especially for IUC13 (headers and footers) ;; Note that this version assumes 8.5 x 11 inch paper (US and Canada) ;; and assumes that Word for Windows will be used for printouts ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (declare-characteristic page-number-restart? "UNREGISTERED::James Clark//Characteristic::page-number-restart?" #f) (define %header-left-string% "XML and Unicode") (define %header-center-string% " ") (define %footer-left-string% "13th International Unicode Conference") (define %footer-right-string% "San Jose, California, September 1998") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; layout parameters ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define %body-font-family% "Times New Roman") (define %hf-font-family% "Arial") (define %mono-font-family% "Courier New") (define %bf-size% 22pt) (define %hf-size% 12pt) (define %line-spacing-factor% 1.2) (define %bf-line-spacing% (* %bf-size% %line-spacing-factor%)) (define %hf-line-spacing% (* %hf-size% %line-spacing-factor%)) (define %title-size-factor% 1.5) (define %subtitle-size-factor% 1.2) (define %slidehead-size-factor% 1.5) (define %toc-factor% 0.75) (define %listitem-vspace% (* %bf-size% 0.5)) (define %sublistitem-vspace% (* %bf-size% 0.25)) (define %ss-size-factor% 0.9) (define %ss-shift-factor% 0.2) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; overall style ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define page-style (style page-width: 8.5in page-height: 11in left-margin: 6pica right-margin: 6pica top-margin: 6pica bottom-margin: 6pica header-margin: 3pica footer-margin: 3.5pica font-family-name: %body-font-family% font-size: %bf-size% line-spacing: %bf-line-spacing%)) (define headerfooter-style (style font-size: %hf-size% font-family-name: %hf-font-family% line-spacing: %hf-line-spacing%)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; big pieces ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (element SLIDESHOW (process-children)) (element SHOWTITLESLIDE (let ((page-footer-left (make sequence use: headerfooter-style (literal %footer-left-string%))) (page-footer-center (make sequence use: headerfooter-style (literal " "))) (page-footer-right (make sequence use: headerfooter-style (literal %footer-right-string%)))) (make simple-page-sequence page-number-restart?: #t use: page-style center-footer: page-footer-center input-whitespace-treatment: 'collapse quadding: 'start (process-children) (make paragraph space-before: 2pica space-after: 2pica (literal " ")) (TOC-RULE) (with-mode showtoc (sosofo-append (process-node-list (select-elements (descendants (ancestor "SLIDESHOW")) "MODULETITLESLIDE")))) (TOC-RULE)))) (mode showtoc (element MODULETITLESLIDE (process-children)) (element TITLE (process-children)) (element (MODULETITLESLIDE TITLE LINE) (make paragraph font-size: (* %bf-size% %toc-factor%) line-spacing: (* %bf-line-spacing% %toc-factor%) start-indent: 4pica first-line-start-indent: -2pica (process-children) (make leader (literal ".")) (literal (string-append (format-number (ancestor-child-number "SLIDEMODULE") "A") "-")) (current-node-page-number-sosofo)))) (define (TOC-RULE) (make rule orientation: 'horizontal space-before: 24pt space-after: 16pt line-thickness: 3pt length: 37pica start-indent: 2pica display-alignment: 'start)) ;; don't display showhead in sequence (element SHOWHEAD (empty-sosofo)) (mode hf-mode (element SHOWHEAD (process-children)) (element MODHEAD (process-children))) (element SLIDEMODULE (let ((page-header-left (make sequence use: headerfooter-style (literal %header-left-string%))) (page-header-center (make sequence use: headerfooter-style (literal %header-center-string%))) (page-header-right (make sequence use: headerfooter-style font-posture: 'italic (with-mode hf-mode (process-first-descendant "MODHEAD")))) (page-footer-left (make sequence use: headerfooter-style (literal %footer-left-string%))) (page-footer-center (make sequence use: headerfooter-style (literal " "))) (page-footer-right (make sequence use: headerfooter-style (literal %footer-right-string%))) (page-footer-pagenumber (make sequence use: headerfooter-style (literal (string-append "" ;; "Page " (format-number (element-number) "A") "-")) (page-number-sosofo)))) (make simple-page-sequence page-number-restart?: #t use: page-style left-header: page-header-left center-header: page-header-center right-header: page-header-right left-footer: page-footer-left center-footer: page-footer-pagenumber right-footer: page-footer-right input-whitespace-treatment: 'collapse quadding: 'start (process-children)))) ;; don't display modhead in sequence (element MODHEAD (empty-sosofo)) (element MODULETITLESLIDE (make display-group (process-children) (make paragraph space-before: 4pica space-after: 2pica (literal " ")) (TOC-RULE) (with-mode moduletoc (sosofo-append (process-node-list (select-elements (descendants (ancestor "SLIDEMODULE")) "SLIDEHEAD")))) (TOC-RULE))) (mode moduletoc (element SLIDEHEAD (make paragraph font-size: (* %bf-size% %toc-factor%) line-spacing: (* %bf-line-spacing% %toc-factor%) start-indent: 4pica first-line-start-indent: -2pica (process-children) (make leader (literal ".")) (literal (string-append (format-number (ancestor-child-number "SLIDEMODULE") "A") "-")) (current-node-page-number-sosofo)))) (element SLIDE (make display-group break-before: 'page)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; paragraphs ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (element TITLE (make display-group space-after: (* %bf-size% %title-size-factor%) font-size: (* %bf-size% %title-size-factor%) line-spacing: (* %bf-size% %title-size-factor% %line-spacing-factor%))) (element SUBTITLE (make display-group space-before: (* %bf-size% %subtitle-size-factor% 2) space-after: (* %bf-size% %subtitle-size-factor% 2) font-size: (* %bf-size% %subtitle-size-factor%) line-spacing: (* %bf-size% %subtitle-size-factor% %line-spacing-factor%))) (element LINE (make paragraph)) (element SLIDEHEAD (make paragraph space-after: (* %bf-size% %slidehead-size-factor%) font-size: (* %bf-size% %slidehead-size-factor%) line-spacing: (* %bf-size% %slidehead-size-factor% %line-spacing-factor%))) (element P (make paragraph space-before: %bf-size% space-after: %bf-size%)) (element CODECOMMENT (make paragraph font-size: (* %bf-size% 0.6) line-spacing: (* %bf-size% 0.6) font-posture: 'italic space-before: %bf-size% space-after: (* %bf-size% 0.8))) (element CODESAMPLE (make paragraph lines: 'asis input-whitespace-treatment: 'preserve quadding: 'start font-family-name: %mono-font-family% font-weight: 'bold font-size: (* %bf-size% 0.75) line-spacing: (* %bf-size% 1.0) space-before: (* %bf-size% 1.0) space-after: (* %bf-size% 1.0))) (element CONNECTOR (make paragraph space-before: %bf-size% space-after: %bf-size% start-indent: (* %bf-size% 3) quadding: 'start)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; lists ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define %itemstep% %bf-size%) (define ($list$) (make display-group space-before: %bf-size% space-after: %bf-size%)) (element BULLETLIST ($list$)) (element NUMBEREDLIST ($list$)) (element FLATLIST ($list$)) (element ITEM (make display-group start-indent: (+ (inherited-start-indent) %itemstep%))) (element (FLATLIST ITEM P) (make paragraph)) (element (NUMBEREDLIST ITEM P) (if (= (child-number) 1) (make paragraph space-before: %listitem-vspace% space-after: %listitem-vspace% first-line-start-indent: (- %itemstep%) (make line-field field-width: %itemstep% (literal (string-append (format-number (ancestor-child-number "ITEM") "1") "."))) (process-children)) (make paragraph space-before: %listitem-vspace% space-after: %listitem-vspace%))) (element (BULLETLIST ITEM P) (if (= (child-number) 1) (make paragraph space-before: %listitem-vspace% space-after: %listitem-vspace% first-line-start-indent: (- %itemstep%) (make line-field font-family-name: "Wingdings" font-size: (* %bf-size% 0.75) field-width: %itemstep% (literal "l")) (process-children)) (make paragraph space-before: %listitem-vspace% space-after: %listitem-vspace%))) (element BULLETSUBLIST (make display-group space-before: %sublistitem-vspace% space-after: %sublistitem-vspace% start-indent: (+ (inherited-start-indent) %itemstep%))) (element (BULLETSUBLIST ITEM P) (if (= (child-number) 1) (make paragraph space-before: %sublistitem-vspace% space-after: %sublistitem-vspace% first-line-start-indent: (- %itemstep%) (make line-field font-family-name: "Wingdings" font-size: (* %bf-size% 0.6) field-width: %itemstep% (literal "o")) (process-children)) (make paragraph space-before: %sublistitem-vspace% space-after: %sublistitem-vspace%))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; inlines ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (element B (make sequence font-weight: 'bold)) (element I (make sequence font-posture: 'italic)) (element EMPH (make sequence font-weight: 'bold)) (element HLINK (make sequence)) (define ($ss-seq$ plus-or-minus) (make sequence font-size: (* (inherited-font-size) %ss-size-factor%) position-point-shift: (plus-or-minus (* (inherited-font-size) %ss-shift-factor%)))) (element SUP ($ss-seq$ +)) (element SUB ($ss-seq$ -)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; graphics ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (element IMAGE (make external-graphic entity-system-id: (attribute-string "src") display?: #t space-before: 1pica space-after: 1pica display-alignment: (case (attribute-string "align") (("LEFT") 'start) (("RIGHT") 'end) (else 'center))))