blob: a73f96a4dc3880057aa0d58f8156543f7b06fef6 [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<book version="5.0">
<info>
<title>Manpages Parameter Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
<author>
<orgname>The DocBook Project</orgname>
</author>
<copyright>
<year>2005-2011</year>
<holder>The DocBook Project</holder>
</copyright>
<abstract>
<para>This is reference documentation for all user-configurable
parameters in the DocBook XSL "manpages" stylesheet (for
generating groff/nroff output). Note that the manpages
stylesheet is a customization layer of the DocBook XSL HTML
stylesheet. Therefore, you can also use a number of <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../html/">HTML stylesheet parameters</link>
to control manpages output (in addition to the
manpages-specific parameters listed in this section).</para>
</abstract>
</info>
<reference xml:id="general">
<title>Hyphenation, justification, and breaking</title>
<refentry version="5.0" xml:id="man.hyphenate">
<refmeta>
<refentrytitle>man.hyphenate</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.hyphenate</refname>
<refpurpose>Enable hyphenation?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.hyphenate.frag">
&lt;xsl:param name="man.hyphenate"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, hyphenation is enabled.</para>
<note>
<para>The default value for this parameter is zero because groff is
not particularly smart about how it does hyphenation; it can end up
hyphenating a lot of things that you don't want hyphenated. To
mitigate that, the default behavior of the stylesheets is to suppress
hyphenation of computer inlines, filenames, and URLs. (You can
override the default behavior by setting non-zero values for the
<parameter>man.hyphenate.urls</parameter>,
<parameter>man.hyphenate.filenames</parameter>, and
<parameter>man.hyphenate.computer.inlines</parameter> parameters.) But
the best way is still to just globally disable hyphenation, as the
stylesheets do by default.</para>
<para>The only good reason to enabled hyphenation is if you have also
enabled justification (which is disabled by default). The reason is
that justified text can look very bad unless you also hyphenate it; to
quote the <quote>Hypenation</quote> node from the groff info page:
<blockquote>
<para><emphasis>Since the odds are not great for finding a set of
words, for every output line, which fit nicely on a line without
inserting excessive amounts of space between words, 'gtroff'
hyphenates words so that it can justify lines without inserting too
much space between words.</emphasis></para>
</blockquote>
So, if you set a non-zero value for the
<parameter>man.justify</parameter> parameter (to enable
justification), then you should probably also set a non-zero value for
<parameter>man.hyphenate</parameter> (to enable hyphenation).</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.hyphenate.urls">
<refmeta>
<refentrytitle>man.hyphenate.urls</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.hyphenate.urls</refname>
<refpurpose>Hyphenate URLs?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.hyphenate.urls.frag">
&lt;xsl:param name="man.hyphenate.urls"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If zero (the default), hyphenation is suppressed for output of
the <tag>ulink</tag> <tag class="attribute">url</tag> attribute.</para>
<note>
<para>If hyphenation is already turned off globally (that is, if
<parameter>man.hyphenate</parameter> is zero, setting
<parameter>man.hyphenate.urls</parameter> is not necessary.</para>
</note>
<para>If <parameter>man.hyphenate.urls</parameter> is non-zero, URLs
will not be treated specially and are subject to hyphenation just like
other words.</para>
<note>
<para>If you are thinking about setting a non-zero value for
<parameter>man.hyphenate.urls</parameter> in order to make long
URLs break across lines, you'd probably be better off
experimenting with setting the
<parameter>man.break.after.slash</parameter> parameter first. That
will cause long URLs to be broken after slashes.</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.hyphenate.filenames">
<refmeta>
<refentrytitle>man.hyphenate.filenames</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.hyphenate.filenames</refname>
<refpurpose>Hyphenate filenames?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.hyphenate.filenames.frag">
&lt;xsl:param name="man.hyphenate.filenames"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If zero (the default), hyphenation is suppressed for
<tag>filename</tag> output.</para>
<note>
<para>If hyphenation is already turned off globally (that is, if
<parameter>man.hyphenate</parameter> is zero, setting
<parameter>man.hyphenate.filenames</parameter> is not
necessary.</para>
</note>
<para>If <parameter>man.hyphenate.filenames</parameter> is non-zero,
filenames will not be treated specially and are subject to hyphenation
just like other words.</para>
<note>
<para>If you are thinking about setting a non-zero value for
<parameter>man.hyphenate.filenames</parameter> in order to make long
filenames/pathnames break across lines, you'd probably be better off
experimenting with setting the
<parameter>man.break.after.slash</parameter> parameter first. That
will cause long pathnames to be broken after slashes.</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.hyphenate.computer.inlines">
<refmeta>
<refentrytitle>man.hyphenate.computer.inlines</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.hyphenate.computer.inlines</refname>
<refpurpose>Hyphenate computer inlines?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.hyphenate.computer.inlines.frag">
&lt;xsl:param name="man.hyphenate.computer.inlines"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If zero (the default), hyphenation is suppressed for
<quote>computer inlines</quote> such as environment variables,
constants, etc. This parameter current affects output of the following
elements:
<simplelist type="inline">
<member><tag>classname</tag></member>
<member><tag>constant</tag></member>
<member><tag>envar</tag></member>
<member><tag>errorcode</tag></member>
<member><tag>option</tag></member>
<member><tag>replaceable</tag></member>
<member><tag>userinput</tag></member>
<member><tag>type</tag></member>
<member><tag>varname</tag></member>
</simplelist>
</para>
<note>
<para>If hyphenation is already turned off globally (that is, if
<parameter>man.hyphenate</parameter> is zero, setting the
<parameter>man.hyphenate.computer.inlines</parameter> is not
necessary.</para>
</note>
<para>If <parameter>man.hyphenate.computer.inlines</parameter> is
non-zero, computer inlines will not be treated specially and will be
hyphenated like other words when needed.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.justify">
<refmeta>
<refentrytitle>man.justify</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.justify</refname>
<refpurpose>Justify text to both right and left margins?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.justify.frag">
&lt;xsl:param name="man.justify"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, text is justified to both the right and left
margins (or, in roff terminology, "adjusted and filled" to both the
right and left margins). If zero (the default), text is adjusted to
the left margin only -- producing what is traditionally called
"ragged-right" text.</para>
<note>
<para>The default value for this parameter is zero because justified
text looks good only when it is also hyphenated. Without hyphenation,
excessive amounts of space often end up getting between words, in
order to "pad" lines out to align on the right margin.</para>
<para>The problem is that groff is not particularly smart about how it
does hyphenation; it can end up hyphenating a lot of things that you
don't want hyphenated. So, disabling both justification and
hyphenation ensures that hyphens won't get inserted where you don't
want to them, and you don't end up with lines containing excessive
amounts of space between words.</para>
<para>However, if do you decide to set a non-zero value for the
<parameter>man.justify</parameter> parameter (to enable
justification), then you should probably also set a non-zero value for
<parameter>man.hyphenate</parameter> (to enable hyphenation).</para>
<para>Yes, these default settings run counter to how most existing man
pages are formatted. But there are some notable exceptions, such as
the <literal>perl</literal> man pages.</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.break.after.slash">
<refmeta>
<refentrytitle>man.break.after.slash</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.break.after.slash</refname>
<refpurpose>Enable line-breaking after slashes?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.break.after.slash.frag">
&lt;xsl:param name="man.break.after.slash"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, line-breaking after slashes is enabled. This is
mainly useful for causing long URLs or pathnames/filenames to be
broken up or "wrapped" across lines (though it also has the side
effect of sometimes causing relatively short URLs and pathnames to be
broken up across lines too).</para>
<para>If zero (the default), line-breaking after slashes is
disabled. In that case, strings containing slashes (for example, URLs
or filenames) are not broken across lines, even if they exceed the
maximum column widith.</para>
<warning>
<para>If you set a non-zero value for this parameter, check your
man-page output carefuly afterwards, in order to make sure that the
setting has not introduced an excessive amount of breaking-up of URLs
or pathnames. If your content contains mostly short URLs or
pathnames, setting a non-zero value for
<parameter>man.break.after.slash</parameter> will probably result in
in a significant number of relatively short URLs and pathnames being
broken across lines, which is probably not what you want.</para>
</warning>
</refsection>
</refentry>
</reference>
<reference xml:id="indent">
<title>Indentation</title>
<refentry version="5.0" xml:id="man.indent.width">
<refmeta>
<refentrytitle>man.indent.width</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">length</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.indent.width</refname>
<refpurpose>Specifies width used for adjusted indents</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.indent.width.frag">
&lt;xsl:param name="man.indent.width"&gt;4&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.indent.width</parameter> parameter specifies
the width used for adjusted indents. The value of
<parameter>man.indent.width</parameter> is used for indenting of
lists, verbatims, headings, and elsewhere, depending on whether the
values of certain <literal>man.indent.*</literal> boolean parameters
are non-zero.</para>
<para>The value of <parameter>man.indent.width</parameter> should
include a valid roff measurement unit (for example,
<literal>n</literal> or <literal>u</literal>). The default value of
<literal>4n</literal> specifies a 4-en width; when viewed on a
console, that amounts to the width of four characters. For details
about roff measurment units, see the <literal>Measurements</literal>
node in the groff info page.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.indent.refsect">
<refmeta>
<refentrytitle>man.indent.refsect</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.indent.refsect</refname>
<refpurpose>Adjust indentation of refsect* and refsection?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.indent.refsect.frag">
&lt;xsl:param name="man.indent.refsect" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.indent.refsect</parameter> is
non-zero, the width of the left margin for
<tag>refsect1</tag>, <tag>refsect2</tag> and
<tag>refsect3</tag> contents and titles (and first-level,
second-level, and third-level nested
<tag>refsection</tag>instances) is adjusted by the value of
the <parameter>man.indent.width</parameter> parameter. With
<parameter>man.indent.width</parameter> set to its default value of
<literal>3n</literal>, the main results are that:
<itemizedlist>
<listitem>
<para>contents of <tag>refsect1</tag> are output with a
left margin of three characters instead the roff default of seven
or eight characters</para>
</listitem>
<listitem>
<para>contents of <tag>refsect2</tag> are displayed in
console output with a left margin of six characters instead the of
the roff default of seven characters</para>
</listitem>
<listitem>
<para> the contents of <tag>refsect3</tag> and nested
<tag>refsection</tag> instances are adjusted
accordingly.</para>
</listitem>
</itemizedlist>
If instead the value of <parameter>man.indent.refsect</parameter> is
zero, no margin adjustment is done for <literal>refsect*</literal>
output.</para>
<tip>
<para>If your content is primarly comprised of
<tag>refsect1</tag> and <tag>refsect2</tag> content
(or the <tag>refsection</tag> equivalent)&#160;&#8211; with few or
no <tag>refsect3</tag> or lower nested sections , you may be
able to &#8220;conserve&#8221; space in your output by setting
<parameter>man.indent.refsect</parameter> to a non-zero value. Doing
so will &#8220;squeeze&#8221; the left margin in such as way as to provide an
additional four characters of &#8220;room&#8221; per line in
<tag>refsect1</tag> output. That extra room may be useful
if, for example, you have many verbatim sections with long lines in
them.</para>
</tip>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.indent.blurbs">
<refmeta>
<refentrytitle>man.indent.blurbs</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.indent.blurbs</refname>
<refpurpose>Adjust indentation of blurbs?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.indent.blurbs.frag">
&lt;xsl:param name="man.indent.blurbs" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.indent.blurbs</parameter> is
non-zero, the width of the left margin for
<tag>authorblurb</tag>, <tag>personblurb</tag>, and
<tag>contrib</tag> output is set to the value of the
<parameter>man.indent.width</parameter> parameter
(<literal>3n</literal> by default). If instead the value of
<parameter>man.indent.blurbs</parameter> is zero, the built-in roff
default width (<literal>7.2n</literal>) is used.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.indent.lists">
<refmeta>
<refentrytitle>man.indent.lists</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.indent.lists</refname>
<refpurpose>Adjust indentation of lists?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.indent.lists.frag">
&lt;xsl:param name="man.indent.lists" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.indent.lists</parameter> is
non-zero, the width of the left margin for list items in
<tag>itemizedlist</tag>,
<tag>orderedlist</tag>,
<tag>variablelist</tag> output (and output of some other
lists) is set to the value of the
<parameter>man.indent.width</parameter> parameter
(<literal>4n</literal> by default). If instead the value of
<parameter>man.indent.lists</parameter> is zero, the built-in roff
default width (<literal>7.2n</literal>) is used.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.indent.verbatims">
<refmeta>
<refentrytitle>man.indent.verbatims</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.indent.verbatims</refname>
<refpurpose>Adjust indentation of verbatims?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.indent.verbatims.frag">
&lt;xsl:param name="man.indent.verbatims" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.indent.verbatims</parameter> is
non-zero, the width of the left margin for output of verbatim
environments (<tag>programlisting</tag>,
<tag>screen</tag>, and so on) is set to the value of the
<parameter>man.indent.width</parameter> parameter
(<literal>3n</literal> by default). If instead the value of
<parameter>man.indent.verbatims</parameter> is zero, the built-in roff
default width (<literal>7.2n</literal>) is used.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="fonts">
<title>Fonts</title>
<refentry version="5.0" xml:id="man.font.funcprototype">
<refmeta>
<refentrytitle>man.font.funcprototype</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.font.funcprototype</refname>
<refpurpose>Specifies font for funcprototype output</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.font.funcprototype.frag">
&lt;xsl:param name="man.font.funcprototype"&gt;BI&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.font.funcprototype</parameter> parameter
specifies the font for <tag>funcprototype</tag> output. It
should be a valid roff font name, such as <literal>BI</literal> or
<literal>B</literal>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.font.funcsynopsisinfo">
<refmeta>
<refentrytitle>man.font.funcsynopsisinfo</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.font.funcsynopsisinfo</refname>
<refpurpose>Specifies font for funcsynopsisinfo output</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.font.funcsynopsisinfo.frag">
&lt;xsl:param name="man.font.funcsynopsisinfo"&gt;B&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.font.funcsynopsisinfo</parameter> parameter
specifies the font for <tag>funcsynopsisinfo</tag> output. It
should be a valid roff font name, such as <literal>B</literal> or
<literal>I</literal>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.font.links">
<refmeta>
<refentrytitle>man.font.links</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.font.links</refname>
<refpurpose>Specifies font for links</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.font.links.frag">
&lt;xsl:param name="man.font.links"&gt;B&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.font.links</parameter> parameter
specifies the font for output of links (<tag>ulink</tag> instances
and any instances of any element with an <tag class="attribute">xlink:href</tag> attribute).</para>
<para>The value of <parameter>man.font.links</parameter> must be
either <literal>B</literal> or <literal>I</literal>, or empty. If
the value is empty, no font formatting is applied to links.</para>
<para>If you set <parameter>man.endnotes.are.numbered</parameter> and/or
<parameter>man.endnotes.list.enabled</parameter> to zero (disabled), then
you should probably also set an empty value for
<parameter>man.font.links</parameter>. But if
<parameter>man.endnotes.are.numbered</parameter> is non-zero (enabled),
you should probably keep
<parameter>man.font.links</parameter> set to
<literal>B</literal> or <literal>I</literal><footnote><para>The
main purpose of applying a font format to links in most output
formats it to indicate that the formatted text is
&#8220;clickable&#8221;; given that links rendered in man pages are
not &#8220;real&#8221; hyperlinks that users can click on, it might
seem like there is never a good reason to have font formatting for
link contents in man output.</para>
<para>In fact, if you suppress the
display of inline link references (by setting
<parameter>man.endnotes.are.numbered</parameter> to zero), there is no
good reason to apply font formatting to links. However, if
<parameter>man.endnotes.are.numbered</parameter> is non-zero, having
font formatting for links (arguably) serves a purpose: It provides
&#8220;context&#8221; information about exactly what part of the text
is being &#8220;annotated&#8221; by the link. Depending on how you
mark up your content, that context information may or may not
have value.</para></footnote>.</para>
</refsection>
<refsection><info><title>Related Parameters</title></info>
<para><parameter>man.endnotes.list.enabled</parameter>,
<parameter>man.endnotes.are.numbered</parameter></para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.font.table.headings">
<refmeta>
<refentrytitle>man.font.table.headings</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.font.table.headings</refname>
<refpurpose>Specifies font for table headings</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.font.table.headings.frag">
&lt;xsl:param name="man.font.table.headings"&gt;B&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.font.table.headings</parameter> parameter
specifies the font for <tag>table</tag> headings. It should be
a valid roff font, such as <literal>B</literal> or
<literal>I</literal>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.font.table.title">
<refmeta>
<refentrytitle>man.font.table.title</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.font.table.title</refname>
<refpurpose>Specifies font for table headings</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.font.table.title.frag">
&lt;xsl:param name="man.font.table.title"&gt;B&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.font.table.title</parameter> parameter
specifies the font for <tag>table</tag> titles. It should be
a valid roff font, such as <literal>B</literal> or
<literal>I</literal>.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="synopsis">
<title>SYNOPSIS section</title>
<refentry version="5.0" xml:id="man.funcsynopsis.style">
<refmeta>
<refentrytitle>man.funcsynopsis.style</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">ansi</refmiscinfo>
<refmiscinfo class="other" otherclass="value">kr</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.funcsynopsis.style</refname>
<refpurpose>What style of <tag>funcsynopsis</tag> should be generated?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.funcsynopsis.style.frag">&lt;xsl:param name="man.funcsynopsis.style"&gt;ansi&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>man.funcsynopsis.style</parameter> is
<literal>ansi</literal>, ANSI-style function synopses are
generated for a <tag>funcsynopsis</tag>, otherwise K&amp;R-style
function synopses are generated.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="authors">
<title>AUTHORS and COPYRIGHT sections</title>
<refentry version="5.0" xml:id="man.authors.section.enabled">
<refmeta>
<refentrytitle>man.authors.section.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.authors.section.enabled</refname>
<refpurpose>Display auto-generated AUTHORS section?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.authors.section.enabled.frag">
&lt;xsl:param name="man.authors.section.enabled"&gt;1&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>man.authors.section.enabled</parameter> is non-zero
(the default), then an <literal>AUTHORS</literal> section is
generated near the end of each man page. The output of the
<literal>AUTHORS</literal> section is assembled from any
<tag>author</tag>, <tag>editor</tag>, and <tag>othercredit</tag>
metadata found in the contents of the child <tag>info</tag> or
<tag>refentryinfo</tag> (if any) of the <tag>refentry</tag>
itself, or from any <tag>author</tag>, <tag>editor</tag>, and
<tag>othercredit</tag> metadata that may appear in <tag>info</tag>
contents of any ancestors of the <tag>refentry</tag>.</para>
<para>If the value of
<parameter>man.authors.section.enabled</parameter> is zero, the
the auto-generated <literal>AUTHORS</literal> section is
suppressed.</para>
<para>Set the value of
<parameter>man.authors.section.enabled</parameter> to zero if
you want to have a manually created <literal>AUTHORS</literal>
section in your source, and you want it to appear in output
instead of the auto-generated <literal>AUTHORS</literal>
section.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.copyright.section.enabled">
<refmeta>
<refentrytitle>man.copyright.section.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.copyright.section.enabled</refname>
<refpurpose>Display auto-generated COPYRIGHT section?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.copyright.section.enabled.frag">
&lt;xsl:param name="man.copyright.section.enabled"&gt;1&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>man.copyright.section.enabled</parameter> is non-zero
(the default), then a <literal>COPYRIGHT</literal> section is
generated near the end of each man page. The output of the
<literal>COPYRIGHT</literal> section is assembled from any
<tag>copyright</tag> and <tag>legalnotice</tag> metadata found in
the contents of the child <tag>info</tag> or
<tag>refentryinfo</tag> (if any) of the <tag>refentry</tag>
itself, or from any <tag>copyright</tag> and
<tag>legalnotice</tag> metadata that may appear in <tag>info</tag>
contents of any ancestors of the <tag>refentry</tag>.</para>
<para>If the value of
<parameter>man.copyright.section.enabled</parameter> is zero, the
the auto-generated <literal>COPYRIGHT</literal> section is
suppressed.</para>
<para>Set the value of
<parameter>man.copyright.section.enabled</parameter> to zero if
you want to have a manually created <literal>COPYRIGHT</literal>
section in your source, and you want it to appear in output
instead of the auto-generated <literal>COPYRIGHT</literal>
section.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="endnotes">
<title>Endnotes and link handling</title>
<refentry version="5.0" xml:id="man.endnotes.list.enabled">
<refmeta>
<refentrytitle>man.endnotes.list.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.endnotes.list.enabled</refname>
<refpurpose>Display endnotes list at end of man page?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.endnotes.list.enabled.frag">
&lt;xsl:param name="man.endnotes.list.enabled"&gt;1&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.endnotes.list.enabled</parameter> is
non-zero (the default), then an endnotes list is added to the end of
the output man page.</para>
<para>If the value of <parameter>man.endnotes.list.enabled</parameter> is
zero, the list is suppressed &#8212; unless link numbering is enabled (that
is, if <parameter>man.endnotes.are.numbered</parameter> is non-zero), in
which case, that setting overrides the
<parameter>man.endnotes.list.enabled</parameter> setting, and the
endnotes list is still displayed. The reason is that inline
numbering of notesources associated with endnotes only makes sense
if a (numbered) list of endnotes is also generated.</para>
<note>
<para>Leaving
<parameter>man.endnotes.list.enabled</parameter> at its default
(non-zero) value ensures that no &#8220;out of line&#8221; information (such
as the URLs for hyperlinks and images) gets lost in your
man-page output. It just gets &#8220;rearranged&#8221;.</para>
<para>So if you&#8217;re thinking about disabling endnotes listing by
setting the value of
<parameter>man.endnotes.list.enabled</parameter> to zero:
Before you do so, first take some time to carefully consider
the information needs and experiences of your users. The &#8220;out
of line&#8221; information has value even if the presentation of it
in text output is not as interactive as it may be in other
output formats.</para>
<para>As far as the specific case of URLs: Even though the URLs
displayed in text output may not be &#8220;real&#8221; (clickable)
hyperlinks, many X terminals have convenience features for
recognizing URLs and can, for example, present users with
an options to open a URL in a browser with the user clicks on
the URL is a terminal window. And short of those, users with X
terminals can always manually cut and paste the URLs into a web
browser.</para>
<para>Also, note that various &#8220;man to html&#8221; tools, such as the
widely used <command><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://users.actrix.gen.nz/michael/vhman2html.html">man2html</link></command> (<literal>VH-Man2html</literal>)
application, automatically mark up URLs with <literal>a@href</literal> markup
during conversion &#8212; resulting in &#8220;real&#8221; hyperlinks in HTML
output from those tools.</para>
</note>
<para>To &#8220;turn off&#8221; numbering of endnotes in the
endnotes list, set <parameter>man.endnotes.are.numbered</parameter>
to zero. The endnotes list will
still be displayed; it will just be displayed without the
numbers<footnote><para>It can still make sense to have
the list of endnotes displayed even if you have endnotes numbering turned
off. In that case, your endnotes list basically becomes a &#8220;list
of references&#8221; without any association with specific text in
your document. This is probably the best option if you find the inline
endnotes numbering obtrusive. Your users will still have access to all the &#8220;out of line&#8221;
such as URLs for hyperlinks.</para></footnote>
</para>
<para>The default heading for the endnotes list is
<literal>NOTES</literal>. To change that, set a non-empty
value for the <parameter>man.endnotes.list.heading</parameter>
parameter.</para>
<para>In the case of notesources that are links: Along with the
URL for each link, the endnotes list includes the contents of the
link. The list thus includes only non-empty<footnote>
<para>A &#8220;non-empty&#8221; link is one that looks like
this:<literallayout class="monospaced"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"&gt;manpages&lt;/ulink&gt;</literallayout>
an &#8220;empty link&#8221; is on that looks like this:<literallayout class="monospaced"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/&gt;</literallayout>
</para></footnote> links.
Empty links are never included, and never numbered. They are simply
displayed inline, without any numbering.</para>
<para>In addition, if there are multiple instances of links in a
<tag>refentry</tag> that have the same URL, the URL is listed only
once. The contents listed for that link in the endnotes list are
the contents of the first link which has that URL.</para>
<para>If you disable endnotes listing, you should probably also set
<parameter>man.links.are.underlined</parameter> to zero (to disable
link underlining).</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.endnotes.list.heading">
<refmeta>
<refentrytitle>man.endnotes.list.heading</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.endnotes.list.heading</refname>
<refpurpose>Specifies an alternate name for endnotes list</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.endnotes.list.heading.frag">
&lt;xsl:param name="man.endnotes.list.heading"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.endnotes.are.numbered</parameter> parameter
and/or the <parameter>man.endnotes.list.enabled</parameter>
parameter is non-zero (the defaults for both are non-zero), a
numbered list of endnotes is generated near the end of each man
page. The default heading for the list of endnotes is the
equivalent of the English word <literal>NOTES</literal> in
the current locale. To cause an alternate heading to be displayed,
set a non-empty value for the
<parameter>man.endnotes.list.heading</parameter> parameter &#8212;
for example, <literal>REFERENCES</literal>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.endnotes.are.numbered">
<refmeta>
<refentrytitle>man.endnotes.are.numbered</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.endnotes.are.numbered</refname>
<refpurpose>Number endnotes?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.endnotes.are.numbered.frag">
&lt;xsl:param name="man.endnotes.are.numbered"&gt;1&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.endnotes.are.numbered</parameter> is
non-zero (the default), then for each non-empty<footnote>
<para>A &#8220;non-empty&#8221; notesource is one that looks like
this:<literallayout class="monospaced"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"&gt;manpages&lt;/ulink&gt;</literallayout>
an &#8220;empty&#8221; notesource is on that looks like this:<literallayout class="monospaced"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/&gt;</literallayout>
</para></footnote> &#8220;notesource&#8221;:
<itemizedlist>
<listitem>
<para>a number (in square brackets) is displayed inline after the
rendered inline contents (if any) of the notesource</para>
</listitem>
<listitem>
<para>the contents of the notesource are included in a
numbered list of endnotes that is generated at the end of
each man page; the number for each endnote corresponds to
the inline number for the notesource with which it is
associated</para>
</listitem>
</itemizedlist>
The default heading for the list of endnotes is
<literal>NOTES</literal>. To output a different heading, set a value
for the <parameter>man.endnotes.section.heading</parameter>
parameter.</para>
<note>
<para>The endnotes list is also displayed (but without
numbers) if the value of
<parameter>man.endnotes.list.enabled</parameter> is
non-zero.</para>
</note>
<para>If the value of <parameter>man.endnotes.are.numbered</parameter> is
zero, numbering of endnotess is suppressed; only inline
contents (if any) of the notesource are displayed inline.
<important>
<para>If you are thinking about disabling endnote numbering by setting
the value of <parameter>man.endnotes.are.numbered</parameter> to zero,
before you do so, first take some time to carefully
consider the information needs and experiences of your users. The
square-bracketed numbers displayed inline after notesources may seem
obstrusive and aesthetically unpleasing<footnote><para>As far as notesources that are links, ytou might
think it would be better to just display URLs for non-empty
links inline, after their content, rather than displaying
square-bracketed numbers all over the place. But it's not better. In
fact, it's not even practical, because many (most) URLs for links
are too long to be displayed inline. They end up overflowing the
right margin. You can set a non-zero value for
<parameter>man.break.after.slash</parameter> parameter to deal with
that, but it could be argued that what you end up with is at least
as ugly, and definitely more obstrusive, then having short
square-bracketed numbers displayed inline.</para></footnote>,
but in a text-only output format, the
numbered-notesources/endnotes-listing mechanism is the only
practical way to handle this kind of content.</para>
<para>Also, users of &#8220;text based&#8221; browsers such as
<command>lynx</command> will already be accustomed to seeing inline
numbers for links. And various "man to html" applications, such as
the widely used <command><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://users.actrix.gen.nz/michael/vhman2html.html">man2html</link></command> (<literal>VH-Man2html</literal>)
application, can automatically turn URLs into "real" HTML hyperlinks
in output. So leaving <parameter>man.endnotes.are.numbered</parameter>
at its default (non-zero) value ensures that no information is
lost in your man-page output. It just gets
&#8220;rearranged&#8221;.</para>
</important>
</para>
<para>The handling of empty links is not affected by this
parameter. Empty links are handled simply by displaying their URLs
inline. Empty links are never auto-numbered.</para>
<para>If you disable endnotes numbering, you should probably also set
<parameter>man.font.links</parameter> to an empty value (to
disable font formatting for links.</para>
</refsection>
<refsection><info><title>Related Parameters</title></info>
<para><parameter>man.endnotes.list.enabled</parameter>,
<parameter>man.font.links</parameter></para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.base.url.for.relative.links">
<refmeta>
<refentrytitle>man.base.url.for.relative.links</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.base.url.for.relative.links</refname>
<refpurpose>Specifies a base URL for relative links</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.base.url.for.relative.links.frag">&lt;xsl:param name="man.base.url.for.relative.links"&gt;[set $man.base.url.for.relative.links]/&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>For any &#8220;notesource&#8221; listed in the auto-generated
&#8220;NOTES&#8221; section of output man pages (which is generated when
the value of the
<parameter>man.endnotes.list.enabled</parameter> parameter
is non-zero), if the notesource is a link source with a
relative URI, the URI is displayed in output with the value
of the
<parameter>man.base.url.for.relative.links</parameter>
parameter prepended to the value of the link URI.</para>
<note>
<para>A link source is an notesource that references an
external resource:
<itemizedlist>
<listitem>
<para>a <tag>ulink</tag> element with a <tag class="attribute">url</tag> attribute</para>
</listitem>
<listitem>
<para>any element with an <tag class="attribute">xlink:href</tag> attribute</para>
</listitem>
<listitem>
<para>an <tag>imagedata</tag>, <tag>audiodata</tag>, or
<tag>videodata</tag> element</para>
</listitem>
</itemizedlist>
</para>
</note>
<para>If you use relative URIs in link sources in your DocBook
<tag>refentry</tag> source, and you leave
<parameter>man.base.url.for.relative.links</parameter>
unset, the relative links will appear &#8220;as is&#8221; in the &#8220;Notes&#8221;
section of any man-page output generated from your source.
That&#8217;s probably not what you want, because such relative
links are only usable in the context of HTML output. So, to
make the links meaningful and usable in the context of
man-page output, set a value for
<parameter>man.base.url.for.relative.links</parameter> that
points to the online version of HTML output generated from
your DocBook <tag>refentry</tag> source. For
example:
<programlisting>&lt;xsl:param name="man.base.url.for.relative.links"
&gt;http://www.kernel.org/pub/software/scm/git/docs/&lt;/xsl:param&gt;</programlisting>
</para>
</refsection>
<refsection><info><title>Related Parameters</title></info>
<para><parameter>man.endnotes.list.enabled</parameter></para>
</refsection>
</refentry>
</reference>
<reference xml:id="lists">
<title>Lists</title>
<refentry version="5.0" xml:id="man.segtitle.suppress">
<refmeta>
<refentrytitle>man.segtitle.suppress</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.segtitle.suppress</refname>
<refpurpose>Suppress display of segtitle contents?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.segtitle.suppress.frag">
&lt;xsl:param name="man.segtitle.suppress" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.segtitle.suppress</parameter> is
non-zero, then display of <tag>segtitle</tag> contents is
suppressed in output.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="charmap">
<title>Character/string substitution</title>
<refentry version="5.0" xml:id="man.charmap.enabled">
<refmeta>
<refentrytitle>man.charmap.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.charmap.enabled</refname>
<refpurpose>Apply character map before final output?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.charmap.enabled.frag">
&lt;xsl:param name="man.charmap.enabled" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the <parameter>man.charmap.enabled</parameter>
parameter is non-zero, a "character map" is used to substitute certain
Unicode symbols and special characters with appropriate roff/groff
equivalents, just before writing each man-page file to the
filesystem. If instead the value of
<parameter>man.charmap.enabled</parameter> is zero, Unicode characters
are passed through "as is".</para>
<refsection><info><title>Details</title></info>
<para>For converting certain Unicode symbols and special characters in
UTF-8 or UTF-16 encoded XML source to appropriate groff/roff
equivalents in man-page output, the DocBook XSL Stylesheets
distribution includes a <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">roff character map</link> that is compliant with the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.w3.org/TR/xslt20/#character-maps">XSLT character
map</link> format as detailed in the XSLT 2.0 specification. The map
contains more than 800 character mappings and can be considered the
standard roff character map for the distribution.</para>
<para>You can use the <parameter>man.charmap.uri</parameter>
parameter to specify a URI for the location for an alternate roff
character map to use in place of the standard roff character map
provided in the distribution.</para>
<para>You can also use a subset of a character map. For details,
see the <parameter>man.charmap.use.subset</parameter>,
<parameter>man.charmap.subset.profile</parameter>, and
<parameter>man.charmap.subset.profile.english</parameter>
parameters.</para>
</refsection>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.charmap.uri">
<refmeta>
<refentrytitle>man.charmap.uri</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">uri</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.charmap.uri</refname>
<refpurpose>URI for custom roff character map</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.charmap.uri.frag">
&lt;xsl:param name="man.charmap.uri"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>For converting certain Unicode symbols and special characters in
UTF-8 or UTF-16 encoded XML source to appropriate groff/roff
equivalents in man-page output, the DocBook XSL Stylesheets
distribution includes an <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.w3.org/TR/xslt20/#character-maps">XSLT character
map</link>. That character map can be considered the standard roff
character map for the distribution.</para>
<para>If the value of the <parameter>man.charmap.uri</parameter>
parameter is non-empty, that value is used as the URI for the location
for an alternate roff character map to use in place of the standard
roff character map provided in the distribution.</para>
<warning>
<para>Do not set a value for <parameter>man.charmap.uri</parameter>
unless you have a custom roff character map that differs from the
standard one provided in the distribution.</para>
</warning>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.charmap.use.subset">
<refmeta>
<refentrytitle>man.charmap.use.subset</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.charmap.use.subset</refname>
<refpurpose>Use subset of character map instead of full map?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.charmap.use.subset.frag">
&lt;xsl:param name="man.charmap.use.subset" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.charmap.use.subset</parameter> parameter is non-zero,
a subset of the roff character map is used instead of the full roff
character map. The profile of the subset used is determined either
by the value of the
<parameter>man.charmap.subset.profile</parameter>
parameter (if the source is not in English) or the
<parameter>man.charmap.subset.profile.english</parameter>
parameter (if the source is in English).</para>
<note>
<para>You may want to experiment with setting a non-zero value of
<parameter>man.charmap.use.subset</parameter>, so that the full
character map is used. Depending on which XSLT engine you run,
setting a non-zero value for
<parameter>man.charmap.use.subset</parameter> may significantly
increase the time needed to process your documents. Or it may
not. For example, if you set it and run it with xsltproc, it seems
to dramatically increase processing time; on the other hand, if you
set it and run it with Saxon, it does not seem to increase
processing time nearly as much.</para>
<para>If processing time is not a important concern and/or you can
tolerate the increase in processing time imposed by using the full
character map, set <parameter>man.charmap.use.subset</parameter> to
zero.</para>
</note>
<refsection><info><title>Details</title></info>
<para>For converting certain Unicode symbols and special characters in
UTF-8 or UTF-16 encoded XML source to appropriate groff/roff
equivalents in man-page output, the DocBook XSL Stylesheets
distribution includes a <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">roff character map</link> that is compliant with the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.w3.org/TR/xslt20/#character-maps">XSLT character
map</link> format as detailed in the XSLT 2.0 specification. The map
contains more than 800 character mappings and can be considered the
standard roff character map for the distribution.</para>
<note>
<para>You can use the <parameter>man.charmap.uri</parameter>
parameter to specify a URI for the location for an alternate roff
character map to use in place of the standard roff character map
provided in the distribution.</para>
</note>
<para>Because it is not terrifically efficient to use the standard
800-character character map in full -- and for most (or all) users,
never necessary to use it in full -- the DocBook XSL Stylesheets
support a mechanism for using, within any given character map, a
subset of character mappings instead of the full set. You can use the
<parameter>man.charmap.subset.profile</parameter> or
<parameter>man.charmap.subset.profile.english</parameter>
parameter to tune the profile of that subset to use.</para>
</refsection>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.charmap.subset.profile">
<refmeta>
<refentrytitle>man.charmap.subset.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.charmap.subset.profile</refname>
<refpurpose>Profile of character map subset</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.charmap.subset.profile.frag">
&lt;xsl:param name="man.charmap.subset.profile"&gt;
@*[local-name() = 'block'] = 'Miscellaneous Technical' or
(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and
(@*[local-name() = 'class'] = 'symbols' or
@*[local-name() = 'class'] = 'letters')
) or
@*[local-name() = 'block'] = 'Latin Extended-A'
or
(@*[local-name() = 'block'] = 'General Punctuation' and
(@*[local-name() = 'class'] = 'spaces' or
@*[local-name() = 'class'] = 'dashes' or
@*[local-name() = 'class'] = 'quotes' or
@*[local-name() = 'class'] = 'bullets'
)
) or
@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or
@*[local-name() = 'name'] = 'WORD JOINER' or
@*[local-name() = 'name'] = 'SERVICE MARK' or
@*[local-name() = 'name'] = 'TRADE MARK SIGN' or
@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE'
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.charmap.use.subset</parameter> parameter is non-zero,
and your DocBook source is not written in English (that
is, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root element
in your DocBook source or on the first <tag>refentry</tag>
element in your source has a value other than
<literal>en</literal>), then the character-map subset specified
by the <parameter>man.charmap.subset.profile</parameter>
parameter is used instead of the full roff character map.</para>
<para>Otherwise, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root
element in your DocBook
source or on the first <tag>refentry</tag> element in your source
has the value <literal>en</literal> or if it has no <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute, then the character-map
subset specified by the
<parameter>man.charmap.subset.profile.english</parameter>
parameter is used instead of
<parameter>man.charmap.subset.profile</parameter>.</para>
<para>The difference between the two subsets is that
<parameter>man.charmap.subset.profile</parameter> provides
mappings for characters in Western European languages that are
not part of the Roman (English) alphabet (ASCII character set).</para>
<para>The value of <parameter>man.charmap.subset.profile</parameter>
is a string representing an XPath expression that matches attribute
names and values for <tag namespace="http://docbook.sf.net/xmlns/unichar/1.0">output-character</tag>
elements in the character map.</para>
<para>The attributes supported in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map included in the distribution</link> are:
<variablelist>
<varlistentry>
<term>character</term>
<listitem>
<simpara>a raw Unicode character or numeric Unicode
character-entity value (either in decimal or hex); all
characters have this attribute</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>name</term>
<listitem>
<simpara>a standard full/long ISO/Unicode character name (e.g.,
"OHM SIGN"); all characters have this attribute</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>block</term>
<listitem>
<simpara>a standard Unicode "block" name (e.g., "General
Punctuation"); all characters have this attribute. For the full
list of Unicode block names supported in the standard roff
character map, see <xref linkend="BlocksAndClasses"/>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>class</term>
<listitem>
<simpara>a class of characters (e.g., "spaces"). Not all
characters have this attribute; currently, it is used only with
certain characters within the "C1 Controls And Latin-1
Supplement" and "General Punctuation" blocks. For details, see
<xref linkend="BlocksAndClasses"/>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>entity</term>
<listitem>
<simpara>an ISO entity name (e.g., "ohm"); not all characters
have this attribute, because not all characters have ISO entity
names; for example, of the 800 or so characters in the standard
roff character map included in the distribution, only around 300
have ISO entity names.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>string</term>
<listitem>
<simpara>a string representing an roff/groff escape-code (with
"@esc@" used in place of the backslash), or a simple ASCII
string; all characters in the roff character map have this
attribute</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>The value of <parameter>man.charmap.subset.profile</parameter>
is evaluated as an XPath expression at run-time to select a portion of
the roff character map to use. You can tune the subset used by adding
or removing parts. For example, if you need to use a wide range of
mathematical operators in a document, and you want to have them
converted into roff markup properly, you might add the following:
<literallayout class="monospaced"> @*[local-name() = 'block'] ='MathematicalOperators' </literallayout>
That will cause a additional set of around 67 additional "math"
characters to be converted into roff markup. </para>
<note>
<para>Depending on which XSLT engine you use, either the EXSLT
<function>dyn:evaluate</function> extension function (for xsltproc or
Xalan) or <function>saxon:evaluate</function> extension function (for
Saxon) are used to dynamically evaluate the value of
<parameter>man.charmap.subset.profile</parameter> at run-time. If you
don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that
supports <function>dyn:evaluate</function> -- you must either set the
value of the <parameter>man.charmap.use.subset</parameter> parameter
to zero and process your documents using the full character map
instead, or set the value of the
<parameter>man.charmap.enabled</parameter> parameter to zero instead
(so that character-map processing is disabled completely.</para>
</note>
<para>An alternative to using
<parameter>man.charmap.subset.profile</parameter> is to create your
own custom character map, and set the value of
<parameter>man.charmap.uri</parameter> to the URI/filename for
that. If you use a custom character map, you will probably want to
include in it just the characters you want to use, and so you will
most likely also want to set the value of
<parameter>man.charmap.use.subset</parameter> to zero.</para>
<para>You can create a
custom character map by making a copy of the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map</link> provided in the distribution, and
then adding to, changing, and/or deleting from that.</para>
<caution>
<para>If you author your DocBook XML source in UTF-8 or UTF-16
encoding and aren't sure what OSes or environments your man-page
output might end up being viewed on, and not sure what version of
nroff/groff those environments might have, you should be careful about
what Unicode symbols and special characters you use in your source and
what parts you add to the value of
<parameter>man.charmap.subset.profile</parameter>.</para>
<para>Many of the escape codes used are specific to groff and using
them may not provide the expected output on an OS or environment that
uses nroff instead of groff.</para>
<para>On the other hand, if you intend for your man-page output to be
viewed only on modern systems (for example, GNU/Linux systems, FreeBSD
systems, or Cygwin environments) that have a good, up-to-date groff,
then you can safely include a wide range of Unicode symbols and
special characters in your UTF-8 or UTF-16 encoded DocBook XML source
and add any of the supported Unicode block names to the value of
<parameter>man.charmap.subset.profile</parameter>.</para>
</caution>
<para>For other details, see the documentation for the
<parameter>man.charmap.use.subset</parameter> parameter.</para>
<refsection xml:id="BlocksAndClasses"><info><title>Supported Unicode block names and "class" values</title></info>
<para>Below is the full list of Unicode block names and "class"
values supported in the standard roff stylesheet provided in the
distribution, along with a description of which codepoints from the
Unicode range corresponding to that block name or block/class
combination are supported.</para>
<itemizedlist>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=C1%20Controls%20and%20Latin-1%20Supplement%20(Latin-1%20Supplement)">C1 Controls And Latin-1 Supplement (Latin-1 Supplement)</link> (x00a0 to x00ff)
<itemizedlist><info><title>class values</title></info>
<listitem>
<para>symbols</para>
</listitem>
<listitem>
<para>letters</para>
</listitem>
</itemizedlist></para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Latin%20Extended-A">Latin Extended-A</link> (x0100 to x017f, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Spacing%20Modifier%20Letters">Spacing Modifier Letters</link> (x02b0 to x02ee, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Greek%20and%20Coptic">Greek and Coptic</link> (x0370 to x03ff, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=General%20Punctuation">General Punctuation</link> (x2000 to x206f, partial)
<itemizedlist><info><title>class values</title></info>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;start=8192&amp;end=8203">spaces</link></para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;start=8208&amp;end=8213">dashes</link></para>
</listitem>
<listitem>
<para>quotes</para>
</listitem>
<listitem>
<para>daggers</para>
</listitem>
<listitem>
<para>bullets</para>
</listitem>
<listitem>
<para>leaders</para>
</listitem>
<listitem>
<para>primes</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Superscripts%20and%20Subscripts">Superscripts and Subscripts</link> (x2070 to x209f)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Currency%20Symbols">Currency Symbols</link> (x20a0 to x20b1)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Letterlike%20Symbols">Letterlike Symbols</link> (x2100 to x214b)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Number%20Forms">Number Forms</link> (x2150 to x218f)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Arrows">Arrows</link> (x2190 to x21ff, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Mathematical%20Operators">Mathematical Operators</link> (x2200 to x22ff, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Control%20Pictures">Control Pictures</link> (x2400 to x243f)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Enclosed%20Alphanumerics">Enclosed Alphanumerics</link> (x2460 to x24ff)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Geometric%20Shapes">Geometric Shapes</link> (x25a0 to x25f7, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Miscellaneous%20Symbols">Miscellaneous Symbols</link> (x2600 to x26ff, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Dingbats">Dingbats</link> (x2700 to x27be, partial)</para>
</listitem>
<listitem>
<para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Alphabetic%20Presentation%20Forms">Alphabetic Presentation Forms</link> (xfb00 to xfb04 only)</para>
</listitem>
</itemizedlist>
</refsection>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.charmap.subset.profile.english">
<refmeta>
<refentrytitle>man.charmap.subset.profile.english</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.charmap.subset.profile.english</refname>
<refpurpose>Profile of character map subset</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.charmap.subset.profile.english.frag">
&lt;xsl:param name="man.charmap.subset.profile.english"&gt;
@*[local-name() = 'block'] = 'Miscellaneous Technical' or
(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and
@*[local-name() = 'class'] = 'symbols')
or
(@*[local-name() = 'block'] = 'General Punctuation' and
(@*[local-name() = 'class'] = 'spaces' or
@*[local-name() = 'class'] = 'dashes' or
@*[local-name() = 'class'] = 'quotes' or
@*[local-name() = 'class'] = 'bullets'
)
) or
@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or
@*[local-name() = 'name'] = 'WORD JOINER' or
@*[local-name() = 'name'] = 'SERVICE MARK' or
@*[local-name() = 'name'] = 'TRADE MARK SIGN' or
@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE'
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.charmap.use.subset</parameter> parameter is
non-zero, and your DocBook source is written in English (that
is, if its <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root element
in your DocBook source or on the first <tag>refentry</tag>
element in your source has the value <literal>en</literal> or if
it has no <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute), then the
character-map subset specified by the
<parameter>man.charmap.subset.profile.english</parameter>
parameter is used instead of the full roff character map.</para>
<para>Otherwise, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute
on the root element in your DocBook source or on the first
<tag>refentry</tag> element in your source has a value other
than <literal>en</literal>, then the character-map subset
specified by the
<parameter>man.charmap.subset.profile</parameter> parameter is
used instead of
<parameter>man.charmap.subset.profile.english</parameter>.</para>
<para>The difference between the two subsets is that
<parameter>man.charmap.subset.profile</parameter> provides
mappings for characters in Western European languages that are
not part of the Roman (English) alphabet (ASCII character set).</para>
<para>The value of <parameter>man.charmap.subset.profile.english</parameter>
is a string representing an XPath expression that matches attribute
names and values for <tag namespace="http://docbook.sf.net/xmlns/unichar/1.0">output-character</tag> elements in the character map.</para>
<para>For other details, see the documentation for the
<parameter>man.charmap.subset.profile.english</parameter> and
<parameter>man.charmap.use.subset</parameter> parameters.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.string.subst.map.local.pre">
<refmeta>
<refentrytitle>man.string.subst.map.local.pre</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.string.subst.map.local.pre</refname>
<refpurpose>Specifies &#8220;local&#8221; string substitutions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.string.subst.map.local.pre.frag">
&lt;xsl:param name="man.string.subst.map.local.pre"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Use the <parameter>man.string.subst.map.local.pre</parameter>
parameter to specify any &#8220;local&#8221; string substitutions to perform over
the entire roff source for each man page <emphasis>before</emphasis>
performing the string substitutions specified by the <parameter>man.string.subst.map</parameter> parameter.</para>
<para>For details about the format of this parameter, see the
documentation for the <parameter>man.string.subst.map</parameter>
parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.string.subst.map">
<refmeta>
<refentrytitle>man.string.subst.map</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">rtf</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.string.subst.map</refname>
<refpurpose>Specifies a set of string substitutions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.string.subst.map.frag">
&lt;xsl:param name="man.string.subst.map"&gt;
&lt;!-- * remove no-break marker at beginning of line (stylesheet artifact) --&gt;
&lt;ss:substitution oldstring="&#9618;&#9600;" newstring="&#9618;"&gt;&lt;/ss:substitution&gt;
&lt;!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --&gt;
&lt;ss:substitution oldstring="&#9600;" newstring="\ "&gt;&lt;/ss:substitution&gt;
&lt;!-- ==================================================================== --&gt;
&lt;!-- * squeeze multiple newlines before a roff request --&gt;
&lt;ss:substitution oldstring="
." newstring="
."&gt;&lt;/ss:substitution&gt;
&lt;!-- * remove any .sp instances that directly precede a .PP --&gt;
&lt;ss:substitution oldstring=".sp
.PP" newstring=".PP"&gt;&lt;/ss:substitution&gt;
&lt;!-- * remove any .sp instances that directly follow a .PP --&gt;
&lt;ss:substitution oldstring=".sp
.sp" newstring=".sp"&gt;&lt;/ss:substitution&gt;
&lt;!-- * squeeze multiple .sp instances into a single .sp--&gt;
&lt;ss:substitution oldstring=".PP
.sp" newstring=".PP"&gt;&lt;/ss:substitution&gt;
&lt;!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --&gt;
&lt;ss:substitution oldstring=".nf
" newstring=".nf
"&gt;&lt;/ss:substitution&gt;
&lt;!-- * squeeze multiple newlines after REstoring margin --&gt;
&lt;ss:substitution oldstring=".RE
" newstring=".RE
"&gt;&lt;/ss:substitution&gt;
&lt;!-- * U+2591 is a marker we add before and after every Parameter in --&gt;
&lt;!-- * Funcprototype output --&gt;
&lt;ss:substitution oldstring="&#9617;" newstring=" "&gt;&lt;/ss:substitution&gt;
&lt;!-- * U+2592 is a marker we add for the newline before output of &lt;sbr&gt;; --&gt;
&lt;ss:substitution oldstring="&#9618;" newstring="
"&gt;&lt;/ss:substitution&gt;
&lt;!-- * --&gt;
&lt;!-- * Now deal with some other characters that are added by the --&gt;
&lt;!-- * stylesheets during processing. --&gt;
&lt;!-- * --&gt;
&lt;!-- * bullet --&gt;
&lt;ss:substitution oldstring="&#8226;" newstring="\(bu"&gt;&lt;/ss:substitution&gt;
&lt;!-- * left double quote --&gt;
&lt;ss:substitution oldstring="&#8220;" newstring="\(lq"&gt;&lt;/ss:substitution&gt;
&lt;!-- * right double quote --&gt;
&lt;ss:substitution oldstring="&#8221;" newstring="\(rq"&gt;&lt;/ss:substitution&gt;
&lt;!-- * left single quote --&gt;
&lt;ss:substitution oldstring="&#8216;" newstring="\(oq"&gt;&lt;/ss:substitution&gt;
&lt;!-- * right single quote --&gt;
&lt;ss:substitution oldstring="&#8217;" newstring="\(cq"&gt;&lt;/ss:substitution&gt;
&lt;!-- * copyright sign --&gt;
&lt;ss:substitution oldstring="&#169;" newstring="\(co"&gt;&lt;/ss:substitution&gt;
&lt;!-- * registered sign --&gt;
&lt;ss:substitution oldstring="&#174;" newstring="\(rg"&gt;&lt;/ss:substitution&gt;
&lt;!-- * ...servicemark... --&gt;
&lt;!-- * There is no groff equivalent for it. --&gt;
&lt;ss:substitution oldstring="&#8480;" newstring="(SM)"&gt;&lt;/ss:substitution&gt;
&lt;!-- * ...trademark... --&gt;
&lt;!-- * We don't do "\(tm" because for console output, --&gt;
&lt;!-- * groff just renders that as "tm"; that is: --&gt;
&lt;!-- * --&gt;
&lt;!-- * Product&amp;#x2122; -&gt; Producttm --&gt;
&lt;!-- * --&gt;
&lt;!-- * So we just make it to "(TM)" instead; thus: --&gt;
&lt;!-- * --&gt;
&lt;!-- * Product&amp;#x2122; -&gt; Product(TM) --&gt;
&lt;ss:substitution oldstring="&#8482;" newstring="(TM)"&gt;&lt;/ss:substitution&gt;
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.string.subst.map</parameter> parameter
contains <link linkend="map">a map</link> that specifies a set of
string substitutions to perform over the entire roff source for each
man page, either just before generating final man-page output (that
is, before writing man-page files to disk) or, if the value of the
<parameter>man.charmap.enabled</parameter> parameter is non-zero,
before applying the roff character map.</para>
<para>You can use <parameter>man.string.subst.map</parameter> as a
&#8220;lightweight&#8221; character map to perform &#8220;essential&#8221; substitutions --
that is, substitutions that are <emphasis>always</emphasis> performed,
even if the value of the <parameter>man.charmap.enabled</parameter>
parameter is zero. For example, you can use it to replace quotation
marks or other special characters that are generated by the DocBook
XSL stylesheets for a particular locale setting (as opposed to those
characters that are actually in source XML documents), or to replace
any special characters that may be automatically generated by a
particular customization of the DocBook XSL stylesheets.</para>
<warning>
<para>Do you not change value of the
<parameter>man.string.subst.map</parameter> parameter unless you are
sure what you are doing. First consider adding your
string-substitution mappings to either or both of the following
parameters:
<variablelist>
<varlistentry>
<term><parameter>man.string.subst.map.local.pre</parameter></term>
<listitem><para>applied before
<parameter>man.string.subst.map</parameter></para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>man.string.subst.map.local.post</parameter></term>
<listitem><para>applied after
<parameter>man.string.subst.map</parameter></para></listitem>
</varlistentry>
</variablelist>
By default, both of those parameters contain no
string substitutions. They are intended as a means for you to
specify your own local string-substitution mappings.</para>
<para>If you remove any of default mappings from the value of the
<parameter>man.string.subst.map</parameter> parameter, you are
likely to end up with broken output. And be very careful about adding
anything to it; it&#8217;s used for doing string substitution over the
entire roff source of each man page &#8211; it causes target strings to be
replaced in roff requests and escapes, not just in the visible
contents of the page.</para>
</warning>
<refsection xml:id="map">
<info>
<title>Contents of the substitution map</title>
</info>
<para>The string-substitution map contains one or more
<tag>ss:substitution</tag> elements, each of which has two
attributes:
<variablelist>
<varlistentry>
<term>oldstring</term>
<listitem>
<simpara>string to replace</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>newstring</term>
<listitem>
<simpara>string with which to replace <tag class="attribute">oldstring</tag></simpara>
</listitem>
</varlistentry>
</variablelist>
It may also include XML comments (that is, delimited with
"<literal>&lt;!--</literal>" and "<literal>--&gt;</literal>").
</para>
</refsection>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.string.subst.map.local.post">
<refmeta>
<refentrytitle>man.string.subst.map.local.post</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.string.subst.map.local.post</refname>
<refpurpose>Specifies &#8220;local&#8221; string substitutions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.string.subst.map.local.post.frag">
&lt;xsl:param name="man.string.subst.map.local.post"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Use the <parameter>man.string.subst.map.local.post</parameter>
parameter to specify any &#8220;local&#8221; string substitutions to perform over
the entire roff source for each man page <emphasis>after</emphasis>
performing the string substitutions specified by the <parameter>man.string.subst.map</parameter> parameter.</para>
<para>For details about the format of this parameter, see the
documentation for the <parameter>man.string.subst.map</parameter>
parameter.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="refmeta">
<title>Refentry metadata gathering</title>
<refentry version="5.0" xml:id="refentry.meta.get.quietly">
<refmeta>
<refentrytitle>refentry.meta.get.quietly</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.meta.get.quietly</refname>
<refpurpose>Suppress notes and warnings when gathering refentry metadata?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.meta.get.quietly.frag">
&lt;xsl:param name="refentry.meta.get.quietly" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If zero (the default), notes and warnings about &#8220;missing&#8221; markup
are generated during gathering of refentry metadata. If non-zero, the
metadata is gathered &#8220;quietly&#8221; -- that is, the notes and warnings are
suppressed.</para>
<tip>
<para>If you are processing a large amount of <tag>refentry</tag>
content, you may be able to speed up processing significantly by
setting a non-zero value for
<parameter>refentry.meta.get.quietly</parameter>.</para>
</tip>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.date.profile">
<refmeta>
<refentrytitle>refentry.date.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.date.profile</refname>
<refpurpose>Specifies profile for refentry "date" data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.date.profile.frag">
&lt;xsl:param name="refentry.date.profile"&gt;
(($info[//date])[last()]/date)[1]|
(($info[//pubdate])[last()]/pubdate)[1]
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The value of <parameter>refentry.date.profile</parameter> is a
string representing an XPath expression. It is evaluated at run-time
and used only if <parameter>refentry.date.profile.enabled</parameter>
is non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering
logic "hard coded" into the stylesheets is used.</para>
<para> The <literal>man(7)</literal> man page describes this content
as "the date of the last revision". In man pages, it is the content
that is usually displayed in the center footer.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.date.profile.enabled">
<refmeta>
<refentrytitle>refentry.date.profile.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.date.profile.enabled</refname>
<refpurpose>Enable refentry "date" profiling?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.date.profile.enabled.frag">
&lt;xsl:param name="refentry.date.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>refentry.date.profile.enabled</parameter> is non-zero, then
during <tag>refentry</tag> metadata gathering, the info profile
specified by the customizable
<parameter>refentry.date.profile</parameter> parameter is used.</para>
<para>If instead the value of
<parameter>refentry.date.profile.enabled</parameter> is zero (the
default), then "hard coded" logic within the DocBook XSL stylesheets
is used for gathering <tag>refentry</tag> "date" data.</para>
<para>If you find that the default <tag>refentry</tag>
metadata-gathering behavior is causing incorrect "date" data to show
up in your output, then consider setting a non-zero value for
<parameter>refentry.date.profile.enabled</parameter> and adjusting the
value of <parameter>refentry.date.profile</parameter> to cause correct
data to be gathered. </para>
<para>Note that the terms "source" and "date" have special meanings in
this context. For details, see the documentation for the
<parameter>refentry.date.profile</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.manual.profile">
<refmeta>
<refentrytitle>refentry.manual.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.manual.profile</refname>
<refpurpose>Specifies profile for refentry "manual" data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.manual.profile.frag">
&lt;xsl:param name="refentry.manual.profile"&gt;
(($info[//title])[last()]/title)[1]|
../title/node()
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The value of <parameter>refentry.manual.profile</parameter> is
a string representing an XPath expression. It is evaluated at
run-time and used only if
<parameter>refentry.manual.profile.enabled</parameter> is
non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
"hard coded" into the stylesheets is used.</para>
<para>In man pages, this content is usually displayed in the middle of
the header of the page. The <literal>man(7)</literal> man page
describes this as "the title of the manual (e.g., <citetitle>Linux
Programmer's Manual</citetitle>)". Here are some examples from
existing man pages:
<itemizedlist>
<listitem>
<para><citetitle>dpkg utilities</citetitle>
(<command>dpkg-name</command>)</para>
</listitem>
<listitem>
<para><citetitle>User Contributed Perl Documentation</citetitle>
(<command>GET</command>)</para>
</listitem>
<listitem>
<para><citetitle>GNU Development Tools</citetitle>
(<command>ld</command>)</para>
</listitem>
<listitem>
<para><citetitle>Emperor Norton Utilities</citetitle>
(<command>ddate</command>)</para>
</listitem>
<listitem>
<para><citetitle>Debian GNU/Linux manual</citetitle>
(<command>faked</command>)</para>
</listitem>
<listitem>
<para><citetitle>GIMP Manual Pages</citetitle>
(<command>gimp</command>)</para>
</listitem>
<listitem>
<para><citetitle>KDOC Documentation System</citetitle>
(<command>qt2kdoc</command>)</para>
</listitem>
</itemizedlist>
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.manual.profile.enabled">
<refmeta>
<refentrytitle>refentry.manual.profile.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.manual.profile.enabled</refname>
<refpurpose>Enable refentry "manual" profiling?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.manual.profile.enabled.frag">
&lt;xsl:param name="refentry.manual.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>refentry.manual.profile.enabled</parameter> is
non-zero, then during <tag>refentry</tag> metadata gathering, the info
profile specified by the customizable
<parameter>refentry.manual.profile</parameter> parameter is
used.</para>
<para>If instead the value of
<parameter>refentry.manual.profile.enabled</parameter> is zero (the
default), then "hard coded" logic within the DocBook XSL stylesheets
is used for gathering <tag>refentry</tag> "manual" data.</para>
<para>If you find that the default <tag>refentry</tag>
metadata-gathering behavior is causing incorrect "manual" data to show
up in your output, then consider setting a non-zero value for
<parameter>refentry.manual.profile.enabled</parameter> and adjusting
the value of <parameter>refentry.manual.profile</parameter> to cause
correct data to be gathered. </para>
<para>Note that the term "manual" has a special meanings in this
context. For details, see the documentation for the
<parameter>refentry.manual.profile</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.source.name.suppress">
<refmeta>
<refentrytitle>refentry.source.name.suppress</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.source.name.suppress</refname>
<refpurpose>Suppress "name" part of refentry "source" contents?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.source.name.suppress.frag">
&lt;xsl:param name="refentry.source.name.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>refentry.source.name.suppress</parameter> is non-zero, then
during <tag>refentry</tag> metadata gathering, no "source name" data
is added to the <tag>refentry</tag> "source" contents. Instead (unless
<parameter>refentry.version.suppress</parameter> is also non-zero),
only "version" data is added to the "source" contents.</para>
<para>If you find that the <tag>refentry</tag> metadata gathering
mechanism is causing unwanted "source name" data to show up in your
output -- for example, in the footer (or possibly header) of a man
page -- then you might consider setting a non-zero value for
<parameter>refentry.source.name.suppress</parameter>.</para>
<para>Note that the terms "source", "source name", and "version" have
special meanings in this context. For details, see the documentation
for the <parameter>refentry.source.name.profile</parameter>
parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.source.name.profile">
<refmeta>
<refentrytitle>refentry.source.name.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.source.name.profile</refname>
<refpurpose>Specifies profile for refentry "source name" data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.source.name.profile.frag">
&lt;xsl:param name="refentry.source.name.profile"&gt;
(($info[//productname])[last()]/productname)[1]|
(($info[//corpname])[last()]/corpname)[1]|
(($info[//corpcredit])[last()]/corpcredit)[1]|
(($info[//corpauthor])[last()]/corpauthor)[1]|
(($info[//orgname])[last()]/orgname)[1]|
(($info[//publishername])[last()]/publishername)[1]
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The value of <parameter>refentry.source.name.profile</parameter>
is a string representing an XPath expression. It is evaluated at
run-time and used only if
<parameter>refentry.source.name.profile.enabled</parameter> is
non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
"hard coded" into the stylesheets is used.</para>
<para>A "source name" is one part of a (potentially) two-part
<replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>
"source" field. In man pages, it is usually displayed in the left
footer of the page. It typically indicates the software system or
product that the item documented in the man page belongs to. The
<literal>man(7)</literal> man page describes it as "the source of
the command", and provides the following examples:
<itemizedlist>
<listitem>
<para>For binaries, use something like: GNU, NET-2, SLS
Distribution, MCC Distribution.</para>
</listitem>
<listitem>
<para>For system calls, use the version of the kernel that you
are currently looking at: Linux 0.99.11.</para>
</listitem>
<listitem>
<para>For library calls, use the source of the function: GNU, BSD
4.3, Linux DLL 4.4.1.</para>
</listitem>
</itemizedlist>
</para>
<para>In practice, there are many pages that simply have a Version
number in the "source" field. So, it looks like what we have is a
two-part field,
<replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>,
where:
<variablelist>
<varlistentry>
<term>Name</term>
<listitem>
<para>product name (e.g., BSD) or org. name (e.g., GNU)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Version</term>
<listitem>
<para>version number</para>
</listitem>
</varlistentry>
</variablelist>
Each part is optional. If the <replaceable>Name</replaceable> is a
product name, then the <replaceable>Version</replaceable> is probably
the version of the product. Or there may be no
<replaceable>Name</replaceable>, in which case, if there is a
<replaceable>Version</replaceable>, it is probably the version
of the item itself, not the product it is part of. Or, if the
<replaceable>Name</replaceable> is an organization name, then there
probably will be no <replaceable>Version</replaceable>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.source.name.profile.enabled">
<refmeta>
<refentrytitle>refentry.source.name.profile.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.source.name.profile.enabled</refname>
<refpurpose>Enable refentry "source name" profiling?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.source.name.profile.enabled.frag">
&lt;xsl:param name="refentry.source.name.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>refentry.source.name.profile.enabled</parameter> is
non-zero, then during <tag>refentry</tag> metadata gathering, the info
profile specified by the customizable
<parameter>refentry.source.name.profile</parameter> parameter is
used.</para>
<para>If instead the value of
<parameter>refentry.source.name.profile.enabled</parameter> is zero (the
default), then "hard coded" logic within the DocBook XSL stylesheets
is used for gathering <tag>refentry</tag> "source name" data.</para>
<para>If you find that the default <tag>refentry</tag>
metadata-gathering behavior is causing incorrect "source name" data to
show up in your output, then consider setting a non-zero value for
<parameter>refentry.source.name.profile.enabled</parameter> and
adjusting the value of
<parameter>refentry.source.name.profile</parameter> to cause correct
data to be gathered. </para>
<para>Note that the terms "source" and "source name" have special
meanings in this context. For details, see the documentation for the
<parameter>refentry.source.name.profile</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.version.suppress">
<refmeta>
<refentrytitle>refentry.version.suppress</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.version.suppress</refname>
<refpurpose>Suppress "version" part of refentry "source" contents?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.version.suppress.frag">
&lt;xsl:param name="refentry.version.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>refentry.version.suppress</parameter>
is non-zero, then during <tag>refentry</tag> metadata gathering, no
"version" data is added to the <tag>refentry</tag> "source"
contents. Instead (unless
<parameter>refentry.source.name.suppress</parameter> is also
non-zero), only "source name" data is added to the "source"
contents.</para>
<para>If you find that the <tag>refentry</tag> metadata gathering
mechanism is causing unwanted "version" data to show up in your output
-- for example, in the footer (or possibly header) of a man page --
then you might consider setting a non-zero value for
<parameter>refentry.version.suppress</parameter>.</para>
<para>Note that the terms "source", "source name", and "version" have
special meanings in this context. For details, see the documentation
for the <parameter>refentry.source.name.profile</parameter>
parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.version.profile">
<refmeta>
<refentrytitle>refentry.version.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.version.profile</refname>
<refpurpose>Specifies profile for refentry "version" data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.version.profile.frag">
&lt;xsl:param name="refentry.version.profile"&gt;
(($info[//productnumber])[last()]/productnumber)[1]|
(($info[//edition])[last()]/edition)[1]|
(($info[//releaseinfo])[last()]/releaseinfo)[1]
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The value of <parameter>refentry.version.profile</parameter> is
a string representing an XPath expression. It is evaluated at
run-time and used only if
<parameter>refentry.version.profile.enabled</parameter> is
non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
"hard coded" into the stylesheets is used.</para>
<para>A "source.name" is one part of a (potentially) two-part
<replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>
"source" field. For more details, see the documentation for the
<parameter>refentry.source.name.profile</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.version.profile.enabled">
<refmeta>
<refentrytitle>refentry.version.profile.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.version.profile.enabled</refname>
<refpurpose>Enable refentry "version" profiling?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.version.profile.enabled.frag">
&lt;xsl:param name="refentry.version.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>refentry.version.profile.enabled</parameter> is
non-zero, then during <tag>refentry</tag> metadata gathering, the info
profile specified by the customizable
<parameter>refentry.version.profile</parameter> parameter is
used.</para>
<para>If instead the value of
<parameter>refentry.version.profile.enabled</parameter> is zero (the
default), then "hard coded" logic within the DocBook XSL stylesheets
is used for gathering <tag>refentry</tag> "version" data.</para>
<para>If you find that the default <tag>refentry</tag>
metadata-gathering behavior is causing incorrect "version" data to show
up in your output, then consider setting a non-zero value for
<parameter>refentry.version.profile.enabled</parameter> and adjusting
the value of <parameter>refentry.version.profile</parameter> to cause
correct data to be gathered. </para>
<para>Note that the terms "source" and "version" have special
meanings in this context. For details, see the documentation for the
<parameter>refentry.version.profile</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.manual.fallback.profile">
<refmeta>
<refentrytitle>refentry.manual.fallback.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.manual.fallback.profile</refname>
<refpurpose>Specifies profile of "fallback" for refentry "manual" data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.manual.fallback.profile.frag">
&lt;xsl:param name="refentry.manual.fallback.profile"&gt;
refmeta/refmiscinfo[not(@class = 'date')][1]/node()&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The value of
<parameter>refentry.manual.fallback.profile</parameter> is a string
representing an XPath expression. It is evaluated at run-time and
used only if no "manual" data can be found by other means (that is,
either using the <tag>refentry</tag> metadata-gathering logic "hard
coded" in the stylesheets, or the value of
<parameter>refentry.manual.profile</parameter>, if it is
enabled).</para>
<important>
<para>Depending on which XSLT engine you run, either the EXSLT
<function>dyn:evaluate</function> extension function (for xsltproc or
Xalan) or <function>saxon:evaluate</function> extension function (for
Saxon) are used to dynamically evaluate the value of
<parameter>refentry.manual.fallback.profile</parameter> at
run-time. If you don't use xsltproc, Saxon, Xalan -- or some other
XSLT engine that supports <function>dyn:evaluate</function> -- you
must manually disable fallback processing by setting an empty value
for the <parameter>refentry.manual.fallback.profile</parameter>
parameter.</para>
</important>
</refsection>
</refentry>
<refentry version="5.0" xml:id="refentry.source.fallback.profile">
<refmeta>
<refentrytitle>refentry.source.fallback.profile</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>refentry.source.fallback.profile</refname>
<refpurpose>Specifies profile of "fallback" for refentry "source" data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="refentry.source.fallback.profile.frag">
&lt;xsl:param name="refentry.source.fallback.profile"&gt;
refmeta/refmiscinfo[not(@class = 'date')][1]/node()&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The value of
<parameter>refentry.source.fallback.profile</parameter> is a string
representing an XPath expression. It is evaluated at run-time and used
only if no "source" data can be found by other means (that is, either
using the <tag>refentry</tag> metadata-gathering logic "hard coded" in
the stylesheets, or the value of the
<parameter>refentry.source.name.profile</parameter> and
<parameter>refentry.version.profile</parameter> parameters, if those
are enabled).</para>
<important>
<para>Depending on which XSLT engine you run, either the EXSLT
<function>dyn:evaluate</function> extension function (for xsltproc or
Xalan) or <function>saxon:evaluate</function> extension function (for
Saxon) are used to dynamically evaluate the value of
<parameter>refentry.source.fallback.profile</parameter> at
run-time. If you don't use xsltproc, Saxon, Xalan -- or some other
XSLT engine that supports <function>dyn:evaluate</function> -- you
must manually disable fallback processing by setting an empty value
for the <parameter>refentry.source.fallback.profile</parameter>
parameter.</para>
</important>
</refsection>
</refentry>
</reference>
<reference xml:id="th">
<title>Page header/footer</title>
<refentry version="5.0" xml:id="man.th.extra1.suppress">
<refmeta>
<refentrytitle>man.th.extra1.suppress</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.th.extra1.suppress</refname>
<refpurpose>Suppress extra1 part of header/footer?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.th.extra1.suppress.frag">
&lt;xsl:param name="man.th.extra1.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.th.extra1.suppress</parameter> is
non-zero, then the <literal>extra1</literal> part of the
<literal>.TH</literal> title line header/footer is suppressed.</para>
<para>The content of the <literal>extra1</literal> field is almost
always displayed in the center footer of the page and is, universally,
a date.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.th.extra2.suppress">
<refmeta>
<refentrytitle>man.th.extra2.suppress</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.th.extra2.suppress</refname>
<refpurpose>Suppress extra2 part of header/footer?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.th.extra2.suppress.frag">
&lt;xsl:param name="man.th.extra2.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.th.extra2.suppress</parameter> is
non-zero, then the <literal>extra2</literal> part of the
<literal>.TH</literal> title line header/footer is suppressed.</para>
<para>The content of the <literal>extra2</literal> field is usually
displayed in the left footer of the page and is typically "source"
data, often in the form
<replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>;
for example, "GTK+ 1.2" (from the <literal>gtk-options(7)</literal>
man page).</para>
<note>
<para>You can use the
<parameter>refentry.source.name.suppress</parameter> and
<parameter>refentry.version.suppress</parameter> parameters to
independently suppress the <replaceable>Name</replaceable> and
<replaceable>Version</replaceable> parts of the
<literal>extra2</literal> field.</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.th.extra3.suppress">
<refmeta>
<refentrytitle>man.th.extra3.suppress</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.th.extra3.suppress</refname>
<refpurpose>Suppress extra3 part of header/footer?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.th.extra3.suppress.frag">
&lt;xsl:param name="man.th.extra3.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <parameter>man.th.extra3.suppress</parameter> is
non-zero, then the <literal>extra3</literal> part of the
<literal>.TH</literal> title line header/footer is
suppressed.</para>
<para>The content of the <literal>extra3</literal> field is usually
displayed in the middle header of the page and is typically a "manual
name"; for example, "GTK+ User's Manual" (from the
<literal>gtk-options(7)</literal> man page).</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.th.title.max.length">
<refmeta>
<refentrytitle>man.th.title.max.length</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.th.title.max.length</refname>
<refpurpose>Maximum length of title in header/footer</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.th.title.max.length.frag">
&lt;xsl:param name="man.th.title.max.length"&gt;20&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the maximum permitted length of the title part of the
man-page <literal>.TH</literal> title line header/footer. If the title
exceeds the maxiumum specified, it is truncated down to the maximum
permitted length.</para>
<refsection><info><title>Details</title></info>
<para>Every man page generated using the DocBook stylesheets has a
title line, specified using the <literal>TH</literal> roff
macro. Within that title line, there is always, at a minimum, a title,
followed by a section value (representing a man "section" -- usually
just a number).</para>
<para>The title and section are displayed, together, in the visible
header of each page. Where in the header they are displayed depends on
OS the man page is viewed on, and on what version of nroff/groff/man
is used for viewing the page. But, at a minimum and across all
systems, the title and section are displayed on the right-hand column
of the header. On many systems -- those with a modern groff, including
Linux systems -- they are displayed twice: both in the left and right
columns of the header.</para>
<para>So if the length of the title exceeds a certain percentage of
the column width in which the page is viewed, the left and right
titles can end up overlapping, making them unreadable, or breaking to
another line, which doesn't look particularly good.</para>
<para>So the stylesheets provide the
<parameter>man.th.title.max.length</parameter> parameter as a means
for truncating titles that exceed the maximum length that can be
viewing properly in a page header.</para>
<para>The default value is reasonable but somewhat arbitrary. If you
have pages with long titles, you may want to experiment with changing
the value in order to achieve the correct aesthetic results.</para>
</refsection>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.th.extra2.max.length">
<refmeta>
<refentrytitle>man.th.extra2.max.length</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.th.extra2.max.length</refname>
<refpurpose>Maximum length of extra2 in header/footer</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.th.extra2.max.length.frag">
&lt;xsl:param name="man.th.extra2.max.length"&gt;30&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the maximum permitted length of the
<literal>extra2</literal> part of the man-page part of the
<literal>.TH</literal> title line header/footer. If the
<literal>extra2</literal> content exceeds the maxiumum specified, it
is truncated down to the maximum permitted length.</para>
<para>The content of the <literal>extra2</literal> field is usually
displayed in the left footer of the page and is typically "source"
data indicating the software system or product that the item
documented in the man page belongs to, often in the form
<replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>;
for example, "GTK+ 1.2" (from the <literal>gtk-options(7)</literal>
man page).</para>
<para>The default value for this parameter is reasonable but somewhat
arbitrary. If you are processing pages with long "source" information,
you may want to experiment with changing the value in order to achieve
the correct aesthetic results.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.th.extra3.max.length">
<refmeta>
<refentrytitle>man.th.extra3.max.length</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.th.extra3.max.length</refname>
<refpurpose>Maximum length of extra3 in header/footer</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.th.extra3.max.length.frag">
&lt;xsl:param name="man.th.extra3.max.length"&gt;30&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the maximum permitted length of the
<literal>extra3</literal> part of the man-page <literal>.TH</literal>
title line header/footer. If the <literal>extra3</literal> content
exceeds the maxiumum specified, it is truncated down to the maximum
permitted length.</para>
<para>The content of the <literal>extra3</literal> field is usually
displayed in the middle header of the page and is typically a "manual
name"; for example, "GTK+ User's Manual" (from the
<literal>gtk-options(7)</literal> man page).</para>
<para>The default value for this parameter is reasonable but somewhat
arbitrary. If you are processing pages with long "manual names" -- or
especially if you are processing pages that have both long "title"
parts (command/function, etc. names) <emphasis>and</emphasis> long
manual names -- you may want to experiment with changing the value in
order to achieve the correct aesthetic results.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="output">
<title>Output</title>
<refentry version="5.0" xml:id="man.output.manifest.enabled">
<refmeta>
<refentrytitle>man.output.manifest.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.manifest.enabled</refname>
<refpurpose>Generate a manifest file?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.manifest.enabled.frag">&lt;xsl:param name="man.output.manifest.enabled" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, a list of filenames for man pages generated by
the stylesheet transformation is written to the file named by the
<parameter>man.output.manifest.filename</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.manifest.filename">
<refmeta>
<refentrytitle>man.output.manifest.filename</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.manifest.filename</refname>
<refpurpose>Name of manifest file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.manifest.filename.frag">&lt;xsl:param name="man.output.manifest.filename"&gt;MAN.MANIFEST&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.output.manifest.filename</parameter> parameter
specifies the name of the file to which the manpages manifest file
is written (if the value of the
<parameter>man.output.manifest.enabled</parameter> parameter is
non-zero).</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.in.separate.dir">
<refmeta>
<refentrytitle>man.output.in.separate.dir</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.in.separate.dir</refname>
<refpurpose>Output man-page files in separate output directory?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.in.separate.dir.frag">
&lt;xsl:param name="man.output.in.separate.dir" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of <literal>man.output.in.separate.dir</literal>
parameter is non-zero, man-page files are output in a separate
directory, specified by the <parameter>man.output.base.dir</parameter>
parameter; otherwise, if the value of
<literal>man.output.in.separate.dir</literal> is zero, man-page files
are not output in a separate directory.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.lang.in.name.enabled">
<refmeta>
<refentrytitle>man.output.lang.in.name.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.lang.in.name.enabled</refname>
<refpurpose>Include $LANG value in man-page filename/pathname?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.lang.in.name.enabled.frag">
&lt;xsl:param name="man.output.lang.in.name.enabled" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.output.lang.in.name.enabled</parameter>
parameter specifies whether a <literal>$lang</literal> value is
included in man-page filenames and pathnames.</para>
<para>If the value of
<parameter>man.output.lang.in.name.enabled</parameter> is non-zero,
man-page files are output with the <literal>$lang</literal> value
included in their filenames or pathnames as follows;
<itemizedlist>
<listitem>
<para>if <parameter>man.output.subdirs.enabled</parameter> is
non-zero, each file is output to, e.g., a
<filename>man/<replaceable>$lang</replaceable>/man8/foo.8</filename>
pathname</para>
</listitem>
<listitem>
<para>if <parameter>man.output.subdirs.enabled</parameter> is
zero, each file is output with a
<literal>foo.<replaceable>$lang</replaceable>.8</literal>
filename</para>
</listitem>
</itemizedlist>
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.base.dir">
<refmeta>
<refentrytitle>man.output.base.dir</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">uri</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.base.dir</refname>
<refpurpose>Specifies separate output directory</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.base.dir.frag">&lt;xsl:param name="man.output.base.dir"&gt;man/&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.output.base.dir</parameter> parameter
specifies the base directory into which man-page files are output. The
<parameter>man.output.subdirs.enabled</parameter> parameter controls
whether the files are output in subdirectories within the base
directory.</para>
<note>
<para>The values of the <parameter>man.output.base.dir</parameter>
and <parameter>man.output.subdirs.enabled</parameter> parameters are
used only if the value of
<parameter>man.output.in.separate.dir</parameter> parameter is
non-zero. If the value of the
<parameter>man.output.in.separate.dir</parameter> is zero, man-page
files are not output in a separate directory.</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.subdirs.enabled">
<refmeta>
<refentrytitle>man.output.subdirs.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.subdirs.enabled</refname>
<refpurpose>Output man-page files in subdirectories within base output directory?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.subdirs.enabled.frag">
&lt;xsl:param name="man.output.subdirs.enabled" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>man.output.subdirs.enabled</parameter> parameter
controls whether man-pages files are output in subdirectories within
the base directory specified by the directory specified by the
<parameter>man.output.base.dir</parameter> parameter.</para>
<note>
<para>The values of the <parameter>man.output.base.dir</parameter>
and <parameter>man.output.subdirs.enabled</parameter> parameters are
used only if the value of
<parameter>man.output.in.separate.dir</parameter> parameter is
non-zero. If the value of the
<parameter>man.output.in.separate.dir</parameter> is zero, man-page
files are not output in a separate directory.</para>
</note>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.quietly">
<refmeta>
<refentrytitle>man.output.quietly</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.quietly</refname>
<refpurpose>Suppress filename messages emitted when generating output?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.quietly.frag">
&lt;xsl:param name="man.output.quietly" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If zero (the default), for each man-page file created, a message
with the name of the file is emitted. If non-zero, the files are
output "quietly" -- that is, the filename messages are
suppressed.</para>
<tip>
<para>If you are processing a large amount of <tag>refentry</tag>
content, you may be able to speed up processing significantly by
setting a non-zero value for
<parameter>man.output.quietly</parameter>.</para>
</tip>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.encoding">
<refmeta>
<refentrytitle>man.output.encoding</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.encoding</refname>
<refpurpose>Encoding used for man-page output</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.encoding.frag">
&lt;xsl:param name="man.output.encoding"&gt;UTF-8&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>This parameter specifies the encoding to use for files generated
by the manpages stylesheet. Not all processors support specification
of this parameter.</para>
<important>
<para>If the value of the <parameter>man.charmap.enabled</parameter>
parameter is non-zero (the default), keeping the
<parameter>man.output.encoding</parameter> parameter at its default
value (<literal>UTF-8</literal>) or setting it to
<literal>UTF-16</literal> <emphasis role="bold">does not cause your
man pages to be output in raw UTF-8 or UTF-16</emphasis> -- because
any Unicode characters for which matches are found in the enabled
character map will be replaced with roff escape sequences before the
final man-page files are generated.</para>
<para>So if you want to generate "real" UTF-8 man pages, without any
character substitution being performed on your content, you need to
set <parameter>man.charmap.enabled</parameter> to zero (which will
completely disable character-map processing). </para>
<para>You may also need to set
<parameter>man.charmap.enabled</parameter> to zero if you want to
output man pages in an encoding other than <literal>UTF-8</literal>
or <literal>UTF-16</literal>. Character-map processing is based on
Unicode character values and may not work with other output
encodings.</para>
</important>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.output.better.ps.enabled">
<refmeta>
<refentrytitle>man.output.better.ps.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.output.better.ps.enabled</refname>
<refpurpose>Enable enhanced print/PostScript output?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.output.better.ps.enabled.frag">
&lt;xsl:param name="man.output.better.ps.enabled"&gt;0&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.output.better.ps.enabled</parameter> parameter is
non-zero, certain markup is embedded in each generated man page
such that PostScript output from the <command>man -Tps</command>
command for that page will include a number of enhancements
designed to improve the quality of that output.</para>
<para>If <parameter>man.output.better.ps.enabled</parameter> is
zero (the default), no such markup is embedded in generated man
pages, and no enhancements are included in the PostScript
output generated from those man pages by the <command>man
-Tps</command> command.</para>
<warning>
<para>The enhancements provided by this parameter rely on
features that are specific to groff (GNU troff) and that are
not part of &#8220;classic&#8221; AT&amp;T troff or any of its
derivatives. Therefore, any man pages you generate with this
parameter enabled will be readable only on systems on which
the groff (GNU troff) program is installed, such as GNU/Linux
systems. The pages <emphasis role="bold">will not not be
readable on systems on with the classic troff (AT&amp;T
troff) command is installed</emphasis>.</para>
</warning>
<para>The value of this parameter only affects PostScript output
generated from the <command>man</command> command. It has no
effect on output generated using the FO backend.</para>
<tip>
<para>You can generate PostScript output for any man page by
running the following command:</para>
<programlisting> man <replaceable>FOO</replaceable> -Tps &gt; <replaceable>FOO</replaceable>.ps</programlisting>
<para>You can then generate PDF output by running the following
command:</para>
<programlisting> ps2pdf <replaceable>FOO</replaceable>.ps</programlisting>
</tip>
</refsection>
</refentry>
</reference>
<reference xml:id="other">
<title>Other</title>
<refentry version="5.0" xml:id="man.table.footnotes.divider">
<refmeta>
<refentrytitle>man.table.footnotes.divider</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.table.footnotes.divider</refname>
<refpurpose>Specifies divider string that appears before table footnotes</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.table.footnotes.divider.frag">
&lt;xsl:param name="man.table.footnotes.divider"&gt;----&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>In each table that contains footenotes, the string specified by
the <parameter>man.table.footnotes.divider</parameter> parameter is
output before the list of footnotes for the table.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.subheading.divider.enabled">
<refmeta>
<refentrytitle>man.subheading.divider.enabled</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.subheading.divider.enabled</refname>
<refpurpose>Add divider comment to roff source before/after subheadings?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.subheading.divider.enabled.frag">
&lt;xsl:param name="man.subheading.divider.enabled"&gt;0&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.subheading.divider.enabled</parameter> parameter is
non-zero, the contents of the
<parameter>man.subheading.divider</parameter> parameter are used to
add a "divider" before and after subheadings in the roff
output. <emphasis role="bold">The divider is not visisble in the
rendered man page</emphasis>; it is added as a comment, in the source,
simply for the purpose of increasing reability of the source.</para>
<para>If <parameter>man.subheading.divider.enabled</parameter> is zero
(the default), the subheading divider is suppressed.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="man.subheading.divider">
<refmeta>
<refentrytitle>man.subheading.divider</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>man.subheading.divider</refname>
<refpurpose>Specifies string to use as divider comment before/after subheadings</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="man.subheading.divider.frag">
&lt;xsl:param name="man.subheading.divider"&gt;========================================================================&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of the
<parameter>man.subheading.divider.enabled</parameter> parameter is
non-zero, the contents of the
<parameter>man.subheading.divider</parameter> parameter are used to
add a "divider" before and after subheadings in the roff
output. <emphasis role="bold">The divider is not visisble in the
rendered man page</emphasis>; it is added as a comment, in the source,
simply for the purpose of increasing reability of the source.</para>
<para>If <parameter>man.subheading.divider.enabled</parameter> is zero
(the default), the subheading divider is suppressed.</para>
</refsection>
</refentry>
</reference>
<appendix xml:id="stylesheet">
<title>The Stylesheet</title>
<para>The <filename>param.xsl</filename> stylesheet is just a
wrapper around all of these parameters.</para>
<programlisting xml:id="top">
&lt;xsl:stylesheet exclude-result-prefixes="src" version="1.0"&gt;
&lt;!-- This file is generated from param.xweb --&gt;
&lt;!-- ********************************************************************
$Id$
********************************************************************
This file is part of the XSL DocBook Stylesheet distribution.
See ../README or http://docbook.sf.net/release/xsl/current/ for
copyright and other information.
******************************************************************** --&gt;
&lt;src:fragref linkend="man.authors.section.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.break.after.slash.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.base.url.for.relative.links.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.charmap.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.charmap.subset.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.charmap.subset.profile.english.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.charmap.uri.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.charmap.use.subset.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.copyright.section.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.endnotes.are.numbered.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.endnotes.list.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.endnotes.list.heading.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.font.funcprototype.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.font.funcsynopsisinfo.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.font.links.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.font.table.headings.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.font.table.title.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.funcsynopsis.style.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.hyphenate.computer.inlines.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.hyphenate.filenames.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.hyphenate.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.hyphenate.urls.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.indent.blurbs.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.indent.lists.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.indent.refsect.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.indent.verbatims.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.indent.width.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.justify.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.base.dir.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.encoding.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.in.separate.dir.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.lang.in.name.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.manifest.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.manifest.filename.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.better.ps.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.quietly.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.output.subdirs.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.segtitle.suppress.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.string.subst.map.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.string.subst.map.local.post.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.string.subst.map.local.pre.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.subheading.divider.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.subheading.divider.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.table.footnotes.divider.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.th.extra1.suppress.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.th.extra2.max.length.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.th.extra2.suppress.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.th.extra3.max.length.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.th.extra3.suppress.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="man.th.title.max.length.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.date.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.date.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.manual.fallback.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.manual.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.manual.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.meta.get.quietly.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.source.fallback.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.source.name.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.source.name.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.source.name.suppress.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.version.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.version.profile.frag"&gt;&lt;/src:fragref&gt;
&lt;src:fragref linkend="refentry.version.suppress.frag"&gt;&lt;/src:fragref&gt;
&lt;/xsl:stylesheet&gt;
</programlisting>
</appendix>
</book>