source: branches/samba-3.2.x/docs-xml/xslt/db2latex-xsl/xsl/figure.mod.xsl

Last change on this file was 203, checked in by Herwig Bauernfeind, 16 years ago

Missing 3.2.2 client and HOWTO files

File size: 7.7 KB
Line 
1<?xml version='1.0'?>
2<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
3<!--#############################################################################
4| $Id: figure.mod.xsl,v 1.17 2004/01/26 09:43:31 j-devenish Exp $
5|- #############################################################################
6| $Author: j-devenish $
7+ ############################################################################## -->
8
9<xsl:stylesheet
10 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
11 xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
12 exclude-result-prefixes="doc" version='1.0'>
13
14 <doc:reference id="figure" xmlns="">
15 <referenceinfo>
16 <releaseinfo role="meta">
17 $Id: figure.mod.xsl,v 1.17 2004/01/26 09:43:31 j-devenish Exp $
18 </releaseinfo>
19 <authorgroup>
20 &ramon;
21 &james;
22 </authorgroup>
23 <copyright>
24 <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year>
25 <holder>Ramon Casellas</holder>
26 </copyright>
27 <revhistory>
28 <doc:revision rcasver="1.14">&rev_2003_05;</doc:revision>
29 </revhistory>
30 </referenceinfo>
31 <title>Figures and InformalFigures <filename>figure.mod.xsl</filename></title>
32 <partintro>
33 <para>
34
35 <doc:todo>Insert documentation here.</doc:todo>
36
37 </para>
38 </partintro>
39 </doc:reference>
40
41 <doc:template xmlns="">
42 <refpurpose> Typeset a caption for a formal figure </refpurpose>
43 <doc:description>
44 <para>
45
46 Formats a caption, if any, as a centred block.
47
48 </para>
49 </doc:description>
50 <doc:variables>
51 <itemizedlist>
52 <listitem><simpara><xref linkend="param.latex.figure.caption.style"/></simpara></listitem>
53 <listitem><simpara><xref linkend="param.latex.caption.lot.titles.only"/></simpara></listitem>
54 <listitem><simpara><xref linkend="param.latex.figure.title.style"/></simpara></listitem>
55 </itemizedlist>
56 </doc:variables>
57 <doc:notes>
58 <para>
59
60 The &LaTeX; caption is a combination of <doc:db>title</doc:db>
61 and <doc:db>caption</doc:db> children.
62 A <link linkend="template.lot">list of figures</link>
63 will contain cross-references to these formal figures.
64
65 </para>
66 </doc:notes>
67 <doc:samples>
68 <simplelist type='inline'>
69 &test_subfig;
70 </simplelist>
71 </doc:samples>
72 </doc:template>
73 <xsl:template name="generate.aux.figure.caption">
74 <xsl:text>{</xsl:text>
75 <xsl:value-of select="$latex.figure.caption.style"/>
76 <xsl:choose>
77 <xsl:when test="$latex.caption.lot.titles.only='1'">
78 <xsl:text>{\caption[{</xsl:text>
79 <xsl:apply-templates select="title"/>
80 <xsl:text>}]{{</xsl:text>
81 </xsl:when>
82 <xsl:otherwise>
83 <xsl:text>{\caption{{</xsl:text>
84 </xsl:otherwise>
85 </xsl:choose>
86 <xsl:value-of select="$latex.figure.title.style"/>
87 <xsl:text>{</xsl:text>
88 <xsl:apply-templates select="title"/>
89 <xsl:text>}}</xsl:text>
90 <xsl:if test="count(child::mediaobject/caption)=1">
91 <xsl:text>. </xsl:text>
92 <xsl:apply-templates select="mediaobject/caption" />
93 </xsl:if>
94 <xsl:text>}</xsl:text>
95 <xsl:call-template name="label.id"/>
96 <xsl:text>}}&#10;</xsl:text>
97 </xsl:template>
98
99 <doc:template xmlns="">
100 <refpurpose> Process <doc:db>figure</doc:db> elements </refpurpose>
101 <doc:description>
102 <para>
103
104 Formats a formal, <quote>floating</quote> figure with a title and caption.
105 The figure may contain multiple subfigures.
106
107 </para>
108 </doc:description>
109 <doc:variables>
110 <itemizedlist>
111 <listitem><simpara><xref linkend="param.formal.title.placement"/></simpara></listitem>
112 </itemizedlist>
113 </doc:variables>
114 <doc:notes>
115 <para>
116
117 If the figure contains only one mediaobject, that mediaobject's
118 caption will be used as the figure caption. However, if there
119 are multiple meid in the figure, then it will be divided into
120 subfigures with their own caption.
121
122 </para>
123 <para>
124
125 If a <sgmltag class="attribute">condition</sgmltag> attribute
126 exists and begins with <quote>db2latex:</quote>, or a <sgmltag
127 class="pi">latex-float-placement</sgmltag> processing
128 instruction is present, the remainder of its value will be used
129 as the &LaTeX; <quote>float</quote> placement. Otherwise, the
130 default placement is <quote>hbt</quote>.
131
132 </para>
133 &essential_preamble;
134 </doc:notes>
135 <doc:samples>
136 <simplelist type='inline'>
137 &test_subfig;
138 </simplelist>
139 </doc:samples>
140 <doc:seealso>
141 <itemizedlist>
142 <listitem><simpara>&mapping;</simpara></listitem>
143 <listitem><simpara><xref linkend="template.generate.aux.figure.caption"/></simpara></listitem>
144 </itemizedlist>
145 </doc:seealso>
146 </doc:template>
147 <xsl:template match="figure">
148 <xsl:variable name="placement">
149 <xsl:call-template name="generate.formal.title.placement">
150 <xsl:with-param name="object" select="local-name(.)" />
151 </xsl:call-template>
152 </xsl:variable>
153 <xsl:variable name="position">
154 <xsl:call-template name="generate.latex.float.position">
155 <xsl:with-param name="default" select="'hbt'"/>
156 </xsl:call-template>
157 </xsl:variable>
158 <xsl:call-template name="map.begin">
159 <xsl:with-param name="string" select="$position"/>
160 </xsl:call-template>
161 <xsl:if test="$placement='before'">
162 <xsl:text>\captionswapskip{}</xsl:text>
163 <xsl:call-template name="generate.aux.figure.caption" />
164 <xsl:text>\captionswapskip{}</xsl:text>
165 </xsl:if>
166 <xsl:apply-templates select="*[name(.) != 'title']"/>
167 <xsl:if test="$placement!='before'">
168 <xsl:call-template name="generate.aux.figure.caption" />
169 </xsl:if>
170 <xsl:call-template name="map.end">
171 <xsl:with-param name="string" select="$position"/>
172 </xsl:call-template>
173 </xsl:template>
174
175 <doc:template xmlns="">
176 <refpurpose> Typeset a caption for an informal figure </refpurpose>
177 <doc:description>
178 <para>
179
180 Formats a caption, if any, as a centred block.
181
182 </para>
183 </doc:description>
184 <doc:variables>
185 &no_var;
186 </doc:variables>
187 <doc:notes>
188 <para>
189
190 A caption, if any, is gleaned from the <doc:db>caption</doc:db>
191 child of any <doc:db>mediaobject</doc:db> contained within the
192 <doc:db>informalfigure</doc:db>, and will be formatted as a
193 centred block.
194
195 </para>
196 </doc:notes>
197 <doc:samples>
198 <simplelist type='inline'>
199 &test_subfig;
200 </simplelist>
201 </doc:samples>
202 </doc:template>
203 <xsl:template name="generate.aux.informalfigure.caption">
204 <xsl:if test="count(child::mediaobject/caption)=1">
205 <xsl:text>\begin{center}&#10;</xsl:text>
206 <xsl:apply-templates select="mediaobject/caption" />
207 <xsl:text>\end{center}&#10;</xsl:text>
208 </xsl:if>
209 </xsl:template>
210
211 <doc:template xmlns="">
212 <refpurpose>Process <doc:db>informalfigure</doc:db> elements</refpurpose>
213 <doc:description>
214 <para>
215
216 Apply templates for an informal figure.
217
218 </para>
219 </doc:description>
220 <doc:variables>
221 &no_var;
222 </doc:variables>
223 <doc:notes>
224 <para>
225 The caption is inserted below the informalfigure.
226 </para>
227 </doc:notes>
228 <doc:samples>
229 <simplelist type='inline'>
230 &test_subfig;
231 </simplelist>
232 </doc:samples>
233 <doc:seealso>
234 <itemizedlist>
235 <listitem><simpara>&mapping;</simpara></listitem>
236 <listitem><simpara><xref linkend="template.generate.aux.informalfigure.caption"/></simpara></listitem>
237 </itemizedlist>
238 </doc:seealso>
239 </doc:template>
240 <xsl:template match="informalfigure">
241 <xsl:call-template name="map.begin"/>
242 <xsl:apply-templates/>
243 <xsl:call-template name="generate.aux.informalfigure.caption" />
244 <xsl:call-template name="map.end"/>
245 </xsl:template>
246
247 <!--
248 <xsl:template match="figure[programlisting]">
249 <xsl:call-template name="map.begin">
250 <xsl:with-param name="keyword" select="programlisting"/>
251 </xsl:call-template>
252 <xsl:apply-templates />
253 <xsl:call-template name="map.end">
254 <xsl:with-param name="keyword" select="programlisting"/>
255 </xsl:call-template>
256 </xsl:template>
257 -->
258
259</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.