home *** CD-ROM | disk | FTP | other *** search
/ XML Bible (2nd Edition) / XML_Bible_Second_Edition_Hungry_Minds_2001.iso / mac / examples / religion / common / base.dsl next >
Text File  |  1998-09-28  |  9KB  |  285 lines

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;; Base style sheet for testaments (RTF version)
  3. ;; Jon Bosak 1998.09.26
  4. ;;   Note that this version assumes 8.5 x 11 inch paper (US and Canada)
  5. ;;     and assumes that Word for Windows will be used for printouts
  6. ;;   This base file gets put together with either a set of styles
  7. ;;     peculiar to two-level testaments (NT, OT, BOM) or a set of
  8. ;;     styles peculiar to one-level testaments (Quran)
  9. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  10.  
  11. (declare-characteristic page-number-restart?
  12.    "UNREGISTERED::James Clark//Characteristic::page-number-restart?" #f)
  13.  
  14. (declare-characteristic page-n-columns
  15.    "UNREGISTERED::James Clark//Characteristic::page-n-columns" 1)
  16.  
  17. (declare-characteristic page-column-sep
  18.    "UNREGISTERED::James Clark//Characteristic::page-column-sep" 2pica)
  19.  
  20. (declare-characteristic page-number-format
  21.    "UNREGISTERED::James Clark//Characteristic::page-number-format" "1")
  22.  
  23. (declare-characteristic page-balance-columns?
  24.    "UNREGISTERED::James Clark//Characteristic::page-balance-columns" #t)
  25.  
  26. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  27. ;; layout parameters
  28. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  29.  
  30. (define large #f) ;; can be overridden from the command line
  31.  
  32. (define %body-font-family% "Garamond")
  33. (define %hf-font-family% "Garamond")
  34. (define %title-font-family% "Garamond")
  35. (define %line-spacing-factor% 1.2)
  36. (define %bf-size% (if large 24pt 12pt))
  37. (define %hf-size% (* %bf-size% 1.0))
  38. (define %title-size% (* %bf-size% 3.0))
  39. (define %title2-size% (* %bf-size% 2.0))
  40. (define %subtitle-size% (* %bf-size% 1.5))
  41. (define %ptitle-size% (* %bf-size% 1.25))
  42. (define %bktitle-size% (* %bf-size% 1.6))
  43. (define %chtitle-size% (* %bf-size% 1.5))
  44. (define %chstitle-size% (* %bf-size% 0.9))
  45. (define %tp-para-size% (* %bf-size% 1.25))
  46. (define %preface-size% (* %bf-size% 0.96))
  47. (define %toc-size% (* %bf-size% 1.0))
  48. (define %summary-size% (* %bf-size% 0.9))
  49. (define %vnum-size% (* %bf-size% 1.25))
  50.  
  51. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  52. ;; overall style
  53. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  54.  
  55. (define page-style
  56.   (style
  57.    page-width: 8.5in
  58.    page-height: 11in
  59.    left-margin: 6pica
  60.    right-margin: 6pica
  61.    top-margin: 6pica
  62.    bottom-margin: 6pica
  63.    header-margin: 3pica
  64.    footer-margin: 3.5pica
  65.    font-family-name: %body-font-family%
  66.    font-size: %bf-size%
  67.    line-spacing: (* %bf-size% %line-spacing-factor%)))
  68.  
  69. (define headerfooter-style
  70.   (style
  71.    font-size: %hf-size%
  72.    font-family-name: %hf-font-family%
  73.    line-spacing: (* %hf-size% %line-spacing-factor%)))
  74.  
  75. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  76. ;; big pieces
  77. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  78.  
  79. (element TSTMT
  80.   (process-children))
  81.  
  82. (mode hf-mode
  83.   (element TITLE (empty-sosofo))
  84.   (element (COVERPG TITLE)
  85.        (make sequence
  86.          use: headerfooter-style))
  87.   (element TITLE2 (empty-sosofo))
  88.   (element BKTSHORT (process-children)))
  89.  
  90.  
  91. (element COVERPG ($title-page$))
  92. (element TITLEPG ($title-page$))
  93.  
  94. (define ($title-page$)
  95.   (make simple-page-sequence
  96.     use: page-style
  97.     page-n-columns: 1))
  98.  
  99. (element PREFACE
  100.   (make simple-page-sequence
  101.     use: page-style
  102.     page-balance-columns?: #f
  103.     page-n-columns: 1
  104.     page-number-restart?: #t))
  105.  
  106. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  107. ;; titles
  108. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  109.  
  110. (element (COVERPG TITLE) ($titlepage-title$ 2.0))
  111. (element (TITLEPG TITLE) ($titlepage-title$ 1.0))
  112.  
  113. (define ($titlepage-title$ vspace-factor)
  114.   (make paragraph
  115.     space-before: (* %title-size% vspace-factor)
  116.     space-after: (* %title-size% vspace-factor)
  117.     font-size: %title-size%
  118.     font-family-name: %title-font-family%
  119.     quadding: 'center
  120.     font-weight: 'bold
  121.     line-spacing: (* %title-size% %line-spacing-factor%)))
  122.  
  123. (element (COVERPG TITLE2) ($titlepage-title2$ (if large 1.0 2.0)))
  124. (element (TITLEPG TITLE2) ($titlepage-title2$ (if large 0.5 1.0)))
  125.  
  126. (define ($titlepage-title2$ vspace-factor)
  127.   (make paragraph
  128.     space-before: (* %title2-size% vspace-factor 2.0)
  129.     space-after: (if (last-sibling?)
  130.              0pt
  131.                (* %title2-size% vspace-factor 2.0))
  132.     font-size: %title2-size%
  133.     font-family-name: %title-font-family%
  134.     quadding: 'center
  135.     font-weight: 'bold
  136.     line-spacing: (* %title2-size% %line-spacing-factor%)))
  137.  
  138. (element (COVERPG SUBTITLE) ($titlepage-subtitle$ (if large 1.5 3.0)))
  139. (element (TITLEPG SUBTITLE) ($titlepage-subtitle$ (if large 1.5 3.0)))
  140.  
  141. (define ($titlepage-subtitle$ vspace-factor)
  142.   (make paragraph
  143.     space-before: (* %subtitle-size% vspace-factor)
  144.     space-after: (if (last-sibling?)
  145.              0pt
  146.                (* %subtitle-size% vspace-factor))
  147.     font-size: %subtitle-size%
  148.     font-family-name: %title-font-family%
  149.     quadding: 'center
  150.     line-spacing: (* %subtitle-size% %line-spacing-factor%)))
  151.  
  152. (element (SUBTITLE P)
  153.   (make paragraph
  154.     space-before: 0pt
  155.     space-after: 0pt))
  156.  
  157. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  158. ;; the toc mode (shared by both one-level and two-level testaments)
  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  160.  
  161. (mode toc
  162.       (element BOOK (process-children))
  163.       (element SURA (process-children))
  164.       (element BKTLONG
  165.            (make paragraph
  166.              quadding: 'start
  167.              font-size: %toc-size%
  168.              space-before: (/ %toc-size% (if large 1.5 2.0))
  169.              space-after: (/ %toc-size% (if large 1.5 2.0))
  170.              (sosofo-append
  171.               (make link
  172.                 destination: (current-node-address)
  173.                 (with-mode #f (process-children)))
  174.               (make leader (literal "."))
  175.               (current-node-page-number-sosofo)))))
  176.  
  177. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  178. ;; lists
  179. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  180.  
  181. (element WITLIST
  182.   (make display-group
  183.     space-before: %bf-size%
  184.     space-after: %bf-size%))
  185.  
  186. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  187. ;; paragraphs
  188. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  189.  
  190. (element (TITLEPG SUBTITLE P)
  191.   (make paragraph
  192.     space-before: (* %subtitle-size% (if large 1.5 2.0))
  193.     space-after: (* %subtitle-size% (if large 1.5 2.0))))
  194.  
  195. (element (COVERPG P) ($title-para$))
  196. (element (TITLEPG P) ($title-para$))
  197.  
  198. (define ($title-para$)
  199.   (make paragraph
  200.     space-before: (* %tp-para-size% (if large 0.5 1.0))
  201.     space-after: (* %tp-para-size% (if large 0.5 1.0))
  202.         font-size: %tp-para-size%
  203.     line-spacing: (* %tp-para-size% %line-spacing-factor%)
  204.     font-family-name: %title-font-family%
  205.     quadding: 'center))
  206.  
  207. (element WITNESS
  208.   (make paragraph
  209.     space-before: 0pt
  210.     space-after: 0pt
  211.     font-posture: 'italic))
  212.  
  213. (element PTITLE0
  214.   (make paragraph
  215.     keep-with-next?: #t
  216.     space-before: (* %bf-size% (if large 1.5 2.0))
  217.     space-after: (* %bf-size% (if large 1.5 2.0))
  218.     font-size: (* %bf-size% (if large 1.5 2.0))
  219.     quadding: 'center
  220.     font-family-name: %title-font-family%
  221.     font-weight: 'bold))
  222.  
  223. (element PTITLE
  224.   (make paragraph
  225.     keep-with-next?: #t
  226.     space-before: (if (first-sibling?)
  227.               0pt
  228.             (* %ptitle-size% (if large 0.5 1.0)))
  229.     space-after: (* %ptitle-size% (if large 0.5 1.0))
  230.     font-size: %ptitle-size%
  231.     line-spacing: (* %ptitle-size% %line-spacing-factor%)
  232.     quadding: 'center
  233.     font-family-name: %title-font-family%
  234.     font-weight: 'bold))
  235.  
  236. (element P
  237.   (make paragraph
  238.     space-before: (* %bf-size% (if large 0.5 1.0))
  239.     space-after: (* %bf-size% (if large 0.5 1.0))))
  240.  
  241. (element (PREFACE P)
  242.   (make paragraph
  243.     quadding: 'justify
  244.     space-before: %preface-size%
  245.     space-after: %preface-size%
  246.     font-family-name: %title-font-family%
  247.     font-size: %preface-size%))
  248.  
  249. (define ($summary-para$)
  250.   (make paragraph
  251.     quadding: 'justify
  252.     keep-with-next?: #t
  253.     space-before: (* (if large 1.25 1.5) %bf-size%)
  254.     space-after: (* (if large 1.25 1.5) %bf-size%)
  255.     font-size: %summary-size%
  256.     font-posture: 'italic))
  257.  
  258. (element V
  259.   (make paragraph
  260.     space-before: (* %bf-size% (if large 0.5 1.0))
  261.     space-after: (* %bf-size% (if large 0.5 1.0))
  262.     (make sequence
  263.           font-size: %vnum-size%
  264.           font-weight: 'bold
  265.           font-family-name: %title-font-family%
  266.           (literal
  267.            (string-append
  268.         (format-number (child-number)
  269.                    "1") "\U-00A0" "\U-00A0")))
  270.     (process-children)))
  271.  
  272. (element EPIGRAPH
  273.   (make paragraph
  274.     keep-with-next?: #t
  275.     space-before: (* %bf-size% (if large 0.5 1.0))
  276.     space-after: (* %bf-size% (if large 0.5 1.0))
  277.     font-posture: 'italic))
  278.  
  279. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  280. ;; inlines
  281. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  282.  
  283. (element I
  284.   (make sequence
  285.     font-posture: 'italic))