diff options
author | Alexander Bokovoy <ab@samba.org> | 2007-11-27 15:47:55 +0000 |
---|---|---|
committer | Gerald W. Carter <jerry@samba.org> | 2008-04-23 08:47:40 -0500 |
commit | 0a6fea6796e0da0d5c8690c851f2723e4b385ba7 (patch) | |
tree | 18a0bf743f818490dbbce188b06796d4f1d3eec4 /docs/xslt/db2latex-xsl/xsl/footnote.mod.xsl | |
parent | 754a2e1494f14fd5d0f157b0f0eada0d13fb80c0 (diff) | |
download | samba-0a6fea6796e0da0d5c8690c851f2723e4b385ba7.tar.gz samba-0a6fea6796e0da0d5c8690c851f2723e4b385ba7.tar.bz2 samba-0a6fea6796e0da0d5c8690c851f2723e4b385ba7.zip |
Embed db2latex as interim solution before migration to dblatex
(This used to be commit 166c61077bc5c6ca238865f71687369ad7c35a07)
Diffstat (limited to 'docs/xslt/db2latex-xsl/xsl/footnote.mod.xsl')
-rw-r--r-- | docs/xslt/db2latex-xsl/xsl/footnote.mod.xsl | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/docs/xslt/db2latex-xsl/xsl/footnote.mod.xsl b/docs/xslt/db2latex-xsl/xsl/footnote.mod.xsl new file mode 100644 index 0000000000..ed3d927ec8 --- /dev/null +++ b/docs/xslt/db2latex-xsl/xsl/footnote.mod.xsl @@ -0,0 +1,174 @@ +<?xml version='1.0'?> +<!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]> +<!--############################################################################# +| $Id: footnote.mod.xsl,v 1.10 2004/01/02 06:45:25 j-devenish Exp $ +|- ############################################################################# +| $Author: j-devenish $ ++ ############################################################################## --> +<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'> + + <doc:reference id="footnote" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: footnote.mod.xsl,v 1.10 2004/01/02 06:45:25 j-devenish Exp $ + </releaseinfo> + <authorgroup> + &ramon; + &james; + </authorgroup> + <copyright> + <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year> + <holder>Ramon Casellas</holder> + </copyright> + <revhistory> + <doc:revision rcasver="1.10">&rev_2003_05;</doc:revision> + </revhistory> + </referenceinfo> + <title>Footnotes <filename>footnote.mod.xsl</filename></title> + <partintro> + <para> + + + + </para> + </partintro> + </doc:reference> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>footnote</doc:db> elements</refpurpose> + <doc:description> + <para> + + Format a footnote. + + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + <para> + Applies templates within a &LaTeX; <function + condition="latex">footnote</function> command. Note that this + may not work within some tables. Also, <doc:db + basename="indexterm">indexterms</doc:db> may fail. + </para> + &essential_preamble; + </doc:notes> + <doc:samples> + <simplelist type='inline'> + &test_book; + &test_links; + &test_tables; + </simplelist> + </doc:samples> + </doc:template> + <xsl:template match="footnote"> + <xsl:call-template name="label.id"/> + <xsl:text>\begingroup\catcode`\#=12\footnote{</xsl:text> + <xsl:apply-templates/> + <xsl:text>}\endgroup\docbooktolatexmakefootnoteref{</xsl:text> + <xsl:call-template name="generate.label.id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose> Essential preamble for <filename>footnote.mod.xsl</filename> support </refpurpose> + <doc:description> + <para> + + Defines <function + condition="latex">docbooktolatexusefootnoteref</function> and + <function + condition="latex">docbooktolatexmakefootnoteref</function>. + These functions help to integrate + <doc:db>footnote</doc:db>/@<sgmltag + class="attribute">id</sgmltag> cross-references with &LaTeX;. + + </para> + </doc:description> + <doc:seealso> + <itemizedlist> + <listitem><simpara>&preamble;</simpara></listitem> + </itemizedlist> + </doc:seealso> + </doc:template> + <xsl:template name="latex.preamble.essential.footnote"> + <xsl:text> + <![CDATA[ +% -------------------------------------------- +% A way to honour <footnoteref>s +% Blame j-devenish (at) users.sourceforge.net +% In any other LaTeX context, this would probably go into a style file. +\newcommand{\docbooktolatexusefootnoteref}[1]{\@ifundefined{@fn@label@#1}% + {\hbox{\@textsuperscript{\normalfont ?}}% + \@latex@warning{Footnote label `#1' was not defined}}% + {\@nameuse{@fn@label@#1}}} +\newcommand{\docbooktolatexmakefootnoteref}[1]{% + \protected@write\@auxout{}% + {\global\string\@namedef{@fn@label@#1}{\@makefnmark}}% + \@namedef{@fn@label@#1}{\hbox{\@textsuperscript{\normalfont ?}}}% + } +]]> + </xsl:text> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>ulink</doc:db> elements within <doc:db>footnote</doc:db>s</refpurpose> + <doc:description> + <para> + Format a <doc:db>ulink</doc:db>. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + <para> + Footnotes are <quote>tricky</quote> and require special handling for + a number of link-type commands. + </para> + <para>This template exists in this file so that all + the footnote-generating templates are close to each other. However, + it is actually a part of the <literal>ulink</literal> template in <filename>xref.mod.xsl</filename></para> + </doc:notes> + </doc:template> + <xsl:template name="generate.ulink.in.footnote"> + <xsl:param name="hyphenation"/> + <xsl:param name="url"/> + <xsl:call-template name="label.id"/> + <xsl:text>\begingroup\catcode`\#=12\footnote{</xsl:text> + <xsl:call-template name="generate.typeset.url"> + <xsl:with-param name="hyphenation" select="$hyphenation"/> + <xsl:with-param name="url" select="$url"/> + </xsl:call-template> + <xsl:text>}\endgroup\docbooktolatexmakefootnoteref{</xsl:text> + <xsl:call-template name="generate.label.id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <doc:template xmlns=""> + <refpurpose>Process <doc:db>footnote</doc:db> elements</refpurpose> + <doc:description> + <para> + Make a link to a <doc:db>footnote</doc:db>. + </para> + </doc:description> + <doc:variables> + &no_var; + </doc:variables> + <doc:notes> + &essential_preamble; + </doc:notes> + </doc:template> + <xsl:template match="footnoteref"> + <xsl:variable name="footnote" select="key('id',@linkend)"/> + <xsl:text>\docbooktolatexusefootnoteref{</xsl:text> + <xsl:value-of select="@linkend"/> + <xsl:text>}</xsl:text> + </xsl:template> + +</xsl:stylesheet> |