diff options
| author | William Harrington <kb0iic@berzerkula.org> | 2014-11-27 16:29:31 -0600 | 
|---|---|---|
| committer | William Harrington <kb0iic@berzerkula.org> | 2014-11-27 16:29:31 -0600 | 
| commit | 7df987a652b93d55dd8eca363706d3bacc469b55 (patch) | |
| tree | 17f84ce0fee76a3a0476b714eae09486ab2470e6 /stylesheets/lfs-xsl/pdf/.svn/text-base | |
Diffstat (limited to 'stylesheets/lfs-xsl/pdf/.svn/text-base')
6 files changed, 1173 insertions, 0 deletions
diff --git a/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-admon.xsl.svn-base b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-admon.xsl.svn-base new file mode 100644 index 0000000..14a0b80 --- /dev/null +++ b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-admon.xsl.svn-base @@ -0,0 +1,81 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!-- +$LastChangedBy$ +$Date$ +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                version="1.0"> + +  <!-- This stylesheet controls how admonitions are displayed --> + +    <!-- 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/'"/> + +    <!-- Global admonitions properties --> +  <xsl:attribute-set name="graphical.admonition.properties"> +    <xsl:attribute name="keep-together.within-column"> +      <xsl:variable name="keep.together"> +        <xsl:call-template name="pi.dbfo_keep-together"/> +      </xsl:variable> +      <xsl:choose> +        <xsl:when test="$keep.together != ''"> +          <xsl:value-of select="$keep.together"/> +        </xsl:when> +        <xsl:otherwise>always</xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +    <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="padding-start">5pt</xsl:attribute> +    <xsl:attribute name="padding-top">5pt</xsl:attribute> +    <xsl:attribute name="padding-bottom">5pt</xsl:attribute> +    <xsl:attribute name="border-style">solid</xsl:attribute> +    <xsl:attribute name="border-width">0.5pt</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>#DCC</xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +  </xsl:attribute-set> + +    <!-- 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> + +    <!-- Properties for admonitions text --> +  <xsl:attribute-set name="admonition.properties"> +    <xsl:attribute name="margin-right">5pt</xsl:attribute> +  </xsl:attribute-set> + +    <!-- 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> diff --git a/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-index.xsl.svn-base b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-index.xsl.svn-base new file mode 100644 index 0000000..4d0d794 --- /dev/null +++ b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-index.xsl.svn-base @@ -0,0 +1,140 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!-- +$LastChangedBy$ +$Date$ +--> + +<!DOCTYPE xsl:stylesheet [ +<!ENTITY lowercase "'AaÀàÁáÂâÃãÄäÅåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌDžDzȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚLjȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠNjǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ'"> +<!ENTITY uppercase "'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'"> +<!ENTITY primary   'normalize-space(concat(primary/@sortas, primary[not(@sortas) or @sortas = ""]))'> +<!ENTITY scope     "count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))"> +]> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                version="1.0"> + +  <!-- This stylesheet controls how the Index is generated. +       Entities comes from {docbook-xsl}/common/entities.ent --> + +    <!-- Override for punctuation separating an index term from its list +         of page references. --> +  <xsl:param name="index.term.separator" select="': '"></xsl:param> + +    <!-- Divisions title properties. --> +  <xsl:attribute-set name="index.div.title.properties"> +    <xsl:attribute name="margin-left">0pt</xsl:attribute> +    <xsl:attribute name="font-size">14.4pt</xsl:attribute> +    <xsl:attribute name="font-family"> +      <xsl:value-of select="$title.fontset"/> +    </xsl:attribute> +    <xsl:attribute name="font-weight">bold</xsl:attribute> +    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +    <xsl:attribute name="space-before.optimum">1em</xsl:attribute> +    <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> +    <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> +    <xsl:attribute name="space-after.optimum">0.5em</xsl:attribute> +    <xsl:attribute name="space-after.minimum">0.3em</xsl:attribute> +    <xsl:attribute name="space-after.maximum">0.7em</xsl:attribute> +    <xsl:attribute name="start-indent">0pt</xsl:attribute> +  </xsl:attribute-set> + +    <!-- Properties applied to the block containing entries in an Index. --> +  <xsl:attribute-set name="index.entry.properties"> +    <xsl:attribute name="start-indent">0.5pc</xsl:attribute> +  </xsl:attribute-set> + +    <!-- Divisions: +          Translate alphabetical divisons titles to by-type titles. --> +    <!-- The original template is in {docbook-xsl}/fo/autoidx.xsl --> +  <xsl:template match="indexterm" mode="index-div-basic"> +    <xsl:param name="scope" select="."/> +    <xsl:param name="role" select="''"/> +    <xsl:param name="type" select="''"/> +    <xsl:variable name="key" +                  select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/> +    <xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/> +    <xsl:if test="key('letter', $key)[&scope;] +                  [count(.|key('primary', &primary;)[&scope;][1]) = 1]"> +      <fo:block> +        <xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)"> +          <xsl:call-template name="indexdiv.title"> +            <xsl:with-param name="titlecontent"> +              <xsl:choose> +                <xsl:when test="$divtitle = 'A'"> +                  <xsl:call-template name="gentext"> +                    <xsl:with-param name="key">Packages</xsl:with-param> +                  </xsl:call-template> +                </xsl:when> +                <xsl:when test="$divtitle = 'B'"> +                  <xsl:call-template name="gentext"> +                    <xsl:with-param name="key">Programs</xsl:with-param> +                  </xsl:call-template> +                </xsl:when> +                <xsl:when test="$divtitle = 'C'"> +                  <xsl:call-template name="gentext"> +                    <xsl:with-param name="key">Libraries</xsl:with-param> +                  </xsl:call-template> +                </xsl:when> +                <xsl:when test="$divtitle = 'D'"> +                  <xsl:choose> +                    <xsl:when test="$book-type = 'blfs'"> +                      <xsl:call-template name="gentext"> +                        <xsl:with-param name="key">Kernel Configuration</xsl:with-param> +                      </xsl:call-template> +                    </xsl:when> +                    <xsl:otherwise> +                      <xsl:call-template name="gentext"> +                        <xsl:with-param name="key">Scripts</xsl:with-param> +                      </xsl:call-template> +                    </xsl:otherwise> +                  </xsl:choose> +                </xsl:when> +                <xsl:when test="$divtitle = 'E'"> +                  <xsl:choose> +                    <xsl:when test="$book-type = 'blfs'"> +                      <xsl:call-template name="gentext"> +                        <xsl:with-param name="key">Configuration Files</xsl:with-param> +                      </xsl:call-template> +                    </xsl:when> +                    <xsl:otherwise> +                      <xsl:call-template name="gentext"> +                        <xsl:with-param name="key">Others</xsl:with-param> +                      </xsl:call-template> +                    </xsl:otherwise> +                  </xsl:choose> +                </xsl:when> +                <xsl:when test="$divtitle = 'F'"> +                    <xsl:call-template name="gentext"> +                      <xsl:with-param name="key">Bootscripts</xsl:with-param> +                    </xsl:call-template> +                </xsl:when> +                <xsl:when test="$divtitle = 'G'"> +                    <xsl:call-template name="gentext"> +                      <xsl:with-param name="key">Others</xsl:with-param> +                    </xsl:call-template> +                </xsl:when> +                <xsl:otherwise> +                  <xsl:value-of select="$divtitle"/> +                </xsl:otherwise> +              </xsl:choose> +            </xsl:with-param> +          </xsl:call-template> +        </xsl:if> +        <fo:block xsl:use-attribute-sets="index.entry.properties"> +          <xsl:apply-templates select="key('letter', $key)[&scope;] +                                      [count(.|key('primary', &primary;)[&scope;][1])=1]" +                              mode="index-primary"> +            <xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/> +            <xsl:with-param name="scope" select="$scope"/> +            <xsl:with-param name="role" select="$role"/> +            <xsl:with-param name="type" select="$type"/> +          </xsl:apply-templates> +        </fo:block> +      </fo:block> +    </xsl:if> +  </xsl:template> + +</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-lists.xsl.svn-base b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-lists.xsl.svn-base new file mode 100644 index 0000000..34dfc73 --- /dev/null +++ b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-lists.xsl.svn-base @@ -0,0 +1,174 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!-- +$LastChangedBy$ +$Date$ +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                version="1.0"> + +  <!-- This stylesheet controls how list are generated. --> + +    <!-- What spacing do you want before and after lists? --> +  <xsl:attribute-set name="list.block.spacing"> +    <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-set> + +    <!-- What spacing do you want between list items? --> +  <xsl:attribute-set name="list.item.spacing"> +    <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute> +    <xsl:attribute name="space-before.minimum">0.2em</xsl:attribute> +    <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute> +  </xsl:attribute-set> + +    <!-- Properties that apply to each list-block generated by itemizedlist. --> +  <xsl:attribute-set name="itemizedlist.properties" +                     use-attribute-sets="list.block.properties"> +    <xsl:attribute name="text-align">left</xsl:attribute> +  </xsl:attribute-set> + +    <!-- Format variablelists lists as blocks? 1 = yes, 0 = no +           Default variablelist format. We override it when necesary +           using the list-presentation processing instruction. --> +  <xsl:param name="variablelist.as.blocks" select="1"/> + +    <!-- Specifies the longest term in variablelists. +         Used when list-presentation = list --> +  <xsl:param name="variablelist.max.termlength">35</xsl:param> + +    <!-- varlistentry mode block: +           Addibg a bullet, left alignament, and @kepp-*.* attributes +           for packages and paches list. --> +    <!-- The original template is in {docbook-xsl}/fo/list.xsl --> +  <xsl:template match="varlistentry" mode="vl.as.blocks"> +    <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> +    <xsl:choose> +      <xsl:when test="ancestor::variablelist/@role = 'materials'"> +        <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing" +                  keep-together.within-column="always" font-weight="bold" +                  keep-with-next.within-column="always" text-align="left"> +          <xsl:text>•   </xsl:text> +          <xsl:apply-templates select="term"/> +        </fo:block> +        <fo:block text-align="left" +                  keep-together.within-column="always" +                  keep-with-previous.within-column="always"> +          <xsl:apply-templates select="listitem"/> +        </fo:block> +      </xsl:when> +      <xsl:otherwise> +        <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing" +                  keep-together.within-column="always" +                  keep-with-next.within-column="always" margin-left="1em"> +          <xsl:apply-templates select="term"/> +        </fo:block> +        <fo:block margin-left="2em"> +          <xsl:apply-templates select="listitem"/> +        </fo:block> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:template> + +    <!-- segmentedlist: +           Making it an actual FO list to can indent items. +           Adjust vertical space. --> +    <!-- The original template is in {docbook-xsl}/fo/list.xsl --> +  <xsl:template match="segmentedlist"> +    <xsl:variable name="id"> +      <xsl:call-template name="object.id"/> +    </xsl:variable> +    <fo:list-block id="{$id}" provisional-distance-between-starts="12em" +                   provisional-label-separation="1em" +                   keep-together.within-column="always"> +      <xsl:choose> +        <xsl:when test="ancestor::appendix[@id='appendixc']"> +          <xsl:attribute name="space-before.optimum">0.2em</xsl:attribute> +          <xsl:attribute name="space-before.minimum">0em</xsl:attribute> +          <xsl:attribute name="space-before.maximum">0.4em</xsl:attribute> +          <xsl:attribute name="space-after.optimum">0.2em</xsl:attribute> +          <xsl:attribute name="space-after.minimum">0em</xsl:attribute> +          <xsl:attribute name="space-after.maximum">0.4em</xsl:attribute> +          <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute> +        </xsl:when> +        <xsl:otherwise> +          <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute> +          <xsl:attribute name="space-before.minimum">0.2em</xsl:attribute> +          <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute> +          <xsl:attribute name="space-after.optimum">0.4em</xsl:attribute> +          <xsl:attribute name="space-after.minimum">0.2em</xsl:attribute> +          <xsl:attribute name="space-after.maximum">0.6em</xsl:attribute> +        </xsl:otherwise> +      </xsl:choose> +      <xsl:apply-templates select="seglistitem/seg"/> +    </fo:list-block> +  </xsl:template> + +    <!-- seg: +           Self-made template based on the original seg template +           found in {docbook-xsl}/fo/list.xsl +           Making segmentedlist an actual FO list to can indent items. --> +  <xsl:template match="seglistitem/seg"> +    <xsl:variable name="id"> +      <xsl:call-template name="object.id"/> +    </xsl:variable> +    <xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/> +    <xsl:variable name="seglist" select="ancestor::segmentedlist"/> +    <xsl:variable name="segtitles" select="$seglist/segtitle"/> +    <fo:list-item xsl:use-attribute-sets="compact.list.item.spacing"> +      <fo:list-item-label end-indent="label-end()" text-align="start"> +        <fo:block> +          <fo:inline font-weight="bold"> +            <xsl:apply-templates select="$segtitles[$segnum=position()]" +                                 mode="segtitle-in-seg"/> +            <xsl:text>:</xsl:text> +          </fo:inline> +        </fo:block> +      </fo:list-item-label> +      <fo:list-item-body start-indent="body-start()"> +        <fo:block id="{$id}"> +          <xsl:apply-templates/> +        </fo:block> +      </fo:list-item-body> +    </fo:list-item> +  </xsl:template> + +    <!-- simplelist: +           Self-made template. Wrap it into a fo:block and process member childs. +           If @type is specified, the original templates will be used. +           NOTE: when using type='horiz' or type='vert', FOP-0.93 will complaints +             about not supported table-layout="auto" --> +  <xsl:template match="simplelist"> +    <fo:block xsl:use-attribute-sets="simplelist.properties"> +      <xsl:apply-templates mode="condensed"/> +    </fo:block> +  </xsl:template> + +    <!-- member: +           Self-made template to wrap it into a fo:block using customized +           properties. --> +  <xsl:template match="member" mode="condensed"> +    <fo:block xsl:use-attribute-sets="simplelist.properties"> +      <xsl:call-template name="simple.xlink"> +        <xsl:with-param name="content"> +          <xsl:apply-templates/> +        </xsl:with-param> +      </xsl:call-template> +    </fo:block> +  </xsl:template> + +    <!-- Properties associated with our simplelist format. --> +  <xsl:attribute-set name="simplelist.properties"> +    <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute> +    <xsl:attribute name="space-before.optimum">0em</xsl:attribute> +    <xsl:attribute name="space-before.minimum">0em</xsl:attribute> +    <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute> +  </xsl:attribute-set> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-mixed.xsl.svn-base b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-mixed.xsl.svn-base new file mode 100644 index 0000000..99fcc40 --- /dev/null +++ b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-mixed.xsl.svn-base @@ -0,0 +1,360 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!-- +$LastChangedBy$ +$Date$ +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                version="1.0"> + +  <!-- This stylesheet contains misc params, attribute sets and templates +       for output formating. +       This file is for that templates that don't fit in other files. --> + +    <!-- What space do you want between normal paragraphs. --> +  <xsl:attribute-set name="normal.para.spacing"> +    <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="orphans">3</xsl:attribute> +    <xsl:attribute name="widows">3</xsl:attribute> +  </xsl:attribute-set> + +    <!-- Properties associated with verbatim text. --> +  <xsl:attribute-set name="verbatim.properties"> +    <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute> +    <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="hyphenate">false</xsl:attribute> +    <xsl:attribute name="wrap-option">no-wrap</xsl:attribute> +    <xsl:attribute name="white-space-collapse">false</xsl:attribute> +    <xsl:attribute name="white-space-treatment">preserve</xsl:attribute> +    <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute> +    <xsl:attribute name="text-align">start</xsl:attribute> +  </xsl:attribute-set> + +    <!-- Should verbatim environments be shaded? 1 =yes, 0 = no --> +  <xsl:param name="shade.verbatim" select="1"/> + +    <!-- Properties that specify the style of shaded verbatim listings --> +  <xsl:attribute-set name="shade.verbatim.style"> +    <xsl:attribute name="background-color">#E9E9E9</xsl:attribute> +    <xsl:attribute name="border-style">solid</xsl:attribute> +    <xsl:attribute name="border-width">0.5pt</xsl:attribute> +    <xsl:attribute name="border-color">#888</xsl:attribute> +    <xsl:attribute name="padding-start">5pt</xsl:attribute> +    <xsl:attribute name="padding-top">2pt</xsl:attribute> +    <xsl:attribute name="padding-bottom">2pt</xsl:attribute> +  </xsl:attribute-set> + +    <!-- para: +           Skip empty "Home page" in packages.xml. +           Allow forced line breaks inside paragraphs emulating literallayout. +           Removed vertical space in variablelist. --> +    <!-- The original template is in {docbook-xsl}/fo/block.xsl --> +  <xsl:template match="para"> +    <xsl:choose> +      <xsl:when test="child::ulink[@url=' ']"/> +      <xsl:when test="./@remap='verbatim'"> +        <fo:block xsl:use-attribute-sets="verbatim.properties"> +          <xsl:call-template name="anchor"/> +          <xsl:apply-templates/> +        </fo:block> +      </xsl:when> +      <xsl:when test="ancestor::variablelist"> +        <fo:block> +          <xsl:attribute name="space-before.optimum">0.1em</xsl:attribute> +          <xsl:attribute name="space-before.minimum">0em</xsl:attribute> +          <xsl:attribute name="space-before.maximum">0.2em</xsl:attribute> +          <xsl:call-template name="anchor"/> +          <xsl:apply-templates/> +        </fo:block> +      </xsl:when> +      <xsl:otherwise> +        <fo:block xsl:use-attribute-sets="normal.para.spacing"> +          <xsl:call-template name="anchor"/> +          <xsl:apply-templates/> +        </fo:block> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:template> + +    <!-- screen, literallayout: +          Self-made template that creates a fo:block wrapper with keep-together +          processing instruction support around the output generated by +          original screen templates. --> +  <xsl:template match="screen|literallayout"> +    <xsl:variable name="keep.together"> +      <xsl:call-template name="pi.dbfo_keep-together"/> +    </xsl:variable> +    <fo:block> +      <xsl:attribute name="keep-together.within-column"> +        <xsl:choose> +          <xsl:when test="$keep.together != ''"> +            <xsl:value-of select="$keep.together"/> +          </xsl:when> +          <xsl:otherwise>always</xsl:otherwise> +        </xsl:choose> +      </xsl:attribute> +      <xsl:apply-imports/> +    </fo:block> +  </xsl:template> + +    <!-- literal: +           Be sure that literal will use allways normal font weight. --> +    <!-- The original template is in {docbook-xsl}/fo/inline.xsl --> +  <xsl:template match="literal"> +    <fo:inline  font-weight="normal"> +      <xsl:call-template name="inline.monoseq"/> +    </fo:inline> +  </xsl:template> + +    <!-- inline.monoseq: +           Added hyphenate-url support to classname, exceptionname, interfacename, +           methodname, computeroutput, constant, envar, filename, function, code, +           literal, option, promt, systemitem, varname, sgmltag, tag, and uri --> +    <!-- The original template is in {docbook-xsl}/fo/inline.xsl --> +  <xsl:template name="inline.monoseq"> +    <xsl:param name="content"> +      <xsl:call-template name="simple.xlink"> +        <xsl:with-param name="content"> +          <xsl:choose> +            <xsl:when test="ancestor::para and not(ancestor::screen) +                            and not(descendant::ulink)"> +              <xsl:call-template name="hyphenate-url"> +                <xsl:with-param name="url"> +                  <xsl:apply-templates/> +                </xsl:with-param> +              </xsl:call-template> +            </xsl:when> +            <xsl:otherwise> +              <xsl:apply-templates/> +            </xsl:otherwise> +          </xsl:choose> +        </xsl:with-param> +      </xsl:call-template> +    </xsl:param> +    <fo:inline xsl:use-attribute-sets="monospace.properties"> +      <xsl:if test="@dir"> +        <xsl:attribute name="direction"> +          <xsl:choose> +            <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when> +            <xsl:otherwise>rtl</xsl:otherwise> +          </xsl:choose> +        </xsl:attribute> +      </xsl:if> +      <xsl:copy-of select="$content"/> +    </fo:inline> +  </xsl:template> + +    <!-- inline.italicmonoseq: +           Added hyphenate-url support to parameter, replaceable, structfield, +           function/parameter, and function/replaceable --> +    <!-- The original template is in {docbook-xsl}/fo/inline.xsl --> +  <xsl:template name="inline.italicmonoseq"> +    <xsl:param name="content"> +      <xsl:call-template name="simple.xlink"> +        <xsl:with-param name="content"> +          <xsl:choose> +            <xsl:when test="ancestor::para and not(ancestor::screen) +                            and not(descendant::ulink)"> +              <xsl:call-template name="hyphenate-url"> +                <xsl:with-param name="url"> +                  <xsl:apply-templates/> +                </xsl:with-param> +              </xsl:call-template> +            </xsl:when> +            <xsl:otherwise> +              <xsl:apply-templates/> +            </xsl:otherwise> +          </xsl:choose> +        </xsl:with-param> +      </xsl:call-template> +    </xsl:param> +    <fo:inline font-style="italic" xsl:use-attribute-sets="monospace.properties"> +      <xsl:call-template name="anchor"/> +      <xsl:if test="@dir"> +        <xsl:attribute name="direction"> +          <xsl:choose> +            <xsl:when test="@dir = 'ltr' or @dir = 'lro'">ltr</xsl:when> +            <xsl:otherwise>rtl</xsl:otherwise> +          </xsl:choose> +        </xsl:attribute> +      </xsl:if> +      <xsl:copy-of select="$content"/> +    </fo:inline> +  </xsl:template> + +    <!-- Show external URLs in italic font --> +  <xsl:attribute-set name="xref.properties"> +    <xsl:attribute name="font-style"> +      <xsl:choose> +        <xsl:when test="self::ulink">italic</xsl:when> +        <xsl:otherwise>inherit</xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +  </xsl:attribute-set> + +   <!-- Center table title. --> +  <xsl:attribute-set name="formal.title.properties"> +    <xsl:attribute name="text-align"> +      <xsl:choose> +        <xsl:when test="local-name(.) = 'table'">center</xsl:when> +        <xsl:otherwise>left</xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +  </xsl:attribute-set> + +    <!-- table.layout: +           We want all tables centered. Based on a hack posted +           by Ellen Juhlin on docbook-apps mailing list. --> +    <!-- The original template is in {docbook-xsl}/fo/table.xsl --> +  <xsl:template name="table.layout"> +    <xsl:param name="table.content" select="NOTANODE"/> +    <fo:table table-layout="fixed" width="100%"> +      <fo:table-column column-width ="proportional-column-width(1)"/> +      <fo:table-column> +        <!-- Set center column width equal to table width --> +        <xsl:attribute name="column-width"> +          <xsl:call-template name="table.width"/> +        </xsl:attribute> +      </fo:table-column> +      <fo:table-column column-width ="proportional-column-width(1)"/> +      <fo:table-body> +        <fo:table-row> +          <fo:table-cell column-number="2"> +            <xsl:copy-of select="$table.content"/> +          </fo:table-cell> +        </fo:table-row> +      </fo:table-body> +    </fo:table> +  </xsl:template> + + +  <!-- Revision History --> + +    <!-- revhistory titlepage: +           Self-made template to add missing support on bookinfo. --> +  <xsl:template match="revhistory" mode="book.titlepage.verso.auto.mode"> +    <fo:block space-before.optimum="2em" +              space-before.minimum="1.5em" +              space-before.maximum="2.5em"> +      <xsl:apply-templates select="." mode="book.titlepage.verso.mode"/> +    </fo:block> +  </xsl:template> + +    <!-- revhitory title properties --> +  <xsl:attribute-set name="revhistory.title.properties"> +    <xsl:attribute name="text-align">center</xsl:attribute> +    <xsl:attribute name="font-weight">bold</xsl:attribute> +  </xsl:attribute-set> + +    <!-- revhistory/revision mode titlepage.mode: +           Removed authorinitials | author support placing +           revremark | revdescription instead on that table-cell. --> +    <!-- The original template is in {docbook-xsl}/fo/titlepage.xsl --> +  <xsl:template match="revhistory/revision" mode="titlepage.mode"> +    <xsl:variable name="revnumber" select="revnumber"/> +    <xsl:variable name="revdate"   select="date"/> +    <xsl:variable name="revremark" select="revremark|revdescription"/> +    <fo:table-row> +      <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> +        <fo:block> +          <xsl:if test="$revnumber"> +            <xsl:call-template name="gentext"> +              <xsl:with-param name="key" select="'Revision'"/> +            </xsl:call-template> +            <xsl:call-template name="gentext.space"/> +            <xsl:apply-templates select="$revnumber[1]" mode="titlepage.mode"/> +          </xsl:if> +        </fo:block> +      </fo:table-cell> +      <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> +        <fo:block> +          <xsl:apply-templates select="$revdate[1]"/> +        </fo:block> +      </fo:table-cell> +      <fo:table-cell xsl:use-attribute-sets="revhistory.table.cell.properties"> +        <fo:block> +          <xsl:apply-templates select="$revremark[1]"/> +        </fo:block> +      </fo:table-cell> +    </fo:table-row> +  </xsl:template> + + +  <!-- Dummy sect1 --> + +    <!-- sect1: +           Self-made template to skip dummy sect1 pages generation. --> +  <xsl:template match="sect1"> +    <xsl:choose> +      <xsl:when test="@role = 'dummy'"/> +      <xsl:otherwise> +        <xsl:apply-imports/> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:template> + +    <!-- sect1 mode fop1.outline: +           Self-made template to skip dummy sect1 bookmarks generation. --> +  <xsl:template match="sect1" mode="fop1.outline"> +    <xsl:choose> +      <xsl:when test="@role = 'dummy'"/> +      <xsl:otherwise> +        <xsl:apply-imports/> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:template> + +    <!-- toc.line: +           For dummy sect1 output only the title. --> +    <!-- The original template is in {docbook-xsl}/fo/autotoc.xsl --> +  <xsl:template name="toc.line"> +    <xsl:param name="toc-context" select="NOTANODE"/> +    <xsl:variable name="id"> +      <xsl:call-template name="object.id"/> +    </xsl:variable> +    <xsl:variable name="label"> +      <xsl:apply-templates select="." mode="label.markup"/> +    </xsl:variable> +    <xsl:choose> +      <xsl:when test="@role = 'dummy'"> +        <fo:block text-align="left"> +          <xsl:apply-templates select="." mode="titleabbrev.markup"/> +        </fo:block> +      </xsl:when> +      <xsl:otherwise> +        <fo:block xsl:use-attribute-sets="toc.line.properties"> +          <fo:inline keep-with-next.within-line="always"> +            <fo:basic-link internal-destination="{$id}"> +              <xsl:if test="$label != ''"> +                <xsl:copy-of select="$label"/> +                <xsl:value-of select="$autotoc.label.separator"/> +              </xsl:if> +              <xsl:apply-templates select="." mode="titleabbrev.markup"/> +            </fo:basic-link> +          </fo:inline> +          <fo:inline keep-together.within-line="always"> +            <xsl:text> </xsl:text> +            <fo:leader leader-pattern="dots" +                       leader-pattern-width="3pt" +                       leader-alignment="reference-area" +                       keep-with-next.within-line="always"/> +            <xsl:text> </xsl:text> +            <fo:basic-link internal-destination="{$id}"> +              <fo:page-number-citation ref-id="{$id}"/> +            </fo:basic-link> +          </fo:inline> +        </fo:block> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:template> + +</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-pagesetup.xsl.svn-base b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-pagesetup.xsl.svn-base new file mode 100644 index 0000000..ae30a4c --- /dev/null +++ b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-pagesetup.xsl.svn-base @@ -0,0 +1,249 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!-- +$LastChangedBy$ +$Date$ +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                version="1.0"> + +  <!-- This stylesheet controls page margins, sections page break, +       header content and titles size. --> + +    <!-- The inner page margin. --> +  <xsl:param name="page.margin.inner" select="'0.32in'"/> + +    <!-- The outer page margin. --> +  <xsl:param name="page.margin.outer" select="'0.32in'"/> + +    <!-- The bottom margin of the page. --> +  <xsl:param name="page.margin.bottom" select="'0.35in'"/> + +    <!-- The top margin of the page. --> +  <xsl:param name="page.margin.top" select="'0.35in'"/> + +    <!-- 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> + +    <!-- Default table width on tables that do not specify an alternate +         width using the dbfo processing instruction. +         This value is used also on bookinfo/revhistory table. --> +  <xsl:param name="default.table.width" select="'70%'"/> + +    <!-- Properties for component titles --> +  <xsl:attribute-set name="component.title.properties"> +    <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> +    <xsl:attribute name="space-before.optimum"> +      <xsl:value-of select="concat($body.font.master, 'pt')"/> +    </xsl:attribute> +    <xsl:attribute name="space-before.minimum"> +      <xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/> +    </xsl:attribute> +    <xsl:attribute name="space-before.maximum"> +      <xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/> +    </xsl:attribute> +    <xsl:attribute name="hyphenate">false</xsl:attribute> +    <xsl:attribute name="text-align"> +      <xsl:choose> +        <xsl:when test="((parent::article | parent::articleinfo | +                          parent::info/parent::article) +                          and not(ancestor::book) and not(self::bibliography)) +                        or (parent::slides | parent::slidesinfo) +                        or self::index">center</xsl:when> +        <xsl:otherwise>left</xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +    <xsl:attribute name="start-indent"> +      <xsl:value-of select="$title.margin.left"/> +    </xsl:attribute> +  </xsl:attribute-set> + +    <!-- 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 unneeded fo:marker are generated. --> +  <xsl:param name="marker.section.level" select="-1"></xsl:param> + +     <!-- Force package's sect1 onto a new page --> +  <xsl:attribute-set name="section.level1.properties"> +    <xsl:attribute name="break-before"> +      <xsl:choose> +        <!--<xsl:when test="not(. = //*/sect1[1])"> +          <xsl:text>page</xsl:text> +        </xsl:when>--> +        <xsl:when test="preceding-sibling::sect1[position()=1]/sect2/@role='package' +                        or self::sect1/sect2/@role='package'">page</xsl:when> +        <xsl:otherwise> +          <xsl:text>auto</xsl:text> +        </xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +  </xsl:attribute-set> + +    <!-- part/partintro: +           Be sure that partintro is on a new page. --> +    <!-- The original template is in {docbook-xsl}/fo/divisions.xsl --> +  <xsl:template match="part/partintro"> +    <xsl:apply-templates select=".." mode="part.titlepage.mode"> +      <xsl:with-param name="additional.content"> +        <fo:block break-before="page"/> +        <xsl:if test="title"> +          <xsl:call-template name="partintro.titlepage"/> +        </xsl:if> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:apply-templates> +    <xsl:call-template name="generate.part.toc"> +      <xsl:with-param name="part" select=".."/> +    </xsl:call-template> +  </xsl:template> + +    <!-- book title: +          Centered the title and removed unused code. +          Removed book.titlepage.separator. --> +    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl --> +  <xsl:template name="book.titlepage"> +    <fo:block margin-top="3in"> +      <fo:block> +        <xsl:call-template name="book.titlepage.before.recto"/> +        <xsl:call-template name="book.titlepage.recto"/> +      </fo:block> +      <fo:block> +        <xsl:call-template name="book.titlepage.before.verso"/> +        <xsl:call-template name="book.titlepage.verso"/> +      </fo:block> +    </fo:block> +  </xsl:template> + +    <!-- book titlepage verso: +           Added missing bibliosource and revhistory support. +           Removed unused code. --> +    <!-- The original template is in {docbook-xsl}/fo/titlepage.templates.xsl --> +  <xsl:template name="book.titlepage.verso"> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/bibliosource"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/revhistory"/> +    <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/> +  </xsl:template> + +    <!-- bibliosource: +           Self-made template to handle bibliosource when inside bookinfo. --> +  <xsl:template match="bibliosource" mode="book.titlepage.verso.auto.mode"> +    <fo:block font-size="8pt"> +      <xsl:apply-templates/> +    </fo:block> +  </xsl:template> + +    <!-- 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 margin-top="3.5in"> +        <xsl:call-template name="part.titlepage.before.recto"/> +        <xsl:call-template name="part.titlepage.recto"/> +      </fo:block> +      <fo:block> +        <xsl:call-template name="part.titlepage.before.verso"/> +        <xsl:call-template name="part.titlepage.verso"/> +      </fo:block> +      <xsl:call-template name="part.titlepage.separator"/> +    </fo:block> +  </xsl:template> + +    <!-- 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 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> + +    <!-- sect2 title: +           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> + +   <!-- header.table: +          Re-made template to not generate a fo:table in the header, +          allowing a more simple header.content customization. --> +    <!-- 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> diff --git a/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-xref.xsl.svn-base b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-xref.xsl.svn-base new file mode 100644 index 0000000..a3aaa07 --- /dev/null +++ b/stylesheets/lfs-xsl/pdf/.svn/text-base/lfs-xref.xsl.svn-base @@ -0,0 +1,169 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!-- +$LastChangedBy$ +$Date$ +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:xlink="http://www.w3.org/1999/xlink" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                exclude-result-prefixes="xlink" +                version="1.0"> + + +  <!-- This stylesheet fixes English punctuation in xref links +       (as was requested by the publisher) via adding @role propagation +       in xref tags. +       This hack may not work with xref flavours not used in the book. +       For other languages, just remove the xref @role attributes +       in the book XML sources and/or comment-out the inclusion of +       this file in lfs-pdf.xsl --> + +     <!--  xref: +           Added role variable and use it when calling mode xref-to.--> +    <!-- The original template is in {docbook-xsl}/fo/xref.xsl --> +  <xsl:template match="xref" name="xref"> +    <xsl:param name="xhref" select="@xlink:href"/> +    <!-- is the @xlink:href a local idref link? --> +    <xsl:param name="xlink.idref"> +      <xsl:if test="starts-with($xhref,'#') +                    and (not(contains($xhref,'(')) +                    or starts-with($xhref, '#xpointer(id('))"> +        <xsl:call-template name="xpointer.idref"> +          <xsl:with-param name="xpointer" select="$xhref"/> +        </xsl:call-template> +    </xsl:if> +    </xsl:param> +    <xsl:param name="xlink.targets" select="key('id',$xlink.idref)"/> +    <xsl:param name="linkend.targets" select="key('id',@linkend)"/> +    <xsl:param name="target" select="($xlink.targets | $linkend.targets)[1]"/> +    <xsl:param name="refelem" select="local-name($target)"/> +      <!-- Added role variable --> +    <xsl:variable name="role" select="@role"/> +    <xsl:variable name="xrefstyle"> +      <xsl:choose> +        <xsl:when test="@role and not(@xrefstyle) +                        and $use.role.as.xrefstyle != 0"> +          <xsl:value-of select="@role"/> +        </xsl:when> +        <xsl:otherwise> +          <xsl:value-of select="@xrefstyle"/> +        </xsl:otherwise> +      </xsl:choose> +    </xsl:variable> +    <xsl:variable name="content"> +      <fo:inline xsl:use-attribute-sets="xref.properties"> +        <xsl:choose> +          <xsl:when test="@endterm"> +            <xsl:variable name="etargets" select="key('id',@endterm)"/> +            <xsl:variable name="etarget" select="$etargets[1]"/> +            <xsl:choose> +              <xsl:when test="count($etarget) = 0"> +                <xsl:message> +                  <xsl:value-of select="count($etargets)"/> +                  <xsl:text>Endterm points to nonexistent ID: </xsl:text> +                  <xsl:value-of select="@endterm"/> +                </xsl:message> +                <xsl:text>???</xsl:text> +              </xsl:when> +              <xsl:otherwise> +                <xsl:apply-templates select="$etarget" mode="endterm"/> +              </xsl:otherwise> +            </xsl:choose> +          </xsl:when> +          <xsl:when test="$target/@xreflabel"> +            <xsl:call-template name="xref.xreflabel"> +              <xsl:with-param name="target" select="$target"/> +            </xsl:call-template> +          </xsl:when> +          <xsl:when test="$target"> +            <xsl:if test="not(parent::citation)"> +              <xsl:apply-templates select="$target" mode="xref-to-prefix"/> +            </xsl:if> +            <xsl:apply-templates select="$target" mode="xref-to"> +              <xsl:with-param name="referrer" select="."/> +              <xsl:with-param name="xrefstyle" select="$xrefstyle"/> +              <!-- Propagate role --> +              <xsl:with-param name="role" select="$role"/> +            </xsl:apply-templates> +            <xsl:if test="not(parent::citation)"> +              <xsl:apply-templates select="$target" mode="xref-to-suffix"/> +            </xsl:if> +          </xsl:when> +          <xsl:otherwise> +            <xsl:message> +              <xsl:text>ERROR: xref linking to </xsl:text> +              <xsl:value-of select="@linkend|@xlink:href"/> +              <xsl:text> has no generated link text.</xsl:text> +            </xsl:message> +            <xsl:text>???</xsl:text> +          </xsl:otherwise> +        </xsl:choose> +      </fo:inline> +    </xsl:variable> +    <!-- Convert it into an active link --> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content" select="$content"/> +    </xsl:call-template> +    <!-- Add standard page reference? --> +    <xsl:choose> +      <xsl:when test="not($target)"> +        <!-- page numbers only for local targets --> +      </xsl:when> +      <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:') +                    and contains($xrefstyle, 'nopage')"> +        <!-- negative xrefstyle in instance turns it off --> +      </xsl:when> +      <!-- positive xrefstyle already handles it --> +      <xsl:when test="not(starts-with(normalize-space($xrefstyle), 'select:') +                    and (contains($xrefstyle, 'page') +                        or contains($xrefstyle, 'Page'))) +                    and ( $insert.xref.page.number = 'yes' +                      or $insert.xref.page.number = '1') +                    or local-name($target) = 'para'"> +        <xsl:apply-templates select="$target" mode="page.citation"> +          <xsl:with-param name="id" select="$target/@id|$target/@xml:id"/> +        </xsl:apply-templates> +      </xsl:when> +    </xsl:choose> +  </xsl:template> + +    <!-- sect* mode xref-to: +           Propagate role to mode object.xref.markup (see ../lfs-common.xsl) --> +    <!-- The original template is in {docbook-xsl}/fo/xref.xsl --> +  <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5 +                      |refsect1|refsect2|refsect3|refsection" mode="xref-to"> +    <xsl:param name="referrer"/> +    <xsl:param name="xrefstyle"/> +    <xsl:param name="verbose" select="1"/> +    <xsl:param name="role"/> +    <xsl:apply-templates select="." mode="object.xref.markup"> +      <xsl:with-param name="purpose" select="'xref'"/> +      <xsl:with-param name="xrefstyle" select="$xrefstyle"/> +      <xsl:with-param name="referrer" select="$referrer"/> +      <xsl:with-param name="verbose" select="$verbose"/> +      <xsl:with-param name="role" select="$role"/> +    </xsl:apply-templates> +  </xsl:template> + +    <!-- insert.title.markup: +           Apply the role value. --> +    <!-- The original template is in {docbook-xsl}/fo/xref.xsl --> +  <xsl:template match="*" mode="insert.title.markup"> +    <xsl:param name="purpose"/> +    <xsl:param name="xrefstyle"/> +    <xsl:param name="title"/> +    <xsl:param name="role"/> +    <xsl:choose> +      <xsl:when test="$purpose = 'xref' and titleabbrev"> +        <xsl:apply-templates select="." mode="titleabbrev.markup"/> +      </xsl:when> +      <xsl:otherwise> +        <xsl:copy-of select="$title"/> +        <xsl:value-of select="$role"/> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:template> + +</xsl:stylesheet>  | 
