9674
|
1 <!DOCTYPE style-sheet PUBLIC
|
|
2 "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
|
3 <!ENTITY % html "IGNORE">
|
|
4 <![%html;[
|
|
5 <!ENTITY % print "IGNORE">
|
|
6 <!ENTITY docbook.dsl PUBLIC
|
|
7 "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN"
|
|
8 CDATA dsssl>
|
|
9 ]]>
|
|
10 <!ENTITY % print "INCLUDE">
|
|
11 <![%print;[
|
|
12 <!ENTITY docbook.dsl PUBLIC
|
|
13 "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN"
|
|
14 CDATA dsssl>
|
|
15 ]]>
|
|
16 ]>
|
|
17
|
|
18 <style-sheet>
|
|
19
|
|
20 ;; ------------------------------------------------------------------------
|
|
21 ;; ldp.dsl - LDP Customized DSSSL Stylesheet
|
|
22 ;; v1.11, 2003-02-03
|
|
23 ;; Copyright (C) 2000-2003
|
|
24 ;;
|
|
25 ;; This program is free software; you can redistribute it and/or modify
|
|
26 ;; it under the terms of the GNU General Public License as published by
|
|
27 ;; the Free Software Foundation; either version 2 of the License, or
|
|
28 ;; (at your option) any later version.
|
|
29 ;;
|
|
30 ;; This program is distributed in the hope that it will be useful,
|
|
31 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
32 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
33 ;; GNU General Public License for more details.
|
|
34 ;;
|
|
35 ;; You should have received a copy of the GNU General Public License
|
|
36 ;; along with this program; if not, write to the Free Software
|
|
37 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
38 ;; ------------------------------------------------------------------------
|
|
39
|
|
40 <style-specification id="print" use="docbook">
|
|
41 <style-specification-body>
|
|
42
|
|
43 ;; customize the print stylesheet
|
|
44
|
|
45 (declare-characteristic preserve-sdata?
|
|
46 ;; this is necessary because right now jadetex does not understand
|
|
47 ;; symbolic entities, whereas things work well with numeric entities.
|
|
48 "UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
|
49 #f)
|
|
50
|
|
51 (define %generate-article-toc%
|
|
52 ;; Should a Table of Contents be produced for Articles?
|
|
53 #t)
|
|
54
|
|
55 (define (toc-depth nd)
|
|
56 4)
|
|
57
|
|
58 (define %generate-article-titlepage-on-separate-page%
|
|
59 ;; Should the article title page be on a separate page?
|
|
60 #t)
|
|
61
|
|
62 (define %section-autolabel%
|
|
63 ;; Are sections enumerated?
|
|
64 #t)
|
|
65
|
|
66 (define %footnote-ulinks%
|
|
67 ;; Generate footnotes for ULinks?
|
|
68 #f)
|
|
69
|
|
70 (define %bop-footnotes%
|
|
71 ;; Make "bottom-of-page" footnotes?
|
|
72 #f)
|
|
73
|
|
74 (define %body-start-indent%
|
|
75 ;; Default indent of body text
|
|
76 0pi)
|
|
77
|
|
78 (define %para-indent-firstpara%
|
|
79 ;; First line start-indent for the first paragraph
|
|
80 0pt)
|
|
81
|
|
82 (define %para-indent%
|
|
83 ;; First line start-indent for paragraphs (other than the first)
|
|
84 0pt)
|
|
85
|
|
86 (define %block-start-indent%
|
|
87 ;; Extra start-indent for block-elements
|
|
88 0pt)
|
|
89
|
|
90 (define formal-object-float
|
|
91 ;; Do formal objects float?
|
|
92 #t)
|
|
93
|
|
94 (define %hyphenation%
|
|
95 ;; Allow automatic hyphenation?
|
|
96 #t)
|
|
97
|
|
98 (define %admon-graphics%
|
|
99 ;; Use graphics in admonitions?
|
|
100 #f)
|
|
101
|
|
102 (define %default-quadding%
|
|
103 ;; Full justification.
|
|
104 'justify)
|
|
105
|
|
106 (define (book-titlepage-verso-elements)
|
|
107 ;;added publisher, releaseinfo to the default list
|
|
108 (list (normalize "title")
|
|
109 (normalize "subtitle")
|
|
110 (normalize "corpauthor")
|
|
111 (normalize "authorgroup")
|
|
112 (normalize "author")
|
|
113 (normalize "publisher")
|
|
114 (normalize "releaseinfo")
|
|
115 (normalize "editor")
|
|
116 (normalize "edition")
|
|
117 (normalize "pubdate")
|
|
118 (normalize "copyright")
|
|
119 (normalize "abstract")
|
|
120 (normalize "legalnotice")
|
|
121 (normalize "revhistory")))
|
|
122
|
|
123 </style-specification-body>
|
|
124 </style-specification>
|
|
125
|
|
126
|
|
127 <!--
|
|
128 ;; customize the html stylesheet; parts borrowed from
|
|
129 ;; Cygnus at http://sourceware.cygnus.com/ (cygnus-both.dsl)
|
|
130 -->
|
|
131
|
|
132 <style-specification id="html" use="docbook">
|
|
133 <style-specification-body>
|
|
134
|
|
135 (declare-characteristic preserve-sdata?
|
|
136 ;; this is necessary because right now jadetex does not understand
|
|
137 ;; symbolic entities, whereas things work well with numeric entities.
|
|
138 "UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
|
139 #f)
|
|
140
|
|
141 (declare-flow-object-class element
|
|
142 ;; for redhat
|
|
143 "UNREGISTERED::James Clark//Flow Object Class::element")
|
|
144
|
|
145 (define %generate-legalnotice-link%
|
|
146 ;; put the legal notice in a separate file
|
|
147 #t)
|
|
148
|
|
149 (define %admon-graphics-path%
|
|
150 ;; use graphics in admonitions, set their
|
|
151 "../images/")
|
|
152
|
|
153 (define %admon-graphics%
|
|
154 #t)
|
|
155
|
|
156 (define %funcsynopsis-decoration%
|
|
157 ;; make funcsynopsis look pretty
|
|
158 #t)
|
|
159
|
|
160 (define %html-ext%
|
|
161 ;; when producing HTML files, use this extension
|
|
162 ".html")
|
|
163
|
|
164 (define %generate-book-toc%
|
|
165 ;; Should a Table of Contents be produced for books?
|
|
166 #t)
|
|
167
|
|
168 (define %generate-article-toc%
|
|
169 ;; Should a Table of Contents be produced for articles?
|
|
170 #t)
|
|
171
|
|
172 (define %generate-part-toc%
|
|
173 ;; Should a Table of Contents be produced for parts?
|
|
174 #t)
|
|
175
|
|
176 (define %generate-book-titlepage%
|
|
177 ;; produce a title page for books
|
|
178 #t)
|
|
179
|
|
180 (define %generate-article-titlepage%
|
|
181 ;; produce a title page for articles
|
|
182 #t)
|
|
183
|
|
184 (define (chunk-skip-first-element-list)
|
|
185 ;; forces the Table of Contents on separate page
|
|
186 '())
|
|
187
|
|
188 (define (list-element-list)
|
|
189 ;; fixes bug in Table of Contents generation
|
|
190 '())
|
|
191
|
|
192 (define %root-filename%
|
|
193 ;; The filename of the root HTML document (e.g, "index").
|
|
194 "index")
|
|
195
|
|
196 (define %shade-verbatim%
|
|
197 ;; verbatim sections will be shaded if t(rue)
|
|
198 #t)
|
|
199
|
|
200 (define %use-id-as-filename%
|
|
201 ;; Use ID attributes as name for component HTML files?
|
|
202 #t)
|
|
203
|
|
204 (define %graphic-extensions%
|
|
205 ;; graphic extensions allowed
|
|
206 '("gif" "png" "jpg" "jpeg" "tif" "tiff" "eps" "epsf" ))
|
|
207
|
|
208 (define %graphic-default-extension%
|
|
209 "gif")
|
|
210
|
|
211 (define %section-autolabel%
|
|
212 ;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
|
213 #t)
|
|
214
|
|
215 (define (toc-depth nd)
|
|
216 ;; more depth (2 levels) to toc; instead of flat hierarchy
|
|
217 2)
|
|
218
|
|
219 (element emphasis
|
|
220 ;; make role=strong equate to bold for emphasis tag
|
|
221 (if (equal? (attribute-string "role") "strong")
|
|
222 (make element gi: "STRONG" (process-children))
|
|
223 (make element gi: "EM" (process-children))))
|
|
224
|
|
225 (define (book-titlepage-recto-elements)
|
|
226 ;; elements on a book's titlepage
|
|
227 (list (normalize "title")
|
|
228 (normalize "subtitle")
|
|
229 (normalize "graphic")
|
|
230 (normalize "mediaobject")
|
|
231 (normalize "corpauthor")
|
|
232 (normalize "authorgroup")
|
|
233 (normalize "author")
|
|
234 (normalize "othercredit")
|
|
235 (normalize "edition")
|
|
236 (normalize "releaseinfo")
|
|
237 (normalize "publisher")
|
|
238 (normalize "editor")
|
|
239 (normalize "copyright")
|
|
240 (normalize "pubdate")
|
|
241 (normalize "revhistory")
|
|
242 (normalize "abstract")
|
|
243 (normalize "legalnotice")))
|
|
244
|
|
245 (define (article-titlepage-recto-elements)
|
|
246 ;; elements on an article's titlepage
|
|
247 (list (normalize "title")
|
|
248 (normalize "subtitle")
|
|
249 (normalize "authorgroup")
|
|
250 (normalize "author")
|
|
251 (normalize "othercredit")
|
|
252 (normalize "releaseinfo")
|
|
253 (normalize "copyright")
|
|
254 (normalize "pubdate")
|
|
255 (normalize "revhistory")
|
|
256 (normalize "abstract")
|
|
257 (normalize "legalnotice")))
|
|
258
|
|
259 (define (process-contrib #!optional (sosofo (process-children)))
|
|
260 ;; print out with othercredit information; for translators, etc.
|
|
261 (make sequence
|
|
262 (make element gi: "SPAN"
|
|
263 attributes: (list (list "CLASS" (gi)))
|
|
264 (process-children))))
|
|
265
|
|
266 (define (process-othercredit #!optional (sosofo (process-children)))
|
|
267 ;; print out othercredit information; for translators, etc.
|
|
268 (let ((author-name (author-string))
|
|
269 (author-contrib (select-elements (children (current-node))
|
|
270 (normalize "contrib"))))
|
|
271 (make element gi: "P"
|
|
272 attributes: (list (list "CLASS" (gi)))
|
|
273 (make element gi: "B"
|
|
274 (literal author-name)
|
|
275 (literal " - "))
|
|
276 (process-node-list author-contrib))))
|
|
277
|
|
278 (mode article-titlepage-recto-mode
|
|
279 (element contrib (process-contrib))
|
|
280 (element othercredit (process-othercredit))
|
|
281 )
|
|
282
|
|
283 (mode book-titlepage-recto-mode
|
|
284 (element contrib (process-contrib))
|
|
285 (element othercredit (process-othercredit))
|
|
286 )
|
|
287
|
|
288 (define (article-title nd)
|
|
289 (let* ((artchild (children nd))
|
|
290 (artheader (select-elements artchild (normalize "artheader")))
|
|
291 (artinfo (select-elements artchild (normalize "articleinfo")))
|
|
292 (ahdr (if (node-list-empty? artheader)
|
|
293 artinfo
|
|
294 artheader))
|
|
295 (ahtitles (select-elements (children ahdr)
|
|
296 (normalize "title")))
|
|
297 (artitles (select-elements artchild (normalize "title")))
|
|
298 (titles (if (node-list-empty? artitles)
|
|
299 ahtitles
|
|
300 artitles)))
|
|
301 (if (node-list-empty? titles)
|
|
302 ""
|
|
303 (node-list-first titles))))
|
|
304
|
|
305 (mode subtitle-mode
|
|
306 ;; do not print subtitle on subsequent pages
|
|
307 (element subtitle (empty-sosofo)))
|
|
308
|
|
309 ;; Redefinition of $verbatim-display$
|
|
310 ;; Origin: dbverb.dsl
|
|
311 ;; Different foreground and background colors for verbatim elements
|
|
312 ;; Author: Philippe Martin (feloy@free.fr) 2001-04-07
|
|
313
|
|
314 (define ($verbatim-display$ indent line-numbers?)
|
|
315 (let ((verbatim-element (gi))
|
|
316 (content (make element gi: "PRE"
|
|
317 attributes: (list
|
|
318 (list "CLASS" (gi)))
|
|
319 (if (or indent line-numbers?)
|
|
320 ($verbatim-line-by-line$ indent line-numbers?)
|
|
321 (process-children)))))
|
|
322 (if %shade-verbatim%
|
|
323 (make element gi: "TABLE"
|
|
324 attributes: (shade-verbatim-attr-element verbatim-element)
|
|
325 (make element gi: "TR"
|
|
326 (make element gi: "TD"
|
|
327 (make element gi: "FONT"
|
|
328 attributes: (list
|
|
329 (list "COLOR" (car (shade-verbatim-element-colors
|
|
330 verbatim-element))))
|
|
331 content))))
|
|
332 content)))
|
|
333
|
|
334 ;;
|
|
335 ;; Customize this function
|
|
336 ;; to change the foreground and background colors
|
|
337 ;; of the different verbatim elements
|
|
338 ;; Return (list "foreground color" "background color")
|
|
339 ;;
|
|
340 (define (shade-verbatim-element-colors element)
|
|
341 (case element
|
|
342 (("SYNOPSIS") (list "#000000" "#6495ED"))
|
|
343 ;; ...
|
|
344 ;; Add your verbatim elements here
|
|
345 ;; ...
|
|
346 (else (list "#000000" "#E0E0E0"))))
|
|
347
|
|
348 (define (shade-verbatim-attr-element element)
|
|
349 (list
|
|
350 (list "BORDER"
|
|
351 (cond
|
|
352 ((equal? element (normalize "SCREEN")) "1")
|
|
353 (else "0")))
|
|
354 (list "BGCOLOR" (car (cdr (shade-verbatim-element-colors element))))
|
|
355 (list "WIDTH" ($table-width$))))
|
|
356
|
|
357 ;; End of $verbatim-display$ redefinition
|
|
358
|
|
359 </style-specification-body>
|
|
360 </style-specification>
|
|
361
|
|
362 <external-specification id="docbook" document="docbook.dsl">
|
|
363
|
|
364 </style-sheet>
|
|
365
|