Эх сурвалжийг харах

Revised pdf/lfs-pagesetup.xsl

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/new-xsl@8024 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Manuel Canales Esparcia 18 жил өмнө
parent
commit
e0b056a9e9
2 өөрчлөгдсөн 105 нэмэгдсэн , 59 устгасан
  1. 9 8
      lfs-pdf.xsl
  2. 96 51
      pdf/lfs-pagesetup.xsl

+ 9 - 8
lfs-pdf.xsl

@@ -4,7 +4,8 @@
                 xmlns:fo="http://www.w3.org/1999/XSL/Format"
                 version="1.0">
 
-   <!-- Stylesheet for FO output used to generate PDF -->
+   <!-- Stylesheet for FO output used to generate PDF
+        Sets global params and include customization stylesheets. -->
 
     <!-- Upstream FO templates. Profiled version is not supported by
          xsltproc, thus pofiling must be done in two steps (see Makefile) -->
@@ -17,7 +18,7 @@
          the Makefile. -->
   <!--<xsl:output  encoding="UTF-8" indent="yes" />-->
 
-    <!-- Including our others customized templates -->
+    <!-- Including our others customized templates. -->
   <xsl:include href="pdf/lfs-admon.xsl"/>
   <xsl:include href="pdf/lfs-index.xsl"/>
   <xsl:include href="pdf/lfs-mixed.xsl"/>
@@ -44,20 +45,20 @@
     -->
 
     <!-- Is the document to be printed double sided? 1 = yes, 0 = no -->
-    <!-- Change "double.sided" to "1" for published versions -->
+    <!-- Change "double.sided" to "1" for published versions. -->
   <xsl:param name="double.sided" select="0"/>
 
     <!-- Hyphenate? -->
   <xsl:param name="hyphenate">false</xsl:param>
 
-    <!-- Specify the default text alignment -->
+    <!-- Specify the default text alignment. -->
   <xsl:param name="alignment">justify</xsl:param>
 
     <!-- Specifies the default point size for body text.
          Used for titles size calculation. -->
   <xsl:param name="body.font.master">9</xsl:param>
 
-    <!-- Specifies the default font size for body text -->
+    <!-- Specifies the default font size for body text. -->
   <xsl:param name="body.font.size">12pt</xsl:param>
 
     <!-- Control generation of ToCs and LoTs -->
@@ -69,14 +70,14 @@
     <!-- How deep should recursive sections appear in the TOC? -->
   <xsl:param name="toc.section.depth">1</xsl:param>
 
-    <!-- Amount of indentation for TOC entries -->
+    <!-- Amount of indentation for TOC entries. -->
   <xsl:param name="toc.indent.width" select="18"></xsl:param>
 
-    <!-- Turns page numbers in xrefs on and off -->
+    <!-- Turns page numbers in xrefs on and off. -->
   <xsl:param name="insert.xref.page.number">no</xsl:param>
 
     <!-- Display URLs after ulinks? 1 = yes, 0 = no
-         Set to 0 to prevent duplicate e-mails in the Acknowledgments pages -->
+         Set to 0 to prevent duplicate e-mails in the Acknowledgments pages. -->
   <xsl:param name="ulink.show" select="0"/>
 
     <!-- Processing instruction for hard page breaks.

+ 96 - 51
pdf/lfs-pagesetup.xsl

@@ -4,38 +4,58 @@
                 xmlns:fo="http://www.w3.org/1999/XSL/Format"
                 version="1.0">
 
-    <!-- Header -->
-  <xsl:template name="header.content">
-    <xsl:param name="sequence" select="''"/>
-    <fo:block>
-      <xsl:attribute name="text-align">
-        <xsl:choose>
-          <xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
-          <xsl:otherwise>left</xsl:otherwise>
-        </xsl:choose>
-      </xsl:attribute>
-      <xsl:value-of select="/book/bookinfo/title"/>
-      <xsl:text> - </xsl:text>
-      <xsl:value-of select="/book/bookinfo/subtitle"/>
-    </fo:block>
-  </xsl:template>
+   <!-- REVISED -->
 
