PageRenderTime 77ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/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
Possible License(s): MPL-2.0-no-copyleft-exception, BSD-3-Clause, LGPL-2.0, LGPL-2.1, BSD-2-Clause, 0BSD, JSON, AGPL-1.0, GPL-2.0
  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> DRAFT | FINAL</nobr>
  1315. <p>
  1316. <strong>Mom</strong>'s default <strong>COPYSTYLE</strong> is
  1317. <strong>FINAL</strong>, so you don't have to use this macro unless
  1318. you want to.
  1319. <p>
  1320. <strong>COPYSTYLE DRAFT</strong> exhibits the following behaviour:
  1321. <br>
  1322. <ol>
  1323. <li>documents start on page 1, whether or not you
  1324. request a different starting page number with
  1325. <a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>
  1326. <li>page numbers are set in lower case roman numerals
  1327. <li>the draft number supplied by
  1328. <a href="#DRAFT">DRAFT</a>
  1329. and a revision number, if supplied with
  1330. <a href="#REVISION">REVISION</a>
  1331. (see
  1332. <a href="#REFERENCE_MACROS">reference macros</a>),
  1333. appear in the centre part of
  1334. <a href="definitions.html#TERMS_HEADER">page headers</a>
  1335. (or footers, depending on which you've selected) along with
  1336. any other information that normally appears there.
  1337. </ol>
  1338. <p>
  1339. <strong>IMPORTANT:</strong> If you define your own centre part for page
  1340. headers with
  1341. <a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</a>,
  1342. no draft and/or revision number will appear there. If you want draft
  1343. and revision information in this circumstance, use
  1344. <a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>.
  1345. <p>
  1346. <strong>COPYSTYLE FINAL</strong> differs from <strong>DRAFT</strong> in that:
  1347. <br>
  1348. <ol>
  1349. <li>it respects the starting page number you give the document
  1350. <li>page numbers are set in normal (Arabic) digits
  1351. <li>no draft or revision number appears in the page headers
  1352. </ol>
  1353. <p>
  1354. <strong>NOTE:</strong> The centre part of page headers can get crowded,
  1355. especially with
  1356. <a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>
  1357. and
  1358. <a href="docprocessing.html#DOCTYPE">DOCTYPE NAMED</a>,
  1359. when the <strong>COPYSTYLE</strong> is <strong>DRAFT</strong>.
  1360. Three mechanisms are available to overcome this problem. One is to
  1361. reduce the overall size of headers (with
  1362. <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>).
  1363. Another, which only works with
  1364. <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
  1365. is to reduce the size of the header's centre part only (with
  1366. <a href="headfootpage.html#_SIZE">HEADER_CENTER_SIZE</a>).
  1367. And finally, you can elect to have the draft/revision information
  1368. attached to page numbers instead of having it appear in the centre
  1369. of page headers (see
  1370. <a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>).
  1371. <p>
  1372. <hr>
  1373. <!========================================================================>
  1374. <a name="STYLE_BEFORE_START"><h2><u>Changing type/style parameters prior to START</u></h2></a>
  1375. <p>
  1376. In the third (optional) part of setting up a document (see
  1377. <a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>),
  1378. you can use the
  1379. <a href="typsetting.html">typesetting macros</a>
  1380. to change <strong>mom</strong>'s document-wide defaults for margins,
  1381. line length, family, base point size,
  1382. <a href="definitions.html#TERMS_LEADING">leading</a>,
  1383. and justification style.
  1384. <p>
  1385. Two additional style concerns have to be addressed here (i.e. in
  1386. macros before
  1387. <a href="#START">START</a>):
  1388. changes to the
  1389. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
  1390. and whether you want you want the document's nominal leading
  1391. adjusted to fill pages fully to the bottom margin.
  1392. <p>
  1393. <ul>
  1394. <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a>
  1395. <p>
  1396. <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
  1397. -- adjusting linespacing for equal, accurate bottom margins
  1398. <li><a href="#DOCHEADER">DOCHEADER</a>
  1399. -- turning the docheader off
  1400. <ul>
  1401. <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
  1402. </ul>
  1403. </ul>
  1404. <br>
  1405. <hr width="66%" align="left">
  1406. <a name="TYPE_BEFORE_START"><h2><u>Using the typesetting macros prior to START</u></h2></a>
  1407. <p>
  1408. From time to time (or maybe frequently), you'll want the overall
  1409. look of a document to differ from <strong>mom</strong>'s defaults.
  1410. Perhaps you'd like her to use a different
  1411. <a href="definitions.html#TERMS_FAMILY">family</a>,
  1412. or a different overall
  1413. <a href="definitions.html#TERMS_LEADING">leading</a>,
  1414. or have different left and/or right page margins.
  1415. <p>
  1416. To accomplish such alterations, use the appropriate
  1417. <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
  1418. (listed below) <strong>after</strong>
  1419. <a href="#PRINTSTYLE">PRINTSTYLE</a>
  1420. and <strong>before</strong>
  1421. <a href="#START">START</a>.
  1422. <p>
  1423. More than one user has, quite understandably, not fully grasped
  1424. the significance of the preceding sentence. The part they've missed
  1425. is &quot;<u>after <strong>PRINTSTYLE</strong></u>&quot;.
  1426. <p>
  1427. Changes to any aspect of the default look and/or formatting
  1428. of a <strong>mom</strong> document must come after
  1429. <strong>PRINTSTYLE</strong>. For example, it might seem natural to
  1430. set up page margins at the very top of a document with
  1431. <p>
  1432. <pre>
  1433. .L_MARGIN 1i
  1434. .R_MARGIN 1.5i
  1435. </pre>
  1436. However, when you invoke <strong>.PRINTSTYLE</strong>, those
  1437. margins will be overridden. The correct place to set margins--and
  1438. all other changes to the look of a document--is <strong>after
  1439. PRINTSTYLE</strong>.
  1440. <p>
  1441. <strong>NOTE:</strong> Don't use the macros listed in <a
  1442. href="#DOC_PARAM_MACROS">Changing document-wide typesetting
  1443. parameters after START</a> prior to <strong>START</strong>; they are
  1444. exclusively for use afterwards.
  1445. <p>
  1446. When used before
  1447. <strong>START</strong>,
  1448. the
  1449. <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
  1450. (below) have the following meanings:
  1451. <p>
  1452. <pre>
  1453. L_MARGIN Left margin of pages, including headers/footers
  1454. R_MARGIN Right margin of pages, including headers/footers
  1455. T_MARGIN The point at which running text (i.e. not
  1456. headers/footers or page numbers) starts on each page
  1457. B_MARGIN* The point at which running text (i.e. not
  1458. (see note) headers/footers or page numbers) ends on each page
  1459. PAGE If you use PAGE, its final four arguments have the
  1460. same meaning as L_ R_ T_ and B_MARGIN (above).
  1461. LL The line length for everything on the page;
  1462. equivalent to setting the right margin with R_MARGIN
  1463. FAMILY The family of all type in the document
  1464. PT_SIZE The point size of type in paragraphs; mom uses this
  1465. to calculate automatic point size changes (e.g. for
  1466. heads, footnotes, quotes, headers, etc)
  1467. LS/AUTOLEAD** The leading used in paragraphs; all leading and spacing
  1468. of running text is calculated from this
  1469. QUAD/JUSTIFY Affects paragraphs only
  1470. LEFT No effect***
  1471. RIGHT No effect***
  1472. CENTER No effect***
  1473. ------
  1474. *See <a href="headfootpage.html#FOOTER_MARGIN">FOOTER MARGIN AND BOTTOM MARGIN</a> for an important warning
  1475. **See <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
  1476. ***See <a href="#LRC_NOTE">Special note</a>
  1477. </pre>
  1478. Other macros that deal with type style, or refinements thereof
  1479. (<strong>KERN, LIGATURES, HY, WS, SS,</strong> etc.), behave normally.
  1480. It is not recommended that you set up tabs or indents prior to
  1481. <strong>START</strong>.
  1482. <p>
  1483. If you want to change any of the basic parameters (above)
  1484. <em>after</em> <strong>START</strong> and have them affect a
  1485. document globally (as if you'd entered them <em>before</em>
  1486. <strong>START</strong>), you must use the macros listed in
  1487. <a href="#DOC_PARAM_MACROS">Changing document-wide style parameters after START</a>.
  1488. <a name="LRC_NOTE"></a>
  1489. <h3><u>Special note on .LEFT, .RIGHT and .CENTER prior to START</u></h3>
  1490. In a word, these three macros have no effect on document processing
  1491. when invoked prior to <strong>START</strong>.
  1492. <p>
  1493. All <strong>mom</strong>'s document element tags
  1494. (<strong>PP</strong>, <strong>HEAD</strong>,
  1495. <strong>BLOCKQUOTE</strong>, <strong>FOOTNOTE</strong>, etc.)
  1496. except
  1497. <a href="docelement.html#QUOTE">QUOTE</a>
  1498. set a
  1499. <a href="definitions.html#TERMS_FILLED">fill mode</a>
  1500. as soon as they're invoked. If you wish to turn fill mode off for
  1501. the duration of any tag (with
  1502. <a href="typesetting.html#LRC">.LEFT, .RIGHT or .CENTER</a>)
  1503. you must do so immediately after invoking the tag. Furthermore,
  1504. the change affects <em>only</em> the current invocation of the tag.
  1505. Subsequent invocations of the same tag for which you want the same
  1506. change require that you invoke <strong>LEFT</strong>,
  1507. <strong>RIGHT</strong> or <strong>CENTER</strong> immediately after
  1508. every invocation of the tag.
  1509. <p>
  1510. <!---COLOR--->
  1511. <a name="COLOR"><h2><u>Colour</u></h2></a>
  1512. <br>
  1513. Although it doesn't really matter where you define/initialize
  1514. colours for use in document processing (see
  1515. <a href="color.html#NEWCOLOR">NEWCOLOR</a>
  1516. and
  1517. <a href="color.html#XCOLOR">XCOLOR</a>
  1518. in the section
  1519. <a href="color.html#COLOR_INTRO">Coloured text</a>),
  1520. I recommend doing so before you begin document processing with
  1521. <a href="#START">START</a>.
  1522. <p>
  1523. The macro,
  1524. <a href="color.html#COLOR">COLOR</a>,
  1525. and the
  1526. <a href="definitions.html#TERMS_INLINES">inline escape</a>,
  1527. <a href="color.html#COLOR_INLINE">\[&lt;colorname&gt;]</a>,
  1528. can be used at any time during document processing for occasional
  1529. colour effects. However, consistent and reliable colourizing of
  1530. various document elements (the docheader, heads, linebreaks,
  1531. footnotes, pagenumbers, and so on) must be managed through the use
  1532. of the
  1533. <a href="docelement.html#DOCELEMENT_CONTROL">document element control macros</a>.
  1534. <p>
  1535. <strong>PLEASE NOTE:</strong> If you plan to have <strong>mom</strong>
  1536. generate a
  1537. <a href="docelement.html#TOC">table of contents</a>,
  1538. do NOT embed colour
  1539. <a href="definitions.html#TERMS_INLINES">inline escapes</a>
  1540. (<a href="color.html#COLOR_INLINE">\[&lt;colorname&gt;]</a>)
  1541. in the
  1542. <a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>
  1543. given to any of the
  1544. <a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>,
  1545. nor in the string arguments given to
  1546. <a href="docelement.html#HEAD">.HEAD</a>,
  1547. <a href="docelement.html#SUBHEAD">.SUBHEAD</a>
  1548. or
  1549. <a href="docelement.html#PARAHEAD">.PARAHEAD</a>.
  1550. Use, rather, the
  1551. <a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
  1552. <strong>mom</strong> provides to automatically colourize these
  1553. elements.
  1554. <br>
  1555. <!---DOC_LEAD_ADJUST--->
  1556. <hr width="66%" align="left">
  1557. <a name="DOC_LEAD_ADJUST"><h3><u>Adjusting document leading to fill pages</u></h3></a>
  1558. <br>
  1559. <nobr>Macro: <strong>DOC_LEAD_ADJUST</strong> toggle</nobr>
  1560. <br>
  1561. <em>*Must come after LS or AUTOLEAD and before START</em>
  1562. <p>
  1563. <strong>DOC_LEAD_ADJUST</strong> is a special macro to adjust
  1564. document
  1565. <a href="definitions.html#TERMS_LEADING">leading</a>
  1566. so that bottom margins fall precisely where you expect.
  1567. <p>
  1568. If you invoke <strong>DOC_LEAD_ADJUST</strong>, <strong>mom</strong>
  1569. takes the number of lines that fit on the page at your requested
  1570. leading, then incrementally adds
  1571. <a href="definitions.html#TERMS_UNITS">machine units</a>
  1572. to the leading until the maximum number of lines at the new leading
  1573. matches the bottom margin. In most instances, the difference
  1574. between the requested lead and the adjusted lead is
  1575. unnoticeable, and since in almost all cases adjusted leading is
  1576. what you want, it's <strong>mom</strong>'s default.
  1577. <p>
  1578. Should you NOT want adjusted document leading, you MUST turn it
  1579. off manually, like this:
  1580. <p>
  1581. <pre>
  1582. .DOC_LEAD_ADJUST OFF
  1583. </pre>
  1584. If you set the document leading prior to <strong>START</strong>
  1585. with
  1586. <a href="typesetting.html#LS">LS</a>
  1587. or
  1588. <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>,
  1589. <strong>DOC_LEAD_ADJUST OFF</strong> must come afterwards, like
  1590. this:
  1591. <p>
  1592. <pre>
  1593. .LS 12
  1594. .DOC_LEAD_ADJUST OFF
  1595. </pre>
  1596. In this scenario, the maximum number of lines that fit on a page at
  1597. a
  1598. <a href="definitions.html#TERMS_LEADING">leading</a>
  1599. of 12
  1600. <a href="definitions.html#TERMS_PICASPOINTS">points</a>
  1601. determine where <strong>mom</strong> ends
  1602. a page. The effect will be that last lines usually fall (slightly)
  1603. short of the &quot;official&quot; bottom margin.
  1604. <p>
  1605. In
  1606. <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
  1607. <strong>TYPEWRITE</strong>, the leading is always adjusted and
  1608. can't be turned off.
  1609. <p>
  1610. <strong>NOTE:</strong> <strong>DOC_LEAD_ADJUST</strong>, if
  1611. used, must be invoked after
  1612. <a href="typesetting.html#LEADING">LS</a>
  1613. or
  1614. <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>
  1615. and before
  1616. <a href="#START">START</a>
  1617. <p>
  1618. <strong>ADDITIONAL NOTE:</strong> Even if you disable
  1619. <strong>DOC_LEAD_ADJUST</strong>, <strong>mom</strong> will still
  1620. adjust the leading of endnotes pages and toc pages. See
  1621. <a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a>
  1622. and
  1623. <a href="docelement.html#TOC_LEAD">TOC_LEAD</a>
  1624. for an explanation of how to disable this default behaviour.
  1625. <p>
  1626. <!---DOCHEADER--->
  1627. <hr width="66%" align="left">
  1628. <a name="DOCHEADER"><h3><u>Managing the docheader</u></h3></a>
  1629. <br>
  1630. <nobr>Macro: <strong>DOCHEADER</strong> &lt;toggle&gt; [ distance to advance from top of page ]</nobr>
  1631. <br>
  1632. <em>*Must come before START; distance requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em>
  1633. <p>
  1634. By default, <strong>mom</strong> prints a
  1635. <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
  1636. on the first page of any document (see
  1637. <a href="#DOCHEADER_DESC">below</a>
  1638. for a description of the docheader). If you don't want a docheader,
  1639. turn it off with
  1640. <p>
  1641. <pre>
  1642. .DOCHEADER OFF
  1643. </pre>
  1644. <strong>DOCHEADER</strong> is a toggle macro, so the argument doesn't
  1645. have to be <strong>OFF</strong>; it can be anything you like.
  1646. <p>
  1647. If you turn the docheader off, <strong>mom</strong>, by default, starts
  1648. the running text of your document on the same top
  1649. <a href="definitions.html#TERMS_BASELINE">baseline</a>
  1650. as all subsequent pages. If you'd like her to start at a different
  1651. vertical position, give her the distance you'd like as a second
  1652. argument.
  1653. <p>
  1654. <pre>
  1655. .DOCHEADER OFF 1.5i
  1656. </pre>
  1657. This starts the document 1.5 inches from the top of the page PLUS
  1658. whatever spacing adjustment <strong>mom</strong> has to make in
  1659. order to ensure that the first baseline of running text falls on a
  1660. &quot;legal&quot; baseline (i.e. one that ensures that the bottom
  1661. margin of the first page falls where it should). The distance is
  1662. measured from the top edge of the paper to the
  1663. <a href="definitions.html#TERMS_BASELINE">baseline</a>
  1664. of the first line of type.
  1665. <p>
  1666. <strong>TIP:</strong> Since no document processing happens until
  1667. you invoke
  1668. <a href="#START">START</a>
  1669. -- including anything to do with docheaders -- you can typeset
  1670. your own docheader prior to <strong>START</strong> (if you don't
  1671. like the way <strong>mom</strong> does things) and use
  1672. <strong>DOCHEADER OFF</strong> with its optional distance argument
  1673. to ensure that the body of your document starts where you want.
  1674. You can even insert a PostScript file (with <strong>.PSPIC</strong>;
  1675. see the <strong>groff_tmac</strong> man page for usage).
  1676. <p>
  1677. <a name="DOCHEADER_CONTROL"><h3><u>How to change the look of docheaders: docheader control macros</u></h3></a>
  1678. <p>
  1679. With
  1680. <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
  1681. the look of docheaders is carved in stone.
  1682. In
  1683. <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
  1684. however, you can make a lot of changes. Macros that alter docheaders
  1685. MUST come before
  1686. <a href="#START">START</a>.
  1687. <a name="DOCHEADER_DESC"></a>
  1688. <p>
  1689. A typeset docheader has the following characteristics. Note that
  1690. title, subtitle, author, and document type are what you supply
  1691. with the
  1692. <a href="#REFERENCE_MACROS">reference macros</a>.
  1693. Any you leave out will not appear; <strong>mom</strong> will
  1694. compensate:
  1695. <p>
  1696. <pre>
  1697. TITLE bold, 3.5 points larger than running text (not necessarily caps)
  1698. Subtitle medium, same size as running text
  1699. by medium italic, same size as running text
  1700. Author(s) medium italic, same size as running text
  1701. (Document type) bold italic, underscored, 3 points larger than running text
  1702. </pre>
  1703. If the
  1704. <a href="#DOCTYPE">DOCTYPE</a>
  1705. is CHAPTER,
  1706. <pre>
  1707. Chapter # bold, 4 points larger than running text
  1708. Chapter Title bold italic, 4 points larger than running text
  1709. </pre>
  1710. <p>
  1711. The
  1712. <a href="definitions.html#TERMS_FAMILY">family</a>
  1713. is the prevailing family of the whole document.
  1714. <p>
  1715. <strong>NOTE:</strong> If your <strong>DOCTYPE</strong> is
  1716. <strong>CHAPTER</strong> and you have both &quot;Chapter #&quot;
  1717. and a &quot;Chapter Title&quot; (as above), you may find the
  1718. <a href="definitions.html#TERMS_LEADING">leading</a>
  1719. a bit cramped (owing to <strong>mom</strong>'s default docheader
  1720. leading). If this is the case, you can adjust the leading either
  1721. with
  1722. <a href="#ADJUST_LEADING">DOCHEADER_LEAD</a>
  1723. or by including the
  1724. <a name="definitions.html#TERMS_INLINES">inline escape</a>,
  1725. <a href="inlines.html#DOWN">\*[DOWN]</a>,
  1726. in the argument you pass to
  1727. <a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>, like this:
  1728. <p>
  1729. <pre>
  1730. .CHAPTER_TITLE "\*[DOWN 2p]Why Not Patent Calculus?"
  1731. </pre>
  1732. <a name="DOCHEADER_CONTROL_INDEX"><h3><u>The docheader macros to:</u></h3></a>
  1733. <ol>
  1734. <li><a href="#CHANGE_START">Change the starting position of the docheader</a>
  1735. <li><a href="#DOCHEADER_FAMILY">Change the family of the entire docheader</a>
  1736. <li><a href="#ADJUST_LEADING">Adjust the docheader leading</a>
  1737. <li><a href="#CHANGE_FAMILY">Change the family of individual docheader elements</a>
  1738. <li><a href="#CHANGE_FONT">Change the font of docheader elements</a>
  1739. <li><a href="#CHANGE_COLOR">Change the colour of the docheader</a>
  1740. <li><a href="#CHANGE_SIZE">Adjust the size of docheader elements</a>
  1741. <li><a href="#CHANGE_ATTRIBUTE">Change the attribution string (&quot;by&quot;)</a>
  1742. </ol>
  1743. <p>
  1744. <a name="CHANGE_START"><h3><u>1. Change the starting position</u></h3></a>
  1745. <p>
  1746. By default, a docheader starts on the same
  1747. <a href="definitions.html#TERMS_BASELINE">baseline</a>
  1748. as
  1749. <a href="definitions.html#TERMS_RUNNING">running text</a>.
  1750. If you'd like it to start somewhere else, use the macro
  1751. <kbd>.DOCHEADER_ADVANCE</kbd> and give it the distance you want
  1752. (measured from the top edge of the paper to the first baseline
  1753. of the docheader), like this:
  1754. <p>
  1755. <pre>
  1756. .DOCHEADER_ADVANCE 4P
  1757. </pre>
  1758. A
  1759. <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
  1760. is required.
  1761. <p>
  1762. <strong>NOTE:</strong> If
  1763. <a href="headfootpage.html#HEADERS">HEADERS</a>
  1764. are <strong>OFF</strong>, <strong>mom</strong>'s normal top
  1765. margin for
  1766. <a href="definitions.html#TERMS_RUNNING">running text</a>
  1767. (7.5
  1768. <a href="definitions.html#TERMS_PICASPOINTS">picas</a>)
  1769. changes to 6 picas (visually approx. 1 inch). Since the
  1770. first baseline of the docheader falls on the same baseline
  1771. as the first line of running text (on pages after page 1),
  1772. you might find the docheaders a bit high when headers are off.
  1773. Use
  1774. <a href="#CHANGE_START">DOCHEADER_ADVANCE</a>
  1775. to place them where you want.
  1776. <p>
  1777. <a name="DOCHEADER_FAMILY"><h3><u>2. Change the family of the entire docheader</u></h3></a>
  1778. <p>
  1779. By default, <strong>mom</strong> sets the docheader in the same
  1780. family used for
  1781. <a href="definitions.html#TERMS_RUNNING">running text</a>.
  1782. If you'd prefer to have your docheaders set in a different family,
  1783. invoke <strong>DOCHEADER_FAMILY</strong> with the family you want.
  1784. The argument for <strong>DOCHEADER_FAMILY</strong> is the same as
  1785. for
  1786. <a href="typesetting.html#FAMILY">FAMILY</a>.
  1787. <p>
  1788. For example, <strong>mom</strong>'s default family for running text
  1789. is Times Roman. If you'd like to keep that default, but have the
  1790. docheaders set entirely in Helvetica,
  1791. <p>
  1792. <pre>
  1793. .DOCHEADER_FAMILY H
  1794. </pre>
  1795. is how you'd do it.
  1796. <p>
  1797. Please note that if you use <strong>DOCHEADER_FAMILY</strong>,
  1798. you can still alter the family of individual parts of the docheader
  1799. with the macros listed
  1800. <a href="#CHANGE_FAMILY">here</a>.
  1801. <a name="ADJUST_LEADING"><h3><u>3. Adjust the leading</u></h3></a>
  1802. <p>
  1803. The
  1804. <a href="definitions.html#TERMS_LEADING">leading</a>
  1805. of docheaders is the same as running text (except when
  1806. <a href="#DOCTYPE">DOCTYPE</a>
  1807. is <strong>CHAPTER</strong> <em>and</em> both a chapter number and a
  1808. chapter title have been supplied, in which case the default is 4 points
  1809. more than running text.)
  1810. <p>
  1811. If you'd like your docheaders to have a different leading, say, 2
  1812. points more than the lead of running text, use:
  1813. <p>
  1814. <pre>
  1815. .DOCHEADER_LEAD +2
  1816. </pre>
  1817. Since the leading of docheaders is calculated from the lead of running
  1818. text, a + or - sign is required before the argument (how much to add
  1819. or subtract from the lead of running text). No
  1820. <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
  1821. is required; points is assumed.
  1822. <p>
  1823. <a name="CHANGE_FAMILY"><h3><u>4. Change the family of docheader elements</u></h3></a>
  1824. <p>
  1825. The following macros let you change the
  1826. <a href="definitions.html#TERMS_FAMILY">family</a>
  1827. of each docheader element separately:
  1828. <p>
  1829. <ul>
  1830. <li><strong>TITLE_FAMILY</strong> <nobr>&lt;family&gt;</nobr>
  1831. <li><strong>CHAPTER_TITLE_FAMILY</strong> <nobr>&lt;family&gt;</nobr>
  1832. <li><strong>SUBTITLE_FAMILY</strong> <nobr>&lt;family&gt;</nobr>
  1833. <li><strong>AUTHOR_FAMILY</strong> <nobr>&lt;family&gt;</nobr>
  1834. <li><strong>DOCTYPE_FAMILY</strong> <nobr>&lt;family&gt; (if</nobr>
  1835. <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
  1836. </ul>
  1837. <p>
  1838. Simply pass the appropriate macro the family you want, just as you
  1839. would with
  1840. <a href="typesetting.html#FAMILY">FAMILY</a>.
  1841. <p>
  1842. <a name="CHANGE_FONT"><h3><u>5. Change the font of docheader elements</u></h3></a>
  1843. <p>
  1844. The following macros let you change the
  1845. <a href="definitions.html#TERMS_FONT">font</a>
  1846. of each docheader element separately:
  1847. <p>
  1848. <ul>
  1849. <li><strong>TITLE_FONT</strong> <nobr>R | B | I | BI</nobr>
  1850. <li><strong>CHAPTER_TITLE_FONT</strong> <nobr>R | B | I | BI</nobr>
  1851. <li><strong>SUBTITLE_FONT</strong> <nobr>R | B | I | BI</nobr>
  1852. <li><strong>AUTHOR_FONT</strong> <nobr>R | B | I | BI</nobr>
  1853. <li><strong>DOCTYPE_FONT</strong> <nobr>R | B | I | BI (if</nobr>
  1854. <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
  1855. </ul>
  1856. <p>
  1857. Simply pass the appropriate macro the font you want. <strong>R,
  1858. B, I</strong> and <strong>BI</strong> have the same meaning as
  1859. they do for
  1860. <a href="typesetting.html#FONT">FT</a>.
  1861. <p>
  1862. <a name="CHANGE_COLOR"><h3><u>6. Change the colour of the docheader elements individually</u></h3></a>
  1863. <p>
  1864. The following macros let you change the color of each docheader
  1865. element separately. You must pre-define (or
  1866. &quot;initialize&quot;) the color with
  1867. <a href="color.html#NEWCOLOR">NEWCOLOR</a>
  1868. or
  1869. <a href="color.html#XCOLOR">XCOLOR</a>.
  1870. <p>
  1871. <ul>
  1872. <li><strong>TITLE_COLOR</strong> <nobr>&lt;colorname&gt;</nobr>
  1873. <li><strong>CHAPTER_TITLE_COLOR</strong> <nobr>&lt;colorname&gt;</nobr>
  1874. <ul>
  1875. <li><strong>Note: CHAPTER_TITLE_COLOR</strong> is needed
  1876. only if you enter both a <strong>CHAPTER</strong>
  1877. reference macro AND a <strong>CHAPTER_TITLE</strong>
  1878. macro. Otherwise, the macro,
  1879. <strong>TITLE_COLOR</strong> takes care of colorizing
  1880. the chapter header.
  1881. </ul>
  1882. <li><strong>SUBTITLE_COLOR</strong> <nobr>&lt;colorname&gt;</nobr>
  1883. <li><strong>ATTRIBUTE_COLOR</strong> <nobr>&lt;colorname&gt;</nobr>
  1884. (the &quot;by&quot; string that precedes the author[s] name[s])
  1885. <li><strong>AUTHOR_COLOR</strong> <nobr>&lt;colorname&gt;</nobr>
  1886. <li><strong>DOCTYPE_COLOR</strong> <nobr>&lt;colorname&gt; (if</nobr>
  1887. <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
  1888. </ul>
  1889. <p>
  1890. It is not recommended that you embed colour (with the
  1891. <a href="definitions.html#TERMS_INLINES">inline escape</a>,
  1892. <a href="color.html#COLOR_INLINE">\*[&lt;colorname&gt;]</a>)
  1893. in the strings passed to
  1894. <strong>TITLE</strong>, <strong>CHAPTER_TITLE</strong>,
  1895. <strong>SUBTITLE</strong>, <strong>AUTHOR</strong> or the name you
  1896. give <strong>DOCTYPE NAMED</strong>. The strings passed to these
  1897. macros are used to generate page
  1898. <a href="definitions.html#TERMS_HEADER">headers</a>
  1899. and
  1900. <a href="definitions.html#TERMS_FOOTER">footers</a>.
  1901. An embedded colour will cause the string to be colourized any time
  1902. it appears in headers or footers. (If you want headers or footers
  1903. colourized, or parts thereof, use the header/footer control macros.)
  1904. <p>
  1905. <a name="DOCHEADER_COLOR"></a>
  1906. If you want to colourize the entire docheader, use the macro
  1907. <p>
  1908. <ul>
  1909. <li><strong>DOCHEADER_COLOR</strong> <nobr>&lt;color name&gt;.</nobr>
  1910. </ul>
  1911. <a name="CHANGE_SIZE"><h3><u>7. Adjust the size of docheader elements</u></h3></a>
  1912. <p>
  1913. The following macros let you adjust the point size of each docheader
  1914. element separately.
  1915. <p>
  1916. <strong>Mom</strong> calculates the point size
  1917. of docheader elements from the point size of paragraphs in running
  1918. text, so you must prepend a + or - sign to the argument. Points is
  1919. assumed as the
  1920. <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
  1921. so there's no need to append a unit to the argument. Fractional point
  1922. sizes are allowed.
  1923. <p>
  1924. <ul>
  1925. <li><strong>TITLE_SIZE</strong> <nobr>&lt;+/-points&gt;</nobr>
  1926. <br>
  1927. default = +3.5 (+4 if docheader title is &quot;Chapter #&quot;)
  1928. <li><strong>CHAPTER_TITLE_SIZE</strong> <nobr>&lt;+/-points&gt;</nobr>
  1929. <br>
  1930. default = +4
  1931. <li><strong>SUBTITLE_SIZE</strong> <nobr>&lt;+/-points&gt;</nobr>
  1932. <br>
  1933. default = +0
  1934. <li><strong>AUTHOR_SIZE</strong> <nobr>&lt;+/-points&gt;</nobr>
  1935. <br>
  1936. default = +0
  1937. <li><strong>DOCTYPE_SIZE</strong> <nobr>&lt;+/-points&gt; (if</nobr>
  1938. <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
  1939. <br>
  1940. default = +3
  1941. </ul>
  1942. <p>
  1943. Simply pass the appropriate macro the size adjustment you want.
  1944. <p>
  1945. <a name="CHANGE_ATTRIBUTE"><h3><u>8. Change the attribution string (&quot;by&quot;)</u></h3></a>
  1946. <p>
  1947. If you're not writing in English, you can change what
  1948. <strong>mom</strong> prints where &quot;by&quot; appears in
  1949. docheaders. For example,
  1950. <p>
  1951. <pre>
  1952. .ATTRIBUTE_STRING "par"
  1953. </pre>
  1954. changes &quot;by&quot; to &quot;par&quot;. If you
  1955. don't want an attribution string at all, simply pass
  1956. <strong>ATTRIBUTE_STRING</strong> an empty argument, like this:
  1957. <p>
  1958. <pre>
  1959. .ATTRIBUTE_STRING ""
  1960. </pre>
  1961. <strong>Mom</strong> will deposit a blank line where the
  1962. attribution string normally appears.
  1963. <p>
  1964. <strong>NOTE:</strong> The type specs for the attribution line
  1965. in docheaders are the same as for the author line. Although
  1966. it's highly unlikely you'll want the attribution line in a
  1967. different family, font, or point size, you can do so by using
  1968. <a href="definitions.html#TERMS_INLINES">inline escapes</a>
  1969. in the argument to <strong>ATTRIBUTE_STRING</strong>. For
  1970. example,
  1971. <p>
  1972. <pre>
  1973. .ATTRIBUTE_STRING "\f[HBI]\*[SIZE -2p] by \*[SIZE +2p]\*[PREV]"
  1974. </pre>
  1975. would set &quot;by&quot; in Helvetica bold italic, 2 points
  1976. smaller than normal.
  1977. <p>
  1978. <hr>
  1979. <!---COLUMNS_INTRO--->
  1980. <a name="COLUMNS_INTRO"><h2><u>Setting documents in columns</u></h2></a>
  1981. <p>
  1982. Setting documents in columns is easy with <strong>mom</strong>. (Of
  1983. course she'd say that, but it's true!) All you have to do is is
  1984. say how many columns you want and how much space you want
  1985. between them (the
  1986. <a href="definitions.html#TERMS_GUTTER">gutters</a>).
  1987. That's it. <strong>Mom</strong> takes care of everything else, from
  1988. soup to nuts.
  1989. <p>
  1990. <strong>SOME WORDS OF ADVICE:</strong>
  1991. <p>
  1992. If you want your type to achieve a pleasing
  1993. <a href="definitions.html#TERMS_JUST">justification</a>
  1994. or
  1995. <a href="definitions.html#TERMS_RAG">rag</a>
  1996. in columns, reduce the point size of type (and probably the
  1997. <a href="definitions.html#TERMS_LEADING">leading</a>
  1998. as well). <strong>Mom</strong>'s default document point
  1999. size is 12.5, which works well across her default 39
  2000. <a href="definitions.html#TERMS_PICASPOINTS">pica</a>
  2001. full page line length, but with even just two columns on a page,
  2002. the default point size is awkward to work with.
  2003. <p>
  2004. Furthermore, you'll absolutely need to reduce the indents for
  2005. <a href="docelement.html#EPIGRAPH_CONTROL">epigraphs</a>,
  2006. <a href="docelement.html#QUOTE_GENERAL">quotes</a>,
  2007. and
  2008. <a href="docelement.html#BLOCKQUOTE_GENERAL">blockquotes</a>
  2009. (and probably the
  2010. <a href="docelement.html#PARA_INDENT">paragraph first-line indent</a>
  2011. as well).
  2012. <p>
  2013. <!---COLUMNS--->
  2014. <hr width="66%" align="left">
  2015. <a name="COLUMNS"><h3><u>COLUMNS</u></h3></a>
  2016. <br>
  2017. <nobr>Macro: <strong>COLUMNS</strong> &lt;number of columns&gt; &lt;width of gutters&gt;</nobr>
  2018. <br>
  2019. <em>*Should be the last macro before START
  2020. <br>
  2021. The second argument requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em>
  2022. <p>
  2023. <strong>COLUMNS</strong> takes two arguments: the number of
  2024. columns you want on document pages, and the width of the
  2025. <a href="definitions.html#TERMS_GUTTER">gutter</a>
  2026. between them. For example, to set up a page with two columns
  2027. separated by an 18 point gutter, you'd do
  2028. <p>
  2029. <pre>
  2030. .COLUMNS 2 18p
  2031. </pre>
  2032. Nothing to it, really. However, as noted above,
  2033. <strong>COLUMNS</strong> should always be the last document
  2034. setup macro prior to
  2035. <a href="#START">START</a>.
  2036. <p>
  2037. <strong>NOTE:</strong> <strong>Mom</strong> ignores columns completely
  2038. when the
  2039. <a href="#PRINTSTYLE">PRINTSTYLE</a>
  2040. is <strong>TYPEWRITE</strong>. The notion of typewriter-style
  2041. output in columns is just too ghastly for her to bear.
  2042. <h3><u>Using tabs when COLUMNS are enabled</u></h3>
  2043. <strong>Mom</strong>'s tabs
  2044. (both
  2045. <a href="typesetting.html#TYPESETTING_TABS">typesetting tabs</a>
  2046. and
  2047. <a href="typesetting.html#STRING_TABS">string tabs</a>)
  2048. behave as you'd expect during document processing, even when
  2049. <strong>COLUMNS</strong> are enabled. Tab structures set up
  2050. during document processing carry over from page to page and column
  2051. to column.
  2052. <a name="BREAKING_COLUMNS"></a>
  2053. <h3><u>Breaking columns manually</u></h3>
  2054. <strong>Mom</strong> takes care of breaking columns when they reach
  2055. the bottom margin of a page. However, there may be times you want to
  2056. break the columns yourself. There are two macros for breaking columns
  2057. manually: <strong>COL_NEXT</strong> and <strong>COL_BREAK</strong>.
  2058. <a name="COL_NEXT"></a>
  2059. <p>
  2060. <kbd>.COL_NEXT</kbd> breaks the line just before it,
  2061. <a href="definitions.html#TERMS_QUAD">quads</a>
  2062. it left (assuming the type is justified or quad left), and moves over
  2063. to the top of the next column. If the column happens to be the last
  2064. (rightmost) one on the page, <strong>mom</strong> starts a new page
  2065. at the &quot;column 1&quot; position. This is the macro to use when
  2066. you want to start a new column after the end of a paragraph.
  2067. <a name="COL_BREAK"></a>
  2068. <p>
  2069. <kbd>.COL_BREAK</kbd> is almost the same, except that
  2070. instead of breaking and quadding the line preceding it,
  2071. she breaks and spreads it (see
  2072. <a href="typesetting.html#SPREAD">SPREAD</a>).
  2073. Use this macro whenever you need to start a new column in the middle
  2074. of a paragraph.
  2075. <p>
  2076. If you need <strong>COL_BREAK</strong> in the middle of a blockquote
  2077. or (god help us) an epigraph, you must do the following in order for
  2078. <strong>COL_BREAK</strong> to work:
  2079. <p>
  2080. <pre>
  2081. .SPREAD
  2082. \!.COL_BREAK
  2083. </pre>
  2084. <hr>
  2085. <!========================================================================>
  2086. <a name="START_MACRO">
  2087. <h2><u>Start document processing</u></h2>
  2088. </a>
  2089. In order to use <strong>mom</strong>'s document element macros
  2090. (tags), you have to tell her you want them. The macro to do this
  2091. is <strong>START</strong>.
  2092. <p>
  2093. <strong>START</strong> collects the information you gave
  2094. <strong>mom</strong> in the setup section at the top of your file (see
  2095. <a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>),
  2096. merges it with her defaults, sets up headers and page numbering,
  2097. and prepares <strong>mom</strong> to process your document using
  2098. the document element tags. No document processing takes place until
  2099. you invoke <strong>START</strong>.
  2100. <p>
  2101. <!---START--->
  2102. <hr width="66%" align="left">
  2103. <p>
  2104. <a name="START"></a>
  2105. Macro: <strong>START</strong>
  2106. <br>
  2107. <em>*Required for document processing.</em>
  2108. <p>
  2109. <strong>START</strong> takes no arguments. It simply instructs
  2110. <strong>mom</strong> to begin document processing. If you don't
  2111. want document processing (i.e. you only want the
  2112. <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>),
  2113. don't use <strong>START</strong>.
  2114. <p>
  2115. At a barest minimum before <strong>START</strong>, you must enter a
  2116. <a href="#PRINTSTYLE">PRINTSTYLE</a>
  2117. command.
  2118. <p>
  2119. <hr>
  2120. <!========================================================================>
  2121. <a name="DOC_PARAM_MACROS">
  2122. <h2><u>Changing document-wide style parameters after START</u></h2>
  2123. </a>
  2124. In the normal course of things, you change the basic type
  2125. parameters of a document <em>before</em>
  2126. <a href="#START">START</a>,
  2127. using
  2128. <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
  2129. (<strong>L_MARGIN, FAMILY, PT_SIZE, LS,</strong> etc). After
  2130. <strong>START</strong>, you MUST use the following macros to make
  2131. global changes to the basic type parameters of a document.
  2132. <p>
  2133. <a name="INDEX_DOC_PARAM">
  2134. <h3><u>Macro list</u></h3>
  2135. </a>
  2136. <ul>
  2137. <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
  2138. <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
  2139. <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a>
  2140. <li><a href="#DOC_FAMILY">DOC_FAMILY</a>
  2141. <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a>
  2142. <li><a href="#DOC_LEAD">DOC_LEAD</a>
  2143. <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
  2144. <li><a href="#DOC_QUAD">DOC_QUAD</a>
  2145. </ul>
  2146. <br>
  2147. <hr width="66%" align="left">
  2148. <p>
  2149. <a name="DOC_LEFT_MARGIN">
  2150. <nobr>Macro: <strong>DOC_LEFT_MARGIN</strong> &lt;left margin&gt;</nobr>
  2151. </a>
  2152. <br>
  2153. <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
  2154. <p>
  2155. <ul>
  2156. <li>the argument is the same as for
  2157. <a href="typesetting.html#L_MARGIN">L_MARGIN</a>
  2158. <li>changes all left margins to the new value
  2159. <li>the line length remains the same (i.e. the right margin
  2160. shifts when you change the left margin)
  2161. </ul>
  2162. <br>
  2163. <hr width="66%" align="left">
  2164. <p>
  2165. <a name="DOC_RIGHT_MARGIN">
  2166. <nobr>Macro: <strong>DOC_RIGHT_MARGIN</strong> &lt;right margin&gt;</nobr>
  2167. </a>
  2168. <br>
  2169. <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
  2170. <p>
  2171. <ul>
  2172. <li>the argument is the same as for
  2173. <a href="typesetting.html#R_MARGIN">R_MARGIN</a>
  2174. <li>changes all right margins, including
  2175. <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>,
  2176. headers (or footers) and page numbering to the new value;
  2177. for changing the right margin of
  2178. <a href="definitions.html#TERMS_RUNNING">running text</a>
  2179. only, use
  2180. <a href="typesetting.html#R_MARGIN">R_MARGIN</a>
  2181. (see
  2182. <a href="typemacdoc.html#TOP">Using typesetting macros during
  2183. document processing</a>,
  2184. entry for <strong>R_MARGIN</strong>)
  2185. <li>all mom commands that include a right indent calculate
  2186. the indent from the new value
  2187. </ul>
  2188. <br>
  2189. <hr width="66%" align="left">
  2190. <p>
  2191. <a name="DOC_LINE_LENGTH">
  2192. <nobr>Macro: <strong>DOC_LINE_LENGTH</strong> &lt;length&gt;</nobr>
  2193. </a>
  2194. <br>
  2195. <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
  2196. <p>
  2197. <ul>
  2198. <li>the argument is the same as for
  2199. <a href="typesetting.html#LINELENGTH">LL</a>
  2200. <li>exactly equivalent to changing the right margin with
  2201. DOC_RIGHT_MARGIN (see
  2202. <a href="#DOC_RIGHT_MARGIN">above</a>);
  2203. for changing the line length of
  2204. <a href="definitions.html#TERMS_RUNNING">running text</a>
  2205. only, use
  2206. <a href="typesetting.html#LINELENGTH">LL</a>
  2207. (see
  2208. <a href="typemacdoc.html#TOP">Using typesetting macros during
  2209. document processing</a>,
  2210. entry for <strong>LL</strong>)
  2211. </ul>
  2212. <br>
  2213. <hr width="66%" align="left">
  2214. <p>
  2215. <a name="DOC_FAMILY">
  2216. <nobr>Macro: <strong>DOC_FAMILY</strong> &lt;family&gt;</nobr>
  2217. </a>
  2218. <p>
  2219. <ul>
  2220. <li>the argument is the same as for
  2221. <a href="typesetting.html#FAMILY">FAMILY</a>
  2222. <li>globally changes the type family
  2223. <li>any page elements (e.g.
  2224. <a href="definitions.html#TERMS_HEADER">headers</a>,
  2225. page numbers, footnotes) whose families you wish to remain
  2226. at their old values must be reset with the appropriate
  2227. <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>
  2228. </ul>
  2229. <br>
  2230. <hr width="66%" align="left">
  2231. <p>
  2232. <a name="DOC_PT_SIZE">
  2233. <nobr>Macro: <strong>DOC_PT_SIZE</strong> &lt;point size&gt;</nobr>
  2234. </a>
  2235. <br>
  2236. <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em>
  2237. <p>
  2238. <ul>
  2239. <li>the argument is the same as for
  2240. <a href="typesetting.html#PS">PT_SIZE</a>,
  2241. and refers to the point size of type in paragraphs
  2242. <li>all automatic point size changes (heads, quotes,
  2243. footnotes, headers, etc.) are affected by the new size;
  2244. anything you do not want affected must be reset to
  2245. its former value (see the Control Macros section of
  2246. the pertinent document element for instructions on
  2247. how to do this)
  2248. </ul>
  2249. <br>
  2250. <hr width="66%" align="left">
  2251. <p>
  2252. <a name="DOC_LEAD">
  2253. <nobr>Macro: <strong>DOC_LEAD</strong> &lt;points&gt; [ ADJUST ]</nobr>
  2254. </a>
  2255. <br>
  2256. <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em>
  2257. <p>
  2258. <ul>
  2259. <li>the argument is the same as for
  2260. <a href="typesetting.html#LS">LS</a>,
  2261. and refers to the
  2262. <a href="definitions.html#TERMS_LEAD">leading</a>
  2263. of paragraphs
  2264. <li>because paragraphs will have a new leading, the leading and
  2265. spacing of most running text is influenced by the new value
  2266. <li>epigraphs and footnotes remain unaffected;
  2267. if you wish to change their leading, use
  2268. <a href="docelement.html#EPIGRAPH_AUTOLEAD">EPIGRAPH_AUTOLEAD</a>
  2269. and
  2270. <a href="docelement.html#FOOTNOTE_AUTOLEAD">FOOTNOTE_AUTOLEAD</a>.
  2271. <li>the optional argument <strong>ADJUST</strong> performs
  2272. leading adjustment as explained in
  2273. <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
  2274. </ul>
  2275. <p>
  2276. <strong>IMPORTANT:</strong> Do not use <strong>DOC_LEAD</strong>
  2277. in the middle of a page! It should always and only be invoked
  2278. immediately prior to a new page, like this:
  2279. <p>
  2280. <pre>
  2281. .DOC_LEAD &lt;new value&gt;
  2282. .NEWPAGE
  2283. </pre>
  2284. <strong>NOTE:</strong> Even if you don't pass
  2285. <strong>DOC_LEAD</strong> the optional argument
  2286. <strong>ADJUST</strong>, <strong>mom</strong> will still adjust the
  2287. leading of endnotes pages and toc pages. See
  2288. <a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a>
  2289. and
  2290. <a href="docelement.html#TOC_LEAD">TOC_LEAD</a>
  2291. for an explanation of how to disable this default behaviour.
  2292. <p>
  2293. <hr width="66%" align="left">
  2294. <p>
  2295. <a name="DOC_QUAD">
  2296. <nobr>Macro: <strong>DOC_QUAD</strong> L | R | C | J</nobr>
  2297. </a>
  2298. <p>
  2299. <ul>
  2300. <li>the arguments are the same as for
  2301. <a href="typesetting.html#QUAD">QUAD</a>
  2302. <li>affects paragraphs, epigraphs and footnotes; does not
  2303. affect blockquotes
  2304. </ul>
  2305. <br>
  2306. <hr>
  2307. <a href="typemacdoc.html#TOP">Next</a>&nbsp;&nbsp;
  2308. <a href="color.html#TOP">Prev</a>&nbsp;&nbsp;
  2309. <a href="#TOP">Top</a>&nbsp;&nbsp;
  2310. <a href="toc.html">Back to Table of Contents</a>
  2311. </body>
  2312. </html>