source: trunk/Distribution/XSL/manpages/param.xml@ 2

Last change on this file since 2 was 2, checked in by jkacer, 18 years ago

Added all DocBook Framework stuff:

  • DocBook DTD
  • Transformation software FOP 0.20.5 and Saxon 6
  • XSL styles
  • Rexx scripts

Also added some WarpIN-related stuff for creation of WarpIN installation packages.
This state corresponds to version 1.0.0 from November 2005, just slightly modified to carry versioning information (Rexx scripts).

File size: 89.8 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE book
3 PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<book>
5
6 <bookinfo>
7 <title>Manpages Parameter Reference</title>
8 <releaseinfo role="meta">
9 $Id: param.xweb,v 1.15 2005/07/13 03:57:50 xmldoc Exp $
10 </releaseinfo>
11 <author>
12 <orgname>The DocBook Project</orgname>
13 </author>
14 <copyright>
15 <year>2005</year>
16 <holder>The DocBook Project</holder>
17 </copyright>
18 </bookinfo>
19
20 <preface id="preface">
21 <title>Introduction</title>
22
23 <para>This is reference documentation for all user-configurable
24 parameters in the DocBook XSL "manpages" stylesheets (for
25 generating groff/nroff output).</para>
26
27 </preface>
28
29 <reference id="general">
30 <title>Hyphenation, justification, and breaking</title>
31<refentry id="man.hyphenate">
32<refmeta>
33<refentrytitle>man.hyphenate</refentrytitle>
34<refmiscinfo role="type">boolean</refmiscinfo>
35</refmeta>
36<refnamediv>
37<refname>man.hyphenate</refname>
38<refpurpose>Enable hyphenation?</refpurpose>
39</refnamediv>
40
41<refsynopsisdiv>
42<programlisting id="man.hyphenate.frag">
43&lt;xsl:param name="man.hyphenate"&gt;0&lt;/xsl:param&gt;</programlisting>
44</refsynopsisdiv>
45
46<refsect1><title>Description</title>
47
48<para>If non-zero, hyphenation is enabled.</para>
49
50<note>
51<para>The default value for this parameter is zero because groff is
52not particularly smart about how it does hyphenation; it can end up
53hyphenating a lot of things that you don't want hyphenated. To
54mitigate that, the default behavior of the stylesheets is to suppress
55hyphenation of computer inlines, filenames, and URLs. (You can
56override the default behavior by setting non-zero values for the
57<parameter moreinfo="none">man.hyphenate.urls</parameter>,
58<parameter moreinfo="none">man.hyphenate.filenames</parameter>, and
59<parameter moreinfo="none">man.hyphenate.computer.inlines</parameter> parameters.) But
60the best way is still to just globally disable hyphenation, as the
61stylesheets do by default.</para>
62
63<para>The only good reason to enabled hyphenation is if you have also
64enabled justification (which is disabled by default). The reason is
65that justified text can look very bad unless you also hyphenate it; to
66quote the <quote>Hypenation</quote> node from the groff info page:
67
68<blockquote>
69 <para><emphasis>Since the odds are not great for finding a set of
70 words, for every output line, which fit nicely on a line without
71 inserting excessive amounts of space between words, 'gtroff'
72 hyphenates words so that it can justify lines without inserting too
73 much space between words.</emphasis></para>
74</blockquote>
75
76So, if you set a non-zero value for the
77<parameter moreinfo="none">man.justify</parameter> parameter (to enable
78justification), then you should probably also set a non-zero value for
79<parameter moreinfo="none">man.hyphenate</parameter> (to enable hyphenation).</para>
80</note>
81
82
83</refsect1>
84</refentry>
85
86<refentry id="man.hyphenate.urls">
87<refmeta>
88<refentrytitle>man.hyphenate.urls</refentrytitle>
89<refmiscinfo role="type">boolean</refmiscinfo>
90</refmeta>
91<refnamediv>
92<refname>man.hyphenate.urls</refname>
93<refpurpose>Hyphenate URLs?</refpurpose>
94</refnamediv>
95
96<refsynopsisdiv>
97<programlisting id="man.hyphenate.urls.frag">
98&lt;xsl:param name="man.hyphenate.urls"&gt;0&lt;/xsl:param&gt;</programlisting>
99</refsynopsisdiv>
100
101<refsect1><title>Description</title>
102
103<para>If zero (the default), hyphenation is suppressed for output of
104the <tag>ulink</tag> <tag class="attribute">url</tag> attribute.</para>
105
106<note>
107 <para>If hyphenation is already turned off globally (that is, if
108 <parameter moreinfo="none">man.hyphenate</parameter> is zero, setting
109 <parameter moreinfo="none">man.hyphenate.urls</parameter> is not necessary.</para>
110</note>
111
112<para>If <parameter moreinfo="none">man.hyphenate.urls</parameter> is non-zero, URLs
113will not be treated specially and are subject to hyphenation just like
114other words.</para>
115
116<note>
117 <para>If you are thinking about setting a non-zero value for
118 <parameter moreinfo="none">man.hyphenate.urls</parameter> in order to make long
119 URLs break across lines, you'd probably be better off
120 experimenting with setting the
121 <parameter moreinfo="none">man.break.after.slash</parameter> parameter first. That
122 will cause long URLs to be broken after slashes.</para>
123</note>
124
125</refsect1>
126</refentry>
127
128<refentry id="man.hyphenate.filenames">
129<refmeta>
130<refentrytitle>man.hyphenate.filenames</refentrytitle>
131<refmiscinfo role="type">boolean</refmiscinfo>
132</refmeta>
133<refnamediv>
134<refname>man.hyphenate.filenames</refname>
135<refpurpose>Hyphenate filenames?</refpurpose>
136</refnamediv>
137
138<refsynopsisdiv>
139<programlisting id="man.hyphenate.filenames.frag">
140&lt;xsl:param name="man.hyphenate.filenames"&gt;0&lt;/xsl:param&gt;</programlisting>
141</refsynopsisdiv>
142
143<refsect1><title>Description</title>
144
145<para>If zero (the default), hyphenation is suppressed for
146<tag>filename</tag> output.</para>
147
148<note>
149 <para>If hyphenation is already turned off globally (that is, if
150 <parameter moreinfo="none">man.hyphenate</parameter> is zero, setting
151 <parameter moreinfo="none">man.hyphenate.filenames</parameter> is not
152 necessary.</para>
153</note>
154
155<para>If <parameter moreinfo="none">man.hyphenate.filenames</parameter> is non-zero,
156filenames will not be treated specially and are subject to hyphenation
157just like other words.</para>
158
159<note>
160 <para>If you are thinking about setting a non-zero value for
161 <parameter moreinfo="none">man.hyphenate.filenames</parameter> in order to make long
162 filenames/pathnames break across lines, you'd probably be better off
163 experimenting with setting the
164 <parameter moreinfo="none">man.break.after.slash</parameter> parameter first. That
165 will cause long pathnames to be broken after slashes.</para>
166</note>
167
168</refsect1>
169</refentry>
170
171<refentry id="man.hyphenate.computer.inlines">
172<refmeta>
173<refentrytitle>man.hyphenate.computer.inlines</refentrytitle>
174<refmiscinfo role="type">boolean</refmiscinfo>
175</refmeta>
176<refnamediv>
177<refname>man.hyphenate.computer.inlines</refname>
178<refpurpose>Hyphenate computer inlines?</refpurpose>
179</refnamediv>
180
181<refsynopsisdiv>
182<programlisting id="man.hyphenate.computer.inlines.frag">
183&lt;xsl:param name="man.hyphenate.computer.inlines"&gt;0&lt;/xsl:param&gt;</programlisting>
184</refsynopsisdiv>
185
186<refsect1><title>Description</title>
187
188<para>If zero (the default), hyphenation is suppressed for
189<quote>computer inlines</quote> such as environment variables,
190constants, etc. This parameter current affects output of the following
191elements:
192<simplelist type="inline">
193
194 <member><tag>classname</tag></member>
195 <member><tag>constant</tag></member>
196 <member><tag>envar</tag></member>
197 <member><tag>errorcode</tag></member>
198 <member><tag>option</tag></member>
199 <member><tag>replaceable</tag></member>
200 <member><tag>userinput</tag></member>
201 <member><tag>type</tag></member>
202 <member><tag>varname</tag></member>
203</simplelist>
204</para>
205
206<note>
207 <para>If hyphenation is already turned off globally (that is, if
208 <parameter moreinfo="none">man.hyphenate</parameter> is zero, setting the
209 <parameter moreinfo="none">man.hyphenate.computer.inlines</parameter> is not
210 necessary.</para>
211</note>
212
213<para>If <parameter moreinfo="none">man.hyphenate.computer.inlines</parameter> is
214non-zero, computer inlines will not be treated specially and will be
215hyphenated like other words when needed.</para>
216
217</refsect1>
218</refentry>
219
220<refentry id="man.justify">
221<refmeta>
222<refentrytitle>man.justify</refentrytitle>
223<refmiscinfo role="type">boolean</refmiscinfo>
224</refmeta>
225<refnamediv>
226<refname>man.justify</refname>
227<refpurpose>Justify text to both right and left margins?</refpurpose>
228</refnamediv>
229
230<refsynopsisdiv>
231<programlisting id="man.justify.frag">
232&lt;xsl:param name="man.justify"&gt;0&lt;/xsl:param&gt;</programlisting>
233</refsynopsisdiv>
234
235<refsect1><title>Description</title>
236
237<para>If non-zero, text is justified to both the right and left
238margins (or, in roff terminology, "adjusted and filled" to both the
239right and left margins). If zero (the default), text is adjusted to
240the left margin only -- producing what is traditionally called
241"ragged-right" text.</para>
242
243<note>
244<para>The default value for this parameter is zero because justified
245text looks good only when it is also hyphenated. Without hyphenation,
246excessive amounts of space often end up getting between words, in
247order to "pad" lines out to align on the right margin.</para>
248
249<para>The problem is that groff is not particularly smart about how it
250does hyphenation; it can end up hyphenating a lot of things that you
251don't want hyphenated. So, disabling both justification and
252hyphenation ensures that hyphens won't get inserted where you don't
253want to them, and you don't end up with lines containing excessive
254amounts of space between words.</para>
255
256<para>However, if do you decide to set a non-zero value for the
257<parameter moreinfo="none">man.justify</parameter> parameter (to enable
258justification), then you should probably also set a non-zero value for
259<parameter moreinfo="none">man.hyphenate</parameter> (to enable hyphenation).</para>
260
261<para>Yes, these default settings run counter to how most existing man
262pages are formatted. But there are some notable exceptions, such as
263the <literal moreinfo="none">perl</literal> man pages.</para>
264</note>
265</refsect1>
266</refentry>
267
268<refentry id="man.break.after.slash">
269<refmeta>
270<refentrytitle>man.break.after.slash</refentrytitle>
271<refmiscinfo role="type">boolean</refmiscinfo>
272</refmeta>
273<refnamediv>
274<refname>man.break.after.slash</refname>
275<refpurpose>Enable line-breaking after slashes?</refpurpose>
276</refnamediv>
277
278<refsynopsisdiv>
279<programlisting id="man.break.after.slash.frag">
280&lt;xsl:param name="man.break.after.slash"&gt;0&lt;/xsl:param&gt;</programlisting>
281</refsynopsisdiv>
282
283<refsect1><title>Description</title>
284
285<para>If non-zero, line-breaking after slashes is enabled. This is
286mainly useful for causing long URLs or pathnames/filenames to be
287broken up or "wrapped" across lines (though it also has the side
288effect of sometimes causing relatively short URLs and pathnames to be
289broken up across lines too).</para>
290
291<para>If zero (the default), line-breaking after slashes is
292disabled. In that case, strings containing slashes (for example, URLs
293or filenames) are not broken across lines, even if they exceed the
294maximum column widith.</para>
295
296<warning>
297 <para>If you set a non-zero value for this parameter, check your
298 man-page output carefuly afterwards, in order to make sure that the
299 setting has not introduced an excessive amount of breaking-up of URLs
300 or pathnames. If your content contains mostly short URLs or
301 pathnames, setting a non-zero value for
302 <parameter moreinfo="none">man.break.after.slash</parameter> will probably result in
303 in a significant number of relatively short URLs and pathnames being
304 broken across lines, which is probably not what you want.</para>
305</warning>
306
307</refsect1>
308</refentry>
309
310 </reference>
311 <reference id="links">
312 <title>Link handling</title>
313<refentry id="man.links.are.numbered">
314<refmeta>
315<refentrytitle>man.links.are.numbered</refentrytitle>
316<refmiscinfo role="type">boolean</refmiscinfo>
317</refmeta>
318<refnamediv>
319<refname>man.links.are.numbered</refname>
320<refpurpose>Number links?</refpurpose>
321</refnamediv>
322
323<refsynopsisdiv>
324<programlisting id="man.links.are.numbered.frag">
325&lt;xsl:param name="man.links.are.numbered"&gt;1&lt;/xsl:param&gt;
326</programlisting>
327</refsynopsisdiv>
328
329<refsect1><title>Description</title>
330
331<para>If the value of <parameter moreinfo="none">man.links.are.numbered</parameter> is
332non-zero (the default), then for each non-empty<footnote>
333<para>A <quote>non-empty</quote> link is one that looks like
334this:<literallayout class="monospaced" format="linespecific"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"&gt;manpages&lt;/ulink&gt;</literallayout>
335an <quote>empty link</quote> is on that looks like this:<literallayout class="monospaced" format="linespecific"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/&gt;</literallayout>
336</para></footnote> link:
337
338<itemizedlist>
339 <listitem>
340 <para>a number (in square brackets) is displayed inline before the
341 rendered contents of the link</para>
342 </listitem>
343 <listitem>
344 <para>the URL for the link is included in a numbered list of links
345 that is generated at the end of each man page; the number for each
346 links corresponds to the inline number for the link with which it is
347 associated</para>
348 </listitem>
349</itemizedlist>
350The default heading for the list of links is
351<literal moreinfo="none">REFERENCES</literal>. To output a different heading, set a value
352for the <parameter moreinfo="none">man.links.section.heading</parameter>
353parameter.</para>
354
355<note>
356 <para>The link list is also displayed (but without numbers) if the
357 value of <parameter moreinfo="none">man.links.list.enabled</parameter> is
358 non-zero.</para>
359</note>
360
361
362<para>If the value of <parameter moreinfo="none">man.links.are.numbered</parameter> is
363zero, numbering of links is suppressed; only the link contents are
364displayed inline.
365<important>
366 <para>If you are thinking about disabling link numbering by setting
367 the value of <parameter moreinfo="none">man.links.are.numbered</parameter> to zero,
368 before you do so, first take some time to carefully
369 consider the information needs and experiences of your users. The
370 square-bracketed numbers displayed inline before links may seem
371 obstrusive and aesthetically unpleasing<footnote><para>You might
372 think that it would be better to just display URLs for non-empty
373 links inline, after their content, rather than displaying
374 square-bracketed numbers all over the place. But it's not better. In
375 fact, it's not even practical, because many (most) URLs for links
376 are too long to be displayed inline. They end up overflowing the
377 right margin. You can set a non-zero value for
378 <parameter moreinfo="none">man.break.after.slash</parameter> parameter to deal with
379 that, but it could be argued that what you end up with is at least
380 as ugly, and definitely more obstrusive, then having short
381 square-bracketed numbers displayed inline.</para></footnote>,
382
383 but in a text-only output format, the numbered-links/link-listing
384 mechanism is the only practical way of associating inline text with
385 URLs.</para>
386
387 <para>Also, users of <quote>text based</quote> browsers such as
388 <command moreinfo="none">lynx</command> will already be accustomed to seeing inline
389 numbers for links. And various "man to html" applications, such as
390 the widely used <command moreinfo="none"><ulink url="http://users.actrix.gen.nz/michael/vhman2html.html">man2html</ulink></command> (<literal moreinfo="none">VH-Man2html</literal>)
391 application, can automatically turn URLs into "real" HTML hyperlinks
392 in output. So leaving <parameter moreinfo="none">man.links.are.numbered</parameter>
393 at its default (non-zero) value ensures that no link information is
394 lost in your man-page output. It just gets
395 <quote>rearranged</quote>.</para>
396</important>
397</para>
398<para>The handling of empty links is not affected by this
399parameter. Empty links are handled simply by displaying their URLs
400inline. Empty links are never auto-numbered.</para>
401<note>
402 <para>Currently, this parameter only affects output for
403 <tag>ulink</tag>s.</para>
404</note>
405
406<para>If you disable link numbering, you should probably also set
407<parameter moreinfo="none">man.links.are.underlined</parameter> to zero (to disable
408link underlining).</para>
409</refsect1>
410</refentry>
411
412<refentry id="man.links.are.underlined">
413<refmeta>
414<refentrytitle>man.links.are.underlined</refentrytitle>
415<refmiscinfo role="type">boolean</refmiscinfo>
416</refmeta>
417<refnamediv>
418<refname>man.links.are.underlined</refname>
419<refpurpose>Underline links?</refpurpose>
420</refnamediv>
421
422<refsynopsisdiv>
423<programlisting id="man.links.are.underlined.frag">
424&lt;xsl:param name="man.links.are.underlined"&gt;1&lt;/xsl:param&gt;
425</programlisting>
426</refsynopsisdiv>
427
428<refsect1><title>Description</title>
429
430<para>If the value of <parameter moreinfo="none">man.links.are.underlined</parameter>
431is non-zero (the default), then the contents of links are rendered
432with an underline.</para>
433
434<para>If the value of <parameter moreinfo="none">man.links.are.underlined</parameter>
435is zero, links are displayed without any underlining.</para>
436
437<note>
438 <para>Currently, this parameter only affects output for
439 <tag>ulink</tag>s.</para>
440</note>
441
442<para>If you set <parameter moreinfo="none">man.links.are.numbered</parameter> and/or
443<parameter moreinfo="none">man.links.list.enabled</parameter> to zero (disabled), then
444you should probably also set
445<parameter moreinfo="none">man.links.are.underlined</parameter> to zero. But if
446<parameter moreinfo="none">man.links.are.numbered</parameter> is non-zero (enabled),
447you should probably set a non-zero value for
448<parameter moreinfo="none">man.links.are.underlined</parameter> also<footnote><para>If the main purpose of underlining of links in most output
449formats it to indicate that the underlined text is
450<quote>clickable</quote>, given that links rendered in man pages are
451not <quote>real</quote> hyperlinks that users can click on, it might
452seem like there is never a good reason to have link contents
453underlined in man output.</para> <para>In fact, if you suppress the
454display of inline link references (by setting
455<parameter moreinfo="none">man.links.are.numbered</parameter> to zero), there is no
456good reason to have links underlined. However, if
457<parameter moreinfo="none">man.links.are.numbered</parameter> is non-zero, having
458links underlined may (arguably) serve a purpose: It provides
459<quote>context</quote> information about exactly what part of the text
460is being <quote>annotated</quote> by the link. Depending on how you
461use mark up your content, that context information may or may not have
462value.</para></footnote>.</para>
463</refsect1>
464</refentry>
465
466<refentry id="man.links.list.enabled">
467<refmeta>
468<refentrytitle>man.links.list.enabled</refentrytitle>
469<refmiscinfo role="type">boolean</refmiscinfo>
470</refmeta>
471<refnamediv>
472<refname>man.links.list.enabled</refname>
473<refpurpose>Display list of links at end of man page?</refpurpose>
474</refnamediv>
475
476<refsynopsisdiv>
477<programlisting id="man.links.list.enabled.frag">
478&lt;xsl:param name="man.links.list.enabled"&gt;1&lt;/xsl:param&gt;
479</programlisting>
480</refsynopsisdiv>
481
482<refsect1><title>Description</title>
483
484<para>If the value of <parameter moreinfo="none">man.links.list.enabled</parameter> is
485non-zero (the default), then a list of links is added to the end of
486the output man page.</para>
487
488<para>If the value of <parameter moreinfo="none">man.links.list.enabled</parameter> is
489zero, the list is suppressed -- unless link numbering is enabled (that
490is, if <parameter moreinfo="none">man.links.are.numbered</parameter> is non-zero), in
491which case, that setting overrides the
492<parameter moreinfo="none">man.links.list.enabled</parameter> setting, and the link
493list is still displayed. The reason is that link numbering only makes
494sense if a (numbered) list of links is also generated.</para>
495
496<note>
497 <para>Various <quote>man to html</quote> applications, such as the
498 widely used <command moreinfo="none"><ulink url="http://users.actrix.gen.nz/michael/vhman2html.html">man2html</ulink></command> (<literal moreinfo="none">VH-Man2html</literal>)
499 application, can automatically turn URLs into <quote>real</quote>
500 HTML hyperlinks in output. So leaving
501 <parameter moreinfo="none">man.links.list.enabled</parameter> at its default
502 (non-zero) value ensures that no link URLs are lost in your man-page
503 output. They just get <quote>rearranged</quote>. So if you are
504 thinking about disabling link listing by setting the value of
505 <parameter moreinfo="none">man.links.list.enabled</parameter> to zero, before you do
506 so, first take some time to carefully consider the information needs
507 and experiences of your users. The URLs are useful information even
508 if they aren't <quote>real</quote> (clickable) hyperlinks.</para>
509</note>
510
511<para>To <quote>turn off</quote> numbering of links in the list, set
512<parameter moreinfo="none">man.links.are.numbered</parameter> to zero. The list will
513still be displayed; it will just be displayed without the
514numbers<footnote><para>It can still <quote>make sense</quote> to have
515the list of links displayed even if you have link numbering turned
516off. In that case, your list of links basically becomes a <quote>list
517of references</quote> without any association with specific text in
518your document. This is probably the best option if you find the inline
519link numbering obtrusive. Your users will still have access to the
520URLs and link contents, without being annoyed by the presence of
521inline link numbering.</para></footnote>
522</para>
523
524<para>The default heading for the section in which the list appears is
525<literal moreinfo="none">REFERENCES</literal>. To change that, set a non-empty value
526for the <parameter moreinfo="none">man.links.list.heading</parameter>
527parameter.</para>
528
529<para>Along with the URL for each link, the link list includes the contents
530of the link. The list thus includes only non-empty<footnote>
531
532<para>A <quote>non-empty</quote> link is one that looks like
533this:<literallayout class="monospaced" format="linespecific"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"&gt;manpages&lt;/ulink&gt;</literallayout>
534an <quote>empty link</quote> is on that looks like this:<literallayout class="monospaced" format="linespecific"> &lt;ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/&gt;</literallayout>
535</para></footnote> links.
536
537Empty links are never included, and never numbered. They are simply
538displayed inline, without any numbering.</para>
539
540<para>In addition, if there are multiple instances of links in a
541<tag>refentry</tag> that have the same URL, the URL is listed only
542once. The contents listed for that link are the contents of the first
543link which has that URL.</para>
544
545<note>
546 <para>Currently, this parameter only affects output for
547 <tag>ulink</tag>s.</para>
548</note>
549
550<para>If you disable link listing, you should probably also set
551<parameter moreinfo="none">man.links.are.underlined</parameter> to zero (to disable
552link underlining).</para>
553</refsect1>
554</refentry>
555
556<refentry id="man.links.list.heading">
557<refmeta>
558<refentrytitle>man.links.list.heading</refentrytitle>
559<refmiscinfo role="type">string</refmiscinfo>
560</refmeta>
561<refnamediv>
562<refname>man.links.list.heading</refname>
563<refpurpose>Specifies an alternate name for links list</refpurpose>
564</refnamediv>
565
566<refsynopsisdiv>
567<programlisting id="man.links.list.heading.frag">
568&lt;xsl:param name="man.links.list.heading" select="''"&gt;&lt;/xsl:param&gt;
569</programlisting>
570</refsynopsisdiv>
571
572<refsect1><title>Description</title>
573
574<para>If the value of the
575<parameter moreinfo="none">man.links.are.numbered</parameter> parameter and/or the
576<parameter moreinfo="none">man.links.list.enabled</parameter> parameter is non-zero
577(the defaults for both are non-zero), a numbered list of URLs is
578generated near the end of each man page. The default section heading
579for the list of links is the equivalent of the English word
580<literal moreinfo="none">REFERENCES</literal> in the current locale. To cause an
581alternate heading to be displayed, set a non-empty value for the
582<parameter moreinfo="none">man.links.list.heading</parameter> parameter -- for
583example, <literal moreinfo="none">LINKS</literal>.</para>
584</refsect1>
585</refentry>
586
587 </reference>
588 <reference id="charmap">
589 <title>Character/string substitution</title>
590<refentry id="man.charmap.enabled">
591<refmeta>
592<refentrytitle>man.charmap.enabled</refentrytitle>
593<refmiscinfo role="type">boolean</refmiscinfo>
594</refmeta>
595<refnamediv>
596<refname>man.charmap.enabled</refname>
597<refpurpose>Apply character map before final output?</refpurpose>
598</refnamediv>
599
600<refsynopsisdiv>
601<programlisting id="man.charmap.enabled.frag">
602&lt;xsl:param name="man.charmap.enabled" select="1"&gt;&lt;/xsl:param&gt;
603</programlisting>
604</refsynopsisdiv>
605
606<refsect1><title>Description</title>
607
608<para>If the value of the <parameter moreinfo="none">man.charmap.enabled</parameter>
609parameter is non-zero, a "character map" is used to substitute certain
610Unicode symbols and special characters with appropriate roff/groff
611equivalents, just before writing each man-page file to the
612filesystem. If instead the value of
613<parameter moreinfo="none">man.charmap.enabled</parameter> is zero, Unicode characters
614are passed through "as is".</para>
615
616<refsect2>
617<title>Details</title>
618<para>For converting certain Unicode symbols and special characters in
619UTF-8 or UTF-16 encoded XML source to appropriate groff/roff
620equivalents in man-page output, the DocBook XSL Stylesheets
621distribution includes a <ulink url="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">roff character map</ulink> that is compliant with the <ulink url="http://www.w3.org/TR/xslt20/#character-maps">XSLT character
622map</ulink> format as detailed in the XSLT 2.0 specification. The map
623contains more than 800 character mappings and can be considered the
624standard roff character map for the distribution.</para>
625
626<para>You can use the <parameter moreinfo="none">man.charmap.uri</parameter>
627parameter to specify a URI for the location for an alternate roff
628character map to use in place of the standard roff character map
629provided in the distribution.</para>
630
631<para>You can also use a subset of a character map. For details, see
632the <parameter moreinfo="none">man.charmap.use.subset</parameter> and
633<parameter moreinfo="none">man.charmap.subset.profile</parameter> parameters.</para>
634
635</refsect2>
636</refsect1>
637</refentry>
638
639<refentry id="man.charmap.uri">
640<refmeta>
641<refentrytitle>man.charmap.uri</refentrytitle>
642<refmiscinfo role="type">uri</refmiscinfo>
643</refmeta>
644<refnamediv>
645<refname>man.charmap.uri</refname>
646<refpurpose>URI for custom roff character map</refpurpose>
647</refnamediv>
648
649<refsynopsisdiv>
650<programlisting id="man.charmap.uri.frag">
651&lt;xsl:param name="man.charmap.uri" select="''"&gt;&lt;/xsl:param&gt;
652</programlisting>
653</refsynopsisdiv>
654
655<refsect1><title>Description</title>
656
657<para>For converting certain Unicode symbols and special characters in
658UTF-8 or UTF-16 encoded XML source to appropriate groff/roff
659equivalents in man-page output, the DocBook XSL Stylesheets
660distribution includes an <ulink url="http://www.w3.org/TR/xslt20/#character-maps">XSLT character
661map</ulink>. That character map can be considered the standard roff
662character map for the distribution.</para>
663
664<para>If the value of the <parameter moreinfo="none">man.charmap.uri</parameter>
665parameter is non-empty, that value is used as the URI for the location
666for an alternate roff character map to use in place of the standard
667roff character map provided in the distribution.</para>
668
669<warning>
670<para>Do not set a value for <parameter moreinfo="none">man.charmap.uri</parameter>
671unless you have a custom roff character map that differs from the
672standard one provided in the distribution.</para>
673</warning>
674</refsect1>
675</refentry>
676
677<refentry id="man.charmap.use.subset">
678<refmeta>
679<refentrytitle>man.charmap.use.subset</refentrytitle>
680<refmiscinfo role="type">boolean</refmiscinfo>
681</refmeta>
682<refnamediv>
683<refname>man.charmap.use.subset</refname>
684<refpurpose>Use subset of character map instead of full map?</refpurpose>
685</refnamediv>
686
687<refsynopsisdiv>
688<programlisting id="man.charmap.use.subset.frag">
689&lt;xsl:param name="man.charmap.use.subset" select="1"&gt;&lt;/xsl:param&gt;
690</programlisting>
691</refsynopsisdiv>
692
693<refsect1><title>Description</title>
694
695<para>If the value of the
696<parameter moreinfo="none">man.charmap.use.subset</parameter> parameter is non-zero,
697a subset of the roff character map is used instead of the full roff
698character map. The profile of the subset used is specified by the
699<parameter moreinfo="none">man.charmap.subset.profile</parameter> parameter.</para>
700
701<note>
702 <para>You may want to experiment with setting a non-zero value of
703 <parameter moreinfo="none">man.charmap.use.subset</parameter>, so that the full
704 character map is used. Depending on which XSLT engine you run,
705 setting a non-zero value for
706 <parameter moreinfo="none">man.charmap.use.subset</parameter> may significantly
707 increase the time needed to process your documents. Or it may
708 not. For example, if you set it and run it with xsltproc, it seems
709 to dramatically increase processing time; on the other hand, if you
710 set it and run it with Saxon, it does not seem to increase
711 processing time nearly as much.</para>
712
713 <para>If processing time is not a important concern and/or you can
714 tolerate the increase in processing time imposed by using the full
715 character map, set <parameter moreinfo="none">man.charmap.use.subset</parameter> to
716 zero.</para>
717</note>
718
719<refsect2>
720<title>Details</title>
721<para>For converting certain Unicode symbols and special characters in
722UTF-8 or UTF-16 encoded XML source to appropriate groff/roff
723equivalents in man-page output, the DocBook XSL Stylesheets
724distribution includes a <ulink url="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">roff character map</ulink> that is compliant with the <ulink url="http://www.w3.org/TR/xslt20/#character-maps">XSLT character
725map</ulink> format as detailed in the XSLT 2.0 specification. The map
726contains more than 800 character mappings and can be considered the
727standard roff character map for the distribution.</para>
728
729<note>
730<para>You can use the <parameter moreinfo="none">man.charmap.uri</parameter>
731parameter to specify a URI for the location for an alternate roff
732character map to use in place of the standard roff character map
733provided in the distribution.</para>
734</note>
735
736<para>Because it is not terrifically efficient to use the standard
737800-character character map in full -- and for most (or all) users,
738never necessary to use it in full -- the DocBook XSL Stylesheets
739support a mechanism for using, within any given character map, a
740subset of character mappings instead of the full set. You can use the
741<parameter moreinfo="none">man.charmap.subset.profile</parameter> parameter to tune
742the profile of that subset to use.</para>
743
744</refsect2>
745</refsect1>
746</refentry>
747
748<refentry id="man.charmap.subset.profile">
749<refmeta>
750<refentrytitle>man.charmap.subset.profile</refentrytitle>
751<refmiscinfo role="type">string</refmiscinfo>
752</refmeta>
753<refnamediv>
754<refname>man.charmap.subset.profile</refname>
755<refpurpose>Profile of character map subset</refpurpose>
756</refnamediv>
757
758<refsynopsisdiv>
759<programlisting id="man.charmap.subset.profile.frag">
760&lt;xsl:param name="man.charmap.subset.profile"&gt;
761(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and
762 @*[local-name() = 'class'] = 'symbols'
763) or
764(@*[local-name() = 'block'] = 'General Punctuation' and
765 (@*[local-name() = 'class'] = 'spaces' or
766 @*[local-name() = 'class'] = 'dashes' or
767 @*[local-name() = 'class'] = 'quotes' or
768 @*[local-name() = 'class'] = 'bullets'
769 )
770) or
771@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or
772@*[local-name() = 'name'] = 'WORD JOINER' or
773@*[local-name() = 'name'] = 'SERVICE MARK' or
774@*[local-name() = 'name'] = 'TRADE MARK SIGN' or
775@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE'
776&lt;/xsl:param&gt;
777</programlisting>
778</refsynopsisdiv>
779
780<refsect1><title>Description</title>
781
782<para>If the value of the
783<parameter moreinfo="none">man.charmap.use.subset</parameter> parameter is non-zero,
784The character-map subset specified by the
785<parameter moreinfo="none">man.charmap.subset.profile</parameter> parameter is used
786instead of the full roff character map.</para>
787
788<para>The value of <parameter moreinfo="none">man.charmap.subset.profile</parameter>
789is a string representating an XPath expression that matches attribute
790names and values for <tag namespace="http://docbook.sf.net/xmlns/unichar/1.0">output-character</tag> elements in the character map.</para>
791
792<para>The attributes supported in the <ulink url="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map included in the distribution</ulink> are:
793<variablelist>
794 <varlistentry>
795 <term>character</term>
796 <listitem>
797 <simpara>a raw Unicode character or numeric Unicode
798 character-entity value (either in decimal or hex); all
799 characters have this attribute</simpara>
800 </listitem>
801 </varlistentry>
802 <varlistentry>
803 <term>name</term>
804 <listitem>
805 <simpara>a standard full/long ISO/Unicode character name (e.g.,
806 "OHM SIGN"); all characters have this attribute</simpara>
807 </listitem>
808 </varlistentry>
809 <varlistentry>
810 <term>block</term>
811 <listitem>
812 <simpara>a standard Unicode "block" name (e.g., "General
813 Punctuation"); all characters have this attribute. For the full
814 list of Unicode block names supported in the standard roff
815 character map, see <xref linkend="BlocksAndClasses"/>.</simpara>
816 </listitem>
817 </varlistentry>
818 <varlistentry>
819 <term>class</term>
820 <listitem>
821 <simpara>a class of characters (e.g., "spaces"). Not all
822 characters have this attribute; currently, it is used only with
823 certain characters within the "C1 Controls And Latin-1
824 Supplement" and "General Punctuation" blocks. For details, see
825 <xref linkend="BlocksAndClasses"/>.</simpara>
826 </listitem>
827 </varlistentry>
828 <varlistentry>
829 <term>entity</term>
830 <listitem>
831 <simpara>an ISO entity name (e.g., "ohm"); not all characters
832 have this attribute, because not all characters have ISO entity
833 names; for example, of the 800 or so characters in the standard
834 roff character map included in the distribution, only around 300
835 have ISO entity names.
836 </simpara>
837 </listitem>
838 </varlistentry>
839 <varlistentry>
840 <term>string</term>
841 <listitem>
842 <simpara>a string representating an roff/groff escape-code (with
843 "@esc@" used in place of the backslash), or a simple ASCII
844 string; all characters in the roff character map have this
845 attribute</simpara>
846 </listitem>
847 </varlistentry>
848</variablelist>
849</para>
850<para>The value of <parameter moreinfo="none">man.charmap.subset.profile</parameter>
851is evaluated as an XPath expression at run-time to select a portion of
852the roff character map to use. You can tune the subset used by adding
853or removing parts. For example, if you need to use a wide range of
854mathematical operators in a document, and you want to have them
855converted into roff markup properly, you might add the following:
856
857<literallayout class="monospaced" format="linespecific"> @*[local-name() = 'block'] ='MathematicalOperators' </literallayout>
858
859That will cause a additional set of around 67 additional "math"
860characters to be converted into roff markup. </para>
861
862<note>
863<para>Depending on which XSLT engine you use, either the EXSLT
864<function moreinfo="none">dyn:evaluate</function> extension function (for xsltproc or
865Xalan) or <function moreinfo="none">saxon:evaluate</function> extensio function (for
866Saxon) are used to dynamically evaluate the value of
867<parameter moreinfo="none">man.charmap.subset.profile</parameter> at run-time. If you
868don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that
869supports <function moreinfo="none">dyn:evaluate</function> -- you must either set the
870value of the <parameter moreinfo="none">man.charmap.use.subset</parameter> parameter
871to zero and process your documents using the full character map
872instead, or set the value of the
873<parameter moreinfo="none">man.charmap.enabled</parameter> parameter to zero instead
874(so that character-map processing is disabled completely.</para>
875</note>
876
877<para>An alternative to using
878<parameter moreinfo="none">man.charmap.subset.profile</parameter> is to create your
879own custom character map, and set the value of
880<parameter moreinfo="none">man.charmap.uri</parameter> to the URI/filename for
881that. If you use a custom character map, you will probably want to
882include in it just the characters you want to use, and so you will
883most likely also want to set the value of
884<parameter moreinfo="none">man.charmap.use.subset</parameter> to zero.</para>
885<para>You can create a
886custom character map by making a copy of the <ulink url="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map</ulink> provided in the distribution, and
887then adding to, changing, and/or deleting from that.</para>
888
889<caution>
890<para>If you author your DocBook XML source in UTF-8 or UTF-16
891encoding and aren't sure what OSes or environments your man-page
892output might end up being viewed on, and not sure what version of
893nroff/groff those environments might have, you should be careful about
894what Unicode symbols and special characters you use in your source and
895what parts you add to the value of
896<parameter moreinfo="none">man.charmap.subset.profile</parameter>.</para>
897<para>Many of the escape codes used are specific to groff and using
898them may not provide the expected output on an OS or environment that
899uses nroff instead of groff.</para>
900<para>On the other hand, if you intend for your man-page output to be
901viewed only on modern systems (for example, GNU/Linux systems, FreeBSD
902systems, or Cygwin environments) that have a good, up-to-date groff,
903then you can safely include a wide range of Unicode symbols and
904special characters in your UTF-8 or UTF-16 encoded DocBook XML source
905and add any of the supported Unicode block names to the value of
906<parameter moreinfo="none">man.charmap.subset.profile</parameter>.</para>
907</caution>
908
909
910<para>For other details, see the documentation for the
911<parameter moreinfo="none">man.charmap.use.subset</parameter> parameter.</para>
912
913<refsect2 id="BlocksAndClasses">
914 <title>Supported Unicode block names and "class" values</title>
915
916 <para>Below is the full list of Unicode block names and "class"
917 values supported in the standard roff stylesheet provided in the
918 distribution, along with a description of which codepoints from the
919 Unicode range corresponding to that block name or block/class
920 combination are supported.</para>
921
922 <itemizedlist>
923 <listitem>
924 <para><ulink url="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)</ulink> (x00a0 to x00ff)
925 <itemizedlist>
926 <title>class values</title>
927 <listitem>
928 <para>symbols</para>
929 </listitem>
930 <listitem>
931 <para>letters</para>
932 </listitem>
933 </itemizedlist></para>
934 </listitem>
935 <listitem>
936 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Latin%20Extended-A">Latin Extended-A</ulink> (x0100 to x017f, partial)</para>
937 </listitem>
938 <listitem>
939 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Spacing%20Modifier%20Letters">Spacing Modifier Letters</ulink> (x02b0 to x02ee, partial)</para>
940 </listitem>
941 <listitem>
942 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Greek%20and%20Coptic">Greek and Coptic</ulink> (x0370 to x03ff, partial)</para>
943 </listitem>
944 <listitem>
945 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=General%20Punctuation">General Punctuation</ulink> (x2000 to x206f, partial)
946 <itemizedlist>
947 <title>class values</title>
948 <listitem>
949 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;start=8192&amp;end=8203">spaces</ulink></para>
950 </listitem>
951 <listitem>
952 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;start=8208&amp;end=8213">dashes</ulink></para>
953 </listitem>
954 <listitem>
955 <para>quotes</para>
956 </listitem>
957 <listitem>
958 <para>daggers</para>
959 </listitem>
960 <listitem>
961 <para>bullets</para>
962 </listitem>
963 <listitem>
964 <para>leaders</para>
965 </listitem>
966 <listitem>
967 <para>primes</para>
968 </listitem>
969 </itemizedlist>
970 </para>
971 </listitem>
972 <listitem>
973 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Superscripts%20and%20Subscripts">Superscripts and Subscripts</ulink> (x2070 to x209f)</para>
974 </listitem>
975 <listitem>
976 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Currency%20Symbols">Currency Symbols</ulink> (x20a0 to x20b1)</para>
977 </listitem>
978 <listitem>
979 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Letterlike%20Symbols">Letterlike Symbols</ulink> (x2100 to x214b)</para>
980 </listitem>
981 <listitem>
982 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Number%20Forms">Number Forms</ulink> (x2150 to x218f)</para>
983 </listitem>
984 <listitem>
985 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Arrows">Arrows</ulink> (x2190 to x21ff, partial)</para>
986 </listitem>
987 <listitem>
988 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Mathematical%20Operators">Mathematical Operators</ulink> (x2200 to x22ff, partial)</para>
989 </listitem>
990 <listitem>
991 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Control%20Pictures">Control Pictures</ulink> (x2400 to x243f)</para>
992 </listitem>
993 <listitem>
994 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Enclosed%20Alphanumerics">Enclosed Alphanumerics</ulink> (x2460 to x24ff)</para>
995 </listitem>
996 <listitem>
997 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Geometric%20Shapes">Geometric Shapes</ulink> (x25a0 to x25f7, partial)</para>
998 </listitem>
999 <listitem>
1000 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Miscellaneous%20Symbols">Miscellaneous Symbols</ulink> (x2600 to x26ff, partial)</para>
1001 </listitem>
1002 <listitem>
1003 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Dingbats">Dingbats</ulink> (x2700 to x27be, partial)</para>
1004 </listitem>
1005 <listitem>
1006 <para><ulink url="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&amp;id=Alphabetic%20Presentation%20Forms">Alphabetic Presentation Forms</ulink> (xfb00 to xfb04 only)</para>
1007 </listitem>
1008 </itemizedlist>
1009</refsect2>
1010</refsect1>
1011</refentry>
1012
1013<refentry id="man.string.subst.map">
1014<refmeta>
1015<refentrytitle>man.string.subst.map</refentrytitle>
1016<refmiscinfo role="type">string</refmiscinfo>
1017</refmeta>
1018<refnamediv>
1019<refname>man.string.subst.map</refname>
1020<refpurpose>Specifies a set of string substitutions</refpurpose>
1021</refnamediv>
1022
1023<refsynopsisdiv>
1024<programlisting id="man.string.subst.map.frag">
1025&lt;xsl:param name="man.string.subst.map"&gt;
1026 &lt;substitution oldstring="\" newstring="\\"&gt;&lt;/substitution&gt;
1027 &lt;!-- * now, we need to restore single-backslashes in all roff --&gt;
1028 &lt;!-- * requests (because the substitution above doubled them) --&gt;
1029 &lt;substitution oldstring="\\fB" newstring="\fB"&gt;&lt;/substitution&gt;
1030 &lt;substitution oldstring="\\fI" newstring="\fI"&gt;&lt;/substitution&gt;
1031 &lt;substitution oldstring="\\fR" newstring="\fR"&gt;&lt;/substitution&gt;
1032 &lt;substitution oldstring="\\%" newstring="\%"&gt;&lt;/substitution&gt;
1033 &lt;substitution oldstring="\\&amp;" newstring="\&amp;"&gt;&lt;/substitution&gt;
1034 &lt;substitution oldstring=".\\"" newstring=".\""&gt;&lt;/substitution&gt;
1035 &lt;!-- * although the groff docs do not make it clear, it appears that --&gt;
1036 &lt;!-- * the only way to get a non-breaking hyphen in roff is to put a --&gt;
1037 &lt;!-- * backslash in front of it; and, unfortunately, groff is not smart --&gt;
1038 &lt;!-- * about where it breaks things (for example, it'll break an --&gt;
1039 &lt;!-- * argument for a command across a line, if that argument contains --&gt;
1040 &lt;!-- * a dash/hyphen); so, we must globally change all hyphens to "\-" --&gt;
1041 &lt;substitution oldstring="-" newstring="\-"&gt;&lt;/substitution&gt;
1042 &lt;!-- * now, we need to restore single-hypens in all roff requests --&gt;
1043 &lt;!-- * (because the substitution above added backslashes before them) --&gt;
1044 &lt;substitution oldstring=".sp \-" newstring=".sp -"&gt;&lt;/substitution&gt;
1045 &lt;substitution oldstring=".it 1 an\-trap" newstring=".it 1 an-trap"&gt;&lt;/substitution&gt;
1046 &lt;substitution oldstring=".nr an\-no\-space\-flag 1" newstring=".nr an-no-space-flag 1"&gt;&lt;/substitution&gt;
1047 &lt;substitution oldstring=".nr an\-break\-flag 1" newstring=".nr an-break-flag 1"&gt;&lt;/substitution&gt;
1048 &lt;!-- * squeeze multiple newlines before a roff request --&gt;
1049 &lt;substitution oldstring="
1050
1051." newstring="
1052."&gt;&lt;/substitution&gt;
1053 &lt;!-- * remove any .sp occurences that directly follow a .PP --&gt;
1054 &lt;substitution oldstring=".PP
1055.sp" newstring=".PP"&gt;&lt;/substitution&gt;
1056 &lt;!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --&gt;
1057 &lt;substitution oldstring=".nf
1058
1059" newstring=".nf
1060"&gt;&lt;/substitution&gt;
1061 &lt;!-- * an apostrophe at the beginning of a line gets interpreted as a --&gt;
1062 &lt;!-- * roff request (groff(7) says it is "the non-breaking control --&gt;
1063 &lt;!-- * character"); so we must add backslash before any apostrophe --&gt;
1064 &lt;!-- * found at the start of a line --&gt;
1065 &lt;substitution oldstring="
1066'" newstring="
1067\'"&gt;&lt;/substitution&gt;
1068 &lt;!-- * --&gt;
1069 &lt;!-- * non-breaking space --&gt;
1070 &lt;!-- * --&gt;
1071 &lt;!-- * A no-break space can be written two ways in roff; the difference, --&gt;
1072 &lt;!-- * according to the "Page Motions" node in the groff info page, ixsl: --&gt;
1073 &lt;!-- * --&gt;
1074 &lt;!-- * "\ " = --&gt;
1075 &lt;!-- * An unbreakable and unpaddable (i.e. not expanded during filling) --&gt;
1076 &lt;!-- * space. --&gt;
1077 &lt;!-- * --&gt;
1078 &lt;!-- * "\~" = --&gt;
1079 &lt;!-- * An unbreakable space that stretches like a normal --&gt;
1080 &lt;!-- * inter-word space when a line is adjusted." --&gt;
1081 &lt;!-- * --&gt;
1082 &lt;!-- * Unfortunately, roff seems to do some weird things with long --&gt;
1083 &lt;!-- * lines that only have words separated by "\~" spaces, so it's --&gt;
1084 &lt;!-- * safer just to stick with the "\ " space --&gt;
1085 &lt;substitution oldstring=" " newstring="\ "&gt;&lt;/substitution&gt;
1086 &lt;!-- * bullet --&gt;
1087 &lt;substitution oldstring="•" newstring="\(bu"&gt;&lt;/substitution&gt;
1088 &lt;!-- * left double quote --&gt;
1089 &lt;substitution oldstring="“" newstring="\(lq"&gt;&lt;/substitution&gt;
1090 &lt;!-- * right double quote --&gt;
1091 &lt;substitution oldstring="”" newstring="\(rq"&gt;&lt;/substitution&gt;
1092 &lt;!-- * left single quote --&gt;
1093 &lt;substitution oldstring="‘" newstring="\(oq"&gt;&lt;/substitution&gt;
1094 &lt;!-- * right single quote --&gt;
1095 &lt;substitution oldstring="’" newstring="\(cq"&gt;&lt;/substitution&gt;
1096 &lt;!-- * copyright sign --&gt;
1097 &lt;substitution oldstring="©" newstring="\(co"&gt;&lt;/substitution&gt;
1098 &lt;!-- * registered sign --&gt;
1099 &lt;substitution oldstring="®" newstring="\(rg"&gt;&lt;/substitution&gt;
1100 &lt;!-- * servicemark --&gt;
1101 &lt;!-- * there is no groff equivalent for it --&gt;
1102 &lt;substitution oldstring="℠" newstring="(SM)"&gt;&lt;/substitution&gt;
1103 &lt;!-- * trademark --&gt;
1104 &lt;!-- * we don't do "\(tm" because for console output --&gt;
1105 &lt;!-- * because groff just renders that as "tm"; that is: --&gt;
1106 &lt;!-- * --&gt;
1107 &lt;!-- * Product&amp;#x2122; -&gt; Producttm --&gt;
1108 &lt;!-- * --&gt;
1109 &lt;!-- * So we just make it to "(TM)" instead; thus: --&gt;
1110 &lt;!-- * --&gt;
1111 &lt;!-- * Product&amp;#x2122; -&gt; Product(TM) --&gt;
1112 &lt;substitution oldstring="™" newstring="(TM)"&gt;&lt;/substitution&gt;
1113&lt;/xsl:param&gt;
1114</programlisting>
1115</refsynopsisdiv>
1116
1117<refsect1><title>Description</title>
1118
1119<para>The <parameter moreinfo="none">man.string.subst.map</parameter> parameter
1120contains <link linkend="map">a map</link> that specifies a set of
1121string substitutions to perform over the entire roff source for each
1122man page, either just before generating final man-page output (that
1123is, before writing man-page files to disk) or, if the value of the
1124<parameter moreinfo="none">man.charmap.enabled</parameter> parameter is non-zero,
1125before applying the roff character map.</para>
1126
1127<para>You can use <parameter moreinfo="none">man.string.subst.map</parameter> as a
1128"lightweight" character map to perform "essential" substitutions --
1129that is, substitutions that are <emphasis>always</emphasis> performed,
1130even if the value of the <parameter moreinfo="none">man.charmap.enabled</parameter>
1131parameter is zero. For example, you can use it to replace quotation
1132marks or other special characters that are generated by the DocBook
1133XSL stylesheets for a particular locale setting (as opposed to those
1134characters that are actually in source XML documents), or to replace
1135any special characters that may be automatically generated by a
1136particular customization of the DocBook XSL stylesheets.</para>
1137
1138<warning>
1139 <para>Do you not change value of the
1140 <parameter moreinfo="none">man.string.subst.map</parameter> parameter unless
1141 you are sure what you are doing. If you remove any of the default
1142 mappings, you are likely to end up with broken output. And be very
1143 careful about adding anything to it. Because it is used for doing
1144 string substitution over the entire roff source of each man page, it
1145 causes target strings to be replaced in roff requests and escapes,
1146 not just in the visible contents.</para>
1147
1148 <para>In particular, do not attempt to add a mapping for the
1149 dot/period character. Doing so will break your output. For an
1150 explanation, see <xref linkend="Dots"/>.</para>
1151
1152</warning>
1153
1154<refsect2 id="map">
1155 <title>Contents of the substitution map</title>
1156 <para>The string-substitution map contains one or more <tag namespace="http://docbook.sf.net/xmlns/string.subst/1.0">substitution</tag> elements, each of which has two attributes:
1157 <variablelist>
1158 <varlistentry>
1159 <term>oldstring</term>
1160 <listitem>
1161 <simpara>string to replace</simpara>
1162 </listitem>
1163 </varlistentry>
1164 <varlistentry>
1165 <term>newstring</term>
1166 <listitem>
1167 <simpara>string with which to replace <tag class="attribute">oldstring</tag></simpara>
1168 </listitem>
1169 </varlistentry>
1170 </variablelist>
1171 It may also include XML comments (that is, delimited with
1172 "<literal moreinfo="none">&lt;!--</literal>" and "<literal moreinfo="none">--&gt;</literal>").
1173 </para>
1174</refsect2>
1175
1176<refsect2 id="Dots">
1177 <title>About adding backslashes before dots</title>
1178 <para>The stylesheets do not add backslashes before
1179 periods/dots. One reason is that, because string substitution is
1180 performed over the entire roff source of each man page, it would be
1181 complicated to replace dots in visible contents without also causing
1182 them to be replaced in roff requests and escapes; for example,
1183 without causing, say, the <literal moreinfo="none">.TH</literal> roff macro to be
1184 replaced with <literal moreinfo="none">\.TH</literal>. Additionally, backslashes in
1185 front of periods/dots are needed only in the very rare case where a
1186 period is the very first character in a line, without any space in
1187 front of it. A better way to deal with that rare case is to add a
1188 zero-width space in front of the offending dot(s) in your
1189 source.</para>
1190</refsect2>
1191
1192</refsect1>
1193</refentry>
1194
1195 </reference>
1196 <reference id="refmeta">
1197 <title>Refentry metadata gathering</title>
1198<refentry id="refentry.date.profile">
1199<refmeta>
1200<refentrytitle>refentry.date.profile</refentrytitle>
1201<refmiscinfo role="type">string</refmiscinfo>
1202</refmeta>
1203<refnamediv>
1204<refname>refentry.date.profile</refname>
1205<refpurpose>Specifies profile for refentry "date" data</refpurpose>
1206</refnamediv>
1207
1208<refsynopsisdiv>
1209<programlisting id="refentry.date.profile.frag">
1210&lt;xsl:param name="refentry.date.profile"&gt;
1211 ($info/date
1212 |$info/pubdate
1213 |$parentinfo/date
1214 |$parentinfo/pubdate)[1]/node()
1215&lt;/xsl:param&gt;
1216</programlisting>
1217</refsynopsisdiv>
1218
1219<refsect1><title>Description</title>
1220
1221<para>The value of <parameter moreinfo="none">refentry.date.profile</parameter> is a
1222string representing an XPath expression. It is evaluated at run-time
1223and used only if <parameter moreinfo="none">refentry.date.profile.enabled</parameter>
1224is non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering
1225logic "hard coded" into the stylesheets is used.</para>
1226
1227<para> The <literal moreinfo="none">man(7)</literal> man page describes this content
1228as "the date of the last revision". In man pages, it is the content
1229that is usually displayed in the center footer.</para>
1230
1231</refsect1>
1232</refentry>
1233
1234<refentry id="refentry.date.profile.enabled">
1235<refmeta>
1236<refentrytitle>refentry.date.profile.enabled</refentrytitle>
1237<refmiscinfo role="type">boolean</refmiscinfo>
1238</refmeta>
1239<refnamediv>
1240<refname>refentry.date.profile.enabled</refname>
1241<refpurpose>Enable refentry "date" profiling?</refpurpose>
1242</refnamediv>
1243
1244<refsynopsisdiv>
1245<programlisting id="refentry.date.profile.enabled.frag">
1246&lt;xsl:param name="refentry.date.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
1247</refsynopsisdiv>
1248
1249<refsect1><title>Description</title>
1250
1251<para>If the value of
1252<parameter moreinfo="none">refentry.date.profile.enabled</parameter> is non-zero, then
1253during <tag>refentry</tag> metadata gathering, the info profile
1254specified by the customizable
1255<parameter moreinfo="none">refentry.date.profile</parameter> parameter is used.</para>
1256
1257<para>If instead the value of
1258<parameter moreinfo="none">refentry.date.profile.enabled</parameter> is zero (the
1259default), then "hard coded" logic within the DocBook XSL stylesheets
1260is used for gathering <tag>refentry</tag> "date" data.</para>
1261
1262<para>If you find that the default <tag>refentry</tag>
1263metadata-gathering behavior is causing incorrect "date" data to show
1264up in your output, then consider setting a non-zero value for
1265<parameter moreinfo="none">refentry.date.profile.enabled</parameter> and adjusting the
1266value of <parameter moreinfo="none">refentry.date.profile</parameter> to cause correct
1267data to be gathered. </para>
1268
1269<para>Note that the terms "source" and "date" have special meanings in
1270this context. For details, see the documentation for the
1271<parameter moreinfo="none">refentry.date.profile</parameter> parameter.</para>
1272
1273</refsect1>
1274</refentry>
1275
1276<refentry id="refentry.manual.profile">
1277<refmeta>
1278<refentrytitle>refentry.manual.profile</refentrytitle>
1279<refmiscinfo role="type">string</refmiscinfo>
1280</refmeta>
1281<refnamediv>
1282<refname>refentry.manual.profile</refname>
1283<refpurpose>Specifies profile for refentry "manual" data</refpurpose>
1284</refnamediv>
1285
1286<refsynopsisdiv>
1287<programlisting id="refentry.manual.profile.frag">
1288&lt;xsl:param name="refentry.manual.profile"&gt;
1289 ($parentinfo/title
1290 |../title)[1]/node()
1291&lt;/xsl:param&gt;
1292</programlisting>
1293</refsynopsisdiv>
1294
1295<refsect1><title>Description</title>
1296
1297<para>The value of <parameter moreinfo="none">refentry.manual.profile</parameter> is
1298a string representing an XPath expression. It is evaluated at
1299run-time and used only if
1300<parameter moreinfo="none">refentry.manual.profile.enabled</parameter> is
1301non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
1302"hard coded" into the stylesheets is used.</para>
1303
1304<para>In man pages, this content is usually displayed in the middle of
1305the header of the page. The <literal moreinfo="none">man(7)</literal> man page
1306describes this as "the title of the manual (e.g., <citetitle>Linux
1307Programmer's Manual</citetitle>)". Here are some examples from
1308existing man pages:
1309<itemizedlist>
1310 <listitem>
1311 <para><citetitle>dpkg utilities</citetitle>
1312 (<command moreinfo="none">dpkg-name</command>)</para>
1313 </listitem>
1314 <listitem>
1315 <para><citetitle>User Contributed Perl Documentation</citetitle>
1316 (<command moreinfo="none">GET</command>)</para>
1317 </listitem>
1318 <listitem>
1319 <para><citetitle>GNU Development Tools</citetitle>
1320 (<command moreinfo="none">ld</command>)</para>
1321 </listitem>
1322 <listitem>
1323 <para><citetitle>Emperor Norton Utilities</citetitle>
1324 (<command moreinfo="none">ddate</command>)</para>
1325 </listitem>
1326 <listitem>
1327 <para><citetitle>Debian GNU/Linux manual</citetitle>
1328 (<command moreinfo="none">faked</command>)</para>
1329 </listitem>
1330 <listitem>
1331 <para><citetitle>GIMP Manual Pages</citetitle>
1332 (<command moreinfo="none">gimp</command>)</para>
1333 </listitem>
1334 <listitem>
1335 <para><citetitle>KDOC Documentation System</citetitle>
1336 (<command moreinfo="none">qt2kdoc</command>)</para>
1337 </listitem>
1338</itemizedlist>
1339</para>
1340
1341</refsect1>
1342</refentry>
1343
1344<refentry id="refentry.manual.profile.enabled">
1345<refmeta>
1346<refentrytitle>refentry.manual.profile.enabled</refentrytitle>
1347<refmiscinfo role="type">boolean</refmiscinfo>
1348</refmeta>
1349<refnamediv>
1350<refname>refentry.manual.profile.enabled</refname>
1351<refpurpose>Enable refentry "manual" profiling?</refpurpose>
1352</refnamediv>
1353
1354<refsynopsisdiv>
1355<programlisting id="refentry.manual.profile.enabled.frag">
1356&lt;xsl:param name="refentry.manual.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
1357</refsynopsisdiv>
1358
1359<refsect1><title>Description</title>
1360
1361<para>If the value of
1362<parameter moreinfo="none">refentry.manual.profile.enabled</parameter> is
1363non-zero, then during <tag>refentry</tag> metadata gathering, the info
1364profile specified by the customizable
1365<parameter moreinfo="none">refentry.manual.profile</parameter> parameter is
1366used.</para>
1367
1368<para>If instead the value of
1369<parameter moreinfo="none">refentry.manual.profile.enabled</parameter> is zero (the
1370default), then "hard coded" logic within the DocBook XSL stylesheets
1371is used for gathering <tag>refentry</tag> "manual" data.</para>
1372
1373<para>If you find that the default <tag>refentry</tag>
1374metadata-gathering behavior is causing incorrect "manual" data to show
1375up in your output, then consider setting a non-zero value for
1376<parameter moreinfo="none">refentry.manual.profile.enabled</parameter> and adjusting
1377the value of <parameter moreinfo="none">refentry.manual.profile</parameter> to cause
1378correct data to be gathered. </para>
1379
1380<para>Note that the term "manual" has a special meanings in this
1381context. For details, see the documentation for the
1382<parameter moreinfo="none">refentry.manual.profile</parameter> parameter.</para>
1383
1384</refsect1>
1385</refentry>
1386
1387<refentry id="refentry.source.name.suppress">
1388<refmeta>
1389<refentrytitle>refentry.source.name.suppress</refentrytitle>
1390<refmiscinfo role="type">boolean</refmiscinfo>
1391</refmeta>
1392<refnamediv>
1393<refname>refentry.source.name.suppress</refname>
1394<refpurpose>Suppress "name" part of refentry "source" contents?</refpurpose>
1395</refnamediv>
1396
1397<refsynopsisdiv>
1398<programlisting id="refentry.source.name.suppress.frag">
1399&lt;xsl:param name="refentry.source.name.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
1400</refsynopsisdiv>
1401
1402<refsect1><title>Description</title>
1403
1404<para>If the value of
1405<parameter moreinfo="none">refentry.source.name.suppress</parameter> is non-zero, then
1406during <tag>refentry</tag> metadata gathering, no "source name" data
1407is added to the <tag>refentry</tag> "source" contents. Instead (unless
1408<parameter moreinfo="none">refentry.version.suppress</parameter> is also non-zero),
1409only "version" data is added to the "source" contents.</para>
1410
1411<para>If you find that the <tag>refentry</tag> metadata gathering
1412mechanism is causing unwanted "source name" data to show up in your
1413output -- for example, in the footer (or possibly header) of a man
1414page -- then you might consider setting a non-zero value for
1415<parameter moreinfo="none">refentry.source.name.suppress</parameter>.</para>
1416
1417<para>Note that the terms "source", "source name", and "version" have
1418special meanings in this context. For details, see the documentation
1419for the <parameter moreinfo="none">refentry.source.name.profile</parameter>
1420parameter.</para>
1421
1422</refsect1>
1423</refentry>
1424
1425<refentry id="refentry.source.name.profile">
1426<refmeta>
1427<refentrytitle>refentry.source.name.profile</refentrytitle>
1428<refmiscinfo role="type">string</refmiscinfo>
1429</refmeta>
1430<refnamediv>
1431<refname>refentry.source.name.profile</refname>
1432<refpurpose>Specifies profile for refentry "source name" data</refpurpose>
1433</refnamediv>
1434
1435<refsynopsisdiv>
1436<programlisting id="refentry.source.name.profile.frag">
1437&lt;xsl:param name="refentry.source.name.profile"&gt;
1438 ($info/productname
1439 |$parentinfo/productname
1440 |$info/orgname
1441 |$parentinfo/orgname
1442 |$info/corpname
1443 |$parentinfo/corpname
1444 |$info/corpcredit
1445 |$parentinfo/corpcredit
1446 |$info/corpauthor
1447 |$parentinfo/corpauthor
1448 |$info/author/orgname
1449 |$parentinfo/author/orgname
1450 |$info//publishername
1451 |$parentinfo//publishername)[1]/node()
1452&lt;/xsl:param&gt;
1453</programlisting>
1454</refsynopsisdiv>
1455
1456<refsect1><title>Description</title>
1457
1458<para>The value of <parameter moreinfo="none">refentry.source.name.profile</parameter>
1459is a string representing an XPath expression. It is evaluated at
1460run-time and used only if
1461<parameter moreinfo="none">refentry.source.name.profile.enabled</parameter> is
1462non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
1463"hard coded" into the stylesheets is used.</para>
1464
1465<para>A "source name" is one part of a (potentially) two-part
1466<replaceable>Name</replaceable> <replaceable>Version</replaceable>
1467"source" field. In man pages, it is usually displayed in the left
1468footer of the page. The <literal moreinfo="none">man(7)</literal> man page describes
1469this as "the source of the command", and provides the following
1470examples:
1471<itemizedlist>
1472 <listitem>
1473 <para>For binaries, use something like: GNU, NET-2, SLS
1474 Distribution, MCC Distribution.</para>
1475 </listitem>
1476 <listitem>
1477 <para>For system calls, use the version of the kernel that you
1478 are currently looking at: Linux 0.99.11.</para>
1479 </listitem>
1480 <listitem>
1481 <para>For library calls, use the source of the function: GNU, BSD
1482 4.3, Linux DLL 4.4.1.</para>
1483 </listitem>
1484</itemizedlist>
1485</para>
1486
1487<para>In practice, there are many pages that simply have a Version
1488number in the "source" field. So, it looks like what we have is a
1489two-part field,
1490<replaceable>Name</replaceable> <replaceable>Version</replaceable>,
1491where:
1492<variablelist>
1493 <varlistentry>
1494 <term>Name</term>
1495 <listitem>
1496 <para>product name (e.g., BSD) or org. name (e.g., GNU)</para>
1497 </listitem>
1498 </varlistentry>
1499 <varlistentry>
1500 <term>Version</term>
1501 <listitem>
1502 <para>version number</para>
1503 </listitem>
1504 </varlistentry>
1505</variablelist>
1506Each part is optional. If the <replaceable>Name</replaceable> is a
1507product name, then the <replaceable>Version</replaceable> is probably
1508the version of the product. Or there may be no
1509<replaceable>Name</replaceable>, in which case, if there is a
1510<replaceable>Version</replaceable>, it is probably the version
1511of the item itself, not the product it is part of. Or, if the
1512<replaceable>Name</replaceable> is an organization name, then there
1513probably will be no <replaceable>Version</replaceable>.</para>
1514</refsect1>
1515</refentry>
1516
1517<refentry id="refentry.source.name.profile.enabled">
1518<refmeta>
1519<refentrytitle>refentry.source.name.profile.enabled</refentrytitle>
1520<refmiscinfo role="type">boolean</refmiscinfo>
1521</refmeta>
1522<refnamediv>
1523<refname>refentry.source.name.profile.enabled</refname>
1524<refpurpose>Enable refentry "source name" profiling?</refpurpose>
1525</refnamediv>
1526
1527<refsynopsisdiv>
1528<programlisting id="refentry.source.name.profile.enabled.frag">
1529&lt;xsl:param name="refentry.source.name.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
1530</refsynopsisdiv>
1531
1532<refsect1><title>Description</title>
1533
1534<para>If the value of
1535<parameter moreinfo="none">refentry.source.name.profile.enabled</parameter> is
1536non-zero, then during <tag>refentry</tag> metadata gathering, the info
1537profile specified by the customizable
1538<parameter moreinfo="none">refentry.source.name.profile</parameter> parameter is
1539used.</para>
1540
1541<para>If instead the value of
1542<parameter moreinfo="none">refentry.source.name.profile.enabled</parameter> is zero (the
1543default), then "hard coded" logic within the DocBook XSL stylesheets
1544is used for gathering <tag>refentry</tag> "source name" data.</para>
1545
1546<para>If you find that the default <tag>refentry</tag>
1547metadata-gathering behavior is causing incorrect "source name" data to
1548show up in your output, then consider setting a non-zero value for
1549<parameter moreinfo="none">refentry.source.name.profile.enabled</parameter> and
1550adjusting the value of
1551<parameter moreinfo="none">refentry.source.name.profile</parameter> to cause correct
1552data to be gathered. </para>
1553
1554<para>Note that the terms "source" and "source name" have special
1555meanings in this context. For details, see the documentation for the
1556<parameter moreinfo="none">refentry.source.name.profile</parameter> parameter.</para>
1557
1558</refsect1>
1559</refentry>
1560
1561<refentry id="refentry.version.suppress">
1562<refmeta>
1563<refentrytitle>refentry.version.suppress</refentrytitle>
1564<refmiscinfo role="type">boolean</refmiscinfo>
1565</refmeta>
1566<refnamediv>
1567<refname>refentry.version.suppress</refname>
1568<refpurpose>Suppress "version" part of refentry "source" contents?</refpurpose>
1569</refnamediv>
1570
1571<refsynopsisdiv>
1572<programlisting id="refentry.version.suppress.frag">
1573&lt;xsl:param name="refentry.version.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
1574</refsynopsisdiv>
1575
1576<refsect1><title>Description</title>
1577
1578<para>If the value of <parameter moreinfo="none">refentry.version.suppress</parameter>
1579is non-zero, then during <tag>refentry</tag> metadata gathering, no
1580"version" data is added to the <tag>refentry</tag> "source"
1581contents. Instead (unless
1582<parameter moreinfo="none">refentry.source.name.suppress</parameter> is also
1583non-zero), only "source name" data is added to the "source"
1584contents.</para>
1585
1586<para>If you find that the <tag>refentry</tag> metadata gathering
1587mechanism is causing unwanted "version" data to show up in your output
1588-- for example, in the footer (or possibly header) of a man page --
1589then you might consider setting a non-zero value for
1590<parameter moreinfo="none">refentry.version.suppress</parameter>.</para>
1591
1592<para>Note that the terms "source", "source name", and "version" have
1593special meanings in this context. For details, see the documentation
1594for the <parameter moreinfo="none">refentry.source.name.profile</parameter>
1595parameter.</para>
1596
1597</refsect1>
1598</refentry>
1599
1600<refentry id="refentry.version.profile">
1601<refmeta>
1602<refentrytitle>refentry.version.profile</refentrytitle>
1603<refmiscinfo role="type">string</refmiscinfo>
1604</refmeta>
1605<refnamediv>
1606<refname>refentry.version.profile</refname>
1607<refpurpose>Specifies profile for refentry "version" data</refpurpose>
1608</refnamediv>
1609
1610<refsynopsisdiv>
1611<programlisting id="refentry.version.profile.frag">
1612&lt;xsl:param name="refentry.version.profile"&gt;
1613 ($info/productnumber
1614 |$parentinfo/productnumber
1615 |$info/edition
1616 |$parentinfo/edition
1617 |$info/releaseinfo
1618 |$parentinfo/releaseinfo)[1]/node()
1619&lt;/xsl:param&gt;
1620</programlisting>
1621</refsynopsisdiv>
1622
1623<refsect1><title>Description</title>
1624
1625<para>The value of <parameter moreinfo="none">refentry.version.profile</parameter> is
1626a string representing an XPath expression. It is evaluated at
1627run-time and used only if
1628<parameter moreinfo="none">refentry.version.profile.enabled</parameter> is
1629non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
1630"hard coded" into the stylesheets is used.</para>
1631
1632<para>A "source.name" is one part of a (potentially) two-part
1633<replaceable>Name</replaceable> <replaceable>Version</replaceable>
1634"source" field. For more details, see the documentation for the
1635<parameter moreinfo="none">refentry.source.name.profile</parameter> parameter.</para>
1636
1637</refsect1>
1638</refentry>
1639
1640<refentry id="refentry.version.profile.enabled">
1641<refmeta>
1642<refentrytitle>refentry.version.profile.enabled</refentrytitle>
1643<refmiscinfo role="type">boolean</refmiscinfo>
1644</refmeta>
1645<refnamediv>
1646<refname>refentry.version.profile.enabled</refname>
1647<refpurpose>Enable refentry "version" profiling?</refpurpose>
1648</refnamediv>
1649
1650<refsynopsisdiv>
1651<programlisting id="refentry.version.profile.enabled.frag">
1652&lt;xsl:param name="refentry.version.profile.enabled"&gt;0&lt;/xsl:param&gt;</programlisting>
1653</refsynopsisdiv>
1654
1655<refsect1><title>Description</title>
1656
1657<para>If the value of
1658<parameter moreinfo="none">refentry.version.profile.enabled</parameter> is
1659non-zero, then during <tag>refentry</tag> metadata gathering, the info
1660profile specified by the customizable
1661<parameter moreinfo="none">refentry.version.profile</parameter> parameter is
1662used.</para>
1663
1664<para>If instead the value of
1665<parameter moreinfo="none">refentry.version.profile.enabled</parameter> is zero (the
1666default), then "hard coded" logic within the DocBook XSL stylesheets
1667is used for gathering <tag>refentry</tag> "version" data.</para>
1668
1669<para>If you find that the default <tag>refentry</tag>
1670metadata-gathering behavior is causing incorrect "version" data to show
1671up in your output, then consider setting a non-zero value for
1672<parameter moreinfo="none">refentry.version.profile.enabled</parameter> and adjusting
1673the value of <parameter moreinfo="none">refentry.version.profile</parameter> to cause
1674correct data to be gathered. </para>
1675
1676<para>Note that the terms "source" and "version" have special
1677meanings in this context. For details, see the documentation for the
1678<parameter moreinfo="none">refentry.version.profile</parameter> parameter.</para>
1679
1680</refsect1>
1681</refentry>
1682
1683<refentry id="refentry.manual.fallback.profile">
1684<refmeta>
1685<refentrytitle>refentry.manual.fallback.profile</refentrytitle>
1686<refmiscinfo role="type">string</refmiscinfo>
1687</refmeta>
1688<refnamediv>
1689<refname>refentry.manual.fallback.profile</refname>
1690<refpurpose>Specifies profile of "fallback" for refentry "manual" data</refpurpose>
1691</refnamediv>
1692
1693<refsynopsisdiv>
1694<programlisting id="refentry.manual.fallback.profile.frag">
1695&lt;xsl:param name="refentry.manual.fallback.profile"&gt;
1696refmeta/refmiscinfo[1]/node()&lt;/xsl:param&gt;
1697</programlisting>
1698</refsynopsisdiv>
1699
1700<refsect1><title>Description</title>
1701
1702<para>The value of
1703<parameter moreinfo="none">refentry.manual.fallback.profile</parameter> is a string
1704representing an XPath expression. It is evaluated at run-time and
1705used only if no "manual" data can be found by other means (that is,
1706either using the <tag>refentry</tag> metadata-gathering logic "hard
1707coded" in the stylesheets, or the value of
1708<parameter moreinfo="none">refentry.manual.profile</parameter>, if it is
1709enabled).</para>
1710
1711<important>
1712<para>Depending on which XSLT engine you run, either the EXSLT
1713<function moreinfo="none">dyn:evaluate</function> extension function (for xsltproc or
1714Xalan) or <function moreinfo="none">saxon:evaluate</function> extension function (for
1715Saxon) are used to dynamically evaluate the value of
1716<parameter moreinfo="none">refentry.manual.fallback.profile</parameter> at
1717run-time. If you don't use xsltproc, Saxon, Xalan -- or some other
1718XSLT engine that supports <function moreinfo="none">dyn:evaluate</function> -- you
1719must manually disable fallback processing by setting an empty value
1720for the <parameter moreinfo="none">refentry.manual.fallback.profile</parameter>
1721parameter.</para>
1722</important>
1723
1724</refsect1>
1725</refentry>
1726
1727<refentry id="refentry.source.fallback.profile">
1728<refmeta>
1729<refentrytitle>refentry.source.fallback.profile</refentrytitle>
1730<refmiscinfo role="type">string</refmiscinfo>
1731</refmeta>
1732<refnamediv>
1733<refname>refentry.source.fallback.profile</refname>
1734<refpurpose>Specifies profile of "fallback" for refentry "source" data</refpurpose>
1735</refnamediv>
1736
1737<refsynopsisdiv>
1738<programlisting id="refentry.source.fallback.profile.frag">
1739&lt;xsl:param name="refentry.source.fallback.profile"&gt;
1740refmeta/refmiscinfo[1]/node()&lt;/xsl:param&gt;
1741</programlisting>
1742</refsynopsisdiv>
1743
1744<refsect1><title>Description</title>
1745
1746<para>The value of
1747<parameter moreinfo="none">refentry.source.fallback.profile</parameter> is a string
1748representing an XPath expression. It is evaluated at run-time and used
1749only if no "source" data can be found by other means (that is, either
1750using the <tag>refentry</tag> metadata-gathering logic "hard coded" in
1751the stylesheets, or the value of the
1752<parameter moreinfo="none">refentry.source.name.profile</parameter> and
1753<parameter moreinfo="none">refentry.version.profile</parameter> parameters, if those
1754are enabled).</para>
1755
1756<important>
1757<para>Depending on which XSLT engine you run, either the EXSLT
1758<function moreinfo="none">dyn:evaluate</function> extension function (for xsltproc or
1759Xalan) or <function moreinfo="none">saxon:evaluate</function> extension function (for
1760Saxon) are used to dynamically evaluate the value of
1761<parameter moreinfo="none">refentry.source.fallback.profile</parameter> at
1762run-time. If you don't use xsltproc, Saxon, Xalan -- or some other
1763XSLT engine that supports <function moreinfo="none">dyn:evaluate</function> -- you
1764must manually disable fallback processing by setting an empty value
1765for the <parameter moreinfo="none">refentry.source.fallback.profile</parameter>
1766parameter.</para>
1767</important>
1768
1769</refsect1>
1770</refentry>
1771
1772 </reference>
1773 <reference id="th">
1774 <title>Page header/footer</title>
1775<refentry id="man.th.extra1.suppress">
1776<refmeta>
1777<refentrytitle>man.th.extra1.suppress</refentrytitle>
1778<refmiscinfo role="type">boolean</refmiscinfo>
1779</refmeta>
1780<refnamediv>
1781<refname>man.th.extra1.suppress</refname>
1782<refpurpose>Suppress extra1 part of header/footer?</refpurpose>
1783</refnamediv>
1784
1785<refsynopsisdiv>
1786<programlisting id="man.th.extra1.suppress.frag">
1787&lt;xsl:param name="man.th.extra1.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
1788</refsynopsisdiv>
1789
1790<refsect1><title>Description</title>
1791
1792<para>If the value of <parameter moreinfo="none">man.th.extra1.suppress</parameter> is
1793non-zero, then the <literal moreinfo="none">extra1</literal> part of the
1794<literal moreinfo="none">.TH</literal> title line header/footer is suppressed.</para>
1795
1796<para>The content of the <literal moreinfo="none">extra1</literal> field is almost
1797always displayed in the center footer of the page and is, universally,
1798a date.</para>
1799
1800</refsect1>
1801</refentry>
1802
1803<refentry id="man.th.extra2.suppress">
1804<refmeta>
1805<refentrytitle>man.th.extra2.suppress</refentrytitle>
1806<refmiscinfo role="type">boolean</refmiscinfo>
1807</refmeta>
1808<refnamediv>
1809<refname>man.th.extra2.suppress</refname>
1810<refpurpose>Suppress extra2 part of header/footer?</refpurpose>
1811</refnamediv>
1812
1813<refsynopsisdiv>
1814<programlisting id="man.th.extra2.suppress.frag">
1815&lt;xsl:param name="man.th.extra2.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
1816</refsynopsisdiv>
1817
1818<refsect1><title>Description</title>
1819
1820<para>If the value of <parameter moreinfo="none">man.th.extra2.suppress</parameter> is
1821non-zero, then the <literal moreinfo="none">extra2</literal> part of the
1822<literal moreinfo="none">.TH</literal> title line header/footer is suppressed.</para>
1823
1824<para>The content of the <literal moreinfo="none">extra2</literal> field is usually
1825displayed in the left footer of the page and is typically "source"
1826data, often in the form
1827<replaceable>Name</replaceable> <replaceable>Version</replaceable>;
1828for example, "GTK+ 1.2" (from the <literal moreinfo="none">gtk-options(7)</literal>
1829man page).</para>
1830
1831<note>
1832 <para>You can use the
1833 <parameter moreinfo="none">refentry.source.name.suppress</parameter> and
1834 <parameter moreinfo="none">refentry.version.suppress</parameter> parameters to
1835 independently suppress the <replaceable>Name</replaceable> and
1836 <replaceable>Version</replaceable> parts of the
1837 <literal moreinfo="none">extra2</literal> field.</para>
1838</note>
1839
1840</refsect1>
1841</refentry>
1842
1843<refentry id="man.th.extra3.suppress">
1844<refmeta>
1845<refentrytitle>man.th.extra3.suppress</refentrytitle>
1846<refmiscinfo role="type">boolean</refmiscinfo>
1847</refmeta>
1848<refnamediv>
1849<refname>man.th.extra3.suppress</refname>
1850<refpurpose>Suppress extra3 part of header/footer?</refpurpose>
1851</refnamediv>
1852
1853<refsynopsisdiv>
1854<programlisting id="man.th.extra3.suppress.frag">
1855&lt;xsl:param name="man.th.extra3.suppress"&gt;0&lt;/xsl:param&gt;</programlisting>
1856</refsynopsisdiv>
1857
1858<refsect1><title>Description</title>
1859
1860<para>If the value of <parameter moreinfo="none">man.th.extra3.suppress</parameter> is
1861non-zero, then the <literal moreinfo="none">extra3</literal> part of the
1862<literal moreinfo="none">.TH</literal> title line header/footer is
1863suppressed.</para>
1864
1865<para>The content of the <literal moreinfo="none">extra3</literal> field is usually
1866displayed in the middle header of the page and is typically a "manual
1867name"; for example, "GTK+ User's Manual" (from the
1868<literal moreinfo="none">gtk-options(7)</literal> man page).</para>
1869
1870</refsect1>
1871</refentry>
1872
1873<refentry id="man.th.title.max.length">
1874<refmeta>
1875<refentrytitle>man.th.title.max.length</refentrytitle>
1876<refmiscinfo role="type">integer</refmiscinfo>
1877</refmeta>
1878<refnamediv>
1879<refname>man.th.title.max.length</refname>
1880<refpurpose>Maximum length of title in header/footer</refpurpose>
1881</refnamediv>
1882
1883<refsynopsisdiv>
1884<programlisting id="man.th.title.max.length.frag">
1885&lt;xsl:param name="man.th.title.max.length"&gt;20&lt;/xsl:param&gt;
1886</programlisting>
1887</refsynopsisdiv>
1888
1889<refsect1><title>Description</title>
1890
1891<para>Specifies the maximum permitted length of the title part of the
1892man-page <literal moreinfo="none">.TH</literal> title line header/footer. If the title
1893exceeds the maxiumum specified, it is truncated down to the maximum
1894permitted length.</para>
1895
1896<refsect2>
1897 <title>Details</title>
1898
1899<para>Every man page generated using the DocBook stylesheets has a
1900title line, specified using the <literal moreinfo="none">TH</literal> roff
1901macro. Within that title line, there is always, at a minimum, a title,
1902followed by a section value (representing a man "section" -- usually
1903just a number).</para>
1904
1905<para>The title and section are displayed, together, in the visible
1906header of each page. Where in the header they are displayed depends on
1907OS the man page is viewed on, and on what version of nroff/groff/man
1908is used for viewing the page. But, at a minimum and across all
1909systems, the title and section are displayed on the right-hand column
1910of the header. On many systems -- those with a modern groff, including
1911Linux systems -- they are displayed twice: both in the left and right
1912columns of the header.</para>
1913
1914<para>So if the length of the title exceeds a certain percentage of
1915the column width in which the page is viewed, the left and right
1916titles can end up overlapping, making them unreadable, or breaking to
1917another line, which doesn't look particularly good.</para>
1918
1919<para>So the stylesheets provide the
1920<parameter moreinfo="none">man.th.title.max.length</parameter> parameter as a means
1921for truncating titles that exceed the maximum length that can be
1922viewing properly in a page header.</para>
1923
1924<para>The default value is reasonable but somewhat arbitrary. If you
1925have pages with long titles, you may want to experiment with changing
1926the value in order to achieve the correct aesthetic results.</para>
1927</refsect2>
1928
1929</refsect1>
1930</refentry>
1931
1932<refentry id="man.th.extra2.max.length">
1933<refmeta>
1934<refentrytitle>man.th.extra2.max.length</refentrytitle>
1935<refmiscinfo role="type">integer</refmiscinfo>
1936</refmeta>
1937<refnamediv>
1938<refname>man.th.extra2.max.length</refname>
1939<refpurpose>Maximum length of extra2 in header/footer</refpurpose>
1940</refnamediv>
1941
1942<refsynopsisdiv>
1943<programlisting id="man.th.extra2.max.length.frag">
1944&lt;xsl:param name="man.th.extra2.max.length"&gt;40&lt;/xsl:param&gt;
1945</programlisting>
1946</refsynopsisdiv>
1947
1948<refsect1><title>Description</title>
1949
1950<para>Specifies the maximum permitted length of the
1951<literal moreinfo="none">extra2</literal> part of the man-page part of the
1952<literal moreinfo="none">.TH</literal> title line header/footer. If the
1953<literal moreinfo="none">extra2</literal> content exceeds the maxiumum specified, it
1954is truncated down to the maximum permitted length.</para>
1955
1956<para>The content of the <literal moreinfo="none">extra2</literal> field is usually
1957displayed in the left footer of the page and is typically "source"
1958data, often in the form
1959<replaceable>Name</replaceable> <replaceable>Version</replaceable>;
1960for example, "GTK+ 1.2" (from the <literal moreinfo="none">gtk-options(7)</literal>
1961man page).</para>
1962
1963<para>The default value for this parameter is reasonable (perhaps too
1964liberal) but somewhat arbitrary. If you are processing pages with long
1965"source" infromation, you may want to experiment with changing the
1966value in order to achieve the correct aesthetic results.</para>
1967</refsect1>
1968</refentry>
1969
1970<refentry id="man.th.extra3.max.length">
1971<refmeta>
1972<refentrytitle>man.th.extra3.max.length</refentrytitle>
1973<refmiscinfo role="type">integer</refmiscinfo>
1974</refmeta>
1975<refnamediv>
1976<refname>man.th.extra3.max.length</refname>
1977<refpurpose>Maximum length of extra3 in header/footer</refpurpose>
1978</refnamediv>
1979
1980<refsynopsisdiv>
1981<programlisting id="man.th.extra3.max.length.frag">
1982&lt;xsl:param name="man.th.extra3.max.length"&gt;30&lt;/xsl:param&gt;
1983</programlisting>
1984</refsynopsisdiv>
1985
1986<refsect1><title>Description</title>
1987
1988<para>Specifies the maximum permitted length of the
1989<literal moreinfo="none">extra3</literal> part of the man-page <literal moreinfo="none">.TH</literal>
1990title line header/footer. If the <literal moreinfo="none">extra3</literal> content
1991exceeds the maxiumum specified, it is truncated down to the maximum
1992permitted length.</para>
1993
1994<para>The content of the <literal moreinfo="none">extra3</literal> field is usually
1995displayed in the middle header of the page and is typically a "manual
1996name"; for example, "GTK+ User's Manual" (from the
1997<literal moreinfo="none">gtk-options(7)</literal> man page).</para>
1998
1999<para>The default value for this parameter is reasonable but somewhat
2000arbitrary. If you are processing pages with long "manual names" -- or
2001especially if you are processing pages that have both long "title"
2002parts (command/function, etc. names) <emphasis>and</emphasis> long
2003manual names -- you may want to experiment with changing the value in
2004order to achieve the correct aesthetic results.</para>
2005</refsect1>
2006</refentry>
2007
2008 </reference>
2009 <reference id="other">
2010 <title>Other</title>
2011<refentry id="man.output.quietly">
2012<refmeta>
2013<refentrytitle>man.output.quietly</refentrytitle>
2014
2015</refmeta>
2016<refnamediv>
2017<refname>man.output.quietly</refname>
2018<refpurpose>Suppress filename messages emitted when generating output?</refpurpose>
2019</refnamediv>
2020
2021<refsynopsisdiv>
2022<programlisting id="man.output.quietly.frag">
2023&lt;xsl:param name="man.output.quietly" select="0"&gt;&lt;/xsl:param&gt;
2024</programlisting>
2025</refsynopsisdiv>
2026
2027<refsect1><title>Description</title>
2028
2029<para>If zero (the default), for each man-page file created, a message
2030with the name of the file is emitted. If non-zero, the files are
2031output "quietly" -- that is, the filename messages are
2032suppressed.</para>
2033
2034<tip>
2035 <para>If you are processing a large amount of <tag>refentry</tag>
2036 content, you may be able to speed up processing significantly by
2037 setting a non-zero value for
2038 <parameter moreinfo="none">man.output.quietly</parameter>.</para>
2039</tip>
2040
2041</refsect1>
2042</refentry>
2043
2044<refentry id="man.output.encoding">
2045<refmeta>
2046<refentrytitle>man.output.encoding</refentrytitle>
2047<refmiscinfo role="type">string</refmiscinfo>
2048</refmeta>
2049<refnamediv>
2050<refname>man.output.encoding</refname>
2051<refpurpose>Encoding used for man-page output</refpurpose>
2052</refnamediv>
2053
2054<refsynopsisdiv>
2055<programlisting id="man.output.encoding.frag">
2056&lt;xsl:param name="man.output.encoding" select="'UTF-8'"&gt;&lt;/xsl:param&gt;</programlisting>
2057</refsynopsisdiv>
2058
2059<refsect1><title>Description</title>
2060
2061<para>This parameter specifies the encoding to use for files generated
2062by the manpages stylesheet. Not all processors support specification
2063of this parameter.</para>
2064
2065<important>
2066 <para>If the value of the <parameter moreinfo="none">man.charmap.enabled</parameter>
2067 parameter is non-zero (the default), keeping the
2068 <parameter moreinfo="none">man.output.encoding</parameter> parameter at its default
2069 value (<literal moreinfo="none">UTF-8</literal>) or setting it to
2070 <literal moreinfo="none">UTF-16</literal> <emphasis role="bold">does not cause your
2071 man pages to be output in raw UTF-8 or UTF-16</emphasis> -- because
2072 any Unicode characters for which matches are found in the enabled
2073 character map will be replaced with roff escape sequences before the
2074 final man-page files are generated.</para>
2075
2076 <para>So if you want to generate "real" UTF-8 man pages, without any
2077 character substitution being performed on your content, you need to
2078 set <parameter moreinfo="none">man.charmap.enabled</parameter> to zero (which will
2079 completely disable character-map processing). </para>
2080
2081 <para>You may also need to set
2082 <parameter moreinfo="none">man.charmap.enabled</parameter> to zero if you want to
2083 output man pages in an encoding other than <literal moreinfo="none">UTF-8</literal>
2084 or <literal moreinfo="none">UTF-16</literal>. Character-map processing is based on
2085 Unicode character values and may not work with other output
2086 encodings.</para>
2087</important>
2088
2089</refsect1>
2090</refentry>
2091
2092<refentry id="man.subheading.divider.enabled">
2093<refmeta>
2094<refentrytitle>man.subheading.divider.enabled</refentrytitle>
2095<refmiscinfo role="type">string</refmiscinfo>
2096</refmeta>
2097<refnamediv>
2098<refname>man.subheading.divider.enabled</refname>
2099<refpurpose>Add divider comment to roff source before/after subheadings?</refpurpose>
2100</refnamediv>
2101
2102<refsynopsisdiv>
2103<programlisting id="man.subheading.divider.enabled.frag">
2104&lt;xsl:param name="man.subheading.divider.enabled"&gt;0&lt;/xsl:param&gt;
2105</programlisting>
2106</refsynopsisdiv>
2107
2108<refsect1><title>Description</title>
2109
2110<para>If the value of the
2111<parameter moreinfo="none">man.subheading.divider.enabled</parameter> parameter is
2112non-zero, the contents of the
2113<parameter moreinfo="none">man.subheading.divider</parameter> parameter are used to
2114add a "divider" before and after subheadings in the roff
2115output. <emphasis role="bold">The divider is not visisble in the
2116rendered man page</emphasis>; it is added as a comment, in the source,
2117simply for the purpose of increasing reability of the source.</para>
2118
2119<para>If <parameter moreinfo="none">man.subheading.divider.enabled</parameter> is zero
2120(the default), the subheading divider is suppressed.</para>
2121
2122</refsect1>
2123</refentry>
2124
2125<refentry id="man.subheading.divider">
2126<refmeta>
2127<refentrytitle>man.subheading.divider</refentrytitle>
2128<refmiscinfo role="type">string</refmiscinfo>
2129</refmeta>
2130<refnamediv>
2131<refname>man.subheading.divider</refname>
2132<refpurpose>Specifies string to use as divider comment before/after subheadings</refpurpose>
2133</refnamediv>
2134
2135<refsynopsisdiv>
2136<programlisting id="man.subheading.divider.frag">
2137&lt;xsl:param name="man.subheading.divider"&gt;========================================================================&lt;/xsl:param&gt;
2138</programlisting>
2139</refsynopsisdiv>
2140
2141<refsect1><title>Description</title>
2142
2143<para>If the value of the
2144<parameter moreinfo="none">man.subheading.divider.enabled</parameter> parameter is
2145non-zero, the contents of the
2146<parameter moreinfo="none">man.subheading.divider</parameter> parameter are used to
2147add a "divider" before and after subheadings in the roff
2148output. <emphasis role="bold">The divider is not visisble in the
2149rendered man page</emphasis>; it is added as a comment, in the source,
2150simply for the purpose of increasing reability of the source.</para>
2151
2152<para>If <parameter moreinfo="none">man.subheading.divider.enabled</parameter> is zero
2153(the default), the subheading divider is suppressed.</para>
2154
2155</refsect1>
2156</refentry>
2157
2158 </reference>
2159 <appendix id="stylesheet">
2160 <title>The Stylesheet</title>
2161
2162 <para>The <filename moreinfo="none">param.xsl</filename> stylesheet is just a
2163 wrapper around all of these parameters.</para>
2164
2165 <programlisting id="top">
2166&lt;xsl:stylesheet exclude-result-prefixes="src" version="1.0"&gt;
2167
2168&lt;!-- This file is generated from param.xweb; do not edit this file! --&gt;
2169
2170&lt;!-- ********************************************************************
2171 $Id: param.xweb,v 1.15 2005/07/13 03:57:50 xmldoc Exp $
2172 ********************************************************************
2173
2174 This file is part of the XSL DocBook Stylesheet distribution.
2175 See ../README or http://nwalsh.com/docbook/xsl/ for copyright
2176 and other information.
2177
2178 ******************************************************************** --&gt;
2179
2180&lt;src:fragref linkend="man.break.after.slash.frag"&gt;&lt;/src:fragref&gt;
2181&lt;src:fragref linkend="man.hyphenate.frag"&gt;&lt;/src:fragref&gt;
2182&lt;src:fragref linkend="man.hyphenate.urls.frag"&gt;&lt;/src:fragref&gt;
2183&lt;src:fragref linkend="man.hyphenate.filenames.frag"&gt;&lt;/src:fragref&gt;
2184&lt;src:fragref linkend="man.hyphenate.computer.inlines.frag"&gt;&lt;/src:fragref&gt;
2185&lt;src:fragref linkend="man.justify.frag"&gt;&lt;/src:fragref&gt;
2186&lt;src:fragref linkend="man.output.quietly.frag"&gt;&lt;/src:fragref&gt;
2187&lt;src:fragref linkend="man.output.encoding.frag"&gt;&lt;/src:fragref&gt;
2188&lt;src:fragref linkend="man.string.subst.map.frag"&gt;&lt;/src:fragref&gt;
2189&lt;src:fragref linkend="man.links.are.numbered.frag"&gt;&lt;/src:fragref&gt;
2190&lt;src:fragref linkend="man.links.are.underlined.frag"&gt;&lt;/src:fragref&gt;
2191&lt;src:fragref linkend="man.links.list.enabled.frag"&gt;&lt;/src:fragref&gt;
2192&lt;src:fragref linkend="man.links.list.heading.frag"&gt;&lt;/src:fragref&gt;
2193&lt;src:fragref linkend="man.charmap.enabled.frag"&gt;&lt;/src:fragref&gt;
2194&lt;src:fragref linkend="man.charmap.uri.frag"&gt;&lt;/src:fragref&gt;
2195&lt;src:fragref linkend="man.charmap.use.subset.frag"&gt;&lt;/src:fragref&gt;
2196&lt;src:fragref linkend="man.charmap.subset.profile.frag"&gt;&lt;/src:fragref&gt;
2197&lt;src:fragref linkend="man.subheading.divider.frag"&gt;&lt;/src:fragref&gt;
2198&lt;src:fragref linkend="man.subheading.divider.enabled.frag"&gt;&lt;/src:fragref&gt;
2199&lt;src:fragref linkend="refentry.date.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
2200&lt;src:fragref linkend="refentry.manual.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
2201&lt;src:fragref linkend="refentry.source.name.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
2202&lt;src:fragref linkend="refentry.version.profile.enabled.frag"&gt;&lt;/src:fragref&gt;
2203&lt;src:fragref linkend="refentry.source.name.suppress.frag"&gt;&lt;/src:fragref&gt;
2204&lt;src:fragref linkend="refentry.version.suppress.frag"&gt;&lt;/src:fragref&gt;
2205&lt;src:fragref linkend="refentry.date.profile.frag"&gt;&lt;/src:fragref&gt;
2206&lt;src:fragref linkend="refentry.manual.fallback.profile.frag"&gt;&lt;/src:fragref&gt;
2207&lt;src:fragref linkend="refentry.manual.profile.frag"&gt;&lt;/src:fragref&gt;
2208&lt;src:fragref linkend="refentry.source.fallback.profile.frag"&gt;&lt;/src:fragref&gt;
2209&lt;src:fragref linkend="refentry.source.name.profile.frag"&gt;&lt;/src:fragref&gt;
2210&lt;src:fragref linkend="refentry.version.profile.frag"&gt;&lt;/src:fragref&gt;
2211&lt;src:fragref linkend="man.th.title.max.length.frag"&gt;&lt;/src:fragref&gt;
2212&lt;src:fragref linkend="man.th.extra2.max.length.frag"&gt;&lt;/src:fragref&gt;
2213&lt;src:fragref linkend="man.th.extra3.max.length.frag"&gt;&lt;/src:fragref&gt;
2214&lt;src:fragref linkend="man.th.extra1.suppress.frag"&gt;&lt;/src:fragref&gt;
2215&lt;src:fragref linkend="man.th.extra2.suppress.frag"&gt;&lt;/src:fragref&gt;
2216&lt;src:fragref linkend="man.th.extra3.suppress.frag"&gt;&lt;/src:fragref&gt;
2217&lt;/xsl:stylesheet&gt;
2218 </programlisting>
2219
2220 </appendix>
2221</book>
Note: See TracBrowser for help on using the repository browser.