File: print.dsl

package info (click to toggle)
doc-linux-nl 20050324-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 15,900 kB
  • ctags: 105
  • sloc: xml: 37,932; makefile: 313; perl: 193; sh: 120; ansic: 12; csh: 9
file content (151 lines) | stat: -rw-r--r-- 4,895 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA DSSSL>
]>

<!-- $Id: print.dsl,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $ -->

<style-sheet>
  <style-specification use="docbook">
    <style-specification-body>

;; See dbparam.dsl for definitions of refentries
(define %section-autolabel% #t)           ;; Sections are enumerated
(define %chapter-autolabel% #t)           ;; Chapters are enumerated

(define %generate-article-toc% #t)        ;; A Table of Contents should
                                          ;;  be produced for Articles

(define %generate-article-titlepage-on-separate-page% #f)
(define %generate-article-titlepage% #t)
(define %generate-article-toc-on-titlepage% #t)

;; we want it to look like default LaTeX
(define %title-font-family% "Computer Modern")
                                          ;; The font family used in titles
(define %body-font-family% "Computer Modern")
                                          ;; The font family used in body text

(define %default-quadding% 'justify)      ;; The default quadding ('start',
                                          ;; 'center', 'justify', or 'end').

(define %body-start-indent% 0em)          ;; The default indent of body text.
                                          ;; Some elements may have more or
                                          ;; less indentation.  4pi is default
                                          ;; value 

;; we have vertical whitespace between paragraphs
;; (define %para-indent%     2em)         ;; First line start-indent for
                                          ;; paragraphs (other than the first)

(define article-titlepage-recto-style
  (style
     font-family-name: %title-font-family%
     font-size: (HSIZE 1)))               ;; overrule font of title on
                                          ;; titlepage, see dbttlpg.dsl. tnx
;;;  setting to HSIZE 2 or 5 has no effect...
                                          ;; flacoste

(define (article-titlepage-recto-elements)
  (list (normalize "title") 
        (normalize "subtitle") 
        (normalize "corpauthor") 
        (normalize "authorgroup") 
        (normalize "author") 
        (normalize "abstract")))

;;        (normalize "revhistory")))        ;; revhistory added

;; article-titlepage-recto-elements in dbttlpg.dsl

(define (toc-depth nd) 2)                 ;; see dbautoc.dsl, default 1 for
                                          ;; article, 7 for book

(define (first-page-inner-footer gi)
  (cond
   ((equal? (normalize gi) (normalize "dedication")) (empty-sosofo))
   ((equal? (normalize gi) (normalize "lot")) (empty-sosofo))
   ((equal? (normalize gi) (normalize "part")) (empty-sosofo))
   ((equal? (normalize gi) (normalize "toc")) (empty-sosofo))
   (else
    (with-mode footer-copyright-mode
      (process-node-list (select-elements (children (current-node))
					  (normalize "articleinfo")))))))

(define (page-inner-footer gi)
  (cond
   ((equal? (normalize gi) (normalize "dedication")) (empty-sosofo))
   ((equal? (normalize gi) (normalize "lot")) (empty-sosofo))
   ((equal? (normalize gi) (normalize "part")) (empty-sosofo))
   ((equal? (normalize gi) (normalize "toc")) (empty-sosofo))
   (else
    (with-mode footer-id-mode
      (process-node-list (select-elements (children (current-node))
					  (normalize "articleinfo")))))))


(mode footer-id-mode
  ;; Prevent elements with PCDATA content 
  ;; from being processed
  (element title
    (empty-sosofo))
  (element subtitle
    (empty-sosofo))
  (element copyright
    (empty-sosofo))
  (element author
    (empty-sosofo))
  (element revnumber
    (empty-sosofo))
  (element date
    (empty-sosofo))

  (element revremark 
    (process-children-trim))

  (default
    (process-children-trim)))

(define (make-footer-rule)
  (make rule
    orientation: 'escapement
    position-point-shift: 0.75cm
    length: 5cm
    layer: 1
    line-thickness: 0.4pt))

(mode footer-copyright-mode
  ;; Prevent elements with PCDATA content 
  ;; from being processed
  (element title
    (empty-sosofo))
  (element subtitle
    (empty-sosofo))
  (element author
    (empty-sosofo))
  (element revnumber
    (empty-sosofo))
  (element date
    (empty-sosofo))
  (element revhistory
    (empty-sosofo))

  (element copyright 
    (let ((year (select-elements (children (current-node))
				 (normalize "year")))
	  (holder (select-elements (children (current-node))
				 (normalize "holder"))))
      (make sequence
	(make-footer-rule)
	(literal "Copyright &#169; ")
	(process-node-list year)
	(literal " ")
	(process-node-list holder))))

  (default
    (process-children-trim)))

    </style-specification-body>
  </style-specification>
  <external-specification id="docbook" document="docbook.dsl">
</style-sheet>