/contrib/groff/contrib/mom/momdoc/docprocessing.html

https://bitbucket.org/freebsd/freebsd-head/ · HTML · 2484 lines · 2413 code · 63 blank · 8 comment · 0 complexity · ae70fc015e8d0d4392e8a452046265cf MD5 · raw file

Large files are truncated click here to view the full file

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
  5. <title>Mom -- Document Processing, Introduction and Setup</title>
  6. </head>
  7. <body bgcolor="#dfdfdf">
  8. <!====================================================================>
  9. <a href="typemacdoc.html#TOP">Next</a>&nbsp;&nbsp;
  10. <a href="color.html#TOP">Prev</a>&nbsp;&nbsp;
  11. <a href="toc.html">Back to Table of Contents</a>
  12. <p>
  13. <a name="TOP"></a>
  14. <a name="DOCPROCESSING">
  15. <h1 align="center"><u>DOCUMENT PROCESSING WITH MOM</u></h1>
  16. </a>
  17. <a href="#INTRO_MACROS_DOCPROCESSING">Introduction to document processing</a>
  18. <br>
  19. <a href="#DEFAULTS">Some document defaults</a>
  20. <br>
  21. <a href="#LEADING_NOTE">* IMPORTANT NOTE on leading/spacing and bottom margins *</a>
  22. <br>
  23. <a href="#SHIM">The SHIM macro</a>
  24. <br>
  25. <h3><u>Table of Contents for document processing</u></h3>
  26. <ul>
  27. <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a>
  28. <br>
  29. <a href="#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>
  30. <br>
  31. <ul>
  32. <li><a href="#REFERENCE_MACROS"><strong>The Reference Macros</strong></a>
  33. <ul>
  34. <li><a href="#TITLE">TITLE</a>
  35. <li><a href="#DOC_TITLE">DOCTITLE</a>
  36. <li><a href="#SUBTITLE">SUBTITLE</a>
  37. <li><a href="#AUTHOR">AUTHOR</a>
  38. <li><a href="#CHAPTER">CHAPTER</a>
  39. <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>
  40. <li><a href="#DRAFT">DRAFT</a>
  41. <li><a href="#REVISION">REVISION</a>
  42. <li><a href="#COPYRIGHT">COPYRIGHT</a>
  43. <li><a href="#MISC">MISC</a>
  44. </ul>
  45. <li><a href="#DOCSTYLE_MACROS"><strong>The Docstyle Macros</strong></a>
  46. <ul>
  47. <li><a href="#DOCTYPE">DOCTYPE</a>
  48. <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
  49. <li><a href="#COPYSTYLE">COPYSTYLE</a>
  50. </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. <ul>
  55. <li><a href="#COLOR">Colour</a>
  56. </ul>
  57. <li><a href="#DOC_LEAD_ADJUST">Adjusting document leading to fill pages -- DOC_LEAD_ADJUST</a>
  58. <li><a href="#DOCHEADER">Managing the document header</a>
  59. <ul>
  60. <li><a href="#DOCHEADER">DOCHEADER -- turning docheaders off</a>
  61. <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
  62. </ul>
  63. </ul>
  64. <li><a href="#COLUMNS_INTRO"><strong>Setting documents in columns</strong></a>
  65. <ul>
  66. <li><a href="#COLUMNS">COLUMNS</a>
  67. <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a>
  68. <ul>
  69. <li><a href="#COL_NEXT">COL_NEXT</a>
  70. <li><a href="#COL_BREAK">COL_BREAK</a>
  71. </ul>
  72. </ul>
  73. <li><a href="#START_MACRO"><strong>Initiate document processing</strong></a>
  74. <ul>
  75. <li><a href="#START">START</a>
  76. </ul>
  77. <li><a href="#DOC_PARAM_MACROS"><strong>Changing document-wide typesetting parameters after START</strong></a>
  78. <ul>
  79. <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
  80. <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
  81. <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a>
  82. <li><a href="#DOC_FAMILY">DOC_FAMILY</a>
  83. <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a>
  84. <li><a href="#DOC_LEAD">DOC_LEAD</a>
  85. <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
  86. <li><a href="#DOC_QUAD">DOC_QUAD</a>
  87. </ul>
  88. <br>
  89. <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong></a>
  90. <ul>
  91. <li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the document element tags</a>
  92. <ul>
  93. <li><a href="docelement.html#DOCELEMENT_CONTROL">Document element (tag) control macros</a>
  94. <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
  95. </ul>
  96. <li><a href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a>
  97. <ul>
  98. <li><a href="docelement.html#EPIGRAPH">EPIGRAPH</a>
  99. <li><a href="docelement.html#EPIGRAPH_CONTROL">Epigrah control</a>
  100. </ul>
  101. <li><a href="docelement.html#PP_INTRO"><strong>Paragraphs</strong></a>
  102. <ul>
  103. <li><a href="docelement.html#PP">PP</a>
  104. <li><a href="docelement.html#PP_CONTROL">Paragraph control</a>
  105. </ul>
  106. <li><a href="docelement.html#HEAD_INTRO"><strong>Main heads</strong></a>
  107. <ul>
  108. <li><a href="docelement.html#HEAD">HEAD</a>
  109. <li><a href="docelement.html#HEAD_CONTROL">Head control</a>
  110. </ul>
  111. <li><a href="docelement.html#SUBHEAD_INTRO"><strong>Subheads</strong></a>
  112. <ul>
  113. <li><a href="docelement.html#SUBHEAD">SUBHEAD</a>
  114. <li><a href="docelement.html#SUBHEAD_CONTROL">Subhead control</a>
  115. </ul>
  116. <li><a href="docelement.html#PARAHEAD_INTRO"><strong>Paragraph heads</strong></a>
  117. <ul>
  118. <li><a href="docelement.html#PARAHEAD">PARAHEAD</a>
  119. <li><a href="docelement.html#PARAHEAD_CONTROL">Parahead control</a>
  120. </ul>
  121. <li><a href="docelement.html#LINEBREAK_INTRO"><strong>Linebreaks (author linebreaks, also called section breaks)</strong></a>
  122. <ul>
  123. <li><a href="docelement.html#LINEBREAK">LINEBREAK</a>
  124. <li><a href="docelement.html#LINEBREAK_CONTROL">Linebreak control</a>
  125. </ul>
  126. <li><a href="docelement.html#QUOTE_INTRO"><strong>Quotes (line for line poetic quotes)</strong></a>
  127. <ul>
  128. <li><a href="docelement.html#QUOTE">QUOTE</a>
  129. <li><a href="docelement.html#QUOTE_CONTROL">Quote control</a>
  130. </ul>
  131. <li><a href="docelement.html#BLOCKQUOTE_INTRO"><strong>Blockquotes (cited material)</strong></a>
  132. <ul>
  133. <li><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a>
  134. <li><a href="docelement.html#BLOCKQUOTE_CONTROL">Blockquote control</a>
  135. </ul>
  136. <li><a href="docelement.html#FOOTNOTE_INTRO"><strong>Footnotes</strong></a>
  137. <ul>
  138. <li><a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
  139. <li><a href="docelement.html#FOOTNOTE_CONTROL">Footnote control</a>
  140. </ul>
  141. <li><a href="docelement.html#ENDNOTE_INTRO"><strong>Endnotes</strong></a>
  142. <ul>
  143. <li><a href="docelement.html#ENDNOTE">ENDNOTE</a>
  144. <li><a href="docelement.html#ENDNOTE_CONTROL">Endnote control</a>
  145. </ul>
  146. <li><a href="docelement.html#FINIS_INTRO"><strong>Document termination</strong></a>
  147. <ul>
  148. <li><a href="docelement.html#FINIS">FINIS</a>
  149. <li><a href="docelement.html#FINIS_CONTROL">Finis control</a>
  150. </ul>
  151. </ul>
  152. <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>HEADERS and FOOTERS</strong></a>
  153. <br>
  154. <ul>
  155. <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">Introduction to headers/footers</a>
  156. <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">Managing headers/footers</a>
  157. <ul>
  158. <li><a href="headfootpage.html#HEADERS">HEADERS</a> -- on or off
  159. <li><a href="headfootpage.html#FOOTERS">FOOTERS</a> -- on or off
  160. <li><a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a>
  161. </ul>
  162. <li><a href="headfootpage.html#HEADFOOT_CONTROL">Header/footer control</a>
  163. <ul>
  164. <li><a href="headfootpage.html#HDRFTR_STRINGS">Header/footer strings</a>
  165. <li><a href="headfootpage.html#HDRFTR_STYLE">Header/footer style</a> -- global and part-by-part
  166. <li><a href="headfootpage.html#HDRFTR_VERTICAL">Header/footer placement and spacing</a>
  167. <li><a href="headfootpage.html#HDRFTR_SEPARATOR">The header/footer separator rule</a>
  168. </ul>
  169. </ul>
  170. <li><a href="headfootpage.html#PAGINATION"><strong>PAGINATION</strong></a>
  171. <br>
  172. <ul>
  173. <li><a href="headfootpage.html#PAGINATE">PAGINATE</a> -- on or off
  174. <li><a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a> -- user supplied page number
  175. <li><a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc.
  176. <li><a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- attach draft/revision information to page numbers
  177. <li><a href="headfootpage.html#PAGINATE_CONTROL">Pagination control</a>
  178. </ul>
  179. <br>
  180. <li><a href="rectoverso.html#RECTOVERSO"><strong>RECTO_VERSO PRINTING and COLLATING</strong></a>
  181. <br>
  182. <ul>
  183. <li><a href="rectoverso.html#RECTOVERSO_INTRO">Introduction to recto/verso</a>
  184. <ul>
  185. <li><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>
  186. <li><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> (also FOOTERS)
  187. </ul>
  188. <li><a href="rectoverso.html#COLLATE_INTRO">Introduction to collating</a>
  189. <ul>
  190. <li><a href="rectoverso.html#COLLATE">COLLATE</a>
  191. </ul>
  192. </ul>
  193. <li><a href="cover.html#TOP"><strong>CREATING A COVER PAGE</strong></a>
  194. <br>
  195. <li><a href="letters.html#LETTERS"><strong>WRITING LETTERS</strong></a>
  196. <ul>
  197. <li><a href="letters.html#LETTERS_INTRO">Introduction to writing letters</a>
  198. <li><a href="letters.html#TUTORIAL">Tutorial on writing letters</a>
  199. <li><a href="letters.html#LETTERS_DEFAULTS">Default style for letters</a>
  200. <li><a href="letters.html#LETTERS_MACROS">The letter macros</a>
  201. </ul>
  202. </ul>
  203. </ul>
  204. <br>
  205. <hr>
  206. <h2><a name="INTRO_MACROS_DOCPROCESSING"><u>Introduction to document processing</u></a></h2>
  207. As explained in
  208. <a href="intro.html#INTRO_DOCPROCESSING">Document processing with mom</a>,
  209. document processing uses markup tags to identify document elements
  210. such as heads, paragraphs, and so on. The tags are, of course, macros,
  211. but with sensible, readable names that make them easy to grasp and
  212. easy to remember. (And don't forget: if you don't like the
  213. &quot;official&quot; name of a tag -- too long, cumbersome
  214. to type in, not &quot;intuitive&quot; enough -- you can change it
  215. with the
  216. <a href="goodies.html#ALIAS">ALIAS</a>
  217. macro.)
  218. <p>
  219. In addition to the tags themselves, <strong>mom</strong> has an
  220. extensive array of macros that control how they look and behave.
  221. <p>
  222. Setting up a <strong>mom</strong> doc is a simple, four-part procedure.
  223. You begin by entering information about the document itself (title,
  224. subtitle, author, etc.). Next, you tell <strong>mom</strong> what
  225. kind of document you're creating (e.g. chapter, letter, abstract,
  226. etc...) and what kind of output you want (typeset, typewritten,
  227. draft-style, etc). Thirdly, you make as many or as few changes to
  228. <strong>mom</strong>'s default behaviour as you wish. Lastly, you
  229. invoke the
  230. <a href="#START">START</a>
  231. macro. Voilà! You're ready to write.
  232. <p>
  233. <hr>
  234. <h2><a name="DEFAULTS"><u>Some document defaults</u></a></h2>
  235. As is to be expected, <strong>mom</strong> has defaults for everything.
  236. If you want to know a particular default, read about it in the
  237. description of the pertinent tag.
  238. <p>
  239. I fear the following may not be adequately covered in the
  240. documentation. Just in case, here they are.
  241. <p>
  242. <ul>
  243. <li>the paper size is 8.5x11 inches
  244. <li>the left and right margins are 1-inch
  245. <li>the top and bottom margins for document text are plus/minus
  246. visually 1-inch
  247. <li>pages are numbered; the number appears centred, at the
  248. bottom, surrounded by hyphens ( e.g. -6- )
  249. <li>the first page of a document begins with a
  250. <a href="definitions.html#TERMS_DOCHEADER">document header</a>
  251. <li>subsequent pages have
  252. <a href="definitions.html#TERMS_HEADER">page headers</a>
  253. with a rule underneath
  254. </ul>
  255. <p>
  256. Another way to check up on document processing defaults is to have
  257. a look at the macro file (om.tmac). Each macro is preceded by a
  258. description that (generally) says what its default is (if it has
  259. one).
  260. <p>
  261. <hr>
  262. <a name="LEADING_NOTE">
  263. <h2><u>IMPORTANT NOTE on leading/spacing and bottom margins</u></h2>
  264. </a>
  265. <strong>Mom</strong> takes evenly-aligned bottom margins in
  266. <a href="definitions.html#TERMS_RUNNING">running text</a>
  267. very seriously. Only under a very few (exceptional) circumstances
  268. will she allow a bottom margin to &quot;hang&quot; (i.e. to fall
  269. short).
  270. <p>
  271. In order to ensure even bottom margins, <strong>mom</strong>
  272. uses the &quot;base&quot; document
  273. <a href="definitions.html#TERMS_LEADING">leading</a>
  274. in effect <em>at the start of running text on each page</em> (i.e.
  275. the leading used in paragraphs) to calculate the spacing of every
  276. document element. Prior to invoking
  277. <a href="#START">START</a>,
  278. this is set with the
  279. <a href="typesetting.html#MACROS_TYPESETTING">typesetting macro</a>
  280. <a href="typesetting.html#LEADING">LS</a>,
  281. afterwards with the document
  282. <a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
  283. <a href="#DOC_LEAD">DOC_LEAD</a>.
  284. <p>
  285. Because <strong>mom</strong> relies so heavily on the base document
  286. leading, any change to the leading or spacing on a page will almost
  287. certainly have undesirable consequences on that page's bottom margin
  288. unless the change is fully compensated for elsewhere on the page.
  289. <p>
  290. In other words, if you add a few points of space somewhere on a page,
  291. you must subtract the same number of points somewhere else on that
  292. same page, and vice versa.
  293. <p>
  294. If it's a question of adding or subtracting full line spaces between
  295. or within document elements, you can do so by using the &quot;v&quot;
  296. <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
  297. with whatever spacing macro you choose --
  298. <a href="typesetting.html#ALD">ALD</a>,
  299. <a href="typesetting.html#RLD">RLD</a>,
  300. <a href="typesetting.html#SPACE">SPACE</a>
  301. -- and <strong>mom</strong> won't object. &quot;v&quot; means
  302. &quot;the current leading&quot;, so she isn't confused by it. And
  303. since &quot;v&quot; accepts decimal fractions, you can add/subtract
  304. half linespaces and quarter linespaces with &quot;v&quot; as well,
  305. <em>provided you compensate for the fractional linespace somewhere
  306. else on the page</em>.
  307. <p>
  308. If all this seems like too much work, <strong>mom</strong>
  309. provides a special macro to get you out of trouble if you've played
  310. around with leading and/or spacing. The macro is called
  311. <strong>SHIM</strong> (like those little pieces of wood carpenters
  312. use to get their work even, level and snug), and it's described
  313. below.
  314. <p>
  315. <!---SHIM--->
  316. <hr width="66%" align="left">
  317. <p>
  318. <a name="SHIM"></a>
  319. Macro: <strong>SHIM</strong>
  320. <p>
  321. <strong>SHIM</strong> doesn't take any argument. Use it whenever
  322. you've played around with the
  323. <a href="definitions.html#TERMS_LEADING">leading</a>
  324. or spacing on a page and you
  325. need to get <strong>mom</strong>'s document leading back on track.
  326. <p>
  327. For example, say you want to insert a picture into a document with
  328. the special groff macro, <strong>PSPIC</strong> (see the
  329. <strong>groff_tmac</strong> man page for usage).
  330. <p>
  331. Pictures aren't usually conveniently sized in multiples of document
  332. leading, which means that when you insert the picture, you disrupt
  333. <strong>mom</strong>'s ordered placement of baselines on the page.
  334. This will certainly result in a bottom margin that doesn't match the
  335. bottom margins of your document's other pages.
  336. <p>
  337. The solution is to insert <strong>SHIM</strong> after the picture,
  338. like this:
  339. <p>
  340. <pre>
  341. &lt;some lines of text&gt;
  342. .PSPIC &lt;full path to picture&gt;
  343. .SHIM
  344. &lt;more lines of text&gt;
  345. </pre>
  346. <strong>SHIM</strong> instructs <strong>mom</strong> to insert as
  347. much or a little space after the picture as is needed to ensure that
  348. the baseline of the next
  349. <a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
  350. falls where <strong>mom</strong> would have put it had you not
  351. disrupted the normal flow of output lines with the picture.
  352. <p>
  353. And say, on previewing the above example, you find that the picture
  354. doesn't centre nicely between the lines of text, you can always do
  355. <p>
  356. <pre>
  357. &lt;some lines of text&gt;
  358. .RLD 3p
  359. .PSPIC &lt;full path to picture&gt;
  360. .SHIM
  361. &lt;more lines of text&gt;
  362. </pre>
  363. to raise the picture slightly
  364. (<strong>R</strong>everse <strong>L</strong>ea<strong>D</strong>
  365. 3 points; see
  366. <a href="typesetting.html#RLD">RLD</a>),
  367. and still have <strong>SHIM</strong> ensure that text underneath
  368. falls exactly where it's supposed to.
  369. <p>
  370. <hr>
  371. <a name="SETUP"><h2><u>Document setup</u></h2></a>
  372. <p>
  373. <a name="DOCPROCESSING_TUT">
  374. <h3><u>Tutorial -- Setting up a mom document</u></h3>
  375. </a>
  376. There are four &quot;parts&quot; to setting up a <strong>mom</strong>
  377. doc (three, actually, with one optional). Before we proceed, though,
  378. be reassured that something as simple as
  379. <p>
  380. <pre>
  381. .TITLE "By the Shores of Lake Attica"
  382. .AUTHOR "Rosemary Winspeare"
  383. .PRINTSTYLE TYPESET
  384. .START
  385. </pre>
  386. produces a beautifully typeset 8.5x11 document, with a
  387. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
  388. at the top of page 1,
  389. <a href="definitions.html#TERMS_HEADER">page headers</a>
  390. with the title and author on subsequent
  391. pages, and page numbers at the bottom of each page. In the course
  392. of the document, heads, subheads, citations, quotes, epigraphs,
  393. and so on, all come out looking neat, trim, and professional.
  394. <p>
  395. For the purposes of this tutorial, we're going to set up a short
  396. story -- <em>My Pulitzer Winner</em> by Joe Blow. Thankfully,
  397. we don't have to look at story itself, just the setup.
  398. Joe wants the document
  399. <p>
  400. <ul>
  401. <li>to be draft 7, revision 39;
  402. <li>to use the &quot;default&quot; style of document formatting:
  403. <li>to print as draft-style output (instead of &quot;final&quot; copy output);
  404. <li>to be typeset, in Helvetica, 12 on 14,
  405. <a href="definitions.html#TERMS_RAG">rag-right</a>;
  406. <li>to have <a href="definitions.html#TERMS_FOOTER">footers</a>
  407. instead of
  408. <a href="definitions.html#TERMS_HEADER">headers</a>;
  409. <li>to use a single asterisk for
  410. <a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a>.
  411. </ul>
  412. <p>
  413. Joe Blow has no taste in typography. His draft won't look pretty,
  414. but this is, after all, a tutorial; we're after examples, not beauty.
  415. <h3><u>Step 1</u></h3>
  416. The first step in setting up any document is giving <strong>mom</strong>
  417. some reference information. The reference macros are:
  418. <p>
  419. <ul>
  420. <li>TITLE
  421. <li>DOCTITLE
  422. <li>COVERTITLE
  423. <li>SUBTITLE
  424. <li>AUTHOR
  425. <li>CHAPTER -- the chapter number
  426. <li>DRAFT -- the draft number
  427. <li>REVISION -- the revision number
  428. <li>COPYRIGHT -- only used on cover pages
  429. <li>MISC -- only used on cover pages
  430. <li>COVER_TITLE -- only on cover pages; only if needed
  431. <li>DOC_COVER_TITLE -- only on document cover pages; only if needed
  432. </ul>
  433. <p>
  434. You can use as many or as few as you wish, although at a minimum,
  435. you'll probably fill in <strong>TITLE</strong> (unless the document's
  436. a letter) and <strong>AUTHOR</strong>. Order doesn't matter.
  437. You can separate the
  438. <a href="definitions.html#TERMS_ARGUMENTS">arguments</a>
  439. from the macros by any number of spaces. The following are
  440. what you'd need to start Joe Blow's story.
  441. <p>
  442. <pre>
  443. .TITLE "My Pulitzer Winner"
  444. .AUTHOR "Joe Blow"
  445. .DRAFT 7
  446. .REVISION 39
  447. </pre>
  448. <h3><u>Step 2</u></h3>
  449. Once you've given <strong>mom</strong> the reference information she
  450. needs, you tell her how you want your document formatted. What kind
  451. of document is it? Should it be typeset or typewritten? Is this
  452. a &quot;final&quot; copy (for the world to see) or just a draft?
  453. <strong>Mom</strong> calls the macros that answer these questions
  454. &quot;the docstyle macros.&quot; They are:
  455. <p>
  456. <ul>
  457. <li>DOCTYPE -- the type of document (default, chapter, user-defined, letter)
  458. <li>PRINTSTYLE -- typeset or typewritten
  459. <li>COPYSTYLE -- draft or final copy
  460. </ul>
  461. <p>
  462. <strong>Mom</strong> has defaults for <strong>DOCTYPE</strong>
  463. and <strong>COPYSTYLE</strong>; if they're what you want, you
  464. don't need to include them here. However, <strong>PRINTSTYLE</strong>
  465. has no default and MUST be present in every formatted document.
  466. If you omit it, <strong>mom</strong> won't process the document AND
  467. she'll complain (both to stderr and as a single printed sheet with
  468. a warning). Moms -- they can be so annoying sometimes. &lt;sigh&gt;
  469. <p>
  470. Adding to what we already have, the next bit of setup for Joe
  471. Blow's story looks like this:
  472. <p>
  473. <pre>
  474. .TITLE "My Pulitzer Winner"
  475. .AUTHOR "Joe Blow"
  476. .DRAFT 7
  477. .REVISION 39
  478. \#
  479. .DOCTYPE DEFAULT \"Superfluous; mom uses DOCTYPE DEFAULT by default
  480. .PRINTSTYLE TYPESET
  481. .COPYSTYLE DRAFT
  482. </pre>
  483. Notice the use of the
  484. <a href="definitions.html#TERMS_COMMENTLINES">comment line</a>
  485. ( \# ), a handy way to keep groups of macros visually separated
  486. for easy reading in a text editor.
  487. <h3><u>Step 3</u></h3>
  488. This step -- completely optional -- is where you, the user, take
  489. charge. <strong>Mom</strong> has defaults for <em>everything</em>,
  490. but who's ever satisfied with defaults? Use any of the <a
  491. href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
  492. here to change <strong>mom</strong>'s document defaults (paper
  493. size, margins, family, point size, line space, rag, etc), or
  494. any of the document processing macros that set/change/control
  495. the appearance of document elements. Think of this as the
  496. &quot;style-sheet &quot; section of a document. And please note:
  497. you MUST give <strong>mom</strong> a
  498. <a href="#PRINTSTYLE">PRINTSTYLE</a>
  499. directive <strong>before</strong> making any such changes.
  500. <p>
  501. Joe Blow wants his story printed in Helvetica, 12 on 14, rag
  502. right, with
  503. <a href="definitions.html#TERMS_FOOTER">page footers</a>
  504. instead of
  505. <a href="definitions.html#TERMS_HEADER">page headers</a>
  506. and a single asterisk for the
  507. <a href="definitions.html#TERMS_LINEBREAK">linebreak</a>
  508. character. None of these requirements conforms
  509. to <strong>mom</strong>'s defaults for the chosen
  510. <strong>PRINTSTYLE</strong> (TYPESET), so we change them here.
  511. The setup for Joe Blow's story now looks like this:
  512. <p>
  513. <pre>
  514. .TITLE "My Pulitzer Winner"
  515. .AUTHOR "Joe Blow"
  516. .DRAFT 7
  517. .REVISION 39
  518. \#
  519. .DOCTYPE DEFAULT
  520. .PRINTSTYLE TYPESET
  521. .COPYSTYLE DRAFT
  522. \#
  523. .FAMILY H
  524. .PT_SIZE 12
  525. .LS 14
  526. .QUAD LEFT \"i.e. rag right
  527. .FOOTERS
  528. .LINEBREAK_CHAR *
  529. </pre>
  530. <h3><u>Step 4</u></h3>
  531. The final step in setting up a document is telling <strong>mom</strong>
  532. to start document processing. It's a no-brainer, just the single macro
  533. <strong>START</strong>. Other than <strong>PRINTSTYLE</strong>, it's
  534. the only macro required for document processing (although
  535. I can't guarantee you'll like the results of using just the two).
  536. <p>
  537. Here's the complete setup for <em>My Pulitzer Winner</em>:
  538. <p>
  539. <pre>
  540. .TITLE "My Pulitzer Winner"
  541. .AUTHOR "Joe Blow"
  542. .DRAFT 7
  543. .REVISION 39
  544. \#
  545. .DOCTYPE DEFAULT
  546. .PRINTSTYLE TYPESET
  547. .COPYSTYLE DRAFT
  548. \#
  549. .FAMILY H
  550. .PT_SIZE 12
  551. .LS 14
  552. .QUAD LEFT \"i.e. rag right
  553. .FOOTERS
  554. .LINEBREAK_CHAR *
  555. \#
  556. .START
  557. </pre>
  558. As pointed out earlier, Joe Blow is no typographer. Given that all he
  559. needs is a printed draft of his work, a simpler setup would have been:
  560. <p>
  561. <pre>
  562. .TITLE "My Pulitzer Winner"
  563. .AUTHOR "Joe Blow"
  564. .DRAFT 7
  565. .REVISION 39
  566. \#
  567. .PRINTSTYLE TYPEWRITE
  568. .COPYSTYLE DRAFT
  569. \#
  570. .START
  571. </pre>
  572. <kbd>.PRINTSTYLE TYPEWRITE</kbd>, above, means that Joe's work
  573. will come out &quot;typewritten, double-spaced&quot;, making the
  574. blue-pencilling he (or someone else) is sure to do much
  575. easier (which is why many publishers and agents still insist on
  576. typewritten, double-spaced copy).
  577. <p>
  578. When J. Blow stops re-writing and decides to print off a final,
  579. typeset copy of his work for the world to see, he need only
  580. make two changes to the (simplified) setup:
  581. <p>
  582. <pre>
  583. .TITLE "My Pulitzer Winner"
  584. .AUTHOR "Joe Blow"
  585. .DRAFT 7
  586. .REVISION 39
  587. \#
  588. .PRINTSTYLE TYPESET \"first change
  589. .COPYSTYLE FINAL \"second change
  590. \#
  591. .START
  592. </pre>
  593. In the above, <kbd>.DRAFT 7, .REVISION 39,</kbd> and <kbd>.COPYSTYLE
  594. FINAL</kbd> are actually superfluous. The draft and revision numbers
  595. aren't used when <strong>COPYSTYLE</strong> is <strong>FINAL</strong>,
  596. and <strong>COPYSTYLE FINAL</strong> is <strong>mom</strong>'s
  597. default unless you tell her otherwise. BUT... to judge from the
  598. number of drafts already, J. Blow may very well decide his
  599. &quot;final&quot; version still isn't up to snuff. Hence, he might
  600. as well leave in the superfluous macros. That way, when draft 7,
  601. rev. 62 becomes draft 8, rev. 1, he'll be ready to tackle his Pulitzer
  602. winner again.
  603. <p>
  604. <hr>
  605. <!========================================================================>
  606. <a name="REFERENCE_MACROS">
  607. <h2><u>The Reference Macros</u></h2>
  608. </a>
  609. The reference macros give <strong>mom</strong> the information
  610. she needs to generate
  611. <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>,
  612. <a href="definitions.html#TERMS_HEADER">page headers</a>,
  613. and
  614. <a href="cover.html#COVER_TOP">covers</a>.
  615. They must go at the top of any file that uses <strong>mom</strong>'s
  616. document processing macros.
  617. <p>
  618. <a name="INDEX_REFERENCE">
  619. <h3><u>Reference macros list</u></h3>
  620. </a>
  621. <ul>
  622. <li><a href="#TITLE">TITLE</a>
  623. <li><a href="#DOC_TITLE">DOCTITLE</a>
  624. <li><a href="#SUBTITLE">SUBTITLE</a>
  625. <li><a href="#AUTHOR">AUTHOR</a>
  626. <li><a href="#CHAPTER">CHAPTER</a>
  627. <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>
  628. <li><a href="#DRAFT">DRAFT</a>
  629. <li><a href="#REVISION">REVISION</a>
  630. <li><a href="#COPYRIGHT">COPYRIGHT</a>
  631. <li><a href="#MISC">MISC</a>
  632. <li><a href="#COVERTITLE">COVERTITLE</a>
  633. </ul>
  634. <br>
  635. <!---TITLE--->
  636. <hr width="66%" align="left">
  637. <p>
  638. <a name="TITLE"></a>
  639. <nobr>Macro: <strong>TITLE</strong> &quot;&lt;title&gt;&quot;</nobr>
  640. <br>
  641. <em>*Argument must be enclosed in double-quotes</em>
  642. <p>
  643. The title string can be caps or caps/lower-case; it's up to you.
  644. In
  645. <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
  646. the title will appear in the
  647. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
  648. exactly as you typed it. However, <strong>mom</strong> converts
  649. the title to all caps in
  650. <a href="definitions.html#TERMS_HEADER">page headers</a>
  651. unless you turn that feature off (see
  652. <a href="headfootpage.html#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>). In
  653. <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
  654. the title always gets converted to caps.
  655. <p>
  656. <strong>NOTE:</strong> If your
  657. <a href="#DOCTYPE">DOCTYPE</a>
  658. is <strong>CHAPTER</strong>, <strong>TITLE</strong> should be the
  659. title of the opus, not &quot;CHAPTER whatever&quot;.
  660. <p>
  661. <!---DOCTITLE--->
  662. <hr width="66%" align="left">
  663. <p>
  664. <a name="DOCTITLE"></a>
  665. <nobr>Macro: <strong>DOCTITLE</strong> &quot;&lt;overall document title&gt;&quot;</nobr>
  666. <br>
  667. <em>*Argument must be enclosed in double-quotes</em>
  668. <p>
  669. <strong>NOTE:</strong> This macro should be used only if your
  670. <a href="#DOCTYPE">DOCTYPE</a>
  671. is <strong>DEFAULT</strong> (which is <strong>mom</strong>'s
  672. default).
  673. <p>
  674. When you're creating a single document, say, an essay or a short
  675. story, you have no need of this macro.
  676. <a href="#TITLE">TITLE</a>
  677. takes care of all your title needs.
  678. <p>
  679. However if you're
  680. <a href="rectoverso.html#COLLATE">collating</a>
  681. a bunch of documents together, say, to print out a report containing
  682. many articles with different titles, or a book of short stories, you
  683. need <strong>DOCTITLE</strong>.
  684. <p>
  685. <strong>DOCTITLE</strong> tells <strong>mom</strong> the title
  686. of the complete document (as opposed to the title of each article
  687. or entitled section).
  688. <p>
  689. The doctitle string can be caps or caps/lower-case; it's up to you.
  690. In
  691. <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
  692. by default, the doctitle appears in the rightmost position of
  693. <a href="definitions.html#TERMS_HEADER">page headers</a>,
  694. all in caps unless you turn that feature off (see
  695. <a href="headfootpage.html#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>). In
  696. <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
  697. the doctitle always gets converted to caps.
  698. <p>
  699. <strong>NOTE:</strong> If your
  700. <a href="#DOCTYPE">DOCTYPE</a>
  701. is <strong>CHAPTER</strong>, you don't need
  702. <strong>DOCTITLE</strong>. <strong>TITLE</strong> takes care of
  703. everything.
  704. <p>
  705. <!---SUBTITLE--->
  706. <hr width="66%" align="left">
  707. <p>
  708. <a name="SUBTITLE"></a>
  709. <nobr>Macro: <strong>SUBTITLE</strong> &quot;&lt;subtitle&gt;&quot;</nobr>
  710. <br>
  711. <em>*Argument must be enclosed in double-quotes</em>
  712. <p>
  713. The subtitle string can be caps or caps/lower-case. Since a
  714. document's subtitle appears only in the
  715. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
  716. and the title is most likely in caps, I recommend caps/lower case.
  717. <p>
  718. <!---AUTHOR--->
  719. <hr width="66%" align="left">
  720. <p>
  721. <a name="AUTHOR"></a>
  722. <nobr>Macro: <strong>AUTHOR</strong> &quot;&lt;author string&gt;&quot; [ &quot;&lt;author2 string&gt;&quot; &quot;&lt;author3 string&gt;&quot; ... ]</nobr>
  723. <br>
  724. <em>*Multiple arguments must all be enclosed in double-quotes</em>
  725. <p>
  726. Each author string can hold as many names as you like, e.g.
  727. <p>
  728. <pre>
  729. .AUTHOR "Joe Blow"
  730. or
  731. .AUTHOR "Joe Blow, Jane Doe" "John Hancock"
  732. </pre>
  733. <strong>Mom</strong> prints each string that's enclosed in
  734. double-quotes on a separate line in the
  735. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
  736. however only the first string appears in
  737. <a href="definitions.html#TERMS_HEADER">page headers</a>.
  738. If you want <strong>mom</strong> to put something else in the author
  739. part of page headers (say, just the last names of a document's two
  740. authors), redefine the appropriate part of the header (see
  741. <a href="headfootpage.html#HEADER_CONTROL">header/footer control</a>).
  742. <p>
  743. The strings can be caps or caps/lower-case. I recommend caps/lower
  744. case.
  745. <p>
  746. <!---CHAPTER--->
  747. <hr width="66%" align="left">
  748. <p>
  749. <a name="CHAPTER"></a>
  750. <nobr>Macro: <strong>CHAPTER</strong> &lt;chapter number&gt;</nobr>
  751. <p>
  752. The chapter number can be in any form you like -- a digit, a roman
  753. numeral, a word. If you choose
  754. <a href="#DOCTYPE">DOCTYPE CHAPTER</a>,
  755. <strong>mom</strong> prints whatever argument you pass
  756. <strong>CHAPTER</strong> beside the word &quot;Chapter&quot; as a
  757. single line
  758. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>.
  759. She also puts the same thing in the middle of
  760. <a href="definitions.html#TERMS_HEADER">page headers</a>.
  761. <p>
  762. Please note that if your argument to <strong>CHAPTER</strong> runs
  763. to more than one word, you must enclose the argument in
  764. double-quotes.
  765. <p>
  766. If you're not using <strong>DOCTYPE CHAPTER</strong>, the macro serves
  767. no purpose and <strong>mom</strong> ignores it.
  768. <p>
  769. <a name="CHAPTER_STRING"><strong>CHAPTER_STRING</strong></a>
  770. <p>
  771. If you're not writing in English, you can ask <strong>mom</strong>
  772. to use the word for &quot;chapter&quot; in your own language by
  773. telling her what it is with the <strong>CHAPTER_STRING</strong>
  774. macro, like this:
  775. <p>
  776. <pre>
  777. .CHAPTER_STRING "Chapître"
  778. </pre>
  779. You can also use <strong>CHAPTER_STRING</strong> if you want
  780. &quot;CHAPTER&quot; instead of &quot;Chapter&quot; in the doc- and
  781. page-headers.
  782. <p>
  783. <!---CHAPTER_TITLE--->
  784. <hr width="66%" align="left">
  785. <p>
  786. <a name="CHAPTER_TITLE"></a>
  787. <nobr>Macro: <strong>CHAPTER_TITLE</strong> &quot;&lt;chapter title&gt;&quot;</nobr>
  788. <br>
  789. <em>*Argument must be enclosed in double-quotes</em>
  790. <p>
  791. If, either in addition to or instead of &quot;Chapter #&quot; appearing
  792. at the top of chapters, you want your chapter to have a title, use
  793. <strong>CHAPTER_TITLE</strong>, with your title enclosed in
  794. double-quotes, like this:
  795. <p>
  796. <pre>
  797. .CHAPTER_TITLE "The DMCA Nazis"
  798. </pre>
  799. If you've used
  800. <a href="#CHAPTER">CHAPTER</a> to give the chapter a number,
  801. both &quot;Chapter #&quot; and the chapter title will appear at the
  802. top of the chapter, like this:
  803. <p>
  804. <pre>
  805. Chapter 1
  806. The DMCA Nazis
  807. </pre>
  808. In such a case, by default, only the chapter's title will appear in the
  809. <a href="definitions.html#TERMS_HEADER">page headers</a>,
  810. not &quot;Chapter #&quot;.
  811. <p>
  812. If you omit <strong>CHAPTER</strong> when setting up your reference
  813. macros, only the title will appear, both at the top of page one and in
  814. subsequent page headers.
  815. <p>
  816. The style of the chapter title can be altered by
  817. <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>,
  818. e.g. <strong>CHAPTER_TITLE_FAMILY</strong>,
  819. <strong>CHAPTER_TITLE_FONT</strong>, etc. The default family,
  820. font and point size are Times Roman, Bold Italic, 4 points larger
  821. than
  822. <a href="definitions.html#TERMS_RUNNING">running text</a>.
  823. <p>
  824. <!---DRAFT--->
  825. <hr width="66%" align="left">
  826. <p>
  827. <a name="DRAFT"></a>
  828. <nobr>Macro: <strong>DRAFT</strong> &lt;draft #&gt;</nobr>
  829. <p>
  830. <strong>DRAFT</strong> only gets used with
  831. <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
  832. If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> (the
  833. default), <strong>mom</strong> ignores <strong>DRAFT</strong>.
  834. <strong>DRAFT</strong> accepts both alphabetic and numeric
  835. arguments, hence it's possible to do either
  836. <p>
  837. <pre>
  838. .DRAFT 2
  839. or
  840. .DRAFT Two
  841. </pre>
  842. <strong>Mom</strong> prints the argument to <strong>.DRAFT</strong>
  843. (i.e. the draft number) beside the word &quot;Draft&quot; in the
  844. middle part of
  845. <a href="definitions.html#TERMS_HEADER">page headers</a>.
  846. <p>
  847. <strong>A small word of caution:</strong> If your argument to
  848. <strong>.DRAFT</strong> is more than one word long, you must
  849. enclose the argument in double-quotes.
  850. <p>
  851. You may, if you wish, invoke <strong>.DRAFT</strong> without an
  852. argument, in which case, no draft number will be printed beside
  853. &quot;Draft&quot; in headers or footers.
  854. <p>
  855. <a name="DRAFT_STRING"><strong>DRAFT_STRING</strong></a>
  856. <p>
  857. If you're not writing in English, you can ask <strong>mom</strong>
  858. to use the word for &quot;draft&quot; in your own language by
  859. telling her what it is with the <strong>DRAFT_STRING</strong> macro,
  860. like this:
  861. <p>
  862. <pre>
  863. .DRAFT_STRING "Jet"
  864. </pre>
  865. Equally, <strong>DRAFT_STRING</strong> can be used to roll your own
  866. solution to something other than the word &quot;Draft.&quot; For
  867. example, you might want &quot;Trial run alpha-three&quot; to appear
  868. in the headers of a draft version. You'd accomplish this by doing
  869. <p>
  870. <pre>
  871. .DRAFT alpha-three
  872. .DRAFT_STRING "Trial run
  873. </pre>
  874. <strong>.DRAFT</strong> without an argument, above, ensures that
  875. only the <strong>DRAFT_STRING</strong> gets printed.
  876. <p>
  877. <strong>NOTE:</strong> If you define both a blank <strong>.DRAFT</strong>
  878. and a blank <strong>.DRAFT_STRING</strong>, <strong>mom</strong>
  879. skips the draft field in headers entirely. If this is what you
  880. want, this is also the only way to do it. Simply leaving out
  881. <strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> will
  882. result in <strong>mom</strong> using her default, which is to print
  883. &quot;Draft 1&quot;.
  884. <p>
  885. <!---REVISION--->
  886. <hr width="66%" align="left">
  887. <p>
  888. <a name="REVISION"></a>
  889. <nobr>Macro: <strong>REVISION</strong> &lt;revision #&gt;</nobr>
  890. <p>
  891. <strong>REVISION</strong> only gets used with
  892. <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
  893. If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong>
  894. (the default), <strong>mom</strong> ignores the
  895. <strong>REVISION</strong> macro. <strong>REVISION</strong> accepts
  896. both alphabetic and numeric arguments, hence it's possible to do
  897. either
  898. <p>
  899. <pre>
  900. .REVISION 2
  901. or
  902. .REVISION Two
  903. </pre>
  904. <strong>Mom</strong> prints the revision number beside the shortform
  905. &quot;Rev.&quot; in the middle part of
  906. <a href="definitions.html#TERMS_HEADER">page headers</a>.
  907. <p>
  908. <strong>A small word of caution:</strong> If your argument to
  909. <strong>.REVISION</strong> is more than one word long, you must
  910. enclose the argument in double-quotes.
  911. <p>
  912. You may, if you wish, invoke <strong>.REVISION</strong> without an
  913. argument, in which case, no revision number will be printed beside
  914. &quot;Rev.&quot; in headers or footers.
  915. <p>
  916. <a name="REVISION_STRING"><strong>REVISION_STRING</strong></a>
  917. <p>
  918. If you're not writing in English, you can ask <strong>mom</strong>
  919. to use the word for &quot;revision,&quot; or a shortform
  920. thereof, in your own language by telling her what it is with the
  921. <strong>REVISION_STRING</strong> macro, like this:
  922. <p>
  923. <pre>
  924. .REVISION_STRING "Rév."
  925. </pre>
  926. Additionally, you may sometimes want to make use of
  927. <strong>mom</strong>'s
  928. <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>
  929. but not actually require any draft information. For example, you
  930. might like <strong>mom</strong> to indicate only the revision number
  931. of your document. The way to do that is to define an empty
  932. <strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> in
  933. addition to <strong>.REVISION</strong>, like this:
  934. <p>
  935. <pre>
  936. .DRAFT
  937. .DRAFT_STRING
  938. .REVISION 2
  939. </pre>
  940. <p>
  941. Equally, if you want to roll your own solution to what revision
  942. information appears in headers, you could do something like this:
  943. <pre>
  944. .DRAFT
  945. .DRAFT_STRING
  946. .REVISION "two-twenty-two"
  947. .REVISION_STRING "Revision"
  948. </pre>
  949. <p>
  950. The above, naturally, has no draft information. If you want to
  951. roll your own <strong>.DRAFT</strong> and/or
  952. <strong>.DRAFT_STRING</strong> as well, simply supply arguments to
  953. either or both.
  954. <p>
  955. <!---COPYRIGHT--->
  956. <hr width="66%" align="left">
  957. <p>
  958. <a name="COPYRIGHT"></a>
  959. <nobr>Macro: <strong>COPYRIGHT</strong> &quot;&lt;copyright info&gt;&quot;</nobr>
  960. <br>
  961. <em>*Argument must be enclosed in double-quotes</em>
  962. <p>
  963. The argument passed to <strong>COPYRIGHT</strong> is only used on
  964. cover or doc cover pages, and then only if the argument COPYRIGHT is
  965. passed to
  966. <a href="cover.html#COVER">COVER</a>
  967. or
  968. <a href="cover.html#DOC_COVER">DOC_COVER</a>.
  969. Do not include the copyright symbol in the argument passed to
  970. <strong>COPYRIGHT</strong>; <strong>mom</strong> puts it in for
  971. you.
  972. <p>
  973. <!---MISC--->
  974. <hr width="66%" align="left">
  975. <p>
  976. <a name="MISC"></a>
  977. <nobr>Macro: <strong>MISC</strong> &quot;&lt;argument 1&gt;&quot; [&quot;&lt;argument 2&gt;&quot; &quot;&lt;argument 3&gt;&quot; ...]</nobr>
  978. <br>
  979. <em>*Multliple arguments must all be enclosed in double-quotes</em>
  980. <p>
  981. The argument(s) passed to <strong>MISC</strong> are only used on
  982. cover or doc cover pages, and then only if the argument MISC is
  983. passed to
  984. <a href="cover.html#COVER">COVER</a>
  985. or
  986. <a href="cover.html#DOC_COVER">DOC_COVER</a>.
  987. <strong>MISC</strong> can contain any information you like. Each
  988. argument appears on a separate line at the bottom of the cover or
  989. doc cover page.
  990. <p>
  991. For example, if you're submitting an essay where the prof has
  992. requested that you include the course number, his name and the
  993. date, you could do
  994. <p>
  995. <pre>
  996. .MISC &quot;Music History 101&quot; &quot;Professor Hasbeen&quot; &quot;Dec. 24, 2006&quot;
  997. </pre>
  998. and the information would appear on the essay's cover page.
  999. <p>
  1000. <!---COVER_TITLE--->
  1001. <hr width="66%" align="left">
  1002. <p>
  1003. <a name="COVERTITLE"></a>
  1004. <nobr>Macro: <strong>COVERTITLE</strong> &quot;&lt;user defined cover page title&gt;&quot;</nobr>
  1005. <br>
  1006. <nobr>Macro: <strong>DOC_COVERTITLE</strong> &quot;&lt;user defined document cover page title&gt;&quot;</nobr>
  1007. <br>
  1008. <em>*Argument must be enclosed in double-quotes</em>
  1009. <p>
  1010. The argument passed to <strong>COVERTITLE</strong> or
  1011. <strong>DOC_COVERTITLE</strong> is only used on cover or doc cover
  1012. pages, and then only if the argument COVERTITLE is passed to
  1013. <a href="cover.html#COVER">COVER</a>
  1014. or
  1015. <a href="cover.html#DOC_COVER">DOC_COVER</a>.
  1016. <p>
  1017. The only time you require a <strong>COVERTITLE</strong> or
  1018. <strong>DOC_COVERTITLE</strong>is when none of the required first
  1019. arguments to <strong>COVER</strong> or <strong>DOC_COVER</strong>
  1020. fits your needs for the title you want to appear on cover (or doc
  1021. cover) pages.
  1022. <p>
  1023. <hr>
  1024. <!========================================================================>
  1025. <a name="DOCSTYLE_MACROS">
  1026. <h2><u>The Docstyle Macros</u></h2>
  1027. </a>
  1028. The docstyle macros tell <strong>mom</strong> what type of document you're
  1029. writing, whether you want the output typeset or
  1030. &quot;typewritten&quot;, and whether you want a draft copy (with
  1031. draft and revision information in the headers) or a final copy.
  1032. <a name="INDEX_DOCSTYLE">
  1033. <h3><u>Docstyle macros list</u></h3>
  1034. </a>
  1035. <ul>
  1036. <li><a href="#DOCTYPE">DOCTYPE</a>
  1037. <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
  1038. <ul>
  1039. <li><a href="#TYPESET_DEFAULTS">Defaults for PRINTSTYLE TYPESET</a>
  1040. <li><a href="#TYPEWRITE_DEFAULTS">Defaults for PRINTSTYLE TYPEWRITE</a>
  1041. <ul>
  1042. <li><a href="#TYPEWRITE_CONTROL">TYPEWRITE control macros</a>
  1043. </ul>
  1044. </ul>
  1045. <li><a href="#COPYSTYLE">COPYSTYLE</a>
  1046. </ul>
  1047. <br>
  1048. <!---DOCTYPE--->
  1049. <hr width="66%" align="left">
  1050. <p>
  1051. <a name="DOCTYPE"></a>
  1052. <nobr>Macro: <strong>DOCTYPE</strong> DEFAULT | CHAPTER | NAMED &quot;&lt;name&gt;&quot; | LETTER</nobr>
  1053. <p>
  1054. The arguments <strong>DEFAULT, CHAPTER</strong> and
  1055. <strong>NAMED</strong> tell <strong>mom</strong> what to put
  1056. in the
  1057. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
  1058. and
  1059. <a href="definitions.html#TERMS_HEADER">page headers</a>.
  1060. <strong>LETTER</strong> tells her that you want to write a
  1061. letter.
  1062. <p>
  1063. <strong>Mom</strong>'s default <strong>DOCTYPE</strong> is
  1064. <strong>DEFAULT</strong>. If that's what you want, you don't
  1065. have to give a <strong>DOCTYPE</strong> command.
  1066. <p>
  1067. <strong>DEFAULT</strong> prints a
  1068. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
  1069. containing the title, subtitle and author information given to the
  1070. <a href="#REFERENCE_MACROS">reference macros</a>,
  1071. and page headers with the author and title.
  1072. (See
  1073. <a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
  1074. for how <strong>mom</strong> outputs each part of the page header.)
  1075. <p>
  1076. <strong>CHAPTER</strong> prints &quot;Chapter #&quot; in place of a
  1077. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
  1078. (# is what you gave to the
  1079. <a href="#REFERENCE_MACROS">reference macro</a>
  1080. <a href="#CHAPTER">CHAPTER</a>).
  1081. If you give the chapter a title with
  1082. <a href="#CHAPTER_TITLE">CHAPTER TITLE</a>,
  1083. <strong>mom</strong> prints &quot;Chapter #&quot; and the title
  1084. underneath. If you omit the
  1085. <a href="#CHAPTER">CHAPTER</a>
  1086. reference macro but supply a
  1087. <a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>,
  1088. <strong>mom</strong> prints only the chapter title. <em>(*For
  1089. backward compatibility with pre-1.1.5 versions of</em>
  1090. <strong>mom</strong><em>, you can also supply a chapter title by
  1091. omitting the</em> <strong>CHAPTER</strong> <em>reference macro and
  1092. supplying a chapter title with</em>
  1093. <a href="#CHAPTER_STRING">CHAPTER_STRING</a>.)
  1094. <p>
  1095. The page headers in <strong>DOCTYPE CHAPTER</strong> contain the author,
  1096. the title of the book (which you gave with
  1097. <a href="#TITLE">TITLE</a>),
  1098. and &quot;Chapter #&quot; (or the chapter title). See
  1099. <a href="headfootpage.html#HEADER_STYLE">Default Specs for Headers</a>
  1100. for <strong>mom</strong>'s default type parameters for each part of
  1101. the page header.
  1102. <p>
  1103. <strong>NAMED</strong> takes an additional argument: a name
  1104. for this particular kind of document (e.g. outline, synopsis,
  1105. abstract, memorandum), enclosed in double-quotes.
  1106. <strong>NAMED</strong> is identical to <strong>DEFAULT</strong>
  1107. except that <strong>mom</strong> prints the argument to
  1108. <strong>NAMED</strong> beneath the
  1109. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
  1110. as well as in page headers.
  1111. (See
  1112. <a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
  1113. for how <strong>mom</strong> outputs each part of the page header.)
  1114. <p>
  1115. Additionally, if you wish the name of this particular kind of
  1116. document to be coloured, you can pass <strong>DOCTYPE NAMED</strong>
  1117. a third (optional) argument: the name of a colour pre-defined (or
  1118. &quot;initialized&quot;) with
  1119. <a href="color.html#NEWCOLOR">NEWCOLOR</a>
  1120. or
  1121. <a href="color.html#XCOLOR">XCOLOR</a>.
  1122. For example, if you have a doctype named &quot;Warning&quot;, and
  1123. you'd like &quot;Warning&quot; to be in red, assuming you've
  1124. pre-defined (or &quot;initialized&quot;) the color, red, this is
  1125. what the <strong>DOCTYPE</strong> entry would look like:
  1126. <p>
  1127. <pre>
  1128. .DOCTYPE NAME "Warning" red
  1129. </pre>
  1130. <p>
  1131. <strong>LETTER</strong> tells mom you're writing a letter. See
  1132. the section
  1133. <a href="letters.html#INTRO">Writing Letters</a>
  1134. for instructions on using <strong>mom</strong> to format letters.
  1135. <p>
  1136. <!---PRINTSTYLE--->
  1137. <hr width="66%" align="left">
  1138. <p>
  1139. <a name="PRINTSTYLE"></a>
  1140. <nobr>Macro: <strong>PRINTSTYLE</strong> TYPESET | TYPEWRITE [ SINGLESPACE ]</nobr>
  1141. <br>
  1142. <em>*Required for document processing.</em>
  1143. <br>
  1144. <em>*Must come before any changes to default document style</em>
  1145. <p>
  1146. <strong>PRINTSTYLE</strong> tells <strong>mom</strong> whether to typeset
  1147. a document, or to print it out &quot;typewritten, doubled-spaced&quot;.
  1148. <p>
  1149. <strong>THIS MACRO MAY NOT BE OMITTED.</strong> In order for
  1150. document processing to take place, <strong>mom</strong> requires
  1151. a <strong>PRINTSTYLE</strong>. If you don't give one,
  1152. <strong>mom</strong> will warn you on stderr and print a single
  1153. page with a nasty message.
  1154. <p>
  1155. Furthermore, <strong>PRINTSTYLE</strong> must come before any
  1156. changes to <strong>mom</strong>'s default typestyle parameters.
  1157. (This applies primarily to, but is by no means restricted to,
  1158. <strong>PRINTSTYLE TYPESET</strong>.) <strong>PRINTSTYLE</strong>
  1159. sets up complete &quot;templates&quot; that include default
  1160. papersize, margins, family, fonts, point sizes, and so on.
  1161. Therefore, changes to any aspect of document style must come
  1162. afterwards.
  1163. <p>
  1164. <strong>TYPESET</strong>, as the argument implies, typesets documents
  1165. (by default in Times Roman; see
  1166. <a href="#TYPESET_DEFAULTS">TYPESET defaults</a>).
  1167. You have full access to all the
  1168. <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
  1169. as well as the
  1170. <a href="definitions.html#STYLE_CONTROL">style control macros</a>
  1171. of document processing.
  1172. <p>
  1173. As mentioned above, <strong>PRINTSTYLE TYPESET</strong> must come
  1174. before any changes to <strong>mom</strong>'s default typographic
  1175. settings. For example,
  1176. <pre>
  1177. .PAPER A4
  1178. .LS 14
  1179. .PRINTSTYLE TYPESET
  1180. </pre>
  1181. will not changes <strong>mom</strong>'s default paper size to A4,
  1182. nor her default document leading 14 points, whereas
  1183. <pre>
  1184. .PRINTSTYLE TYPESET
  1185. .PAPER A4
  1186. .LS 14
  1187. </pre>
  1188. will.
  1189. <p>
  1190. With <strong>TYPEWRITE</strong>, <strong>mom</strong> does her best
  1191. to reproduce the look and feel of typewritten, double-spaced copy (see
  1192. <a href="#TYPEWRITE_DEFAULTS">TYPEWRITE defaults</a>).
  1193. <a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a>
  1194. and
  1195. <a href="typesetting.html#INTRO_MACROS_TYPESETTING">typesetting macros</a>
  1196. that alter family, font, point size, and
  1197. <a href="definitions.html#TERMS_LEADING">leading</a>
  1198. are (mostly) ignored. An important exception is
  1199. <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
  1200. (and, by extension, <strong>FOOTER_SIZE</strong>), which allows
  1201. you to reduce the point size of headers/footers should they become
  1202. too crowded. Most of <strong>mom</strong>'s inlines affecting the
  1203. appearance of type are also ignored (<strong>\*S</strong> is an
  1204. exception; there may be a few others).
  1205. <p>
  1206. In short, <strong>TYPEWRITE</strong> never produces effects other than
  1207. those available on a typewriter. Don't be fooled by how brainless
  1208. this sounds; <strong>mom</strong> is remarkably sophisticated when
  1209. it comes to conveying the typographic sense of a document within the
  1210. confines of <strong>TYPEWRITE</strong>.
  1211. <p>
  1212. The primary uses of <strong>TYPEWRITE</strong> are: outputting hard
  1213. copy drafts of your work (for editing), and producing documents
  1214. for submission to publishers and agents who (wisely) insist on
  1215. typewritten, double-spaced copy. To get a nicely typeset version of
  1216. work that's in the submission phase of its life (say, to show fellow
  1217. writers for critiquing), simply change <strong>TYPEWRITE</strong>
  1218. to <strong>TYPESET</strong> and print out a copy.
  1219. <p>
  1220. If, for some reason, you would prefer the output of
  1221. <strong>TYPEWRITE</strong> single-spaced, pass <strong>PRINTSTYLE
  1222. TYPEWRITE</strong> the optional argument, <strong>SINGLESPACE</strong>.
  1223. <p>
  1224. If you absolutely must have a leading other than typewriter double-
  1225. or singlespaced, the only way to get it is with the
  1226. <a href="#DOC_LEAD">DOC_LEAD</a>
  1227. macro, and then ONLY if <strong>DOC_LEAD</strong> is set
  1228. <strong>before</strong> you invoke the <strong>START</strong>
  1229. macro.
  1230. <p>
  1231. <a name="TYPESET_DEFAULTS"><h3><u>TYPESET defaults</u></h3></a>
  1232. <pre>
  1233. Family = Times Roman
  1234. Point size = 12.5
  1235. Paragraph leading = 16 points, adjusted
  1236. Fill mode = justified
  1237. Hyphenation = enabled
  1238. max. lines = 2
  1239. margin = 36 points
  1240. interword adjustment = 1 point
  1241. Kerning = enabled
  1242. Ligatures = enabled
  1243. Smartquotes = enabled
  1244. Word space = groff default
  1245. Sentence space = 0
  1246. </pre>
  1247. <a name="TYPEWRITE_DEFAULTS"><h3><u>TYPEWRITE defaults</u></h3></a>
  1248. <pre>
  1249. Family = Courier
  1250. Italics = underlined
  1251. Point size = 12
  1252. Paragraph leading = 24 points, adjusted; 12 points for SINGLESPACE
  1253. Fill mode = left
  1254. Hyphenation = disabled
  1255. Kerning = disabled
  1256. Ligatures = disabled
  1257. Smartquotes = disabled
  1258. Word space = groff default
  1259. Sentence space = groff default
  1260. Columns = ignored
  1261. </pre>
  1262. <a name="TYPEWRITE_CONTROL"><h3><u>PRINTSTYLE TYPEWRITE control macros</u></h3></a>
  1263. <p>
  1264. In <strong>PRINTSTYLE TYPEWRITE</strong>, <strong>mom</strong>,
  1265. by default, underlines anything that looks like italics. This
  1266. includes the
  1267. <a href="typesetting.html#SLANT_INLINE">\*[SLANT]</a>
  1268. <a href="definitions.html#TERMS_INLINES">inline escape</a>
  1269. for pseudo-italics.
  1270. <p>
  1271. If you'd prefer that <strong>mom</strong> were
  1272. less bloody-minded about pretending to be a typewriter (i.e.
  1273. you'd like italics and pseudo-italics to come out as italics),
  1274. use the control macros <strong>.ITALIC_MEANS_ITALIC</strong> and
  1275. <strong>.SLANT_MEANS_SLANT</strong>. Neither requires an
  1276. argument.
  1277. <p>
  1278. Although it's unlikely, should you wish to reverse the sense of
  1279. these macros in the midst of a document,
  1280. <strong>.UNDERLINE_ITALIC</strong> and
  1281. <strong>.UNDERLINE_SLANT</strong> restore underlining of
  1282. italics and pseudo-italics.
  1283. <p>
  1284. <a name="UNDERLINE_QUOTES"></a>
  1285. Additionally, by default, <strong>mom</strong> underlines
  1286. <a href="definitions.html#TERMS_QUOTES">quotes</a>
  1287. (but not
  1288. <a href="definitions.html#TERMS_BLOCKQUOTES">blockquotes</a>)
  1289. in <strong>PRINTSTYLE TYPEWRITE</strong>.
  1290. If you don't like this behaviour, turn it off with
  1291. <p>
  1292. <pre>
  1293. .UNDERLINE_QUOTES OFF
  1294. </pre>
  1295. To turn underlining of quotes back on, use
  1296. <strong>UNDERLINE_QUOTES</strong> without an argument.
  1297. <p>
  1298. While most of the
  1299. <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>
  1300. have no effect on <strong>PRINTSTYLE TYPEWRITE</strong>, there
  1301. is an important exception:
  1302. <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
  1303. (and by extension, <strong>FOOTER_SIZE</strong>). This is
  1304. particularly useful for reducing the point size of
  1305. headers/footers should they become crowded (quite likely to
  1306. happen if the title of your document is long and your
  1307. <a href="#COPYSTYLE">COPYSTYLE</a>
  1308. is <strong>DRAFT</strong>).
  1309. <p>
  1310. <!---COPYSTYLE--->
  1311. <hr width="66%" align="left">
  1312. <p>
  1313. <a name="COPYSTYLE"></a>
  1314. <nobr>Macro: <strong>COPYSTYLE</strong> D