Figure, table, and other titles

The following elements all share the designation of formal objects in DocBook because they include a title element and are assigned a number label:

figure
table
example
equation
procedure   if the formal.procedures parameter is set to 1

When processed, these elements have a labeled title that is generated from gentext templates for each locale. To customize the generated title text, see the section “Customizing generated text”.

Formal title placement

By default, the generated title is placed before the object itself. You can move the title to appear after the object by altering the formal.title.placement parameter. The default value of that parameter in fo/param.xsl or html/param.xsl looks like the following:

<xsl:param name="formal.title.placement">
figure before
example before
equation before
table before
procedure before
</xsl:param>

The parameter is pairs of strings, each pair matching an element name to a location string. They are all before by default. In your customization layer, you can modify this parameter to place titles after the object. The following example moves figure and equation titles to appear below their respective content:

<xsl:param name="formal.title.placement">
figure after
example before
equation after
table before
procedure before
</xsl:param>

Be sure to keep the values paired up, or the stylesheet won't parse the parameter properly. The string does not have to be after; it just has to be anything except before to work.

If you output both print and HTML, then you can put different values of this parameter in the respective stylesheet customization files.