1
;; $Id: dbrfntry.dsl,v 1.3 2003/01/15 08:24:23 adicarlo Exp $
3
;; This file is part of the Modular DocBook Stylesheet distribution.
4
;; See ../README or http://docbook.sourceforge.net/projects/dsssl/
7
;; =========================== REFERENCE PAGES ==========================
9
;;(element reference ($component$))
12
(let* ((refinfo (select-elements (children (current-node))
13
(normalize "docinfo")))
14
(refintro (select-elements (children (current-node))
15
(normalize "partintro")))
16
(nl (titlepage-info-elements
19
(if %generate-partintro-on-titlepage%
23
(if %generate-reference-titlepage%
25
(reference-titlepage nl 'recto)
26
(reference-titlepage nl 'verso))
29
(if (not (generate-toc-in-front))
33
(if (and %generate-reference-toc%
34
(not %generate-reference-toc-on-titlepage%))
35
(make simple-page-sequence
36
page-n-columns: %page-n-columns%
37
page-number-restart?: #t
38
page-number-format: ($page-number-format$ (normalize "toc"))
39
use: default-text-style
40
left-header: ($left-header$ (normalize "toc"))
41
center-header: ($center-header$ (normalize "toc"))
42
right-header: ($right-header$ (normalize "toc"))
43
left-footer: ($left-footer$ (normalize "toc"))
44
center-footer: ($center-footer$ (normalize "toc"))
45
right-footer: ($right-footer$ (normalize "toc"))
46
input-whitespace-treatment: 'collapse
47
(build-toc (current-node)
48
(toc-depth (current-node))))
51
(if (and (not (node-list-empty? refintro))
52
(not %generate-partintro-on-titlepage%))
53
($process-partintro$ refintro #t)
56
(if (generate-toc-in-front)
57
(if %refentry-new-page%
59
(make simple-page-sequence
60
page-n-columns: %page-n-columns%
61
page-number-format: ($page-number-format$)
62
use: default-text-style
63
left-header: ($left-header$)
64
center-header: ($center-header$)
65
right-header: ($right-header$)
66
left-footer: ($left-footer$)
67
center-footer: ($center-footer$)
68
right-footer: ($right-footer$)
69
input-whitespace-treatment: 'collapse
70
quadding: %default-quadding%
74
;; If each RefEntry begins on a new page, this title is going to wind
75
;; up on its own page, too, so make it a divtitlepage instead. Otherwise,
76
;; just let it be a component title.
77
(element (reference title) (empty-sosofo))
78
;; (if %refentry-new-page%
85
(if (or %refentry-new-page%
86
(node-list=? (current-node) (sgml-root-element)))
87
(make simple-page-sequence
88
page-n-columns: %page-n-columns%
89
page-number-format: ($page-number-format$)
90
use: default-text-style
91
left-header: ($left-header$)
92
center-header: ($center-header$)
93
right-header: ($right-header$)
94
left-footer: ($left-footer$)
95
center-footer: ($center-footer$)
96
right-footer: ($right-footer$)
97
input-whitespace-treatment: 'collapse
98
quadding: %default-quadding%
103
($block-container$)))
106
(define ($refentry-title$)
107
(let* ((refmeta (select-elements (children (current-node))
108
(normalize "refmeta")))
109
(refentrytitle (select-elements (children refmeta)
110
(normalize "refentrytitle")))
111
(refnamediv (select-elements (children (current-node))
112
(normalize "refnamediv")))
113
(refdescriptor (select-elements (children refnamediv)
114
(normalize "refdescriptor")))
115
(refname (select-elements (children refnamediv)
116
(normalize "refname")))
117
(title (if (node-list-empty? refentrytitle)
118
(if (node-list-empty? refdescriptor)
119
(node-list-first refname)
122
(slevel (SECTLEVEL)) ;; the true level in the section hierarchy
123
(hlevel (if (> slevel 2) 2 slevel)) ;; limit to sect2 equiv.
124
(hs (HSIZE (- 4 hlevel))))
126
font-family-name: %title-font-family%
129
line-spacing: (* hs %line-spacing-factor%)
130
space-before: (* hs %head-before-factor%)
131
space-after: (* hs %head-after-factor%)
132
start-indent: %body-start-indent%
133
first-line-start-indent: (- %body-start-indent%)
135
heading-level: (if %generate-heading-level% 2 0)
137
(process-node-list (children title)))))
138
;; nwalsh, this is wrong, 29 July 1999
139
; (if %refentry-function%
141
; (literal "\no-break-space;")
142
; (process-first-descendant (normalize "manvolnum")))
145
(element refmeta (empty-sosofo)) ;; handled by $refentry-title$
148
(if %refentry-xref-manvolnum%
155
(element refmiscinfo (empty-sosofo))
157
(element refentrytitle ($charseq$))
161
space-before: %para-sep%
162
start-indent: %body-start-indent%
168
(if (and %refentry-generate-name% (first-sibling? (current-node)))
169
($lowtitlewithsosofo$ 1 3 (literal (gentext-element-name
174
font-family-name: %refentry-name-font-family%
176
(if (last-sibling? (current-node))
178
(literal (gentext-intra-label-sep (gi (current-node))))))))
182
font-family-name: %body-font-family%
184
(literal " \em-dash ")
186
(make paragraph-break)))
188
(element refdescriptor (empty-sosofo))
191
(let ((role (attribute-string "role")))
193
space-before: %para-sep%
194
start-indent: %body-start-indent%
200
(string-append role ": ")
202
(process-children-trim))))
204
(element refsynopsisdiv ($section$))
206
(element (refsynopsisdiv title) (empty-sosofo))
208
(element refsect1 ($section$))
209
(element (refsect1 title) (empty-sosofo))
210
(element refsect2 ($section$))
211
(element (refsect2 title) (empty-sosofo))
212
(element refsect3 ($section$))
213
(element (refsect3 title) (empty-sosofo))