# FO Parameter Reference

### Norman Walsh

$Id: param.xweb,v 1.3 2001/10/15 12:42:44 nwalsh Exp $

Copyright © 1999, 2000, 2001 Norman Walsh

## Introduction

This is technical reference documentation for the DocBook XSL Stylesheets; it documents (some of) the parameters, templates, and other elements of the stylesheets.

This reference describes each of the HTML Stylesheet parameters. These are the “easily customizable” parts of the stylesheet. If you want to specify an alternate value for one or more of these parameters, you can do so in a “driver” stylesheet.

For example, if you want to change the `html.stylesheet` to `reference.css`, you might create a driver stylesheet like this:

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    version='1.0'>

      <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>

      <xsl:param name="html.stylesheet">reference.css</xsl:param>

    </xsl:stylesheet>

Naturally, you have to change the `href` attribute on `<xsl:import>` to point to `docbook.xsl` on your system. (Or `chunk.xsl`, if you're using chunking.)

This is not intended to be “user” documentation. It is provided for developers writing customization layers for the stylesheets, and for anyone who's interested in “how it works”.

Although I am trying to be thorough, this documentation is known to be incomplete. Don't forget to read the source, too :-)

# The Parameters

## Name

admon.graphics — Use graphics in admonitions?

## Synopsis

§1: §114
    <xsl:param name="admon.graphics"
               select="0"/>

## Description

If true (non-zero), admonitions are presented in an alternate style that uses a graphic. Default graphics are provided in the distribution.

## Name

admon.graphics.extension — Extension for admonition graphics

## Synopsis

§2: §114
    <xsl:param name="admon.graphics.extension"
               select="'.png'"/>

## Description

Sets the extension to use on admonition graphics.

## Name

admon.graphics.path — Path to admonition graphics

## Synopsis

§3: §114
    <xsl:param name="admon.graphics.path">images/</xsl:param>

## Description

Sets the path, probably relative to the directory where the HTML files are created, to the admonition graphics.

## Name

admonition.title.properties — To set the style for admonitions.

## Synopsis

§4: §114
    <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-set>

## Description

How do you want admonitions styled?

Set the font-size, weight etc to the style required

## Name

alignment — Specify the default text alignment

## Synopsis

§5: §114
    <xsl:param name="alignment">justify</xsl:param>

## Description

The default text alignment is used for most body text.

## Name

appendix.autolabel — Are Appendixes automatically enumerated?

## Synopsis

§6: §114
    <xsl:param name="appendix.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled appendixes will be enumerated.

## Name

arbortext.extensions — Enable Arbortext extensions?

## Synopsis

§7: §114
    <xsl:param name="arbortext.extensions"
               select="0"/>

## Description

If non-zero, Arbortext extensions will be used.

## Name

author.othername.in.middle — Is `othername` in `author` a middle name?

## Synopsis

§8: §114
    <xsl:param name="author.othername.in.middle"
               select="1"/>

## Description

If true (non-zero), the `othername` of an `author` appears between the `firstname` and `surname`. Otherwise, `othername` is suppressed.

## Name

biblioentry.item.separator — Text to separate bibliography entries

## Synopsis

§9: §114
    <xsl:param name="biblioentry.item.separator">. </xsl:param>

## Description

Text to separate bibliography entries

## Name

bibliography.collection — Name of the bibliography collection file

## Synopsis

§10: §114
    <xsl:param name="bibliography.collection"
               select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>

## Description

Tired of copying bibliography entries from one document to another? Now you can maintain a central bibliography and let the stylesheets do the copying for you. This parameter identifies the file (by URI reference) that contains your complete bibliography collection.

## Name

body.font.family — The default font family for body text

## Synopsis

§11: §114
    <xsl:param name="body.font.family">Times Roman</xsl:param>

## Description

The body font family is the default font used for text in the page body.

## Name

body.font.master — Specifies the default point size for body text

## Synopsis

§12: §114
    <xsl:param name="body.font.master">10</xsl:param>

## Description

The body font size is specified in two parameters (`body.font.master` and `body.font.size`) so that math can be performed on the font size by XSLT.

## Name

body.font.size — Specifies the default font size for body text

## Synopsis

§13: §114
    <xsl:param name="body.font.size">
     <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
    </xsl:param>

## Description

The body font size is specified in two parameters (`body.font.master` and `body.font.size`) so that math can be performed on the font size by XSLT.

## Name

body.margin.bottom — The bottom margin of the body text

## Synopsis

§14: §114
    <xsl:param name="body.margin.bottom">24pt</xsl:param>

## Description

The body bottom margin is the distance from the last line of text in the page body to the bottom page margin. Note that the page footer, if any, appears in the space between the body bottom margin and the page bottom margin.

## Name

body.margin.top — To specify the size of the top margin of a page

## Synopsis

§15: §114
    <xsl:param name="body.margin.top">24pt</xsl:param>

## Description

The body top margin is the distance from the page top margin to the first line of text in the page body. Note that the page header, if any, appears in the space between the page top margin and the body top margin.

## Name

callout.defaultcolumn — Indicates what column callouts appear in by default

## Synopsis

§16: §114
    <xsl:param name="callout.defaultcolumn"
               select="'60'"/>

## Description

If a callout does not identify a column (for example, if it uses the `linerange` `unit`), it will appear in the default column.

## Name

callout.graphics — Use graphics for callouts?

## Synopsis

§17: §114
    <xsl:param name="callout.graphics"
               select="'1'"/>

## Description

If non-zero, callouts are presented with graphics (e.g., reverse-video circled numbers instead of "(1)", "(2)", etc.). Default graphics are provided in the distribution.

## Name

callout.graphics.extension — Extension for callout graphics

## Synopsis

§18: §114
    <xsl:param name="callout.graphics.extension"
               select="'.png'"/>

## Description

Sets the extension to use on callout graphics.

## Name

callout.graphics.number.limit — Number of the largest callout graphic

## Synopsis

§19: §114
    <xsl:param name="callout.graphics.number.limit"
               select="'10'"/>

## Description

If `callout.graphics` is non-zero, graphics are used to represent callout numbers. The value of `callout.graphics.number.limit` is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used.

## Name

callout.graphics.path — Path to callout graphics

## Synopsis

§20: §114
    <xsl:param name="callout.graphics.path"
               select="'images/callouts/'"/>

## Description

Sets the path, probably relative to the directory where the HTML files are created, to the callout graphics.

## Name

callout.unicode — Use Unicode characters rather than images for callouts.

## Synopsis

§21: §114
    <xsl:param name="callout.unicode"
               select="0"/>

## Description

The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option.

## Name

callout.unicode.font — Specify a font for Unicode glyphs

## Synopsis

§22: §114
    <xsl:param name="callout.unicode.font"
               select="'ZapfDingbats'"/>

## Description

The name of the font to specify around Unicode callout glyphs. If set to the empty string, no font change will occur.

## Name

callout.unicode.number.limit — Number of the largest callout graphic

## Synopsis

§23: §114
    <xsl:param name="callout.unicode.number.limit"
               select="'10'"/>

## Description

If `callout.graphics` is non-zero, graphics are used to represent callout numbers. The value of `callout.graphics.number.limit` is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used.

## Name

callout.unicode.start.character — First Unicode character to use, decimal value.

## Synopsis

§24: §114
    <xsl:param name="callout.unicode.start.character"
               select="10102"/>

## Description

If `callout.graphics` is non-zero, graphics are used to represent callout numbers. The value of `callout.graphics.number.limit` is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used.

## Name

callouts.extension — Enable the callout extension

## Synopsis

§25: §114
    <xsl:param name="callouts.extension"
               select="'1'"/>

## Description

The callouts extension processes `areaset` elements in `ProgramListingCO` and other text-based callout elements.

## Name

chapter.autolabel — Are chapters automatically enumerated?

## Synopsis

§26: §114
    <xsl:param name="chapter.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled chapters will be enumerated.

## Name

column.count — Specifies the number of columns of text on the page

## Synopsis

§27: §114
    <xsl:param name="column.count"
               select="'1'"/>

## Description

The specified number of columns of text will appear on each page.

## Name

component.title.properties — Specify the styling for the title elements of a component.

## Synopsis

§28: §114
    <xsl:attribute-set name="component.title.properties">
      <xsl:attribute name="space-before.optimum">2em</xsl:attribute>
      <xsl:attribute name="space-before.minimum">1.8em</xsl:attribute>
      <xsl:attribute name="space-before.maximum">2.2em</xsl:attribute>
      <xsl:attribute name="font-weight">bold</xsl:attribute>
      <xsl:attribute name="font-size">18pt</xsl:attribute>
      <xsl:attribute name="space-after.optimum">1.5em</xsl:attribute>
      <xsl:attribute name="space-after.minimum">1.3em</xsl:attribute>
      <xsl:attribute name="space-after.maximum">1.8em</xsl:attribute>
      <xsl:attribute name="hyphenate">false</xsl:attribute>
      <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
    </xsl:attribute-set>

## Description

A set of attributes are used to style the title of a component (chapters, appendixes, articles, etc.). Components are usually printed in the `title.font.family`. Spacing before and after, font size etc are specified using this parameter.

## Name

default.table.width — The default width of tables

## Synopsis

§29: §114
    <xsl:param name="default.table.width"
               select="''"/>

## Description

If specified, this value will be used for the WIDTH attribute on tables that do not specify an alternate width (with the dbhtml processing instruction).

## Name

default.units — Default units for an unqualified dimension

## Synopsis

§30: §114
    <xsl:param name="default.units"
               select="'pt'"/>

## Description

If an unqualified dimension is encountered (for example, in a graphic width), the `default-units` will be used for the units. Unqualified dimensions are not allowed in XSL Formatting Objects.

## Name

dingbat.font.family — The font family for copyright, quotes, and other symbols

## Synopsis

§31: §114
    <xsl:param name="dingbat.font.family">Times Roman</xsl:param>

## Description

The dingbat font family is used for dingbats. If it is defined as the empty string, no font change is effected around dingbats.

## Name

double.sided — Is the document to be printed double sided?

## Synopsis

§32: §114
    <xsl:param name="double.sided"
               select="'0'"/>

## Description

Double-sided documents are printed with a slightly wider margin on the binding edge of the page.

FIXME: The current set of parameters does not take writing direction into account.

## Name

footnote.font.size — The font size for footnotes

## Synopsis

§33: §114
    <xsl:param name="footnote.font.size">
     <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text>
    </xsl:param>

## Description

The footnote font size is used for...footnotes!

## Name

fop.extensions — Enable FOP extensions?

## Synopsis

§34: §114
    <xsl:param name="fop.extensions"
               select="0"/>

## Description

If non-zero, FOP extensions will be used. At present, this consists of PDF bookmarks.

## Name

formal.object.properties — Properties associated with a formal object such as a figure, or other component that has a title

## Synopsis

§35: §114
    <xsl:attribute-set name="formal.object.properties">
      <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
      <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
      <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
      <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
      <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
      <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
      <xsl:attribute name="keep-with-previous.within-column">always</xsl:attribute>
    </xsl:attribute-set>

## Description

The styling for formal objects in docbook. Specify the spacing before and after the object.

## Name

formal.procedures — Selects formal or informal procedures

## Synopsis

§36: §114
    <xsl:param name="formal.procedures"
               select="1"/>

## Description

Formal procedures are numbered and always hav a title.

## Name

formal.title.properties — Style the title element of formal object such as a figure.

## Synopsis

§37: §114
    <xsl:attribute-set name="formal.title.properties"
                       use-attribute-sets="normal.para.spacing">
      <xsl:attribute name="font-weight">bold</xsl:attribute>
      <xsl:attribute name="font-size">12pt</xsl:attribute>
      <xsl:attribute name="hyphenate">false</xsl:attribute>
      <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
    </xsl:attribute-set>

## Description

Specify how the title should be styled. Specify the font size and weight of the title of the formal object.

## Name

format.variablelist.as.list — Use an fo:list to format VariableLists?

## Synopsis

§38: §114
    <xsl:param name="format.variablelist.as.list"
               select="1"/>

## Description

If non-zero, an fo:list will be used to format VariableLists. Otherwise, nested fo:blocks will be used.

## Name

funcsynopsis.decoration — Decorate elements of a FuncSynopsis?

## Synopsis

§39: §114
    <xsl:param name="funcsynopsis.decoration"
               select="1"/>

## Description

If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or italic). The decoration is controlled by functions that can be redefined in a customization layer.

