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