print.dsl
author Fabien Ninoles <fabien@tzone.org>
Tue, 29 Dec 2015 21:26:32 -0500
branchstyles
changeset 23 8445a48b1679
parent 0 08de8d15f932
permissions -rw-r--r--
Add new minor style for posts. Also fix the unnecessary '-' in front of shortlists.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     1
<!doctype dsssl-specification [
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     2
<!entity % decls "(features? & char-repertoire?)">
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     3
<!element dsssl-specification O O (%decls;, style-specification+)>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     4
<!attlist dsssl-specification
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     5
  dsssl name #fixed dsssl-specification
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     6
>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     7
<!element style-specification - O (%decls;, style*)>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     8
<!attlist style-specification
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
     9
  dsssl name #fixed style-specification
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    10
  id id #required
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    11
  partial (partial | complete) complete
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    12
  use idrefs #implied
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    13
>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    14
<!element char-repertoire - o empty>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    15
<!attlist char-repertoire
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    16
  dsssl name #fixed character-repertoire
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    17
  name cdata #required
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    18
>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    19
<!element features - o (#pcdata)>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    20
<!element style - - rcdata>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    21
<!attlist style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    22
  dsssl name #fixed style-specification-body
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    23
>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    24
]>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    25
<dsssl-specification>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    26
<style-specification id=common partial>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    27
<char-repertoire name="UNREGISTERED::SGML Open//Character Repertoire::ISO/IEC 10646">
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    28
<features>table</features>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    29
<style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    30
(element quote
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    31
  (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    32
   (make character
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    33
     char: #\left-double-quotation-mark)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    34
   (process-children)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    35
   (make character
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    36
     char: #\right-double-quotation-mark)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    37
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    38
(element emph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    39
  (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    40
    font-weight: 'bold))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    41
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    42
(define monospace-font-family "iso-monospace")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    43
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    44
(element code
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    45
  (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    46
    font-family: monospace-font-family))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    47
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    48
(declare-initial-value writing-mode 'left-to-right)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    49
(declare-initial-value font-size 12pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    50
(declare-initial-value line-spacing 14pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    51
(declare-initial-value font-family "iso-serif")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    52
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    53
(define-unit mm .001m)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    54
(define-unit in 25.4mm)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    55
(define-unit pt (/ 1in 72))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    56
(define-unit pi (/ 1in 6))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    57
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    58
(define paragraph-indent 20pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    59
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    60
(element p
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    61
  (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    62
    first-line-start-indent: (if (first-sibling?)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    63
                                 0pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    64
                                 paragraph-indent)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    65
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    66
(define chapter-title-style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    67
  (style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    68
    font-size: 18pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    69
    line-spacing: 24pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    70
    quadding: 'center))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    71
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    72
(element (chapter title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    73
  (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    74
    (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    75
      use: chapter-title-style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    76
      span: 2
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    77
      (literal "Chapter "
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    78
               (format-number (child-number) "1")))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    79
    (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    80
      use: chapter-title-style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    81
      span: 2)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    82
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    83
(element (section title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    84
  (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    85
    quadding: 'start
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    86
    (format-number-list (hierarchical-number '("CHAPTER" "SECTION"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    87
                        "1"
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    88
                        ".")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    89
    (literal ". ")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    90
    (process-children)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    91
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    92
(define indent-step 60pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    93
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    94
(element ol
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    95
  (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    96
    start-indent: (+ (inherited-start-indent)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    97
                     indent-step)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    98
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
    99
(element li
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   100
  (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   101
    first-line-start-indent: (- indent-step)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   102
    (make line-field
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   103
      field-width: indent-step
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   104
      field-align: 'start
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   105
      (literal (format-number (child-number)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   106
                              (if (have-ancestor? '("OL" "OL"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   107
                                  "a"
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   108
                                  "1"))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   109
    (process-children)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   110
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   111
(element dl
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   112
  (make table
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   113
    table-width: (- (display-size)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   114
                    (inherited-start-indent)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   115
                    (inherited-end-indent))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   116
    (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   117
      start-indent: 0pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   118
      end-indent: 0pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   119
      (make table-column
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   120
        column-number: 2
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   121
        width: (table-unit 1))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   122
      (process-children))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   123
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   124
(element dt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   125
  (make table-cell
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   126
    starts-row?: #t))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   127
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   128
(element dd
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   129
  (make table-cell
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   130
    start-indent: 10pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   131
    ends-row?: #t))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   132
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   133
(element caption
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   134
  (make paragraph))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   135
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   136
(element artwork
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   137
  (make external-graphic
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   138
    display?: #t
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   139
    scale: 'to-fit
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   140
    notation-system-id: (notation-generated-system-id
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   141
                         (entity-notation
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   142
                          (attribute-string "CONTENT")))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   143
    system-id: (entity-generated-system-id
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   144
                (attribute-string "CONTENT"))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   145
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   146
(element xref
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   147
  (with-mode xref
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   148
    (process-node-list (element-with-id (attribute-string "REFID")))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   149
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   150
</style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   151
</style-specification>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   152
<style-specification id=softcopy use=common>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   153
<style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   154
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   155
(mode xref
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   156
  (element chapter
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   157
    (make link
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   158
      destination: (current-node-address)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   159
      color: blue-color
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   160
      (process-first-descendant 'title)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   161
  (element figure
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   162
    (make multi-mode
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   163
      multi-modes: '(#f popup)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   164
      principal-mode-simultaneous?: #t
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   165
      (process-first-descendant 'caption)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   166
      (make vertical-scroll
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   167
        label: 'popup
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   168
        (with-mode #f
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   169
          (process-node-list (current-node)))))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   170
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   171
(define rgb
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   172
  (color-space "ISO/IEC 10179:1995//Color Space Family::Device RGB"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   173
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   174
(define blue-color (rgb 0 0 1))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   175
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   176
(element doc
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   177
  (make vertical-scroll
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   178
    left-margin: 20pt))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   179
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   180
(element (doc title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   181
  (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   182
    font-size: 28pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   183
    line-spacing: 32pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   184
    quadding: 'center))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   185
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   186
(element note
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   187
  (make multi-mode
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   188
    multi-modes: '(#f expand)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   189
    (make marginalia
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   190
      marginalia-side: 'start
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   191
      (make character
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   192
	font-name: "UNREGISTERED::SGML Open//Font::Icons"
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   193
        glyph-id: "UNREGISTERED::SGML Open//Glyph::Light bulb icon"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   194
    (make vertical-scroll
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   195
      label: 'expand
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   196
      (make paragraph))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   197
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   198
</style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   199
</style-specification>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   200
<style-specification id=hardcopy use=common>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   201
<features>page multi-column query expression</features>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   202
<style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   203
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   204
(define chapter-opening-sink 12pi)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   205
(define column-measure 20pi)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   206
(define column-separation 2pi)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   207
(define page-width 210mm)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   208
(define page-height 297mm)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   209
(define inner-margin 6pi)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   210
(define column-depth 54pi)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   211
(define top-margin 9pi)                 ; top of page to top of column
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   212
(define header-margin 5pi)              ; top of page to top of header
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   213
(define header-line-spacing 12pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   214
(define footer-line-spacing 12pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   215
(define folio-margin 5pi) ; from bottom of folio to bottom of page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   216
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   217
(define page-region-width
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   218
  (+ column-measure column-separation column-measure))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   219
(define footer-height
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   220
  (- page-height top-margin column-depth folio-margin))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   221
(define header-height
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   222
  (- top-margin header-margin))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   223
(define normal-page-region-height
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   224
  (- page-height header-margin folio-margin))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   225
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   226
(element (doc title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   227
  (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   228
   (make page-sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   229
     initial-page-models: (list chapter-first-page)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   230
     (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   231
       font-size: 28pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   232
       line-spacing: 32pt
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   233
       quadding: 'center))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   234
   (table-of-contents)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   235
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   236
(declare-reference-value-type chapter-title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   237
(declare-reference-value-type section-title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   238
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   239
(element (chapter title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   240
  (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   241
    (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   242
      use: chapter-title-style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   243
      span: 2
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   244
      (literal "Chapter "
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   245
               (format-number (child-number) "1")))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   246
    (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   247
      use: chapter-title-style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   248
      span: 2
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   249
      chapter-title: (process-children))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   250
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   251
(element (section title)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   252
  (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   253
    quadding: 'start
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   254
    section-title: (process-children)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   255
    (format-number-list (hierarchical-number '("CHAPTER" "SECTION"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   256
                        "1"
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   257
                        ".")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   258
    (literal ". ")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   259
    (process-children)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   260
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   261
(define-page-model chapter-first-page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   262
  (region
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   263
   (x-origin inner-margin)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   264
   (y-origin folio-margin)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   265
   (width page-region-width)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   266
   (height (- page-height top-margin chapter-opening-sink folio-margin))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   267
   (flow #f)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   268
   (footer
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   269
    (contents-alignment 'end)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   270
    (height footer-height)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   271
    (generate (make-page-footer)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   272
   (filling-direction 'top-to-bottom)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   273
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   274
(define-page-model chapter-recto-page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   275
  (region
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   276
   (x-origin inner-margin)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   277
   (y-origin folio-margin)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   278
   (width page-region-width)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   279
   (height normal-page-region-height)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   280
   (header
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   281
    (generate (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   282
                line-spacing: header-line-spacing
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   283
                quadding: 'end
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   284
                font-posture: 'italic
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   285
                (asis-indirect-sosofo
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   286
                 (find-reference-value 'section-title))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   287
    (contents-alignment 'start)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   288
    (height header-height))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   289
   (footer
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   290
    (contents-alignment 'end)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   291
    (height footer-height)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   292
    (generate (make-page-footer)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   293
   (flow #f))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   294
  (filling-direction 'top-to-bottom))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   295
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   296
(define-page-model chapter-verso-page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   297
  (region
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   298
   (x-origin (- page-width inner-margin page-region-width))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   299
   (y-origin folio-margin)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   300
   (width page-region-width)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   301
   (height normal-page-region-height)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   302
   (header
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   303
    (generate (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   304
                line-spacing: header-line-spacing
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   305
                quadding: 'start
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   306
                font-posture: 'italic
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   307
                (asis-indirect-sosofo
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   308
                 (find-reference-value 'chapter-title))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   309
    (contents-alignment start)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   310
    (height header-height))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   311
   (footer
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   312
    (contents-alignment 'end)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   313
    (height footer-height)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   314
    (generate (make-page-footer)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   315
   (flow #f))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   316
  (filling-direction 'top-to-bottom))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   317
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   318
(define (find-reference-value type)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   319
  (first-area-reference-value type
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   320
                              default: (last-preceding-area-reference-value
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   321
                                        type)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   322
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   323
(define (make-page-footer)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   324
  (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   325
    quadding: 'center
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   326
    line-spacing: footer-line-spacing
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   327
    (number-indirect-sosofo (page-number))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   328
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   329
(element chapter
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   330
  (make page-sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   331
    force-first-page: 'front
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   332
    initial-page-models: (list chapter-first-page)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   333
    repeat-page-models: (list chapter-verso-page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   334
                              chapter-recto-page)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   335
    blank-back-page-model: chapter-verso-page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   336
    (make column-set-sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   337
      column-set-model: double-columns)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   338
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   339
(define-column-set-model double-columns
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   340
  (column-subset
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   341
   (column
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   342
    (x-origin 0pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   343
    (width column-measure))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   344
   (column
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   345
    (x-origin (+ column-measure column-separation))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   346
    (width column-measure))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   347
   (flow
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   348
    (main body-text)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   349
    (figure top-float bottom-float)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   350
    (footnote footnote))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   351
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   352
(element figure
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   353
  (sync (make anchor
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   354
          display?: #t)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   355
        (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   356
          keep: #t
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   357
          label: 'figure
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   358
          span: (if (equal? (attribute-string "SPAN")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   359
                            "SPAN")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   360
                    2
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   361
                    1))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   362
        type: 'page
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   363
        max: 1))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   364
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   365
(define footnote-font-size 8pt)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   366
(define superscript-shift-ems .4) ; ems to shift up superscript for footnote
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   367
;; factor by which to multiply font size for superscripts
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   368
(define superscript-size-factor .6)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   369
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   370
(element note
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   371
  (let ((footnote-label
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   372
         (literal (format-number (note-number) "1"))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   373
    (sync (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   374
            font-size: (* (inherited-font-size)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   375
                          superscript-size-factor)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   376
            placement-offset: (- (* (inherited-font-size)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   377
                                    superscript-shift-ems))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   378
            footnote-label)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   379
          (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   380
            label: 'footnote
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   381
            font-size: footnote-font-size
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   382
            footnote-label
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   383
            (literal ". ")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   384
            (process-children))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   385
          type: 'page)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   386
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   387
;; Footnotes are numbered per chapter.
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   388
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   389
(define (note-number)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   390
  (list-ref (element-number-list '("CHAPTER" "NOTE"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   391
            1))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   392
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   393
(mode xref
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   394
  (element figure
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   395
    (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   396
     (literal "Figure "
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   397
              (format-number (element-number) "1"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   398
     (literal ", page")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   399
     (number-indirect-sosofo (page-number))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   400
  (element chapter
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   401
    (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   402
     (literal "Chapter "
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   403
              (format-number (child-number) "1")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   404
              ", ")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   405
     (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   406
       font-posture: 'italic
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   407
       (process-first-descendant 'title))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   408
     (literal ", page")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   409
     (number-indirect-sosofo (page-number)))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   410
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   411
(define (table-of-contents)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   412
  (make page-sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   413
    force-first-page: 'front
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   414
    repeat-page-models: (list chapter-first-page)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   415
    (make sequence
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   416
      (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   417
        use: chapter-title-style
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   418
        (literal "Table of Contents"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   419
      (with-mode toc
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   420
        (process-node-list (q-element 'title (tree-root (current-node))))))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   421
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   422
(mode toc
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   423
  (element title
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   424
    (make paragraph
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   425
      (literal (format-number (ancestor-child-number "CHAPTER") "1"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   426
      (if (have-ancestor? "SECTION")
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   427
          (literal "."
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   428
                   (format-number (ancestor-child-number "SECTION") "1"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   429
          (empty-sosofo))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   430
      (literal ". "))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   431
      (process-children)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   432
      (make leader (literal "."))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   433
      (number-indirect-sosofo (page-number))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   434
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   435
</style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   436
</style-specification>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   437
<style-specification id=hardcopy2 use=hardcopy>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   438
<style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   439
(element xref
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   440
  (map-constructor (let ((x (current-node)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   441
                     (lambda()
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   442
                       (process-xref x)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   443
                   (element-with-id (attribute-string "REFID"))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   444
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   445
(define (process-xref xref-node)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   446
  (if (match-element? 'chapter (current-node))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   447
      (with-mode xref
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   448
        (process-node-list (current-node)))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   449
      (sosofo-append
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   450
       (literal "Figure "
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   451
                (format-number (element-number) "1"))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   452
       (general-indirect-sosofo page-ref-if-different
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   453
                                (page-number first-area-of-node: (current-node))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   454
                                (page-number first-area-of-node: xref-node)))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   455
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   456
(define (page-ref-if-different figure-page current-page)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   457
  (if (equal? figure-page current-page)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   458
      (empty-sosofo)
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   459
      (literal ", page "
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   460
               (format-number figure-page "1"))))
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   461
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   462
</style>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   463
</style-specification>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   464
</dsssl-specification>
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   465
<!-- Keep this comment at the end of the file
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   466
Local variables:
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   467
mode: dsssl
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   468
sgml-indent-step:0
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   469
sgml-indent-data:nil
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   470
End:
08de8d15f932 [svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
fabien
parents:
diff changeset
   471
-->