]> git.pld-linux.org Git - packages/docbook-utils.git/blame - gdp-both.dsl
- don't obsolete docbook2X (not full replacement, packages no longer conflict)
[packages/docbook-utils.git] / gdp-both.dsl
CommitLineData
0597934f
AF
1<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
2<!ENTITY % html "IGNORE">
3<![%html;[
4<!ENTITY % print "IGNORE">
5<!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA dsssl>
6]]>
7<!ENTITY % print "INCLUDE">
8<![%print;[
9<!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA dsssl>
10]]>
11]>
12
13<!--
14;;#######################################################################
15;;# #
16;;# The GNOME Documentation Project's #
17;;# Custion DocBook Stylesheet Layer #
18;;# by Dave Mason dcm@redhat.com #
19;;# Based on Norman Walsh's Modular Stylesheets #
20;;# #
21;;# This is intended as a drop-in replacement for #
22;;# the cygnus-both.dsl file in DocBook Tools. #
23;;# Just copy it to the location dbtools created #
24;;# and rename it cygnus-both.dsl #
25;;# #
26;;# This is Version 1.0-4 #
27;;# patched to fix RTF output (#49677) #
28;;# patched to work with docbook-dsssl-1.72 #
29;;# patched for ADDRESS output (#50605) #
30;;# removed comment and remark #
31;;# disabled use-id-as-filename #
32;;#######################################################################
33-->
34
35<style-sheet>
36
37
38<style-specification id="print" use="docbook">
39<style-specification-body>
40
41;;==========================================================================
42;; PRINT
43;;==========================================================================
44
45;;======================================
46;;General Options
47;;======================================
48
49;;Do you want to print on both sides of the paper?
50(define %two-side%
51 #t)
52
53;;Do you want enumerated sections? (E.g, 1.1, 1.1.1, 1.2, etc.)
54(define %section-autolabel%
55 #f)
56
57;;What is the default extension for graphics?
58(define %graphic-default-extension%
59 "eps")
60
61;;Show URL links? If the text of the link and the URL are identical,
62;;the parenthetical URL is suppressed.
63(define %show-ulinks%
64 #t)
65
66;Make Ulinks footnotes to stop bleeding in the edges - this increases
67;'jade --> print' time tremendously keep this in mind before
68;complaining!
69(define %footnote-ulinks%
70 #t)
71
72;;Tex Backend on
73(define tex-backend
74 #t)
75
76;;Define Line Spacing
77(define %line-spacing-factor% 1.1)
78
79;;Define the Paragraph Style
80(define para-style
81 (style
82 font-size: %bf-size%
83 font-weight: 'medium
84 font-posture: 'upright
85 font-family-name: %body-font-family%
86 line-spacing: (* %bf-size% %line-spacing-factor%)))
87
88(define ($object-titles-after$)
89 (list (normalize "figure")))
90
91;;======================================
92;;Book Options
93;;======================================
94
95
96;;Do you want a title page for a Book?
97(define %generate-book-titlepage%
98 #t)
99
100;;Do you want a separate page for the title?
101(define %generate-book-titlepage-on-separate-page%
102 #t)
103
104;;Generate Book TOC?
105(define %generate-book-toc%
106 #t)
107
108;;What depth should the TOC generate?
109;;!Only top level of appendixes!
110(define (toc-depth nd)
111 (if (string=? (gi nd) (normalize "book"))
112 3
113 (if (string=? (gi nd) (normalize "appendix"))
114 0
115 1)))
116
117;;Do you want a TOC for the element part?
118(define %generate-part-toc%
119 #f)
120
121;;Do you want the part toc on the part titlepage or separate?
122(define %generate-part-toc-on-titlepage%
123 #t)
124
125;;Generate Part Title Page?
126(define %generate-part-titlepage%
127 #f)
128
129;;Do you want the Part intro on the part title page?
130(define %generate-partintro-on-titlepage%
131 #t)
132
133;;What elements should have a LOT?
134(define ($generate-book-lot-list$)
135 (list (normalize "equation")))
136
137;;Do you want chapters enumerated?
138(define %chapter-autolabel%
139 #t)
140
141;;Do you want Chapter's and Appendix's
142;;to have automatic labels?
143(define %chap-app-running-head-autolabel%
144 #t)
145
146
147;;======================================
148;;Article Options
149;;======================================
150
151;;Do you want a title page for an Article?
152(define %generate-article-titlepage%
153 #t)
154
155;;Generate Article TOC?
156(define %generate-article-toc%
157 #t)
158
159;;Do you want a separate page for the title?
160(define %generate-article-titlepage-on-separate-page%
161 #t)
162
163;;Do you want the article toc on the titlepage or separate?
164(define %generate-article-toc-on-titlepage%
165 #t)
166
167;;Do you want to start new page numbers with each article?
168(define %article-page-number-restart%
169 #f)
170
171;;Titlepage Separate?
172(define (chunk-skip-first-element-list)
173 '())
174
175;;Titlepage Not Separate
176;(define (chunk-skip-first-element-list)
177; (list (normalize "sect1")
178; (normalize "section")))
179
180;;======================================
181;;Columns
182;;======================================
183
184;;How many columns do you want?
185(define %page-n-columns%
186 1)
187
188;;How much space between columns?
189(define %page-column-sep%
190 0.2in)
191
192;;How many Columns on the titlepage?
193(define %titlepage-n-columns%
194 1)
195
196;;Balance columns?
197(define %page-balance-colums%
198#t)
199
200;;======================================
201;;Fonts
202;;======================================
203
204;;Defines the general size of the text in the document. normal(10),
205;;presbyopic(12), and large-type(24).
206(define %visual-acuity%
207 "normal")
208
209;;What font would you like for titles?
210(define %title-font-family%
211 "Helvetica")
212
213;;What font would you like for the body?
214(define %body-font-family%
215 "Palatino")
216
217;;What font would you like for mono-seq?
218(define %mono-font-family%
219 "Courier New")
220
221;;If the base fontsize is 10pt, and '%hsize-bump-factor%' is
222;; 1.2, hsize 1 is 12pt, hsize 2 is 14.4pt, hsize 3 is 17.28pt, etc
223(define %hsize-bump-factor%
224 1.1)
225
226;;What size do you want the body fonts?
227(define %bf-size%
228 (case %visual-acuity%
229 (("tiny") 8pt)
230 (("normal") 10pt)
231 (("presbyopic") 12pt)
232 (("large-type") 24pt)))
233
234(define-unit em %bf-size%)
235
236;;======================================
237;;Margins
238;;======================================
239
240(define %left-right-margin% 6pi)
241
242;;How much indentation for the body?
243(define %body-start-indent%
244 4pi)
245
246;;How big is the left margin? (relative to physical page)
247(define %left-margin%
248 8pi) ;white-paper-column
249
250;;How big is the right margin? (relative to physical page)
251(define %right-margin%
252 8pi) ;white-paper-column
253
254;;How big do you want the margin at the top?
255(define %top-margin%
256(if (equal? %visual-acuity% "large-type")
257 7.5pi
258 6pi))
259
260;;How big do you want the margin at the bottom?
261(define %bottom-margin%
262 (if (equal? %visual-acuity% "large-type")
263 7.5pi
264 5pi))
265
266;;Define the text width. (Change the elements in the formula rather
267;;than the formula itself)
268;(define %text-width% (- %page-width% (* %left-right-margin% 2)))
269(define %text-width% (- %page-width% (+ %left-margin% %right-margin%)))
270
271;;Define the body width. (Change the elements in the formula rather
272;;than the formula itself)
273(define %body-width%
274 (- %text-width% %body-start-indent%))
275
276;;Define distance between paragraphs
277(define %para-sep%
278 (/ %bf-size% 2.0))
279
280;;Define distance between block elements (figures, tables, etc.).
281(define %block-sep%
282 (* %para-sep% 2.0))
283
284;;Indent block elements?
285(define %block-start-indent%
286 0pt)
287;0pt
288
289;;======================================
290;;Admon Graphics
291;;======================================
292
293;;Do you want admon graohics on?
294(define %admon-graphics%
295 #f)
296
297;;Where are the admon graphics?
298(define %admon-graphics-path%
299 "../images/")
300
301;;======================================
302;;Quadding
303;;======================================
304
305;;What quadding do you want by default; start, center, justify, or end?
306(define %default-quadding%
307 'justify)
308
309;;What quadding for component titles(Chapter, Appendix, etc)?
310(define %component-title-quadding%
311 'start)
312
313;;What quadding for section titles?
314(define %section-title-quadding%
315 'start)
316
317;;What quadding for section sub-titles?
318(define %section-subtitle-quadding%
319 'start)
320
321;;What quadding for article title?
322(define %article-title-quadding%
323 'center)
324
325;;What quadding for article sub-titles?
326(define %article-subtitle-quadding%
327 'center)
328
329;;What quadding for division subtitles?
330(define %division-subtitle-quadding%
331 'start)
332
333;;What quadding for component subtitles?
334(define %component-subtitle-quadding%
335 'start)
336
337
338
339
340;;======================================
341;;Paper Options
342;;======================================
343
344;;What size paper do you need? A4, USletter, USlandscape, or RedHat?
345(define %paper-type%
346 "USletter")
347
348;;Now define those paper types' width
349(define %page-width%
350 (case %paper-type%
351 (("A4") 210mm)
352 (("USletter") 8.5in)
353 (("USlandscape") 11in)))
354
355;;Now define those paper types' height
356(define %page-height%
357 (case %paper-type%
358 (("A4") 297mm)
359 (("USletter") 11in)
360 (("USlandscape") 8.5in)))
361
362;;======================================
363;;Functions
364;;======================================
365
366(define (OLSTEP)
367 (case
368 (modulo (length (hierarchical-number-recursive "ORDEREDLIST")) 4)
369 ((1) 1.2em)
370 ((2) 1.2em)
371 ((3) 1.6em)
372 ((0) 1.4em)))
373
374(define (ILSTEP) 1.0em)
375
376(define (PROCSTEP ilvl)
377 (if (> ilvl 1) 1.8em 1.4em))
378
379(define (PROCWID ilvl)
380 (if (> ilvl 1) 1.8em 1.4em))
381
382
383(define ($comptitle$)
384 (make paragraph
385 font-family-name: %title-font-family%
386 font-weight: 'bold
387 font-size: (HSIZE 2)
388 line-spacing: (* (HSIZE 2) %line-spacing-factor%)
389 space-before: (* (HSIZE 2) %head-before-factor%)
390 space-after: (* (HSIZE 2) %head-after-factor%)
391 start-indent: 0pt
392 first-line-start-indent: 0pt
393 quadding: 'start
394 keep-with-next?: #t
395 (process-children-trim)))
396
397;;Callouts are confusing in Postscript... fix them.
398(define %callout-fancy-bug%
399 #f)
400
401
402;;By default perils are centered and dropped into a box with a really
403;;big border - I have simply decreased the border thickness -
404;;unfortunately it takes all this to do it - sigh.
405(define ($peril$)
406 (let* ((title (select-elements
407 (children (current-node)) (normalize "title")))
408 (has-title (not (node-list-empty? title)))
409 (adm-title (if has-title
410 (make sequence
411 (with-mode title-sosofo-mode
412 (process-node-list (node-list-first title))))
413 (literal
414 (gentext-element-name
415 (current-node)))))
416 (hs (HSIZE 2)))
417 (if %admon-graphics%
418 ($graphical-admonition$)
419 (make display-group
420 space-before: %block-sep%
421 space-after: %block-sep%
422 font-family-name: %admon-font-family%
423 font-size: (- %bf-size% 1pt)
424 font-weight: 'medium
425 font-posture: 'upright
426 line-spacing: (* (- %bf-size% 1pt) %line-spacing-factor%)
427 (make box
428 display?: #t
429 box-type: 'border
430 line-thickness: .5pt
431 start-indent: (+ (inherited-start-indent) (* 2 (ILSTEP)) 2pt)
432 end-indent: (inherited-end-indent)
433 (make paragraph
434 space-before: %para-sep%
435 space-after: %para-sep%
436 start-indent: 1em
437 end-indent: 1em
438 font-family-name: %title-font-family%
439 font-weight: 'bold
440 font-size: hs
441 line-spacing: (* hs %line-spacing-factor%)
442 quadding: 'center
443 keep-with-next?: #t
444 adm-title)
445 (process-children))))))
446
447
448;;======================================
449;;Non-printing Elements
450;;======================================
451(element TITLEABBREV (empty-sosofo))
452(element SUBTITLE (empty-sosofo))
453(element SETINFO (empty-sosofo))
454(element BOOKINFO (empty-sosofo))
455(element BIBLIOENTRY (empty-sosofo))
456(element BIBLIOMISC (empty-sosofo))
457(element BOOKBIBLIO (empty-sosofo))
458(element SERIESINFO (empty-sosofo))
459(element DOCINFO (empty-sosofo))
460(element ARTHEADER (empty-sosofo))
461;;(element ADDRESS (empty-sosofo))
462
463;;Show comment element?
464(define %show-comments%
465 #t)
466
467;;======================================
468;;Formalpara titles
469;;======================================
470
471
472;;Change the way Formal Paragraph titles are displayed. The commented
473;;out section will run the titles in the paragraphs.
474(element (formalpara title)
475 ;(make sequence
476 ;font-weight: 'bold
477 ;($runinhead$))
478 ($lowtitle$ 5 7))
479
480;;======================================
481;;Inlines
482;;======================================
483
484(element application ($mono-seq$))
485(element command ($bold-seq$))
486(element filename ($mono-seq$))
487(element function ($mono-seq$))
488(element guibutton ($bold-seq$))
489(element guiicon ($bold-seq$))
490(element guilabel ($italic-seq$))
491(element guimenu ($bold-seq$))
492(element guimenuitem ($bold-seq$))
493(element hardware ($bold-mono-seq$))
494(element keycap ($bold-seq$))
495(element literal ($mono-seq$))
496(element parameter ($italic-mono-seq$))
497(element prompt ($mono-seq$))
498(element symbol ($charseq$))
499(element emphasis ($italic-seq$))
500
501</style-specification-body>
502</style-specification>
503
504
505<!--
506;;===========================================================================
507;; HTML
508;;===========================================================================
509-->
510
511<style-specification id="html" use="docbook">
512<style-specification-body>
513
514;; this is necessary because right now jadetex does not understand
515;; symbolic entities, whereas things work well with numeric entities.
516(declare-characteristic preserve-sdata?
517 "UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
518 #f)
519
520
521;;=========================
522;;Header HTML 4.0.1
523;;=========================
524
525(define %html-pubid% "-//W3C//DTD HTML 4.01//EN")
526
527;;=========================
528;;Common Stuff
529;;=========================
530
531;;Should there be a link to the legalnotice?
532(define %generate-legalnotice-link%
533 #t)
534
535;;What graphics extensions allowed?
536(define %graphic-extensions%
537'("gif" "png" "jpg" "jpeg" "tif" "tiff" "eps" "epsf" ))
538
539;;What is the default extension for images?
540(define %graphic-default-extension% "png")
541
542;;Use element ids as filenames?
543(define %use-id-as-filename%
3f353bae 544 #f)
0597934f
AF
545
546
547;;=========================
548;;Book Stuff
549;;=========================
550
551;;Do you want a TOC for Books?
552(define %generate-book-toc%
553 #t)
554
555;;What depth should the TOC generate?
556;;!Only top level of appendixes!
557(define (toc-depth nd)
558 (if (string=? (gi nd) (normalize "book"))
559 3
560 (if (string=? (gi nd) (normalize "appendix"))
561 0
562 1)))
563
564;;What elements should have an LOT?
565(define ($generate-book-lot-list$)
566 (list (normalize "equation")))
567
568;;Do you want a title page for your Book?
569(define %generate-book-titlepage%
570#t)
571
572;;=========================
573;;Part Stuff
574;;=========================
575
576;;Should parts have TOCs?
577(define %generate-part-toc%
578 #t)
579
580;;Should part TOCs be on their titlepages?
581(define %generate-part-toc-on-titlepage%
582 #t)
583
584;;Do you want a title page for your part?
585(define %generate-part-titlepage%
586 #t)
587
588;;Should the Part intro be on the part title page?
589(define %generate-partintro-on-titlepage%
590 #t)
591
592(define %para-autolabel%
593 #t)
594
595;;========================
596;;Chapter Stuff
597;;=======================
598
599;;No TOCs in Chapters
600(define $generate-chapter-toc$
601 (lambda ()
602 #f))
603
604;;=========================
605;;Navigation
606;;=========================
607
608;;Should there be navigation at top?
609(define %header-navigation%
610 #t)
611
612;;Should there be navigation at bottom?
613(define %footer-navigation%
614 #t)
615
616;;Use tables to create the navigation?
617(define %gentext-nav-use-tables%
618 #t)
619
620;;If tables are used for navigation,
621;;how wide should they be?
622(define %gentext-nav-tblwidth%
623"100%")
624
625;;Add arrows to navigation (comment these
626;;out if you want admon graphics here)
627(define (gentext-en-nav-prev prev)
628 (make sequence (literal "<<< Previous")))
629
630;;Add arrows to navigation (comment these
631;;out if you want admon graphics here)
632(define (gentext-en-nav-next next)
633 (make sequence (literal "Next >>>")))
634
635
636;;=========================
637;;Tables and Lists
638;;=========================
639
640;;Should Variable lists be tables?
641(define %always-format-variablelist-as-table%
642 #f)
643
644;;What is the length of the 'Term' in a variablelist?
645(define %default-variablelist-termlength%
646 20)
647
648;;When true | If the terms are shorter than
649;;the termlength above then the variablelist
650;;will be formatted as a table.
651(define %may-format-variablelist-as-table%
652#f)
653
654;;This overrides the tgroup definition
655;;(copied from 1.20, dbtable.dsl).
656;;It changes the table background color,
657;;cell spacing and cell padding.
658;;This is based on gtk-doc additions - thanks!
659
660(element tgroup
661 (let* ((wrapper (parent (current-node)))
662 (frameattr (attribute-string (normalize "frame") wrapper))
663 (pgwide (attribute-string (normalize "pgwide") wrapper))
664 (footnotes (select-elements (descendants (current-node))
665 (normalize "footnote")))
666 (border (if (equal? frameattr (normalize "none"))
667 '(("BORDER" "0"))
668 '(("BORDER" "1"))))
669 (bgcolor '(("BGCOLOR" "#E0E0E0")))
670 (width (if (equal? pgwide "1")
671 (list (list "WIDTH" ($table-width$)))
672 '()))
673 (head (select-elements (children (current-node)) (normalize "thead")))
674 (body (select-elements (children (current-node)) (normalize "tbody")))
675 (feet (select-elements (children (current-node)) (normalize "tfoot"))))
676 (make element gi: "TABLE"
677 attributes: (append
678 border
679 width
680 bgcolor
681 '(("CELLSPACING" "0"))
682 '(("CELLPADDING" "4"))
683 (if %cals-table-class%
684 (list (list "CLASS" %cals-table-class%))
685 '()))
686 (process-node-list head)
687 (process-node-list body)
688 (process-node-list feet)
689 (make-table-endnotes))))
690
691;;===================
692;; Admon Graphics
693;;===================
694
695;;Should Admon Graphics be used?
696(define %admon-graphics%
697 #t)
698
699;;Where are those admon graphics?
700(define %admon-graphics-path%
701 "./stylesheet-images/")
702
703;;Given an admonition node, returns the
704;;name of the graphic that should
705;;be used for that admonition.
706;;Define admon graphics usage
707;;NOTE these will change to pngs
708;;soon in the GDP when Tigert gets
709;;the time to make special ones for us!
710(define ($admon-graphic$ #!optional (nd (current-node)))
711 (cond ((equal? (gi nd) (normalize "tip"))
712 (string-append %admon-graphics-path% "tip.gif"))
713 ((equal? (gi nd) (normalize "note"))
714 (string-append %admon-graphics-path% "note.gif"))
715 ((equal? (gi nd) (normalize "important"))
716 (string-append %admon-graphics-path% "important.gif"))
717 ((equal? (gi nd) (normalize "caution"))
718 (string-append %admon-graphics-path% "caution.gif"))
719 ((equal? (gi nd) (normalize "warning"))
720 (string-append %admon-graphics-path% "warning.gif"))
721 (else (error (string-append (gi nd) " is not an admonition.")))))
722
723;;Given an admonition node, returns
724;;the width of the graphic that will
725;;be used for that admonition.
726(define ($admon-graphic-width$ #!optional (nd (current-node)))
727 "25")
728
729;;=========================
730;;Labels
731;;=========================
732
733;;Enumerate Chapters?
734(define %chapter-autolabel%
735 #f)
736
737;;Enumerate Sections?
738(define %section-autolabel%
739 #f)
740
741;;=========================
742;; HTML Attributes
743;;=========================
744
745;;What attributes should be hung off
746;;of 'body'?
747(define %body-attr%
748 (list
749 (list "BGCOLOR" "#FFFFFF")
750 (list "TEXT" "#000000")
751 (list "LINK" "#0000FF")
752 (list "VLINK" "#840084")
753 (list "ALINK" "#0000FF")))
754
755;;Default extension for filenames?
756(define %html-ext%
757 ".html")
758
759;;Use a CSS stylesheet?
760;;Which one? Should work on
761;;this one soon
762;(define %stylesheet%
763; "./gnome.css")
764
765;;Use it
766;(define %stylesheet-type%
767;"text/css")
768
769
770;;========================
771;;Title Pages for Books
772;;=======================
773
774(define (book-titlepage-recto-elements)
775 (list (normalize "title")
776 (normalize "subtitle")
777 (normalize "corpauthor")
778 (normalize "authorgroup")
779 (normalize "author")
780 (normalize "orgname")
781 (normalize "graphic")
782 (normalize "copyright")
783 (normalize "legalnotice")
784 (normalize "releaseinfo")
785 (normalize "publisher")
786 (normalize "isbn")))
787
788;;========================
789;;Title Pages for Articles
790;;========================
791
792;;Should Articles have a TOC?
793(define %generate-article-toc%
794 #t)
795
796;;Which elements should appear
797;;on title page?
798(define (article-titlepage-recto-elements)
799 (list (normalize "title")
800 (normalize "subtitle")
801 (normalize "authorgroup")
802 (normalize "copyright")
803 (normalize "legalnotice")
804 (normalize "abstract")))
805
806;;How should elements on title page look?
807(mode article-titlepage-recto-mode
808
809;;Author name is too big - change it!
810 (element author
811 (let ((author-name (author-string))
812 (author-affil (select-elements (children (current-node))
813 (normalize "affiliation"))))
814 (make sequence
815 (make element gi: "H4"
816 attributes: (list (list "CLASS" (gi)))
817 (make element gi: "A"
818 attributes: (list (list "NAME" (element-id)))
819 (literal author-name)))
820 (process-node-list author-affil))))
821
822;;Address?
823 (element address
824 (make sequence
825 (make element gi: "DIV"
826 attributes: (list (list "CLASS" (gi)))
827 (process-children))))
828
829;;Get rid of spam-producing "mailto" links
830;;and get rid of email indentation
831 (element email
832 (make sequence
833 (make element gi: "DIV"
834 attributes: (list (list "CLASS" (gi)))
835 (process-children))))
836
837;;Point Abstract to custom table function
838;;(See $dcm-abstract-object$ below. For default
839;;use $semiformal-object$
840 (element abstract
841 (make element gi: "DIV"
842 ($dcm-abstract-object$)))
843
844 (element (abstract title) (empty-sosofo))
845
846;;subtitle sizing
847(element subtitle
848 (make element gi: "H4"
849 attributes: (list (list "CLASS" (gi)))
850 (process-children-trim))))
851
852;;=================
853;; INLINES
854;;=================
855
856;Define my own series of fonts for various elements
857(element application ($mono-seq$))
858(element command ($bold-seq$))
859(element filename ($mono-seq$))
860(element function ($mono-seq$))
861(element guibutton ($bold-seq$))
862(element guiicon ($bold-seq$))
863(element guilabel ($bold-mono-seq$))
864(element guimenu ($bold-seq$))
865(element guimenuitem ($bold-seq$))
866(element guisubmenu ($bold-seq$))
867(element hardware ($bold-mono-seq$))
868(element keycap ($bold-seq$))
869(element literal ($mono-seq$))
870(element parameter ($italic-mono-seq$))
871(element prompt ($mono-seq$))
872(element symbol ($charseq$))
873(element emphasis ($italic-seq$))
874
875;;Show comment element?
876(define %show-comments%
877 #t)
878
879;;====================
880;; General Formatting
881;;====================
882
883;;Formal Paras are ugly by default!
884;;Make the title run in - otherwise
885;;you should use a sect!
886(element formalpara
887 (make element gi: "DIV"
888 attributes: (list
889 (list "CLASS" (gi)))
890 (make element gi: "P"
891 (process-children))))
892
893;;This is the old one
894;(element (formalpara title)
895;($lowtitle$ 5))
896
897;;This is the new one
898(element (formalpara title)
899 (make element gi: "B"
900 ($runinhead$)))
901
902;;Make captions come after objects in the list
903(define ($object-titles-after$)
904 (list (normalize "figure")))
905
906
907;; Handle qanda labelling with Q: A:
908(define (qanda-defaultlabel)
909 (normalize "qanda"))
910
911;;From FreeBSD Sheets (Thanks!) Display Q and A in bigger bolder fonts
912
913(element question
914 (let* ((chlist (children (current-node)))
915 (firstch (node-list-first chlist))
916 (restch (node-list-rest chlist)))
917 (make element gi: "DIV"
918 attributes: (list (list "CLASS" (gi)))
919 (make element gi: "P"
920 (make element gi: "BIG"
921 (make element gi: "A"
922 attributes: (list
923 (list "NAME" (element-id)))
924 (empty-sosofo))
925 (make element gi: "B"
926 (literal (question-answer-label
927 (current-node)) " ")
928 (process-node-list (children firstch)))))
929 (process-node-list restch))))
930
931;;Literal Elements
932
933;;Indent Literal layouts?
934(define %indent-literallayout-lines%
935 #f)
936
937;;Indent Programlistings?
938(define %indent-programlisting-lines%
939 #f)
940
941;;Number lines in Programlistings?
942(define %number-programlisting-lines%
943 #f)
944
945;;Should verbatim items be 'shaded' with a table?
946(define %shade-verbatim%
947 #t)
948
949;;Define shade-verbatim attributes
950(define ($shade-verbatim-attr$)
951 (list
952 (list "BORDER" "0")
953 (list "BGCOLOR" "#E0E0E0")
954 (list "WIDTH" ($table-width$))))
955
956;;===================
957;; Entities
958;;===================
959
960;;Netscape doesn't handle trademark
961;;entity right at all!! Get rid of it.
962;;Make a TM in a superscipt font.
963(element trademark
964 (make sequence
965 (process-children)
966 (make element gi: "sup"
967 (literal "TM"))))
968
969
970;;===================
971;; New Definitions
972;;==================
973
974(define ($dcm-abstract-object$)
975 (make element gi: "TABLE"
976 attributes: '(("BORDER" "0")
977 ("BGCOLOR" "#E0E0E0")
978 ("WIDTH" "50%")
979 ("CELLSPACING" "0")
980 ("CELLPADDING" "0")
981 ("ALIGN" "CENTER"))
982 (make element gi: "TR"
983 (make element gi: "TD"
984 attributes: '(("VALIGN" "TOP"))
985 (make element gi: "B"
986 (literal "Abstract"))))
987 (make element gi: "TR"
988 (make element gi: "TD"
989 attributes: '(("VALIGN" "TOP"))
990 (process-children)))))
991
992;;Redefine Titlepage Separator on Articles
993
994(define (article-titlepage-separator side)
995 (make empty-element gi: "HR"
996 attributes: '(("WIDTH" "75%")
997 ("ALIGN" "CENTER")
998 ("COLOR" "#000000")
999 ("SIZE" "1"))))
1000
1001
1002
1003
1004(define (chunk-element-list)
1005 (list (normalize "preface")
1006 (normalize "chapter")
1007 (normalize "appendix")
1008 (normalize "article")
1009 (normalize "glossary")
1010 (normalize "bibliography")
1011 (normalize "index")
1012 (normalize "colophon")
1013 (normalize "setindex")
1014 (normalize "reference")
1015 (normalize "refentry")
1016 (normalize "part")
1017 (normalize "sect1")
1018 (normalize "section")
1019 (normalize "book") ;; just in case nothing else matches...
1020 (normalize "set") ;; sets are definitely chunks...
1021 ))
1022
1023;;Do you want Callouts to be graphics?
1024(define %callout-graphics%
1025#f)
1026
1027
1028;;Make Callout graphics PNGs
1029(define %callout-graphics-path%
1030 "./imagelib/callouts/")
1031
1032 ;; Redefine $callout-bug$ to support the %callout-graphic-ext%
1033 ;; variable.
1034 (define ($callout-bug$ conumber)
1035 (let ((number (if conumber (format-number conumber "1") "0")))
1036 (if conumber
1037 (if %callout-graphics%
1038 (if (<= conumber %callout-graphics-number-limit%)
1039 (make empty-element gi: "IMG"
1040 attributes: (list (list "SRC"
1041 (root-rel-path
1042 (string-append
1043 %callout-graphics-path%
1044 number
1045 %callout-graphics-ext%)))
1046 (list "HSPACE" "0")
1047 (list "VSPACE" "0")
1048 (list "BORDER" "0")
1049 (list "ALT"
1050 (string-append
1051 "(" number ")"))))
1052 (make element gi: "B"
1053 (literal "(" (format-number conumber "1") ")")))
1054 (make element gi: "B"
1055 (literal "(" (format-number conumber "1") ")")))
1056 (make element gi: "B"
1057 (literal "(??)")))))
1058
1059</style-specification-body>
1060</style-specification>
1061
1062<external-specification id="docbook" document="docbook.dsl">
1063
1064</style-sheet>
This page took 0.240498 seconds and 4 git commands to generate.