|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
XSLT Stylesheet DocBook -> LaTeX
|
|
Packit Service |
76cb02 |
############################################################################ -->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.width.ignore">0</xsl:param>
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.layout.options"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.lines.showall">1</xsl:param>
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.role"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.class">monospaced</xsl:param>
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.extensions"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="linenumbering.scope"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="linenumbering.default"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="linenumbering.everyNth"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:param name="literal.environment">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="contains($literal.extensions,'scale')">
|
|
Packit Service |
76cb02 |
<xsl:text>lstcode</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:text>lstlisting</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:param>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="verbatim.setup">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="substring($literal.environment,1,3) != 'lst'">
|
|
Packit Service |
76cb02 |
<xsl:message terminate="yes">
|
|
Packit Service |
76cb02 |
<xsl:text>Error: </xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$literal.environment"/>
|
|
Packit Service |
76cb02 |
<xsl:text>: a listing environment must start with 'lst'</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:message>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
mode="save.verbatim.preamble"/>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="verbatim.setup2">
|
|
Packit Service |
76cb02 |
<xsl:text>\lstsetup
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="address">
|
|
Packit Service |
76cb02 |
<xsl:call-template name="output.verbatim"/>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="text()" mode="save.verbatim"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
mode="save.verbatim">
|
|
Packit Service |
76cb02 |
<xsl:call-template name="save.verbatim"/>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="save.verbatim">
|
|
Packit Service |
76cb02 |
<xsl:param name="content">
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.verbatim"/>
|
|
Packit Service |
76cb02 |
</xsl:param>
|
|
Packit Service |
76cb02 |
<xsl:text>
\begin{SaveVerbatim}{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="generate-id()"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}
</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$content"/>
|
|
Packit Service |
76cb02 |
<xsl:text>
\end{SaveVerbatim}
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="output.verbatim">
|
|
Packit Service |
76cb02 |
<xsl:param name="content">
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.verbatim"/>
|
|
Packit Service |
76cb02 |
</xsl:param>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
ancestor::legalnotice">
|
|
Packit Service |
76cb02 |
<xsl:text>\UseVerbatim{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="generate-id(.)"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:text>
\begin{verbatim}</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$content"/>
|
|
Packit Service |
76cb02 |
<xsl:text>\end{verbatim}
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="alt" mode="latex.verbatim"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="*" mode="filename.get">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="@entityref">
|
|
Packit Service |
76cb02 |
<xsl:value-of select="unparsed-entity-uri(@entityref)"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@fileref"/>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
programlisting environment. It escapes the tex sequence, *but* prints
|
|
Packit Service |
76cb02 |
out the sequence only if probing is not required (i.e. = 0).
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
Probing is used by a parent that wants to know if it contains some
|
|
Packit Service |
76cb02 |
element that needs some tex escaping.
|
|
Packit Service |
76cb02 |
-->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="verbatim.embed">
|
|
Packit Service |
76cb02 |
<xsl:param name="co-tagin" select="'<'"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="rnode" select="/"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="probe" select="0"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="content"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:value-of select="concat($co-tagin, 't>')"/>
|
|
Packit Service |
76cb02 |
<xsl:if test="$probe = 0">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="$content != ''">
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$content"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:apply-templates select="."/>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="'</t>'"/>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
specified by the <style> that drives the corresponding delimiter
|
|
Packit Service |
76cb02 |
sequence. Styles can be nested, so apply the same template mode to
|
|
Packit Service |
76cb02 |
children.
|
|
Packit Service |
76cb02 |
-->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="verbatim.format">
|
|
Packit Service |
76cb02 |
<xsl:param name="co-tagin" select="'<'"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="rnode" select="/"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="probe" select="0"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="style" select="'b'"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="content"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:value-of select="concat($co-tagin, $style, '>')"/>
|
|
Packit Service |
76cb02 |
<xsl:if test="$probe = 0">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="$content != ''">
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$content"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.programlisting">
|
|
Packit Service |
76cb02 |
<xsl:with-param name="co-tagin" select="$co-tagin"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="rnode" select="$rnode"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="probe" select="$probe"/>
|
|
Packit Service |
76cb02 |
</xsl:apply-templates>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="concat('</', $style, '>')"/>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
process it.
|
|
Packit Service |
76cb02 |
-->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
mode="latex.programlisting">
|
|
Packit Service |
76cb02 |
<xsl:param name="co-tagin" select="'<'"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="rnode" select="/"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="probe" select="0"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:value-of select="concat($co-tagin, 't', '>')"/>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="."/>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="concat('</', 't', '>')"/>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
text() adapted to this environment, and apply to its children the same
|
|
Packit Service |
76cb02 |
template. -->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="*" mode="latex.programlisting">
|
|
Packit Service |
76cb02 |
<xsl:param name="co-tagin" select="'<'"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="rnode" select="/"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="probe" select="0"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$output.quietly = 0">
|
|
Packit Service |
76cb02 |
<xsl:message>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="local-name(.)"/>
|
|
Packit Service |
76cb02 |
<xsl:text>: default template used in programlisting or screen</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:message>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.programlisting">
|
|
Packit Service |
76cb02 |
<xsl:with-param name="co-tagin" select="$co-tagin"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="rnode" select="$rnode"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="probe" select="$probe"/>
|
|
Packit Service |
76cb02 |
</xsl:apply-templates>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
to an external file -->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="programlisting|screen|literallayout" mode="internal">
|
|
Packit Service |
76cb02 |
<xsl:param name="opt"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="co-tagin"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="rnode" select="/"/>
|
|
Packit Service |
76cb02 |
<xsl:param name="env" select="'lstlisting'"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>
\begin{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$env"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:if test="$opt!=''">
|
|
Packit Service |
76cb02 |
<xsl:text>[</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$opt"/>
|
|
Packit Service |
76cb02 |
<xsl:text>]</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
string-length(normalize-space(
|
|
Packit Service |
76cb02 |
substring-before(.,'
')))>0">
|
|
Packit Service |
76cb02 |
<xsl:text>
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.programlisting">
|
|
Packit Service |
76cb02 |
<xsl:with-param name="co-tagin" select="$co-tagin"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="rnode" select="$rnode"/>
|
|
Packit Service |
76cb02 |
</xsl:apply-templates>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
substring(translate(.,' ',''),
|
|
Packit Service |
76cb02 |
string-length(translate(.,' ','')))!='
'">
|
|
Packit Service |
76cb02 |
<xsl:text>
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:text>\end{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$env"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="linenumbering">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="@linenumbering='numbered'">1</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:when test="@linenumbering and @linenumbering!='numbered'">0</xsl:when>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
(contains(concat(' ',$linenumbering.scope,' '),
|
|
Packit Service |
76cb02 |
concat(' ',local-name(.),' ')))">1</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>0</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="programlisting|screen|literallayout">
|
|
Packit Service |
76cb02 |
<xsl:param name="rnode" select="/"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="width">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
@width and string(number(@width))!='NaN'">
|
|
Packit Service |
76cb02 |
<xsl:text>\setlength{\lstwidth}{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@width"/>
|
|
Packit Service |
76cb02 |
<xsl:text>\lstcharwidth+2\lstframesep}</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="escaped">
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.programlisting">
|
|
Packit Service |
76cb02 |
<xsl:with-param name="probe" select="1"/>
|
|
Packit Service |
76cb02 |
</xsl:apply-templates>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="co-tagin">
|
|
Packit Service |
76cb02 |
<xsl:if test="descendant::co or $escaped != ''">
|
|
Packit Service |
76cb02 |
<xsl:call-template name="co-tagin-gen"/>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="linenumbered">
|
|
Packit Service |
76cb02 |
<xsl:call-template name="linenumbering"/>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="role">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="@role">
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@role"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$literal.role"/>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="opt">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$literal.lines.showall='0'">
|
|
Packit Service |
76cb02 |
<xsl:text>showlines=false,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$role='overflow'">
|
|
Packit Service |
76cb02 |
<xsl:text>breaklines=false,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="contains($literal.extensions, 'scale')">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
($role='' and $literal.extensions='scale.by.width' and $width!='')">
|
|
Packit Service |
76cb02 |
<xsl:text>scale=true,</xsl:text>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$width=''">
|
|
Packit Service |
76cb02 |
<xsl:text>breaklines=false,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:text>scale=false,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="@language">
|
|
Packit Service |
76cb02 |
<xsl:text>language={</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@language"/>
|
|
Packit Service |
76cb02 |
<xsl:text>},</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$width!=''">
|
|
Packit Service |
76cb02 |
<xsl:text>linewidth=\lstwidth,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$linenumbered=1">
|
|
Packit Service |
76cb02 |
<xsl:text>numbers=left,</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:if test="number($linenumbering.everyNth) > 1">
|
|
Packit Service |
76cb02 |
<xsl:text>stepnumber=</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="number($linenumbering.everyNth)"/>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="@startinglinenumber">
|
|
Packit Service |
76cb02 |
<xsl:text>firstnumber=</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@startinglinenumber"/>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:when test="@continuation and (@continuation='continues')">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>firstnumber=last</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>firstnumber=1</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="self::literallayout">
|
|
Packit Service |
76cb02 |
<xsl:text>backgroundcolor={},</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
$literal.class='monospaced'">
|
|
Packit Service |
76cb02 |
<xsl:text>basicstyle=\ttfamily,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
<xsl:text>basicstyle=\normalfont,flexiblecolumns,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$co-tagin!=''">
|
|
Packit Service |
76cb02 |
<xsl:call-template name="listing-delim">
|
|
Packit Service |
76cb02 |
<xsl:with-param name="tagin" select="$co-tagin"/>
|
|
Packit Service |
76cb02 |
</xsl:call-template>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$width!=''">
|
|
Packit Service |
76cb02 |
<xsl:text>
</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$width"/>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
descendant::inlinegraphic[@format='linespecific']|
|
|
Packit Service |
76cb02 |
descendant::textdata">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>
\lstinputlisting</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:if test="$opt!=''">
|
|
Packit Service |
76cb02 |
<xsl:text>[</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$opt"/>
|
|
Packit Service |
76cb02 |
<xsl:text>]</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:text>{</xsl:text>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
select="descendant::imagedata|descendant::inlinegraphic|
|
|
Packit Service |
76cb02 |
descendant::textdata"
|
|
Packit Service |
76cb02 |
mode="filename.get"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:apply-templates select="." mode="internal">
|
|
Packit Service |
76cb02 |
<xsl:with-param name="rnode" select="$rnode"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="co-tagin" select="$co-tagin"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="opt" select="$opt"/>
|
|
Packit Service |
76cb02 |
<xsl:with-param name="env" select="$literal.environment"/>
|
|
Packit Service |
76cb02 |
</xsl:apply-templates>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template name="listing-delim">
|
|
Packit Service |
76cb02 |
<xsl:param name="tagin" select="'<'"/>
|
|
Packit Service |
76cb02 |
<xsl:variable name="tex" select="concat($tagin, 't>')"/>
|
|
Packit Service |
76cb02 |
<xsl:variable name="bf" select="concat($tagin, 'b>')"/>
|
|
Packit Service |
76cb02 |
<xsl:variable name="it" select="concat($tagin, 'i>')"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>escapeinside={</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$tex"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}{</t>}</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>moredelim={**[is][\bfseries]{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$bf"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}{</b>}},</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>moredelim={**[is][\itshape]{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$it"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}{</i>}},</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
in which context the footnotes are used. A check is done to not cover
|
|
Packit Service |
76cb02 |
the other saving points in tables. -->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
mode="save.verbatim.preamble">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
ancestor::footnote">
|
|
Packit Service |
76cb02 |
<xsl:apply-templates select="." mode="save.verbatim"/>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
use the fancyvrb verbatim coupled to listings for the rendering stuff.
|
|
Packit Service |
76cb02 |
This mode assumes that all the verbatim data is in an external
|
|
Packit Service |
76cb02 |
file. Using the save/use commands would work except for linenumbering
|
|
Packit Service |
76cb02 |
stuff. -->
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
mode="save.verbatim">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
descendant::inlinegraphic[@format='linespecific']|
|
|
Packit Service |
76cb02 |
descendant::textdata)">
|
|
Packit Service |
76cb02 |
<xsl:variable name="str1" select="."/>
|
|
Packit Service |
76cb02 |
<xsl:variable name="str">
|
|
Packit Service |
76cb02 |
<xsl:apply-templates mode="latex.programlisting"/>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>\begin{VerbatimOut}{tmplst-</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="generate-id()"/>
|
|
Packit Service |
76cb02 |
<xsl:text>}</xsl:text>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
string-length(
|
|
Packit Service |
76cb02 |
normalize-space(substring-before($str1,'
')))>0">
|
|
Packit Service |
76cb02 |
<xsl:text>
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$str"/>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
substring(translate($str1,' ',''),
|
|
Packit Service |
76cb02 |
string-length(translate($str1,' ','')))!='
'">
|
|
Packit Service |
76cb02 |
<xsl:text>
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:text>\end{VerbatimOut}
</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
self::entrytbl or
|
|
Packit Service |
76cb02 |
self::footnote]//
|
|
Packit Service |
76cb02 |
*[self::programlisting or
|
|
Packit Service |
76cb02 |
self::screen or
|
|
Packit Service |
76cb02 |
self::literallayout]">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="lsopt">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="@language">
|
|
Packit Service |
76cb02 |
<xsl:text>language=</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@language"/>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="linenumbered">
|
|
Packit Service |
76cb02 |
<xsl:call-template name="linenumbering"/>
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:variable name="fvopt">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="$linenumbered=1">
|
|
Packit Service |
76cb02 |
<xsl:text>numbers=left,</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:if test="number($linenumbering.everyNth) > 1">
|
|
Packit Service |
76cb02 |
<xsl:text>stepnumber=</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="number($linenumbering.everyNth)"/>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="@startinglinenumber">
|
|
Packit Service |
76cb02 |
<xsl:text>firstnumber=</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@startinglinenumber"/>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:when test="@continuation and (@continuation='continues')">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>firstnumber=last</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>firstnumber=1</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:text>,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:if test="self::literallayout">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
$literal.class='monospaced'">
|
|
Packit Service |
76cb02 |
<xsl:text>fontfamily=tt,</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
</xsl:variable>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>\begin{fvlisting}</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:if test="$lsopt!=''">
|
|
Packit Service |
76cb02 |
<xsl:text>[</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$lsopt"/>
|
|
Packit Service |
76cb02 |
<xsl:text>]</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
<xsl:text>
</xsl:text>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>\VerbatimInput</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:if test="$fvopt!=''">
|
|
Packit Service |
76cb02 |
<xsl:text>[</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$fvopt"/>
|
|
Packit Service |
76cb02 |
<xsl:text>]</xsl:text>
|
|
Packit Service |
76cb02 |
</xsl:if>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>{</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
descendant::inlinegraphic[@format='linespecific']|
|
|
Packit Service |
76cb02 |
descendant::textdata">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
select="descendant::imagedata|descendant::inlinegraphic|
|
|
Packit Service |
76cb02 |
descendant::textdata"
|
|
Packit Service |
76cb02 |
mode="filename.abs.get"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>tmplst-</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="generate-id(.)"/>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:text>}
</xsl:text>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:text>\end{fvlisting}
</xsl:text>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:template match="*" mode="filename.abs.get">
|
|
Packit Service |
76cb02 |
<xsl:choose>
|
|
Packit Service |
76cb02 |
<xsl:when test="@entityref">
|
|
Packit Service |
76cb02 |
<xsl:value-of select="unparsed-entity-uri(@entityref)"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:when test="contains(@fileref, ':')">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:value-of select="substring-after(@fileref, ':')"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:when test="starts-with(@fileref, '/')">
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@fileref"/>
|
|
Packit Service |
76cb02 |
</xsl:when>
|
|
Packit Service |
76cb02 |
<xsl:otherwise>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
<xsl:value-of select="$current.dir"/>
|
|
Packit Service |
76cb02 |
<xsl:text>/</xsl:text>
|
|
Packit Service |
76cb02 |
<xsl:value-of select="@fileref"/>
|
|
Packit Service |
76cb02 |
</xsl:otherwise>
|
|
Packit Service |
76cb02 |
</xsl:choose>
|
|
Packit Service |
76cb02 |
</xsl:template>
|
|
Packit Service |
76cb02 |
|
|
Packit Service |
76cb02 |
</xsl:stylesheet>
|