## Name

funcsynopsis.style — What style of 'FuncSynopsis' should be generated?

## Synopsis

§40: §114
    <xsl:param name="funcsynopsis.style">kr</xsl:param>

## Description

If `funcsynopsis.style` is `ansi`, ANSI-style function synopses are generated for a `funcsynopsis`, otherwise K&R-style function synopses are generated.

## Name

generate.book.equation.lot — Should a lot be generated for equations?

## Synopsis

§41: §114
    <xsl:param name="generate.book.equation.lot"
               select="1"/>

## Description

Specify if list of equations, like a table of contents, is required.

## Name

generate.book.example.lot — Is a list of equations required?

## Synopsis

§42: §114
    <xsl:param name="generate.book.example.lot"
               select="1"/>

## Description

Specify if a list of examples is required, similar to a table of contents but for examples.

## Name

generate.book.figure.lot — Is a list of figures required for book?

## Synopsis

§43: §114
    <xsl:param name="generate.book.figure.lot"
               select="1"/>

## Description

Specify if a list of figures is required, similar to a table of contents but for figures.

## Name

generate.book.table.lot — Do you want a list of tables in a book?

## Synopsis

§44: §114
    <xsl:param name="generate.book.table.lot"
               select="1"/>

## Description

Specify if a list of tables is required, similar to a table of contents, but for all the tables in the book

