diff options
Diffstat (limited to 'contrib/mom/momdoc/headfootpage.html')
-rw-r--r-- | contrib/mom/momdoc/headfootpage.html | 1081 |
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> +<a href="docelement.html#TOP">Prev</a> +<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 "string") +that identifies some aspect of the document as a whole. +<p> +The left part ("header left") lines up with the document's +left margin. The center part ("header center") is +centered on the document's line length. The right part ("header +right") 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">"headers" means "footers"</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> -- family for entire header + <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a> -- size for entire header + <li><a href="HDRFTR_PLAIN">HDRFTR_PLAIN</a> -- 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> -- left, center or right family + <li><a href="#_FONT">_FONT</a> -- left, center or right font + <li><a href="#_SIZE">_SIZE</a> -- left, center or right size + <li><a href="#_CAPS">_CAPS</a> -- 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>"<text of header left>" | #</var> +</a> +<br> +<a name="HDRFTR_CENTER"> + Macro: <strong>HEADER_CENTER</strong> <var>"<text of header center>" | #</var> +</a> +<br> +<a name="HDRFTR_RIGHT"> + Macro: <strong>HEADER_RIGHT</strong> <var>"<text of header right>" | #</var> +</a> + +<p> +To change the text (the "string") 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 "number" or +"pound" 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 <whichever> 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 "page 2 of 10", +header-right of page three will read "page 3 of 10", +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><family></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><+|-number of points></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 "<POSITION>" by <strong>LEFT, CENTER,</strong> +or <strong>RIGHT</strong> as appropriate. +<p> +<ul> + <li><a href="_FAMILY">HEADER_<POSITION>_FAMILY</a> + <li><a href="_FONT">HEADER_<POSITION>_FONT</a> + <li><a href="_SIZE">HEADER_<POSITION>_SIZE</a> + <li><a href="_CAPS">HEADER_<POSITION>_CAPS</a> +</ul> + +<hr width="33%" align="left"> +<p> +<a name="_FAMILY"> + Macro: <strong>HEADER_<POSITION>_FAMILY</strong> <var><family></var> +</a> +<p> +Use <strong>HEADER_<POSITION>_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_<POSITION>_FONT</strong> <var><font></var> +</a> +<p> +Use <strong>HEADER_<POSITION>_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_<POSITION>_SIZE</strong> <var><+|-number of points></var> +</a> +<p> +Use <strong>HEADER_<POSITION>_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_<POSITION>_CAPS</strong> <var>toggle</var> +</a> +<p> +<strong>HEADER_<POSITION>_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><distance to baseline of header></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><distance from header to start of running text></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><number></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 "first" 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 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> +<a href="docelement.html#TOP">Prev</a> +<a href="#TOP">Top</a> +<a href="toc.html">Back to Table of Contents</a> +</body> +</html> |