3 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
4 <title>Mom -- Document Processing, Introduction and Setup</title>
6 <body bgcolor="#dfdfdf">
8 <!====================================================================>
10 <a href="docelement.html#TOP">Next</a>
11 <a href="inlines.html#TOP">Prev</a>
12 <a href="toc.html">Back to Table of Contents</a>
15 <a name="DOCPROCESSING">
16 <h1 align="center"><u>DOCUMENT PROCESSING WITH MOM</u>
20 <a href="#INTRO_MACROS_DOCPROCESSING">Introduction to document processing</a>
22 <a href="#DEFAULTS">Some document defaults</a>
24 <a href="#LEADING_NOTE">* IMPORTANT NOTE on leading/spacing and bottom margins *</a>
27 <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a>
29 <a href="#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>
32 <li><a href="#REFERENCE_MACROS"><strong>The Reference Macros</strong></a>
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>
41 <li><a href="#DOCSTYLE_MACROS"><strong>The Docstyle Macros</strong></a>
43 <li><a href="#DOCTYPE">DOCTYPE</a>
44 <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
45 <li><a href="#COPYSTYLE">COPYSTYLE</a>
48 <li><a href="#STYLE_BEFORE_START"><strong>Changing type/style parameters prior to START</strong></a>
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>
54 <li><a href="#DOCHEADER">DOCHEADER -- turning docheaders off</a>
55 <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
59 <li><a href="#COLUMNS_INTRO"><strong>Setting documents in columns</strong></a>
61 <li><a href="#COLUMNS">COLUMNS</a>
62 <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a>
64 <li><a href="#COL_NEXT">COL_NEXT</a>
65 <li><a href="#COL_BREAK">COL_BREAK</a>
70 <li><a href="#START_MACRO"><strong>Initiate document processing</strong></a>
72 <li><a href="#START">START</a>
75 <li><a href="#DOC_PARAM_MACROS"><strong>Changing document-wide typesetting parameters after START</strong></a>
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>
87 <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong></a>
89 <li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the document element tags</a>
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>
94 <li><a href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a>
96 <li><a href="docelement.html#EPIGRAPH">EPIGRAPH</a>
97 <li><a href="docelement.html#EPIGRAPH_CONTROL">Epigrah control</a>
99 <li><a href="docelement.html#PP_INTRO"><strong>Paragraphs</strong></a>
101 <li><a href="docelement.html#PP">PP</a>
102 <li><a href="docelement.html#PP_CONTROL">Paragraph control</a>
104 <li><a href="docelement.html#HEAD_INTRO"><strong>Main heads</strong></a>
106 <li><a href="docelement.html#HEAD">HEAD</a>
107 <li><a href="docelement.html#HEAD_CONTROL">Head control</a>
109 <li><a href="docelement.html#SUBHEAD_INTRO"><strong>Subheads</strong></a>
111 <li><a href="docelement.html#SUBHEAD">SUBHEAD</a>
112 <li><a href="docelement.html#SUBHEAD_CONTROL">Subhead control</a>
114 <li><a href="docelement.html#PARAHEAD_INTRO"><strong>Paragraph heads</strong></a>
116 <li><a href="docelement.html#PARAHEAD">PARAHEAD</a>
117 <li><a href="docelement.html#PARAHEAD_CONTROL">Parahead control</a>
119 <li><a href="docelement.html#LINEBREAK_INTRO"><strong>Linebreaks (author linebreaks)</strong></a>
121 <li><a href="docelement.html#LINEBREAK">LINEBREAK</a>
122 <li><a href="docelement.html#LINEBREAK_CONTROL">Linebreak control</a>
124 <li><a href="docelement.html#QUOTE_INTRO"><strong>Quotes (line for line poetic quotes)</strong></a>
126 <li><a href="docelement.html#QUOTE">QUOTE</a>
127 <li><a href="docelement.html#QUOTE_CONTROL">Quote control</a>
129 <li><a href="docelement.html#BLOCKQUOTE_INTRO"><strong>Blockquotes (cited material)</strong></a>
131 <li><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a>
132 <li><a href="docelement.html#BLOCKQUOTE_CONTROL">Blockquote control</a>
134 <li><a href="docelement.html#FOOTNOTE_INTRO"><strong>Footnotes</strong></a>
136 <li><a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
137 <li><a href="docelement.html#FOOTNOTE_CONTROL">Footnote control</a>
139 <li><a href="docelement.html#ENDNOTE_INTRO"><strong>Endnotes</strong></a>
141 <li><a href="docelement.html#ENDNOTE">ENDNOTE</a>
142 <li><a href="docelement.html#ENDNOTE_CONTROL">Endnote control</a>
144 <li><a href="docelement.html#FINIS_INTRO"><strong>Document termination</strong></a>
146 <li><a href="docelement.html#FINIS">FINIS</a>
147 <li><a href="docelement.html#FINIS_CONTROL">Finis control</a>
151 <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>HEADERS and FOOTERS</strong></a>
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>
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>
161 <li><a href="headfootpage.html#HEADFOOT_CONTROL">Header/footer control</a>
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>
169 <li><a href="headfootpage.html#PAGINATION"><strong>PAGINATION</strong></a>
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>
179 <li><a href="rectoverso.html#RECTOVERSO"><strong>RECTO_VERSO PRINTING and COLLATING</strong></a>
182 <li><a href="rectoverso.html#RECTOVERSO_INTRO">Introduction to recto/verso</a>
184 <li><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>
185 <li><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> (also FOOTERS)
187 <li><a href="rectoverso.html#COLLATE_INTRO">Introduction to collating</a>
189 <li><a href="rectoverso.html#COLLATE">COLLATE</a>
193 <li><a href="cover.html#COVER"><strong>CREATING A COVER PAGE</strong></a>
195 <li><a href="letters.html#LETTERS"><strong>WRITING LETTERS</strong></a>
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>
206 <h2><a name="INTRO_MACROS_DOCPROCESSING"><u>Introduction to document processing</u></a></h2>
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 "official" name of a tag -- too long, cumbersome
215 to type in, not "intuitive" enough -- you can change it
217 <a href="goodies.html#ALIAS">ALIAS</a>
220 In addition to the tags themselves, <strong>mom</strong> has an
221 extensive array of macros that control how they look and behave.
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
231 <a href="#START">START</a>
232 macro. Voilà ! You're ready to write.
237 <h2><a name="DEFAULTS"><u>Some document defaults</u></a></h2>
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.
243 I fear the following may not be adequately covered in the
244 documentation. Just in case, here they are.
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
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
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
267 <a name="LEADING_NOTE">
268 <h2><u>IMPORTANT NOTE on leading/spacing and bottom margins</u></h2>
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 "hang" (i.e. to fall
277 In order to ensure even bottom margins, <strong>mom</strong>
278 uses the "base" 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.
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>.
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.
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.
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 "v"
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. "v" means
308 "the current leading", so she isn't confused by it. And
309 since "v" accepts decimal fractions, you can add/subtract
310 half linespaces and quarter linespaces with "v" as well,
311 <em>provided you compensate for the fractional linespace somewhere
312 else on the page</em>.
316 <a name="SETUP"><h2><u>Document setup</u></h2></a>
318 <a name="DOCPROCESSING_TUT">
319 <h3><u>Tutorial -- Setting up a mom document</u></h3>
322 There are four "parts" 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
327 .TITLE "By the Shores of Lake Attica"
328 .AUTHOR "Rosemary Winspeare"
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.
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
348 <li>to be draft 7, revision 39;
349 <li>to use the "default" style of document formatting:
350 <li>to print as draft-style output (instead of "final" 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>
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>.
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>
364 The first step in setting up any document is giving <strong>mom</strong>
365 some reference information. The reference macros are:
371 <li>CHAPTER -- the chapter number
372 <li>DRAFT -- the draft number
373 <li>REVISION -- the revision number
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.
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.
385 .TITLE "My Pulitzer Winner"
391 <h3><u>Step 2</u></h3>
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 "final" copy (for the world to see) or just a draft?
397 <strong>Mom</strong> calls the macros that answer these questions
398 "the docstyle macros." They are:
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
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. <sigh>
414 Adding to what we already have, the next bit of setup for Joe
415 Blow's story looks like this:
418 .TITLE "My Pulitzer Winner"
423 .DOCTYPE DEFAULT \"Superfluous; mom uses DOCTYPE DEFAULT by default
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.
433 <h3><u>Step 3</u></h3>
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 "style-sheet " section of a document.
445 Joe Blow wants his story printed in Helvetica, 12 on 14, rag
447 <a href="definitions.html#TERMS_FOOTER">page footers</a>
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:
458 .TITLE "My Pulitzer Winner"
470 .QUAD LEFT \"ie. rag right
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).
482 Here's the complete setup for <em>My Pulitzer Winner</em>:
485 .TITLE "My Pulitzer Winner"
497 .QUAD LEFT \"ie. rag right
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:
508 .TITLE "My Pulitzer Winner"
513 .PRINTSTYLE TYPEWRITE
519 <kbd>.PRINTSTYLE TYPEWRITE</kbd>, above, means that Joe's work
520 will come out "typewritten, double-spaced", 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).
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:
530 .TITLE "My Pulitzer Winner"
535 .PRINTSTYLE TYPESET \"first change
536 .COPYSTYLE FINAL \"second change
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 "final" 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
554 <!========================================================================>
556 <a name="REFERENCE_MACROS">
557 <h2><u>The Reference Macros</u></h2>
560 The reference macros give <strong>mom</strong> the information
561 she needs to generate
562 <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>
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.
568 <a name="INDEX_REFERENCE">
569 <h3><u>Reference macros list</u></h3>
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>
583 <hr width="66%" align="left">
586 Macro: <strong>TITLE</strong> <var>"<title>"</var>
588 <em>*Argument must be enclosed in double-quotes</em>
591 The title string can be caps or caps/lower-case; it's up to you.
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_<POSITION>_CAPS</a>). In
601 <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
602 the title always gets converted to caps.
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 "CHAPTER whatever".
612 <hr width="66%" align="left">
614 <a name="SUBTITLE"></a>
615 Macro: <strong>SUBTITLE</strong> <var>"<subtitle>"</var>
617 <em>*Argument must be enclosed in double-quotes</em>
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.
628 <hr width="66%" align="left">
630 <a name="AUTHOR"></a>
631 Macro: <strong>AUTHOR</strong> <var>"<author string>" [ "<author2 string>" "<author3 string>" ... ]</var>
633 <em>*Multiple arguments must be enclosed in double-quotes</em>
636 Each author string can hold as many names as you like, e.g.
641 .AUTHOR "Joe Blow, Jane Doe" "John Hancock"
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>).
654 The strings can be caps or caps/lower-case. I recommend caps/lower
660 <hr width="66%" align="left">
662 <a name="CHAPTER"></a>
663 Macro: <strong>CHAPTER</strong> <var><chapter number></var>
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 "Chapter" as a
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>.
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>
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,
686 .CHAPTER_STRING "Chapître"
689 You can also use <strong>CHAPTER_STRING</strong> if you want
690 "CHAPTER" instead of "Chapter" in the doc- and
691 page-headers. (See also the
692 <a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>.)
697 <hr width="66%" align="left">
700 Macro: <strong>DRAFT</strong> <var><draft #></var>
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>.
710 <strong>Mom</strong> prints the draft number beside the word
711 "Draft" 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,
719 .DRAFT_STRING "Ébauche"
724 <hr width="66%" align="left">
726 <a name="REVISION"></a>
727 Macro: <strong>REVISION</strong> <var><revision #></var>
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
736 <a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>.
738 <strong>Mom</strong> prints the revision number beside the shortform
739 "Rev." 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>
747 .REVISION_STRING "Rév."
751 <!========================================================================>
753 <a name="DOCSTYLE_MACROS">
754 <h2><u>The Docstyle Macros</u></h2>
757 The docstyle macros tell <strong>mom</strong> what type of document you're
758 writing, whether you want the output typeset or
759 "typewritten", and whether you want a draft copy (with
760 draft and revision information in the headers) or a final copy.
762 <a name="INDEX_DOCSTYLE">
763 <h3><u>Docstyle macros list</u></h3>
767 <li><a href="#DOCTYPE">DOCTYPE</a>
768 <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
770 <li><a href="#TYPESET_DEFAULTS">Defaults for PRINTSTYLE TYPESET</a>
771 <li><a href="#TYPEWRITE_DEFAULTS">Defaults for PRINTSTYLE TYPEWRITE</a>
773 <li><a href="#TYPEWRITE_CONTROL">TYPEWRITE control macros</a>
776 <li><a href="#COPYSTYLE">COPYSTYLE</a>
781 <hr width="66%" align="left">
783 <a name="DOCTYPE"></a>
784 Macro: <strong>DOCTYPE</strong> <var>DEFAULT | CHAPTER | NAMED "<name>" | LETTER</var>
786 The arguments <strong>DEFAULT, CHAPTER</strong> and
787 <strong>NAMED</strong> tell <strong>mom</strong> what to put
789 <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
791 <a href="definitions.html#TERMS_HEADER">page headers</a>.
792 <strong>LETTER</strong> tells her that you want to write a
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.
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.
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.)
808 <strong>CHAPTER</strong> prints "Chapter #" 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
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 "Chapter #" (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
824 <a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>
825 below for how you can make DOCTYPE CHAPTER print something
826 other than "Chapter #" as its docheader.</em>
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.
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.)
840 <strong>LETTER</strong> tells mom you're writing a letter. See
842 <a href="letters.html#INTRO">Writing Letters</a>
843 for instructions on using <strong>mom</strong> to format letters.
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 "Chapter #". 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:
854 <a href="#REFERENCE_MACROS">reference macro</a>
855 <a href="#CHAPTER">CHAPTER</a>
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).
862 Here's a recipe for setting up a chapter entitled "The DMCA
865 .AUTHOR "Outraged Hacker"
866 .TITLE "Limiting Copyright"
871 .CHAPTER_STRING "The DMCA Nazis"
877 <hr width="66%" align="left">
879 <a name="PRINTSTYLE"></a>
880 Macro: <strong>PRINTSTYLE</strong> <var>TYPESET | TYPEWRITE [ SINGLESPACE ]</var>
882 <em>*Required for document processing.</em>
885 <strong>PRINTSTYLE</strong> tells <strong>mom</strong> whether to typeset
886 a document, or to print it out "typewritten, doubled-spaced".
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.
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>
900 <a href="definitions.html#STYLE_CONTROL">style control macros</a>
901 of document processing.
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>
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).
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>.
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.
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>.
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>
944 <a name="TYPESET_DEFAULTS"><h3><u>TYPESET defaults</u></h3></a>
948 Paragraph leading = 16 points, adjusted
949 Fill mode = justified
950 Hyphenation = enabled
953 interword adjustment = 1 point
956 Smartquotes = enabled
957 Word space = groff default
961 <a name="TYPEWRITE_DEFAULTS"><h3><u>TYPEWRITE defaults</u></h3></a>
966 Paragraph leading = 24 points, adjusted; 12 points for SINGLESPACE
968 Hyphenation = disabled
971 Smartquotes = disabled
972 Word space = groff default
973 Sentence space = groff default
977 <a name="TYPEWRITE_CONTROL"><h3><u>PRINTSTYLE TYPEWRITE control macros</u></h3></a>
979 In <strong>PRINTSTYLE TYPEWRITE</strong>, <strong>mom</strong>,
980 by default, underlines anything that looks like italics. This
982 <a href="typesetting.html#SLANT_INLINE">\*[SLANT]</a>
983 <a href="definitions.html#TERMS_INLINES">inline escape</a>
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
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.
999 Additionally, by default, <strong>mom</strong> underlines
1000 <a href="definitions.html#TERMS_QUOTES">quotes</a>
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
1007 .UNDERLINE_QUOTES OFF
1010 To turn underlining of quotes back on, use
1011 <strong>UNDERLINE_QUOTES</strong> without an argument.
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>).
1028 <hr width="66%" align="left">
1030 <a name="COPYSTYLE"></a>
1031 Macro: <strong>COPYSTYLE</strong> <var>DRAFT | FINAL</var>
1034 <strong>Mom</strong>'s default <strong>COPYSTYLE</strong> is
1035 <strong>FINAL</strong>, so you don't have to use this macro unless
1038 <strong>COPYSTYLE DRAFT</strong> exhibits the following behaviour:
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>
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.
1057 <strong>IMPORTANT:</strong> If you define your own center part for page
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>.
1064 <strong>COPYSTYLE FINAL</strong> differs from <strong>DRAFT</strong> in that:
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
1072 <strong>NOTE:</strong> The center part of page headers can get crowded,
1074 <a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>
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>).
1092 <!========================================================================>
1094 <a name="STYLE_BEFORE_START"><h2><u>Changing type/style parameters prior to START</u></h2></a>
1096 In the third (optional) part of setting up a document (see
1097 <a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>),
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.
1105 Two additional style concerns have to be addressed here (i.e. in
1107 <a href="#START">START</a>):
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.
1114 <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a>
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
1121 <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
1125 <hr width="66%" align="left">
1126 <a name="TYPE_BEFORE_START"><h2><u>Using typesetting macros prior to START</u></h2></a>
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:
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
1142 (PAGE If you use PAGE, its first four arguments have the
1143 same meaning as L_ R_ T_ and B_MARGIN above.)
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
1156 *See <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
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>.
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>.
1171 <!---DOC_LEAD_ADJUST--->
1173 <hr width="66%" align="left">
1174 <a name="DOC_LEAD_ADJUST"><h3><u>Adjusting document leading to fill pages</u></h3></a>
1176 Macro: <strong>DOC_LEAD_ADJUST</strong> <var>toggle</var>
1178 <em>*Must come after LS or AUTOLEAD and before START</em>
1181 <strong>DOC_LEAD_ADJUST</strong> is a special macro to adjust
1183 <a href="definitions.html#TERMS_LEADING">leading</a>
1184 so that bottom margins fall precisely where you expect.
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
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>
1199 <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>
1201 <a href="#START">START</a>,
1207 in order to enable it.
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
1213 .DOC_LEAD_ADJUST OFF
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.
1221 <strong>NOTE:</strong> <strong>DOC_LEAD_ADJUST</strong>, if
1222 used, must be invoked after
1223 <a href="typesetting.html#LS">LS</a>
1225 <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>
1227 <a href="#START">START</a>
1232 <hr width="66%" align="left">
1233 <a name="DOCHEADER"><h3><u>Managing the docheader</u></h3></a>
1235 Macro: <strong>DOCHEADER</strong> <var><toggle> [ distance to advance from top of page ]</var>
1237 <em>*Must come before START; distance requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em>
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,
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.
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.
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
1266 <a href="definitions.html#TERMS_BASELINE">baseline</a>
1267 of the first line of type.
1269 <strong>TIP:</strong> Since no document processing happens until
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).
1280 <a name="DOCHEADER_CONTROL"><h3><u>How to change the look of docheaders: docheader control macros</u></h3></a>
1284 <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
1285 the look of docheaders is carved in stone.
1287 <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
1288 however, you can make a lot of changes. Macros that alter docheaders
1290 <a href="#START">START</a>.
1291 <a name="DOCHEADER_DESC"></a>
1293 A typeset docheader has the following characteristics. Note that
1294 title, subtitle, author, and document type are what you supply
1296 <a href="#REFERENCE_MACROS">reference macros</a>.
1297 Any you leave out will not appear; <strong>mom</strong> will
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
1306 (Document type) bold italic, underscored, 3 points larger than running text
1310 <a href="definitions.html#TERMS_FAMILY">family</a>
1311 is the prevailing family of the whole document.
1313 <h3><u>The docheader macros to:</u></h3>
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 ("by")</a>
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>
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:
1334 .DOCHEADER_ADVANCE 4P
1338 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
1341 <strong>NOTE:</strong> If
1342 <a href="headfootpage.html#HEADERS">HEADERS</a>
1343 are <strong>OFF</strong>, <strong>mom</strong>'s normal top
1345 <a href="definitions.html#TERMS_RUNNING">running text</a>
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.
1353 <a href="#CHANGE_START">DOCHEADER_ADVANCE</a>
1354 to place them where you want.
1357 <a name="ADJUST_LEADING"><h3><u>2. Adjust the leading</u></h3></a>
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
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>
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:
1380 <li><strong>TITLE_FAMILY</strong> <var><family></var>
1381 <li><strong>SUBTITLE_FAMILY</strong> <var><family></var>
1382 <li><strong>AUTHOR_FAMILY</strong> <var><family></var>
1383 <li><strong>DOCTYPE_FAMILY</strong> <var><family></var> (if
1384 <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
1387 Simply pass the appropriate macro the family you want.
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:
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)
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
1405 <a href="typesetting.html#FONT">FT</a>.
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
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
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
1421 <li><strong>TITLE_SIZE</strong> <var><+/-points></var>
1423 default = +3.5 (+4 if docheader title is "Chapter #")
1424 <li><strong>SUBTITLE_SIZE</strong> <var><+/-points></var>
1427 <li><strong>AUTHOR_SIZE</strong> <var><+/-points></var>
1430 <li><strong>DOCTYPE_SIZE</strong> <var><+/-points></var> (if
1431 <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
1436 Simply pass the appropriate macro the size adjustment you want.
1438 <a name="CHANGE_ATTRIBUTE"><h3><u>6. Change the attribution string ("by")</u></h3></a>
1439 If you're not writing in English, you can change what
1440 <strong>mom</strong> prints where "by" appears in
1441 docheaders. For example,
1444 .ATTRIBUTE_STRING "par"
1447 changes "by" to "par". If you
1448 don't want an attribution string at all, simply pass
1449 <strong>ATTRIBUTE_STRING</strong> an empty argument, like this:
1452 .ATTRIBUTE_STRING ""
1455 <strong>Mom</strong> will deposit a blank line where the
1456 attribution string normally appears.
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
1467 .ATTRIBUTE_STRING "\f[HBI]\*S[-2p] by \*S[+2p]\*[PREV]"
1470 would set "by" in Helvetica bold italic, 2 points
1471 smaller than normal.
1475 <!---COLUMNS_INTRO--->
1477 <a name="COLUMNS_INTRO"><h2><u>Setting documents in columns</u></h2></a>
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
1484 <a href="definitions.html#TERMS_GUTTER">gutters</a>).
1485 That's it. <strong>Mom</strong> takes care of everything else, from
1488 <strong>SOME WORDS OF ADVICE:</strong>
1490 If you want your type to achieve a pleasing
1491 <a href="definitions.html#TERMS_JUST">justification</a>
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.
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>,
1506 <a href="docelement.html#BLOCKQUOTE_GENERAL">blockquotes</a>
1508 <a href="docelement.html#PARA_INDENT">paragraph first-line indent</a>
1514 <hr width="66%" align="left">
1515 <a name="COLUMNS"><h3><u>COLUMNS</u></h3></a>
1517 Macro: <strong>COLUMNS</strong> <var><number of columns> <width of gutters></var>
1519 <em>*Should be the last macro before START
1521 The second argument requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em>
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
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>.
1539 <strong>NOTE:</strong> <strong>Mom</strong> ignores columns completely
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.
1545 <a name="BREAKING_COLUMNS"></a>
1546 <h3><u>Breaking columns manually</u></h3>
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>.
1553 <a name="COL_NEXT"></a>
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 "column 1" position. This is the macro to use when
1561 you want to start a new column after the end of a paragraph.
1563 <a name="COL_BREAK"></a>
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
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:
1582 <!========================================================================>
1584 <a name="START_MACRO">
1585 <h2><u>Initiate document processing</u></h2>
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>.
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>.
1603 <hr width="66%" align="left">
1605 <a name="START"></a>
1606 Macro: <strong>START</strong>
1608 <em>*Required for document processing.</em>
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>.
1617 At a barest minimum before <strong>START</strong>, you must enter a
1618 <a href="#PRINTSTYLE">PRINTSTYLE</a>
1623 <!========================================================================>
1625 <a name="DOC_PARAM_MACROS">
1626 <h2><u>Changing document-wide style parameters after START</u></h2>
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>,
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.
1639 <a name="INDEX_DOC_PARAM">
1640 <h3><u>Macro list</u></h3>
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>
1653 <hr width="66%" align="left">
1655 <a name="DOC_LEFT_MARGIN">
1656 Macro: <strong>DOC_LEFT_MARGIN</strong> <var><left margin></var>
1659 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
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)
1671 <hr width="66%" align="left">
1673 <a name="DOC_RIGHT_MARGIN">
1674 Macro: <strong>DOC_RIGHT_MARGIN</strong> <var><right margin></var>
1677 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
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
1688 <hr width="66%" align="left">
1690 <a name="DOC_LINE_LENGTH">
1691 Macro: <strong>DOC_LINE_LENGTH</strong> <var><length></var>
1694 <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
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
1703 <hr width="66%" align="left">
1705 <a name="DOC_FAMILY">
1706 Macro: <strong>DOC_FAMILY</strong> <var><family></var>
1710 <li>the argument is the same as for
1711 <a href="typesetting.html#FAMILY">FAMILY</a>
1712 <li>globally changes the type family
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>
1719 <a href="headfootpage.html#PAGENUM_FAMILY">PAGENUM_FAMILY</a>
1723 <hr width="66%" align="left">
1725 <a name="DOC_PT_SIZE">
1726 Macro: <strong>DOC_PT_SIZE</strong> <var><point size></var>
1729 <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em>
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
1744 <hr width="66%" align="left">
1747 Macro: <strong>DOC_LEAD</strong> <var><points> [ ADJUST ]</var>
1750 <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em>
1753 <li>the argument is the same as for
1754 <a href="typesetting.html#LS">LS</a>,
1756 <a href="definitions.html#TERMS_LEAD">leading</a>
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>
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>
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:
1775 .DOC_LEAD <new value>
1779 <hr width="66%" align="left">
1782 Macro: <strong>DOC_QUAD</strong> <var>L | R | C | J</var>
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
1794 <a href="docelement.html#TOP">Next</a>
1795 <a href="inlines.html#TOP">Prev</a>
1796 <a href="#TOP">Top</a>
1797 <a href="toc.html">Back to Table of Contents</a>