## Name

generate.book.toc — Do you want a table of contents in the book?

## Synopsis

§45: §114
    <xsl:param name="generate.book.toc"
               select="1"/>

## Description

Specify if a table of contents is required in the book.

## Name

generate.component.toc — Should TOCs be genereated in components (Chapters, Appendixes, etc.)?

## Synopsis

§46: §114
    <xsl:param name="generate.component.toc"
               select="1"/>

## Description

If true (non-zero), they are.

## Name

generate.division.equation.lot — Generate a list of titles for Equations?

## Synopsis

§47: §114
    <xsl:param name="generate.division.equation.lot"
               select="1"/>

## Description

If non-zero, a list of titles is generated for Equations.

## Name

generate.division.example.lot — Generate a list of titles for Examples?

## Synopsis

§48: §114
    <xsl:param name="generate.division.example.lot"
               select="1"/>

## Description

If non-zero, a list of titles is generated for Examples.

## Name

generate.division.figure.lot — Generate a list of titles for Figures?

## Synopsis

§49: §114
    <xsl:param name="generate.division.figure.lot"
               select="1"/>

## Description

If non-zero, a list of titles is generated for Figures.

## Name

generate.division.table.lot — Generate a list of titles for Tables?

## Synopsis

§50: §114
    <xsl:param name="generate.division.table.lot"
               select="1"/>

## Description

If non-zero, a list of titles is generated for Tables.

## Name

generate.division.toc — Should TOCs be genereated in divisions (Books, Parts, etc.)?

## Synopsis

§51: §114
    <xsl:param name="generate.division.toc"
               select="1"/>

