1<?xml version='1.0'?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 3 xmlns:fo="http://www.w3.org/1999/XSL/Format" 4 xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" 5 exclude-result-prefixes="doc" 6 version='1.0'> 7 8<!-- ******************************************************************** 9 $Id$ 10 ******************************************************************** 11 12 This file is part of the XSL DocBook Stylesheet distribution. 13 See /README or http://nwalsh.com/docbook/xsl/ for copyright 14 and other information. 15 16 ******************************************************************** --> 17 18<doc:reference xmlns=""> 19<referenceinfo> 20<releaseinfo role="meta"> 21$Id$ 22</releaseinfo> 23<author><surname>Walsh</surname> 24<firstname>Norman</firstname></author> 25<copyright><year>1999</year><year>2000</year> 26<holder>Norman Walsh</holder> 27</copyright> 28</referenceinfo> 29<title>Formatting Object Parameter Reference</title> 30 31<partintro> 32<section><title>Introduction</title> 33 34<para>This is technical reference documentation for the DocBook XSL 35Stylesheets; it documents (some of) the parameters, templates, and 36other elements of the stylesheets.</para> 37 38<para>This reference describes each of the Formatting Object 39Stylesheet parameters. These are the <quote>easily 40customizable</quote> parts of the stylesheet. If you want to specify 41an alternate value for one or more of these parameters, you can do so 42in a <quote>driver</quote> stylesheet.</para> 43 44<para>For example, if you want to turn on automatic section numbering, 45you might create a driver stylesheet like this:</para> 46 47<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 48 version='1.0'> 49 50 <xsl:import href="/path/to/fo/docbook.xsl"/> 51 52 <xsl:param name="section.autolabel" select="1"/> 53 54</xsl:stylesheet>]]></programlisting> 55 56<para>Naturally, you have to change the 57<sgmltag class='attribute'>href</sgmltag> attribute on 58<literal><xsl:import></literal> 59to point to <filename>docbook.xsl</filename> 60on your system.</para> 61 62<para>This is not intended to be <quote>user</quote> documentation. 63It is provided for developers writing customization layers for the 64stylesheets, and for anyone who's interested in <quote>how it 65works</quote>.</para> 66 67<para>Although I am trying to be thorough, this documentation is known 68to be incomplete. Don't forget to read the source, too :-)</para> 69</section> 70</partintro> 71</doc:reference> 72 73<xsl:param name="author.othername.in.middle" select="1"/> 74<xsl:param name="html.stylesheet">docbook.css</xsl:param> 75<xsl:param name="html.stylesheet.type">text/css</xsl:param> 76<xsl:param name="refentry.xref.manvolnum" select="1"/> 77<xsl:param name="show.comments" select="1"/> 78<xsl:param name="funcsynopsis.style">kr</xsl:param> 79<xsl:param name="funcsynopsis.decoration" select="1"/> 80<xsl:param name="refentry.generate.name" select="1"/> 81 82<xsl:param name="admon.graphics" select="0"/> 83<xsl:param name="admon.graphics.path">/images/</xsl:param> 84 85<!-- ==================================================================== --> 86<xsl:param name="admon.graphics.extension" select="'.png'" doc:type='string'/> 87 88<doc:param name="admon.graphics.extension" xmlns=""> 89<refpurpose>Extension for admonition graphics</refpurpose> 90<refdescription> 91<para>Sets the extension to use on admonition graphics.</para> 92</refdescription> 93</doc:param> 94 95<xsl:param name="section.autolabel" select="0"/> 96<xsl:param name="section.label.includes.component.label" select="0"/> 97<xsl:param name="chapter.autolabel" select="1"/> 98<xsl:param name="appendix.autolabel" select="1"/> 99<xsl:param name="part.autolabel" select="1"/> 100<xsl:param name="preface.autolabel" select="0"/> 101 102<xsl:param name="biblioentry.item.separator">. </xsl:param> 103 104<!-- ==================================================================== --> 105<xsl:param name="qandadiv.autolabel" select="1"/> 106 107<doc:variable name="qandadiv.autolabel" xmlns=""> 108<refpurpose>Are divisions in QAndASets enumerated?</refpurpose> 109<refdescription> 110<para>If true (non-zero), unlabeled qandadivs will be enumerated. 111</para> 112</refdescription> 113</doc:variable> 114 115<!-- ==================================================================== --> 116<xsl:param name="qanda.inherit.numeration" select="0"/> 117 118<doc:variable name="qanda.inherit.numeration" xmlns=""> 119<refpurpose>Does enumeration of QandASet components inherit the numeration of parent elements?</refpurpose> 120<refdescription> 121<para>If true (non-zero), numbered QandADiv elements and Questions and Answers inherit 122the numeration of the ancestors of the QandASet. 123</para> 124</refdescription> 125</doc:variable> 126 127<!-- ==================================================================== --> 128 129<xsl:param name="graphic.default.extension"></xsl:param> 130 131<doc:variable name="graphic.default.extension" xmlns=""> 132<refpurpose>Default extension for graphic filenames</refpurpose> 133<refdescription> 134<para>If a <sgmltag>graphic</sgmltag> or <sgmltag>mediaobject</sgmltag> 135includes a reference to a filename that does not include an extension, 136and the <sgmltag class="attribute">format</sgmltag> attribute is 137<emphasis>unspecified</emphasis>, the default extension will be used. 138</para> 139</refdescription> 140</doc:variable> 141 142<!-- ==================================================================== --> 143<xsl:attribute-set name="formal.title.properties" 144 use-attribute-sets="normal.para.spacing"> 145 <xsl:attribute name="font-weight">bold</xsl:attribute> 146 <xsl:attribute name="font-size">12pt</xsl:attribute> 147 <xsl:attribute name="hyphenate">false</xsl:attribute> 148 <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> 149</xsl:attribute-set> 150 151<doc:attribute-set name="formal.title.properties" xmlns=""> 152<refpurpose>Properties of formal object titles</refpurpose> 153<refdescription> 154<para>This attribute set is used to specify the properties of formal 155object titles. 156</para> 157</refdescription> 158</doc:attribute-set> 159 160<!-- ==================================================================== --> 161<xsl:attribute-set name="component.title.properties"> 162 <xsl:attribute name="space-before.optimum">2em</xsl:attribute> 163 <xsl:attribute name="space-before.minimum">1.8em</xsl:attribute> 164 <xsl:attribute name="space-before.maximum">2.2em</xsl:attribute> 165 <xsl:attribute name="font-weight">bold</xsl:attribute> 166 <xsl:attribute name="font-size">18pt</xsl:attribute> 167 <xsl:attribute name="space-after.optimum">1.5em</xsl:attribute> 168 <xsl:attribute name="space-after.minimum">1.3em</xsl:attribute> 169 <xsl:attribute name="space-after.maximum">1.8em</xsl:attribute> 170 <xsl:attribute name="hyphenate">false</xsl:attribute> 171 <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> 172</xsl:attribute-set> 173 174<doc:attribute-set name="component.title.properties" xmlns=""> 175<refpurpose>Properties of component titles</refpurpose> 176<refdescription> 177<para>This attribute set is used to specify the properties of component 178titles. 179</para> 180</refdescription> 181</doc:attribute-set> 182 183<!-- ==================================================================== --> 184<xsl:attribute-set name="admonition.title.properties"> 185 <xsl:attribute name="font-size">14pt</xsl:attribute> 186 <xsl:attribute name="font-weight">bold</xsl:attribute> 187 <xsl:attribute name="hyphenate">false</xsl:attribute> 188 <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute> 189</xsl:attribute-set> 190 191<doc:attribute-set name="admonition.title.properties" xmlns=""> 192<refpurpose>Properties of admonition titles</refpurpose> 193<refdescription> 194<para>This attribute set is used to specify the properties of admonition 195titles. 196</para> 197</refdescription> 198</doc:attribute-set> 199 200<!-- ==================================================================== --> 201<xsl:attribute-set name="toc.margin.properties"> 202 <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> 203 <xsl:attribute name="space-before.optimum">1em</xsl:attribute> 204 <xsl:attribute name="space-before.maximum">2em</xsl:attribute> 205 <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute> 206 <xsl:attribute name="space-after.optimum">1em</xsl:attribute> 207 <xsl:attribute name="space-after.maximum">2em</xsl:attribute> 208</xsl:attribute-set> 209 210<!-- ==================================================================== --> 211<xsl:attribute-set name="verbatim.properties"> 212 <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> 213 <xsl:attribute name="space-before.optimum">1em</xsl:attribute> 214 <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> 215</xsl:attribute-set> 216 217<!-- ==================================================================== --> 218<xsl:attribute-set name="monospace.verbatim.properties" 219 use-attribute-sets="verbatim.properties"> 220 <xsl:attribute name="font-family"> 221 <xsl:value-of select="$monospace.font.family"/> 222 </xsl:attribute> 223 <xsl:attribute name="font-size"> 224 <xsl:value-of select="$body.font.master * 0.9"/> 225 <xsl:text>pt</xsl:text> 226 </xsl:attribute> 227</xsl:attribute-set> 228 229<!-- ==================================================================== --> 230<xsl:attribute-set name="xref.properties"> 231<!-- 232 <xsl:attribute name="background-color">#F0F0F0</xsl:attribute> 233 <xsl:attribute name="padding-start">1pt</xsl:attribute> 234 <xsl:attribute name="padding-end">1pt</xsl:attribute> 235--> 236</xsl:attribute-set> 237 238<doc:attribute-set name="xref.properties" xmlns=""> 239<refpurpose>Visual properties of hotlinks</refpurpose> 240<refdescription> 241<para>This attribute set is used to specify properties of xrefs 242</para> 243</refdescription> 244</doc:attribute-set> 245 246<!-- ==================================================================== --> 247<xsl:param name="insert.xref.page.number" select="0" doc:type='boolean'/> 248<doc:param name="insert.xref.page.number" xmlns=""> 249<refpurpose>Turns page numbers in xrefs on and off</refpurpose> 250<refdescription> 251<para>When equal to 1, this parameter triggers generation of page 252number citations after xrefs. 253</para> 254</refdescription> 255</doc:param> 256 257<!-- ==================================================================== --> 258<xsl:attribute-set name="normal.para.spacing"> 259 <xsl:attribute name="space-before.optimum">1em</xsl:attribute> 260 <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> 261 <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> 262</xsl:attribute-set> 263 264<doc:attribute-set name="normal.para.spacing" xmlns=""> 265<refpurpose>Spacing properties of normal paragraphs</refpurpose> 266<refdescription> 267<para>This attribute set is used to specify the spacing properties 268of normal paragraphs. 269</para> 270</refdescription> 271</doc:attribute-set> 272 273<!-- ==================================================================== --> 274 275<xsl:attribute-set name="list.block.spacing"> 276 <xsl:attribute name="space-before.optimum">1em</xsl:attribute> 277 <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> 278 <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> 279</xsl:attribute-set> 280 281<doc:attribute-set name="list.block.spacing" xmlns=""> 282<refpurpose>Spacing properties of list blocks</refpurpose> 283<refdescription> 284<para>This attribute set is used to specify the spacing properties 285of list blocks. 286</para> 287</refdescription> 288</doc:attribute-set> 289 290<!-- ==================================================================== --> 291 292<xsl:attribute-set name="list.item.spacing"> 293 <xsl:attribute name="space-before.optimum">1em</xsl:attribute> 294 <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> 295 <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute> 296</xsl:attribute-set> 297 298<doc:attribute-set name="list.item.spacing" xmlns=""> 299<refpurpose>Spacing properties of list items</refpurpose> 300<refdescription> 301<para>This attribute set is used to specify the spacing properties 302of list items. 303</para> 304</refdescription> 305</doc:attribute-set> 306 307<!-- ==================================================================== --> 308<xsl:param name="rootid" select="''"/> 309 310<doc:param name="rootid" xmlns=""> 311<refpurpose>Specify the root element to format</refpurpose> 312<refdescription> 313<para>If <parameter>rootid</parameter> is specified, it must be the 314value of an ID that occurs in the document being formatted. The entire 315document will be loaded and parsed, but formatting will begin at the 316element identified, rather than at the root. For example, this allows 317you to process only chapter 4 of a book.</para> 318<para>Because the entire document is available to the processor, automatic 319numbering, cross references, and other dependencies are correctly 320resolved.</para> 321</refdescription> 322</doc:param> 323 324<!-- ==================================================================== --> 325<xsl:param name="callout.graphics" select="'0'"/> 326 327<doc:param name="callout.graphics" xmlns=""> 328<refpurpose>Use graphics for callouts?</refpurpose> 329<refdescription> 330<para>If non-zero, callouts are presented with graphics (e.g., reverse-video 331circled numbers instead of "(1)", "(2)", etc.). 332Default graphics are provided in the distribution. 333</para> 334</refdescription> 335</doc:param> 336 337<!-- ==================================================================== --> 338<xsl:param name="callout.unicode" select="1"/> 339 340<doc:param name="callout.unicode" xmlns=""> 341<refpurpose>First character to use for Unicode callouts</refpurpose> 342<refdescription> 343<para>If non-zero, callouts are presented with Unicode characters 344starting with the character specified. Zero indicates that Unicode 345callouts should not be used. 346</para> 347</refdescription> 348</doc:param> 349 350<!-- ==================================================================== --> 351<xsl:param name="callout.dingbats" select="'0'"/> 352 353<doc:param name="callout.dingbats" xmlns=""> 354<refpurpose>Use Zapf Dingbats for callouts?</refpurpose> 355<refdescription> 356<para>If non-zero, callouts are presented with Zapf Dingbats. 357</para> 358</refdescription> 359</doc:param> 360 361<!-- ==================================================================== --> 362<xsl:param name="callout.unicode.start.character" select="10102" 363 doc:type='integer'/> 364 365<doc:param name="callout.unicode.start.character" xmlns=""> 366<refpurpose>Number of the largest callout graphic</refpurpose> 367<refdescription> 368<para>If <parameter>callout.graphics</parameter> 369is non-zero, graphics are used to represent 370callout numbers. The value of 371<parameter>callout.graphics.number.limit</parameter> 372is 373the largest number for which a graphic exists. If the callout number 374exceeds this limit, the default presentation "(nnn)" will always 375be used. 376</para> 377</refdescription> 378</doc:param> 379 380<!-- ==================================================================== --> 381<xsl:param name="callout.unicode.number.limit" select="'10'" 382 doc:type='integer'/> 383 384<doc:param name="callout.unicode.number.limit" xmlns=""> 385<refpurpose>Number of the largest callout graphic</refpurpose> 386<refdescription> 387<para>If <parameter>callout.graphics</parameter> 388is non-zero, graphics are used to represent 389callout numbers. The value of 390<parameter>callout.graphics.number.limit</parameter> 391is 392the largest number for which a graphic exists. If the callout number 393exceeds this limit, the default presentation "(nnn)" will always 394be used. 395</para> 396</refdescription> 397</doc:param> 398 399<!-- ==================================================================== --> 400<xsl:param name="callout.graphics.extension" select="'.png'"/> 401 402<doc:param name="callout.graphics.extension" xmlns=""> 403<refpurpose>Extension for callout graphics</refpurpose> 404<refdescription> 405<para>Sets the extension to use on callout graphics.</para> 406</refdescription> 407</doc:param> 408 409<!-- ==================================================================== --> 410<xsl:param name="callout.graphics.path" select="'/images/callouts/'"/> 411 412<doc:param name="callout.graphics.path" xmlns=""> 413<refpurpose>Path to callout graphics</refpurpose> 414<refdescription> 415<para>Sets the path, probably relative to the directory where the HTML 416files are created, to the callout graphics. 417</para> 418</refdescription> 419</doc:param> 420 421<!-- ==================================================================== --> 422<xsl:param name="callout.graphics.number.limit" select="'10'"/> 423 424<doc:param name="callout.graphics.number.limit" xmlns=""> 425<refpurpose>Number of the largest callout graphic</refpurpose> 426<refdescription> 427<para>If <parameter>callout.graphics</parameter> 428is non-zero, graphics are used to represent 429callout numbers. The value of 430<parameter>callout.graphics.number.limit</parameter> 431is 432the largest number for which a graphic exists. If the callout number 433exceeds this limit, the default presentation "(nnn)" will always 434be used. 435</para> 436</refdescription> 437</doc:param> 438 439<!-- ==================================================================== --> 440<xsl:param name="use.extensions" select="'0'"/> 441 442<doc:param name="use.extensions" xmlns=""> 443<refpurpose>Enable extensions</refpurpose> 444<refdescription> 445<para>If non-zero, extensions may be used. Each extension is 446further controlled by its own parameter. But if 447<parameter>use.extensions</parameter> is zero, no extensions will 448be used. 449</para> 450</refdescription> 451</doc:param> 452 453<!-- ==================================================================== --> 454<xsl:param name="textinsert.extension" select="'1'"/> 455 456<doc:param name="textinsert.extension" xmlns=""> 457<refpurpose>Enable the textinsert extension element</refpurpose> 458<refdescription> 459<para>The textinsert extension element inserts the contents of a 460a file into the result tree (as text). 461</para> 462</refdescription> 463</doc:param> 464 465<!-- ==================================================================== --> 466<xsl:param name="linenumbering.extension" select="'1'"/> 467 468<doc:param name="linenumbering.extension" xmlns=""> 469<refpurpose>Enable the line numbering extension</refpurpose> 470<refdescription> 471<para>If true, verbatim environments (elements that have the 472format='linespecific' notation attribute: address, literallayout, 473programlisting, screen, synopsis) that specify line numbering will 474have, surprise, line numbers. 475</para> 476</refdescription> 477</doc:param> 478 479<!-- ==================================================================== --> 480<xsl:param name="linenumbering.everyNth" select="'5'"/> 481 482<doc:param name="linenumbering.everyNth" xmlns=""> 483<refpurpose>Indicate which lines should be numbered</refpurpose> 484<refdescription> 485<para>If line numbering is enabled, everyNth line will be numbered. 486</para> 487</refdescription> 488</doc:param> 489 490<!-- ==================================================================== --> 491<xsl:param name="linenumbering.width" select="'3'"/> 492 493<doc:param name="linenumbering.width" xmlns=""> 494<refpurpose>Indicates the width of line numbers</refpurpose> 495<refdescription> 496<para>If line numbering is enabled, line numbers will appear right 497justified in a field "width" characters wide. 498</para> 499</refdescription> 500</doc:param> 501 502<!-- ==================================================================== --> 503<xsl:param name="linenumbering.separator" select="' '"/> 504 505<doc:param name="linenumbering.separator" xmlns=""> 506<refpurpose>Specify a separator between line numbers and lines</refpurpose> 507<refdescription> 508<para>The separator is inserted between line numbers and lines in 509the verbatim environment. 510</para> 511</refdescription> 512</doc:param> 513 514<!-- ==================================================================== --> 515<xsl:param name="callouts.extension" select="'1'"/> 516 517<doc:param name="callouts.extension" xmlns=""> 518<refpurpose>Enable the callout extension</refpurpose> 519<refdescription> 520<para>The callouts extension processes <sgmltag>areaset</sgmltag> 521elements in <sgmltag>ProgramListingCO</sgmltag> and other text-based 522callout elements. 523</para> 524</refdescription> 525</doc:param> 526 527<!-- ==================================================================== --> 528<xsl:param name="callout.defaultcolumn" select="'60'"/> 529 530<doc:param name="callout.defaultcolumn" xmlns=""> 531<refpurpose>Indicates what column callouts appear in by default</refpurpose> 532<refdescription> 533<para>If a callout does not identify a column (for example, if it uses 534the <literal>linerange</literal> <sgmltag class="attribute">unit</sgmltag>), 535it will appear in the default column. 536</para> 537</refdescription> 538</doc:param> 539 540<!-- ==================================================================== --> 541<xsl:param name="tablecolumns.extension" select="'1'" doc:type='boolean'/> 542 543<doc:param name="tablecolumns.extension" xmlns=""> 544<refpurpose>Enable the table columns extension function</refpurpose> 545<refdescription> 546<para>The table columns extension function adjusts the widths of table 547columns in the HTML result to more accurately reflect the specifications 548in the CALS table. 549</para> 550</refdescription> 551</doc:param> 552 553<!-- ==================================================================== --> 554<xsl:param name="nominal.table.width" select="'6in'" doc:type='length'/> 555 556<doc:param name="nominal.table.width" xmlns=""> 557<refpurpose>The (absolute) nominal width of tables</refpurpose> 558<refdescription> 559<para>In order to convert CALS column widths into FO column widths, it 560is sometimes necessary to have an absolute table width to use for conversion 561of mixed absolute and relative widths. This value must be an absolute 562length (not a percentage).</para> 563</refdescription> 564</doc:param> 565 566<!-- ==================================================================== --> 567<xsl:param name="default.table.width" select="''" doc:type='length'/> 568 569<doc:param name="default.table.width" xmlns=""> 570<refpurpose>The default width of tables</refpurpose> 571<refdescription> 572<para>If specified, this value will be used for the WIDTH attribute on 573tables that do not specify an alternate width (with the dbhtml processing 574instruction).</para> 575</refdescription> 576</doc:param> 577 578<!-- ==================================================================== --> 579<xsl:param name="paper.type" select="'USletter'"/> 580<doc:param name="paper.type" xmlns=""> 581<refpurpose>Select the paper type</refpurpose> 582<refdescription> 583<para>The paper type is a convenient way to specify the paper size. 584The list of known paper sizes includes USletter and most of the A, 585B, and C sizes. See <literal>page.width.portrait</literal>, for example. 586</para> 587</refdescription> 588</doc:param> 589 590<!-- ==================================================================== --> 591<xsl:param name="page.orientation" select="'portrait'"/> 592<doc:param name="page.orientation" xmlns=""> 593<refpurpose>Select the page orientation</refpurpose> 594<refdescription> 595<para>In portrait orientation, the short edge is horizontal; in 596landscape orientation, it is vertical. 597</para> 598</refdescription> 599</doc:param> 600 601<!-- ==================================================================== --> 602<xsl:param name="page.width.portrait"> 603 <xsl:choose> 604 <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when> 605 <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when> 606 <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when> 607 <xsl:when test="$paper.type = 'A0'">841mm</xsl:when> 608 <xsl:when test="$paper.type = 'A1'">594mm</xsl:when> 609 <xsl:when test="$paper.type = 'A2'">420mm</xsl:when> 610 <xsl:when test="$paper.type = 'A3'">297mm</xsl:when> 611 <xsl:when test="$paper.type = 'A4'">210mm</xsl:when> 612 <xsl:when test="$paper.type = 'A5'">148mm</xsl:when> 613 <xsl:when test="$paper.type = 'A6'">105mm</xsl:when> 614 <xsl:when test="$paper.type = 'A7'">74mm</xsl:when> 615 <xsl:when test="$paper.type = 'A8'">52mm</xsl:when> 616 <xsl:when test="$paper.type = 'A9'">37mm</xsl:when> 617 <xsl:when test="$paper.type = 'A10'">26mm</xsl:when> 618 <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when> 619 <xsl:when test="$paper.type = 'B1'">707mm</xsl:when> 620 <xsl:when test="$paper.type = 'B2'">500mm</xsl:when> 621 <xsl:when test="$paper.type = 'B3'">353mm</xsl:when> 622 <xsl:when test="$paper.type = 'B4'">250mm</xsl:when> 623 <xsl:when test="$paper.type = 'B5'">176mm</xsl:when> 624 <xsl:when test="$paper.type = 'B6'">125mm</xsl:when> 625 <xsl:when test="$paper.type = 'B7'">88mm</xsl:when> 626 <xsl:when test="$paper.type = 'B8'">62mm</xsl:when> 627 <xsl:when test="$paper.type = 'B9'">44mm</xsl:when> 628 <xsl:when test="$paper.type = 'B10'">31mm</xsl:when> 629 <xsl:when test="$paper.type = 'C0'">917mm</xsl:when> 630 <xsl:when test="$paper.type = 'C1'">648mm</xsl:when> 631 <xsl:when test="$paper.type = 'C2'">458mm</xsl:when> 632 <xsl:when test="$paper.type = 'C3'">324mm</xsl:when> 633 <xsl:when test="$paper.type = 'C4'">229mm</xsl:when> 634 <xsl:when test="$paper.type = 'C5'">162mm</xsl:when> 635 <xsl:when test="$paper.type = 'C6'">114mm</xsl:when> 636 <xsl:when test="$paper.type = 'C7'">81mm</xsl:when> 637 <xsl:when test="$paper.type = 'C8'">57mm</xsl:when> 638 <xsl:when test="$paper.type = 'C9'">40mm</xsl:when> 639 <xsl:when test="$paper.type = 'C10'">28mm</xsl:when> 640 <xsl:otherwise>8.5in</xsl:otherwise> 641 </xsl:choose> 642</xsl:param> 643 644<doc:param name="page.width.portrait" xmlns=""> 645<refpurpose>Specify the physical size of the short edge of the page</refpurpose> 646<refdescription> 647<para>The portrait page width is the length of the short 648edge of the physical page. 649</para> 650</refdescription> 651</doc:param> 652 653<!-- ==================================================================== --> 654<xsl:param name="page.height.portrait"> 655 <xsl:choose> 656 <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when> 657 <xsl:when test="$paper.type = 'USletter'">11in</xsl:when> 658 <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when> 659 <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when> 660 <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when> 661 <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when> 662 <xsl:when test="$paper.type = 'A1'">841mm</xsl:when> 663 <xsl:when test="$paper.type = 'A2'">594mm</xsl:when> 664 <xsl:when test="$paper.type = 'A3'">420mm</xsl:when> 665 <xsl:when test="$paper.type = 'A4'">297mm</xsl:when> 666 <xsl:when test="$paper.type = 'A5'">210mm</xsl:when> 667 <xsl:when test="$paper.type = 'A6'">148mm</xsl:when> 668 <xsl:when test="$paper.type = 'A7'">105mm</xsl:when> 669 <xsl:when test="$paper.type = 'A8'">74mm</xsl:when> 670 <xsl:when test="$paper.type = 'A9'">52mm</xsl:when> 671 <xsl:when test="$paper.type = 'A10'">37mm</xsl:when> 672 <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when> 673 <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when> 674 <xsl:when test="$paper.type = 'B2'">707mm</xsl:when> 675 <xsl:when test="$paper.type = 'B3'">500mm</xsl:when> 676 <xsl:when test="$paper.type = 'B4'">353mm</xsl:when> 677 <xsl:when test="$paper.type = 'B5'">250mm</xsl:when> 678 <xsl:when test="$paper.type = 'B6'">176mm</xsl:when> 679 <xsl:when test="$paper.type = 'B7'">125mm</xsl:when> 680 <xsl:when test="$paper.type = 'B8'">88mm</xsl:when> 681 <xsl:when test="$paper.type = 'B9'">62mm</xsl:when> 682 <xsl:when test="$paper.type = 'B10'">44mm</xsl:when> 683 <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when> 684 <xsl:when test="$paper.type = 'C1'">917mm</xsl:when> 685 <xsl:when test="$paper.type = 'C2'">648mm</xsl:when> 686 <xsl:when test="$paper.type = 'C3'">458mm</xsl:when> 687 <xsl:when test="$paper.type = 'C4'">324mm</xsl:when> 688 <xsl:when test="$paper.type = 'C5'">229mm</xsl:when> 689 <xsl:when test="$paper.type = 'C6'">162mm</xsl:when> 690 <xsl:when test="$paper.type = 'C7'">114mm</xsl:when> 691 <xsl:when test="$paper.type = 'C8'">81mm</xsl:when> 692 <xsl:when test="$paper.type = 'C9'">57mm</xsl:when> 693 <xsl:when test="$paper.type = 'C10'">40mm</xsl:when> 694 <xsl:otherwise>11in</xsl:otherwise> 695 </xsl:choose> 696</xsl:param> 697 698<doc:param name="page.height.portrait" xmlns=""> 699<refpurpose>Specify the physical size of the long edge of the page</refpurpose> 700<refdescription> 701<para>The portrait page height is the length of the long 702edge of the physical page. 703</para> 704</refdescription> 705</doc:param> 706 707<!-- ==================================================================== --> 708<xsl:param name="page.width"> 709 <xsl:choose> 710 <xsl:when test="$page.orientation = 'portrait'"> 711 <xsl:value-of select="$page.width.portrait"/> 712 </xsl:when> 713 <xsl:otherwise> 714 <xsl:value-of select="$page.height.portrait"/> 715 </xsl:otherwise> 716 </xsl:choose> 717</xsl:param> 718 719<doc:param name="page.width" xmlns=""> 720<refpurpose>The width of the physical page</refpurpose> 721<refdescription> 722<para>The page width is generally calculated from the 723<literal>paper.type</literal> and 724<literal>page.orientation</literal>. 725</para> 726</refdescription> 727</doc:param> 728 729<!-- ==================================================================== --> 730<xsl:param name="page.height"> 731 <xsl:choose> 732 <xsl:when test="$page.orientation = 'portrait'"> 733 <xsl:value-of select="$page.height.portrait"/> 734 </xsl:when> 735 <xsl:otherwise> 736 <xsl:value-of select="$page.width.portrait"/> 737 </xsl:otherwise> 738 </xsl:choose> 739</xsl:param> 740 741<doc:param name="page.height" xmlns=""> 742<refpurpose>The height of the physical page</refpurpose> 743<refdescription> 744<para>The page height is generally calculated from the 745<literal>paper.type</literal> and 746<literal>page.orientation</literal>. 747</para> 748</refdescription> 749</doc:param> 750 751<!-- ==================================================================== --> 752<xsl:param name="double.sided" select="'0'"/> 753 754<doc:param name="double.sided" xmlns=""> 755<refpurpose>Is the document to be printed double sided?</refpurpose> 756<refdescription> 757<para>Double-sided documents are printed with a slightly wider margin 758on the binding edge of the page. 759</para> 760<para>FIXME: The current set of parameters does not take writing direction 761into account.</para> 762</refdescription> 763</doc:param> 764 765<!-- ==================================================================== --> 766<xsl:param name="column.count" select="'1'"/> 767 768<doc:param name="column.count" xmlns=""> 769<refpurpose>Specifies the number of columns of text on the page</refpurpose> 770<refdescription> 771<para>The specified number of columns of text will appear on each page. 772</para> 773</refdescription> 774</doc:param> 775 776<!-- ==================================================================== --> 777<xsl:param name="region.after.extent" select="'12pt'"/> 778 779<doc:param name="region.after.extent" xmlns=""> 780<refpurpose>Specifies the height of the footer.</refpurpose> 781<refdescription> 782<para>The region after extent is the height of the area where footers 783are printed. 784</para> 785</refdescription> 786</doc:param> 787 788<!-- ==================================================================== --> 789<xsl:param name="region.before.extent" select="'12pt'"/> 790 791<doc:param name="region.before.extent" xmlns=""> 792<refpurpose>Specifies the height of the header</refpurpose> 793<refdescription> 794<para>The region before extent is the height of the area where headers 795are printed. 796</para> 797</refdescription> 798</doc:param> 799 800<!-- ==================================================================== --> 801<xsl:param name="page.margin.top">1in</xsl:param> 802 803<doc:param name="page.margin.top" xmlns=""> 804<refpurpose>The top margin of the page</refpurpose> 805<refdescription> 806<para>The top page margin is the distance from the physical top of the 807page to the first line of text (body or header). 808</para> 809</refdescription> 810</doc:param> 811 812<!-- ==================================================================== --> 813<xsl:param name="page.margin.bottom">1in</xsl:param> 814 815<doc:param name="page.margin.bottom" xmlns=""> 816<refpurpose>The bottom margin of the page</refpurpose> 817<refdescription> 818<para>The bottom page margin is the distance from the physical bottom of 819the page to the last line of text (body or footer). 820</para> 821</refdescription> 822</doc:param> 823 824<!-- ==================================================================== --> 825<xsl:param name="page.margin.inner"> 826 <xsl:choose> 827 <xsl:when test="$double.sided != 0">1.25in</xsl:when> 828 <xsl:otherwise>1in</xsl:otherwise> 829 </xsl:choose> 830</xsl:param> 831 832<doc:param name="page.margin.inner" xmlns=""> 833<refpurpose>The inner page margin</refpurpose> 834<refdescription> 835<para>The inner page margin is the distance from binding edge of the 836page to the first column of text. In the left-to-right, top-to-bottom writing 837direction, this is the left margin of recto pages.</para> 838<para>The inner and outer margins are usually the same unless the output 839is double-sided. 840</para> 841</refdescription> 842</doc:param> 843 844<!-- ==================================================================== --> 845<xsl:param name="page.margin.outer"> 846 <xsl:choose> 847 <xsl:when test="$double.sided != 0">0.75in</xsl:when> 848 <xsl:otherwise>10pc</xsl:otherwise> 849 </xsl:choose> 850</xsl:param> 851 852<doc:param name="page.margin.outer" xmlns=""> 853<refpurpose>The outer page margin</refpurpose> 854<refdescription> 855<para>The outer page margin is the distance from non-binding edge of the 856page to the last column of text. In the left-to-right, top-to-bottom writing 857direction, this is the right margin of recto pages.</para> 858<para>The inner and outer margins are usually the same unless the output 859is double-sided. 860</para> 861</refdescription> 862</doc:param> 863 864<!-- ==================================================================== --> 865<xsl:param name="body.margin.bottom">24pt</xsl:param> 866 867<doc:param name="body.margin.bottom" xmlns=""> 868<refpurpose>The bottom margin of the body text</refpurpose> 869<refdescription> 870<para>The body bottom margin is the distance from the last line of text 871in the page body to the bottom page margin. Note that the page footer, if 872any, appears in the space between the body bottom margin and the page 873bottom margin. 874</para> 875</refdescription> 876</doc:param> 877 878<!-- ==================================================================== --> 879<xsl:param name="body.margin.top">24pt</xsl:param> 880 881<doc:param name="body.margin.top" xmlns=""> 882<refpurpose>FIXME:</refpurpose> 883<refdescription> 884<para>The body top margin is the distance from the page top margin to 885the first line of text 886in the page body. Note that the page header, if 887any, appears in the space between the page top margin and the body 888top margin. 889</para> 890</refdescription> 891</doc:param> 892 893<!-- ==================================================================== --> 894<xsl:param name="body.font.family">Times Roman</xsl:param> 895 896<doc:param name="body.font.family" xmlns=""> 897<refpurpose>The default font family for body text</refpurpose> 898<refdescription> 899<para>The body font family is the default font used for text in the page body. 900</para> 901</refdescription> 902</doc:param> 903 904<!-- ==================================================================== --> 905<xsl:param name="title.font.family">Helvetica</xsl:param> 906 907<doc:param name="title.font.family" xmlns=""> 908<refpurpose>The default font family for titles</refpurpose> 909<refdescription> 910<para>The title font family is used for titles (chapter, section, figure, 911etc.) 912</para> 913</refdescription> 914</doc:param> 915 916<!-- ==================================================================== --> 917<xsl:param name="monospace.font.family">Courier</xsl:param> 918 919<doc:param name="monospace.font.family" xmlns=""> 920<refpurpose>The default font family for monospace environments</refpurpose> 921<refdescription> 922<para>The monospace font family is used for verbatim environments 923(program listings, screens, etc.). 924</para> 925</refdescription> 926</doc:param> 927 928<!-- ==================================================================== --> 929<xsl:param name="sans.font.family">Helvetica</xsl:param> 930 931<doc:param name="sans.font.family" xmlns=""> 932<refpurpose>The default sans-serif font family</refpurpose> 933<refdescription> 934<para>The default sans-serif font family. At the present, this isn't 935actually used by the stylesheets. 936</para> 937</refdescription> 938</doc:param> 939 940<!-- ==================================================================== --> 941<xsl:param name="body.font.master">10</xsl:param> 942 943<doc:param name="body.font.master" xmlns=""> 944<refpurpose>Specifies the default point size for body text</refpurpose> 945<refdescription> 946<para>The body font size is specified in two parameters 947(<varname>body.font.master</varname> and <varname>body.font.size</varname>) 948so that math can be performed on the font size by XSLT. 949</para> 950</refdescription> 951</doc:param> 952 953<!-- ==================================================================== --> 954<xsl:param name="body.font.size"> 955 <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> 956</xsl:param> 957 958<doc:param name="body.font.size" xmlns=""> 959<refpurpose>Specifies the default font size for body text</refpurpose> 960<refdescription> 961<para>The body font size is specified in two parameters 962(<varname>body.font.master</varname> and <varname>body.font.size</varname>) 963so that math can be performed on the font size by XSLT. 964</para> 965</refdescription> 966</doc:param> 967 968<!-- ==================================================================== --> 969<xsl:param name="footnote.font.size"> 970 <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text> 971</xsl:param> 972 973<doc:param name="footnote.font.size" xmlns=""> 974<refpurpose>The font size for footnotes</refpurpose> 975<refdescription> 976<para>The footnote font size is used for...footnotes! 977</para> 978</refdescription> 979</doc:param> 980 981<!-- ==================================================================== --> 982<!-- general H&J setup --> 983<xsl:param name="hyphenate">true</xsl:param> 984 985<doc:param name="hyphenate" xmlns=""> 986<refpurpose>Specify hyphenation behavior</refpurpose> 987<refdescription> 988<para>If true, words may be hyphenated. Otherwise, they may not. 989</para> 990</refdescription> 991</doc:param> 992 993<!-- ==================================================================== --> 994<xsl:param name="alignment">justify</xsl:param> 995 996<doc:param name="alignment" xmlns=""> 997<refpurpose>Specify the default text alignment</refpurpose> 998<refdescription> 999<para>The default text alignment is used for most body text. 1000</para> 1001</refdescription> 1002</doc:param> 1003 1004<!-- ==================================================================== --> 1005<xsl:param name="stylesheet.result.type" select="'fo'"/> 1006 1007<doc:param name="stylesheet.result.type" xmlns=""> 1008<refpurpose>Identifies the output format of this stylesheet</refpurpose> 1009<refdescription> 1010<para>The extension functions need to know if the output format 1011is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers 1012that question. Valid settings are 'html' or 'fo'.</para> 1013</refdescription> 1014</doc:param> 1015 1016<!-- ==================================================================== --> 1017<xsl:param name="generate.component.toc" select="0" doc:type='boolean'/> 1018 1019<doc:param name="generate.component.toc" xmlns=""> 1020<refpurpose>Generate a table of contents for components?</refpurpose> 1021<refdescription> 1022<para>If non-zero, a table of contents is generated at the beginning 1023of each component (chapters, appendixes, etc.) 1024</para> 1025</refdescription> 1026</doc:param> 1027 1028<!-- ==================================================================== --> 1029<xsl:param name="generate.division.toc" select="1" doc:type='boolean'/> 1030 1031<doc:param name="generate.division.toc" xmlns=""> 1032<refpurpose>Generate a table of contents for divisions?</refpurpose> 1033<refdescription> 1034<para>If non-zero, a table of contents is generated at the beginning 1035of each division (sets, books, etc.) 1036</para> 1037</refdescription> 1038</doc:param> 1039 1040<!-- ==================================================================== --> 1041 1042<xsl:param name="generate.book.toc" select="'1'" doc:type='boolean'/> 1043<xsl:param name="process.source.toc" select='0' doc:type='boolean'/> 1044<xsl:param name="process.empty.source.toc" select='0' doc:type='boolean'/> 1045 1046<!-- ==================================================================== --> 1047<xsl:param name="generate.division.figure.lot" select="1" doc:type='boolean'/> 1048 1049<doc:param name="generate.division.figure.lot" xmlns=""> 1050<refpurpose>Generate a list of titles for Figures?</refpurpose> 1051<refdescription> 1052<para>If non-zero, a list of titles is generated for Figures. 1053</para> 1054</refdescription> 1055</doc:param> 1056 1057<!-- ==================================================================== --> 1058<xsl:param name="generate.division.example.lot" select="1" doc:type='boolean'/> 1059 1060<doc:param name="generate.division.example.lot" xmlns=""> 1061<refpurpose>Generate a list of titles for Examples?</refpurpose> 1062<refdescription> 1063<para>If non-zero, a list of titles is generated for Examples. 1064</para> 1065</refdescription> 1066</doc:param> 1067 1068<!-- ==================================================================== --> 1069<xsl:param name="generate.division.equation.lot" select="1" doc:type='boolean'/> 1070 1071<doc:param name="generate.division.equation.lot" xmlns=""> 1072<refpurpose>Generate a list of titles for Equations?</refpurpose> 1073<refdescription> 1074<para>If non-zero, a list of titles is generated for Equations. 1075</para> 1076</refdescription> 1077</doc:param> 1078 1079<!-- ==================================================================== --> 1080<xsl:param name="generate.division.table.lot" select="1" doc:type='boolean'/> 1081 1082<doc:param name="generate.division.table.lot" xmlns=""> 1083<refpurpose>Generate a list of titles for Tables?</refpurpose> 1084<refdescription> 1085<para>If non-zero, a list of titles is generated for Tables. 1086</para> 1087</refdescription> 1088</doc:param> 1089 1090<!-- ==================================================================== --> 1091<xsl:param name="generate.book.figure.lot" select="1" doc:type='boolean'/> 1092<xsl:param name="generate.book.example.lot" select="1" doc:type='boolean'/> 1093<xsl:param name="generate.book.equation.lot" select="1" doc:type='boolean'/> 1094<xsl:param name="generate.book.table.lot" select="1" doc:type='boolean'/> 1095 1096<!-- ==================================================================== --> 1097<xsl:param name="passivetex.extensions" select="0" doc:type='boolean'/> 1098 1099<doc:param name="passivetex.extensions" xmlns=""> 1100<refpurpose>Enable PassiveTeX extensions?</refpurpose> 1101<refdescription> 1102<para>If non-zero, 1103<ulink url="http://users.ox.ac.uk/~rahtz/passivetex/">PassiveTeX</ulink> 1104extensions will be used. At present, this consists of PDF bookmarks 1105and sorted index terms. 1106</para> 1107</refdescription> 1108</doc:param> 1109 1110<!-- ==================================================================== --> 1111<xsl:param name="arbortext.extensions" select="0" doc:type='boolean'/> 1112 1113<doc:param name="arbortext.extensions" xmlns=""> 1114<refpurpose>Enable Arbortext extensions?</refpurpose> 1115<refdescription> 1116<para>If non-zero, 1117<ulink url="http://www.arbortext.com/">Arbortext</ulink> 1118extensions will be used. 1119</para> 1120</refdescription> 1121</doc:param> 1122 1123<!-- ==================================================================== --> 1124<xsl:param name="fop.extensions" select="0" doc:type='boolean'/> 1125 1126<doc:param name="fop.extensions" xmlns=""> 1127<refpurpose>Enable FOP extensions?</refpurpose> 1128<refdescription> 1129<para>If non-zero, 1130<ulink url="http://xml.apache.org/fop/">FOP</ulink> 1131extensions will be used. At present, this consists of PDF bookmarks. 1132</para> 1133</refdescription> 1134</doc:param> 1135 1136<!-- ==================================================================== --> 1137<xsl:param name="default.units" select="'pt'" doc:type='list' 1138 doc:list='cm mm in pt pc px em'/> 1139 1140<doc:param name="default.units" xmlns=""> 1141<refpurpose>Default units for an unqualified dimension</refpurpose> 1142<refdescription> 1143<para>If an unqualified dimension is encountered (for example, in a 1144graphic width), the <parameter>default-units</parameter> will be used for the 1145units. Unqualified dimensions are not allowed in XSL Formatting Objects. 1146</para> 1147</refdescription> 1148</doc:param> 1149 1150<!-- ==================================================================== --> 1151 1152<xsl:param name="generate.index" select="1" doc:type='boolean'/> 1153 1154<!-- ==================================================================== --> 1155<xsl:param name="label.from.part" select="'0'" doc:type='boolean'/> 1156 1157<doc:param name="label.from.part" xmlns=""> 1158<refpurpose>Renumber chapters in each part?</refpurpose> 1159<refdescription> 1160<para>If <parameter>label.from.part</parameter> is non-zero, components 1161(<sgmltag>chapter</sgmltag>s, <sgmltag>appendixe</sgmltag>s, etc.) 1162will be numbered from 1 in each <sgmltag>part</sgmltag>. Otherwise, 1163they will be numbered monotonically throughout each 1164<sgmltag>book</sgmltag>. 1165</para> 1166</refdescription> 1167</doc:param> 1168 1169</xsl:stylesheet> 1170 1171