Move contact details inside <address> to make validator.w3.org happy.
[sgt/halibut] / doc / output.but
CommitLineData
0929484e 1\versionid $Id$
2
16ea3abe 3\C{output} Halibut output formats
4
339cbe09 5This chapter describes each of Halibut's current \i{output formats}.
6It gives some general information about the format, and also
7describes all the \i{configuration directives} which are specific to
8that format.
16ea3abe 9
10\H{output-text} Plain text
11
339cbe09 12This output format generates the document as a single \i{plain text}
9ec43d08 13file. No table of contents or index is generated.
16ea3abe 14
16ea3abe 15The precise formatting of the text file can be controlled by a
16variety of configuration directives. They are listed in the
17following subsections.
18
0a6347b4 19\S{output-text-file} Output file name
20
21\dt \I{\cw{\\cfg\{text-filename\}}}\cw{\\cfg\{text-filename\}\{}\e{filename}\cw{\}}
22
23\dd Sets the \i{output file name} in which to store the text file.
24This directive is implicitly generated if you provide a file name
25parameter after the command-line option \i\c{--text} (see
26\k{running-options}).
27
16ea3abe 28\S{output-text-dimensions} Indentation and line width
29
30This section describes the configuration directives which control
339cbe09 31the \i{horizontal dimensions} of the output text file: how much
16ea3abe 32paragraphs are indented by and how long the lines are.
33
339cbe09 34\dt \I{\cw{\\cfg\{text-width\}}}\cw{\\cfg\{text-width\}\{}\e{width}\cw{\}}
16ea3abe 35
339cbe09 36\dd Sets the \I{text width}width of the main part of the document,
37in characters. This width will be used for wrapping paragraphs and
38for centring titles (if you have asked for titles to be centred -
39see \k{output-text-headings}). This width does \e{not} include the
40left indentation set by \cw{\\cfg\{text-indent\}}; if you specify an
16ea3abe 41indent of 8 and a width of 64, your maximum output line length will
42be 72.
43
339cbe09 44\dt \I{\cw{\\cfg\{text-indent\}}}\cw{\\cfg\{text-indent\}\{}\e{indent}\cw{\}}
16ea3abe 45
339cbe09 46\dd Sets the left \i{indentation} for the document. If you set this
47to zero, your document will look like an ordinary text file as
48someone with a text editor might have written it; if you set it
49above zero, the text file will have a \i{margin} down the left in
50the style of some printed manuals, and you can then configure the
51section numbers to appear in this margin (see
52\k{output-text-headings}).
16ea3abe 53
339cbe09 54\dt \I{\cw{\\cfg\{text-indent-code\}}}\cw{\\cfg\{text-indent-code\}\{}\e{indent}\cw{\}}
16ea3abe 55
56\dd Specifies how many extra characters of indentation (on top of
339cbe09 57the normal left indent) should be given to \I{code paragraphs,
58indentation} code paragraphs.
16ea3abe 59
339cbe09 60\dt \I{\cw{\\cfg\{text-list-indent\}}}\cw{\\cfg\{text-list-indent\}\{}\e{indent}\cw{\}}
16ea3abe 61
62\dd Specifies how many extra spaces should be used to indent the
339cbe09 63bullet or number in a \I{bulletted list, indentation}bulletted or
64\I{numbered list, indentation}numbered \I{list, indentation}list.
65The actual body of the list item will be indented by this much
66\e{plus} the value configured by \cw{\\cfg\{text-listitem-indent\}}.
16ea3abe 67
339cbe09 68\dt \I{\cw{\\cfg\{text-listitem-indent\}}}\cw{\\cfg\{text-listitem-indent\}\{}\e{indent}\cw{\}}
16ea3abe 69
70\dd Specifies how many extra spaces should be used to indent the
71body of a list item, over and above the number configured in
72\cw{\\cfg\{text-list-indent\}}.
73
339cbe09 74\dt \I{\cw{\\cfg\{text-indent-preamble\}}}\cw{\\cfg\{text-indent-preamble\}\{}\e{boolean}\cw{\}}
16ea3abe 75
339cbe09 76\dd When this is set to \c{true}, the document \i{preamble} (i.e. any
16ea3abe 77paragraphs appearing before the first chapter heading) will be
78indented to the level specified by \cw{\\cfg\{text-indent\}}. If
79this setting is \c{false}, the document preamble will not be
80indented at all from the left margin.
81
339cbe09 82\S{output-text-headings} \ii{Configuring heading display}
16ea3abe 83
84The directives in this section allow you to configure the appearance
85of the title, chapter and section headings in your text file.
86
339cbe09 87Several of the directives listed below specify the \i{alignment} of
88a heading. These alignment options have three possible values:
16ea3abe 89
339cbe09 90\dt \i\c{left}
16ea3abe 91
92\dd Align the heading to the very left of the text file (column zero).
93
339cbe09 94\dt \i\c{leftplus}
16ea3abe 95
96\dd Align the section title to the left of the main display region
97(in other words, indented to the level specified by
98\cw{\\cfg\{text-indent\}}). The section \e{number} is placed to the
99left of that (so that it goes in the margin if there is room).
100
339cbe09 101\dt \i\c{centre}
16ea3abe 102
103\dd Centre the heading.
104
105Also, several of the directives below specify how a title should be
339cbe09 106\I{underlining}underlined. The parameter to one of these directives
db662ca1 107should be either blank (\cw{\{\}}) or a piece of text which will be
108repeated to produce the underline. So you might want to specify, for
109example, \cw{\\text-title-underline\{=\}} but
110\cw{\\text-chapter-underline\{\-\}}.
111
112You can also specify more than one underline setting, and Halibut
113will choose the first one that the output character set supports.
114So, for example, you could write
65f95f6c 115\cw{\\text-chapter-underline\{\\u203e\}\{\-\}}, and Halibut would use
db662ca1 116the Unicode \q{OVERLINE} character where possible and fall back to
117the ASCII minus sign otherwise.
16ea3abe 118
339cbe09 119\dt \I{\cw{\\cfg\{text-title-align\}}}\cw{\\cfg\{text-title-align\}\{}\e{alignment}\cw{\}}
16ea3abe 120
121\dd Specifies the alignment of the overall document title: \c{left},
122\c{leftplus} or \c{centre}.
123
bdc961c7 124\dt \I{\cw{\\cfg\{text-title-underline\}}}\cw{\\cfg\{text-title-underline\}\{}\e{underline-text}\cw{\}}
16ea3abe 125
126\dd Specifies how the overall document title should be underlined.
127
339cbe09 128\dt \I{\cw{\\cfg\{text-chapter-align\}}}\cw{\\cfg\{text-chapter-align\}\{}\e{alignment}\cw{\}}
16ea3abe 129
130\dd Specifies the alignment of chapter and appendix headings.
131
bdc961c7 132\dt \I{\cw{\\cfg\{text-chapter-underline\}}}\cw{\\cfg\{text-chapter-underline\}\{}\e{underline-text}\cw{\}}
16ea3abe 133
134\dd Specifies how chapter and appendix headings should be underlined.
135
339cbe09 136\dt \I{\cw{\\cfg\{text-chapter-numeric\}}}\cw{\\cfg\{text-chapter-numeric\}\{}\e{boolean}\cw{\}}
16ea3abe 137
138\dd If this is set to \c{true}, then chapter headings will not
139contain the word \q{Chapter} (or whatever other word you have
140defined in its place - see \k{input-sections} and \k{input-config});
141they will just contain the chapter \e{number}, followed by the
142chapter title. If you set this to \c{false}, chapter headings will
143be prefixed by \q{Chapter} or equivalent.
144
339cbe09 145\dt \I{\cw{\\cfg\{text-chapter-suffix\}}}\cw{\\cfg\{text-chapter-suffix\}\{}\e{text}\cw{\}}
16ea3abe 146
147\dd This specifies the suffix text to be appended to the chapter
148number, before displaying the chapter title. For example, if you set
b7747050 149this to \cq{:\_}, then the chapter title might look something
16ea3abe 150like \q{Chapter 2: Doing Things}.
151
339cbe09 152\dt \I{\cw{\\cfg\{text-section-align\}}}\cw{\\cfg\{text-section-align\}\{}\e{level}\cw{\}\{}\e{alignment}\cw{\}}
16ea3abe 153
154\dd Specifies the alignment of section headings at a particular
155level. The \e{level} parameter specifies which level of section
156headings you want to affect: 0 means first-level headings (\c{\\H}),
1571 means second-level headings (\c{\\S}), 2 means the level below
158that (\c{\\S2}), and so on. The \e{alignment} parameter is treated
159just like the other alignment directives listed above.
160
bdc961c7 161\dt \I{\cw{\\cfg\{text-section-underline\}}}\cw{\\cfg\{text-section-underline\}\{}\e{level}\cw{\}\{}\e{underline-text}\cw{\}}
16ea3abe 162
163\dd Specifies how to underline section headings at a particular level.
164
339cbe09 165\dt \I{\cw{\\cfg\{text-section-numeric\}}}\cw{\\cfg\{text-section-numeric\}\{}\e{level}\cw{\}\{}\e{boolean}\cw{\}}
16ea3abe 166
167\dd Specifies whether section headings at a particular level should
168contain the word \q{Section} or equivalent (if \c{false}), or should
169be numeric only (if \c{true}).
170
339cbe09 171\dt \I{\cw{\\cfg\{text-section-suffix\}}}\cw{\\cfg\{text-section-suffix\}\{}\e{level}\cw{\}\{}\e{text}\cw{\}}
16ea3abe 172
339cbe09 173\dd Specifies the \I{suffix text, in section titles}suffix text to
174be appended to section numbers at a particular level, before
175displaying the section title.
16ea3abe 176
db662ca1 177\S{output-text-characters} Configuring the characters used
178
6b4dfd74 179\dt \I\cw{\\cfg\{text-charset\}}\cw{\\cfg\{text-charset\}\{}\e{character set name}\cw{\}}
180
181\dd This tells Halibut what \i{character set} the output should be
182in. Any Unicode characters representable in this set will be output
183verbatim; any other characters will not be output and their
184\i{fallback text} (if any) will be used instead.
185
186\lcont{
187
188The character set names are the same as for
189\cw{\\cfg\{input-charset\}} (see \k{input-config}). However, unlike
190\cw{\\cfg\{input-charset\}}, this directive affects the \e{entire}
191output; it's not possible to switch encodings halfway through.
192
193}
194
db662ca1 195\dt \I{\cw{\\cfg\{text-bullet\}}}\cw{\\cfg\{text-bullet\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}...\cw{\}}]
196
197\dd This specifies the text which should be used as the \i{bullet}
198in bulletted lists. It can be one character
199(\cw{\\cfg\{text-bullet\}\{-\}}), or more than one
200(\cw{\\cfg\{text-bullet\}\{(*)\}}).
201
202\lcont{
203
6069815a 204Like \cw{\\cfg\{quotes\}} (see \k{input-config}), you can specify multiple
205possible options after this command, and Halibut will choose the first one
206which the output character set supports. For example, you might write
db662ca1 207\cw{\\cfg\{text-bullet\}\{\\u2022\}\{\\u00b7\}\{*\}}, in which case
208Halibut would use the Unicode \q{BULLET} character where possible,
209fall back to the ISO-8859-1 \q{MIDDLE DOT} if that wasn't available,
210and resort to the ASCII asterisk if all else failed.
211
212}
213
214\dt \I{\cw{\\cfg\{text-rule\}}}\cw{\\cfg\{text-rule\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}...\cw{\}}]
215
216\dd This specifies the text which should be used for drawing
217\i{horizontal rules} (generated by \i\c{\\rule}; see
218\k{input-rule}). It can be one character, or more than one. The
219string you specify will be repeated to reach the required width, so
b7747050 220you can specify something like \cq{-=} to get a rule that looks
db662ca1 221like \cw{-=-=-=}.
222
223\lcont{
224
225Like \cw{\\cfg\{text-bullet\}}, you can specify multiple fallback
226options in this command.
227
228}
229
230\dt \I{\cw{\\cfg\{text-quotes\}}}\cw{\\cfg\{text-quotes\}\{}\e{open-quote}\cw{\}\{}\e{close-quote}\cw{\}}[\cw{\{}\e{open-quote}\cw{\}\{}\e{close-quote}...\cw{\}}]
231
6069815a 232\dd This specifies a set of quote characters for the text backend,
233overriding any defined by \cw{\\cfg\{quotes\}}. It has the same syntax
234(see \k{input-config}).
db662ca1 235
236\lcont{
237
6069815a 238In this backend, these quotes will also be used to mark text enclosed
239in the \c{\\c} command (see \k{input-code}).
db662ca1 240
241}
242
243\dt \I{\cw{\\cfg\{text-emphasis\}}}\cw{\\cfg\{text-emphasis\}\{}\e{start-emph}\cw{\}\{}\e{end-emph}\cw{\}}[\cw{\{}\e{start-emph}\cw{\}\{}\e{end-emph}...\cw{\}}]
244
5b1d0032 245\dd This specifies the characters which should be used to surround
db662ca1 246emphasised text (written using the \c{\\e} command; see
247\k{input-emph}).
248
249\lcont{
250
251You should separately specify the start-emphasis and end-emphasis
252text, each of which can be more than one character if you want.
253Also, like \cw{\\cfg\{text-quotes\}}, you can specify multiple pairs
254of fallback options in this command, and Halibut will always use a
255matching pair.
256
257}
258
16ea3abe 259\S{output-text-misc} Miscellaneous configuration options
260
db662ca1 261\dt \I{\cw{\\cfg\{text-list-suffix\}}}\cw{\\cfg\{text-list-suffix\}\{}\e{text}\cw{\}}
262
263\dd This text is appended to the number on a \i{numbered list} item
264(see \k{input-list-number}). So if you want to label your lists as
265\q{1)}, \q{2)} and so on, then you would write
266\cw{\\cfg\{text-list-suffix\}\{)\}}.
267
339cbe09 268\dt \I{\cw{\\cfg\{text-versionid\}}}\cw{\\cfg\{text-versionid\}\{}\e{boolean}\cw{\}}
16ea3abe 269
339cbe09 270\dd If this is set to \c{true}, \i{version ID paragraphs} (defined
271using the \i\c{\\versionid} command - see \k{input-blurb}) will be
272included at the bottom of the text file. If it is set to \c{false},
273they will be omitted completely.
16ea3abe 274
16ea3abe 275\# FIXME: code indentation is configurable, therefore \quote
276\# indentation probably ought to be as well.
277
278\# FIXME: text-indent-* should be consistently named.
279
280\S{output-text-defaults} Default settings
281
339cbe09 282The \i{default settings} for Halibut's plain text output format are:
16ea3abe 283
0a6347b4 284\c \cfg{text-filename}{output.txt}
285\c
16ea3abe 286\c \cfg{text-width}{68}
287\c \cfg{text-indent}{7}
288\c \cfg{text-indent-code}{2}
289\c \cfg{text-list-indent}{1}
290\c \cfg{text-listitem-indent}{3}
291\c \cfg{text-indent-preamble}{false}
292\c
293\c \cfg{text-title-align}{centre}
db662ca1 294\c \cfg{text-title-underline}{\u2550}{=}
16ea3abe 295\c
296\c \cfg{text-chapter-align}{left}
db662ca1 297\c \cfg{text-chapter-underline}{\u203e}{-}
16ea3abe 298\c \cfg{text-chapter-numeric}{false}
299\c \cfg{text-chapter-suffix}{: }
300\c
301\c \cfg{text-section-align}{0}{leftplus}
302\c \cfg{text-section-underline}{0}{}
303\c \cfg{text-section-numeric}{0}{true}
304\c \cfg{text-section-suffix}{0}{ }
305\c
306\c \cfg{text-section-align}{1}{leftplus}
307\c \cfg{text-section-underline}{1}{}
308\c \cfg{text-section-numeric}{1}{true}
309\c \cfg{text-section-suffix}{1}{ }
310\c
311\c ... and so on for all section levels below this ...
312\e iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
db662ca1 313\c
6b4dfd74 314\c \cfg{text-charset}{ASCII}
db662ca1 315\c \cfg{text-bullet}{\u2022}{-}
316\c \cfg{text-rule}{\u2500}{-}
317\c \cfg{text-quotes}{\u2018}{\u2019}{`}{'}
318\c \cfg{text-emphasis}{_}{_}
319\c
320\c \cfg{text-list-suffix}{.}
321\c \cfg{text-versionid}{true}
16ea3abe 322
323\H{output-html} HTML
324
339cbe09 325This output format generates an \i{HTML} version of the document. By
16ea3abe 326default, this will be in multiple files, starting with
327\c{Contents.html} and splitting the document into files by chapter
328and/or subsection. You can configure precisely how the text is split
329between HTML files using the configuration commands described in
330this section. In particular, you can configure Halibut to output one
0a6347b4 331single HTML file instead of multiple ones.
16ea3abe 332
cb0b173d 333\I{\cw{\\cfg\{xhtml-anything\}}}Configuration directives with an
334\c{xhtml-} prefix are synonyms for those with an \c{html-} prefix.
16ea3abe 335
0a6347b4 336\S{output-html-file} Controlling the output file names
337
cb0b173d 338\dt \I{\cw{\\cfg\{html-contents-filename\}}}\cw{\\cfg\{html-contents-filename\}\{}\e{filename}\cw{\}}
0a6347b4 339
340\dd Sets the \i{output file name} in which to store the top-level
341contents page. Since this is the first page a user ought to see when
342beginning to read the document, a good choice in many cases might be
fc8e7adb 343\c{index.html} (although this is not the default, for historical
0a6347b4 344reasons).
345
cb0b173d 346\dt \I{\cw{\\cfg\{html-index-filename\}}}\cw{\\cfg\{html-index-filename\}\{}\e{filename}\cw{\}}
0a6347b4 347
348\dd Sets the file name in which to store the document's index.
349
cb0b173d 350\dt \I{\cw{\\cfg\{html-template-filename\}}}\cw{\\cfg\{html-template-filename\}\{}\e{template}\cw{\}}
0a6347b4 351
352\dd Provides a \i{template} to be used when constructing the file
353names of each chapter or section of the document. This template
354should contain at least one \i\e{formatting command}, in the form of
355a per cent sign followed by a letter. (If you need a literal per
356cent sign, you can write \c{%%}.)
357
358\lcont{
359
360The formatting commands used in this template are:
361
da090173 362\dt \I{%N-upper}\c{%N}
0a6347b4 363
364\dd Expands to the visible title of the section, with white space
b7747050 365removed. So in a chapter declared as \cq{\\C\{fish\} Catching
366Fish}, this formatting command would expand to
367\cq{CatchingFish}.
0a6347b4 368
369\dt \i\c{%n}
370
371\dd Expands to the type and number of the section, without white
b7747050 372space. So in chapter 1 this would expand to \cq{Chapter1}; in
373section A.4.3 it would expand to \cq{SectionA.4.3}, and so on.
0a6347b4 374If the section has no number (an unnumbered chapter created using
375\c{\\U}), this directive falls back to doing the same thing as
376\c{%N}.
377
378\dt \i\c{%b}
379
cb0b173d 380\dd Expands to the number of the section, in a format suitable for an
381HTML fragment name. The first character of the section type is
382prepended to the section number. So in chapter 1 this would expand to
383\cq{C1}; in section A.4.3 it would expand to \cq{SA.4.3}, and so on.
384If the section has no number (an unnumbered chapter created using
385\c{\\U}), this directive falls back to doing the same thing as \c{%N}.
0a6347b4 386
387\dt \i\c{%k}
388
389\dd Expands to the internal keyword specified in the section title.
b7747050 390So in a chapter declared as \cq{\\C\{fish\} Catching Fish}, this
391formatting command would expand to \cq{fish}. If the section has
0a6347b4 392no keyword (an unnumbered chapter created using \c{\\U}), this
393directive falls back to doing the same thing as \c{%N}.
394
395These formatting directives can also be used in the
cb0b173d 396\cw{\\cfg\{html-template-fragment\}} configuration directive (see
0a6347b4 397\k{output-html-misc}).
398
399}
400
cb0b173d 401\dt \I{\cw{\\cfg\{html-single-filename\}}}\cw{\\cfg\{html-single-filename\}\{}\e{filename}\cw{\}}
0a6347b4 402
403\dd Sets the file name in which to store the entire document, if
cb0b173d 404Halibut is configured (using \c{\\cfg\{html-leaf-level\}\{0\}} to
0a6347b4 405produce a single self-contained file. Both this directive \e{and}
cb0b173d 406\c{\\cfg\{html-leaf-level\}\{0\}} are implicitly generated if you
0a6347b4 407provide a file name parameter after the command-line option
408\i\c{--html} (see \k{running-options}).
409
16ea3abe 410\S{output-html-split} Controlling the splitting into HTML files
411
412By default, the HTML output from Halibut is split into multiple
413files. Each file typically contains a single chapter or section and
414everything below it, unless subsections of that chapter are
415themselves split off into further files.
416
417Most files also contain a contents section, giving hyperlinks to the
418sections in the file and/or the sections below it.
419
420The configuration directives listed below allow you to configure the
421splitting into files, and the details of the contents sections.
422
cb0b173d 423\dt \I{\cw{\\cfg\{html-leaf-level\}}}\cw{\\cfg\{html-leaf-level\}\{}\e{depth}\cw{\}}
16ea3abe 424
425\dd This setting indicates the depth of section which should be
339cbe09 426given a \I{leaf file}\q{leaf} file (a file with no sub-files). So if
427you set it to 1, for example, then every chapter will be given its
428own HTML file, plus a top-level \i{contents file}. If you set this
429to 2, then each chapter \e{and} each \c{\\H} section will have a
430file, and the chapter files will mostly just contain links to their
431\i{sub-file}s.
16ea3abe 432
433\lcont{
434
435If you set this option to zero, then the whole document will appear
436in a single file. If you do this, Halibut will call that file
cb0b173d 437\i\c{Manual.html} instead of \i\c{Contents.html} by default.
16ea3abe 438
0a6347b4 439This option is automatically set to zero if you provide a file name
440parameter after the command-line option \i\c{--html} (see
441\k{running-options}), because you have specified a single file name
442and so Halibut assumes you want the whole document to be placed in
443that file.
444
16ea3abe 445}
446
cb0b173d 447\dt \I{\cw{\\cfg\{html-contents-depth\}}}\cw{\\cfg\{html-contents-depth\}\{}\e{level}\cw{\}\{}\e{depth}\cw{\}}
16ea3abe 448
339cbe09 449\dd This directive allows you to specify how \I{depth of
cb0b173d 450contents}deep any contents section in a particular level of file
451should go.
16ea3abe 452
453\lcont{
454
455The \e{level} parameter indicates which level of contents section
456you are dealing with. 0 denotes the main contents section in the
457topmost file \c{Contents.html}; 1 denotes a contents section in a
458chapter file; 2 is a contents section in a file containing a \c{\\H}
cb0b173d 459heading, and so on.
16ea3abe 460
461The \e{depth} parameter indicates the maximum depth of heading which
462will be shown in this contents section. Again, 1 denotes a chapter,
4632 is a \c{\\H} heading, 3 is a \c{\\S} heading, and so on.
464
cb0b173d 465So, for example: \cw{\\cfg\{html-contents-depth\}\{1\}\{3\}} instructs
16ea3abe 466Halibut to put contents links in chapter files for all sections down
467to \c{\\S} level, but not to go into any more detail than that.
468
cb0b173d 469For backwards compatibility, the alternative syntax
470\cw{\\cfg\{html-contents-depth-}\e{level}\cw{\}\{}\e{depth}\cw{\}}
471is also supported.
16ea3abe 472
cb0b173d 473}
16ea3abe 474
cb0b173d 475\dt \I{\cw{\\cfg\{html-leaf-contains-contents\}}}\cw{\\cfg\{html-leaf-contains-contents\}\{}\e{boolean}\cw{\}}
16ea3abe 476
477\dd If you set this to \c{true}, then each leaf file will contain
478its own contents section which summarises the text within it.
479
cb0b173d 480\dt \I{\cw{\\cfg\{html-leaf-smallest-contents\}}}\cw{\\cfg\{html-leaf-smallest-contents\}\{}\e{number}\cw{\}}
16ea3abe 481
482\dd Contents sections in leaf files are not output at all if they
483contain very few entries (on the assumption that it just isn't worth
484bothering). This directive configures the minimum number of entries
485required in a leaf contents section to make Halibut bother
486generating it at all.
487
488\S{output-html-html} Including pieces of your own HTML
489
490The directives in this section allow you to supply pieces of
339cbe09 491\I{HTML}\i{verbatim HTML} code, which will be included in various
492parts of the output files.
16ea3abe 493
cb0b173d 494Note that none of Halibut's usual character set translation is applied
495to this code; it is assumed to already be in a suitable encoding for
496the target HTML files.
497
498\dt \I{\cw{\\cfg\{html-head-end\}}}\cw{\\cfg\{html-head-end\}\{}\e{HTML text}\cw{\}}
16ea3abe 499
500\dd The text you provide in this directive is placed at the end of
339cbe09 501the \i\cw{<HEAD>} section of each output HTML file. So this is a
502good place to put, for example, a link to a \i{CSS} \i{stylesheet}.
16ea3abe 503
cb0b173d 504\dt \I{\cw{\\cfg\{html-local-head\}}}\cw{\\cfg\{html-local-head\}\{}\e{HTML text}\cw{\}}
9acfce4f 505
506\dd This configuration directive is local: you specify it within a
507document section, and it acts on that section only.
508
509\lcont{
510
511The text you provide in this directive is placed at the end of the
512\i\cw{<HEAD>} section of whichever output HTML file contains the
513section in which the directive was placed. You can specify this
514directive multiple times in multiple sections if you like.
515
516This directive is particularly useful for constructing \i{MacOS
517on-line help}, which is mostly normal HTML but which requires a
518special \i\cw{<META NAME="AppleTitle">} tag in the topmost source
519file. You can arrange this by placing this configuration directive
520in the preamble or the introduction section, something like this:
521
522\c \cfg{html-local-head}{<meta name="AppleTitle"
523\c content="MyApp Help">}
524
525}
526
cb0b173d 527\dt \I{\cw{\\cfg\{html-body-tag\}}}\cw{\\cfg\{html-body-tag\}\{}\e{HTML text}\cw{\}}
16ea3abe 528
529\dd The text you provide in this directive is used in place of the
339cbe09 530\i\cw{<BODY>} tag in each output file. So if you wanted to define a
531\i{background colour}, for example, you could write
cb0b173d 532\cw{\\cfg\{html-body-tag\}\{<body bg="#123456">\}}.
16ea3abe 533
cb0b173d 534\dt \I{\cw{\\cfg\{html-body-start\}}}\cw{\\cfg\{html-body-start\}\{}\e{HTML text}\cw{\}}
16ea3abe 535
536\dd The text you provide in this directive is placed at the
339cbe09 537beginning of the \i\cw{<BODY>} section of each output HTML file. So
538if you intend your HTML files to be part of a web site with a
539standard \i{house style}, and the style needs a \i{header} at the
540top of every page, this is where you can add that header.
16ea3abe 541
cb0b173d 542\dt \I{\cw{\\cfg\{html-body-end\}}}\cw{\\cfg\{html-body-end\}\{}\e{HTML text}\cw{\}}
16ea3abe 543
339cbe09 544\dd The text you provide in this directive is placed at the end of
cb0b173d 545the \i\cw{<BODY>} section of each output HTML file, before any address
546section. So if you intend your HTML files to be part of a web site
547with a standard \i{house style}, and the style needs a \i{footer} at
548the bottom of every page, this is where you can add that footer.
16ea3abe 549
cb0b173d 550\dt \I{\cw{\\cfg\{html-address-start\}}}\cw{\\cfg\{html-address-start\}\{}\e{HTML text}\cw{\}}
16ea3abe 551
552\dd The text you provide in this directive is placed at the
339cbe09 553beginning of the \i\cw{<ADDRESS>} section at the bottom of each
554output HTML file. This might be a good place to put authors'
555\i{contact details}, for example.
16ea3abe 556
cb0b173d 557\dt \I{\cw{\\cfg\{html-address-end\}}}\cw{\\cfg\{html-address-end\}\{}\e{HTML text}\cw{\}}
16ea3abe 558
339cbe09 559\dd The text you provide in this directive is placed at the end of
560the \i\cw{<ADDRESS>} section at the bottom of each output HTML file,
561after the version IDs (if present).
16ea3abe 562
cb0b173d 563\dt \I{\cw{\\cfg\{html-navigation-attributes\}}}\cw{\\cfg\{html-navigation-attributes\}\{}\e{HTML attributes}\cw{\}}
16ea3abe 564
565\dd The text you provide in this directive is included inside the
339cbe09 566\cw{<P>} tag containing the \i{navigation links} at the top of each
567page (\i{\q{Previous}} / \i{\q{Contents}} / \i{\q{Next}}). So if you
568wanted the navigation links to have a particular CSS style, you
569could write
cb0b173d 570\cw{\\cfg\{html-navigation-attributes\}\{class="foo"\}}, and the
16ea3abe 571navigation-links paragraph would then begin with the tag \cw{<p
572class="foo">}.
573
339cbe09 574\S{output-html-headings} \ii{Configuring heading display}
16ea3abe 575
cb0b173d 576\dt \I{\cw{\\cfg\{html-chapter-numeric\}}}\cw{\\cfg\{html-chapter-numeric\}\{}\e{boolean}\cw{\}}
16ea3abe 577
578\dd If this is set to \c{true}, then chapter headings will not
579contain the word \q{Chapter} (or whatever other word you have
580defined in its place - see \k{input-sections} and \k{input-config});
581they will just contain the chapter \e{number}, followed by the
582chapter title. If you set this to \c{false}, chapter headings will
583be prefixed by \q{Chapter} or equivalent.
584
cb0b173d 585\dt \I{\cw{\\cfg\{html-chapter-suffix\}}}\cw{\\cfg\{html-chapter-suffix\}\{}\e{text}\cw{\}}
16ea3abe 586
587\dd This specifies the suffix text to be appended to the chapter
588number, before displaying the chapter title. For example, if you set
b7747050 589this to \cq{:\_}, then the chapter title might look something
16ea3abe 590like \q{Chapter 2: Doing Things}.
591
cb0b173d 592\dt \I{\cw{\\cfg\{html-section-numeric\}}}\cw{\\cfg\{html-section-numeric\}\{}\e{level}\cw{\}\{}\e{boolean}\cw{\}}
593
594\# {level} can be omitted (defaults to 0). Is this intentional?
16ea3abe 595
596\dd Specifies whether section headings at a particular level should
597contain the word \q{Section} or equivalent (if \c{false}), or should
598be numeric only (if \c{true}). The \e{level} parameter specifies
599which level of section headings you want to affect: 0 means
600first-level headings (\c{\\H}), 1 means second-level headings
601(\c{\\S}), 2 means the level below that (\c{\\S2}), and so on.
602
cb0b173d 603\dt \I{\cw{\\cfg\{html-section-suffix\}}}\cw{\\cfg\{html-section-suffix\}\{}\e{level}\cw{\}\{}\e{text}\cw{\}}
604
605\# {level} can be omitted (defaults to 0). Is this intentional?
16ea3abe 606
607\dd Specifies the suffix text to be appended to section numbers at a
608particular level, before displaying the section title.
609
cb0b173d 610\S{output-html-names} Configuring standard text
611
612These directives let you fine-tune the names Halibut uses in places
613such as the navigation bar to refer to various parts of the document,
614and other standard pieces of text, for instance to change them to a
615different language.
616
617\dt \I{\cw{\\cfg\{html-preamble-text\}}}\cw{\\cfg\{html-preamble-text\}\{}\e{text}\cw{\}}
618
619\dt \I{\cw{\\cfg\{html-contents-text\}}}\cw{\\cfg\{html-contents-text\}\{}\e{text}\cw{\}}
620
621\dt \I{\cw{\\cfg\{html-index-text\}}}\cw{\\cfg\{html-index-text\}\{}\e{text}\cw{\}}
622
623\dd Text used to refer to the preamble (i.e., any paragraphs before
624the first chapter heading), contents, and index respectively, in the
625navigation bar, contents, and index.
626
627\dt \I{\cw{\\cfg\{html-title-separator\}}}\cw{\\cfg\{html-title-separator\}\{}\e{text}\cw{\}}
628
629\dd If multiple headings are used in a file's \cw{<TITLE>} tag, this
630text is used to separate them.
631
632\# Under what circumstances can this occur?
633
634\dt \I{\cw{\\cfg\{html-index-main-separator\}}}\cw{\\cfg\{html-index-main-separator\}\{}\e{text}\cw{\}}
635
636\dd Separator between index term and references in the index.
637
638\dt \I{\cw{\\cfg\{html-index-multiple-separator\}}}\cw{\\cfg\{html-index-multiple-separator\}\{}\e{text}\cw{\}}
639
640\dd Separator between multiple references for a single index term in
641the index.
642
643\dt \I{\cw{\\cfg\{html-pre-versionid\}}}\cw{\\cfg\{html-pre-versionid\}\{}\e{text}\cw{\}}
644
645\dt \I{\cw{\\cfg\{html-post-versionid\}}}\cw{\\cfg\{html-post-versionid\}\{}\e{text}\cw{\}}
646
647\dd Text surrounding each output \i{version ID paragraph}.
648
649\dt \I{\cw{\\cfg\{html-nav-prev-text\}}}\cw{\\cfg\{html-nav-prev-text\}\{}\e{text}\cw{\}}
650
651\dt \I{\cw{\\cfg\{html-nav-next-text\}}}\cw{\\cfg\{html-nav-next-text\}\{}\e{text}\cw{\}}
652
653\dd The text used for the \q{previous page} and \q{next page} links on
654the navigation bar.
655
656\dt \I{\cw{\\cfg\{html-nav-separator\}}}\cw{\\cfg\{html-nav-separator\}\{}\e{text}\cw{\}}
657
658\dd Separator between links in the navigation bar.
659
660\S{output-html-characters} Configuring the characters used
661
662Unlike the other backends, HTML does not have a single
663\i\cw{\\cfg\{html-charset\}} directive, as there are several levels of
664character encoding to consider.
665
666The character set names are the same as for
667\cw{\\cfg\{input-charset\}} (see \k{input-config}). However, unlike
668\cw{\\cfg\{input-charset\}}, these directives affect the \e{entire}
669output; it's not possible to switch encodings halfway through.
670
671\dt \I\cw{\\cfg\{html-output-charset\}}\cw{\\cfg\{html-output-charset\}\{}\e{character set name}\cw{\}}
672
673\dd The character encoding of the HTML file to be output. Unicode
674characters in this encoding's repertoire are included literally rather
675than as \i{HTML entities}.
676
677\dt \I\cw{\\cfg\{html-restrict-charset\}}\cw{\\cfg\{html-restrict-charset\}\{}\e{character set name}\cw{\}}
678
679\dd Only Unicode characters representable in this character set will be
680output; any others will be omitted and use their fallback text, if
681any. Characters not in \q{html-output-charset} will be represented as
682HTML numeric entities.
683
684\dt \I{\cw{\\cfg\{html-quotes\}}}\cw{\\cfg\{html-quotes\}\{}\e{open-quote}\cw{\}\{}\e{close-quote}\cw{\}}[\cw{\{}\e{open-quote}\cw{\}\{}\e{close-quote}...\cw{\}}]
685
686\dd Specifies the quotation marks to use, overriding any
687\cw{\\cfg\{quotes\}} directive. You can specify multiple
688fallback options. Works exactly like the \cw{\\cfg\{text-quotes\}}
689directive (see \k{output-text-characters}).
690
16ea3abe 691\S{output-html-misc} Miscellaneous options
692
cb0b173d 693\dt \I\cw{\\cfg\{html-version\}}\cw{\\cfg\{html-version\}\{}\e{version}\cw{\}}
694
695\dd Identifies the precise version of HTML that is output. This
696affects the declaration within the HTML, and also has minor effects on
697the body of the HTML so that it is valid for the declare version. The
698available variants are:
699
700\lcont{
701
702\b \cw{html3.2}
703
704\b \cw{html4}
705
706\b \cw{iso-html}
707
708\b \cw{xhtml1.0transitional}
709
710\b \cw{xhtml1.0strict}
711
712}
713
714\dt \I{\cw{\\cfg\{html-template-fragment\}}}\cw{\\cfg\{html-template-fragment\}\{}\e{template}\cw{\}}
0a6347b4 715
716\dd This directive lets you specify a \i{template}, with exactly the
cb0b173d 717same syntax used in \cw{\\cfg\{html-template-filename\}} (see
fc8e7adb 718\k{output-html-file}), to be used for the anchor names (\i\cw{<A
719NAME="...">}) used to allow URLs to refer to specific sections
b7747050 720within a particular HTML file. So if you set this to \cq{%k},
fc8e7adb 721for example, then each individual section in your document will be
0a6347b4 722addressable by means of a URL ending in a \c{#} followed by your
723internal section keyword.
724
cb0b173d 725\lcont{
726
727Note that no checking is done that the anchor name is valid HTML. So
728if you use \cq{%k}, for example, you may need to restrict your use of
729keyword names.
730
731}
732
733\dt \I{\cw{\\cfg\{html-versionid\}}}\cw{\\cfg\{html-versionid\}\{}\e{boolean}\cw{\}}
16ea3abe 734
339cbe09 735\dd If this is set to \c{true}, \i{version ID paragraphs} (defined using
736the \i\c{\\versionid} command - see \k{input-blurb}) will be included
737visibly in the \i\cw{<ADDRESS>} section at the bottom of each HTML
cb0b173d 738file. If it is set to \c{false}, they will only be included as HTML
739comments.
16ea3abe 740
cb0b173d 741\dt \I{\cw{\\cfg\{html-suppress-address\}}}\cw{\\cfg\{html-suppress-address\}\{}\e{boolean}\cw{\}}
16ea3abe 742
339cbe09 743\dd If this is set to \c{true}, the \i\cw{<ADDRESS>} section at the
16ea3abe 744bottom of each HTML file will be omitted completely. (This will
cb0b173d 745therefore also cause \i{version IDs} not to be included visibly.)
16ea3abe 746
cb0b173d 747\dt \I{\cw{\\cfg\{html-author\}}}\cw{\\cfg\{html-author\}\{}\e{text}\cw{\}}
16ea3abe 748
339cbe09 749\dd The text supplied here goes in a \I{\cw{<META>} tags}\cw{<META
750name="author">} tag in the output HTML files, so that browsers which
751support this can automatically identify the \i{author} of the document.
16ea3abe 752
cb0b173d 753\dt \I{\cw{\\cfg\{html-description\}}}\cw{\\cfg\{html-description\}\{}\e{text}\cw{\}}
16ea3abe 754
339cbe09 755\dd The text supplied here goes in a \I{\cw{<META>} tags}\cw{<META
756name="description">} tag in the output HTML files, so that browsers
757which support this can easily pick out a brief \I{description, of
758document}description of the document.
16ea3abe 759
760\S{output-html-defaults} Default settings
761
339cbe09 762The \i{default settings} for Halibut's HTML output format are:
16ea3abe 763
cb0b173d 764\c \cfg{html-contents-filename}{Contents.html}
765\c \cfg{html-index-filename}{IndexPage.html}
766\c \cfg{html-template-filename}{%n.html}
767\c \cfg{html-single-filename}{Manual.html}
16ea3abe 768\c
cb0b173d 769\c \cfg{html-leaf-level}{2}
770\c \cfg{html-leaf-contains-contents}{false}
771\c \cfg{html-leaf-smallest-contents}{4}
772\c \cfg{html-contents-depth}{0}{2}
773\c \cfg{html-contents-depth}{1}{3}
774\c ... and so on for all section levels below this ...
775\e iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
16ea3abe 776\c
cb0b173d 777\c \cfg{html-head-end}{}
778\c \cfg{html-body-tag}{<body>}
779\c \cfg{html-body-start}{}
780\c \cfg{html-body-end}{}
781\c \cfg{html-address-start}{}
782\c \cfg{html-address-end}{}
783\c \cfg{html-navigation-attributes}{}
16ea3abe 784\c
cb0b173d 785\c \cfg{html-chapter-numeric}{false}
786\c \cfg{html-chapter-suffix}{: }
16ea3abe 787\c
cb0b173d 788\c \cfg{html-section-numeric}{0}{true}
789\c \cfg{html-section-suffix}{0}{ }
16ea3abe 790\c
cb0b173d 791\c \cfg{html-section-numeric}{1}{true}
792\c \cfg{html-section-suffix}{1}{ }
16ea3abe 793\c
794\c ... and so on for all section levels below this ...
795\e iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
cb0b173d 796\c
797\c \cfg{html-preamble-text}{Preamble}
798\c \cfg{html-contents-text}{Contents}
799\c \cfg{html-index-text}{Index}
800\c \cfg{html-title-separator}{ - }
801\c \cfg{html-index-main-separator}{: }
802\c \cfg{html-index-multiple-separator}{, }
803\c \cfg{html-pre-versionid}{[}
804\c \cfg{html-post-versionid}{]}
805\c \cfg{html-nav-prev-text}{Previous}
806\c \cfg{html-nav-next-text}{Next}
807\c \cfg{html-nav-separator}{ | }
808\c
809\c \cfg{html-output-charset}{ASCII}
810\c \cfg{html-restrict-charset}{UTF-8}
811\c \cfg{html-quotes}{\u2018}{\u2019}{"}{"}
812\c
813\c \cfg{html-version}{html4}
814\c \cfg{html-template-fragment}{%b}
815\c \cfg{html-versionid}{true}
816\c \cfg{html-suppress-address}{false}
817\c \cfg{html-author}{}
818\c \cfg{html-description}{}
16ea3abe 819
820\H{output-whlp} Windows Help
821
339cbe09 822This output format generates data that can be used by the \i{Windows
0a6347b4 823Help} program \cw{WINHELP.EXE}. There are two actual files
824generated, one ending in \c{.hlp} and the other ending in \c{.cnt}.
825
d93d6ec9 826Currently, the output is hardcoded to be in the \q{\i{Win1252}}
827character set. (If anyone knows how character sets are encoded in
828Windows Help, we'd appreciate help.)
6069815a 829
0a6347b4 830The Windows Help output format supports the following configuration
831directives:
832
6b4dfd74 833\S{output-whlp-file} Output file name
834
0a6347b4 835\dt \I{\cw{\\cfg\{winhelp-filename\}}}\cw{\\cfg\{winhelp-filename\}\{}\e{filename}\cw{\}}
836
837\dd Sets the \i{output file name} in which to store the man page.
838This directive is implicitly generated if you provide a file name
839parameter after the command-line option \i\c{--winhelp} (see
840\k{running-options}).
841
842\lcont{
843
844Your output file name should end with \c{.hlp}; if it doesn't,
845Halibut will append it. Halibut will also generate a contents file
846(ending in \c{.cnt}) alongside the file name you specify.
847
848}
16ea3abe 849
6b4dfd74 850\S{output-whlp-characters} Configuring the characters used
851
852\dt \I{\cw{\\cfg\{winhelp-bullet\}}}\cw{\\cfg\{winhelp-bullet\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}\cw{\}}...]
853
854\dd Specifies the text to use as the \i{bullet} in bulletted lists.
855You can specify multiple fallback options. Works exactly like the
856\cw{\\cfg\{text-bullet\}} directive (see
857\k{output-text-characters}).
858
859\dt \I{\cw{\\cfg\{winhelp-quotes\}}}\cw{\\cfg\{winhelp-quotes\}\{}\e{open-quote}\cw{\}\{}\e{close-quote}\cw{\}}[\cw{\{}\e{open-quote}\cw{\}\{}\e{close-quote}...\cw{\}}]
860
861\dd Specifies the quotation marks to use, overriding any
862\cw{\\cfg\{quotes\}} directive. You can specify multiple
863fallback options. Works exactly like the \cw{\\cfg\{text-quotes\}}
864directive (see \k{output-text-characters}).
865
866\S{output-whlp-misc} Miscellaneous configuration options
867
6069815a 868\dt \I{\cw{\\cfg\{winhelp-contents-titlepage\}}}\cw{\\cfg\{winhelp-contents-titlepage\}\{}\e{title}\cw{\}}
869
870\dd Sets the text used to describe the help page containing the blurb
871(see \k{input-blurb}) and table of contents.
872
873\dt
874\I{\cw{\\cfg\{winhelp-section-suffix\}}}\cw{\\cfg\{winhelp-section-suffix\}\{}\e{text}\cw{\}}
875
876\dd Specifies the \I{suffix text, in section titles}suffix text to
877be appended to section numbers, before displaying the section title.
878(Applies to all levels.)
879
880\dt \I{\cw{\\cfg\{winhelp-list-suffix\}}}\cw{\\cfg\{winhelp-list-suffix\}\{}\e{text}\cw{\}}
881
882\dd This text is appended to the number on a \i{numbered list} item,
883in exactly the same way as \cw{\\cfg\{text-list-suffix\}} (see
6069815a 884\k{output-text-characters}).
885
339cbe09 886\dt \I{\cw{\\cfg\{winhelp-topic\}}}\cw{\\cfg\{winhelp-topic\}\{}\e{topic-name}\cw{\}}
16ea3abe 887
339cbe09 888\dd This directive defines a Windows \i{Help topic} name in the current
16ea3abe 889section. Topic names can be used by the program invoking
890\cw{WINHELP.EXE} to jump straight to a particular section. So you
339cbe09 891can use this for \i{context-sensitive help}.
16ea3abe 892
893\lcont{
894
895For example, if you used this directive in a particular section:
896
897\c \cfg{winhelp-topic}{savingfiles}
898
899then a Windows application could invoke Windows Help to jump to that
900particular section in the help file like this:
901
902\c WinHelp(hwnd, "mydoc.hlp", HELP_COMMAND,
903\c (DWORD)"JI(`',`savingfiles')");
904
905You can use this configuration directive many times, in many
906different subsections of your document, in order to define a lot of
907different help contexts which you can use in this way.
908
909}
910
6b4dfd74 911\S{output-whlp-defaults} Default settings
912
0a6347b4 913The \i{default settings} for the Windows Help output format are:
914
915\c \cfg{winhelp-filename}{output.hlp}
6b4dfd74 916\c
917\c \cfg{winhelp-bullet}{\u2022}{-}
918\c \cfg{winhelp-quotes}{\u2018}{\u2019}{"}{"}
919\c
6069815a 920\c \cfg{winhelp-contents-titlepage}{Title page}
921\c \cfg{winhelp-section-suffix}{: }
922\c \cfg{winhelp-list-suffix}{.}
0a6347b4 923
924and no \c{\\cfg\{winhelp-topic\}} directives anywhere.
925
16ea3abe 926\H{output-man} Unix \cw{man} pages
927
339cbe09 928This output format generates a Unix \i{\cw{man} page}. That is to say,
929it generates \i\c{nroff} input designed to work with the \c{-mandoc}
16ea3abe 930macro package.
931
932The available configuration options for this format are as follows:
933
6b4dfd74 934\S{output-man-file} Output file name
935
0a6347b4 936\dt \I{\cw{\\cfg\{man-filename\}}}\cw{\\cfg\{man-filename\}\{}\e{filename}\cw{\}}
937
938\dd Sets the \i{output file name} in which to store the man page.
939This directive is implicitly generated if you provide a file name
940parameter after the command-line option \i\c{--man} (see
941\k{running-options}).
942
6b4dfd74 943\S{output-man-identity} Configuring headers and footers
944
339cbe09 945\dt \I{\cw{\\cfg\{man-identity\}}}\cw{\\cfg\{man-identity\}\{}\e{text}\cw{\}\{}\e{text...}\cw{\}}
16ea3abe 946
339cbe09 947\dd This directive is used to generate the initial \i{\c{.TH}
948directive} that appears at the top of a \cw{man} page. It expects to
949be followed by some number of brace pairs containing text, which will
950be used in the \i{headers} and \i{footers} of the formatted output.
16ea3abe 951
952\lcont{
953
954A traditional order for the arguments appears to be:
955
956\n The name of the program.
957
958\n The (numeric) manual section.
959
960\n The date that the \cw{man} page was written.
961
962\n The name of any containing suite of which the program is a part.
963
339cbe09 964\n The name of the \i{author} of the \cw{man} page.
16ea3abe 965
966For example, a typical \cw{man} page might contain
967
fc8e7adb 968\c \cfg{man-identity}{make-foo}{1}{June 2003}{foo-utils}{Fred
969\c Bloggs}
16ea3abe 970
971}
972
6b4dfd74 973\S{output-man-headings} Configuring heading display
974
339cbe09 975\dt \I{\cw{\\cfg\{man-headnumbers\}}}\cw{\\cfg\{man-headnumbers\}\{}\e{boolean}\cw{\}}
16ea3abe 976
339cbe09 977\dd If this is set to \c{true}, then \i{section headings} in the
978\cw{man} page will have their \i{section numbers} displayed as usual. If
16ea3abe 979set to \c{false}, the section numbers will be omitted. (\cw{man}
980pages traditionally have section names such as \q{SYNOPSIS},
981\q{OPTIONS} and \q{BUGS}, and do not typically number them, so
982\c{false} is the setting which conforms most closely to normal
983\cw{man} style.)
984
339cbe09 985\dt \I{\cw{\\cfg\{man-mindepth\}}}\cw{\\cfg\{man-mindepth\}\{}\e{depth}\cw{\}}
16ea3abe 986
987\dd If this is set to a number greater than 0, then section headings
988\e{higher} than the given depth will not be displayed. If it is set
989to zero, all section headings will be displayed as normal.
990
991\lcont{
992
993The point of this is so that you can use the same Halibut input file
994to generate a quick-reference \cw{man} page for a program, \e{and} to
995include that \cw{man} page as an appendix in your program's full manual.
996If you are to include the \cw{man} page as an appendix, then the internal
997headings within the page will probably need to be at \c{\\H} or
998\c{\\S} level; therefore, when you format that input file on its own
999to create the \cw{man} page itself, you will need to have defined a
1000\c{\\C} and possibly a \c{\\H} heading beforehand, which you don't
1001want to see displayed.
1002
1003Here's an example. You might have a file \c{appendix.but}, which
1004simply says
1005
1006\c \A{manpages} \cw{man} pages for the Foo tool suite
1007\c
1008\c \cfg{man-mindepth}{2}
1009
1010Then you have a file \c{make-foo.but}, and probably others like it
1011as well, each of which looks something like this:
1012
fc8e7adb 1013\c \cfg{man-identity}{make-foo}{1}{June 2003}{foo-utils}{Fred
1014\c Bloggs}
16ea3abe 1015\c
1016\c \H{man-foo} \cw{man} page for \c{make-foo}
1017\c
1018\c \S{man-foo-name} NAME
1019\c
1020\c \c{make-foo} - create Foo files for the Foo tool suite
1021\c
1022\c \S{man-foo-synopsis} SYNOPSIS
1023\c
1024\c ... and so on ...
1025\e iiiiiiiiiiiiiiiii
1026
1027So when you're generating your main manual, you can include
1028\c{appendix.but} followed by \c{make-foo.but} and any other \cw{man}
1029pages you have, and your \cw{man} pages will be formatted neatly as
1030part of an appendix. Then, in a separate run of Halibut, you can
1031just do
1032
1033\c halibut appendix.but make-foo.but
1034
1035and this will generate a \cw{man} page \c{output.1}, in which the
1036headings \q{\cw{man} pages for the Foo tool suite} and \q{\cw{man}
1037page for \c{make-foo}} will not be displayed because of the
1038\c{man-mindepth} directive. So the first visible heading in the
1039output \cw{man} page will be \q{NAME}, exactly as a user would
1040expect.
1041
1042}
1043
6b4dfd74 1044\S{output-man-characters} Configuring the characters used
1045
6069815a 1046\dt \I{\cw{\\cfg\{man-charset\}}}\cw{\\cfg\{man-charset\}\{}\e{character set}\cw{\}}
1047
1048\dd Specifies what character set the output should be in, similarly to
6b4dfd74 1049\cw{\\cfg\{text-charset\}} (see \k{output-text-characters}).
6069815a 1050
1051\# FIXME: you're probably on your own in making sure that it's
1052sensible to output man pages in that charset.
1053
1054\dt \I{\cw{\\cfg\{man-bullet\}}}\cw{\\cfg\{man-bullet\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}\cw{\}}...]
1055
1056\dd Specifies the text to use as the \i{bullet} in bulletted lists.
1057You can specify multiple fallback options. Works exactly like the
1058\cw{\\cfg\{text-bullet\}} directive (see \k{output-text-characters}).
1059
1060\dt \I{\cw{\\cfg\{man-quotes\}}}\cw{\\cfg\{man-quotes\}\{}\e{open-quote}\cw{\}\{}\e{close-quote}\cw{\}}[\cw{\{}\e{open-quote}\cw{\}\{}\e{close-quote}...\cw{\}}]
1061
1062\dd Specifies the quotation marks to use, overriding any
1063\cw{\\cfg\{quotes\}} directive. You can specify multiple
1064fallback options. Works exactly like the \cw{\\cfg\{text-quotes\}}
1065directive (see \k{output-text-characters}).
1066
6b4dfd74 1067\S{output-man-defaults} Default settings
1068
339cbe09 1069The \i{default settings} for the \cw{man} page output format are:
16ea3abe 1070
0a6347b4 1071\c \cfg{man-filename}{output.1}
6b4dfd74 1072\c
16ea3abe 1073\c \cfg{man-identity}{}
6b4dfd74 1074\c
16ea3abe 1075\c \cfg{man-headnumbers}{false}
1076\c \cfg{man-mindepth}{0}
6b4dfd74 1077\c
6069815a 1078\c \cfg{man-charset}{ASCII}
1079\c \cfg{man-bullet}{\u2022}{o}
1080\c \cfg{man-quotes}{\u2018}{\u2019}{"}{"}
43f61c25 1081
1082\H{output-info} GNU \c{info}
1083
1084This output format generates files which can be used with the \i{GNU
1085\c{info}} program.
1086
1087There are typically multiple output files: a primary file whose name
1088usually ends in \c{.info}, and one or more subsidiary files whose
1089names have numbers on the end, so that they end in \c{.info-1},
1090\c{.info-2} and so on. Alternatively, this output format can be
1091configured to output a single large file containing the whole
1092document.
1093
1094The \c{info} output format supports the following configuration
1095directives:
1096
6b4dfd74 1097\S{output-info-file} Controlling the output filenames
1098
43f61c25 1099\dt \I{\cw{\\cfg\{info-filename\}}}\cw{\\cfg\{info-filename\}\{}\e{filename}\cw{\}}
1100
1101\dd Sets the output file name in which to store the \c{info} file.
1102This directive is implicitly generated if you provide a file name
1103parameter after the command-line option \i\c{--info} (see
1104\k{running-options}).
1105
1106\lcont{
1107
1108The suffixes \c{-1}, \c{-2}, \c{-3} and so on will be appended to
1109your output file name to produce any subsidiary files required.
1110
1111Note that \c{info} files refer to their own names internally, so
1112these files cannot be \I{renaming \c{info} files}renamed after
1113creation and remain useful.
1114
1115}
1116
6b4dfd74 1117\dt \I{\cw{\\cfg\{info-max-file-size\}}}\cw{\\cfg\{info-max-file-size\}\{}\e{bytes}\cw{\}}
1118
1119\dd Sets the preferred \i{maximum file size} for each subsidiary
1120file. As a special case, if you set this to zero, there will be no
1121subsidiary files and the whole document will be placed in a single
1122self-contained output file. (However, note that this file can still
1123not be renamed usefully.)
1124
1125\lcont{
1126
1127The preferred maximum file size is only a guideline. Halibut may be
1128forced to exceed it if a single section of the document is larger
1129than the maximum size (since individual \c{info} nodes may not be
1130split between files).
1131
1132}
1133
1134\S{output-info-dimensions} Indentation and line width
1135
5b1d0032 1136\dt \I{\cw{\\cfg\{info-width\}}}\cw{\\cfg\{info-width\}\{}\e{width}\cw{\}}
1137
1138\dd Sets the \I{text width}width of the main part of the document,
1139in characters. Works exactly like the \cw{\\cfg\{text-width\}}
1140directive (see \k{output-text-dimensions}).
1141
1142\dt \I{\cw{\\cfg\{info-indent-code\}}}\cw{\\cfg\{info-indent-code\}\{}\e{indent}\cw{\}}
1143
1144\dd Specifies the extra indentation for \I{code paragraphs,
1145indentation} code paragraphs. Works exactly like the
1146\cw{\\cfg\{text-indent-code\}} directive (see
1147\k{output-text-dimensions}).
1148
1149\dt \I{\cw{\\cfg\{info-index-width\}}}\cw{\\cfg\{info-index-width\}\{}\e{width}\cw{\}}
1150
1151\dd Specifies how much horizontal space to leave in the index node
1152for the text of \i{index terms}, before displaying the sections the
1153terms occur in.
1154
1155\dt \I{\cw{\\cfg\{info-list-indent\}}}\cw{\\cfg\{info-list-indent\}\{}\e{indent}\cw{\}}
1156
1157\dd Specifies the extra indentation before the bullet or number in a
1158\I{bulletted list, indentation}\I{numbered list, indentation}list
1159item. Works exactly like the \cw{\\cfg\{text-list-indent\}}
1160directive (see \k{output-text-dimensions}).
1161
1162\dt \I{\cw{\\cfg\{info-listitem-indent\}}}\cw{\\cfg\{info-listitem-indent\}\{}\e{indent}\cw{\}}
1163
1164\dd Specifies the additional indentation before the body of a list
1165item. Works exactly like the \cw{\\cfg\{text-listitem-indent\}}
1166directive (see \k{output-text-dimensions}).
1167
6b4dfd74 1168\S{output-info-headings} Configuring heading display
6069815a 1169
5b1d0032 1170\dt \I{\cw{\\cfg\{info-section-suffix\}}}\cw{\\cfg\{info-section-suffix\}\{}\e{text}\cw{\}}
1171
1172\dd Specifies the suffix text to be appended to each section number
1173before displaying the section title. For example, if you set this to
b7747050 1174\cq{:\_}, then a typical section title might look something like
5b1d0032 1175\q{Section 3.1: Something Like This}.
1176
1177\dt \I{\cw{\\cfg\{info-underline\}}}\cw{\\cfg\{info-underline\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}\cw{\}}...]
1178
1179\dd Specifies the text to be used to underline section titles. Works
1180very much like the \cw{\\cfg\{text-chapter-underline\}} directive
1181(see \k{output-text-headings}). You can specify more than one
1182option, and Halibut will choose the first one supported by the
1183character set.
1184
6b4dfd74 1185\S{output-info-characters} Controlling the characters used
1186
1187\dt \I{\cw{\\cfg\{info-charset\}}}\cw{\\cfg\{info-charset\}\{}\e{character set}\cw{\}}
1188
1189\dd Specifies what character set the output should be in, similarly to
1190\cw{\\cfg\{text-charset\}} (see \k{output-text-characters}).
1191
1192\# FIXME: if you try sufficiently hard, you can probably find an
1193output encoding that will break the info format by trampling on its
1194special characters. So either don't do that, or tell us what we should
1195do about it.
1196
5b1d0032 1197\dt \I{\cw{\\cfg\{info-bullet\}}}\cw{\\cfg\{info-bullet\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}\cw{\}}...]
1198
1199\dd Specifies the text to use as the \i{bullet} in bulletted lists.
1200You can specify multiple fallback options. Works exactly like the
1201\cw{\\cfg\{text-bullet\}} directive (see
1202\k{output-text-characters}).
1203
1204\dt \I{\cw{\\cfg\{info-rule\}}}\cw{\\cfg\{info-rule\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}\cw{\}}...]
1205
1206\dd Specifies the text used to draw \i{horizontal rules}. You can
1207specify multiple fallback options. Works exactly like the
1208\cw{\\cfg\{text-rule\}} directive (see \k{output-text-characters}).
1209
1210\dt \I{\cw{\\cfg\{info-quotes\}}}\cw{\\cfg\{info-quotes\}\{}\e{open-quote}\cw{\}\{}\e{close-quote}\cw{\}}[\cw{\{}\e{open-quote}\cw{\}\{}\e{close-quote}...\cw{\}}]
1211
6069815a 1212\dd Specifies the quotation marks to use, overriding any
1213\cw{\\cfg\{quotes\}} directive. You can specify multiple
5b1d0032 1214fallback options. Works exactly like the \cw{\\cfg\{text-quotes\}}
1215directive (see \k{output-text-characters}).
1216
1217\dt \I{\cw{\\cfg\{info-emphasis\}}}\cw{\\cfg\{info-emphasis\}\{}\e{start-emph}\cw{\}\{}\e{end-emph}\cw{\}}[\cw{\{}\e{start-emph}\cw{\}\{}\e{end-emph}...\cw{\}}]
1218
1219\dd Specifies how to display emphasised text. You can specify
1220multiple fallback options. Works exactly like the
1221\cw{\\cfg\{text-emphasis\}} directive (see
1222\k{output-text-characters}).
1223
6b4dfd74 1224\S{output-info-misc} Miscellaneous configuration options
1225
5b1d0032 1226\dt \I{\cw{\\cfg\{info-list-suffix\}}}\cw{\\cfg\{info-list-suffix\}\{}\e{text}\cw{\}}
1227
1228\dd Specifies the text to append to the item numbers in a
1229\i{numbered list}. Works exactly like the
1230\cw{\\cfg\{text-list-suffix\}} directive (see
1231\k{output-text-misc}).
1232
43f61c25 1233\dt \I{\cw{\\cfg\{info-dir-entry\}}}\cw{\\cfg\{info-dir-entry\}\{}\e{section}\cw{\}\{}\e{short
1234name}\cw{\}\{}\e{long name}\cw{\}}[\cw{\{}\e{keyword}\cw{\}}]
1235
1236\dd Constructs an \i\cw{INFO-DIR-ENTRY} section and places it in the
1237header of the Info file. This mechanism is used to automatically
1238generate the \i{\c{dir} file} at the root of a Unix system's
1239\c{info} collection.
1240
1241\lcont{
1242
1243The parameters to this directive are:
1244
1245\dt \e{section}
1246
1247\dd Specifies the section of the \c{dir} file in which you want your
1248document referenced. For example, \q{Development}, or \q{Games}, or
1249\q{Miscellaneous}.
1250
1251\dt \e{short name}
1252
1253\dd Specifies a short name for the directory entry, which will
1254appear at the start of the menu line.
1255
1256\dt \e{long name}
1257
1258\dd Specifies a long name for the directory entry, which will appear
1259at the end of the menu line.
1260
1261\dt \e{keyword}
1262
1263\dd This parameter is optional. If it is present, then the directory
1264entry will cause a jump to a particular subsection of your document,
1265rather than starting at the top. The subsection will be the one
1266referred to by the given keyword (see \k{input-sections} for details
1267about assigning keywords to document sections).
1268
1269For example, in a document describing many game programs, the
1270configuration directive
1271
fc8e7adb 1272\c \cfg{info-dir-entry}{Games}{Chess}{Electronic chess
1273\c game}{chess}
43f61c25 1274
1275might produce text in the \c{dir} file looking something like this:
1276
1277\c Games
1278\c * Chess: (mygames)Chapter 3. Electronic chess game
1279
1280if the output file were called \c{mygames.info} and the keyword
1281\c{chess} had been used to define Chapter 3 of the document.
1282
1283}
0287083a 1284
6b4dfd74 1285\S{output-info-defaults} Default settings
1286
5b1d0032 1287The \i{default settings} for the \c{info} output format are:
1288
1289\c \cfg{info-filename}{output.info}
6b4dfd74 1290\c \cfg{info-max-file-size}{65536}
5b1d0032 1291\c
1292\c \cfg{info-width}{70}
1293\c \cfg{info-indent-code}{2}
1294\c \cfg{info-index-width}{40}
1295\c \cfg{info-list-indent}{1}
1296\c \cfg{info-listitem-indent}{3}
9ec43d08 1297\c
5b1d0032 1298\c \cfg{info-section-suffix}{: }
5b1d0032 1299\c \cfg{info-underline}{\u203e}{-}
6b4dfd74 1300\c
1301\c \cfg{info-charset}{ASCII}
5b1d0032 1302\c \cfg{info-bullet}{\u2022}{-}
1303\c \cfg{info-rule}{\u2500}{-}
1304\c \cfg{info-quotes}{\u2018}{\u2019}{`}{'}
1305\c \cfg{info-emphasis}{_}{_}
1306\c
1307\c \cfg{info-list-suffix}{.}
5b1d0032 1308
1309and no \cw{\\cfg\{info-dir-entry\}} directives.
1310
9ec43d08 1311\H{output-paper} Paper formats
1312
1313These output formats (currently PostScript and PDF) generate printable
1314manuals. As such, they share a number of configuration directives.
1315
1316\S{output-ps} \i{PostScript}
0287083a 1317
1318This output format generates a printable manual in PostScript format.
1319
9ec43d08 1320There is one configuration option specific to PostScript:
0287083a 1321
1322\dt \I{\cw{\\cfg\{ps-filename\}}}\cw{\\cfg\{ps-filename\}\{}\e{filename}\cw{\}}
1323
1324\dd Sets the \i{output file name} in which to store the PostScript
1325file. This directive is implicitly generated if you provide a file
1326name parameter after the command-line option \i\c{--ps} (see
1327\k{running-options}).
1328
1329The \i{default settings} for the PostScript output format are:
1330
1331\c \cfg{ps-filename}{output.ps}
1332
9ec43d08 1333\S{output-pdf} \i{PDF}
0287083a 1334
1335This output format generates a printable manual in PDF format. This
1336should look exactly identical to the PostScript output (see
1337\k{output-ps}), but also uses some PDF interactive features to
1338provide an outline of all the document's sections and clickable
1339cross-references between sections.
1340
9ec43d08 1341There is one configuration option specific to PDF:
0287083a 1342
1343\dt \I{\cw{\\cfg\{pdf-filename\}}}\cw{\\cfg\{pdf-filename\}\{}\e{filename}\cw{\}}
1344
1345\dd Sets the \i{output file name} in which to store the PDF file.
1346This directive is implicitly generated if you provide a file name
1347parameter after the command-line option \i\c{--pdf} (see
1348\k{running-options}).
1349
1350The \i{default settings} for the PDF output format are:
1351
1352\c \cfg{pdf-filename}{output.pdf}
9ec43d08 1353
1354\S{output-paper-dimensions} Configuring layout and \i{measurements}
1355
1356All measurements are in PostScript \i{points} (72 points to the inch).
1357
1358\S2{output-paper-pagesize} Page properties
1359
1360\dt \I{\cw{\\cfg\{paper-page-width\}}}\cw{\\cfg\{paper-page-width\}\{}\e{points}\cw{\}}
1361
1362\dt \I{\cw{\\cfg\{paper-page-height\}}}\cw{\\cfg\{paper-page-height\}\{}\e{points}\cw{\}}
1363
1364\dd Specify the absolute limits of the paper.
1365
1366\dt \I{\cw{\\cfg\{paper-left-margin\}}}\cw{\\cfg\{paper-left-margin\}\{}\e{points}\cw{\}}
1367
1368\dt \I{\cw{\\cfg\{paper-top-margin\}}}\cw{\\cfg\{paper-top-margin\}\{}\e{points}\cw{\}}
1369
1370\dt \I{\cw{\\cfg\{paper-right-margin\}}}\cw{\\cfg\{paper-right-margin\}\{}\e{points}\cw{\}}
1371
1372\dt \I{\cw{\\cfg\{paper-bottom-margin\}}}\cw{\\cfg\{paper-bottom-margin\}\{}\e{points}\cw{\}}
1373
1374\dd Specify the margins. Most text appears within these margins,
1375except:
1376
1377\lcont{
1378
1379\b Section numbers, which appear in the left margin.
1380
1381\b The footer (containing page numbers), which appears in the bottom
1382margin.
1383
1384}
1385
1386\S2{output-paper-line} Vertical spacing
1387
1388\dt \I{\cw{\\cfg\{paper-base-leading\}}}\cw{\\cfg\{paper-base-leading\}\{}\e{points}\cw{\}}
1389
1390\dd Specifies the amount of space between lines of text within a
1391paragraph. (So, if the font size is 12pt and there is 2pt of leading,
1392there will be 14pt between successive baselines.)
1393
1394\dt \I{\cw{\\cfg\{paper-base-para-spacing\}}}\cw{\\cfg\{paper-base-para-spacing\}\{}\e{points}\cw{\}}
1395
1396\dd Specifies the amount of vertical space between paragraphs. (The
1397vertical space between paragraphs does \e{not} include
1398\c{paper-base-leading}.)
1399
1400\S2{output-paper-indentation} Indentation
1401
1402\dt \I{\cw{\\cfg\{paper-list-indent\}}}\cw{\\cfg\{paper-list-indent\}\{}\e{points}\cw{\}}
1403
1404\dd Specifies the indentation of the bullet or number in a
1405\I{bulletted list, indentation}bulletted or \I{numbered list,
1406indentation}numbers \I{list, indentation}list, similarly to
1407\cw{\\cfg\{text-list-indent\}} (see \k{output-text-dimensions}).
1408
1409\dt \I{\cw{\\cfg\{paper-listitem-indent\}}}\cw{\\cfg\{paper-listitem-indent\}\{}\e{points}\cw{\}}
1410
1411\dd Specifies the \e{extra} indentation for the body of a list item,
1412over and above the amount configured in \cw{\\cfg\{paper-list-indent\}}.
1413
1414\# FIXME: doesn't actually work, AFAICT.
1415
1416\dt \I{\cw{\\cfg\{paper-quote-indent\}}}\cw{\\cfg\{paper-quote-indent\}\{}\e{points}\cw{\}}
1417
1418\dd Specifies the amount of indentation for a level of quoting. Used
1419for \cw{\\quote} (see \k{input-quote}) and code quotes with \cw{\\c}
1420(see \k{input-code}).
1421
1422\S2{output-paper-headings} Headings
1423
1424\dt \I{\cw{\\cfg\{paper-chapter-top-space\}}}\cw{\\cfg\{paper-chapter-top-space\}\{}\e{points}\cw{\}}
1425
ab7d6241 1426\dd Specifies the space between the top margin and the top of the
1427chapter heading. (Each chapter begins on a new page.)
9ec43d08 1428
1429\dt \I{\cw{\\cfg\{paper-chapter-underline-thickness\}}}\cw{\\cfg\{paper-chapter-underline-thickness\}\{}\e{points}\cw{\}}
1430
1431\dd Specifies the vertical thickness of the black rule under chapter
1432headings.
1433
1434\dt \I{\cw{\\cfg\{paper-chapter-underline-depth\}}}\cw{\\cfg\{paper-chapter-underline-depth\}\{}\e{points}\cw{\}}
1435
1436\dd Specifies the distance between the base of the chapter heading and
1437the \e{base} of the underlying rule.
1438
1439\dt \I{\cw{\\cfg\{paper-sect-num-left-space\}}}\cw{\\cfg\{paper-sect-num-left-space\}\{}\e{points}\cw{\}}
1440
1441\dd Specifies the distance between the left margin and the \e{right}
1442of section numbers (which are in the left margin).
1443
1444\S2{output-paper-index} Contents and index
1445
1446\dt \I{\cw{\\cfg\{paper-contents-index-step\}}}\cw{\\cfg\{paper-contents-index-step\}\{}\e{points}\cw{\}}
1447
1448\dt \I{\cw{\\cfg\{paper-contents-margin\}}}\cw{\\cfg\{paper-contents-margin\}\{}\e{points}\cw{\}}
1449
1450\# FIXME: I do not know what dees one does. (I couldn't get either of
1451them to do anything obvious, although the source indicates they should
1452do something.)
1453
1454\dt \I{\cw{\\cfg\{paper-leader-separation\}}}\cw{\\cfg\{paper-leader-separation\}\{}\e{points}\cw{\}}
1455
1456\dd Specifies the horizontal spacing between dots in \i\e{leaders}
1457(the dotted lines that appear between section headings and page
1458numbers in the table of contents).
1459
1460\dt \I{\cw{\\cfg\{paper-footer-distance\}}}\cw{\\cfg\{paper-footer-distance\}\{}\e{points}\cw{\}}
1461
1462\dd Specifies the distance between the bottom margin and the \e{base}
1463of the footer (which contains page numbers).
1464
1465\dt \I{\cw{\\cfg\{paper-index-columns\}}}\cw{\\cfg\{paper-index-columns\}\{}\e{columns}\cw{\}}
1466
1467\dd Specifies the number of columns the index should be divided into.
1468
1469\# FIXME: with this set to 1, the right-alignment of some index entry
1470page numbers in the Halibut manual is decidedly wonky.
1471
1472\dt \I{\cw{\\cfg\{paper-index-gutter\}}}\cw{\\cfg\{paper-index-gutter\}\{}\e{points}\cw{\}}
1473
1474\dd Specifies the amount of \I{gutter} horizontal space between index
1475columns.
1476
1477\dt \I{\cw{\\cfg\{paper-index-minsep\}}}\cw{\\cfg\{paper-index-minsep\}\{}\e{points}\cw{\}}
1478
1479\dd Specifies the minimum allowable horizontal space between an index
1480entry and its page number. If the gap is smaller, the page number is
1481moved to the next line.
1482
1483\S2{output-paper-fonts} Fonts
1484
1485\dt \I{\cw{\\cfg\{paper-base-font-size\}}}\cw{\\cfg\{paper-base-font-size\}\{}\e{points}\cw{\}}
1486
1487\dd Specifies the font size of body text.
1488
1489\# FIXME: actually, this doesn't appear to do anything at all - most
1490font sizes are still hardcoded.
1491
1492\dt \I{\cw{\\cfg\{paper-pagenum-font-size\}}}\cw{\\cfg\{paper-pagenum-font-size\}\{}\e{points}\cw{\}}
1493
1494\dd Specifies the font size to use for page numbers.
1495
1496\S2{output-paper-misc} Miscellaneous
1497
1498\dt \I{\cw{\\cfg\{paper-rule-thickness\}}}\cw{\\cfg\{paper-rule-thickness\}\{}\e{points}\cw{\}}
1499
1500\dd Specifies the vertical thickness of the rule produced by the
1501\cw{\\rule} command (see \k{input-rule}). (Note that no extra space is
1502reserved for thicker rules.)
1503
1504\S{output-paper-characters} Configuring the characters used
1505
1506\dt \I{\cw{\\cfg\{paper-bullet\}}}\cw{\\cfg\{paper-bullet\}\{}\e{text}\cw{\}}[\cw{\{}\e{text}\cw{\}}...]
1507
1508\dd Specifies the text to use as the \i{bullet} in bulletted lists.
1509You can specify multiple fallback options. Works exactly like the
1510\cw{\\cfg\{text-bullet\}} directive (see
1511\k{output-text-characters}).
1512
1513\dt \I{\cw{\\cfg\{paper-quotes\}}}\cw{\\cfg\{paper-quotes\}\{}\e{open-quote}\cw{\}\{}\e{close-quote}\cw{\}}[\cw{\{}\e{open-quote}\cw{\}\{}\e{close-quote}...\cw{\}}]
1514
1515\dd Specifies the quotation marks to use, overriding any
1516\cw{\\cfg\{quotes\}} directive. You can specify multiple
1517fallback options. Works exactly like the \cw{\\cfg\{text-quotes\}}
1518directive (see \k{output-text-characters}).
1519
1520\S{output-paper-defaults} Default settings for paper formats
1521
1522The default page size corresponds to 210\_\u00D7{x}\_297\_mm, i.e.,
1523\i{A4 paper}.
1524
1525\c \cfg{paper-page-width}{595}
1526\c \cfg{paper-page-height}{841}
1527\c
1528\c \cfg{paper-left-margin}{72}
1529\c \cfg{paper-top-margin}{72}
1530\c \cfg{paper-right-margin}{72}
1531\c \cfg{paper-bottom-margin}{108}
1532\c
1533\c \cfg{paper-base-leading}{1}
1534\c \cfg{paper-base-para-spacing}{10}
1535\c
1536\c \cfg{paper-list-indent}{6}
1537\c \cfg{paper-listitem-indent}{18}
1538\c \cfg{paper-quote-indent}{18}
1539\c
1540\c \cfg{paper-chapter-top-space}{72}
1541\c \cfg{paper-chapter-underline-thickness}{3}
1542\c \cfg{paper-chapter-underline-depth}{14}
1543\c \cfg{paper-sect-num-left-space}{12}
1544\c
1545\c \cfg{paper-contents-index-step}{24}
1546\c \cfg{paper-contents-margin}{84}
1547\c \cfg{paper-leader-separation}{12}
1548\c \cfg{paper-footer-distance}{32}
1549\c \cfg{paper-index-columns}{2}
1550\c \cfg{paper-index-gutter}{36}
1551\c \cfg{paper-index-minsep}{18}
1552\c
1553\c \cfg{paper-base-font-size}{12}
1554\c \cfg{paper-pagenum-font-size}{12}
1555\c
1556\c \cfg{paper-rule-thickness}{1}
1557\c
1558\c \cfg{paper-bullet}{\u2022}{-}
1559\c \cfg{paper-quotes}{\u2018}{\u2019}{'}{'}