## Description

If true (non-zero), they are.

## Name

generate.index — Do you want an index?

## Synopsis

§52: §114
    <xsl:param name="generate.index"
               select="1"/>

## Description

Specify if an index should be generated.

## Name

graphic.default.extension — Default extension for graphic filenames

## Synopsis

§53: §114
    <xsl:param name="graphic.default.extension"/>

## Description

If a `graphic` or `mediaobject` includes a reference to a filename that does not include an extension, and the `format` attribute is unspecified, the default extension will be used.

## Name

html.stylesheet — Name of the stylesheet to use in the generated HTML

## Synopsis

§54: §114
    <xsl:param name="html.stylesheet"
               select="''"/>

## Description

The name of the stylesheet to place in the HTML `LINK` tag, or the empty string to suppress the stylesheet `LINK`.

## Name

html.stylesheet.type — The type of the stylesheet used in the generated HTML

## Synopsis

§55: §114
    <xsl:param name="html.stylesheet.type">text/css</xsl:param>

## Description

The type of the stylesheet to place in the HTML `link` tag.

## Name

hyphenate — Specify hyphenation behavior

## Synopsis

§56: §114
    <xsl:param name="hyphenate">true</xsl:param>

## Description

If true, words may be hyphenated. Otherwise, they may not.

## Name

insert.xref.page.number — Turns page numbers in xrefs on and off

## Synopsis

§57: §114
    <xsl:param name="insert.xref.page.number"
               select="0"/>

## Description

When equal to 1, this parameter triggers generation of page number citations after xrefs.

## Name

label.from.part — Renumber chapters in each part?

## Synopsis

§58: §114
    <xsl:param name="label.from.part"
               select="'0'"/>

## Description

If `label.from.part` is non-zero, components (`chapter`s, `appendixe`s, etc.) will be numbered from 1 in each `part`. Otherwise, they will be numbered monotonically throughout each `book`.

## Name

linenumbering.everyNth — Indicate which lines should be numbered

## Synopsis

§59: §114
    <xsl:param name="linenumbering.everyNth"
               select="'5'"/>

## Description

If line numbering is enabled, everyNth line will be numbered.

## Name

linenumbering.extension — Enable the line numbering extension

## Synopsis

§60: §114
    <xsl:param name="linenumbering.extension"
               select="'1'"/>

## Description

If true, verbatim environments (elements that have the format='linespecific' notation attribute: address, literallayout, programlisting, screen, synopsis) that specify line numbering will have, surprise, line numbers.

## Name

linenumbering.separator — Specify a separator between line numbers and lines

## Synopsis

§61: §114
    <xsl:param name="linenumbering.separator"
               select="' '"/>

## Description

The separator is inserted between line numbers and lines in the verbatim environment.

## Name

linenumbering.width — Indicates the width of line numbers

## Synopsis

§62: §114
    <xsl:param name="linenumbering.width"
               select="'3'"/>

## Description

If line numbering is enabled, line numbers will appear right justified in a field "width" characters wide.

## Name

list.block.spacing — What spacing do you want before lists?

## Synopsis

§63: §114
    <xsl:attribute-set name="list.block.spacing">
      <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-set>

## Description

Specify the spacing required before a list.

## Name

list.item.spacing — What space do you want between list items?

## Synopsis

§64: §114
    <xsl:attribute-set name="list.item.spacing">
      <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-set>

## Description

Specify what spacing you want between each list item.

## Name

make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)

## Synopsis

§65: §114
    <xsl:param name="make.single.year.ranges"
               select="0"/>

## Description

If non-zero, year ranges that span a single year will be printed in range notation (1998-1999) instead of discrete notation (1998, 1999).

## Name

make.year.ranges — Collate copyright years into ranges?

## Synopsis

§66: §114
    <xsl:param name="make.year.ranges"
               select="0"/>

## Description

If non-zero, copyright years will be collated into ranges.

## Name

monospace.font.family — The default font family for monospace environments

## Synopsis

§67: §114
    <xsl:param name="monospace.font.family">Courier</xsl:param>

## Description

The monospace font family is used for verbatim environments (program listings, screens, etc.).

## Name

monospace.verbatim.properties — What font and size do you want for monospaced content?

## Synopsis

§68: §114
    <xsl:attribute-set name="monospace.verbatim.properties"
                       use-attribute-sets="verbatim.properties">
      <xsl:attribute name="font-family">
        <xsl:value-of select="$monospace.font.family"/>
      </xsl:attribute>
      <xsl:attribute name="font-size">
        <xsl:value-of select="$body.font.master * 0.9"/>
        <xsl:text>pt</xsl:text>
      </xsl:attribute>
    </xsl:attribute-set>

## Description

Specify the font name and size you want for monospaced output

## Name

nominal.table.width — The (absolute) nominal width of tables

## Synopsis

§69: §114
    <xsl:param name="nominal.table.width"
               select="'6in'"/>

## Description

In order to convert CALS column widths into HTML column widths, it is sometimes necessary to have an absolute table width to use for conversion of mixed absolute and relative widths. This value must be an absolute length (not a percentag).

## Name

normal.para.spacing — What space do you want between normal paragraphs

## Synopsis

