ソースを参照

Started pdf/lfs-admon.xsl revision.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/new-xsl@8005 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Manuel Canales Esparcia 18 年 前
コミット
f6fb8379e3
2 ファイル変更43 行追加76 行削除
  1. 1 1
      lfs-pdf.xsl
  2. 42 75
      pdf/lfs-admon.xsl

+ 1 - 1
lfs-pdf.xsl

@@ -44,7 +44,7 @@
   <xsl:param name="hyphenate">false</xsl:param>
 
     <!-- Specify the default text alignment -->
-  <xsl:param name="">justify</xsl:param>
+  <xsl:param name="alignment">justify</xsl:param>
 
     <!-- Specifies the default point size for body text.
          Used for titles size calculation. -->

+ 42 - 75
pdf/lfs-admon.xsl

@@ -5,90 +5,57 @@
                 version="1.0">
 
 
-    <!-- Graphics in admonitions -->
+    <!-- Use graphics in admonitions? 1 = yes, 0 = no -->
   <xsl:param name="admon.graphics" select="1"/>
+
+    <!-- Path to admonition graphics relative to index.xml -->
   <xsl:param name="admon.graphics.path" select="'images/'"/>
 
-    <!-- Admonition block properties -->
-  <xsl:template match="important|warning|caution">
-    <xsl:choose>
-      <xsl:when test="$admon.graphics != 0">
-        <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
-              space-before.maximum="0.8em" border-style="solid" border-width="1pt"
-              border-color="#500" background-color="#FFFFE6">
-        <xsl:call-template name="graphical.admonition"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="nongraphical.admonition"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
+    <!-- Global admonitions properties -->
+  <xsl:attribute-set name="graphical.admonition.properties">
+    <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
+    <xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
+    <xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
+    <xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
+    <xsl:attribute name="border-style">solid</xsl:attribute>
+    <xsl:attribute name="border-width">1pt</xsl:attribute>
+    <xsl:attribute name="background-color">#FFFFE6</xsl:attribute>
+    <xsl:attribute name="border-color">
+      <xsl:choose>
+        <xsl:when test="self::note | self::tip">#E0E0E0</xsl:when>
+        <xsl:otherwise>#500</xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:attribute-set>
 
-  <xsl:template match="note|tip">
-    <xsl:choose>
-      <xsl:when test="$admon.graphics != 0">
-        <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
-              space-before.maximum="0.8em" border-style="solid" border-width="1pt"
-              border-color="#E0E0E0" background-color="#FFFFE6">
-        <xsl:call-template name="graphical.admonition"/>
-        </fo:block>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="nongraphical.admonition"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
+    <!-- Properties for admonitions titles -->
+  <xsl:attribute-set name="admonition.title.properties">
+    <xsl:attribute name="font-size">14pt</xsl:attribute>
+    <xsl:attribute name="font-weight">bold</xsl:attribute>
+    <xsl:attribute name="hyphenate">false</xsl:attribute>
+    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
+    <xsl:attribute name="color">
+      <xsl:choose>
+        <xsl:when test="ancestor-or-self::important | ancestor-or-self::warning
+                        | ancestor-or-self::caution">#500</xsl:when>
+        <xsl:otherwise>#000</xsl:otherwise>
+      </xsl:choose>
+    </xsl:attribute>
+  </xsl:attribute-set>
 
-    <!-- Admonitions text properties -->
+    <!-- Properties for admonitions text -->
   <xsl:attribute-set name="admonition.properties">
     <xsl:attribute name="margin-right">6pt</xsl:attribute>
   </xsl:attribute-set>
 
-    <!-- Adding left space to the graphics and color to the titles -->
-  <xsl:template name="graphical.admonition">
-    <xsl:variable name="id">
-      <xsl:call-template name="object.id"/>
-    </xsl:variable>
-    <xsl:variable name="graphic.width">
-     <xsl:apply-templates select="." mode="admon.graphic.width"/>
-    </xsl:variable>
-    <fo:block id="{$id}">
-      <fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt"
-              provisional-label-separation="18pt" xsl:use-attribute-sets="list.block.spacing">
-        <fo:list-item>
-            <fo:list-item-label end-indent="label-end()">
-              <fo:block margin-left="18pt">
-                <fo:external-graphic width="auto" height="auto"
-                        content-width="{$graphic.width}" >
-                  <xsl:attribute name="src">
-                    <xsl:call-template name="admon.graphic"/>
-                  </xsl:attribute>
-                </fo:external-graphic>
-              </fo:block>
-            </fo:list-item-label>
-            <fo:list-item-body start-indent="body-start()">
-              <xsl:if test="$admon.textlabel != 0 or title">
-                <fo:block xsl:use-attribute-sets="admonition.title.properties">
-                  <xsl:if test="ancestor-or-self::important">
-                    <xsl:attribute name="color">#500</xsl:attribute>
-                  </xsl:if>
-                  <xsl:if test="ancestor-or-self::warning">
-                    <xsl:attribute name="color">#500</xsl:attribute>
-                  </xsl:if>
-                  <xsl:if test="ancestor-or-self::caution">
-                    <xsl:attribute name="color">#500</xsl:attribute>
-                  </xsl:if>
-                  <xsl:apply-templates select="." mode="object.title.markup"/>
-                </fo:block>
-              </xsl:if>
-              <fo:block xsl:use-attribute-sets="admonition.properties">
-                <xsl:apply-templates/>
-              </fo:block>
-            </fo:list-item-body>
-        </fo:list-item>
-      </fo:list-block>
-    </fo:block>
+    <!-- admon.graphic.width:
+           Making the graphic smaller. -->
+    <!-- The original template is in {docbook-xsl}/fo/admon.xsl -->
+  <xsl:template match="*" mode="admon.graphic.width">
+    <xsl:param name="node" select="."/>
+    <xsl:text>24pt</xsl:text>
   </xsl:template>
 
 </xsl:stylesheet>