doc: Place html book contents on left side of page with separate scrollbar
[fw/altos] / doc / am-fo.xsl
1 <!--
2   Generates single FO document from DocBook XML source using DocBook XSL
3   stylesheets.
4
5   See xsl-stylesheets/fo/param.xsl for all parameters.
6
7   NOTE: The URL reference to the current DocBook XSL stylesheets is
8   rewritten to point to the copy on the local disk drive by the XML catalog
9   rewrite directives so it doesn't need to go out to the Internet for the
10   stylesheets. This means you don't need to edit the <xsl:import> elements on
11   a machine by machine basis.
12 -->
13 <xsl:stylesheet version="1.0"
14                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
15                 xmlns:fo="http://www.w3.org/1999/XSL/Format">
16 <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
17 <xsl:import href="common.xsl"/>
18 <xsl:include href="titlepage.templates.xsl"/>
19 <xsl:include href="footer.templates.xsl"/>
20
21 <xsl:param name="ulink.show" select="0" />
22 <xsl:param name="ulink.footnotes" select="1"/>
23
24 <xsl:param name="fop1.extensions" select="1" />
25 <xsl:param name="variablelist.as.blocks" select="1" />
26
27 <xsl:param name="paper.type" select="'USletter'"/>
28
29 <xsl:param name="hyphenate">false</xsl:param>
30 <!-- justify, left or right -->
31 <xsl:param name="alignment">left</xsl:param>
32
33 <xsl:param name="body.font.family" select="'Open Sans Light,sans-serif'"/>
34 <xsl:param name="title.font.family" select="'Open Sans Light,sans-serif'"/>
35 <xsl:param name="monospace.font.family" select="'DejaVu Sans Mono,monospace'"/>
36 <xsl:param name="body.font.master">12</xsl:param>
37 <xsl:param name="body.font.size">
38  <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
39 </xsl:param>
40
41 <xsl:param name="body.margin.bottom" select="'0.5in'"/>
42 <xsl:param name="body.margin.top" select="'0.5in'"/>
43 <xsl:param name="bridgehead.in.toc" select="0"/>
44 <xsl:param name="footer.column.widths">10 1 1</xsl:param>
45
46 <!-- Default fetches image from Internet (long timeouts) -->
47 <xsl:param name="draft.watermark.image" select="''"/>
48
49 <!-- Line break -->
50 <xsl:template match="processing-instruction('asciidoc-br')">
51   <fo:block/>
52 </xsl:template>
53
54 <!-- Horizontal ruler -->
55 <xsl:template match="processing-instruction('asciidoc-hr')">
56   <fo:block space-after="1em">
57     <fo:leader leader-pattern="rule" rule-thickness="0.5pt"  rule-style="solid" leader-length.minimum="100%"/>
58   </fo:block>
59 </xsl:template>
60
61 <!-- Hard page break -->
62 <xsl:template match="processing-instruction('asciidoc-pagebreak')">
63    <fo:block break-after='page'/>
64 </xsl:template>
65
66 <!-- Sets title to body text indent -->
67 <xsl:param name="body.start.indent">
68   <xsl:choose>
69     <xsl:when test="$fop.extensions != 0">0pt</xsl:when>
70     <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
71     <xsl:otherwise>1pc</xsl:otherwise>
72   </xsl:choose>
73 </xsl:param>
74 <xsl:param name="title.margin.left">
75   <xsl:choose>
76     <xsl:when test="$fop.extensions != 0">-1pc</xsl:when>
77     <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
78     <xsl:otherwise>0pt</xsl:otherwise>
79   </xsl:choose>
80 </xsl:param>
81 <xsl:param name="page.margin.bottom" select="'0.25in'"/>
82 <xsl:param name="page.margin.inner">
83   <xsl:choose>
84     <xsl:when test="$double.sided != 0">0.75in</xsl:when>
85     <xsl:otherwise>0.75in</xsl:otherwise>
86   </xsl:choose>
87 </xsl:param>
88 <xsl:param name="page.margin.outer">
89   <xsl:choose>
90     <xsl:when test="$double.sided != 0">0.5in</xsl:when>
91     <xsl:otherwise>0.5in</xsl:otherwise>
92   </xsl:choose>
93 </xsl:param>
94
95 <xsl:param name="page.margin.top" select="'0.5in'"/>
96 <xsl:param name="page.orientation" select="'portrait'"/>
97 <xsl:param name="page.width">
98   <xsl:choose>
99     <xsl:when test="$page.orientation = 'portrait'">
100       <xsl:value-of select="$page.width.portrait"/>
101     </xsl:when>
102     <xsl:otherwise>
103       <xsl:value-of select="$page.height.portrait"/>
104     </xsl:otherwise>
105   </xsl:choose>
106 </xsl:param>
107
108 <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
109 <xsl:param name="table.frame.border.color">#0080ff</xsl:param>
110 <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param>
111 <xsl:param name="table.cell.border.thickness">0.5pt</xsl:param>
112 <xsl:param name="table.cell.border.color">#0080ff</xsl:param>
113 <xsl:param name="table.cell.border.with.css" select="1"/>
114
115 <xsl:attribute-set name="copyright.title.properties">
116   <xsl:attribute name="font-size">12pt</xsl:attribute>
117   <xsl:attribute name="font-weight">bold</xsl:attribute>
118   <xsl:attribute name="text-align">center</xsl:attribute>
119 </xsl:attribute-set>
120
121 <xsl:attribute-set name="revhistory.title.properties">
122   <xsl:attribute name="font-size">12pt</xsl:attribute>
123   <xsl:attribute name="font-weight">bold</xsl:attribute>
124   <xsl:attribute name="text-align">center</xsl:attribute>
125 </xsl:attribute-set>
126
127 <xsl:attribute-set name="revhistory.table.properties">
128   <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute>
129   <xsl:attribute name="width">50%</xsl:attribute>
130 </xsl:attribute-set>
131
132 <xsl:attribute-set name="revhistory.table.cell.properties">
133   <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute>
134   <xsl:attribute name="font-size">12pt</xsl:attribute>
135   <xsl:attribute name="padding">2pt</xsl:attribute>
136 </xsl:attribute-set>
137
138 <xsl:attribute-set name="monospace.properties">
139   <xsl:attribute name="font-size">9pt</xsl:attribute>
140 </xsl:attribute-set>
141
142 <xsl:attribute-set name="component.title.properties">
143   <xsl:attribute name="font-weight">normal</xsl:attribute>
144   <xsl:attribute name="color">#0080ff</xsl:attribute>
145 </xsl:attribute-set>
146
147 <xsl:attribute-set name="section.title.properties">
148   <xsl:attribute name="font-weight">normal</xsl:attribute>
149   <xsl:attribute name="color">#0080ff</xsl:attribute>
150 </xsl:attribute-set>
151
152 <xsl:attribute-set name="admonition.title.properties">
153   <xsl:attribute name="font-weight">normal</xsl:attribute>
154   <xsl:attribute name="color">#ff4040</xsl:attribute>
155 </xsl:attribute-set>
156
157 <xsl:attribute-set name="formal.title.properties">
158   <xsl:attribute name="font-weight">normal</xsl:attribute>
159   <xsl:attribute name="color">#0080ff</xsl:attribute>
160 </xsl:attribute-set>
161
162 <xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties">
163   <xsl:attribute name="border-style">solid</xsl:attribute>
164   <xsl:attribute name="border-width">1pt</xsl:attribute>
165   <xsl:attribute name="border-color">silver</xsl:attribute>
166   <xsl:attribute name="background-color">#ffffee</xsl:attribute>
167   <xsl:attribute name="padding-left">12pt</xsl:attribute>
168   <xsl:attribute name="padding-right">12pt</xsl:attribute>
169   <xsl:attribute name="padding-top">6pt</xsl:attribute>
170   <xsl:attribute name="padding-bottom">6pt</xsl:attribute>
171   <xsl:attribute name="margin-left">0pt</xsl:attribute>
172   <xsl:attribute name="margin-right">12pt</xsl:attribute>
173   <xsl:attribute name="margin-top">6pt</xsl:attribute>
174   <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
175 </xsl:attribute-set>
176
177 <!-- Only shade programlisting and screen verbatim elements -->
178 <xsl:param name="shade.verbatim" select="1"/>
179 <xsl:attribute-set name="shade.verbatim.style">
180   <xsl:attribute name="background-color">
181     <xsl:choose>
182       <xsl:when test="self::programlisting|self::screen">#ffffff</xsl:when>
183       <xsl:otherwise>inherit</xsl:otherwise>
184     </xsl:choose>
185   </xsl:attribute>
186 </xsl:attribute-set>
187
188 <!--
189   Force XSL Stylesheets 1.72 default table breaks to be the same as the current
190   version (1.74) default which (for tables) is keep-together="auto".
191 -->
192 <xsl:attribute-set name="table.properties">
193   <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>
194 </xsl:attribute-set>
195
196 </xsl:stylesheet>