§70: §114
    <xsl:attribute-set name="normal.para.spacing">
      <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-set>

## Description

Specify the spacing required between normal paragraphs

## Name

page.height — The height of the physical page

## Synopsis

§71: §114
    <xsl:param name="page.height">
      <xsl:choose>
        <xsl:when test="$page.orientation = 'portrait'">
          <xsl:value-of select="$page.height.portrait"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$page.width.portrait"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:param>

## Description

The page height is generally calculated from the `paper.type` and `page.orientation`.

## Name

page.height.portrait — Specify the physical size of the long edge of the page

## Synopsis

§72: §114
    <xsl:param name="page.height.portrait">
      <xsl:choose>
        <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when>
        <xsl:when test="$paper.type = 'USletter'">11in</xsl:when>
        <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when>
        <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when>
        <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when>
        <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when>
        <xsl:when test="$paper.type = 'A1'">841mm</xsl:when>
        <xsl:when test="$paper.type = 'A2'">594mm</xsl:when>
        <xsl:when test="$paper.type = 'A3'">420mm</xsl:when>
        <xsl:when test="$paper.type = 'A4'">297mm</xsl:when>
        <xsl:when test="$paper.type = 'A5'">210mm</xsl:when>
        <xsl:when test="$paper.type = 'A6'">148mm</xsl:when>
        <xsl:when test="$paper.type = 'A7'">105mm</xsl:when>
        <xsl:when test="$paper.type = 'A8'">74mm</xsl:when>
        <xsl:when test="$paper.type = 'A9'">52mm</xsl:when>
        <xsl:when test="$paper.type = 'A10'">37mm</xsl:when>
        <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when>
        <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when>
        <xsl:when test="$paper.type = 'B2'">707mm</xsl:when>
        <xsl:when test="$paper.type = 'B3'">500mm</xsl:when>
        <xsl:when test="$paper.type = 'B4'">353mm</xsl:when>
        <xsl:when test="$paper.type = 'B5'">250mm</xsl:when>
        <xsl:when test="$paper.type = 'B6'">176mm</xsl:when>
        <xsl:when test="$paper.type = 'B7'">125mm</xsl:when>
        <xsl:when test="$paper.type = 'B8'">88mm</xsl:when>
        <xsl:when test="$paper.type = 'B9'">62mm</xsl:when>
        <xsl:when test="$paper.type = 'B10'">44mm</xsl:when>
        <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when>
        <xsl:when test="$paper.type = 'C1'">917mm</xsl:when>
        <xsl:when test="$paper.type = 'C2'">648mm</xsl:when>
        <xsl:when test="$paper.type = 'C3'">458mm</xsl:when>
        <xsl:when test="$paper.type = 'C4'">324mm</xsl:when>
        <xsl:when test="$paper.type = 'C5'">229mm</xsl:when>
        <xsl:when test="$paper.type = 'C6'">162mm</xsl:when>
        <xsl:when test="$paper.type = 'C7'">114mm</xsl:when>
        <xsl:when test="$paper.type = 'C8'">81mm</xsl:when>
        <xsl:when test="$paper.type = 'C9'">57mm</xsl:when>
        <xsl:when test="$paper.type = 'C10'">40mm</xsl:when>
        <xsl:otherwise>11in</xsl:otherwise>
      </xsl:choose>
    </xsl:param>

## Description

The portrait page height is the length of the long edge of the physical page.

## Name

page.margin.bottom — The bottom margin of the page

## Synopsis

§73: §114
    <xsl:param name="page.margin.bottom">1in</xsl:param>

## Description

The bottom page margin is the distance from the physical bottom of the page to the last line of text (body or footer).

## Name

page.margin.inner — The inner page margin

## Synopsis

§74: §114
    <xsl:param name="page.margin.inner">
      <xsl:choose>
        <xsl:when test="$double.sided != 0">1.25in</xsl:when>
        <xsl:otherwise>1in</xsl:otherwise>
      </xsl:choose>
    </xsl:param>

## Description

The inner page margin is the distance from binding edge of the page to the first column of text. In the left-to-right, top-to-bottom writing direction, this is the left margin of recto pages.

The inner and outer margins are usually the same unless the output is double-sided.

## Name

page.margin.outer — The outer page margin

## Synopsis

§75: §114
    <xsl:param name="page.margin.outer">
      <xsl:choose>
        <xsl:when test="$double.sided != 0">0.75in</xsl:when>
        <xsl:otherwise>10pc</xsl:otherwise>
      </xsl:choose>
    </xsl:param>

## Description

The outer page margin is the distance from non-binding edge of the page to the last column of text. In the left-to-right, top-to-bottom writing direction, this is the right margin of recto pages.

The inner and outer margins are usually the same unless the output is double-sided.

## Name

page.margin.top — The top margin of the page

## Synopsis

§76: §114
    <xsl:param name="page.margin.top">1in</xsl:param>

## Description

The top page margin is the distance from the physical top of the page to the first line of text (body or header).

## Name

page.orientation — Select the page orientation

## Synopsis

§77: §114
    <xsl:param name="page.orientation"
               select="'portrait'"/>

## Description

In portrait orientation, the short edge is horizontal; in landscape orientation, it is vertical.

