]> pere.pagekite.me Git - text-madewithcc.git/blobdiff - extra/pdf.xsl
Translated using Weblate (German)
[text-madewithcc.git] / extra / pdf.xsl
index 5703ef26fd2eeb8d88d082a15ee882041e07c9bf..10aaa5e52f5a2ab8160c510fca8ff3ab9764ce99 100644 (file)
@@ -1,23 +1,63 @@
-<?xml version='1.0' encoding="iso-8859-1"?>
+<?xml version='1.0' encoding="UTF-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
 
   <xsl:param name="latex.class.book">myclass</xsl:param>
-<!--
+
+  <!-- Layout for printing on US Letter paper -->
+  <!-- -->
+  <!-- Should be equivalent to next (commented) line, and should match the -->
+  <!-- default behaviour, but it didn't work...  -->
+  <!-- -->
+  <!-- <xsl:param name="paper.type">USletter</xsl:param> -->
   <xsl:param name="page.width">6in</xsl:param>
   <xsl:param name="page.height">9in</xsl:param>
-  -->
-  <xsl:param name="page.margin.inner">0.8in</xsl:param>
-  <xsl:param name="page.margin.outer">0.55in</xsl:param>
 
-  <xsl:param name="page.margin.top">0.05in</xsl:param>
-  <xsl:param name="page.margin.bottom">0.15in</xsl:param>
+  <xsl:param name="page.margin.inner">1.5in</xsl:param>
+  <xsl:param name="page.margin.outer">1.5in</xsl:param>
+
+  <xsl:param name="page.margin.top">1in</xsl:param>
+  <xsl:param name="page.margin.bottom">1in</xsl:param>
 
   <xsl:param name="double.sided">1</xsl:param>
   <xsl:param name="latex.class.options">openright,twoside</xsl:param>
 
+  <xsl:param name="latex.encoding">utf8</xsl:param>
+
+  <xsl:param name="preface.tocdepth">1</xsl:param>
+
+  <xsl:param name="toc.section.depth">0</xsl:param>
+
   <!-- do not list figures -->
   <xsl:param name="doc.lot.show">example</xsl:param>
 
+  <!-- The TOC links in the titles, and in blue. -->
+  <!-- ensure URLs in the text do not end up light gray too -->
+  <xsl:param name="latex.hyperparam">linktocpage,colorlinks,linkcolor=black,urlcolor=black,pdfstartview=FitH</xsl:param>
+
+  <xsl:param name="latex.begindocument">
+    <xsl:text>
+% Trick to avoid many words sticking out of the right margin of the text.
+% Note, only one latex.begindocument can be active.
+\sloppy
+
+\usepackage{titlesec}
+
+\titleformat{\chapter}[display]
+  {\raggedright\Huge}
+  {}
+  {0pt}
+  {\thechapter.\ }
+
+\titleformat{name=\chapter,numberless}[display]
+  {\raggedright\Huge}
+  {}
+  {0pt}
+  {}
+
+\begin{document}
+    </xsl:text>
+  </xsl:param>
+
 <!--
 Make final page blank, which is required for PDFs inteneded for
 extended distribution with LuLu.
@@ -31,4 +71,86 @@ extended distribution with LuLu.
     </xsl:text>
   </xsl:param>
 
+  <!-- Attributions should be italicized, right-aligned -->
+  <xsl:template match="attribution">
+    <xsl:param name="content">
+      <xsl:apply-templates/>
+    </xsl:param>
+    <xsl:text>\begin{flushright}
+    \textit{ </xsl:text>
+    <xsl:copy-of select="$content"/>
+    <xsl:text>}
+    \end{flushright}</xsl:text>
+  </xsl:template>
+
+  <!-- An  attribution's citetitle should be rendered after a line
+       break -->
+  <xsl:template match="citetitle">
+    <xsl:param name="content">
+      <xsl:apply-templates/>
+    </xsl:param>
+    <xsl:text>\\ \quad \hfill </xsl:text>
+    <xsl:copy-of select="$content"/>
+  </xsl:template>
+
+  <!-- Bibliography and acknowledgements are formatted as numberless
+       chapters — And the easiest way to achieve it was abusing the
+       "Appendix" definition. -->
+  <xsl:template match="appendix">
+     <xsl:param name="content">
+      <xsl:apply-templates/>
+     </xsl:param>
+     <xsl:param name="title">
+      <xsl:apply-templates/>
+     </xsl:param>
+     <xsl:text>\chapter*{</xsl:text>
+     <xsl:copy-of select="title"/>
+     <xsl:text>}</xsl:text>
+     <xsl:text>\addcontentsline{toc}{chapter}{</xsl:text>
+     <xsl:copy-of select="title"/>
+     <xsl:text>}</xsl:text>
+     <xsl:copy-of select="$content"/>
+  </xsl:template>
+
+  <!-- Place title verso page behind the title page the hard way: put
+       colophon content in a file loaded by \maketitle -->
+  <xsl:template match="colophon">
+    <xsl:variable name="titlepage.verso">
+      <xsl:text>\begin{colophon}&#10;</xsl:text>
+      <xsl:apply-templates/>
+      <xsl:text>\end{colophon}&#10;</xsl:text>
+    </xsl:variable>
+    <xsl:call-template name="write.text.chunk">
+      <!-- The filename must end with 'input.rtex' to be parsed by dblatex -->
+      <xsl:with-param name="filename">
+       <xsl:text>titlepg.input.rtex</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="method" select="'text'"/>
+      <xsl:with-param name="content">
+       <xsl:value-of select="$titlepage.verso"/>
+      </xsl:with-param>
+      <xsl:with-param name="encoding" select="$chunker.output.encoding"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:param name="local.l10n.xml" select="document('')"/>
+  <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+    <l:l10n language="nb">
+      <!-- Fix bugs in default nb locale -->
+      <l:dingbat key="startquote" text="«"/>
+      <l:dingbat key="endquote" text="»"/>
+      <l:dingbat key="nestedstartquote" text="‘"/>
+      <l:dingbat key="nestedendquote" text="’"/>
+      <l:gentext key="Copyright" text=""/>
+    </l:l10n>
+    <l:l10n language="nn">
+      <!-- Fix bugs in default nn locale -->
+      <l:dingbat key="startquote" text="«"/>
+      <l:dingbat key="endquote" text="»"/>
+      <l:dingbat key="nestedstartquote" text="‘"/>
+      <l:dingbat key="nestedendquote" text="’"/>
+      <l:gentext key="Copyright" text=""/>
+    </l:l10n>
+  </l:i18n>
+
 </xsl:stylesheet>