summaryrefslogtreecommitdiff
path: root/docs/docbook/xslt/db2latex/verbatim.mod.xsl
blob: 06f48b04ba0c674a43e275e82246b639c149986c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?xml version='1.0'?>
<!--############################################################################# 
|	$Id: verbatim.mod.xsl,v 1.1.2.3 2003/08/12 18:22:39 jelmer Exp $
|- #############################################################################
|	$Author: jelmer $
|														
|   PURPOSE:
+ ############################################################################## -->

<xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
    exclude-result-prefixes="doc" version='1.0'>


    <!--############################################################################# -->
    <!-- DOCUMENTATION                                                                -->
    <doc:reference id="verbatim" xmlns="">
	<referenceinfo>
	    <releaseinfo role="meta">
		$Id: verbatim.mod.xsl,v 1.1.2.3 2003/08/12 18:22:39 jelmer Exp $
	    </releaseinfo>
	<authorgroup>
	    <author> <firstname>Ramon</firstname> <surname>Casellas</surname> </author>
	    <author> <firstname>James</firstname> <surname>Devenish</surname> </author>
	</authorgroup>
	    <copyright>
		<year>2000</year> <year>2001</year> <year>2002</year> <year>2003</year>
		<holder>Ramon Casellas</holder>
	    </copyright>
	</referenceinfo>
	<title>Verbatim <filename>verbatim.mod.xsl</filename></title>
	<partintro>
	    <section><title>Introduction</title>
		<para></para>
	    </section>
	</partintro>
    </doc:reference>
    <!--############################################################################# -->


    <!--############################################################################# -->
    <!-- DOCUMENTATION                                                                -->
    <doc:template match="literal" xmlns="">
	<refpurpose>Template for <sgmltag>literal</sgmltag></refpurpose>
	<refdescription>
	    Template for literal template
	</refdescription>
    </doc:template>
    <!--############################################################################# -->

    <xsl:template match="literal" mode="latex.verbatim">
	<xsl:text>{\verb </xsl:text>
	<xsl:apply-templates mode="latex.verbatim"/>
	<xsl:text>}</xsl:text>
    </xsl:template>





    <!--############################################################################# -->
    <!-- DOCUMENTATION                                                                -->
    <doc:template name="verbatim.apply.templates" xmlns="">
	<refpurpose> Auxiliary template to output verbatim LaTeX code (in verbatim mode)
	that takes into account whether the user is using fancyverb or not. It allows
	veratim line numbering and other fancy stuff. </refpurpose>
	<refdescription>
	<programlisting><![CDATA[
	<xsl:template name="verbatim.apply.templates">
	<xsl:choose>
		<xsl:when test="$latex.use.fancyvrb='1'">
			<xsl:text>&#10;\begin{Verbatim}[</xsl:text>
			<xsl:if test="@linenumbering='numbered'">
				<xsl:text>,numbers=left</xsl:text>
			</xsl:if>
			<xsl:if test="local-name(.)='literallayout' and @format!='monospaced'">
				<xsl:text>,fontfamily=default</xsl:text>
			</xsl:if>
			<xsl:text>]&#10;</xsl:text>
			<xsl:apply-templates mode="latex.verbatim"/>
			<xsl:text>&#10;\end{Verbatim}&#10;</xsl:text>
		</xsl:when>
		<xsl:otherwise>
			<xsl:text>&#10;\begin{verbatim}&#10;</xsl:text>
			<!-- RCAS: Experimental code 
			<xsl:apply-templates/>-->
			<xsl:apply-templates mode="latex.verbatim"/>
			<xsl:text>&#10;\end{verbatim}&#10;</xsl:text>
		</xsl:otherwise>
	</xsl:choose>
	</xsl:template>
	]]></programlisting>
	</refdescription>
    </doc:template>
    <!--############################################################################# -->

	<xsl:template name="verbatim.apply.templates">
	<xsl:choose>
		<xsl:when test="$latex.use.fancyvrb='1'">
			<xsl:text>&#10;\begin{Verbatim}[</xsl:text>
			<xsl:if test="@linenumbering='numbered'">
				<xsl:text>,numbers=left</xsl:text>
			</xsl:if>
			<xsl:if test="local-name(.)='literallayout' and @format!='monospaced'">
				<xsl:text>,fontfamily=default</xsl:text>
			</xsl:if>
			<xsl:text>]&#10;</xsl:text>
			<xsl:apply-templates mode="latex.verbatim"/>
			<xsl:text>&#10;\end{Verbatim}&#10;</xsl:text>
		</xsl:when>
		<xsl:otherwise>
			<xsl:text>&#10;\begin{verbatim}&#10;</xsl:text>
			<!-- RCAS: Experimental code 
			<xsl:apply-templates/>-->
			<xsl:apply-templates mode="latex.verbatim"/>
			<xsl:text>&#10;\end{verbatim}&#10;</xsl:text>
		</xsl:otherwise>
	</xsl:choose>
	</xsl:template>



    <xsl:template match="address">
		<xsl:call-template name="verbatim.apply.templates"/>
    </xsl:template>

    <doc:template name="verbatim" match="screen|programlisting|literallayout" xmlns="">
	<refpurpose>Environments in which whitespace is significant</refpurpose>
	<refdescription>
	    <itemizedlist>
			<title>Known Bugs</title>
			<listitem><simpara>Templates are not applied within programlistings.</simpara></listitem>
		</itemizedlist>
	</refdescription>
    </doc:template>
	<xsl:template match="screen|programlisting|literallayout">
		<xsl:call-template name="verbatim.apply.templates"/>
	</xsl:template>

</xsl:stylesheet>