## Name

page.width — The width of the physical page

## Synopsis

§78: §114
    <xsl:param name="page.width">
      <xsl:choose>
        <xsl:when test="$page.orientation = 'portrait'">
          <xsl:value-of select="$page.width.portrait"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$page.height.portrait"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:param>

## Description

The page width is generally calculated from the `paper.type` and `page.orientation`.

## Name

page.width.portrait — Specify the physical size of the short edge of the page

## Synopsis

§79: §114
    <xsl:param name="page.width.portrait">
      <xsl:choose>
        <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when>
        <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when>
        <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when>
        <xsl:when test="$paper.type = 'A0'">841mm</xsl:when>
        <xsl:when test="$paper.type = 'A1'">594mm</xsl:when>
        <xsl:when test="$paper.type = 'A2'">420mm</xsl:when>
        <xsl:when test="$paper.type = 'A3'">297mm</xsl:when>
        <xsl:when test="$paper.type = 'A4'">210mm</xsl:when>
        <xsl:when test="$paper.type = 'A5'">148mm</xsl:when>
        <xsl:when test="$paper.type = 'A6'">105mm</xsl:when>
        <xsl:when test="$paper.type = 'A7'">74mm</xsl:when>
        <xsl:when test="$paper.type = 'A8'">52mm</xsl:when>
        <xsl:when test="$paper.type = 'A9'">37mm</xsl:when>
        <xsl:when test="$paper.type = 'A10'">26mm</xsl:when>
        <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when>
        <xsl:when test="$paper.type = 'B1'">707mm</xsl:when>
        <xsl:when test="$paper.type = 'B2'">500mm</xsl:when>
        <xsl:when test="$paper.type = 'B3'">353mm</xsl:when>
        <xsl:when test="$paper.type = 'B4'">250mm</xsl:when>
        <xsl:when test="$paper.type = 'B5'">176mm</xsl:when>
        <xsl:when test="$paper.type = 'B6'">125mm</xsl:when>
        <xsl:when test="$paper.type = 'B7'">88mm</xsl:when>
        <xsl:when test="$paper.type = 'B8'">62mm</xsl:when>
        <xsl:when test="$paper.type = 'B9'">44mm</xsl:when>
        <xsl:when test="$paper.type = 'B10'">31mm</xsl:when>
        <xsl:when test="$paper.type = 'C0'">917mm</xsl:when>
        <xsl:when test="$paper.type = 'C1'">648mm</xsl:when>
        <xsl:when test="$paper.type = 'C2'">458mm</xsl:when>
        <xsl:when test="$paper.type = 'C3'">324mm</xsl:when>
        <xsl:when test="$paper.type = 'C4'">229mm</xsl:when>
        <xsl:when test="$paper.type = 'C5'">162mm</xsl:when>
        <xsl:when test="$paper.type = 'C6'">114mm</xsl:when>
        <xsl:when test="$paper.type = 'C7'">81mm</xsl:when>
        <xsl:when test="$paper.type = 'C8'">57mm</xsl:when>
        <xsl:when test="$paper.type = 'C9'">40mm</xsl:when>
        <xsl:when test="$paper.type = 'C10'">28mm</xsl:when>
        <xsl:otherwise>8.5in</xsl:otherwise>
      </xsl:choose>
    </xsl:param>

## Description

The portrait page width is the length of the short edge of the physical page.

## Name

paper.type — Select the paper type

## Synopsis

§80: §114
    <xsl:param name="paper.type"
               select="'USletter'"/>

## Description

The paper type is a convenient way to specify the paper size. The list of known paper sizes includes USletter and most of the A, B, and C sizes. See `page.width.portrait`, for example.

## Name

part.autolabel — Are parts and references enumerated?

## Synopsis

§81: §114
    <xsl:param name="part.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled parts and references will be enumerated.

## Name

passivetex.extensions — Enable PassiveTeX extensions?

## Synopsis

§82: §114
    <xsl:param name="passivetex.extensions"
               select="0"/>

## Description

If non-zero, PassiveTeX extensions will be used. At present, this consists of PDF bookmarks and sorted index terms.

## Name

preface.autolabel — Are prefaces enumerated?

## Synopsis

§83: §114
    <xsl:param name="preface.autolabel"
               select="0"/>

## Description

If true (non-zero), unlabeled prefaces will be enumerated.

## Name

process.empty.source.toc — FIXME:

## Synopsis

§84: §114
    <xsl:param name="process.empty.source.toc"
               select="0"/>

## Description

FIXME:

## Name

process.source.toc — FIXME:

## Synopsis

§85: §114
    <xsl:param name="process.source.toc"
               select="0"/>

## Description

FIXME:

## Name

qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements?

## Synopsis

§86: §114
    <xsl:param name="qanda.inherit.numeration"
               select="1"/>

## Description

If true (non-zero), numbered QandADiv elements and Questions and Answers inherit the numeration of the ancestors of the QandASet.

## Name

qandadiv.autolabel — Are divisions in QAndASets enumerated?

## Synopsis

§87: §114
    <xsl:param name="qandadiv.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled qandadivs will be enumerated.

## Name

refentry.generate.name — Output NAME header before 'RefName'(s)?

## Synopsis

