bug-fix test-driving input
[users/jgh/exim.git] / doc / doc-docbook / MyStyle.xsl
1 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
2
3 <!-- This file contains changes to the Docbook XML stylesheets that I want to
4 have happen in all forms of output. It is imported by all the drivers. -->
5
6
7 <!-- Set body font size -->
8
9 <xsl:param name="body.font.master">11</xsl:param>
10
11 <!-- Set no relative indent for titles and body -->
12
13 <xsl:param name="body.start.indent">0pt</xsl:param>
14 <xsl:param name="title.margin.left">0pt</xsl:param>
15
16
17 <!-- This removes the dot at the end of run-in titles, which we use
18 for formal paragraphs for command line options. -->
19
20 <xsl:param name="runinhead.default.title.end.punct" select="' '"></xsl:param>
21
22
23 <!-- Without this setting, variable lists get misformatted in the FO case,
24 causing overprinting. Maybe with a later release of fop the need to do this
25 might go away. -->
26
27 <xsl:param name="variablelist.as.blocks" select="1"></xsl:param>
28
29
30 <!--
31 Cause sections to be numbered, and to include the outer component number.
32 -->
33
34 <xsl:param name="section.autolabel">1</xsl:param>
35 <xsl:param name="section.label.includes.component.label">1</xsl:param>
36
37
38 <!--
39 Specify TOCs only for top-level things. No TOCs for components (e.g. chapters)
40 -->
41
42 <xsl:param name="generate.toc">
43 article   toc,title
44 book      toc,title
45 </xsl:param>
46
47
48 <!-- Turn off the poor hyphenation -->
49
50 <xsl:param name="hyphenate">false</xsl:param>
51
52
53 <!-- Generate only numbers, no titles, in cross references. -->
54
55 <xsl:param name="xref.with.number.and.title">0</xsl:param>
56
57
58 <!-- Output variable names in italic rather than the default monospace. -->
59
60 <xsl:template match="varname">
61   <xsl:call-template name="inline.italicseq"/>
62 </xsl:template>
63
64
65 <!-- Output file names in italic rather than the default monospace. -->
66
67 <xsl:template match="filename">
68   <xsl:call-template name="inline.italicseq"/>
69 </xsl:template>
70
71
72 <!-- Output function names in italic rather than the default boldface. -->
73
74 <xsl:template match="function">
75   <xsl:call-template name="inline.italicseq"/>
76 </xsl:template>
77
78
79 <!-- Output options in bold rather than the default monospace. -->
80
81 <xsl:template match="option">
82   <xsl:call-template name="inline.boldseq"/>
83 </xsl:template>
84
85
86 <!--
87 Make a number of more detailed changes to the style that involve more than just
88 fiddling with a parameter.
89 -->
90
91 <xsl:param name="local.l10n.xml" select="document('')"/>
92 <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
93   <l:l10n language="en">
94
95     <!-- Turn the text "Revision History" into nothing, because we only have
96     the info for the latest revision in the file. -->
97
98     <l:gentext key="revhistory" text=""/>
99     <l:gentext key="RevHistory" text=""/>
100
101     <!-- The default (as modified above) gives us "Chapter xxx" or "Section
102     xxx", with a capital letter at the start. So we have to make an more
103     complicated explicit change to give just the number. -->
104
105     <l:context name="xref-number">
106       <l:template name="chapter" text="%n"/>
107       <l:template name="sect1" text="%n"/>
108       <l:template name="sect2" text="%n"/>
109       <l:template name="section" text="%n"/>
110     </l:context>
111
112     <!-- I think that having a trailing dot after section numbers looks fussy,
113     whereas you need it after just the digits of a chapter number. In both
114     cases we want to get rid of the word "chapter" or "section". -->
115
116     <l:context name="title-numbered">
117       <l:template name="chapter" text="%n.&#160;%t"/>
118       <l:template name="sect1" text="%n&#160;%t"/>
119       <l:template name="sect2" text="%n&#160;%t"/>
120       <l:template name="section" text="%n&#160;%t"/>
121     </l:context>
122
123   </l:l10n>
124 </l:i18n>
125
126
127 <!-- The default has far too much space on either side of displays and lists -->
128
129 <xsl:attribute-set name="verbatim.properties">
130   <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
131   <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
132   <xsl:attribute name="space-before.maximum">0em</xsl:attribute>
133   <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
134   <xsl:attribute name="space-after.optimum">0em</xsl:attribute>
135   <xsl:attribute name="space-after.maximum">0em</xsl:attribute>
136   <xsl:attribute name="start-indent">0.3in</xsl:attribute>
137 </xsl:attribute-set>
138
139 <xsl:attribute-set name="list.block.spacing">
140   <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
141   <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
142   <xsl:attribute name="space-before.maximum">0em</xsl:attribute>
143   <xsl:attribute name="space-after.optimum">0em</xsl:attribute>
144   <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
145   <xsl:attribute name="space-after.maximum">0em</xsl:attribute>
146 </xsl:attribute-set>
147
148 <!-- List item spacing -->
149
150 <xsl:attribute-set name="list.item.spacing">
151   <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
152   <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
153   <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
154 </xsl:attribute-set>
155
156 <!-- Reduce the space after informal tables -->
157
158 <xsl:attribute-set name="informal.object.properties">
159   <xsl:attribute name="space-before.minimum">1em</xsl:attribute>
160   <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
161   <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
162   <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
163   <xsl:attribute name="space-after.optimum">0em</xsl:attribute>
164   <xsl:attribute name="space-after.maximum">0em</xsl:attribute>
165 </xsl:attribute-set>
166
167 <!-- Reduce the space after section titles. 0 is not small enough. -->
168
169 <xsl:attribute-set name="section.title.level1.properties">
170   <xsl:attribute name="space-after.minimum">-6pt</xsl:attribute>
171   <xsl:attribute name="space-after.optimum">-4pt</xsl:attribute>
172   <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
173 </xsl:attribute-set>
174
175 <!-- Slightly reduce the space before paragraphs -->
176
177 <xsl:attribute-set name="normal.para.spacing">
178   <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
179   <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
180   <xsl:attribute name="space-before.maximum">1.0em</xsl:attribute>
181 </xsl:attribute-set>
182
183
184 <xsl:attribute-set name="table.cell.padding">
185   <xsl:attribute name="padding-left">2pt</xsl:attribute>
186   <xsl:attribute name="padding-right">2pt</xsl:attribute>
187   <xsl:attribute name="padding-top">0pt</xsl:attribute>
188   <xsl:attribute name="padding-bottom">0pt</xsl:attribute>
189 </xsl:attribute-set>
190
191
192
193 <!-- Turn off page header rule -->
194 <xsl:param name="header.rule" select="0"></xsl:param>
195
196 <!-- Remove page header content -->
197 <xsl:template name="header.content"/>
198
199 <!-- Remove space for page header -->
200 <xsl:param name="body.margin.top" select="'0in'"></xsl:param>
201 <xsl:param name="region.before.extent" select="'0in'"></xsl:param>
202
203 <!-- Turn off page footer rule -->
204 <xsl:param name="footer.rule" select="0"></xsl:param>
205
206
207 </xsl:stylesheet>