| 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. %t"/> |
| 118 | <l:template name="sect1" text="%n %t"/> |
| 119 | <l:template name="sect2" text="%n %t"/> |
| 120 | <l:template name="section" text="%n %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> |