§88: §114
    <xsl:param name="refentry.generate.name"
               select="1"/>

## Description

If true (non-zero), a "NAME" section title is output before the list of 'RefName's.

## Name

refentry.xref.manvolnum — Output `manvolnum` as part of `refentry` cross-reference?

## Synopsis

§89: §114
    <xsl:param name="refentry.xref.manvolnum"
               select="1"/>

## Description

if true (non-zero), the `manvolnum` is used when cross-referencing `refentry`s, either with `xref` or `citerefentry`.

## Name

region.after.extent — Specifies the height of the footer.

## Synopsis

§90: §114
    <xsl:param name="region.after.extent"
               select="'12pt'"/>

## Description

The region after extent is the height of the area where footers are printed.

## Name

region.before.extent — Specifies the height of the header

## Synopsis

§91: §114
    <xsl:param name="region.before.extent"
               select="'12pt'"/>

## Description

The region before extent is the height of the area where headers are printed.

## Name

rootid — Specify the root element to format

## Synopsis

§92: §114
    <xsl:param name="rootid"
               select="''"/>

## Description

If `rootid` is specified, it must be the value of an ID that occurs in the document being formatted. The entire document will be loaded and parsed, but formatting will begin at the element identified, rather than at the root. For example, this allows you to process only chapter 4 of a book.

Because the entire document is available to the processor, automatic numbering, cross references, and other dependencies are correctly resolved.

## Name

runinhead.default.title.end.punct — Default punctuation character on a run-in-head

## Synopsis

§93: §114
    <xsl:param name="runinhead.default.title.end.punct"
               select="'.'"/>

## Description

FIXME:

## Name

runinhead.title.end.punct — Characters that count as punctuation on a run-in-head

## Synopsis

§94: §114
    <xsl:param name="runinhead.title.end.punct"
               select="'.!?:'"/>

## Description

FIXME:

## Name

sans.font.family — The default sans-serif font family

## Synopsis

§95: §114
    <xsl:param name="sans.font.family">Helvetica</xsl:param>

## Description

The default sans-serif font family. At the present, this isn't actually used by the stylesheets.

## Name

section.autolabel — Are sections enumerated?

## Synopsis

§96: §114
    <xsl:param name="section.autolabel"
               select="0"/>

## Description

If true (non-zero), unlabeled sections will be enumerated.

## Name

section.label.includes.component.label — Do section labels include the component label?

## Synopsis

§97: §114
    <xsl:param name="section.label.includes.component.label"
               select="0"/>

## Description

If true (non-zero), section labels are prefixed with the label of the component that contains them.

## Name

show.comments — Display `comment` elements?

## Synopsis

§98: §114
    <xsl:param name="show.comments">1</xsl:param>

## Description

If true (non-zero), comments will be displayed, otherwise they are suppressed. Comments here refers to the `comment` element, which will be renamed `remark` in DocBook V4.0, not XML comments (<-- like this -->) which are unavailable.

## Name

stylesheet.result.type — Identifies the output format of this stylesheet

## Synopsis

§99: §114
    <xsl:param name="stylesheet.result.type"
               select="'html'"/>

## Description

The Saxon extension functions need to know if the output format is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers that question. Valid settings are 'html' or 'fo'.

## Name

tablecolumns.extension — Enable the table columns extension function

## Synopsis

§100: §114
    <xsl:param name="tablecolumns.extension"
               select="'1'"/>

## Description

The table columns extension function adjusts the widths of table columns in the HTML result to more accurately reflect the specifications in the CALS table.

## Name

textinsert.extension — Enable the textinsert extension element

## Synopsis

§101: §114
    <xsl:param name="textinsert.extension"
               select="'1'"/>

## Description

The textinsert extension element inserts the contents of a a file into the result tree (as text).

## Name

title.font.family — The default font family for titles

## Synopsis

§102: §114
    <xsl:param name="title.font.family">Helvetica</xsl:param>

## Description

The title font family is used for titles (chapter, section, figure, etc.)

## Name

toc.margin.properties — FIXME:

## Synopsis

§103: §114
    <xsl:attribute-set name="toc.margin.properties">
      <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
      <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
      <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
      <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
      <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
      <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
    </xsl:attribute-set>

## Description

FIXME:

## Name

use.extensions — Enable extensions

## Synopsis

§104: §114
    <xsl:param name="use.extensions"
               select="'0'"/>

## Description

If non-zero, extensions may be used. Each extension is further controlled by its own parameter. But if `use.extensions` is zero, no extensions will be used.

## Name

verbatim.properties — FIXME:

## Synopsis

§105: §114
    <xsl:attribute-set name="verbatim.properties">
      <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute>
      <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
      <xsl:attribute name="space-before.maximum">1.2em</xsl:attribute>
    </xsl:attribute-set>

## Description

FIXME:

## Name

xep.extensions — Enable XEP extensions?

## Synopsis

§106: §114
    <xsl:param name="xep.extensions"
               select="0"/>

## Description

If non-zero, XEP extensions will be used. XEP extensions consists of PDF bookmarks and document information.

## Name

xref.properties — FIXME:

## Synopsis

§107: §114
    <xsl:attribute-set name="xref.properties">

    </xsl:attribute-set>

