diff options
Diffstat (limited to 'doc/xsl/isc-docbook-latex.xsl.in')
-rw-r--r-- | doc/xsl/isc-docbook-latex.xsl.in | 166 |
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> </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} </xsl:text> + <xsl:value-of select="$isc.copyright.text"/> + <xsl:text>\end{center} </xsl:text> + <xsl:for-each select="/book/bookinfo/releaseinfo[position() > 1]"> + <xsl:text>\begin{center}</xsl:text> + <xsl:call-template name="text"/> + <xsl:text>\end{center} </xsl:text> + </xsl:for-each> + <xsl:text>\tableofcontents </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: + --> |