Sfoglia il codice sorgente

Revised pdf/lfs-sections.xsl

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/new-xsl@8020 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Manuel Canales Esparcia 18 anni fa
parent
commit
4c774e9274
2 ha cambiato i file con 52 aggiunte e 59 eliminazioni
  1. 2 0
      pdf/lfs-pagesetup.xsl
  2. 50 59
      pdf/lfs-sections.xsl

+ 2 - 0
pdf/lfs-pagesetup.xsl

@@ -78,6 +78,8 @@
   <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>
 

+ 50 - 59
pdf/lfs-sections.xsl

@@ -4,7 +4,17 @@
                 xmlns:fo="http://www.w3.org/1999/XSL/Format"
                 version="1.0">
 
-     <!-- Force section1's onto a new page -->
+   <!-- REVISED -->
+
+  <!-- This stylesheet controls how sections are handled -->
+
+    <!-- Are sections enumerated? 1 = yes, 0 = no -->
+  <xsl:param name="section.autolabel" select="1"/>
+
+    <!-- Do section labels include the component label? 1 = yes, 0 = no -->
+  <xsl:param name="section.label.includes.component.label" select="1"/>
+
+     <!-- Force sect1 onto a new page -->
   <xsl:attribute-set name="section.level1.properties">
     <xsl:attribute name="break-after">
       <xsl:choose>
@@ -18,20 +28,40 @@
     </xsl:attribute>
   </xsl:attribute-set>
 
-    <!-- Sections numbering -->
-  <xsl:param name="section.autolabel" select="1"/>
-  <xsl:param name="section.label.includes.component.label" select="1"/>
+    <!-- sect2:
+           Skip sect2.titlepage run when title is empty.
+           Removed unused code. -->
+    <!-- The original template is in {docbook-xsl}/fo/sections.xsl -->
+  <xsl:template match="sect2">
+    <xsl:variable name="id">
+      <xsl:call-template name="object.id"/>
+    </xsl:variable>
+    <fo:block xsl:use-attribute-sets="section.level2.properties">
+      <xsl:attribute name="id">
+        <xsl:value-of select="$id"/>
+      </xsl:attribute>
+      <xsl:if test="not(string-length(title)=0)">
+        <xsl:call-template name="sect2.titlepage"/>
+      </xsl:if>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
 
-    <!-- Skip numeraration for sections with empty title -->
-  <xsl:template match="sect2|sect3|sect4|sect5" mode="label.markup">
+    <!-- sect2 label.markup:
+           Skip numeration for sect2 with empty title -->
+    <!-- The original template is in {docbook-xsl}/common/labels.xsl
+         It match also sect3, sect4, and sect5, that are unchanged. -->
+  <xsl:template match="sect2" mode="label.markup">
     <xsl:if test="string-length(title) > 0">
       <!-- label the parent -->
-      <xsl:variable name="parent.label">
-        <xsl:apply-templates select=".." mode="label.markup"/>
+      <xsl:variable name="parent.section.label">
+        <xsl:call-template name="label.this.section">
+          <xsl:with-param name="section" select=".."/>
+        </xsl:call-template>
       </xsl:variable>
-      <xsl:if test="$parent.label != ''">
+      <xsl:if test="$parent.section.label != '0'">
         <xsl:apply-templates select=".." mode="label.markup"/>
-      <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
+        <xsl:apply-templates select=".." mode="intralabel.punctuation"/>
       </xsl:if>
       <xsl:choose>
         <xsl:when test="@label">
@@ -39,62 +69,23 @@
         </xsl:when>
         <xsl:when test="$section.autolabel != 0">
           <xsl:choose>
-            <xsl:when test="local-name(.) = 'sect2'">
-              <xsl:choose>
-                <!-- If the first sect2 isn't numbered, renumber the remainig sections -->
-                <xsl:when test="string-length(../sect2[1]/title) = 0">
-                  <xsl:variable name="totalsect2">
-                    <xsl:number count="sect2"/>
-                  </xsl:variable>
-                  <xsl:number value="$totalsect2 - 1"/>
-                </xsl:when>
-                <xsl:otherwise>
-                  <xsl:number count="sect2"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-            <xsl:when test="local-name(.) = 'sect3'">
-              <xsl:number count="sect3"/>
-            </xsl:when>
-            <xsl:when test="local-name(.) = 'sect4'">
-              <xsl:number count="sect4"/>
-            </xsl:when>
-            <xsl:when test="local-name(.) = 'sect5'">
-              <xsl:number count="sect5"/>
+            <!-- If the first sect2 isn't numbered, renumber the remainig sections -->
+            <xsl:when test="string-length(../sect2[1]/title) = 0">
+              <xsl:variable name="totalsect2">
+                <xsl:number count="sect2"/>
+              </xsl:variable>
+              <xsl:number value="$totalsect2 - 1"/>
             </xsl:when>
             <xsl:otherwise>
-              <xsl:message>label.markup: this can't happen!</xsl:message>
+              <xsl:number count="sect2"/>
             </xsl:otherwise>
           </xsl:choose>
         </xsl:when>
+        <xsl:otherwise>
+          <xsl:message>label.markup: this can't happen!</xsl:message>
+        </xsl:otherwise>
       </xsl:choose>
     </xsl:if>
   </xsl:template>
 
-  <!-- Drop the trailing punctuation if title is empty -->
-  <xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect
-                      |bridgehead"
-                mode="object.title.template">
-    <xsl:choose>
-      <xsl:when test="$section.autolabel != 0">
-        <xsl:if test="string-length(title) > 0">
-          <xsl:call-template name="gentext.template">
-            <xsl:with-param name="context" select="'title-numbered'"/>
-            <xsl:with-param name="name">
-              <xsl:call-template name="xpath.location"/>
-            </xsl:with-param>
-          </xsl:call-template>
-        </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="gentext.template">
-          <xsl:with-param name="context" select="'title-unnumbered'"/>
-          <xsl:with-param name="name">
-            <xsl:call-template name="xpath.location"/>
-          </xsl:with-param>
-        </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
 </xsl:stylesheet>