1 <!-- $Cambridge: exim/doc/doc-docbook/MyStyle.xsl,v 1.3 2006/02/01 11:01:01 ph10 Exp $ -->
3 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
5 <!-- This file contains changes to the Docbook XML stylesheets that I want to
6 have happen in all forms of output. It is imported by all the drivers. -->
9 <!-- Set body font size -->
11 <xsl:param name="body.font.master">11</xsl:param>
13 <!-- Set no relative indent for titles and body -->
15 <xsl:param name="body.start.indent">0pt</xsl:param>
18 <!-- This removes the dot at the end of run-in titles, which we use
19 for formal paragraphs for command line options. -->
21 <xsl:param name="runinhead.default.title.end.punct" select="' '"></xsl:param>
24 <!-- Without this setting, variable lists get misformatted in the FO case,
25 causing overprinting. Maybe with a later release of fop the need to do this
28 <xsl:param name="variablelist.as.blocks" select="1"></xsl:param>
32 Cause sections to be numbered, and to include the outer component number.
35 <xsl:param name="section.autolabel">1</xsl:param>
36 <xsl:param name="section.label.includes.component.label">1</xsl:param>
40 Specify TOCs only for top-level things. No TOCs for components (e.g. chapters)
43 <xsl:param name="generate.toc">
49 <!-- Turn off the poor hyphenation -->
51 <xsl:param name="hyphenate">false</xsl:param>
54 <!-- Generate only numbers, no titles, in cross references. -->
56 <xsl:param name="xref.with.number.and.title">0</xsl:param>
59 <!-- Output variable names in italic rather than the default monospace. -->
61 <xsl:template match="varname">
62 <xsl:call-template name="inline.italicseq"/>
66 <!-- Output file names in italic rather than the default monospace. -->
68 <xsl:template match="filename">
69 <xsl:call-template name="inline.italicseq"/>
73 <!-- Output function names in italic rather than the default boldface. -->
75 <xsl:template match="function">
76 <xsl:call-template name="inline.italicseq"/>
80 <!-- Output options in bold rather than the default monospace. -->
82 <xsl:template match="option">
83 <xsl:call-template name="inline.boldseq"/>
88 Make a number of more detailed changes to the style that involve more than just
89 fiddling with a parameter.
92 <xsl:param name="local.l10n.xml" select="document('')"/>
93 <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
94 <l:l10n language="en">
96 <!-- Turn the text "Revision History" into nothing, because we only have
97 the info for the latest revision in the file. -->
99 <l:gentext key="revhistory" text=""/>
100 <l:gentext key="RevHistory" text=""/>
102 <!-- The default (as modified above) gives us "Chapter xxx" or "Section
103 xxx", with a capital letter at the start. So we have to make an more
104 complicated explicit change to give just the number. -->
106 <l:context name="xref-number">
107 <l:template name="chapter" text="%n"/>
108 <l:template name="sect1" text="%n"/>
109 <l:template name="sect2" text="%n"/>
110 <l:template name="section" text="%n"/>
113 <!-- I think that having a trailing dot after section numbers looks fussy,
114 whereas you need it after just the digits of a chapter number. In both
115 cases we want to get rid of the word "chapter" or "section". -->
117 <l:context name="title-numbered">
118 <l:template name="chapter" text="%n. %t"/>
119 <l:template name="sect1" text="%n %t"/>
120 <l:template name="sect2" text="%n %t"/>
121 <l:template name="section" text="%n %t"/>
128 <!-- The default has far too much space on either side of displays and lists -->
130 <xsl:attribute-set name="verbatim.properties">
131 <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
132 <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
133 <xsl:attribute name="space-before.maximum">0em</xsl:attribute>
134 <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
135 <xsl:attribute name="space-after.optimum">0em</xsl:attribute>
136 <xsl:attribute name="space-after.maximum">0em</xsl:attribute>
137 <xsl:attribute name="start-indent">0.3in</xsl:attribute>
140 <xsl:attribute-set name="list.block.spacing">
141 <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
142 <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
143 <xsl:attribute name="space-before.maximum">0em</xsl:attribute>
144 <xsl:attribute name="space-after.optimum">0em</xsl:attribute>
145 <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
146 <xsl:attribute name="space-after.maximum">0em</xsl:attribute>
149 <!-- List item spacing -->
151 <xsl:attribute-set name="list.item.spacing">
152 <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
153 <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
154 <xsl:attribute name="space-before.maximum">1em</xsl:attribute>
157 <!-- Reduce the space after informal tables -->
159 <xsl:attribute-set name="informal.object.properties">
160 <xsl:attribute name="space-before.minimum">1em</xsl:attribute>
161 <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
162 <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
163 <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
164 <xsl:attribute name="space-after.optimum">0em</xsl:attribute>
165 <xsl:attribute name="space-after.maximum">0em</xsl:attribute>
168 <!-- Reduce the space after section titles. 0 is not small enough. -->
170 <xsl:attribute-set name="section.title.level1.properties">
171 <xsl:attribute name="space-after.minimum">-6pt</xsl:attribute>
172 <xsl:attribute name="space-after.optimum">-4pt</xsl:attribute>
173 <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
176 <!-- Slightly reduce the space before paragraphs -->
178 <xsl:attribute-set name="normal.para.spacing">
179 <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
180 <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
181 <xsl:attribute name="space-before.maximum">1.0em</xsl:attribute>
185 <xsl:attribute-set name="table.cell.padding">
186 <xsl:attribute name="padding-left">2pt</xsl:attribute>
187 <xsl:attribute name="padding-right">2pt</xsl:attribute>
188 <xsl:attribute name="padding-top">0pt</xsl:attribute>
189 <xsl:attribute name="padding-bottom">0pt</xsl:attribute>
194 <!-- Turn off page header rule -->
195 <xsl:param name="header.rule" select="0"></xsl:param>
197 <!-- Remove page header content -->
198 <xsl:template name="header.content"/>
200 <!-- Remove space for page header -->
201 <xsl:param name="body.margin.top" select="'0in'"></xsl:param>
202 <xsl:param name="region.before.extent" select="'0in'"></xsl:param>
204 <!-- Turn off page footer rule -->
205 <xsl:param name="footer.rule" select="0"></xsl:param>