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