Initial import from FreeBSD RELENG_4:
[games.git] / contrib / groff / contrib / mom / momdoc / docprocessing.html
1 <html>
2 <head>
3 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
4 <title>Mom -- Document Processing, Introduction and Setup</title>
5 </head>
6 <body bgcolor="#dfdfdf">
7
8 <!====================================================================>
9
10 <a href="docelement.html#TOP">Next</a>&nbsp;&nbsp;
11 <a href="inlines.html#TOP">Prev</a>&nbsp;&nbsp;
12 <a href="toc.html">Back to Table of Contents</a>
13
14 <a name="TOP"></a>
15 <a name="DOCPROCESSING">
16         <h1 align="center"><u>DOCUMENT PROCESSING WITH MOM</u>
17 </h1>
18 </a>
19
20 <a href="#INTRO_MACROS_DOCPROCESSING">Introduction to document processing</a>
21 <br>
22 <a href="#DEFAULTS">Some document defaults</a>
23 <p>
24 <a href="#LEADING_NOTE">* IMPORTANT NOTE on leading/spacing and bottom margins *</a>
25 <p>
26 <ul>
27         <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a>
28         <br>
29         <a href="#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>
30         <br>
31         <ul>
32                 <li><a href="#REFERENCE_MACROS"><strong>The Reference Macros</strong></a>
33                 <ul>
34                         <li><a href="#TITLE">TITLE</a>
35                         <li><a href="#SUBTITLE">SUBTITLE</a>
36                         <li><a href="#AUTHOR">AUTHOR</a>
37                         <li><a href="#CHAPTER">CHAPTER</a>
38                         <li><a href="#DRAFT">DRAFT</a>
39                         <li><a href="#REVISION">REVISION</a>
40                 </ul>
41                 <li><a href="#DOCSTYLE_MACROS"><strong>The Docstyle Macros</strong></a>
42                 <ul>
43                         <li><a href="#DOCTYPE">DOCTYPE</a>
44                         <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
45                         <li><a href="#COPYSTYLE">COPYSTYLE</a>
46                 </ul>
47                 
48                 <li><a href="#STYLE_BEFORE_START"><strong>Changing type/style parameters prior to START</strong></a>
49                 <ul>
50                         <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a>
51                         <li><a href="#DOC_LEAD_ADJUST">Adjusting document leading to fill pages -- DOC_LEAD_ADJUST</a>
52                         <li><a href="#DOCHEADER">Managing the document header</a>
53                         <ul>
54                                 <li><a href="#DOCHEADER">DOCHEADER -- turning docheaders off</a>
55                                 <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
56                         </ul>
57                 </ul>
58
59                 <li><a href="#COLUMNS_INTRO"><strong>Setting documents in columns</strong></a>
60                 <ul>
61                         <li><a href="#COLUMNS">COLUMNS</a>
62                         <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a>
63                         <ul>
64                             <li><a href="#COL_NEXT">COL_NEXT</a>
65                             <li><a href="#COL_BREAK">COL_BREAK</a>
66                         </ul>
67
68                 </ul>
69
70                 <li><a href="#START_MACRO"><strong>Initiate document processing</strong></a>
71                 <ul>
72                         <li><a href="#START">START</a>
73                 </ul>
74         
75                 <li><a href="#DOC_PARAM_MACROS"><strong>Changing document-wide typesetting parameters after START</strong></a>
76                 <ul>
77                         <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
78                         <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
79                         <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a>
80                         <li><a href="#DOC_FAMILY">DOC_FAMILY</a>
81                         <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a>
82                         <li><a href="#DOC_LEAD">DOC_LEAD</a>
83                         <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
84                         <li><a href="#DOC_QUAD">DOC_QUAD</a>
85                 </ul>
86                 <br>
87                 <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong></a>
88                 <ul>
89                         <li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the document element tags</a>
90                         <ul>
91                                 <li><a href="docelement.html#DOCELEMENT_CONTROL">Document element (tag) control macros</a>
92                                 <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
93                         </ul>
94                         <li><a href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a>
95                         <ul>
96                                 <li><a href="docelement.html#EPIGRAPH">EPIGRAPH</a>
97                                 <li><a href="docelement.html#EPIGRAPH_CONTROL">Epigrah control</a>
98                         </ul>
99                         <li><a href="docelement.html#PP_INTRO"><strong>Paragraphs</strong></a>
100                         <ul>
101                                 <li><a href="docelement.html#PP">PP</a>
102                                 <li><a href="docelement.html#PP_CONTROL">Paragraph control</a>
103                         </ul>
104                         <li><a href="docelement.html#HEAD_INTRO"><strong>Main heads</strong></a>
105                         <ul>
106                                 <li><a href="docelement.html#HEAD">HEAD</a>
107                                 <li><a href="docelement.html#HEAD_CONTROL">Head control</a>
108                         </ul>
109                         <li><a href="docelement.html#SUBHEAD_INTRO"><strong>Subheads</strong></a>
110                         <ul>
111                                 <li><a href="docelement.html#SUBHEAD">SUBHEAD</a>
112                                 <li><a href="docelement.html#SUBHEAD_CONTROL">Subhead control</a>
113                         </ul>
114                         <li><a href="docelement.html#PARAHEAD_INTRO"><strong>Paragraph heads</strong></a>
115                         <ul>
116                                 <li><a href="docelement.html#PARAHEAD">PARAHEAD</a>
117                                 <li><a href="docelement.html#PARAHEAD_CONTROL">Parahead control</a>
118                         </ul>
119                         <li><a href="docelement.html#LINEBREAK_INTRO"><strong>Linebreaks (author linebreaks)</strong></a>
120                         <ul>
121                                 <li><a href="docelement.html#LINEBREAK">LINEBREAK</a>
122                                 <li><a href="docelement.html#LINEBREAK_CONTROL">Linebreak control</a>
123                         </ul>
124                         <li><a href="docelement.html#QUOTE_INTRO"><strong>Quotes (line for line poetic quotes)</strong></a>
125                         <ul>
126                                 <li><a href="docelement.html#QUOTE">QUOTE</a>
127                                 <li><a href="docelement.html#QUOTE_CONTROL">Quote control</a>
128                         </ul>
129                         <li><a href="docelement.html#BLOCKQUOTE_INTRO"><strong>Blockquotes (cited material)</strong></a>
130                         <ul>
131                                 <li><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a>
132                                 <li><a href="docelement.html#BLOCKQUOTE_CONTROL">Blockquote control</a>
133                         </ul>
134                         <li><a href="docelement.html#FOOTNOTE_INTRO"><strong>Footnotes</strong></a>
135                         <ul>
136                                 <li><a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
137                                 <li><a href="docelement.html#FOOTNOTE_CONTROL">Footnote control</a>
138                         </ul>
139                         <li><a href="docelement.html#ENDNOTE_INTRO"><strong>Endnotes</strong></a>
140                         <ul>
141                                 <li><a href="docelement.html#ENDNOTE">ENDNOTE</a>
142                                 <li><a href="docelement.html#ENDNOTE_CONTROL">Endnote control</a>
143                         </ul>
144                         <li><a href="docelement.html#FINIS_INTRO"><strong>Document termination</strong></a>
145                         <ul>
146                                 <li><a href="docelement.html#FINIS">FINIS</a>
147                                 <li><a href="docelement.html#FINIS_CONTROL">Finis control</a>
148                         </ul>
149                 </ul>
150                 
151                 <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>HEADERS and FOOTERS</strong></a>
152                 <br>
153                 <ul>
154                         <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">Introduction to headers/footers</a>
155                         <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">Managing headers/footers</a>
156                         <ul>
157                                 <li><a href="headfootpage.html#HEADERS">HEADERS</a> -- on or off
158                                 <li><a href="headfootpage.html#FOOTERS">FOOTERS</a> -- on or off
159                                 <li><a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a>
160                         </ul>
161                         <li><a href="headfootpage.html#HEADFOOT_CONTROL">Header/footer control</a>
162                         <ul>
163                                 <li><a href="headfootpage.html#HDRFTR_STRINGS">Header/footer strings</a>
164                                 <li><a href="headfootpage.html#HDRFTR_STYLE">Header/footer style</a> -- global and part-by-part
165                                 <li><a href="headfootpage.html#HDRFTR_VERTICAL">Header/footer placement and spacing</a>
166                                 <li><a href="headfootpage.html#HDRFTR_SEPARATOR">The header/footer separator rule</a>
167                         </ul>
168                 </ul>
169                 <li><a href="headfootpage.html#PAGINATION"><strong>PAGINATION</strong></a>
170                 <br>
171                 <ul>
172                         <li><a href="headfootpage.html#PAGINATE">PAGINATE</a> -- on or off
173                         <li><a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a> -- user supplied page number
174                         <li><a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc.
175                         <li><a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- attach draft/revision information to page numbers
176                         <li><a href="headfootpage.html#PAGINATE_CONTROL">Pagination control</a>
177                 </ul>
178                 <br>
179                 <li><a href="rectoverso.html#RECTOVERSO"><strong>RECTO_VERSO PRINTING and COLLATING</strong></a>
180                 <br>
181                 <ul>
182                         <li><a href="rectoverso.html#RECTOVERSO_INTRO">Introduction to recto/verso</a>
183                         <ul>
184                                 <li><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>
185                                 <li><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> (also FOOTERS)
186                         </ul>
187                         <li><a href="rectoverso.html#COLLATE_INTRO">Introduction to collating</a>
188                         <ul>
189                                 <li><a href="rectoverso.html#COLLATE">COLLATE</a>
190                         </ul>
191                 </ul>
192         
193                 <li><a href="cover.html#COVER"><strong>CREATING A COVER PAGE</strong></a>
194                 <br>
195                 <li><a href="letters.html#LETTERS"><strong>WRITING LETTERS</strong></a>
196                 <ul>
197                         <li><a href="letters.html#LETTERS_INTRO">Introduction to writing letters</a>
198                         <li><a href="letters.html#TUTORIAL">Tutorial on writing letters</a>
199                         <li><a href="letters.html#LETTERS_DEFAULTS">Default style for letters</a>
200                         <li><a href="letters.html#LETTERS_MACROS">The letter macros</a>
201                 </ul>
202         </ul>
203 </ul>
204 <hr>
205
206 <h2><a name="INTRO_MACROS_DOCPROCESSING"><u>Introduction to document processing</u></a></h2>
207 <p>
208 As explained in
209 <a href="intro.html#INTRO_DOCPROCESSING">Document processing with mom</a>,
210 document processing uses markup tags to identify document elements
211 like heads, paragraphs, and so on.  The tags are, of course, macros,
212 but with sensible, readable names that make them easy to grasp and
213 easy to remember.  (And don't forget: if you don't like the
214 &quot;official&quot; name of a tag -- too long, cumbersome
215 to type in, not &quot;intuitive&quot; enough -- you can change it
216 with the
217 <a href="goodies.html#ALIAS">ALIAS</a>
218 macro.)
219 <p>
220 In addition to the tags themselves, <strong>mom</strong> has an
221 extensive array of macros that control how they look and behave.
222 <p>
223 Setting up a <strong>mom</strong> doc is a simple, four-part procedure.
224 You begin by entering information about the document itself (title,
225 subtitle, author, etc.).  Next, you tell <strong>mom</strong> what
226 kind of document you're creating (e.g. chapter, letter, abstract,
227 etc...) and what kind of output you want (typeset, typewrittten,
228 draft-style, etc).  Thirdly, you make as many or as few changes to
229 <strong>mom</strong>'s default behaviour as you wish.  Lastly, you
230 invoke the
231 <a href="#START">START</a>
232 macro.  Voilà!  You're ready to write.
233 <br>
234 <hr>
235
236
237 <h2><a name="DEFAULTS"><u>Some document defaults</u></a></h2>
238
239 As is to be expected, <strong>mom</strong> has defaults for everything.
240 If you want to know a particular default, read about it in the
241 description of the pertinent tag.
242 <p>
243 I fear the following may not be adequately covered in the
244 documentation.  Just in case, here they are.
245 <p>
246 <ul>
247         <li>the paper size is 8.5x11 inches
248         <li>the left and right margins are 1-inch
249         <li>the top and bottom margins for document text are plus/minus
250                 visually 1-inch
251         <li>pages are numbered; the number appears centered, at the
252                 bottom, surrounded by hyphens ( e.g. -6- )
253         <li>the first page of a document begins with a
254                 <a href="definitions.html#TERMS_DOCHEADER">document header</a>
255         <li>subsequent pages have
256                 <a href="definitions.html#TERMS_HEADER">page headers</a>
257                 with a rule underneath
258 </ul>
259 <p>
260 Another way to check up on document processing defaults is to have
261 a look at the macro file (om.tmac).  Each macro is preceded by a
262 description that (generally) says what its default is (if it has
263 one).
264 <br>
265 <hr>
266
267 <a name="LEADING_NOTE">
268         <h2><u>IMPORTANT NOTE on leading/spacing and  bottom margins</u></h2>
269 </a>
270
271 <strong>Mom</strong> takes evenly-aligned  bottom margins in
272 <a href="definitions.html#TERMS_RUNNING">running text</a>
273 very seriously.  Only under a very few (exceptional) circumstances
274 will she allow a bottom margin to &quot;hang&quot; (i.e. to fall
275 short).
276 <p>
277 In order to ensure even bottom margins, <strong>mom</strong>
278 uses the &quot;base&quot; document
279 <a href="definitions.html#TERMS_LEADING">leading</a>
280 in effect <em>at the start of each page</em> (i.e. the leading used
281 in paragraphs) to calculate the spacing of every document element.
282 Prior to invoking
283 <a href="#START">START</a>,
284 this is done with the
285 <a href="typesetting.html#MACROS_TYPESETTING">typesetting macro</a>
286 <a href="typesetting.html#LEADING">LS</a>,
287 afterwards with the document
288 <a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
289 <a href="#DOC_LEAD">DOC_LEAD</a>.
290 <p>
291 Because <strong>mom</strong> relies so heavily on the base document
292 leading, any change to the leading or spacing on a page will almost
293 certainly have undesirable consequences on that page's bottom margin
294 unless the change is fully compensated for elsewhere on the page.
295 <p>
296 In other words, if you add a few points of space somewhere on a page,
297 you must subtract the same number of points somewhere else on that
298 same page, and vice versa.
299 <p>
300 If it's a question of adding or subtracting full line spaces between
301 or within document elements, you can do so by using the &quot;v&quot;
302 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
303 with whatever spacing macro you choose --
304 <a href="typesetting.html#ALD">ALD</a>,
305 <a href="typesetting.html#RLD">RLD</a>,
306 <a href="typesetting.html#SPACE">SPACE</a>
307 -- and <strong>mom</strong> won't object.  &quot;v&quot; means
308 &quot;the current leading&quot;, so she isn't confused by it.  And
309 since &quot;v&quot; accepts decimal fractions, you can add/subtract
310 half linespaces and quarter linespaces with &quot;v&quot; as well,
311 <em>provided you compensate for the fractional linespace somewhere
312 else on the page</em>.
313 <br>
314 <hr>
315
316 <a name="SETUP"><h2><u>Document setup</u></h2></a>
317
318 <a name="DOCPROCESSING_TUT">
319         <h3><u>Tutorial -- Setting up a mom document</u></h3>
320 </a>
321 <p>
322 There are four &quot;parts&quot; to setting up a <strong>mom</strong>
323 doc (three, actually, with one optional).  Before we proceed, though,
324 be reassured that something as simple as
325 <p>
326 <pre>
327         .TITLE     "By the Shores of Lake Attica"
328         .AUTHOR    "Rosemary Winspeare"
329         .PRINTSTYLE TYPESET
330         .START
331 </pre>
332
333 produces a beautifully typeset 8.5x11 document, with a
334 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
335 at the top of page 1,
336 <a href="definitions.html#TERMS_HEADER">page headers</a>
337 with the title and author on subsequent
338 pages, and page numbers at the bottom of each page.  In the course
339 of the document, heads, subheads, citations, quotes, epigraphs,
340 and so on, all come out looking neat, trim, and professional.
341 <p>
342 For the purposes of this tutorial, we're going to set up a short
343 story -- <em>My Pulitzer Winner</em> by Joe Blow.  Thankfully,
344 we don't have to look at story itself, just the setup.
345 Joe wants the document
346 <p>
347 <ul>
348         <li>to be draft 7, revision 39;
349         <li>to use the &quot;default&quot; style of document formatting:
350         <li>to print as draft-style output (instead of &quot;final&quot; copy output);
351         <li>to be typeset, in Helvetica, 12 on 14,
352                 <a href="definitions.html#TERMS_RAG">rag-right</a>;
353         <li>to have <a href="definitions.html#TERMS_FOOTER">footers</a>
354                 instead of
355                 <a href="definitions.html#TERMS_HEADER">headers</a>;
356         <li>to use a single asterisk for
357                 <a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a>.
358 </ul>
359 <p>
360 Joe Blow has no taste in typography.  His draft won't look pretty,
361 but this is, after all, a tutorial; we're after examples, not beauty.
362 <h3><u>Step 1</u></h3>
363
364 The first step in setting up any document is giving <strong>mom</strong>
365 some reference information.  The reference macros are:
366 <p>
367 <ul>
368         <li>TITLE
369         <li>SUBTITLE
370         <li>AUTHOR
371         <li>CHAPTER -- the chapter number
372         <li>DRAFT -- the draft number
373         <li>REVISION -- the revision number
374 </ul>
375 <p>
376 You can use as many or as few as you wish, although at a minimum,
377 you'll probably fill in <strong>TITLE</strong> (unless the document's
378 a letter) and <strong>AUTHOR</strong>.  Order doesn't matter.
379 You can separate the
380 <a href="definitions.html#TERMS_ARGUMENTS">arguments</a>
381 from the macros by any number of spaces.  The following are
382 what you'd need to start Joe Blow's story.
383 <p>
384 <pre>
385         .TITLE    "My Pulitzer Winner"
386         .AUTHOR   "Joe Blow"
387         .DRAFT     7
388         .REVISION  39
389 </pre>
390
391 <h3><u>Step 2</u></h3>
392
393 Once you've given <strong>mom</strong> the reference information she
394 needs, you tell her how you want your document formatted.  What kind
395 of document is it?  Should it be typeset or typewritten?  Is this
396 a &quot;final&quot; copy (for the world to see) or just a draft?
397 <strong>Mom</strong> calls the macros that answer these questions
398 &quot;the docstyle macros.&quot;  They are:
399 <p>
400 <ul>
401         <li>DOCTYPE -- the type of document (default, chapter, user-defined, letter)
402         <li>PRINTSTYLE -- typeset or typewritten
403         <li>COPYSTYLE  -- draft or final copy
404 </ul>
405 <p>
406 <strong>Mom</strong> has defaults for <strong>DOCTYPE</strong>
407 and <strong>COPYSTYLE</strong>; if they're what you want, you
408 don't need to include them here.  However, <strong>PRINTSTYLE</strong>
409 has no default and MUST be present in every formatted document.
410 If you omit it, <strong>mom</strong> won't process the document AND
411 she'll complain (both to stderr and as a single printed sheet with
412 a warning).  Moms -- they can be so annoying sometimes. &lt;sigh&gt;
413 <p>
414 Adding to what we already have, the next bit of setup for Joe
415 Blow's story looks like this:
416 <p>
417 <pre>
418         .TITLE    "My Pulitzer Winner"
419         .AUTHOR   "Joe Blow"
420         .DRAFT     7
421         .REVISION  39
422         \#
423         .DOCTYPE     DEFAULT \"Superfluous; mom uses DOCTYPE DEFAULT by default
424         .PRINTSTYLE  TYPESET
425         .COPYSTYLE   DRAFT
426 </pre>
427
428 Notice the use of the
429 <a href="definitions.html#TERMS_COMMENTLINES">comment line</a>
430 ( \# ), a handy way to keep groups of macros visually separated
431 for easy reading in a text editor.
432
433 <h3><u>Step 3</u></h3>
434
435 This step -- completely optional -- is where you, the user, take
436 charge.  <strong>Mom</strong> has defaults for <em>everything</em>,
437 but who's ever satisfied with defaults?  Use any of the <a
438 href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
439 here to change <strong>mom</strong>'s document defaults (paper
440 size, margins, family, point size, line space, rag, etc), or
441 any of the document processing macros that set/change/control
442 the appearance of document elements.  Think of this as the
443 &quot;style-sheet &quot; section of a document.
444 <p>
445 Joe Blow wants his story printed in Helvetica, 12 on 14, rag
446 right, with
447 <a href="definitions.html#TERMS_FOOTER">page footers</a>
448 instead of
449 <a href="definitions.html#TERMS_HEADER">page headers</a>
450 and a single asterisk for the
451 <a href="definitions.html#TERMS_LINEBREAK">linebreak</a>
452 character.  None of these requirements conforms
453 to <strong>mom</strong>'s defaults for the chosen
454 <strong>PRINTSTYLE</strong> (TYPESET), so we change them here.
455 The setup for Joe Blow's story now looks like this:
456 <p>
457 <pre>
458         .TITLE    "My Pulitzer Winner"
459         .AUTHOR   "Joe Blow"
460         .DRAFT     7
461         .REVISION  39
462         \#
463         .DOCTYPE     DEFAULT
464         .PRINTSTYLE  TYPESET
465         .COPYSTYLE   DRAFT
466         \#
467         .FAMILY  H
468         .PT_SIZE 12
469         .LS      14
470         .QUAD    LEFT    \"ie. rag right
471         .FOOTERS
472         .LINEBREAK_CHAR *
473 </pre>
474
475 <h3><u>Step 4</u></h3>
476 The final step in setting up a document is telling <strong>mom</strong>
477 to start document processing.  It's a no-brainer, just the single macro
478 <strong>START</strong>.  Other than <strong>PRINTSTYLE</strong>, it's
479 the only macro required for document processing (although
480 I can't guarantee you'll like the results of using just the two).
481 <p>
482 Here's the complete setup for <em>My Pulitzer Winner</em>:
483 <p>
484 <pre>
485         .TITLE    "My Pulitzer Winner"
486         .AUTHOR   "Joe Blow"
487         .DRAFT     7
488         .REVISION  39
489         \#
490         .DOCTYPE     DEFAULT
491         .PRINTSTYLE  TYPESET
492         .COPYSTYLE   DRAFT
493         \#
494         .FAMILY   H
495         .PT_SIZE  12
496         .LS       14
497         .QUAD     LEFT    \"ie. rag right
498         .FOOTERS
499         .LINEBREAK_CHAR *
500         \#
501         .START
502 </pre>
503
504 As pointed out earlier, Joe Blow is no typographer.  Given that all he
505 needs is a printed draft of his work, a simpler setup would have been:
506 <p>
507 <pre>
508         .TITLE    "My Pulitzer Winner"
509         .AUTHOR   "Joe Blow"
510         .DRAFT     7
511         .REVISION  39
512         \#
513         .PRINTSTYLE  TYPEWRITE
514         .COPYSTYLE   DRAFT
515         \#
516         .START
517 </pre>
518
519 <kbd>.PRINTSTYLE TYPEWRITE</kbd>, above, means that Joe's work
520 will come out &quot;typewritten, double-spaced&quot;, making the
521 blue-pencilling he (or someone else) is sure to do much
522 easier (which is why many publishers and agents still insist on
523 typewritten, double-spaced copy).
524 <p>
525 When J. Blow stops re-writing and decides to print off a final,
526 typeset copy of his work for the world to see, he need only
527 make two changes to the (simplified) setup:
528 <p>
529 <pre>
530         .TITLE    "My Pulitzer Winner"
531         .AUTHOR   "Joe Blow"
532         .DRAFT     7
533         .REVISION  39
534         \#
535         .PRINTSTYLE  TYPESET  \"first change
536         .COPYSTYLE   FINAL    \"second change
537         \#
538         .START
539 </pre>
540
541 In the above, <kbd>.DRAFT 7, .REVISION 39,</kbd> and <kbd>.COPYSTYLE
542 FINAL</kbd> are actually superfluous.  The draft and revision numbers
543 aren't used when <strong>COPYSTYLE</strong> is <strong>FINAL</strong>,
544 and <strong>COPYSTYLE FINAL</strong> is <strong>mom</strong>'s
545 default unless you tell her otherwise.  BUT... to judge from the
546 number of drafts already, J. Blow may very well decide his
547 &quot;final&quot; version still isn't up to snuff.  Hence, he might
548 as well leave in the superfluous macros.  That way, when draft 7,
549 rev. 62 becomes draft 8, rev. 1, he'll be ready to tackle his Pulitzer
550 winner again.
551 <br>
552 <hr>
553
554 <!========================================================================>
555
556 <a name="REFERENCE_MACROS">
557         <h2><u>The Reference Macros</u></h2>
558 </a>
559
560 The reference macros give <strong>mom</strong> the information
561 she needs to generate
562 <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>
563 and
564 <a href="definitions.html#TERMS_HEADER">page headers</a>.  They
565 must go at the top of any file that uses <strong>mom</strong>'s
566 document processing macros.
567
568 <a name="INDEX_REFERENCE">
569         <h3><u>Reference macros list</u></h3>
570 </a>
571
572 <ul>
573         <li><a href="#TITLE">TITLE</a>
574         <li><a href="#SUBTITLE">SUBTITLE</a>
575         <li><a href="#AUTHOR">AUTHOR</a>
576         <li><a href="#CHAPTER">CHAPTER</a>
577         <li><a href="#DRAFT">DRAFT</a>
578         <li><a href="#REVISION">REVISION</a>
579 </ul>
580
581 <!---TITLE--->
582
583 <hr width="66%" align="left">
584 <p>
585 <a name="TITLE"></a>
586 Macro: <strong>TITLE</strong> <var>&quot;&lt;title&gt;&quot;</var>
587 <br>
588 <em>*Argument must be enclosed in double-quotes</em>
589
590 <p>
591 The title string can be caps or caps/lower-case; it's up to you.
592 In
593 <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
594 the title will appear in the
595 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
596 exactly as you typed it.  However, <strong>mom</strong> converts
597 the title to all caps in
598 <a href="definitions.html#TERMS_HEADER">page headers</a>
599 unless you turn that feature off (see
600 <a href="headfootpage.html#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>). In
601 <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
602 the title always gets converted to caps.
603 <p>
604 <strong>NOTE:</strong> If your
605 <a href="#DOCTYPE">DOCTYPE</a>
606 is <strong>CHAPTER</strong>, <strong>TITLE</strong> should be the
607 title of the opus, not &quot;CHAPTER whatever&quot;.
608 <br>
609
610 <!---SUBTITLE--->
611
612 <hr width="66%" align="left">
613 <p>
614 <a name="SUBTITLE"></a>
615 Macro: <strong>SUBTITLE</strong> <var>&quot;&lt;subtitle&gt;&quot;</var>
616 <br>
617 <em>*Argument must be enclosed in double-quotes</em>
618
619 <p>
620 The subtitle string can be caps or caps/lower-case.  Since a
621 document's subtitle appears only in the
622 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
623 and the title is most likely in caps, I recommend caps/lower case.
624 <br>
625
626 <!---AUTHOR--->
627
628 <hr width="66%" align="left">
629 <p>
630 <a name="AUTHOR"></a>
631 Macro: <strong>AUTHOR</strong> <var>&quot;&lt;author string&gt;&quot; [ &quot;&lt;author2 string&gt;&quot; &quot;&lt;author3 string&gt;&quot; ... ]</var>
632 <br>
633 <em>*Multiple arguments must be enclosed in double-quotes</em>
634
635 <p>
636 Each author string can hold as many names as you like, e.g.
637 <p>
638 <pre>
639         .AUTHOR "Joe Blow"
640             or
641         .AUTHOR "Joe Blow, Jane Doe" "John Hancock"
642 </pre>
643
644 <strong>Mom</strong> prints each string that's enclosed in
645 double-quotes on a separate line in the
646 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
647 however only the first string appears in
648 <a href="definitions.html#TERMS_HEADER">page headers</a>.
649 If you want <strong>mom</strong> to put something else in the author
650 part of page headers (say, just the last names of a document's two
651 authors), redefine the appropriate part of the header (see
652 <a href="headfootpage.html#HEADER_CONTROL">header/footer control</a>).
653 <p>
654 The strings can be caps or caps/lower-case.  I recommend caps/lower
655 case.
656 <br>
657
658 <!---CHAPTER--->
659
660 <hr width="66%" align="left">
661 <p>
662 <a name="CHAPTER"></a>
663 Macro: <strong>CHAPTER</strong> <var>&lt;chapter number&gt;</var>
664
665 <p>
666 The chapter number can be in any form you like -- a digit, a roman
667 numeral, a word.  If you choose
668 <a href="#DOCTYPE">DOCTYPE CHAPTER</a>,
669 <strong>mom</strong> prints whatever argument you pass
670 <strong>CHAPTER</strong> beside the word &quot;Chapter&quot; as a
671 single line
672 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>.
673 She also puts the same thing in the middle of
674 <a href="definitions.html#TERMS_HEADER">page headers</a>.
675 <p>
676 If you're not using <strong>DOCTYPE CHAPTER</strong>, the macro serves
677 no purpose and <strong>mom</strong> ignores it.
678 <a name="CHAPTER_STRING"></a>
679 <p>
680 If you're not writing in English, you can ask <strong>mom</strong>
681 to use the word for chapter in your own language by telling
682 her what it is with the <strong>CHAPTER_STRING</strong> macro,
683 like this:
684 <p>
685 <pre>
686         .CHAPTER_STRING "Chapître"
687 </pre>
688
689 You can also use <strong>CHAPTER_STRING</strong> if you want
690 &quot;CHAPTER&quot; instead of &quot;Chapter&quot; in the doc- and
691 page-headers.  (See also the
692 <a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>.)
693 <br>
694
695 <!---DRAFT--->
696
697 <hr width="66%" align="left">
698 <p>
699 <a name="DRAFT"></a>
700 Macro: <strong>DRAFT</strong> <var>&lt;draft #&gt;</var>
701
702 <p>
703 <strong>DRAFT</strong> only gets used with
704 <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
705 If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> (the
706 default), <strong>mom</strong> ignores <strong>DRAFT</strong>.
707 <strong>DRAFT</strong> only accepts a
708 <a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>.
709 <p>
710 <strong>Mom</strong> prints the draft number beside the word
711 &quot;Draft&quot; in the middle part of
712 <a href="definitions.html#TERMS_HEADER">page headers</a>.
713 If you're not writing in English, you can ask <strong>mom</strong>
714 to use the word for draft in your own language by telling
715 her what it is with the <strong>DRAFT_STRING</strong> macro,
716 like this:
717 <p>
718 <pre>
719         .DRAFT_STRING "Ébauche"
720 </pre>
721
722 <!---REVISION--->
723
724 <hr width="66%" align="left">
725 <p>
726 <a name="REVISION"></a>
727 Macro: <strong>REVISION</strong> <var>&lt;revision #&gt;</var>
728
729 <p>
730 <strong>REVISION</strong> only gets used with
731 <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
732 If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong>
733 (the default), <strong>mom</strong> ignores the
734 <strong>REVISION</strong> macro.  <strong>REVISION</strong> only
735 accepts a
736 <a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>.
737 <p>
738 <strong>Mom</strong> prints the revision number beside the shortform
739 &quot;Rev.&quot; in the middle part of
740 <a href="definitions.html#TERMS_HEADER">page headers</a>.
741 If you're not writing in English, you can ask <strong>mom</strong>
742 to use the word for revision, or a shortform therof in your own language
743 by telling her what it is with the <strong>REVISION_STRING</strong>
744 macro, like this:
745 <p>
746 <pre>
747         .REVISION_STRING "Rév."
748 </pre>
749 <hr>
750
751 <!========================================================================>
752
753 <a name="DOCSTYLE_MACROS">
754         <h2><u>The Docstyle Macros</u></h2>
755 </a>
756
757 The docstyle macros tell <strong>mom</strong> what type of document you're
758 writing, whether you want the output typeset or
759 &quot;typewritten&quot;, and whether you want a draft copy (with
760 draft and revision information in the headers) or a final copy.
761
762 <a name="INDEX_DOCSTYLE">
763         <h3><u>Docstyle macros list</u></h3>
764 </a>
765
766 <ul>
767         <li><a href="#DOCTYPE">DOCTYPE</a>
768         <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
769         <ul>
770                 <li><a href="#TYPESET_DEFAULTS">Defaults for PRINTSTYLE TYPESET</a>
771                 <li><a href="#TYPEWRITE_DEFAULTS">Defaults for PRINTSTYLE TYPEWRITE</a>
772                 <ul>
773                         <li><a href="#TYPEWRITE_CONTROL">TYPEWRITE control macros</a>
774                 </ul>
775         </ul>
776         <li><a href="#COPYSTYLE">COPYSTYLE</a>
777 </ul>
778
779 <!---DOCTYPE--->
780
781 <hr width="66%" align="left">
782 <p>
783 <a name="DOCTYPE"></a>
784 Macro: <strong>DOCTYPE</strong> <var>DEFAULT | CHAPTER | NAMED &quot;&lt;name&gt;&quot; | LETTER</var>
785 <p>
786 The arguments <strong>DEFAULT, CHAPTER</strong> and
787 <strong>NAMED</strong> tell <strong>mom</strong> what to put
788 in the
789 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
790 and
791 <a href="definitions.html#TERMS_HEADER">page headers</a>.
792 <strong>LETTER</strong> tells her that you want to write a
793 lettter.
794 <p>
795 <strong>Mom</strong>'s default <strong>DOCTYPE</strong> is
796 <strong>DEFAULT</strong>.  If that's what you want, you don't
797 have to give a <strong>DOCTYPE</strong> command.
798 <p>
799 <strong>DEFAULT</strong> prints a
800 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
801 containing the title, subtitle and author information given to the
802 <a href="#REFERENCE_MACROS">reference macros</a>,
803 and page headers with the author and title.
804 (See
805 <a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
806 for how <strong>mom</strong>'s outputs each part of the page header.)
807 <p>
808 <strong>CHAPTER</strong> prints &quot;Chapter #&quot; in place of a
809 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
810 (# is what you gave to
811 <a href="#CHAPTER">CHAPTER</a>),
812 or, if you omit the <strong>CHAPTER</strong> macro and give the chapter
813 a title with
814 <a href="#CHAPTER_STRING">CHAPTER_STRING</a>,
815 <strong>mom</strong> prints the chapter title.  Page headers contain the
816 author, the title of the book (which you gave with
817 <a href="#TITLE">TITLE</a>),
818 and &quot;Chapter #&quot; (or the chapter title).  See
819 <a href="headfootpage.html#HEADER_STYLE">Default Specs for Headers</a>
820 for <strong>mom</strong>'s default type parameters for each part of
821 the page header.
822 <p>
823 <em>*See the
824 <a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>
825 below for how you can make DOCTYPE CHAPTER print something
826 other than &quot;Chapter #&quot; as its docheader.</em>
827 <p>
828 <strong>NAMED</strong> takes an additional argument: a name
829 for this particular kind of document  (e.g. outline, synopsis,
830 abstract, memorandum), enclosed in double-quotes.
831 <strong>NAMED</strong> is identical to <strong>DEFAULT</strong>
832 except that <strong>mom</strong> prints the argument to
833 <strong>NAMED</strong> beneath the
834 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
835 as well as in page headers.
836 (See
837 <a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
838 for how <strong>mom</strong>'s outputs each part of the page header.)
839 <p>
840 <strong>LETTER</strong> tells mom you're writing a letter.  See
841 the section
842 <a href="letters.html#INTRO">Writing Letters</a>
843 for instructions on using <strong>mom</strong> to format letters.
844
845 <a name="CHAPTER_NOTE"><h3><u>Special Note on CHAPTER</u></h3></a>
846 In novels, new chapters are generally (but not always)
847 introduced by &quot;Chapter #&quot;.  Other types of documents
848 (reports and so on) often require specific titles for chapters.
849 If your document is of this latter type, use <strong>DOCTYPE
850 CHAPTER</strong> in the following way:
851 <br>
852 <ol>
853         <li>Omit the
854                 <a href="#REFERENCE_MACROS">reference macro</a>
855                 <a href="#CHAPTER">CHAPTER</a>
856         <li>Invoke
857                 <a href="#CHAPTER_STRING">.CHAPTER_STRING</a>
858                 with the title you'd like the chapter to have (enclosed
859                 in double-quotes, of course).
860 </ol>
861 <p>
862 Here's a recipe for setting up a chapter entitled &quot;The DMCA
863 Nazis&quot;.
864 <pre>
865         .AUTHOR &quot;Outraged Hacker&quot;
866         .TITLE  &quot;Limiting Copyright&quot;
867         \#
868         .DOCTYPE    CHAPTER
869         .PRINTSTYLE TYPESET
870         \#
871         .CHAPTER_STRING &quot;The DMCA Nazis&quot;
872 </pre>
873 <br>
874
875 <!---PRINTSTYLE--->
876
877 <hr width="66%" align="left">
878 <p>
879 <a name="PRINTSTYLE"></a>
880 Macro: <strong>PRINTSTYLE</strong> <var>TYPESET | TYPEWRITE [ SINGLESPACE ]</var>
881 <br>
882 <em>*Required for document processing.</em>
883
884 <p>
885 <strong>PRINTSTYLE</strong> tells <strong>mom</strong> whether to typeset
886 a document, or to print it out &quot;typewritten, doubled-spaced&quot;.
887 <p>
888 <strong>THIS MACRO MAY NOT BE OMITTED.</strong>  In order for
889 document processing to take place, <strong>mom</strong> requires
890 a <strong>PRINTSTYLE</strong>.  If you don't give one,
891 <strong>mom</strong> will warn you on stderr and print a single
892 page with a nasty message.
893 <p>
894 <strong>TYPESET</strong>, as the argument implies, typesets documents
895 (by default in Times Roman; see
896 <a href="#TYPESET_DEFAULTS">TYPESET defaults</a>).
897 You have full access to all the
898 <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
899 as well as the
900 <a href="definitions.html#STYLE_CONTROL">style control macros</a>
901 of document processing.
902 <p>
903 With <strong>TYPEWRITE</strong>, <strong>mom</strong> does her best
904 to reproduce the look and feel of typewritten, double-spaced copy (see
905 <a href="#TYPEWRITE_DEFAULTS">TYPEWRITE defaults</a>).
906 <a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a>
907 and
908 <a href="typesetting.html#INTRO_MACROS_TYPESETTING">typesetting macros</a>
909 that alter family, font, point size, and
910 <a href="definitions.html#TERMS_LEADING">leading</a>
911 are (mostly) ignored.  An important exception is
912 <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
913 (and, by extension, <strong>FOOTER_SIZE</strong>), which allows
914 you to reduce the point size of headers/footers should they become
915 too crowded.  Most of <strong>mom</strong>'s inlines affecting the
916 appearance of type are also ignored (<strong>\*S</strong> is an
917 exception; there may be a few others).
918 <p>
919 In short, <strong>TYPEWRITE</strong> never produces effects other than
920 those available on a typewriter.  Don't be fooled by how brainless
921 this sounds; <strong>mom</strong> is remarkably sophisticated when
922 it comes to conveying the typographic sense of a document within the
923 confines of <strong>TYPEWRITE</strong>.
924 <p>
925 The primary uses of <strong>TYPEWRITE</strong> are: outputting hard
926 copy drafts of your work (for editing), and producing documents
927 for submission to publishers and agents who (wisely) insist on
928 typewritten, double-spaced copy. To get a nicely typeset version of
929 work that's in the submission phase of its life (say, to show fellow
930 writers for critiquing), simply change <strong>TYPEWRITE</strong>
931 to <strong>TYPESET</strong> and print out a copy.
932 <p>
933 If, for some reason, you would prefer the output of
934 <strong>TYPEWRITE</strong> single-spaced, pass <strong>PRINTSTYLE
935 TYPEWRITE</strong> the optional argument, <strong>SINGLESPACE</strong>.
936 <p>
937 If you absolutely must have a leading other than typewriter double-
938 or singlespaced, the only way to get it is with the
939 <a href="#DOC_LEAD">DOC_LEAD</a>
940 macro, and then ONLY if <strong>DOC_LEAD</strong> is set
941 <strong>before</strong> you invoke the <strong>START</strong>
942 macro.
943
944 <a name="TYPESET_DEFAULTS"><h3><u>TYPESET defaults</u></h3></a>
945 <pre>
946         Family            = Times Roman
947         Point size        = 12.5
948         Paragraph leading = 16 points, adjusted
949         Fill mode         = justified
950         Hyphenation       = enabled
951                             max. lines = 2
952                             margin = 36 points
953                             interword adjustment = 1 point
954         Kerning           = enabled
955         Ligatures         = enabled
956         Smartquotes       = enabled
957         Word space        = groff default
958         Sentence space    = 0
959 </pre>
960
961 <a name="TYPEWRITE_DEFAULTS"><h3><u>TYPEWRITE defaults</u></h3></a>
962 <pre>
963         Family            = Courier
964         Italics           = underlined
965         Point size        = 12
966         Paragraph leading = 24 points, adjusted; 12 points for SINGLESPACE
967         Fill mode         = left
968         Hyphenation       = disabled
969         Kerning           = disabled
970         Ligatures         = disabled
971         Smartquotes       = disabled
972         Word space        = groff default
973         Sentence space    = groff default
974         Columns           = ignored
975 </pre>
976
977 <a name="TYPEWRITE_CONTROL"><h3><u>PRINTSTYLE TYPEWRITE control macros</u></h3></a>
978 <p>
979 In <strong>PRINTSTYLE TYPEWRITE</strong>, <strong>mom</strong>,
980 by default, underlines anything that looks like italics.  This
981 includes the
982 <a href="typesetting.html#SLANT_INLINE">\*[SLANT]</a>
983 <a href="definitions.html#TERMS_INLINES">inline escape</a>
984 for pseudo-italics.
985 <p>
986 If you'd prefer that <strong>mom</strong> were
987 less bloody-minded about pretending to be a typewriter (i.e.
988 you'd like italics and pseudo-italics to come out as italics),
989 use the control macros <strong>.ITALIC_MEANS_ITALIC</strong> and
990 <strong>.SLANT_MEANS_SLANT</strong>.  Neither requires an
991 argument.
992 <p>
993 Although it's unlikely, should you wish to reverse the sense of
994 these macros in the midst of a document,
995 <strong>.UNDERLINE_ITALIC</strong> and
996 <strong>.UNDERLINE_SLANT</strong> restore underlining of
997 italics and pseudo-italics.
998 <p>
999 Additionally, by default, <strong>mom</strong> underlines
1000 <a href="definitions.html#TERMS_QUOTES">quotes</a>
1001 (but not
1002 <a href="definitions.html#TERMS_BLOCKQUOTES">blockquotes</a>)
1003 in <strong>PRINTSTYLE TYPEWRITE</strong>.
1004 If you don't like this behaviour, turn it off with
1005 <p>
1006 <pre>
1007         .UNDERLINE_QUOTES OFF
1008 </pre>
1009
1010 To turn underlining of quotes back on, use
1011 <strong>UNDERLINE_QUOTES</strong> without an argument.
1012 <p>
1013 While most of the
1014 <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>
1015 have no effect on <strong>PRINTSTYLE TYPEWRITE</strong>, there
1016 is an important exception:
1017 <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
1018 (and by extension, <strong>FOOTER_SIZE</strong>).  This is
1019 particularly useful for reducing the point size of
1020 headers/footers should they become crowded (quite likely to
1021 happen if the title of your document is long and your
1022 <a href="#COPYSTYLE">COPYSTYLE</a>
1023 is <strong>DRAFT</strong>).
1024 <br>
1025
1026 <!---COPYSTYLE--->
1027
1028 <hr width="66%" align="left">
1029 <p>
1030 <a name="COPYSTYLE"></a>
1031 Macro: <strong>COPYSTYLE</strong> <var>DRAFT | FINAL</var>
1032
1033 <p>
1034 <strong>Mom</strong>'s default <strong>COPYSTYLE</strong> is
1035 <strong>FINAL</strong>, so you don't have to use this macro unless
1036 you want to.
1037 <p>
1038 <strong>COPYSTYLE DRAFT</strong> exhibits the following behaviour:
1039 <br>
1040 <ol>
1041         <li>documents start on page 1, whether or not you
1042                 request a different starting page number with
1043                 <a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>
1044         <li>page numbers are set in lower case roman numerals
1045         <li>the draft number supplied by 
1046                 <a href="#DRAFT">DRAFT</a>
1047                 and a revision number, if supplied with 
1048                 <a href="#REVISION">REVISION</a>
1049                 (see
1050                 <a href="#REFERENCE_MACROS">reference macros</a>),
1051                 appear in the center part of
1052                 <a href="definitions.html#TERMS_HEADER">page headers</a>
1053                 (or footers, depending on which you'ves selected) along with
1054                 any other information that normally appears there.
1055 </ol>
1056 <p>
1057 <strong>IMPORTANT:</strong> If you define your own center part for page
1058 headers with
1059 <a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</a>,
1060 no draft and/or revision number will appear there.  If you want draft
1061 and revision information in this circumstance, use
1062 <a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>.
1063 <p>
1064 <strong>COPYSTYLE FINAL</strong> differs from <strong>DRAFT</strong> in that:
1065 <br>
1066 <ol>
1067         <li>it respects the starting page number you give the document
1068         <li>page numbers are set in normal (arabic) digits
1069         <li>no draft or revision number appears in the page headers
1070 </ol>
1071 <p>
1072 <strong>NOTE:</strong> The center part of page headers can get crowded,
1073 especially with
1074 <a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>
1075 and
1076 <a href="docprocessing.html#DOCTYPE">DOCTYPE NAMED</a>,
1077 when the <strong>COPYSTYLE</strong> is <strong>DRAFT</strong>.
1078 Three mechanisms are available to overcome this problem.  One is to
1079 reduce the overall size of headers (with
1080 <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>).
1081 Another, which only works with
1082 <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
1083 is to reduce the size of the header's centre part only (with
1084 <a href="headfootpage.html#_SIZE">HEADER_CENTER_SIZE</a>).
1085 And finally, you can elect to have the draft/revsion information
1086 attached to page numbers instead of having it appear in the center
1087 of page headers (see
1088 <a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>).
1089 <br>
1090 <hr>
1091
1092 <!========================================================================>
1093
1094 <a name="STYLE_BEFORE_START"><h2><u>Changing type/style parameters prior to START</u></h2></a>
1095
1096 In the third (optional) part of setting up a document (see
1097 <a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>),
1098 you can use the
1099 <a href="typsetting.html">typesetting macros</a>
1100 to change <strong>mom</strong>'s document-wide defaults for margins,
1101 line length, family, base point size,
1102 <a href="definitions.html#TERMS_LEADING">leading</a>,
1103 and justification style.
1104 <p>
1105 Two additional style concerns have to be addressed here (i.e. in
1106 macros before
1107 <a href="#START">START</a>):
1108 changes to the
1109 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
1110 and whether you want you want the document's nominal leading
1111 adjusted to fill pages fully to the bottom margin.
1112 <p>
1113 <ul>
1114         <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a>
1115         <p>
1116         <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
1117                 -- adjusting linespacing for equal, accurate bottom margins
1118         <li><a href="#DOCHEADER">DOCHEADER</a>
1119                 -- turning the docheader off
1120         <ul>
1121                 <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
1122         </ul>
1123 </ul>
1124
1125 <hr width="66%" align="left">
1126 <a name="TYPE_BEFORE_START"><h2><u>Using typesetting macros prior to START</u></h2></a>
1127
1128 When used before the
1129 <a href="#START">START</a>
1130 macro, the following
1131 <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
1132 have these meanings:
1133 <p>
1134 <pre>
1135         L_MARGIN         Left margin of pages, including headers/footers
1136         R_MARGIN         Right margin of pages, including headers/footers
1137         T_MARGIN         The point at which running text (i.e. not
1138                          headers/footers or page numbers) starts on each page
1139         B_MARGIN         The point at which running text (i.e. not
1140                          headers/footers or page numbers) ends on each page
1141
1142         (PAGE            If you use PAGE, its first four arguments have the
1143                          same meaning as L_ R_ T_ and B_MARGIN above.)
1144
1145         LL               The line length for everything on the page;
1146                          equivalent to setting the right margin with R_MARGIN
1147         FAMILY           The family of all type in the document
1148         PT_SIZE          The point size of type in paragraphs; mom uses this
1149                          calculate automatic point size changes (eg. for heads,
1150                          footnotes, quotes, headers, etc)
1151         *LS or AUTOLEAD  The leading used in paragraphs; all leading and spacing
1152                          of running text is calculated from this
1153         QUAD             Affects paragraphs only
1154
1155 ------
1156 *See <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
1157 </pre>
1158
1159 Other macros that deal with type style, or refinements thereof
1160 (<strong>KERN, LIGATURES, HY, WS, SS,</strong> etc.), behave normally.
1161 It is not recommended that you set up tabs or indents prior to
1162 <strong>START</strong>.
1163 <p>
1164 If you want to change any of the basic parameters above
1165 <em>after</em> <strong>START</strong> and have them affect a
1166 document globally (as if you'd entered them <em>before</em>
1167 <strong>START</strong>), you must use the macros listed in
1168 <a href="#DOC_PARAM_MACROS">Changing document-wide style parameters after START</a>.
1169 <br>
1170
1171 <!---DOC_LEAD_ADJUST--->
1172
1173 <hr width="66%" align="left">
1174 <a name="DOC_LEAD_ADJUST"><h3><u>Adjusting document leading to fill pages</u></h3></a>
1175 <br>
1176 Macro: <strong>DOC_LEAD_ADJUST</strong> <var>toggle</var>
1177 <br>
1178 <em>*Must come after LS or AUTOLEAD and before START</em>
1179
1180 <p>
1181 <strong>DOC_LEAD_ADJUST</strong> is a special macro to adjust
1182 document
1183 <a href="definitions.html#TERMS_LEADING">leading</a>
1184 so that bottom margins fall precisely where you expect.
1185 <p>
1186 If you invoke <strong>DOC_LEAD_ADJUST</strong>, <strong>mom</strong>
1187 takes the number of lines that fit on the page at your requested
1188 leading, then incrementally adds
1189 <a href="definitions.html#TERMS_UNITS">machine units</a>
1190 to the leading until the maximum number of lines at the new leading
1191 matches the bottom margin.  In most instances, the difference
1192 between the requested lead and the adjusted lead is
1193 unnoticeable.
1194 <p>
1195 <strong>Mom</strong> uses <strong>DOC_LEAD_ADJUST</strong> with
1196 her default document settings, but if you invoke
1197 <a href="typesetting.html#LS">LS</a>
1198 or
1199 <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>
1200 prior to
1201 <a href="#START">START</a>,
1202 you have to do
1203 <p>
1204 <pre>
1205         .DOC_LEAD_ADJUST
1206 </pre>
1207 in order to enable it.
1208 <p>
1209 If you don't like the idea of <strong>mom</strong> playing around
1210 with the leading by default, you can turn adjusting off with
1211 <p>
1212 <pre>
1213         .DOC_LEAD_ADJUST OFF
1214 </pre>
1215
1216 In this scenario, the maximum number of lines that fit on a page at
1217 the current document leading determine where <strong>mom</strong> ends
1218 a page.  The effect will be that last lines usually fall (slightly)
1219 short of your expected bottom margin.
1220 <p>
1221 <strong>NOTE:</strong> <strong>DOC_LEAD_ADJUST</strong>, if
1222 used, must be invoked after
1223 <a href="typesetting.html#LS">LS</a>
1224 or
1225 <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>
1226 and before
1227 <a href="#START">START</a>
1228 <br>
1229
1230 <!---DOCHEADER--->
1231
1232 <hr width="66%" align="left">
1233 <a name="DOCHEADER"><h3><u>Managing the docheader</u></h3></a>
1234 <br>
1235 Macro: <strong>DOCHEADER</strong> <var>&lt;toggle&gt; [ distance to advance from top of page ]</var>
1236 <br>
1237 <em>*Must come before START; distance requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em>
1238
1239 <p>
1240 By default, <strong>mom</strong> prints a
1241 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
1242 on the first page of any document (see
1243 <a href="#DOCHEADER_DESC">below</a>
1244 for a description of the docheader).  If you don't want a docheader,
1245 turn it off with
1246 <p>
1247 <pre>
1248         .DOCHEADER OFF
1249 </pre> 
1250
1251 <strong>DOCHEADER</strong> is a toggle macro, so the argument doesn't
1252 have to be <strong>OFF</strong>; it can be anything you like.
1253 <p>
1254 If you turn the docheader off, <strong>mom</strong>, by default, starts
1255 your document in the same place she would if the docheader were there.
1256 If you'd like her to start at a different vertical position, give
1257 her the distance you'd like as a second argument.
1258 <p>
1259 <pre>
1260         .DOCHEADER OFF 1.5i
1261 </pre>
1262
1263 This starts the document 1.5 inches from the top of the page.
1264 The distance you give is measured from the top edge of the paper
1265 to the
1266 <a href="definitions.html#TERMS_BASELINE">baseline</a>
1267 of the first line of type.
1268 <p>
1269 <strong>TIP:</strong> Since no document processing happens until
1270 you invoke
1271 <a href="#START">START</a>
1272 -- including anything to do with docheaders -- you can typeset
1273 your own docheader prior to <strong>START</strong> (if you don't
1274 like the way <strong>mom</strong> does things) and use
1275 <strong>DOCHEADER OFF</strong> with its optional distance argument
1276 to ensure that the body of your document starts where you want.
1277 You can even insert a PostScript file (with <strong>.PSPIC</strong>;
1278 see the <strong>grops</strong> man page for usage).
1279
1280 <a name="DOCHEADER_CONTROL"><h3><u>How to change the look of docheaders: docheader control macros</u></h3></a>
1281
1282 <p>
1283 With
1284 <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
1285 the look of docheaders is carved in stone.
1286 In
1287 <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
1288 however, you can make a lot of changes.  Macros that alter docheaders
1289 MUST come before
1290 <a href="#START">START</a>.
1291 <a name="DOCHEADER_DESC"></a>
1292 <p>
1293 A typeset docheader has the following characteristics.  Note that
1294 title, subtitle, author, and document type are what you supply
1295 with the
1296 <a href="#REFERENCE_MACROS">reference macros</a>.
1297 Any you leave out will not appear; <strong>mom</strong> will
1298 compensate:
1299 <p>
1300 <pre>
1301             TITLE         bold, 3.5 points larger than running text (not necessarily caps)
1302            Subtitle       medium, same size as running text
1303               by          medium italic, same size as running text
1304            Author(s)      medium italic, same size as running text
1305
1306         (Document type)   bold italic, underscored, 3 points larger than running text
1307 </pre>
1308
1309 The
1310 <a href="definitions.html#TERMS_FAMILY">family</a>
1311 is the prevailing family of the whole document.
1312
1313 <h3><u>The docheader macros to:</u></h3>
1314 <ol>
1315         <li><a href="#CHANGE_START">Change the starting position</a>
1316         <li><a href="#ADJUST_LEADING">Adjust the leading</a>
1317         <li><a href="#CHANGE_FAMILY">Change the family of docheader elements</a>
1318         <li><a href="#CHANGE_FONT">Change the font of docheader elements</a>
1319         <li><a href="#CHANGE_SIZE">Adjust the size of docheader elements</a>
1320         <li><a href="#CHANGE_ATTRIBUTE">Change the attribution string (&quot;by&quot;)</a>
1321 </ol>
1322 <p>
1323 <a name="CHANGE_START"><h3><u>1. Change the starting position</u></h3></a>
1324 By default, a docheader starts on the same
1325 <a href="definitions.html#TERMS_BASELINE">baseline</a>
1326 as
1327 <a href="definitions.html#TERMS_RUNNING">running text</a>.
1328 If you'd like it to start somewhere else, use the macro
1329 <kbd>.DOCHEADER_ADVANCE</kbd> and give it the distance you want
1330 (measured from the top edge of the paper to the first baseline
1331 of the docheader), like this:
1332 <p>
1333 <pre>
1334         .DOCHEADER_ADVANCE 4P
1335 </pre>
1336
1337 A
1338 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
1339 is required.
1340 <p>
1341 <strong>NOTE:</strong> If
1342 <a href="headfootpage.html#HEADERS">HEADERS</a>
1343 are <strong>OFF</strong>, <strong>mom</strong>'s normal top
1344 margin for
1345 <a href="definitions.html#TERMS_RUNNING">running text</a>
1346 (7.5
1347 <a href="definitions.html#TERMS_PICASPOINTS">picas</a>)
1348 changes to 6 picas (visually approx. 1 inch).  Since the
1349 first baseline of the docheader falls on the same baseline
1350 as the first line of running text (on pages after page 1),
1351 you might find the docheaders a bit high when headers are off.
1352 Use
1353 <a href="#CHANGE_START">DOCHEADER_ADVANCE</a>
1354 to place them where you want.
1355
1356
1357 <a name="ADJUST_LEADING"><h3><u>2. Adjust the leading</u></h3></a>
1358 The
1359 <a href="definitions.html#TERMS_LEADING">leading</a> of
1360 docheaders is the same as running text.  If you'd like a
1361 different leading, say, 2 points more than the lead of running
1362 text, use:
1363 <p>
1364 <pre>
1365         .DOCHEADER_LEAD +2p
1366 </pre>
1367
1368 Since the leading of docheaders is calculated from the lead of running
1369 text, a + or - sign is required before the argument (how much to add
1370 or subtract from the lead of running text).  The
1371 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
1372 is also required.
1373
1374 <a name="CHANGE_FAMILY"><h3><u>3. Change the family of docheader elements</u></h3></a>
1375 The following macros let you change the
1376 <a href="definitions.html#TERMS_FAMILY">family</a>
1377 of each docheader element separately:
1378 <p>
1379 <ul>
1380 <li><strong>TITLE_FAMILY</strong> <var>&lt;family&gt;</var>
1381 <li><strong>SUBTITLE_FAMILY</strong> <var>&lt;family&gt;</var>
1382 <li><strong>AUTHOR_FAMILY</strong> <var>&lt;family&gt;</var>
1383 <li><strong>DOCTYPE_FAMILY</strong> <var>&lt;family&gt;</var> (if
1384 <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
1385 </ul>
1386 <p>
1387 Simply pass the appropriate macro the family you want.
1388
1389 <a name="CHANGE_FONT"><h3><u>4. Change the font of docheader elements</u></h3></a>
1390 The following macros let you change the
1391 <a href="definitions.html#TERMS_FONT">font</a>
1392 of each docheader element separately:
1393 <p>
1394 <ul>
1395 <li><strong>TITLE_FONT</strong> <var>R | B | I | BI</var>
1396 <li><strong>SUBTITLE_FONT</strong> <var>R | B | I | BI</var>
1397 <li><strong>AUTHOR_FONT</strong> <var>R | B | I | BI</var>
1398 <li><strong>DOCTYPE_FONT</strong> <var>R | B | I | BI</var> (if
1399 <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
1400 </ul>
1401 <p>
1402 Simply pass the appropriate macro the font you want.  <strong>R,
1403 B, I</strong> and <strong>BI</strong> have the same meaning as
1404 they do for
1405 <a href="typesetting.html#FONT">FT</a>.
1406
1407
1408 <a name="CHANGE_SIZE"><h3><u>5. Adjust the size of docheader elements</u></h3></a>
1409 The following macros let you adjust the point size of each docheader
1410 element separately.
1411 <p>
1412 <strong>Mom</strong> calculates the point size
1413 of docheader elements from the point size of paragraphs, so you
1414 must prepend a + or - sign to the argument.  Points is
1415 assumed as the
1416 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
1417 so there's no need to append a unit to the argument.  Fractional point
1418 sizes are allowed.
1419 <p>
1420 <ul>
1421 <li><strong>TITLE_SIZE</strong> <var>&lt;+/-points&gt;</var>
1422 <br>
1423 default = +3.5 (+4 if docheader title is &quot;Chapter #&quot;)
1424 <li><strong>SUBTITLE_SIZE</strong> <var>&lt;+/-points&gt;</var>
1425 <br>
1426 default = +0
1427 <li><strong>AUTHOR_SIZE</strong> <var>&lt;+/-points&gt;</var>
1428 <br>
1429 default = +0
1430 <li><strong>DOCTYPE_SIZE</strong> <var>&lt;+/-points&gt;</var> (if
1431 <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
1432 <br>
1433 default = +3
1434 </ul>
1435 <p>
1436 Simply pass the appropriate macro the size adjustment you want.
1437
1438 <a name="CHANGE_ATTRIBUTE"><h3><u>6. Change the attribution string (&quot;by&quot;)</u></h3></a>
1439 If you're not writing in English, you can change what
1440 <strong>mom</strong> prints where &quot;by&quot; appears in
1441 docheaders.  For example,
1442 <p>
1443 <pre>
1444         .ATTRIBUTE_STRING "par"
1445 </pre>
1446
1447 changes &quot;by&quot; to &quot;par&quot;.  If you
1448 don't want an attribution string at all, simply pass
1449 <strong>ATTRIBUTE_STRING</strong> an empty argument, like this:
1450 <p>
1451 <pre>
1452         .ATTRIBUTE_STRING ""
1453 </pre>
1454
1455 <strong>Mom</strong> will deposit a blank line where the
1456 attribution string normally appears.
1457 <p>
1458 <strong>NOTE:</strong> The type specs for the attribution line
1459 in docheaders are the same as for the author line.  Although
1460 it's highly unlikely you'll want the attribution line in a
1461 different family, font, or point size, you can do so by using
1462 <a href="definitions.html#TERMS_INLINES">inline escapes</a>
1463 in the argument to <strong>ATTRIBUTE_STRING</strong>.  For
1464 example,
1465 <p>
1466 <pre>
1467         .ATTRIBUTE_STRING "\f[HBI]\*S[-2p] by \*S[+2p]\*[PREV]"
1468 </pre>
1469
1470 would set &quot;by&quot; in Helvetica bold italic, 2 points
1471 smaller than normal.
1472 <br>
1473 <hr>
1474
1475 <!---COLUMNS_INTRO--->
1476
1477 <a name="COLUMNS_INTRO"><h2><u>Setting documents in columns</u></h2></a>
1478
1479 <p>
1480 Setting documents in columns is easy with <strong>mom</strong>.  (Of
1481 course she'd say that, but it's true!)  All you have to do is is
1482 say how many columns you want and how much space you want
1483 between them (the
1484 <a href="definitions.html#TERMS_GUTTER">gutters</a>).
1485 That's it. <strong>Mom</strong> takes care of everything else, from
1486 soup to nuts.
1487 <p>
1488 <strong>SOME WORDS OF ADVICE:</strong>
1489 <p>
1490 If you want your type to achieve a pleasing
1491 <a href="definitions.html#TERMS_JUST">justification</a>
1492 or
1493 <a href="definitions.html#TERMS_RAG">rag</a>
1494 in columns, reduce the point size of type (and probably the
1495 <a href="definitions.html#TERMS_LEADING">leading</a>
1496 as well).  <strong>Mom</strong>'s default document point
1497 size is 12.5, which works well across her default 39
1498 <a href="definitions.html#TERMS_PICASPOINTS">pica</a>
1499 full page line length, but with even just two columns on a page,
1500 the default point size is awkward to work with.
1501 <p>
1502 Furthermore, you'll absolutely need to reduce the indents for
1503 <a href="docelement.html#EPIGRAPH_CONTROL">epigraphs</a>,
1504 <a href="docelement.html#QUOTE_GENERAL">quotes</a>,
1505 and
1506 <a href="docelement.html#BLOCKQUOTE_GENERAL">blockquotes</a>
1507 (and probably the
1508 <a href="docelement.html#PARA_INDENT">paragraph first-line indent</a>
1509 as well).
1510 <br>
1511
1512 <!---COLUMNS--->
1513
1514 <hr width="66%" align="left">
1515 <a name="COLUMNS"><h3><u>COLUMNS</u></h3></a>
1516 <br>
1517 Macro: <strong>COLUMNS</strong> <var>&lt;number of columns&gt; &lt;width of gutters&gt;</var>
1518 <br>
1519 <em>*Should be the last macro before START
1520 <br>
1521 The second argument requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em>
1522
1523 <p>
1524 <strong>COLUMNS</strong> takes two arguments: the number of
1525 columns you want on document pages, and the width of the
1526 <a href="definitions.html#TERMS_GUTTER">gutter</a>
1527 between them.  For example, to set up a page with two columns
1528 separated by an 18 point gutter, you'd do
1529 <p>
1530 <pre>
1531         .COLUMNS 2 18p
1532 </pre>
1533
1534 Nothing to it, really.  However, as noted above,
1535 <strong>COLUMNS</strong> should always be the last document
1536 setup macro prior to
1537 <a href="#START">START</a>.
1538 <p>
1539 <strong>NOTE:</strong> <strong>Mom</strong> ignores columns completely
1540 when the
1541 <a href="#PRINTSTYLE">PRINTSTYLE</a>
1542 is <strong>TYPEWRITE</strong>.  The notion of typewriter-style
1543 output in columns is just too ghastly for her to bear.
1544
1545 <a name="BREAKING_COLUMNS"></a>
1546 <h3><u>Breaking columns manually</u></h3>
1547 <p>
1548 <strong>Mom</strong> takes care of breaking columns when they reach
1549 the bottom margin of a page.  However, there may be times you want to
1550 break the columns yourself.  There are two macros for breaking columns
1551 manually: <strong>COL_NEXT</strong> and <strong>COL_BREAK</strong>.
1552
1553 <a name="COL_NEXT"></a>
1554 <p>
1555 <kbd>.COL_NEXT</kbd> breaks the line just before it,
1556 <a href="definitions.html#TERMS_QUAD">quads</a>
1557 it left (assuming the type is justified or quad left), and moves over
1558 to the top of the next column.  If the column happens to be the last
1559 (rightmost) one on the page, <strong>mom</strong> starts a new page
1560 at the &quot;column 1&quot; position.  This is the macro to use when
1561 you want to start a new column after the end of a paragraph.
1562
1563 <a name="COL_BREAK"></a>
1564 <p>
1565 <kbd>.COL_BREAK</kbd> is almost the same, except that
1566 instead of breaking and quadding the line preceding it,
1567 she breaks and spreads it (see
1568 <a href="typesetting.html#SPREAD">SPREAD</a>).
1569 Use this macro whenever you need to start a new column in the middle
1570 of a paragraph.
1571 <p>
1572 If you need <strong>COL_BREAK</strong> in the middle of a blockquote
1573 or (god help us) an epigraph, you must do the following in order for
1574 <strong>COL_BREAK</strong> to work:
1575 <p>
1576 <pre>
1577         .SPREAD
1578         \!.COL_BREAK
1579 </pre>
1580 <hr>
1581
1582 <!========================================================================>
1583
1584 <a name="START_MACRO">
1585 <h2><u>Initiate document processing</u></h2>
1586 </a>
1587
1588 In order to use <strong>mom</strong>'s document element macros
1589 (tags), you have to tell her you want them.  The macro to do this
1590 is <strong>START</strong>.
1591 <p>
1592 <strong>START</strong> collects the information you gave
1593 <strong>mom</strong> in the setup section at the top of your file (see
1594 <a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>),
1595 merges it with her defaults, sets up headers and page numbering,
1596 and prepares <strong>mom</strong> to process your document using
1597 the document element tags.  No document processing takes place until
1598 you invoke <strong>START</strong>.
1599 <br>
1600
1601 <!---START--->
1602
1603 <hr width="66%" align="left">
1604 <p>
1605 <a name="START"></a>
1606 Macro: <strong>START</strong>
1607 <br>
1608 <em>*Required for document processing.</em>
1609
1610 <p>
1611 <strong>START</strong> takes no arguments.  It simply instructs
1612 <strong>mom</strong> to begin document processing.  If you don't
1613 want document processing (i.e. you only want the
1614 <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>),
1615 don't use <strong>START</strong>.
1616 <p>
1617 At a barest minimum before <strong>START</strong>, you must enter a
1618 <a href="#PRINTSTYLE">PRINTSTYLE</a>
1619 command.
1620 <br>
1621 <hr>
1622
1623 <!========================================================================>
1624
1625 <a name="DOC_PARAM_MACROS">
1626 <h2><u>Changing document-wide style parameters after START</u></h2>
1627 </a>
1628
1629 In the normal course of things, you change the basic type
1630 parameters of a document <em>before</em>
1631 <a href="#START">START</a>,
1632 using
1633 <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
1634 (<strong>L_MARGIN, FAMILY, PT_SIZE, LS,</strong> etc).  After
1635 <strong>START</strong>, you must use the following macros to make
1636 global changes to the basic type parameters of a document.
1637 <br>
1638
1639 <a name="INDEX_DOC_PARAM">
1640         <h3><u>Macro list</u></h3>
1641 </a>
1642 <ul>
1643         <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
1644         <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
1645         <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a>
1646         <li><a href="#DOC_FAMILY">DOC_FAMILY</a>
1647         <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a>
1648         <li><a href="#DOC_LEAD">DOC_LEAD</a>
1649         <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
1650         <li><a href="#DOC_QUAD">DOC_QUAD</a>
1651 </ul>
1652
1653 <hr width="66%" align="left">
1654 <p>
1655 <a name="DOC_LEFT_MARGIN">
1656         Macro: <strong>DOC_LEFT_MARGIN</strong> <var>&lt;left margin&gt;</var>
1657 </a>
1658 <br>
1659 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
1660 <p>
1661 <ul>
1662         <li>the argument is the same as for
1663                 <a href="typesetting.html#L_MARGIN">L_MARGIN</a>
1664         <li>changes all left margins to the new value
1665         <li>the line length remains the same (i.e. the right margin
1666                 shifts when you change the left margin)
1667 </ul>
1668
1669 <br>
1670
1671 <hr width="66%" align="left">
1672 <p>
1673 <a name="DOC_RIGHT_MARGIN">
1674         Macro: <strong>DOC_RIGHT_MARGIN</strong> <var>&lt;right margin&gt;</var>
1675 </a>
1676 <br>
1677 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
1678 <p>
1679 <ul>
1680         <li>the argument is the same as for
1681                 <a href="typesetting.html#R_MARGIN">R_MARGIN</a>
1682         <li>changes all right margins to the new value
1683         <li>all mom commands that include a right indent calculate
1684                 the indent from the new value
1685 </ul>
1686 <br>
1687
1688 <hr width="66%" align="left">
1689 <p>
1690 <a name="DOC_LINE_LENGTH">
1691         Macro: <strong>DOC_LINE_LENGTH</strong> <var>&lt;length&gt;</var>
1692 </a>
1693 <br>
1694 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
1695 <p>
1696 <ul>
1697         <li>the argument is the same as for
1698                 <a href="typesetting.html#LL">LL</a>
1699         <li>equivalent to changing the right margin with DOC_RIGHT_MARGIN
1700 </ul>
1701 <br>
1702
1703 <hr width="66%" align="left">
1704 <p>
1705 <a name="DOC_FAMILY">
1706         Macro: <strong>DOC_FAMILY</strong> <var>&lt;family&gt;</var>
1707 </a>
1708 <p>
1709 <ul>
1710         <li>the argument is the same as for
1711                 <a href="typesetting.html#FAMILY">FAMILY</a>
1712         <li>globally changes the type family
1713         <li>if you wish the
1714                 <a href="definitions.html#TERMS_HEADER">header</a>
1715                 and/or page number families to remain at their old values,
1716                 you must reset them with
1717                 <a href="headfootpage.html#HEADER_FAMILY">HEADER_FAMILY</a>
1718                 and
1719                 <a href="headfootpage.html#PAGENUM_FAMILY">PAGENUM_FAMILY</a>
1720 </ul>
1721 <br>
1722
1723 <hr width="66%" align="left">
1724 <p>
1725 <a name="DOC_PT_SIZE">
1726         Macro: <strong>DOC_PT_SIZE</strong> <var>&lt;point size&gt;</var>
1727 </a>
1728 <br>
1729 <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em>
1730 <p>
1731 <ul>
1732         <li>the argument is the same as for
1733                 <a href="typesetting.html#PS">PT_SIZE</a>,
1734                 and refers to the point size of type in paragraphs
1735         <li>all automatic point size changes (heads, quotes,
1736                 footnotes, headers, etc.) are affected by the new size;
1737                 anything you do not want affected must be reset to
1738                 its former value (see the Control Macros section of
1739                 the pertinent document element for instructions on
1740                 how to do this)
1741 </ul>
1742 <br>
1743
1744 <hr width="66%" align="left">
1745 <p>
1746 <a name="DOC_LEAD">
1747         Macro: <strong>DOC_LEAD</strong> <var>&lt;points&gt; [ ADJUST ]</var>
1748 </a>
1749 <br>
1750 <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em>
1751 <p>
1752 <ul>
1753         <li>the argument is the same as for
1754                 <a href="typesetting.html#LS">LS</a>,
1755                 and refers to the
1756                 <a href="definitions.html#TERMS_LEAD">leading</a>
1757                 of paragraphs
1758         <li>because paragraphs will have a new leading, the leading and
1759                 spacing of most running text is influenced by the new value
1760         <li>epigraphs and footnotes remain unaffected;
1761                 if you wish to change their leading, use
1762                 <a href="docelement.html#EPIGRAPH_AUTOLEAD">EPIGRAPH_AUTOLEAD</a>
1763                 and
1764                 <a href="docelement.html#FOOTNOTE_AUTOLEAD">FOOTNOTE_AUTOLEAD</a>.
1765         <li>the optional argument <strong>ADJUST</strong> performs
1766                 leading adjustment as explained in
1767                 <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
1768 </ul>
1769 <p>
1770 <strong>IMPORTANT:</strong> Do not use <strong>DOC_LEAD</strong>
1771 in the middle of a page!  It should always and only be invoked
1772 immediately prior to a new page, like this:
1773 <p>
1774 <pre>
1775         .DOC_LEAD &lt;new value&gt;
1776         .NEWPAGE
1777 </pre>
1778
1779 <hr width="66%" align="left">
1780 <p>
1781 <a name="DOC_QUAD">
1782         Macro: <strong>DOC_QUAD</strong> <var>L | R | C | J</var>
1783 </a>
1784 <p>
1785 <ul>
1786         <li>the arguments are the same as for
1787                 <a href="typesetting.html#QUAD">QUAD</a>
1788         <li>affects paragraphs, epigraphs and footnotes; does not
1789                 affect blockquotes
1790 </ul>
1791
1792 <p>
1793 <hr>
1794 <a href="docelement.html#TOP">Next</a>&nbsp;&nbsp;
1795 <a href="inlines.html#TOP">Prev</a>&nbsp;&nbsp;
1796 <a href="#TOP">Top</a>&nbsp;&nbsp;
1797 <a href="toc.html">Back to Table of Contents</a>
1798 </body>
1799 </html>