## Description

FIXME:

## Name

table.entry.padding —

## Synopsis

§108: §114
    <xsl:param name="table.entry.padding"
               select="'2pt'"/>

## Description

FIXME:

## Name

table.border.thickness —

## Synopsis

§109: §114
    <xsl:param name="table.border.thickness"
               select="'0.5pt'"/>

## Description

FIXME:

## Name

table.border.padding —

## Synopsis

§110: §114
    <xsl:param name="table.border.padding"
               select="'2pt'"/>

## Description

FIXME:

## Name

table.border.style —

## Synopsis

§111: §114
    <xsl:param name="table.border.style"
               select="'solid'"/>

## Description

FIXME:

## Name

table.border.color —

## Synopsis

§112: §114
    <xsl:param name="table.border.color"
               select="'black'"/>

## Description

FIXME:

## Name

title.margin.left — Adjust the left margin for titles

## Synopsis

§113: §114
    <xsl:param name="title.margin.left"
               select="'-4pc'"/>

## Description

This parameter adjusts the left margin for titles.

## Appendix A. The Stylesheet

The `param.xsl` stylesheet is just a wrapper around all these parameters.

§114
    <xsl:stylesheet exclude-result-prefixes="src"
                    version="1.0">

    <!-- This file is generated from param.xweb; do not edit this file! -->

    <!-- ********************************************************************
         $Id: param.xweb,v 1.3 2001/10/15 12:42:44 nwalsh Exp $
         ********************************************************************

         This file is part of the XSL DocBook Stylesheet distribution.
         See ../README or http://nwalsh.com/docbook/xsl/ for copyright
         and other information.

         ******************************************************************** -->

    §1. admon.graphics
    §2. admon.graphics.extension
    §3. admon.graphics.path
    §4. admonition.title.properties
    §5. alignment
    §6. appendix.autolabel
    §7. arbortext.extensions
    §8. author.othername.in.middle
    §9. biblioentry.item.separator
    §10. bibliography.collection
    §11. body.font.family
    §12. body.font.master
    §13. body.font.size
    §14. body.margin.bottom
    §15. body.margin.top
    §16. callout.defaultcolumn
    §17. callout.graphics
    §18. callout.graphics.extension
    §19. callout.graphics.number.limit
    §20. callout.graphics.path
    §21. callout.unicode
    §22. callout.unicode.font
    §23. callout.unicode.number.limit
    §24. callout.unicode.start.character
    §25. callouts.extension
    §26. chapter.autolabel
    §27. column.count
    §28. component.title.properties
    §29. default.table.width
    §30. default.units
    §31. dingbat.font.family
    §32. double.sided
    §33. footnote.font.size
    §34. fop.extensions
    §35. formal.object.properties
    §36. formal.procedures
    §37. formal.title.properties
    §38. format.variablelist.as.list
    §39. funcsynopsis.decoration
    §40. funcsynopsis.style
    §41. generate.book.equation.lot
    §42. generate.book.example.lot
    §43. generate.book.figure.lot
    §44. generate.book.table.lot
    §45. generate.book.toc
    §46. generate.component.toc
    §47. generate.division.equation.lot
    §48. generate.division.example.lot
    §49. generate.division.figure.lot
    §50. generate.division.table.lot
    §51. generate.division.toc
    §52. generate.index
    §53. graphic.default.extension
    §54. html.stylesheet
    §55. html.stylesheet.type
    §56. hyphenate
    §57. insert.xref.page.number
    §58. label.from.part
    §59. linenumbering.everyNth
    §60. linenumbering.extension
    §61. linenumbering.separator
    §62. linenumbering.width
    §63. list.block.spacing
    §64. list.item.spacing
    §65. make.single.year.ranges
    §66. make.year.ranges
    §67. monospace.font.family
    §68. monospace.verbatim.properties
    §69. nominal.table.width
    §70. normal.para.spacing
    §71. page.height
    §72. page.height.portrait
    §73. page.margin.bottom
    §74. page.margin.inner
    §75. page.margin.outer
    §76. page.margin.top
    §77. page.orientation
    §78. page.width
    §79. page.width.portrait
    §80. paper.type
    §81. part.autolabel
    §82. passivetex.extensions
    §83. preface.autolabel
    §84. process.empty.source.toc
    §85. process.source.toc
    §86. qanda.inherit.numeration
    §87. qandadiv.autolabel
    §88. refentry.generate.name
    §89. refentry.xref.manvolnum
    §90. region.after.extent
    §91. region.before.extent
    §92. rootid
    §93. runinhead.default.title.end.punct
    §94. runinhead.title.end.punct
    §95. sans.font.family
    §96. section.autolabel
    §97. section.label.includes.component.label
    §98. show.comments
    §99. stylesheet.result.type
    §100. tablecolumns.extension
    §101. textinsert.extension
    §102. title.font.family
    §103. toc.margin.properties
    §104. use.extensions
    §105. verbatim.properties
    §106. xep.extensions
    §107. xref.properties
    §108. table.entry.padding
    §109. table.border.thickness
    §110. table.border.padding
    §111. table.border.style
    §112. table.border.color
    §113. title.margin.left

    </xsl:stylesheet>