-  <xsl:template name="header.table">
-    <xsl:param name="sequence" select="''"/>
-    <xsl:param name="gentext-key" select="''"/>
-    <xsl:choose>
-      <xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
-      <xsl:otherwise>
-        <xsl:call-template name="header.content">
-          <xsl:with-param name="sequence" select="$sequence"/>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
+  <!-- This stylesheet controls page margins, header content and titles size. -->
+
+    <!-- The inner page margin. -->
+  <xsl:param name="page.margin.inner" select="'0.5in'"/>
+
+    <!-- The outer page margin. -->
+  <xsl:param name="page.margin.outer" select="'0.375in'"/>
+
+    <!-- The bottom margin of the page. -->
+  <xsl:param name="page.margin.bottom" select="'0.375in'"/>
+
+    <!-- The top margin of the page. -->
+  <xsl:param name="page.margin.top" select="'0.375in'"/>
+
+    <!-- The bottom margin of the body text. -->
+  <xsl:param name="body.margin.bottom" select="'0.4in'"/>
+
+    <!-- The top margin of the body text. -->
+  <xsl:param name="body.margin.top" select="'0.4in'"/>
+
+    <!-- Specifies the height of the header. -->
+  <xsl:param name="region.before.extent" select="'0.25in'"/>
+
+    <!-- Specifies the height of the footer. -->
+  <xsl:param name="region.after.extent" select="'0.25in'"/>
+
+    <!-- The start-indent for the body text. -->
+  <xsl:param name="body.start.indent" select="'0pc'"/>
+
+    <!-- Adjust the left margin for titles. -->
+  <xsl:param name="title.margin.left">-0.8pc</xsl:param>
+
+    <!-- Rule under headers? 1 =yes, 0 = no -->
+  <xsl:param name="header.rule" select="0"/>
+
+    <!-- Rule over footers? 1 =yes, 0 = no -->
+  <xsl:param name="footer.rule" select="0"></xsl:param>
+
+    <!-- Control depth of sections shown in running headers or footers.
+         Be sure that no uneeded fo:marker are generated. -->
+  <xsl:param name="marker.section.level" select="-1"></xsl:param>
 
-    <!-- Centered titles for book and part -->
+    <!-- Dropping a blank page after book title. -->
+  <xsl:template name="book.titlepage.separator"/>
+
+    <!-- book title:
+          Centered the title and removed unused code. -->
+    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
   <xsl:template name="book.titlepage">
-    <fo:block space-before="2in">
+    <fo:block margin-top="3in">
       <fo:block>
         <xsl:call-template name="book.titlepage.before.recto"/>
         <xsl:call-template name="book.titlepage.recto"/>
@@ -48,9 +68,17 @@
     </fo:block>
   </xsl:template>
 
+    <!-- book title:
+           Drop a blank page after book title. -->
+    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
+  <xsl:template name="book.titlepage.separator"/>
+
+    <!-- part title:
+          Centered the title and removed unused code. -->
+    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
   <xsl:template name="part.titlepage">
     <fo:block>
-      <fo:block space-before="2.5in">
+      <fo:block margin-top="3.5in">
         <xsl:call-template name="part.titlepage.before.recto"/>
         <xsl:call-template name="part.titlepage.recto"/>
       </fo:block>
@@ -62,34 +90,51 @@
     </fo:block>
   </xsl:template>
 
-    <!-- Font size for chapter title. -->
+    <!-- chapter title:
+          Small font size and left alignament. -->
+    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl -->
   <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
-    <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
-            xsl:use-attribute-sets="chapter.titlepage.recto.style"
-            font-size="21pt" font-weight="bold" text-align="left">
+    <fo:block xsl:use-attribute-sets="chapter.titlepage.recto.style"
+              font-size="21pt" font-weight="bold" text-align="left">
       <xsl:call-template name="component.title">
         <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
       </xsl:call-template>
     </fo:block>
   </xsl:template>
 
-    <!-- Margins -->
-  <xsl:param name="page.margin.inner" select="'0.5in'"/>
-  <xsl:param name="page.margin.outer" select="'0.375in'"/>
-  <xsl:param name="page.margin.bottom" select="'0.375in'"/>
-  <xsl:param name="page.margin.top" select="'0.375in'"/>
-  <xsl:param name="region.before.extent" select="'0.2in'"/>
-  <xsl:param name="region.after.extent" select="'0.2in'"/>
-  <xsl:param name="body.start.indent" select="'0.7pc'"/>
-  <xsl:param name="title.margin.left">-0.7pc</xsl:param>
-
-    <!-- Others-->
-  <xsl:param name="header.rule" select="0"></xsl:param>
-  <xsl:param name="footer.rule" select="0"></xsl:param>
-  <xsl:param name="marker.section.level" select="-1"></xsl:param>
-
-    <!-- Dropping a blank page -->
-  <xsl:template name="book.titlepage.separator"/>
+   <!-- header.table:
+          Re-made template to not generate a fo:table in the header,
+          allowing a more simple header.content custonization. -->
+    <!-- The original template is in {docbook-xsl}/fo/pagesetup.xsl -->
+  <xsl:template name="header.table">
+    <xsl:param name="sequence" select="''"/>
+    <xsl:param name="gentext-key" select="''"/>
+    <xsl:choose>
+      <xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
+      <xsl:otherwise>
+        <xsl:call-template name="header.content">
+          <xsl:with-param name="sequence" select="$sequence"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
 
+    <!-- header.content
+           Re-made template to show the book title and version on all pages. -->
+    <!-- The original template is in {docbook-xsl}/fo/pagesetup.xsl -->
+  <xsl:template name="header.content">
+    <xsl:param name="sequence" select="''"/>
+    <fo:block>
+      <xsl:attribute name="text-align">
+        <xsl:choose>
+          <xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
+          <xsl:otherwise>left</xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
+      <xsl:value-of select="/book/bookinfo/title"/>
+      <xsl:text> - </xsl:text>
+      <xsl:value-of select="/book/bookinfo/subtitle"/>
+    </fo:block>
+  </xsl:template>
 
 </xsl:stylesheet>