summaryrefslogtreecommitdiff
path: root/contrib/mom/momdoc/headfootpage.html
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/mom/momdoc/headfootpage.html')
-rw-r--r--contrib/mom/momdoc/headfootpage.html1081
1 files changed, 1081 insertions, 0 deletions
diff --git a/contrib/mom/momdoc/headfootpage.html b/contrib/mom/momdoc/headfootpage.html
new file mode 100644
index 00000000..3e0b7b54
--- /dev/null
+++ b/contrib/mom/momdoc/headfootpage.html
@@ -0,0 +1,1081 @@
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
+<title>Mom -- Document processing: headers, footers and pagination</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!====================================================================>
+
+<a href="rectoverso.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docelement.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+
+<a name="TOP"></a>
+<a name="HEADFOOTPAGE">
+ <h2 align="center"><u>DOCUMENT HEADERS, FOOTERS, AND PAGINATION</u></h2>
+</a>
+
+<ul>
+ <li><a href="#HEADFOOTPAGE_INTRO">Introduction -- VERY IMPORTANT; read me!</a>
+ <ul>
+ <li><a href="#PAGINATION_NOTE">An important note on pagination</a>
+ </ul>
+ <li><a href="#DESCRIPTION_GENERAL">General description of headers/footers</a>
+ <li><a href="#HEADER_STYLE">Default specs for headers/footers</a>
+ <li><a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>
+ <li><a href="#HEADFOOT_MANAGEMENT">Managing headers/footers</a>
+ <ul>
+ <li><a href="#HEADERS">HEADERS</a> -- on or off
+ <li><a href="#FOOTERS">FOOTERS</a> -- on or off
+ <li><a href="#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a>
+ </ul>
+ <li><a href="#HEADFOOT_CONTROL">Control macros for headers/footers</a>
+ <ul>
+ <li><a href="#HDRFTR_STRINGS">Header/footer strings</a>
+ <li><a href="#HDRFTR_STYLE">Header/footer style</a>
+ <ul>
+ <li><a href="#HDRFTR_STYLE_GLOBAL">Global style control</a>
+ <li><a href="#HDRFTR_STYLE_PART">Part-by-part style control</a>
+ </ul>
+ <li><a href="#HDRFTR_VERTICAL">Vertical placement and spacing</a>
+ <ul>
+ <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>
+ <li><a href="#HDRFTR_GAP">HEADER_GAP</a>
+ </ul>
+ <li><a href="#HDRFTR_SEPARATOR">The header/footer separator rule</a>
+ <ul>
+ <li><a href="#HDRFTR_RULE">HEADER_RULE</a> -- on or off
+ <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> -- distance of rule from header/footer
+ </ul>
+ </ul>
+ <li><a href="#PAGINATION">Pagination</a>
+</ul>
+
+<a name="HEADFOOTPAGE_INTRO">
+ <h2><u>Introduction</u></h2>
+</a>
+
+<p>
+<a href="definitions.html#TERMS_HEADER">Headers</a>
+and
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+as defined in the section
+<a href="definitions.html#TERMS_MOM">Mom's Document Processing Terms</a>,
+are those parts of a document that contain information about the document
+itself which appear in the margins either above or below
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+They are, in all respects but two, identical. The differences are:
+<p>
+<ol>
+ <li>headers appear in the margin <em>above</em> running text while
+ footers appear in the margin <em>beneath</em> running text;
+ <li>the (optional) rule that separates headers from running
+ text appears <em>below</em> the header while
+ the (optional) rule that separates footers from running
+ text appears <em>above</em> the footer.
+</ol>
+<a name="HEADERFOOTER"></a>
+<p>
+Because headers and footers are virtually identical, this
+documentation addresses itself only to headers. In all cases,
+unless otherwise noted, descriptions of headers
+describe footers as well.
+<p>
+Furthermore, any
+<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
+that begins with <strong>HEADER_</strong> may be used to control
+footers, simply by replacing <strong>HEADER_</strong> with
+<strong>FOOTER_</strong>.
+<p>
+<strong>Author's note:</strong> Left to their own devices (i.e. if
+you're happy with the way <strong>mom</strong> does things by default),
+headers are something you never have to worry about. You can skip
+reading this section entirely. But if you want to change them, be
+advised that headers have more macros to control their appearance than
+any other document element. The text of this documentation becomes
+correspondingly dense at this point.
+<a name="PAGINATION_NOTE"></a>
+<p>
+<strong>NOTE:</strong> While the single page number that
+<strong>mom</strong> generates in either the top or bottom margin
+above or below running text is technically a kind of header/footer,
+<strong>mom</strong> and this documentation treat it as a
+separate page element.
+
+<a name="DESCRIPTION_GENERAL"><h3><u>General description of headers/footers</u></h3></a>
+<p>
+Headers comprise three distinct parts: a left part, a center part,
+and a right part. Each part contains text (a &quot;string&quot;)
+that identifies some aspect of the document as a whole.
+<p>
+The left part (&quot;header left&quot;) lines up with the document's
+left margin. The center part (&quot;header center&quot;) is
+centered on the document's line length. The right part (&quot;header
+right&quot;) lines up with the document's right margin. Not all parts
+need contain a string, and if you don't want headers at all, you can
+turn them off completely.
+<p>
+<strong>A note to groff experts:</strong> Although
+<strong>mom</strong>'s headers resemble the three-part titles generated
+by <code>.tl</code>, they're in no way related to it, nor based
+upon it. <code>.tl</code> is not used at all in <strong>mom</strong>.
+<p>
+Normally, <strong>mom</strong> fills headers with strings appropriate
+to the document type selected with
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.
+You can, however, supply whatever strings you like -- including page
+numbers -- to go in any part of headers. What's more, you can set the
+family, font, size and capitalisation style (caps or caps/lower-case)
+for each header part individually.
+<p>
+By default, <strong>mom</strong> prints a horizontal rule beneath
+headers to separate them visually from running text. In the case of
+footers, the rule is <em>above</em> running text. You can increase
+or decrease the space between the header and the rule if you like (with
+<a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a>),
+or remove it completely.
+
+<a name="HEADER_STYLE"><h3><u>Default specs for headers/footers</u></h3></a>
+<p>
+<strong>Mom</strong> makes small type adjustments to each part of
+the header (left, center, right) to achieve an aesthetically
+pleasing result. The defaults are listed below. (The strings
+<strong>mom</strong> puts by default in each part are explained in
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.)
+<p>
+<strong>NOTE:</strong> Except for capitalization (all caps or
+caps/lower-case), these defaults apply only to
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>.
+<p>
+<pre>
+TYPE SPEC HEADER LEFT HEADER CENTER HEADER RIGHT
+--------- ----------- ------------- ------------
+Family document default document default document default
+Font roman italic roman
+All caps no no yes
+Size* -.5 (points) -.5 (points) -2 (points)
+ (-2 if all caps) (-2 if all caps) (-.5 if not all caps)
+
+*Relative to the point size of type in paragraphs
+</pre>
+
+You can, of course, change any of the defaults using the appropriate
+control macros. And should you wish to design headers from the ground
+up, <strong>mom</strong> has a special macro,
+<a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>,
+that removes all type adjustments to headers. The straightforward
+type specs for paragraphs are used instead, providing a simple
+reference point for any alterations you want to make to the family,
+font, size and capitalisation style of any header part.
+<a name="VERTICAL_SPACING"><h3><u>Vertical placement and spacing of headers/footers</u></h3></a>
+<p>
+As explained in the section on
+<a href="typedocmac.html">typesetting macros in document processing</a>,
+the top and bottom margins of a <strong>mom</strong> document
+are the vertical start and end positions of
+<a href="definitions.html#TERMS_RUNNING">running text</a>,
+not the vertical positions of headers or footers, which, by definition,
+appear in the margin <em>above</em> (or below) running text.
+<p>
+The vertical placement of headers
+is controlled by the macro
+<a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>,
+which establishes the
+<a href="definitions.html">baseline</a>
+position of headers relative to the <em>top</em> edge of the page.
+The header rule, whose position is relative to the header itself,
+is controlled by a separate macro.
+<strong>FOOTER_MARGIN</strong> establishes the baseline position of
+footers relative to the <em>bottom</em> edge of the page.
+<p>
+<a href="#HDRFTR_GAP">HEADER_GAP</a> establishes
+the distance between headers and the <em>start</em> of running text (effectively
+making <strong>HEADER_MARGIN + HEADER_GAP</strong> the top margin of
+running text unless you give <strong>mom</strong> a literal top margin
+(with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>),
+in which case she ignores <strong>HEADER_GAP</strong> and starts
+running text at whatever top margin you gave.
+<strong>FOOTER_GAP</strong> and
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
+work similarly, except they determine where running text
+<em>ends</em> on the page.
+<p>
+Confused? <strong>Mom</strong> apologizes. It's really quite
+simple. By default, <strong>mom</strong> sets headers 4-1/2
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+down from the top of the page and starts running text 3 picas (the
+<strong>HEADER_GAP</strong>) beneath that, which means the
+effective top margin of running text is 7-1/2 picas (visually approx. 1
+inch). If you give <strong>mom</strong> a literal top margin (with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>),
+she ignores the <strong>HEADER_GAP</strong> and starts running
+text at whatever top margin you gave.
+<p>
+Footers are treated the same way, the only difference being the
+default distances. <strong>Mom</strong> sets footers 3 picas up from
+the bottom of the page, and interrupts the processing of running text 3
+picas (the <strong>FOOTER_GAP</strong>) above that (again, visually
+approx. 1 inch). If you give <strong>mom</strong> a literal bottom
+margin (with <a
+href="typesetting.html#B_MARGIN">B_MARGIN</a>), she ignores the
+<strong>FOOTER_GAP</strong> and interrupts the processing of running
+text at whatever bottom margin you gave.
+<p>
+If <strong>mom</strong> is paginating your document (she
+does, by default, at the bottom of each page), the vertical
+spacing and placement of page numbers, whether at the top
+or the bottom of the page, is managed exactly as if the
+page numbers were headers (or footers), and are controlled
+by the same macros. See
+<a href="#PAGINATION">Pagination control</a>.
+<br>
+<hr>
+
+<!========================================================================>
+
+<a name="HEADFOOT_MANAGEMENT">
+ <h2><u>Managing headers/footers</u></h2>
+</a>
+
+<p>
+The following are the basic macros for turning
+<a href="definitions.html#TERMS_HEADER">headers</a>
+or
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+on or off. They should be invoked prior to
+<a href="docprocessing.html#START">START</a>.
+<p>
+By default, <strong>mom</strong> prints page headers. If you turn
+them off, she will begin
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+on each page with a default top margin of 6
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+unless you have requested a different top margin (with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>)
+prior to
+<a href="docprocessing.html#START">START</a>.
+<p>
+Please note that headers and footers are mutually exclusive. If
+headers are on, footers (but NOT bottom-of-page numbering) are
+automatically turned off. Equally, if footers are on, headers
+(but NOT top-of-page numbering) are automatically turned off. Thus, if
+you'd prefer footers in a document, you need only invoke
+<a href="#FOOTERS">FOOTERS</a>;
+there's no need to turn headers off first.
+<br>
+
+<!---HEADERS--->
+
+<hr width="66%" align="left">
+<p>
+<a name="HEADERS"></a>
+Macro: <strong>HEADERS</strong> <var>toggle</var>
+
+<p>
+<a href="definitions.html#TERMS_HEADER">Page headers</a>
+are on by default. If you don't want them, turn them off by
+invoking <strong>HEADERS</strong> with any argument
+(<strong>OFF, QUIT, END, X...</strong>), e.g.
+<p>
+<pre>
+ .HEADERS OFF
+</pre>
+<p>
+<strong>NOTE:</strong> <strong>HEADERS</strong> automatically
+disables
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+(you can't have both), but not the page numbers that normally
+appear at the bottom of the page.
+<p>
+<strong>ADDITIONAL NOTE:</strong> If <strong>HEADERS</strong>
+are <strong>OFF</strong>, <strong>mom</strong>'s normal top
+margin for
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+(7.5
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>)
+changes to 6 picas (visually approx. 1 inch). This does NOT apply
+to the situation where footers have been explicitly turned on
+(with
+<a href="#FOOTERS">FOOTERS</a>).
+Explicitly invoking footers moves page numbering to the
+top of the page, where its placement and spacing are the same as
+for headers. (I.e. the top margin of running text remains 7.5
+picas.)
+<br>
+
+<!---FOOTERS--->
+
+<hr width="66%" align="left">
+<p>
+<a name="FOOTERS"></a>
+Macro: <strong>FOOTERS</strong> <var>toggle</var>
+
+<p>
+<a href="definitions.html#TERMS_FOOTER">Page footers</a>
+are off by default. If you want them instead of
+<a href="definitions.html#TERMS_HEADER">headers</a>
+(you can't have both), turn them on by invoking
+<strong>FOOTERS</strong> without an argument, e.g.
+<p>
+<pre>
+ .FOOTERS
+</pre>
+
+<p>
+<strong>FOOTERS</strong> automatically disables headers, and
+<strong>mom</strong> shifts the placement of page numbers from their
+normal position at page bottom to the top of the page.
+<p>
+<strong>NOTE:</strong> By default, when footers are on,
+<strong>mom</strong> does not print a page number on the first
+page of a document, nor on first pages after
+<a href="rectoverso.html#COLLATE">COLLATE</a>.
+If you don't want this behaviour, you can change it with
+<a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a>.
+<br>
+
+<!---FOOTER_ON_FIRST_PAGE--->
+
+<hr width="66%" align="left">
+<p>
+<a name="FOOTER_ON_FIRST_PAGE"></a>
+Macro: <strong>FOOTER_ON_FIRST_PAGE</strong> <var>toggle</var>
+
+<p>
+If you invoke
+<a href="#FOOTERS">FOOTERS</a>,
+<strong>mom</strong>, by default, does not print a footer on the
+first page of the document. (The
+<a href="definitions.html">docheader</a>
+on page makes it redundant.) However, should you wish a footer on
+page 1, invoke <strong>FOOTER_ON_FIRST_PAGE</strong> without any argument.
+<br>
+<hr>
+
+<a name="HEADFOOT_CONTROL">
+ <h2><u>Control macros for headers/footers</u></h2>
+</a>
+<p>
+Virtually every part of headers (see the paragraph on how
+<a href="#HEADERFOOTER">&quot;headers&quot; means &quot;footers&quot;</a>
+in the
+<a href="#HEADFOOTPAGE_INTRO">introduction to headers/footers</a>)
+can be designed to your own specifications.
+
+<a name="INDEX_REFERENCE">
+ <h3><u>Header/footer control macros</u></h3>
+</a>
+
+<ul>
+ <li><a href="#HDRFTR_STRINGS"><strong>STRINGS</strong></a>
+ <ul>
+ <li><a href="#HDRFTR_LEFT">HEADER_LEFT</a>
+ <li><a href="#HDRFTR_CENTER">HEADER_CENTER</a>
+ <li><a href="#HDRFTR_RIGHT">HEADER_RIGHT</a>
+ <li><a href="#PAGE_NUMBER_SYMBOL">Replacing header left, center or right with the page number</a>
+ <li><a href="#PAGE_NUMBER_INCL">Including the page number in header left, center or right</a>
+ </ul>
+ <li><a href="#HDRFTR_STYLE"><strong>STYLE</strong></a>
+ <ul>
+ <li><a href="#HDRFTR_STYLE_GLOBAL"><strong>Global changes</strong></a>
+ <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>&nbsp;-- family for entire header
+ <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>&nbsp;&nbsp;&nbsp;-- size for entire header
+ <li><a href="HDRFTR_PLAIN">HDRFTR_PLAIN</a>&nbsp;&nbsp;-- disable default adjustments to header parts
+ </ul>
+ <ul>
+ <li><a href="#HDRFTR_STYLE_PART"><strong>Part-by-part changes</strong></a>
+ <li><a href="#_FAMILY">_FAMILY</a>&nbsp;-- left, center or right family
+ <li><a href="#_FONT">_FONT</a>&nbsp;&nbsp;&nbsp;-- left, center or right font
+ <li><a href="#_SIZE">_SIZE</a>&nbsp;&nbsp;&nbsp;-- left, center or right size
+ <li><a href="#_CAPS">_CAPS</a>&nbsp;&nbsp;&nbsp;-- left, center or right all caps
+ </ul>
+ <li><a href="#HDRFTR_VERTICAL"><strong>VERTICAL PLACEMENT AND SPACING</strong></a>
+ <ul>
+ <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>
+ <li><a href="#HDRFTR_GAP">HEADER_GAP</a>
+ </ul>
+ <li><a href="#HDRFTR_SEPARATOR"><strong>SEPARATOR RULE</strong></a>
+ <ul>
+ <li><a href="#HDRFTR_RULE">HEADER_RULE</a>
+ <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a>
+ </ul>
+</ul>
+
+<!---HDRFTR_STRINGS--->
+
+<hr width="66%" align="left">
+<a name="HDRFTR_STRINGS"><h3><u>Header/footer strings</u></h3></a>
+<p>
+<a name="HDRFTR_LEFT">
+ Macro: <strong>HEADER_LEFT</strong> <var>&quot;&lt;text of header left&gt;&quot; | #</var>
+</a>
+<br>
+<a name="HDRFTR_CENTER">
+ Macro: <strong>HEADER_CENTER</strong> <var>&quot;&lt;text of header center&gt;&quot; | #</var>
+</a>
+<br>
+<a name="HDRFTR_RIGHT">
+ Macro: <strong>HEADER_RIGHT</strong> <var>&quot;&lt;text of header right&gt;&quot; | #</var>
+</a>
+
+<p>
+To change the text (the &quot;string&quot;) of the left, center,
+or right part of headers, invoke the appopriate macro above with
+the string you want. For example, <strong>mom</strong>, by default,
+prints the document's author in the header-left position. If your
+document has, say, two authors, and you want both their names to
+appear header-left, change <strong>HEADER_LEFT</strong> like this:
+<p>
+<pre>
+ .HEADER_LEFT "R. Stallman, E. Raymond"
+</pre>
+
+Because the arguments to <strong>HEADER_LEFT, _CENTER,</strong>
+and <strong>_RIGHT</strong> are
+<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>,
+they must be enclosed in double-quotes.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the strings in footers.
+<br>
+
+<a name="PAGE_NUMBER_SYMBOL">
+ <h3><u>Replacing header-left, -center or -right with the page number</u></h3>
+</a>
+If you would like the current page number to appear
+header-left, -center, or -right <em>instead</em> of a text
+string, invoke the appropriate macro, above, with the single
+argument <code>#</code> (the &quot;number&quot; or
+&quot;pound&quot; sign). Do <strong>NOT</strong> use
+double-quotes. For example,
+<p>
+<pre>
+ .HEADER_CENTER #
+</pre>
+
+will print the current page number in the center part of
+headers.
+
+<a name="PAGE_NUMBER_INCL">
+ <h3><u>Including the page number in header-left, -center or -right</u></h3>
+</a>
+If you would like to <em>include</em> the current page number in
+the string you pass to <strong>HEADER_LEFT, _CENTER,</strong> or
+<strong>_RIGHT</strong>, use the special
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<code>\*[PAGE#]</code> in the string argument.
+<p>
+For example, say you have a document that's ten pages long, and
+you want header-right to say "page &lt;whichever&gt; of 10",
+invoke <strong>HEADER_RIGHT</strong> as follows:
+<p>
+<pre>
+ .HEADER_RIGHT "page \*[PAGE#] of 10"
+</pre>
+
+Header-right of page two will read &quot;page 2 of 10&quot;,
+header-right of page three will read &quot;page 3 of 10&quot;,
+and so on.
+<br>
+<hr>
+
+<!---HDRFTR_STYLE--->
+
+<a name="HDRFTR_STYLE"><h3><u>Header/footer style</u></h3></a>
+
+<p>
+<a name="HDRFTR_STYLE_GLOBAL"><strong>Global changes</strong></a>
+<p>
+The following macros allow you to make changes that affect all
+parts of the header at once.
+<p>
+<ul>
+ <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>
+ <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
+ <li><a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>
+</ul>
+
+<hr width="33%" align="left">
+<p>
+<a name="HDRFTR_GLOBAL_FAMILY">
+ Macro: <strong>HEADER_FAMILY</strong> <var>&lt;family&gt;</var>
+</a>
+
+<p>
+By default, <strong>mom</strong> uses the default document family
+for headers. If you would like her to use another
+<a href="definitions.html#TERMS_FAMILY">family</a>
+in headers, invoke <strong>HEADER_FAMILY</strong> with the identifier
+for the family you want. The argument is the same as for the
+typesetting macro
+<a href="typesetting.html#FAMILY">FAMILY</a>.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the footer family.
+<br>
+
+<hr width="33%" align="left">
+<p>
+<a name="HDRFTR_GLOBAL_SIZE">
+ Macro: <strong>HEADER_SIZE</strong> <var>&lt;+|-number of points&gt;</var>
+ <br>
+ <em>*Argument is relative to the point size of type in paragraphs</em>
+</a>
+
+<p>
+By default, <strong>mom</strong> makes small adjustments to the size
+of each part of a header to achieve an aesthetically pleasing result.
+If you'd like her to continue to do so, but would like the overall
+appearance of headers to be a little smaller or a little larger,
+invoke <strong>HEADER_SIZE</strong> with + or - the number of
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+(fractions allowed) by which you want her to in/decrease the size
+of headers. For example,
+<p>
+<pre>
+ .HEADER_SIZE +.75
+</pre>
+
+increases the size of every part of a header by 3/4 of a point while
+respecting <strong>mom</strong>'s own little size changes.
+<p>
+See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
+for an explanation of how control macros ending in
+<strong>_SIZE</strong> work.
+<p>
+Normally, macros that control headers have no effect on
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.
+<strong>HEADER_SIZE</strong> is an exception. While all parts of a
+header in <strong>PRINTSTYLE TYPEWRITE</strong> are the same size, you
+can use <strong>HEADER_SIZE</strong> to reduce the header's point size.
+You'll most likely require this when the
+<a href="docprocessing.html#COPYSTYLE">COPYSTYLE</a>
+is <strong>DRAFT</strong>, since portions of the header may overprint
+if, say, the title of your document is very long.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the footer size.
+<br>
+
+<hr width="33%" align="left">
+<p>
+<a name="HDRFTR_PLAIN">
+ Macro: <strong>HEADER_PLAIN</strong>
+</a>
+
+<p>
+By default, <strong>mom</strong> makes adjustments to the font,
+size, and capitalization style of each part of headers to achieve
+an aesthetically pleasing look. Should you wish to design your own
+headers from the ground up without worrying how changes to the various
+elements of header style interact with <strong>mom</strong>'s defaults,
+invoke <strong>HEADER_PLAIN</strong> by itself, with no argument.
+<strong>Mom</strong> will disable her default behaviour for headers,
+and reset all elements of header style to the same family, font,
+and point size as she uses in text paragraphs.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to disable <strong>mom</strong>'s
+default behaviour for the various elements of footer style.
+<br>
+
+<hr width="66%" align="left">
+<p>
+<a name="HDRFTR_STYLE_PART"><strong>Part by part changes</strong></a>
+<p>
+<strong>NOTE:</strong> When using the following control macros,
+replace &quot;&lt;POSITION&gt;&quot; by <strong>LEFT, CENTER,</strong>
+or <strong>RIGHT</strong> as appropriate.
+<p>
+<ul>
+ <li><a href="_FAMILY">HEADER_&lt;POSITION&gt;_FAMILY</a>
+ <li><a href="_FONT">HEADER_&lt;POSITION&gt;_FONT</a>
+ <li><a href="_SIZE">HEADER_&lt;POSITION&gt;_SIZE</a>
+ <li><a href="_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>
+</ul>
+
+<hr width="33%" align="left">
+<p>
+<a name="_FAMILY">
+ Macro: <strong>HEADER_&lt;POSITION&gt;_FAMILY</strong> <var>&lt;family&gt;</var>
+</a>
+<p>
+Use <strong>HEADER_&lt;POSITION&gt;_FAMILY</strong> to change the
+<a href="definitions.html#TERMS_FAMILY">family</a>
+of any part of headers. See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
+for an explanation of how control macros ending in
+<strong>_FAMILY</strong> work.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's family.
+<br>
+
+<hr width="33%" align="left">
+<p>
+<a name="_FONT">
+ Macro: <strong>HEADER_&lt;POSITION&gt;_FONT</strong> <var>&lt;font&gt;</var>
+</a>
+<p>
+Use <strong>HEADER_&lt;POSITION&gt;_FONT</strong> to change the
+<a href="definitions.html#TERMS_FONT">font</a>
+of any part of headers. See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
+for an explanation of how control macros ending in
+<strong>_FONT</strong> work.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's font.
+<br>
+
+<hr width="33%" align="left">
+<p>
+<a name="_SIZE">
+ Macro: <strong>HEADER_&lt;POSITION&gt;_SIZE</strong> <var>&lt;+|-number of points&gt;</var>
+</a>
+<p>
+Use <strong>HEADER_&lt;POSITION&gt;_SIZE</strong> to change the size of any
+part of headers (relative to the point size of type in
+paragraphs). See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
+for an explanation of how control macros ending in
+<strong>_SIZE</strong> work.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's size.
+<br>
+
+<hr width="33%" align="left">
+<p>
+<a name="_CAPS">
+ Macro: <strong>HEADER_&lt;POSITION&gt;_CAPS</strong> <var>toggle</var>
+</a>
+<p>
+<strong>HEADER_&lt;POSITION&gt;_CAPS</strong> is a
+<a href="definitions.html#TERMS_TOGGLE">toggle macro</a>.
+If you want any part of headers to be set in all caps,
+regardless of the capitalization of that part's string as given
+to the
+<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>
+or as defined by you with the
+<a href="#HDRFTR_STRINGS">header string control macros</a>,
+simply invoke this macro (using the appropriate position) with no
+argument. If you wish to turn capitalization off (say, for the
+header-right string that <strong>mom</strong> capitalizes by
+default), invoke the argument with any argument (e.g. <strong>OFF,
+QUIT, END, X...</strong>).
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's
+capitalization style.
+<br>
+<hr>
+
+<!---HDRFTR_VERTICAL--->
+
+<a name="HDRFTR_VERTICAL">
+ <h2><u>Header/footer vertical placement and spacing</u></h2>
+</a>
+
+<p>
+See
+<a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>
+for an explanation of how <strong>mom</strong> deals with
+headers, footers, and top/bottom page margins.
+<br>
+
+<!---HDRFTR_MARGIN--->
+
+<hr width="66%" align="left">
+<p>
+<a name="HDRFTR_MARGIN"></a>
+Macro: <strong>HEADER_MARGIN</strong> <var>&lt;distance to baseline of header&gt;</var>
+<br>
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+
+<p>
+Use <strong>HEADER_MARGIN</strong> to set the distance from the
+top edge of the page to the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of type in headers. A unit of measure is required, and decimal
+fractions are allowed.
+<p>
+<strong>Mom</strong>'s default header margin is 4-1/2
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
+but if you want a different margin, say, 1/2-inch, do
+<p>
+<pre>
+ .HEADER_MARGIN .5i
+</pre>
+
+If your document uses
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+replace <strong>HEADER_</strong>, above, with
+<strong>FOOTER_</strong>. The argument to
+<strong>FOOTER_MARGIN</strong> is the distance from the bottom
+edge of the page to the baseline of type in footers.
+<p>
+<strong>Mom</strong>'s default footer margin is 3
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>.
+<p>
+<strong>NOTE:</strong> <strong>Mom</strong> uses
+<strong>HEADER_MARGIN</strong> and
+<strong>FOOTER_MARGIN</strong> to establish the baseline
+position of page numbers in addition to headers and footers.
+<p>
+By default, page numbers appear at the bottom of the page, therefore
+if you want the default position (bottom), but want to change the
+baseline placement, use <strong>FOOTER_MARGIN</strong>. Conversely,
+if page numbers are at the top of the page, either because you turned
+<a href="#FOOTERS">FOOTERS</a>
+on or because you instructed <strong>mom</strong> to put them
+there with
+<a href="#PAGENUM_POS">PAGENUM_POS</a>,
+you'd use <strong>HEADER_MARGIN</strong> to change their
+baseline placement.
+<br>
+
+<!---HDRFTR_GAP--->
+
+<hr width="66%" align="left">
+<p>
+<a name="HDRFTR_GAP"></a>
+Macro: <strong>HEADER_GAP</strong> <var>&lt;distance from header to start of running text&gt;</var>
+<br>
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+
+<p>
+Use <strong>HEADER_GAP</strong> to set the distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of type in headers to the start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+A unit of measure is required, and decimal fractions are allowed.
+<p>
+As explained in
+<a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>,
+<strong>HEADER_MARGIN + HEADER_GAP</strong> determine the
+default vertical starting position of running text on the page
+UNLESS you have given <strong>mom</strong> your own top margin
+(with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>). If you give
+a top margin, <strong>mom</strong> ignores
+<strong>HEADER_GAP</strong>; running text starts at your stated
+top margin.
+
+<p>
+<strong>Mom</strong>'s default header gap is 3
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
+but if you want a different gap, say, 2 centimeters, do
+<p>
+<pre>
+ .HEADER_GAP 2c
+</pre>
+
+If your document uses
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+replace <strong>HEADER_</strong>, above, with
+<strong>FOOTER_</strong>. The argument to
+<strong>FOOTER_GAP</strong> is the distance from the
+baseline of type in footers to the last baseline of running text
+on the page.
+<p>
+As explained in
+<a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>,
+<strong>FOOTER_MARGIN + FOOTER_GAP</strong> determine the
+default vertical end position of running text on the page
+UNLESS you have given <strong>mom</strong> a bottom margin
+(with
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>). If you give
+a bottom margin, <strong>mom</strong> ignores
+<strong>FOOTER_GAP</strong>; running text ends at your stated
+bottom margin.
+<p>
+<strong>Mom</strong>'s default footer gap is 3
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>.
+<p>
+<strong>NOTE:</strong> <strong>Mom</strong> uses
+<strong>HEADER_GAP</strong> and
+<strong>FOOTER_GAP</strong> to establish the start and end baseline
+positions of running text with respect to both headers and footers
+AND page numbers. If you wish to change the gap between
+the last line of running text and a bottom page number, use
+<strong>FOOTER_GAP</strong>. If page numbers are at the top of the
+page, change the gap between the number and the first line of running
+text with <strong>HEADER_GAP</strong>.
+<br>
+<hr>
+
+<!---HDRFTR_SEPARATOR--->
+
+<a name="HDRFTR_SEPARATOR">
+ <h2><u>Header/footer separator rule</u></h2>
+</a>
+
+<p>
+The header/footer separator rule is a modest horizontal rule,
+set slightly below the header (or above the footer), that runs
+the length of the
+<a href="definitions.html#TERMS_HEADER">header</a>
+and helps separate it visually from
+<a href="definitions.html#TERMS_RUNNING">running text</a>. If
+you don't want the rule, you can turn it off. If you want it,
+but at a different vertical position relative to the header (or
+footer), you can alter its placement.
+<p>
+<ul>
+ <li><a href="#HDRFTR_RULE">HEADER_RULE</a> -- on or off
+ <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> -- distance of rule from header
+</ul
+
+<!---HDRFTR_RULE--->
+
+<hr width="66%" align="left">
+<p>
+<a name="HDRFTR_RULE"></a>
+Macro: <strong>HEADER_RULE</strong> <var>toggle</var>
+
+<p>
+By default, <strong>mom</strong> prints a header separator rule
+underneath headers (or above footers). If you don't want the
+rule, turn it off by invoking <strong>HEADER_RULE</strong> with any
+argument (<strong>OFF, QUIT, END, X...</strong>), e.g.
+<p>
+<pre>
+ .HEADER_RULE OFF
+</pre>
+
+To turn the rule (back) on, invoke <strong>HEADER_RULE</strong>
+without any argument.
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to enable/disable the printing of
+the footer separator rule. (Most likely, if you're using
+<a href="#FOOTERS">FOOTERS</a>, you'll want it off.)
+<br>
+
+<!---HDRFTR_RULE_GAP--->
+
+<hr width="66%" align="left">
+<p>
+<a name="HDRFTR_RULE_GAP"></a>
+Macro: <strong>HEADER_RULE_GAP</strong> <var>distance of rule beneath header</var>
+<br>
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+
+<p>
+<strong>HEADER_RULE_GAP</strong> is the distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of type in headers to the rule underneath. A unit of measure is
+required, and decimal fractions are allowed. Please note that
+<strong>HEADER_RULE_GAP</strong> has no effect on
+<a href="#HEADER_GAP">HEADER_GAP</a>
+(i.e. <strong>HEADER_RULE_GAP</strong> is NOT added to
+<strong>HEADER_GAP</strong> when <strong>mom</strong> calculates
+the space between headers and the start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+<p>
+By default, the header rule gap is 4
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>.
+If you'd like to change it to, say, 1/4
+<a href="definitions.html#TERMS_EM">em</a>, do
+<p>
+<pre>
+ .HEADER_RULE_GAP .25m
+</pre>
+
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> if you're using
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+and want to change the separator rule gap. In footers, the gap
+is measured from the top of the tallest
+<a href="definitions.html#TERMS_ASCENDER">ascender</a>
+in the footer.
+<br>
+<hr>
+
+<a name="PAGINATION">
+ <h2><u>Pagination</u></h2>
+</a>
+
+<p>
+By default, <strong>mom</strong> paginates documents. Page numbers
+appear in the bottom margin of the page, centered between two hyphens.
+As with all elements of <strong>mom</strong>'s document processing,
+most aspects of pagination style can be altered to suit your taste
+with control macros.
+<br>
+
+<a name="INDEX_PAGINATION">
+ <h3><u>Pagination macros list</u></h3>
+</a>
+
+<ul>
+ <li><a href="#PAGINATE">PAGINATE</a> -- pagination on or off
+ <li><a href="#PAGENUMBER">PAGENUMBER</a> -- user-defined (starting) page number
+ <li><a href="#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc
+ <li><a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a> -- applies only when footers are enabled
+ <li><a href="#PAGINATE_CONTROL">Control macros</a>
+</ul>
+<br>
+
+<!---PAGINATE--->
+
+<hr width="66%" align="left">
+<p>
+<a name="PAGINATE"></a>
+Macro: <strong>PAGINATE</strong> <var>toggle</var>
+<br>
+Alias: <strong>PAGINATION</strong>
+
+<p>
+By default, <strong>mom</strong> paginates documents (in the bottom
+margin). If you'd prefer she not paginate, turn pagination off
+by invoking <strong>PAGINATE</strong> with any argument (<strong>OFF,
+NO, QUIT, END, X...</strong>), e.g.
+<p>
+<pre>
+ .PAGINATE NO
+</pre>
+
+To (re)start pagination, invoke <strong>PAGINATE</strong>
+without any argument.
+<br>
+
+<!---PAGENUMBER--->
+
+<hr width="66%" align="left">
+<p>
+<a name="PAGENUMBER"></a>
+Macro: <strong>PAGENUMBER</strong> <var>&lt;number&gt;</var>
+
+<p>
+As is to be expected, pagination of documents begins at page 1.
+If you'd prefer that <strong>mom</strong> begin with a different
+number on the first page of a document, invoke
+<strong>PAGENUMBER</strong> with the number you want.
+<p>
+<strong>PAGENUMBER</strong> need not be used only to give
+<strong>mom</strong> a "first page" number. It can be used at
+any time to tell <strong>mom</strong> what number you want a
+page to have. Subsequent page numbers will, of course, be
+incremented by 1 from that number.
+<br>
+
+<!---PAGENUM_STYLE--->
+
+<hr width="66%" align="left">
+<p>
+<a name="PAGENUM_STYLE"></a>
+Macro: <strong>PAGENUM_STYLE</strong> <var>DIGIT | ROMAN | roman | ALPHA | alpha</var>
+
+<p>
+<strong>PAGENUM_STYLE</strong> lets you tell
+<strong>mom</strong> what kind of page numbering you want.
+<p>
+<table valign="baseline" summary="pagenumstyle">
+<tr><td>DIGIT<td align="center" width="15">=<td>arabic digits (1, 2, 3...)
+<tr><td>ROMAN<td align="center" width="15">=<td>upper case roman numerals (I, II, III...)
+<tr><td>roman<td align="center" width="15">=<td>lower case roman numerals (i, ii, iii...)
+<tr><td>ALPHA<td align="center" width="15">=<td>upper case letters (A, B, C...)
+<tr><td>alpha<td align="center" width="15">=<td>lower case letters (a, b, c...)</td></tr>
+</table>
+<br>
+
+<!---PAGENUM_ON_FIRST_PAGE--->
+
+<hr width="66%" align="left">
+<p>
+<a name="PAGENUM_ON_FIRST_PAGE"></a>
+Macro: <strong>PAGENUM_ON_FIRST_PAGE</strong> <var>toggle</var>
+
+<p>
+This macro applies only if you've enabled
+<a href="#FOOTERS">FOOTERS</a>.
+If <strong>FOOTERS</strong> are on, <strong>mom</strong> automatically
+places page numbers at the tops of pages except on
+the first page of a document (or on first pages after
+<a href="rectoverso.html#COLLATE">COLLATE</a>). If you'd
+like the page number to appear on &quot;first&quot; pages when
+footers are on, invoke <strong>PAGENUM_ON_FIRST_PAGE</strong> with
+no argument. Any other argument turns the feature off (<strong>OFF,
+QUIT, END, X...</strong>).
+<p>
+As with most of the <a
+href="definitions.html#TERMS_CONTROLMACRO">control macros</a>,
+<strong>PAGENUM_ON_FIRST_PAGE</strong> can be invoked at any time,
+meaning that if you don't want a page number on the very first
+page of a document, but do want one on pages that appear after
+<strong>COLLATE</strong>, omit it before the first
+<a href="docprocessing.html#START">START</a>
+of the document, then invoke it either just before or after your
+first <strong>COLLATE</strong>.
+<br>
+<hr>
+
+<!---PAGINATE_CONTROL--->
+
+<a name="PAGINATE_CONTROL"><h3><u>Pagination control macros</u></h3></a>
+
+<ol>
+ <li><a href="#PAGINATE_GENERAL">Family/font/size</a>
+ <li><a href="#PAGENUM_POS">Page number position (vertical and horizontal)</a>
+ <li><a href="#PAGENUM_HYPHENS">Enclose page numbers with hyphens (on or off)</a>
+</ol>
+<br>
+<a name="PAGINATE_GENERAL"><h3><u>1. Page number family/font/size</u></h3></a>
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+<p>
+<pre>
+.PAGENUM_FAMILY default = prevailing document family; default is Times Roman
+.PAGENUM_FONT default = roman
+.PAGENUM_SIZE default = 0 (i.e. same size as paragraph text)
+</pre>
+
+<a name="PAGENUM_POS"><h3><u>2. Page number position</u></h3></a>
+<p>
+Macro: <strong>PAGENUM_POS</strong> <var>TOP | BOTTOM&nbsp;&nbsp;LEFT | CENTER | RIGHT</var>
+
+<p>
+Use <strong>PAGENUM_POS</strong> to change the default position of
+automatic page numbering. <strong>PAGENUM_POS</strong> requires
+<em>two</em> arguments: a vertical position (TOP or BOTTOM) and a
+horizontal position (LEFT or CENTER or RIGHT).
+<p>
+For example, if you turn both
+<a href="definitions.html#TERMS_HEADER">headers</a>
+and
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+off (with <code>.HEADERS OFF</code> and <code>.FOOTERS
+OFF</code)) and you want <strong>mom</strong> to number your
+pages at the top right position, enter
+<p>
+<pre>
+ .PAGENUM_POS TOP RIGHT
+</pre>
+
+<a name="#PAGENUM_HYPHENS"><h3><u>3. Enclose page numbers with hyphens (on or off)</u></h3></a>
+By default, <strong>mom</strong> encloses page numbers between hyphens.
+If you don't want this behaviour, invoke the macro
+<strong>PAGENUM_HYPHENS</strong> with any argument (<strong>OFF, QUIT, END, X...</strong>),
+like this:
+<p>
+<pre>
+ .PAGENUM_HYPHENS OFF
+</pre>
+
+If, for some reason, you want to turn page number hyphens back
+on, invoke the macro without an argument.
+
+<p>
+<hr>
+<a href="rectoverso.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docelement.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</body>
+</html>