Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / groff / contrib / mom / momdoc / headfootpage.html
1 <html>
2 <head>
3 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
4 <title>Mom -- Document processing: headers, footers and pagination</title>
5 </head>
6 <body bgcolor="#dfdfdf">
7
8 <!====================================================================>
9
10 <a href="rectoverso.html#TOP">Next</a>&nbsp;&nbsp;
11 <a href="docelement.html#TOP">Prev</a>&nbsp;&nbsp;
12 <a href="toc.html">Back to Table of Contents</a>
13
14 <a name="TOP"></a>
15 <a name="HEADFOOTPAGE">
16         <h2 align="center"><u>DOCUMENT HEADERS, FOOTERS, AND PAGINATION</u></h2>
17 </a>
18
19 <ul>
20         <li><a href="#HEADFOOTPAGE_INTRO">Introduction -- VERY IMPORTANT; read me!</a>
21         <ul>
22                 <li><a href="#PAGINATION_NOTE">An important note on pagination</a>
23         </ul>
24         <li><a href="#DESCRIPTION_GENERAL">General description of headers/footers</a>
25         <li><a href="#HEADER_STYLE">Default specs for headers/footers</a>
26         <li><a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>
27         <li><a href="#HEADFOOT_MANAGEMENT">Managing headers/footers</a>
28         <ul>
29                 <li><a href="#HEADERS">HEADERS</a> -- on or off
30                 <li><a href="#FOOTERS">FOOTERS</a> -- on or off
31                 <li><a href="#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a>
32                 <li><a href="#USERDEF_HDRFTR">User-defined, single string recto/verso headers/footers</a>
33                 <ul>
34                         <li><a href="#USERDEF_HDRFTR_INTRO">Introduction</a>
35                         <li><a href="#HDRFTR_RECTOVERSO">HEADER_RECTO, HEADER_VERSO</a>
36                 </ul>
37         </ul>
38         <li><a href="#HEADFOOT_CONTROL">Control macros for headers/footers</a>
39         <ul>
40                 <li><a href="#HDRFTR_STRINGS">Header/footer strings</a>
41                 <li><a href="#HDRFTR_STYLE">Header/footer style</a>
42                 <ul>
43                         <li><a href="#HDRFTR_STYLE_GLOBAL">Global style control</a>
44                         <li><a href="#HDRFTR_STYLE_PART">Part-by-part style control</a>
45                 </ul>
46                 <li><a href="#HDRFTR_VERTICAL">Vertical placement and spacing of headers/footers</a>
47                 <ul>
48                         <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>
49                         <li><a href="#HDRFTR_GAP">HEADER_GAP</a>
50                 </ul>
51                 <li><a href="#HDRFTR_SEPARATOR">The header/footer separator rule</a>
52                 <ul>
53                         <li><a href="#HDRFTR_RULE">HEADER_RULE</a> -- on or off
54                         <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> -- distance of rule from header/footer
55                 </ul>
56         </ul>
57         <li><a href="#PAGINATION">Pagination</a>
58         <ul>
59             <li><a href="#INDEX_PAGINATION">Pagination control macros</a>
60         </ul>
61 </ul>
62
63 <a name="HEADFOOTPAGE_INTRO">
64         <h2><u>Introduction</u></h2>
65 </a>
66
67 <p>
68 <a href="definitions.html#TERMS_HEADER">Headers</a>
69 and
70 <a href="definitions.html#TERMS_FOOTER">footers</a>,
71 as defined in the section
72 <a href="definitions.html#TERMS_MOM">Mom's Document Processing Terms</a>,
73 are those parts of a document that contain information about the document
74 itself which appear in the margins either above or below
75 <a href="definitions.html#TERMS_RUNNING">running text</a>.
76 They are, in all respects but two, identical.  The differences are:
77 <p>
78 <ol>
79         <li>headers appear in the margin <em>above</em> running text while
80                 footers appear in the margin <em>beneath</em> running text;
81         <li>the (optional) rule that separates headers from running
82                 text appears <em>below</em> the header while
83                 the (optional) rule that separates footers from running
84                 text appears <em>above</em> the footer.
85 </ol>
86 <a name="HEADERFOOTER"></a>
87 <p>
88 Because headers and footers are virtually identical, this
89 documentation addresses itself only to headers.  In all cases,
90 unless otherwise noted, descriptions of headers
91 describe footers as well.
92 <p>
93 Furthermore, any
94 <a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
95 that begins with <strong>HEADER_</strong> may be used to control
96 footers, simply by replacing <strong>HEADER_</strong> with
97 <strong>FOOTER_</strong>.
98 <p>
99 <strong>Author's note:</strong> Left to their own devices (i.e. if
100 you're happy with the way <strong>mom</strong> does things by default),
101 headers are something you never have to worry about.  You can skip
102 reading this section entirely.  But if you want to change them, be
103 advised that headers have more macros to control their appearance than
104 any other document element.  The text of this documentation becomes
105 correspondingly dense at this point.
106 <a name="PAGINATION_NOTE"></a>
107 <p>
108 <strong>NOTE:</strong> While the single page number that
109 <strong>mom</strong> generates in either the top or bottom margin
110 above or below running text is technically a kind of header/footer,
111 <strong>mom</strong> and this documentation treat it as a
112 separate page element.
113
114 <a name="DESCRIPTION_GENERAL"><h3><u>General description of headers/footers</u></h3></a>
115 <p>
116 Headers comprise three distinct parts: a left part, a center part,
117 and a right part.  Each part contains text (a &quot;string&quot;)
118 that identifies some aspect of the document as a whole.
119 <p>
120 The left part (&quot;header left&quot;) lines up with the document's
121 left margin.  The center part (&quot;header center&quot;) is
122 centered on the document's line length.  The right part (&quot;header
123 right&quot;) lines up with the document's right margin.  Not all parts
124 need contain a string, and if you don't want headers at all, you can
125 turn them off completely.
126 <p>
127 <strong>A note to groff experts:</strong> Although
128 <strong>mom</strong>'s headers resemble the three-part titles generated
129 by <code>.tl</code>, they're in no way related to it, nor based
130 upon it.  <code>.tl</code> is not used at all in <strong>mom</strong>.
131 <p>
132 Normally, <strong>mom</strong> fills headers with strings appropriate
133 to the document type selected with
134 <a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.
135 You can, however, supply whatever strings you like -- including page
136 numbers -- to go in any part of headers.  What's more, you can set the
137 family, font, size and capitalisation style (caps or caps/lower-case)
138 for each header part individually.
139 <p>
140 By default, <strong>mom</strong> prints a horizontal rule beneath
141 headers to separate them visually from running text.  In the case of
142 footers, the rule is <em>above</em> running text.  You can increase
143 or decrease the space between the header and the rule if you like (with
144 <a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a>),
145 or remove it completely.
146
147 <a name="HEADER_STYLE"><h3><u>Default specs for headers/footers</u></h3></a>
148 <p>
149 <strong>Mom</strong> makes small type adjustments to each part of
150 the header (left, center, right) to achieve an aesthetically
151 pleasing result.  The defaults are listed below.  (The strings
152 <strong>mom</strong> puts by default in each part are explained in
153 <a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.)
154 <p>
155 <strong>NOTE:</strong> Except for capitalization (all caps or
156 caps/lower-case), these defaults apply only to
157 <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>.
158 <p>
159 <pre>
160 TYPE SPEC    HEADER LEFT         HEADER CENTER       HEADER RIGHT
161 ---------    -----------         -------------       ------------
162 Family       document default    document default    document default
163 Font         roman               italic              roman
164 All caps     no                  no                  yes
165 Size*        -.5 (points)        -.5 (points)        -2 (points)
166             (-2 if all caps)    (-2 if all caps)    (-.5 if not all caps)
167
168 *Relative to the point size of type in paragraphs
169 </pre>
170
171 You can, of course, change any of the defaults using the appropriate
172 control macros.  And should you wish to design headers from the ground
173 up, <strong>mom</strong> has a special macro,
174 <a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>,
175 that removes all type adjustments to headers.  The straightforward
176 type specs for paragraphs are used instead, providing a simple
177 reference point for any alterations you want to make to the family,
178 font, size and capitalisation style of any header part.
179 <a name="VERTICAL_SPACING"><h3><u>Vertical placement and spacing of headers/footers</u></h3></a>
180 <p>
181 As explained in the section on
182 <a href="typedocmac.html">typesetting macros in document processing</a>,
183 the top and bottom margins of a <strong>mom</strong> document
184 are the vertical start and end positions of
185 <a href="definitions.html#TERMS_RUNNING">running text</a>,
186 not the vertical positions of headers or footers, which, by definition,
187 appear in the margin <em>above</em> (or below) running text.
188 <p>
189 The vertical placement of headers
190 is controlled by the macro
191 <a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>,
192 which establishes the
193 <a href="definitions.html">baseline</a>
194 position of headers relative to the <em>top</em> edge of the page.
195 The header rule, whose position is relative to the header itself,
196 is controlled by a separate macro.
197 <strong>FOOTER_MARGIN</strong> establishes the baseline position of
198 footers relative to the <em>bottom</em> edge of the page.
199 <p>
200 <a href="#HDRFTR_GAP">HEADER_GAP</a> establishes
201 the distance between headers and the <em>start</em> of running text (effectively
202 making <strong>HEADER_MARGIN + HEADER_GAP</strong> the top margin of
203 running text unless you give <strong>mom</strong> a literal top margin
204 (with
205 <a href="typesetting.html#T_MARGIN">T_MARGIN</a>),
206 in which case she ignores <strong>HEADER_GAP</strong> and starts
207 running text at whatever top margin you gave.
208 <strong>FOOTER_GAP</strong> and
209 <a href="typesetting.html#B_MARGIN">B_MARGIN</a>
210 work similarly, except they determine where running text
211 <em>ends</em> on the page.
212 <p>
213 Confused?  <strong>Mom</strong> apologizes.  It's really quite
214 simple.  By default, <strong>mom</strong> sets headers 4-1/2
215 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>
216 down from the top of the page and starts running text 3 picas (the
217 <strong>HEADER_GAP</strong>) beneath that, which means the
218 effective top margin of running text is 7-1/2 picas (visually approx. 1
219 inch).  If you give <strong>mom</strong> a literal top margin (with
220 <a href="typesetting.html#T_MARGIN">T_MARGIN</a>),
221 she ignores the <strong>HEADER_GAP</strong> and starts running
222 text at whatever top margin you gave.
223 <p>
224 Footers are treated the same way, the only difference being the
225 default distances.  <strong>Mom</strong> sets footers 3 picas up from
226 the bottom of the page, and interrupts the processing of running text 3
227 picas (the <strong>FOOTER_GAP</strong>) above that (again, visually
228 approx. 1 inch).  If you give <strong>mom</strong> a literal bottom
229 margin (with <a
230 href="typesetting.html#B_MARGIN">B_MARGIN</a>), she ignores the
231 <strong>FOOTER_GAP</strong> and interrupts the processing of running
232 text at whatever bottom margin you gave.
233 <p>
234 If <strong>mom</strong> is paginating your document (she
235 does, by default, at the bottom of each page), the vertical
236 spacing and placement of page numbers, whether at the top
237 or the bottom of the page, is managed exactly as if the
238 page numbers were headers (or footers), and are controlled
239 by the same macros.  See
240 <a href="#PAGINATION">Pagination control</a>.
241 <br>
242 <hr>
243
244 <!========================================================================>
245
246 <a name="HEADFOOT_MANAGEMENT">
247         <h2><u>Managing headers/footers</u></h2>
248 </a>
249
250 <p>
251 The following are the basic macros for turning
252 <a href="definitions.html#TERMS_HEADER">headers</a>
253 or
254 <a href="definitions.html#TERMS_FOOTER">footers</a>
255 on or off.  They should be invoked prior to
256 <a href="docprocessing.html#START">START</a>.
257 <p>
258 By default, <strong>mom</strong> prints page headers.  If you turn
259 them off, she will begin
260 <a href="definitions.html#TERMS_RUNNING">running text</a>
261 on each page with a default top margin of 6
262 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>
263 unless you have requested a different top margin (with
264 <a href="typesetting.html#T_MARGIN">T_MARGIN</a>)
265 prior to
266 <a href="docprocessing.html#START">START</a>.
267 <p>
268 Please note that headers and footers are mutually exclusive.  If
269 headers are on, footers (but NOT bottom-of-page numbering) are
270 automatically turned off.  Equally, if footers are on, headers
271 (but NOT top-of-page numbering) are automatically turned off.  Thus, if
272 you'd prefer footers in a document, you need only invoke
273 <a href="#FOOTERS">FOOTERS</a>;
274 there's no need to turn headers off first.
275 <br>
276
277 <!---HEADERS--->
278
279 <hr width="66%" align="left">
280 <p>
281 <a name="HEADERS"></a>
282 Macro: <strong>HEADERS</strong> <var>toggle</var>
283
284 <p>
285 <a href="definitions.html#TERMS_HEADER">Page headers</a>
286 are on by default.  If you don't want them, turn them off by
287 invoking <strong>HEADERS</strong> with any argument
288 (<strong>OFF, QUIT, END, X...</strong>), e.g.
289 <p>
290 <pre>
291         .HEADERS OFF
292 </pre>
293 <p>
294 <strong>NOTE:</strong> <strong>HEADERS</strong> automatically
295 disables 
296 <a href="definitions.html#TERMS_FOOTER">footers</a>
297 (you can't have both), but not the page numbers that normally
298 appear at the bottom of the page.
299 <p>
300 <strong>ADDITIONAL NOTE:</strong> If <strong>HEADERS</strong>
301 are <strong>OFF</strong>, <strong>mom</strong>'s normal top
302 margin for
303 <a href="definitions.html#TERMS_RUNNING">running text</a>
304 (7.5
305 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>)
306 changes to 6 picas (visually approx. 1 inch).  This does NOT apply
307 to the situation where footers have been explicitly turned on
308 (with
309 <a href="#FOOTERS">FOOTERS</a>).
310 Explicitly invoking footers moves page numbering to the
311 top of the page, where its placement and spacing are the same as
312 for headers.  (I.e. the top margin of running text remains 7.5
313 picas.)
314 <br>
315
316 <!---FOOTERS--->
317
318 <hr width="66%" align="left">
319 <p>
320 <a name="FOOTERS"></a>
321 Macro: <strong>FOOTERS</strong> <var>toggle</var>
322
323 <p>
324 <a href="definitions.html#TERMS_FOOTER">Page footers</a>
325 are off by default.  If you want them instead of
326 <a href="definitions.html#TERMS_HEADER">headers</a>
327 (you can't have both), turn them on by invoking
328 <strong>FOOTERS</strong> without an argument, e.g.
329 <p>
330 <pre>
331         .FOOTERS
332 </pre>
333
334 <p>
335 <strong>FOOTERS</strong> automatically disables headers, and
336 <strong>mom</strong> shifts the placement of page numbers from their
337 normal position at page bottom to the top of the page.
338 <p>
339 <strong>NOTE:</strong> By default, when footers are on,
340 <strong>mom</strong> does not print a page number on the first
341 page of a document, nor on first pages after
342 <a href="rectoverso.html#COLLATE">COLLATE</a>.
343 If you don't want this behaviour, you can change it with
344 <a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a>.
345 <br>
346
347 <!---FOOTER_ON_FIRST_PAGE--->
348
349 <hr width="66%" align="left">
350 <p>
351 <a name="FOOTER_ON_FIRST_PAGE"></a>
352 Macro: <strong>FOOTER_ON_FIRST_PAGE</strong> <var>toggle</var>
353
354 <p>
355 If you invoke
356 <a href="#FOOTERS">FOOTERS</a>,
357 <strong>mom</strong>, by default, does not print a footer on the
358 first page of the document.  (The
359 <a href="definitions.html">docheader</a>
360 on page makes it redundant.)  However, should you wish a footer on
361 page 1, invoke <strong>FOOTER_ON_FIRST_PAGE</strong> without any argument.
362 <br>
363 <hr>
364
365 <!---USERDEF_HDRFTR--->
366
367 <a name="USERDEF_HDRFTR">
368         <h2><u>User-defined, single string recto/verso headers/footers</u></h2>
369 </a>
370
371 <a name="USERDEF_HDRFTR_INTRO"><h3><u>Introduction</u></h3></a>
372
373 Sometimes, you'll find you can't get <strong>mom</strong>'s handling
374 of 3-part headers or footers to do exactly what you want in the
375 order you want.  This is most likely happen when you want the
376 information contained in the headers/footers split over two pages,
377 as is often the case with recto/verso documents.
378 <p>
379 Say, for example, you want recto page headers to contain a document's
380 author, centered, and verso page headers to contain the document's
381 title, also centered, like this:
382 <p>
383 <pre>
384         +------------------------+   +------------------------+     
385         |         Author         |   |         Title          |     
386         |                        |   |                        |     
387         |                        |   |                        |     
388         |                        |   |                        |     
389         |                        |   |                        |     
390         |                        |   |                        |     
391         |                        |   |                        |     
392         |                        |   |                        |     
393         |                        |   |                        |     
394         |                        |   |                        |     
395         |                        |   |                        |     
396         |                        |   |                        |     
397         |                        |   |                        |     
398         |                        |   |                        |     
399         +------------------------+   +------------------------+     
400 </pre>
401
402 With <strong>mom</strong>'s standard 3-part headers, this isn't
403 possible, even when
404 <a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>
405 is enabled.  <strong>RECTO_VERSO</strong> switches the left and
406 right parts of headers on alternate pages, but the center
407 part remains unchanged.
408 <p>
409 Anytime you need distinctly different headers on alternate
410 pages, <strong>mom</strong> has macros that let you manually
411 design and determine what goes into headers on recto pages, and
412 what goes into headers on verso pages.  The macros are
413 <a href="#HDRFTR_RECTO">HEADER_RECTO</a>
414 and
415 <a href="#HDRFTR_VERSO">HEADER_VERSO</a>.
416 Both allow you to state whether the header is flush left, centered,
417 or flush right, and both take a single
418 <a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>
419 with which, by combining text and
420 <a href="definitions.html#TERMS_INLINES">inline escapes</a>,
421 you can make the headers come out just about any way you want.
422 Use of the <strong>\*[PAGE#]</strong> escape is permitted in the
423 string argument (see
424 <a href="#PAGE_NUMBER_INCL">Including the page number in header-left, -center or -right</a>),
425 and <strong>mom</strong> provides a special mechanism whereby
426 it's possible to &quot;pad&quot; it as well.
427 <br>
428
429 <!---HDRFTR_RECTOVERSO--->
430
431 <hr width="66%" align="left">
432 <p>
433 <a name="HDRFTR_RECTOVERSO"></a>
434 Macro: <strong>HEADER_RECTO</strong> <var>LEFT | CENTER | RIGHT &quot;&lt;header recto string&gt;&quot;</var>
435 Macro: <strong>HEADER_VERSO</strong> <var>LEFT | CENTER | RIGHT &quot;&lt;header verso string&gt;&quot;</var>
436 <br>
437
438 <p>
439 <strong>HEADER_RECTO</strong> and <strong>HEADER_VERSO</strong> behave
440 identically, hence all references to <strong>HEADER_RECTO</strong>
441 in this section also refer to <strong>HEADER_VERSO</strong>.
442 Furthermore, <strong>FOOTER_</strong> can be used instead of
443 <strong>HEADER_</strong> to set up recto/verso footers.
444 <p>
445 The first argument to <strong>HEADER_RECTO</strong> is the
446 direction in which you want the header
447 <a href="definitions.html#TERMS_QUAD">quadded</a>.
448 <strong>L, C</strong> and <strong>R</strong> may be used in
449 place of <strong>LEFT, CENTER</strong> and
450 <strong>RIGHT</strong>.  The second argument is a string,
451 surrounded by double-quotes, containing what you want in the
452 header.  <strong>HEADER_RECTO</strong> disables <strong>mom</strong>'s
453 normal 3-part headers, therefore anything you want in the
454 headers must be entered by hand in the string.
455 <p>
456 By default, <strong>HEADER_RECTO</strong> is set at the same
457 size, and in the same family and font, as paragraph text.  The
458 control macros
459 <a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>
460 and
461 <a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
462 may be used to change the default family and size.  Changes to
463 the font(s) within the string must be accomplished with the
464 <a href="definitions.html#TERMS_INLINES">inline escapes</a>
465 <strong>\*[ROM], \*[IT], \*[BD], \*[BDI]</strong> and
466 <strong>\*[PREV]</strong> (see
467 <a href="inlines.html#INLINE_FONTS_MOM">Changing fonts</a>).
468 Additional refinements to the style of the header-recto string,
469 including horizontal spacing and/or positioning, can also be made with
470 inline escapes.
471 <p>
472 To include the current page number in the string, use the
473 <strong>\*[PAGE#]</strong> inline.
474
475 <h3><u>Padding the HEADER_RECTO/HEADER_VERSO string</u></h3>
476 <p>
477 You can &quot;pad&quot; the header-recto string, a convenience you'll
478 appreciate in circumstances such as the following.
479 <p>
480 <pre>
481                    VERSO                       RECTO 
482         +------------------------+   +------------------------+     
483         | Author          Page#  |   | Page#            Title |     
484         |                        |   |                        |     
485         |                        |   |                        |     
486         |                        |   |                        |     
487         |                        |   |                        |     
488         |                        |   |                        |     
489         |                        |   |                        |     
490         |                        |   |                        |     
491         |                        |   |                        |     
492         |                        |   |                        |     
493         |                        |   |                        |     
494         |                        |   |                        |     
495         |                        |   |                        |     
496         |                        |   |                        |     
497         +------------------------+   +------------------------+     
498 </pre>
499
500 To pad the string argument passed to <strong>HEADER_RECTO</strong>,
501 begin and end the string (inside the double-quotes) with the caret
502 character (<kbd>^</kbd>).  Enter the pound sign (<kbd>#</kbd>) at any
503 point in the string where you want an equalized amount of whitespace
504 inserted.  (If you're unsure what padding is, see
505 <a href="goodies.html#PAD">Insert space into lines</a>.)
506 Note that if you're padding the string, it doesn't matter what
507 quad direction you give <strong>HEADER_RECTO</strong>.
508 <p>
509 The situation depicted above is accomplished like this:
510 <p>
511 <pre>
512         .HEADER_RECTO LEFT "^\*[PAGE#]#Title^"
513         .HEADER_VERSO LEFT "^Author#\*[PAGE#]^"
514 </pre>
515
516 Note that <strong>mom</strong> does not interpret the <kbd>#</kbd>
517 in <strong>\*[PAGE#]</strong> as a padding marker (i.e. as a place
518 to insert whitespace).
519 <p>
520 <strong>IMPORTANT:</strong> The
521 <a href="goodies.html#PAD_MARKER">PAD_MARKER</a>
522 macro, which changes the default pad marker (<kbd>#</kbd>) used by
523 <a href="goodies.html#PAD">PAD</a>,
524 has no effect on the pad marker used in the
525 <strong>HEADER_RECTO</strong> string.  If you absolutely must
526 have a literal pound sign in your <strong>HEADER_RECTO</strong>
527 string, use the escape sequence <kbd>\N'35'</kbd> where you want
528 the pound sign to go.
529 <br>
530 <hr>
531
532 <a name="HEADFOOT_CONTROL">
533         <h2><u>Control macros for headers/footers</u></h2>
534 </a>
535 <p>
536 Virtually every part of headers (see the paragraph on how
537 <a href="#HEADERFOOTER">&quot;headers&quot; means &quot;footers&quot;</a>
538 in the
539 <a href="#HEADFOOTPAGE_INTRO">introduction to headers/footers</a>)
540 can be designed to your own specifications.
541
542 <a name="INDEX_REFERENCE">
543         <h3><u>Header/footer control macros</u></h3>
544 </a>
545
546 <ul>
547         <li><a href="#HDRFTR_STRINGS"><strong>STRINGS</strong></a>
548         <ul>
549                 <li><a href="#HDRFTR_LEFT">HEADER_LEFT</a>
550                 <li><a href="#HDRFTR_CENTER">HEADER_CENTER</a>
551                 <li><a href="#HDRFTR_RIGHT">HEADER_RIGHT</a>
552                 <li><a href="#PAGE_NUMBER_SYMBOL">Replacing header left, center or right with the page number</a>
553                 <li><a href="#PAGE_NUMBER_INCL">Including the  page number in header left, center or right</a>
554         </ul>
555         <li><a href="#HDRFTR_STYLE"><strong>STYLE</strong></a>
556         <ul>
557                 <li><a href="#HDRFTR_STYLE_GLOBAL"><strong>Global changes</strong></a>
558                 <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>&nbsp;-- family for entire header
559                 <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>&nbsp;&nbsp;&nbsp;-- size for entire header
560                 <li><a href="HDRFTR_PLAIN">HDRFTR_PLAIN</a>&nbsp;&nbsp;-- disable default adjustments to header parts
561         </ul>
562         <ul>
563                 <li><a href="#HDRFTR_STYLE_PART"><strong>Part-by-part changes</strong></a>
564                 <li><a href="#_FAMILY">_FAMILY</a>&nbsp;-- left, center or right family
565                 <li><a href="#_FONT">_FONT</a>&nbsp;&nbsp;&nbsp;-- left, center or right font
566                 <li><a href="#_SIZE">_SIZE</a>&nbsp;&nbsp;&nbsp;-- left, center or right size
567                 <li><a href="#_CAPS">_CAPS</a>&nbsp;&nbsp;&nbsp;-- left, center or right all caps
568         </ul>
569         <li><a href="#HDRFTR_VERTICAL"><strong>VERTICAL PLACEMENT AND SPACING</strong></a>
570         <ul>
571                 <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>
572                 <li><a href="#HDRFTR_GAP">HEADER_GAP</a>
573         </ul>
574         <li><a href="#HDRFTR_SEPARATOR"><strong>SEPARATOR RULE</strong></a>
575         <ul>
576                 <li><a href="#HDRFTR_RULE">HEADER_RULE</a>
577                 <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a>
578         </ul>
579 </ul>
580
581 <!---HDRFTR_STRINGS--->
582
583 <hr width="66%" align="left">
584 <a name="HDRFTR_STRINGS"><h3><u>Header/footer strings</u></h3></a>
585 <p>
586 <a name="HDRFTR_LEFT">
587         Macro: <strong>HEADER_LEFT</strong> <var>&quot;&lt;text of header left&gt;&quot; | #</var>
588 </a>
589 <br>
590 <a name="HDRFTR_CENTER">
591         Macro: <strong>HEADER_CENTER</strong> <var>&quot;&lt;text of header center&gt;&quot; | #</var>
592 </a>
593 <br>
594 <a name="HDRFTR_RIGHT">
595         Macro: <strong>HEADER_RIGHT</strong> <var>&quot;&lt;text of header right&gt;&quot; | #</var>
596 </a>
597
598 <p>
599 To change the text (the &quot;string&quot;) of the left, center,
600 or right part of headers, invoke the appopriate macro above with
601 the string you want.  For example, <strong>mom</strong>, by default,
602 prints the document's author in the header-left position.  If your
603 document has, say, two authors, and you want both their names to
604 appear header-left, change <strong>HEADER_LEFT</strong> like this:
605 <p>
606 <pre>
607         .HEADER_LEFT "R. Stallman, E. Raymond"
608 </pre>
609
610 Because the arguments to <strong>HEADER_LEFT, _CENTER,</strong>
611 and <strong>_RIGHT</strong> are
612 <a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>,
613 they must be enclosed in double-quotes.
614 <p>
615 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
616 with <strong>FOOTER_</strong> to change the strings in footers.
617 <br>
618
619 <a name="PAGE_NUMBER_SYMBOL">
620         <h3><u>Replacing header-left, -center or -right with the page number</u></h3>
621 </a>
622 If you would like to have the current page number to appear 
623 header-left, -center, or -right <em>instead</em> of a text
624 string, invoke the appropriate macro, above, with the single
625 argument <code>#</code> (the &quot;number&quot; or
626 &quot;pound&quot; sign).  Do <strong>NOT</strong> use
627 double-quotes.  For example,
628 <p>
629 <pre>
630         .HEADER_CENTER #
631 </pre> 
632
633 will print the current page number in the center part of
634 headers.
635
636 <a name="PAGE_NUMBER_INCL">
637         <h3><u>Including the page number in header-left, -center or -right</u></h3>
638 </a>
639 If you would like to <em>include</em> the current page number in
640 the string you pass to <strong>HEADER_LEFT, _CENTER,</strong> or
641 <strong>_RIGHT</strong>, use the special
642 <a href="definitions.html#TERMS_INLINES">inline escape</a>
643 <code>\*[PAGE#]</code> in the string argument.
644 <p>
645 For example, say you have a document that's ten pages long, and
646 you want header-right to say "page &lt;whichever&gt; of 10",
647 invoke <strong>HEADER_RIGHT</strong> as follows:
648 <p>
649 <pre>
650         .HEADER_RIGHT "page \*[PAGE#] of 10"
651 </pre>
652
653 Header-right of page two will read &quot;page 2 of 10&quot;,
654 header-right of page three will read &quot;page 3 of 10&quot;,
655 and so on.
656 <br>
657 <hr>
658
659 <!---HDRFTR_STYLE--->
660
661 <a name="HDRFTR_STYLE"><h3><u>Header/footer style</u></h3></a>
662
663 <p>
664 <a name="HDRFTR_STYLE_GLOBAL"><strong>Global changes</strong></a>
665 <p>
666 The following macros allow you to make changes that affect all
667 parts of the header at once.
668 <p>
669 Please note that <strong>HEADER_FAMILY</strong> and
670 <strong>HEADER_FONT</strong> have no effect on
671 <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.
672 <p>
673 <ul>
674         <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>
675         <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
676         <li><a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>
677 </ul>
678
679 <hr width="33%" align="left">
680 <p>
681 <a name="HDRFTR_GLOBAL_FAMILY">
682         Macro: <strong>HEADER_FAMILY</strong> <var>&lt;family&gt;</var>
683 </a>
684
685 <p>
686 By default, <strong>mom</strong> uses the default document family
687 for headers.  If you would like her to use another
688 <a href="definitions.html#TERMS_FAMILY">family</a>
689 in headers, invoke <strong>HEADER_FAMILY</strong> with the identifier
690 for the family you want.  The argument is the same as for the
691 typesetting macro
692 <a href="typesetting.html#FAMILY">FAMILY</a>.
693 <p>
694 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
695 with <strong>FOOTER_</strong> to change the footer family.
696 <br>
697
698 <hr width="33%" align="left">
699 <p>
700 <a name="HDRFTR_GLOBAL_SIZE">
701         Macro: <strong>HEADER_SIZE</strong> <var>&lt;+|-number of points&gt;</var>
702         <br>
703         <em>*Argument is relative to the point size of type in paragraphs</em>
704 </a>
705
706 <p>
707 By default, <strong>mom</strong> makes small adjustments to the size
708 of each part of a header to achieve an aesthetically pleasing result.
709 If you'd like her to continue to do so, but would like the overall
710 appearance of headers to be a little smaller or a little larger,
711 invoke <strong>HEADER_SIZE</strong> with + or - the number of
712 <a href="definitions.html#TERMS_PICASPOINTS">points</a>
713 (fractions allowed) by which you want her to in/decrease the size
714 of headers.  For example,
715 <p>
716 <pre>
717         .HEADER_SIZE +.75
718 </pre>
719
720 increases the size of every part of a header by 3/4 of a point while
721 respecting <strong>mom</strong>'s own little size changes.
722 <p>
723 See
724 <a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
725 for an explanation of how control macros ending in
726 <strong>_SIZE</strong> work.
727 <p>
728 <a name="FOOTER_GLOBAL_SIZE"></a>
729 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
730 with <strong>FOOTER_</strong> to change the footer size.
731 <p>
732 <strong>ADDITIONAL NOTE:</strong> Normally, macros that control headers have no
733 effect on
734 <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.
735 <strong>HEADER_SIZE</strong> is an exception.  While all parts of a
736 header in <strong>PRINTSTYLE TYPEWRITE</strong> are always the same
737 size, you can use <strong>HEADER_SIZE</strong> with <strong>PRINTSTYLE
738 TYPEWRITE</strong> to reduce the header's overall point size.
739 You'll most likely require this when the
740 <a href="docprocessing.html#COPYSTYLE">COPYSTYLE</a>
741 is <strong>DRAFT</strong>, since portions of the header may overprint
742 if, say, the title of your document is very long.
743 <br>
744
745 <hr width="33%" align="left">
746 <p>
747 <a name="HDRFTR_PLAIN">
748         Macro: <strong>HEADER_PLAIN</strong>
749 </a>
750
751 <p>
752 By default, <strong>mom</strong> makes adjustments to the font,
753 size, and capitalization style of each part of headers to achieve
754 an aesthetically pleasing look.  Should you wish to design your own
755 headers from the ground up without worrying how changes to the various
756 elements of header style interact with <strong>mom</strong>'s defaults,
757 invoke <strong>HEADER_PLAIN</strong> by itself, with no argument.
758 <strong>Mom</strong> will disable her default behaviour for headers,
759 and reset all elements of header style to the same family, font,
760 and point size as she uses in paragraphs.
761 <p>
762 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
763 with <strong>FOOTER_</strong> to disable <strong>mom</strong>'s
764 default behaviour for the various elements of footer style.
765 <br>
766
767 <hr width="66%" align="left">
768 <p>
769 <a name="HDRFTR_STYLE_PART"><strong>Part by part changes</strong></a>
770 <p>
771 <strong>NOTE:</strong> When using the following control macros,
772 replace &quot;&lt;POSITION&gt;&quot; by <strong>LEFT, CENTER,</strong>
773 or <strong>RIGHT</strong> as appropriate.
774 <p>
775 <ul>
776         <li><a href="#_FAMILY">HEADER_&lt;POSITION&gt;_FAMILY</a>
777         <li><a href="#_FONT">HEADER_&lt;POSITION&gt;_FONT</a>
778         <li><a href="#_SIZE">HEADER_&lt;POSITION&gt;_SIZE</a>
779         <li><a href="#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>
780 </ul>
781
782 <hr width="33%" align="left">
783 <p>
784 <a name="_FAMILY">
785         Macro: <strong>HEADER_&lt;POSITION&gt;_FAMILY</strong> <var>&lt;family&gt;</var>
786 </a>
787 <p>
788 Use <strong>HEADER_&lt;POSITION&gt;_FAMILY</strong> to change the
789 <a href="definitions.html#TERMS_FAMILY">family</a>
790 of any part of headers.  See
791 <a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
792 for an explanation of how control macros ending in
793 <strong>_FAMILY</strong> work.
794 <p>
795 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
796 with <strong>FOOTER_</strong> to change a footer part's family.
797 <br>
798
799 <hr width="33%" align="left">
800 <p>
801 <a name="_FONT">
802         Macro: <strong>HEADER_&lt;POSITION&gt;_FONT</strong> <var>&lt;font&gt;</var>
803 </a>
804 <p>
805 Use <strong>HEADER_&lt;POSITION&gt;_FONT</strong> to change the
806 <a href="definitions.html#TERMS_FONT">font</a>
807 of any part of headers.  See
808 <a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
809 for an explanation of how control macros ending in
810 <strong>_FONT</strong> work.
811 <p>
812 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
813 with <strong>FOOTER_</strong> to change a footer part's font.
814 <br>
815
816 <hr width="33%" align="left">
817 <p>
818 <a name="_SIZE">
819         Macro: <strong>HEADER_&lt;POSITION&gt;_SIZE</strong> <var>&lt;+|-number of points&gt;</var>
820 </a>
821 <p>
822 Use <strong>HEADER_&lt;POSITION&gt;_SIZE</strong> to change the size of any
823 part of headers (relative to the point size of type in
824 paragraphs).  See
825 <a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
826 for an explanation of how control macros ending in
827 <strong>_SIZE</strong> work.
828 <p>
829 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
830 with <strong>FOOTER_</strong> to change a footer part's size.
831 <br>
832
833 <hr width="33%" align="left">
834 <p>
835 <a name="_CAPS">
836         Macro: <strong>HEADER_&lt;POSITION&gt;_CAPS</strong> <var>toggle</var>
837 </a>
838 <p>
839 <strong>HEADER_&lt;POSITION&gt;_CAPS</strong> is a
840 <a href="definitions.html#TERMS_TOGGLE">toggle macro</a>.
841 If you want any part of headers to be set in all caps,
842 regardless of the capitalization of that part's string as given
843 to the
844 <a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>
845 or as defined by you with the
846 <a href="#HDRFTR_STRINGS">header string control macros</a>,
847 simply invoke this macro (using the appropriate position) with no
848 argument.  If you wish to turn capitalization off (say, for the
849 header-right string that <strong>mom</strong> capitalizes by
850 default), invoke the argument with any argument (e.g. <strong>OFF,
851 QUIT, END, X...</strong>).
852 <p>
853 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
854 with <strong>FOOTER_</strong> to change a footer part's
855 capitalization style.
856 <br>
857 <hr>
858
859 <!---HDRFTR_VERTICAL--->
860
861 <a name="HDRFTR_VERTICAL">
862         <h2><u>Header/footer vertical placement and spacing</u></h2>
863 </a>
864
865 <p>
866 See
867 <a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>
868 for an explanation of how <strong>mom</strong> deals with
869 headers, footers, and top/bottom page margins.
870 <br>
871
872 <!---HDRFTR_MARGIN--->
873
874 <hr width="66%" align="left">
875 <p>
876 <a name="HDRFTR_MARGIN"></a>
877 Macro: <strong>HEADER_MARGIN</strong> <var>&lt;distance to baseline of header&gt;</var>
878 <br>
879 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
880
881 <p>
882 Use <strong>HEADER_MARGIN</strong> to set the distance from the
883 top edge of the page to the
884 <a href="definitions.html#TERMS_BASELINE">baseline</a>
885 of type in headers.  A unit of measure is required, and decimal
886 fractions are allowed.
887 <p>
888 <strong>Mom</strong>'s default header margin is 4-1/2
889 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
890 but if you want a different margin, say, 1/2-inch, do
891 <p>
892 <pre>
893         .HEADER_MARGIN .5i
894 </pre>
895
896 If your document uses
897 <a href="definitions.html#TERMS_FOOTER">footers</a>,
898 replace <strong>HEADER_</strong>, above, with
899 <strong>FOOTER_</strong>.  The argument to
900 <strong>FOOTER_MARGIN</strong> is the distance from the bottom
901 edge of the page to the baseline of type in footers.
902 <p>
903 <strong>Mom</strong>'s default footer margin is 3 
904 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>.
905 <p>
906 <strong>NOTE:</strong> <strong>Mom</strong> uses
907 <strong>HEADER_MARGIN</strong> and
908 <strong>FOOTER_MARGIN</strong> to establish the baseline
909 position of page numbers in addition to headers and footers.
910 <p>
911 By default, page numbers appear at the bottom of the page, therefore
912 if you want the default position (bottom), but want to change the
913 baseline placement, use <strong>FOOTER_MARGIN</strong>.  Conversely,
914 if page numbers are at the top of the page, either because you turned
915 <a href="#FOOTERS">FOOTERS</a>
916 on or because you instructed <strong>mom</strong> to put them
917 there with
918 <a href="#PAGENUM_POS">PAGENUM_POS</a>,
919 you'd use <strong>HEADER_MARGIN</strong> to change their
920 baseline placement.
921 <br>
922
923 <!---HDRFTR_GAP--->
924
925 <hr width="66%" align="left">
926 <p>
927 <a name="HDRFTR_GAP"></a>
928 Macro: <strong>HEADER_GAP</strong> <var>&lt;distance from header to start of running text&gt;</var>
929 <br>
930 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
931
932 <p>
933 Use <strong>HEADER_GAP</strong> to set the distance from the
934 <a href="definitions.html#TERMS_BASELINE">baseline</a>
935 of type in headers to the start of
936 <a href="definitions.html#TERMS_RUNNING">running text</a>.
937 A unit of measure is required, and decimal fractions are allowed.
938 <p>
939 As explained in
940 <a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>,
941 <strong>HEADER_MARGIN + HEADER_GAP</strong> determine the
942 default vertical starting position of running text on the page
943 UNLESS you have given <strong>mom</strong> your own top margin
944 (with
945 <a href="typesetting.html#T_MARGIN">T_MARGIN</a>).  If you give
946 a top margin, <strong>mom</strong> ignores
947 <strong>HEADER_GAP</strong>; running text starts at your stated
948 top margin.
949
950 <p>
951 <strong>Mom</strong>'s default header gap is 3
952 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
953 but if you want a different gap, say, 2 centimeters, do
954 <p>
955 <pre>
956         .HEADER_GAP 2c
957 </pre>
958
959 If your document uses
960 <a href="definitions.html#TERMS_FOOTER">footers</a>,
961 replace <strong>HEADER_</strong>, above, with
962 <strong>FOOTER_</strong>.  The argument to
963 <strong>FOOTER_GAP</strong> is the distance from the
964 baseline of type in footers to the last baseline of running text
965 on the page.
966 <p>
967 As explained in
968 <a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>,
969 <strong>FOOTER_MARGIN + FOOTER_GAP</strong> determine the
970 default vertical end position of running text on the page
971 UNLESS you have given <strong>mom</strong> a bottom  margin
972 (with
973 <a href="typesetting.html#B_MARGIN">B_MARGIN</a>).  If you give
974 a bottom margin, <strong>mom</strong> ignores
975 <strong>FOOTER_GAP</strong>; running text ends at your stated
976 bottom margin.
977 <p>
978 <strong>Mom</strong>'s default footer gap is 3 
979 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>.
980 <p>
981 <strong>NOTE:</strong> <strong>Mom</strong> uses
982 <strong>HEADER_GAP</strong> and
983 <strong>FOOTER_GAP</strong> to establish the start and end baseline
984 positions of running text with respect to both headers and footers
985 AND page numbers.  If you wish to change the gap between
986 the last line of running text and a bottom page number, use
987 <strong>FOOTER_GAP</strong>.  If page numbers are at the top of the
988 page, change the gap between the number and the first line of running
989 text with <strong>HEADER_GAP</strong>.
990 <br>
991 <hr>
992
993 <!---HDRFTR_SEPARATOR--->
994
995 <a name="HDRFTR_SEPARATOR">
996         <h2><u>Header/footer separator rule</u></h2>
997 </a>
998
999 <p>
1000 The header/footer separator rule is a modest horizontal rule,
1001 set slightly below the header (or above the footer), that runs
1002 the length of the
1003 <a href="definitions.html#TERMS_HEADER">header</a>
1004 and helps separate it visually from
1005 <a href="definitions.html#TERMS_RUNNING">running text</a>.  If
1006 you don't want the rule, you can turn it off.  If you want it,
1007 but at a different vertical position relative to the header (or
1008 footer), you can alter its placement.
1009 <p>
1010 <ul>
1011         <li><a href="#HDRFTR_RULE">HEADER_RULE</a> -- on or off
1012         <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> -- distance of rule from header
1013 </ul
1014
1015 <!---HDRFTR_RULE--->
1016
1017 <hr width="66%" align="left">
1018 <p>
1019 <a name="HDRFTR_RULE"></a>
1020 Macro: <strong>HEADER_RULE</strong> <var>toggle</var>
1021
1022 <p>
1023 By default, <strong>mom</strong> prints a header separator rule
1024 underneath headers (or above footers). If you don't want the
1025 rule, turn it off by invoking <strong>HEADER_RULE</strong> with any
1026 argument (<strong>OFF, QUIT, END, X...</strong>), e.g.
1027 <p>
1028 <pre>
1029         .HEADER_RULE OFF
1030 </pre>
1031
1032 To turn the rule (back) on, invoke <strong>HEADER_RULE</strong>
1033 without any argument.
1034 <p>
1035 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
1036 with <strong>FOOTER_</strong> to enable/disable the printing of
1037 the footer separator rule.  (Most likely, if you're using
1038 <a href="#FOOTERS">FOOTERS</a>, you'll want it off.)
1039 <br>
1040
1041 <!---HDRFTR_RULE_GAP--->
1042
1043 <hr width="66%" align="left">
1044 <p>
1045 <a name="HDRFTR_RULE_GAP"></a>
1046 Macro: <strong>HEADER_RULE_GAP</strong> <var>distance of rule beneath header</var>
1047 <br>
1048 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
1049
1050 <p>
1051 <strong>HEADER_RULE_GAP</strong> is the distance from the
1052 <a href="definitions.html#TERMS_BASELINE">baseline</a>
1053 of type in headers to the rule underneath.  A unit of measure is
1054 required, and decimal fractions are allowed.  Please note that
1055 <strong>HEADER_RULE_GAP</strong> has no effect on
1056 <a href="#HEADER_GAP">HEADER_GAP</a>
1057 (i.e. <strong>HEADER_RULE_GAP</strong> is NOT added to
1058 <strong>HEADER_GAP</strong> when <strong>mom</strong> calculates
1059 the space between headers and the start of
1060 <a href="definitions.html#TERMS_RUNNING">running text</a>.
1061 <p>
1062 By default, the header rule gap is 4
1063 <a href="definitions.html#TERMS_PICASPOINTS">points</a>.
1064 If you'd like to change it to, say, 1/4
1065 <a href="definitions.html#TERMS_EM">em</a>, do
1066 <p>
1067 <pre>
1068         .HEADER_RULE_GAP .25m
1069 </pre>
1070
1071 <strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
1072 with <strong>FOOTER_</strong> if you're using
1073 <a href="definitions.html#TERMS_FOOTER">footers</a>
1074 and want to change the separator rule gap.  In footers, the gap
1075 is measured from the top of the tallest
1076 <a href="definitions.html#TERMS_ASCENDER">ascender</a>
1077 in the footer.
1078 <p>
1079 <strong>ADDITIONAL NOTE:</strong> When using
1080 <a href="#HDRFTR_RECTOVERSO">FOOTER_RECTO</a>
1081 and
1082 <a href="#HDRFTR_RECTOVERSO">FOOTER_VERSO</a>,
1083 make sure that the default size for footers
1084 (<a href="#FOOTER_GLOBAL_SIZE">FOOTER_SIZE</a>)
1085 is set to the largest size of type that will be used in the
1086 footer or <strong>mom</strong> may not get the rule gap right.
1087 Inline changes to the size of type in
1088 <strong>FOOTER_RECTO</strong> and <strong>FOOTER_VERSO</strong>
1089 should always be negative (smaller) than the default.
1090 <br>
1091 <hr>
1092
1093 <a name="PAGINATION">
1094         <h2><u>Pagination</u></h2>
1095 </a>
1096
1097 <p>
1098 By default, <strong>mom</strong> paginates documents.  Page numbers
1099 appear in the bottom margin of the page, centered between two hyphens.
1100 As with all elements of <strong>mom</strong>'s document processing,
1101 most aspects of pagination style can be altered to suit your taste
1102 with control macros.
1103 <br>
1104
1105 <a name="INDEX_PAGINATION">
1106         <h3><u>Pagination macros list</u></h3>
1107 </a>
1108
1109 <ul>
1110         <li><a href="#PAGINATE">PAGINATE</a> -- pagination on or off
1111         <li><a href="#PAGENUMBER">PAGENUMBER</a> -- user-defined (starting) page number
1112         <li><a href="#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc
1113         <li><a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a> -- applies only when footers are enabled
1114         <li><a href="#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- attach draft/revision information to page numbers
1115         <li><a href="#PAGINATE_CONTROL">Control macros</a>
1116 </ul>
1117 <br>
1118
1119 <!---PAGINATE--->
1120
1121 <hr width="66%" align="left">
1122 <p>
1123 <a name="PAGINATE"></a>
1124 Macro: <strong>PAGINATE</strong> <var>toggle</var>
1125 <br>
1126 Alias: <strong>PAGINATION</strong>
1127
1128 <p>
1129 By default, <strong>mom</strong> paginates documents (in the bottom
1130 margin).  If you'd prefer she not paginate, turn pagination off
1131 by invoking <strong>PAGINATE</strong> with any argument (<strong>OFF,
1132 NO, QUIT, END, X...</strong>), e.g.
1133 <p>
1134 <pre>
1135         .PAGINATE NO 
1136 </pre>
1137
1138 To (re)start pagination, invoke <strong>PAGINATE</strong>
1139 without any argument.
1140 <br>
1141
1142 <!---PAGENUMBER--->
1143
1144 <hr width="66%" align="left">
1145 <p>
1146 <a name="PAGENUMBER"></a>
1147 Macro: <strong>PAGENUMBER</strong> <var>&lt;number&gt;</var>
1148
1149 <p>
1150 As is to be expected, pagination of documents begins at page 1.
1151 If you'd prefer that <strong>mom</strong> begin with a different
1152 number on the first page of a document, invoke
1153 <strong>PAGENUMBER</strong> with the number you want.
1154 <p>
1155 <strong>PAGENUMBER</strong> need not be used only to give
1156 <strong>mom</strong> a "first page" number.  It can be used at
1157 any time to tell <strong>mom</strong> what number you want a
1158 page to have.  Subsequent page numbers will, of course, be
1159 incremented by 1 from that number.
1160 <br>
1161
1162 <!---PAGENUM_STYLE--->
1163
1164 <hr width="66%" align="left">
1165 <p>
1166 <a name="PAGENUM_STYLE"></a>
1167 Macro: <strong>PAGENUM_STYLE</strong> <var>DIGIT | ROMAN | roman | ALPHA | alpha</var>
1168
1169 <p>
1170 <strong>PAGENUM_STYLE</strong> lets you tell
1171 <strong>mom</strong> what kind of page numbering you want.
1172 <p>
1173 <table valign="baseline" summary="pagenumstyle">
1174 <tr><td>DIGIT<td align="center" width="15">=<td>arabic digits (1, 2, 3...)
1175 <tr><td>ROMAN<td align="center" width="15">=<td>upper case roman numerals (I, II, III...)
1176 <tr><td>roman<td align="center" width="15">=<td>lower case roman numerals (i, ii, iii...)
1177 <tr><td>ALPHA<td align="center" width="15">=<td>upper case letters (A, B, C...)
1178 <tr><td>alpha<td align="center" width="15">=<td>lower case letters (a, b, c...)</td></tr>
1179 </table>
1180 <br>
1181
1182 <!---PAGENUM_ON_FIRST_PAGE--->
1183
1184 <hr width="66%" align="left">
1185 <p>
1186 <a name="PAGENUM_ON_FIRST_PAGE"></a>
1187 Macro: <strong>PAGENUM_ON_FIRST_PAGE</strong> <var>toggle</var>
1188
1189 <p>
1190 This macro applies only if you've enabled
1191 <a href="#FOOTERS">FOOTERS</a>.
1192 If <strong>FOOTERS</strong> are on, <strong>mom</strong> automatically
1193 places page numbers at the tops of pages except on
1194 the first page of a document (or on first pages after
1195 <a href="rectoverso.html#COLLATE">COLLATE</a>).  If you'd
1196 like the page number to appear on &quot;first&quot; pages when
1197 footers are on, invoke <strong>PAGENUM_ON_FIRST_PAGE</strong> with
1198 no argument.  Any other argument turns the feature off (<strong>OFF,
1199 QUIT, END, X...</strong>).
1200 <p>
1201 As with most of the <a
1202 href="definitions.html#TERMS_CONTROLMACRO">control macros</a>,
1203 <strong>PAGENUM_ON_FIRST_PAGE</strong> can be invoked at any time,
1204 meaning that if you don't want a page number on the very first
1205 page of a document, but do want one on pages that appear after
1206 <strong>COLLATE</strong>, omit it before the first
1207 <a href="docprocessing.html#START">START</a>
1208 of the document, then invoke it either just before or after your
1209 first <strong>COLLATE</strong>.
1210 <br>
1211
1212 <!---DRAFT_WITH_PAGENUMBER--->
1213
1214 <hr width="66%" align="left">
1215 <p>
1216 <a name="DRAFT_WITH_PAGENUMBER"></a>
1217 Macro: <strong>DRAFT_WITH_PAGENUMBER</strong>
1218
1219 <p>
1220 Sometimes, in
1221 <a href="docprocessing.html#COPYSTYLE">COPYSTYLE DRAFT</a>,
1222 the center part of page headers gets overcrowded because of the draft
1223 and revision information that go there by default.
1224 <strong>DRAFT_WITH_PAGENUMBER</strong> is one way to 
1225 fix the problem.
1226 <p>
1227 Invoked without an argument, <strong>DRAFT_WITH_PAGENUMBER</strong>
1228 removes draft/revision information from the page headers and attaches
1229 it instead to the document's page numbering, in the form
1230 <p>
1231 <pre>
1232     Draft #, Rev. # / &lt;pagenumber&gt;
1233 </pre>
1234
1235 See the note in
1236 <a href="docprocessing.html#COPYSTYLE">COPYSTYLE DRAFT</a>
1237 for other ways of dealing with crowded page headers when formatting
1238 draft-style copy.
1239 <br>
1240 <hr>
1241
1242 <!---PAGINATE_CONTROL--->
1243
1244 <a name="PAGINATE_CONTROL"><h3><u>Pagination control macros</u></h3></a>
1245
1246 <ol>
1247         <li><a href="#PAGINATE_GENERAL">Family/font/size</a>
1248         <li><a href="#PAGENUM_POS">Page number position (vertical and horizontal)</a>
1249         <li><a href="#PAGENUM_HYPHENS">Enclose page numbers with hyphens (on or off)</a>
1250 </ol>
1251 <br>
1252 <a name="PAGINATE_GENERAL"><h3><u>1. Page number family/font/size</u></h3></a>
1253 <p>
1254 See
1255 <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
1256 <p>
1257 <pre>
1258 .PAGENUM_FAMILY default = prevailing document family; default is Times Roman
1259 .PAGENUM_FONT   default = roman
1260 .PAGENUM_SIZE   default = 0 (i.e. same size as paragraph text)
1261 </pre>
1262
1263 <a name="PAGENUM_POS"><h3><u>2. Page number position</u></h3></a>
1264 <p>
1265 Macro: <strong>PAGENUM_POS</strong> <var>TOP | BOTTOM&nbsp;&nbsp;LEFT | CENTER | RIGHT</var>
1266
1267 <p>
1268 Use <strong>PAGENUM_POS</strong> to change the default position of
1269 automatic page numbering.  <strong>PAGENUM_POS</strong> requires
1270 <em>two</em> arguments: a vertical position (TOP or BOTTOM) and a
1271 horizontal position (LEFT or CENTER or RIGHT).
1272 <p>
1273 For example, if you turn both
1274 <a href="definitions.html#TERMS_HEADER">headers</a>
1275 and
1276 <a href="definitions.html#TERMS_FOOTER">footers</a> 
1277 off (with <code>.HEADERS OFF</code> and <code>.FOOTERS
1278 OFF</code)) and you want <strong>mom</strong> to number your
1279 pages at the top right position, enter
1280 <p>
1281 <pre>
1282         .PAGENUM_POS TOP RIGHT
1283 </pre>
1284
1285 <a name="#PAGENUM_HYPHENS"><h3><u>3. Enclose page numbers with hyphens (on or off)</u></h3></a>
1286 By default, <strong>mom</strong> encloses page numbers between hyphens.
1287 If you don't want this behaviour, invoke the macro
1288 <strong>PAGENUM_HYPHENS</strong> with any argument (<strong>OFF, QUIT, END, X...</strong>),
1289 like this:
1290 <p>
1291 <pre>
1292         .PAGENUM_HYPHENS OFF
1293 </pre>
1294
1295 If, for some reason, you want to turn page number hyphens back
1296 on, invoke the macro without an argument.
1297
1298 <p>
1299 <hr>
1300 <a href="rectoverso.html#TOP">Next</a>&nbsp;&nbsp;
1301 <a href="docelement.html#TOP">Prev</a>&nbsp;&nbsp;
1302 <a href="#TOP">Top</a>&nbsp;&nbsp;
1303 <a href="toc.html">Back to Table of Contents</a>
1304 </body>
1305 </html>