lfs-pagesetup.xsl 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version='1.0' encoding='ISO-8859-1'?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:fo="http://www.w3.org/1999/XSL/Format"
  4. version="1.0">
  5. <!-- Header -->
  6. <xsl:template name="header.content">
  7. <xsl:param name="sequence" select="''"/>
  8. <fo:block>
  9. <xsl:attribute name="text-align">
  10. <xsl:choose>
  11. <xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
  12. <xsl:otherwise>left</xsl:otherwise>
  13. </xsl:choose>
  14. </xsl:attribute>
  15. <xsl:value-of select="/book/bookinfo/title"/>
  16. <xsl:text> - </xsl:text>
  17. <xsl:value-of select="/book/bookinfo/subtitle"/>
  18. </fo:block>
  19. </xsl:template>
  20. <xsl:template name="header.table">
  21. <xsl:param name="sequence" select="''"/>
  22. <xsl:param name="gentext-key" select="''"/>
  23. <xsl:choose>
  24. <xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
  25. <xsl:otherwise>
  26. <xsl:call-template name="header.content">
  27. <xsl:with-param name="sequence" select="$sequence"/>
  28. </xsl:call-template>
  29. </xsl:otherwise>
  30. </xsl:choose>
  31. </xsl:template>
  32. <!-- Centered titles for book and part -->
  33. <xsl:template name="book.titlepage">
  34. <fo:block space-before="2in">
  35. <fo:block>
  36. <xsl:call-template name="book.titlepage.before.recto"/>
  37. <xsl:call-template name="book.titlepage.recto"/>
  38. </fo:block>
  39. <fo:block>
  40. <xsl:call-template name="book.titlepage.before.verso"/>
  41. <xsl:call-template name="book.titlepage.verso"/>
  42. </fo:block>
  43. <xsl:call-template name="book.titlepage.separator"/>
  44. </fo:block>
  45. </xsl:template>
  46. <xsl:template name="part.titlepage">
  47. <fo:block>
  48. <fo:block space-before="2.5in">
  49. <xsl:call-template name="part.titlepage.before.recto"/>
  50. <xsl:call-template name="part.titlepage.recto"/>
  51. </fo:block>
  52. <fo:block>
  53. <xsl:call-template name="part.titlepage.before.verso"/>
  54. <xsl:call-template name="part.titlepage.verso"/>
  55. </fo:block>
  56. <xsl:call-template name="part.titlepage.separator"/>
  57. </fo:block>
  58. </xsl:template>
  59. <!-- Font size for chapter title. -->
  60. <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
  61. <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"
  62. xsl:use-attribute-sets="chapter.titlepage.recto.style"
  63. font-size="21pt" font-weight="bold" text-align="left">
  64. <xsl:call-template name="component.title">
  65. <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
  66. </xsl:call-template>
  67. </fo:block>
  68. </xsl:template>
  69. <!-- Margins -->
  70. <xsl:param name="page.margin.inner" select="'0.5in'"/>
  71. <xsl:param name="page.margin.outer" select="'0.375in'"/>
  72. <xsl:param name="page.margin.bottom" select="'0.375in'"/>
  73. <xsl:param name="page.margin.top" select="'0.375in'"/>
  74. <xsl:param name="region.before.extent" select="'0.2in'"/>
  75. <xsl:param name="region.after.extent" select="'0.2in'"/>
  76. <xsl:param name="body.start.indent" select="'0.7pc'"/>
  77. <xsl:param name="title.margin.left">-0.7pc</xsl:param>
  78. <!-- Others-->
  79. <xsl:param name="header.rule" select="0"></xsl:param>
  80. <xsl:param name="footer.rule" select="0"></xsl:param>
  81. <xsl:param name="marker.section.level" select="-1"></xsl:param>
  82. <!-- Dropping a blank page -->
  83. <xsl:template name="book.titlepage.separator"/>
  84. </xsl:stylesheet>