summaryrefslogtreecommitdiffstats
path: root/doc/xsl/isc-docbook-latex.xsl.in
diff options
context:
space:
mode:
Diffstat (limited to 'doc/xsl/isc-docbook-latex.xsl.in')
-rw-r--r--doc/xsl/isc-docbook-latex.xsl.in166
1 files changed, 166 insertions, 0 deletions
diff --git a/doc/xsl/isc-docbook-latex.xsl.in b/doc/xsl/isc-docbook-latex.xsl.in
new file mode 100644
index 0000000..1cfcc99
--- /dev/null
+++ b/doc/xsl/isc-docbook-latex.xsl.in
@@ -0,0 +1,166 @@
+<!--
+ - Copyright (C) 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and/or distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $Id: isc-docbook-latex.xsl.in,v 1.6 2007/06/19 23:47:13 tbox Exp $ -->
+
+<!-- ISC customizations for db2latex generator -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <!-- Import the db2latex stuff -->
+ <xsl:import href="@XSLT_DB2LATEX_STYLE@"/>
+
+ <!-- Blank lines between paragraphs, please -->
+ <xsl:param name="latex.use.parskip" select="1"/>
+
+ <!-- Least bad current option for constructing tables -->
+ <xsl:param name="latex.use.ltxtable" select="1"/>
+ <xsl:param name="latex.use.longtable" select="1"/>
+
+ <!-- LaTeX2e documentclass options. -->
+ <xsl:param name="latex.documentclass.common"/>
+ <xsl:param name="latex.documentclass.book">10pt,twoside,openright</xsl:param>
+
+ <!-- This documentation is in English (or maybe Bad English) -->
+ <xsl:param name="latex.babel.language" select="'english'"/>
+ <xsl:param name="l10n.gentext.default.language" select="'en'"/>
+
+ <!-- Where to find "admonition" graphics -->
+ <xsl:param name="admon.graphics.path" select="'@XSLT_DB2LATEX_ADMONITIONS@'"/>
+
+ <!-- ANSI C function prototypes, please -->
+ <xsl:param name="funcsynopsis.style">ansi</xsl:param>
+
+ <!-- Local modifications to db2latex's mapping rules -->
+ <xsl:param name="latex.mapping.xml" select="document('isc-docbook-latex-mappings.xml')"/>
+
+ <!-- Patch around db2latex (0.8pre1) bug -->
+ <xsl:template match="copyright/year">
+ <xsl:apply-templates />
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Include our copyright generator -->
+ <xsl:include href="copyright.xsl"/>
+
+ <!-- Set comment convention for this output format -->
+ <xsl:param name="isc.copyright.leader">% </xsl:param>
+
+ <!-- Intercept top level to prepend copyright -->
+ <xsl:template match="/">
+ <xsl:value-of select="$isc.copyright"/>
+ <xsl:apply-imports/>
+ </xsl:template>
+
+ <!--
+ - Add support for multiple <para/> elements in a table entry.
+ - db2latex is already typesetting the table entry as a parbox,
+ - so we just have to insert the paragraph breaks.
+ -->
+ <xsl:template match="tbody/row/entry/para[position() != last()]">
+ <xsl:apply-imports/>
+ <xsl:text> \par </xsl:text>
+ </xsl:template>
+
+ <!--
+ - Add support for <optional/> in <programlisting/>.
+ -->
+ <xsl:template match="optional" mode="latex.verbatim">
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates mode="latex.verbatim"/>
+ <xsl:text>]</xsl:text>
+ </xsl:template>
+
+ <!--
+ - Customize the title page. Are we having fun yet?
+ -
+ - NB: filename of graphic specified without extension.
+ - LaTeX includes file.eps, PDFLaTeX includes file.pdf.
+ -
+ - Spacing and font sizes could probably use some work.
+ -->
+ <xsl:param name="latex.maketitle">
+ <xsl:text>
+ \begin{titlepage}
+ \null\vfil
+ \vskip 60pt
+ \begin{center}%
+ { %\LARGE
+ \Huge
+ \bfseries
+ </xsl:text>
+ <xsl:for-each select="/book/title">
+ <xsl:call-template name="text"/>
+ </xsl:for-each>
+ <xsl:text>
+ \par}%
+ \vskip 3em%
+ { %\large
+ \Large
+ \lineskip .75em%
+ </xsl:text>
+ <xsl:for-each select="/book/bookinfo/releaseinfo[1]">
+ <xsl:call-template name="text"/>
+ </xsl:for-each>
+ <xsl:text>
+ \par}
+ %\vskip 1.5em%
+ \vfil
+ \includegraphics{isc-logo}
+ \end{center}\par
+ \vfil\null
+ \end{titlepage}
+ </xsl:text>
+ <xsl:text>&#10;</xsl:text>
+ </xsl:param>
+
+ <!--
+ - More front matter: copyright notice, CVS revision number, table
+ - of contents.
+ -->
+ <xsl:template match="book/bookinfo">
+ <xsl:apply-imports/>
+ <xsl:text>\begin{center}&#10;</xsl:text>
+ <xsl:value-of select="$isc.copyright.text"/>
+ <xsl:text>\end{center}&#10;</xsl:text>
+ <xsl:for-each select="/book/bookinfo/releaseinfo[position() &gt; 1]">
+ <xsl:text>\begin{center}</xsl:text>
+ <xsl:call-template name="text"/>
+ <xsl:text>\end{center}&#10;</xsl:text>
+ </xsl:for-each>
+ <xsl:text>\tableofcontents&#10;</xsl:text>
+ </xsl:template>
+
+ <!--
+ - Try to avoid some weird looking line breaks.
+ -
+ - This doesn't really work right, so disable for now.
+ -->
+ <xsl:template match="literal" mode="disabled">
+ <xsl:text>\mbox{</xsl:text>
+ <xsl:apply-imports/>
+ <xsl:text>}</xsl:text>
+ </xsl:template>
+
+</xsl:stylesheet>
+
+<!--
+ - Local variables:
+ - mode: sgml
+ - End:
+ -->