/contrib/groff/contrib/mom/momdoc/docprocessing.html
https://bitbucket.org/freebsd/freebsd-head/ · HTML · 2484 lines · 2413 code · 63 blank · 8 comment · 0 complexity · ae70fc015e8d0d4392e8a452046265cf MD5 · raw file
Large files are truncated click here to view the full file
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
- <title>Mom -- Document Processing, Introduction and Setup</title>
- </head>
- <body bgcolor="#dfdfdf">
- <!====================================================================>
- <a href="typemacdoc.html#TOP">Next</a>
- <a href="color.html#TOP">Prev</a>
- <a href="toc.html">Back to Table of Contents</a>
- <p>
- <a name="TOP"></a>
- <a name="DOCPROCESSING">
- <h1 align="center"><u>DOCUMENT PROCESSING WITH MOM</u></h1>
- </a>
- <a href="#INTRO_MACROS_DOCPROCESSING">Introduction to document processing</a>
- <br>
- <a href="#DEFAULTS">Some document defaults</a>
- <br>
- <a href="#LEADING_NOTE">* IMPORTANT NOTE on leading/spacing and bottom margins *</a>
- <br>
- <a href="#SHIM">The SHIM macro</a>
- <br>
- <h3><u>Table of Contents for document processing</u></h3>
- <ul>
- <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a>
- <br>
- <a href="#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>
- <br>
- <ul>
- <li><a href="#REFERENCE_MACROS"><strong>The Reference Macros</strong></a>
- <ul>
- <li><a href="#TITLE">TITLE</a>
- <li><a href="#DOC_TITLE">DOCTITLE</a>
- <li><a href="#SUBTITLE">SUBTITLE</a>
- <li><a href="#AUTHOR">AUTHOR</a>
- <li><a href="#CHAPTER">CHAPTER</a>
- <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>
- <li><a href="#DRAFT">DRAFT</a>
- <li><a href="#REVISION">REVISION</a>
- <li><a href="#COPYRIGHT">COPYRIGHT</a>
- <li><a href="#MISC">MISC</a>
- </ul>
- <li><a href="#DOCSTYLE_MACROS"><strong>The Docstyle Macros</strong></a>
- <ul>
- <li><a href="#DOCTYPE">DOCTYPE</a>
- <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
- <li><a href="#COPYSTYLE">COPYSTYLE</a>
- </ul>
-
- <li><a href="#STYLE_BEFORE_START"><strong>Changing type/style parameters prior to START</strong></a>
- <ul>
- <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a>
- <ul>
- <li><a href="#COLOR">Colour</a>
- </ul>
- <li><a href="#DOC_LEAD_ADJUST">Adjusting document leading to fill pages -- DOC_LEAD_ADJUST</a>
- <li><a href="#DOCHEADER">Managing the document header</a>
- <ul>
- <li><a href="#DOCHEADER">DOCHEADER -- turning docheaders off</a>
- <li><a href="#DOCHEADER_CONTROL">Docheader control</a>
- </ul>
- </ul>
- <li><a href="#COLUMNS_INTRO"><strong>Setting documents in columns</strong></a>
- <ul>
- <li><a href="#COLUMNS">COLUMNS</a>
- <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a>
- <ul>
- <li><a href="#COL_NEXT">COL_NEXT</a>
- <li><a href="#COL_BREAK">COL_BREAK</a>
- </ul>
- </ul>
- <li><a href="#START_MACRO"><strong>Initiate document processing</strong></a>
- <ul>
- <li><a href="#START">START</a>
- </ul>
-
- <li><a href="#DOC_PARAM_MACROS"><strong>Changing document-wide typesetting parameters after START</strong></a>
- <ul>
- <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
- <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
- <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a>
- <li><a href="#DOC_FAMILY">DOC_FAMILY</a>
- <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a>
- <li><a href="#DOC_LEAD">DOC_LEAD</a>
- <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
- <li><a href="#DOC_QUAD">DOC_QUAD</a>
- </ul>
- <br>
- <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong></a>
- <ul>
- <li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the document element tags</a>
- <ul>
- <li><a href="docelement.html#DOCELEMENT_CONTROL">Document element (tag) control macros</a>
- <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
- </ul>
- <li><a href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a>
- <ul>
- <li><a href="docelement.html#EPIGRAPH">EPIGRAPH</a>
- <li><a href="docelement.html#EPIGRAPH_CONTROL">Epigrah control</a>
- </ul>
- <li><a href="docelement.html#PP_INTRO"><strong>Paragraphs</strong></a>
- <ul>
- <li><a href="docelement.html#PP">PP</a>
- <li><a href="docelement.html#PP_CONTROL">Paragraph control</a>
- </ul>
- <li><a href="docelement.html#HEAD_INTRO"><strong>Main heads</strong></a>
- <ul>
- <li><a href="docelement.html#HEAD">HEAD</a>
- <li><a href="docelement.html#HEAD_CONTROL">Head control</a>
- </ul>
- <li><a href="docelement.html#SUBHEAD_INTRO"><strong>Subheads</strong></a>
- <ul>
- <li><a href="docelement.html#SUBHEAD">SUBHEAD</a>
- <li><a href="docelement.html#SUBHEAD_CONTROL">Subhead control</a>
- </ul>
- <li><a href="docelement.html#PARAHEAD_INTRO"><strong>Paragraph heads</strong></a>
- <ul>
- <li><a href="docelement.html#PARAHEAD">PARAHEAD</a>
- <li><a href="docelement.html#PARAHEAD_CONTROL">Parahead control</a>
- </ul>
- <li><a href="docelement.html#LINEBREAK_INTRO"><strong>Linebreaks (author linebreaks, also called section breaks)</strong></a>
- <ul>
- <li><a href="docelement.html#LINEBREAK">LINEBREAK</a>
- <li><a href="docelement.html#LINEBREAK_CONTROL">Linebreak control</a>
- </ul>
- <li><a href="docelement.html#QUOTE_INTRO"><strong>Quotes (line for line poetic quotes)</strong></a>
- <ul>
- <li><a href="docelement.html#QUOTE">QUOTE</a>
- <li><a href="docelement.html#QUOTE_CONTROL">Quote control</a>
- </ul>
- <li><a href="docelement.html#BLOCKQUOTE_INTRO"><strong>Blockquotes (cited material)</strong></a>
- <ul>
- <li><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a>
- <li><a href="docelement.html#BLOCKQUOTE_CONTROL">Blockquote control</a>
- </ul>
- <li><a href="docelement.html#FOOTNOTE_INTRO"><strong>Footnotes</strong></a>
- <ul>
- <li><a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
- <li><a href="docelement.html#FOOTNOTE_CONTROL">Footnote control</a>
- </ul>
- <li><a href="docelement.html#ENDNOTE_INTRO"><strong>Endnotes</strong></a>
- <ul>
- <li><a href="docelement.html#ENDNOTE">ENDNOTE</a>
- <li><a href="docelement.html#ENDNOTE_CONTROL">Endnote control</a>
- </ul>
- <li><a href="docelement.html#FINIS_INTRO"><strong>Document termination</strong></a>
- <ul>
- <li><a href="docelement.html#FINIS">FINIS</a>
- <li><a href="docelement.html#FINIS_CONTROL">Finis control</a>
- </ul>
- </ul>
-
- <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>HEADERS and FOOTERS</strong></a>
- <br>
- <ul>
- <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">Introduction to headers/footers</a>
- <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">Managing headers/footers</a>
- <ul>
- <li><a href="headfootpage.html#HEADERS">HEADERS</a> -- on or off
- <li><a href="headfootpage.html#FOOTERS">FOOTERS</a> -- on or off
- <li><a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a>
- </ul>
- <li><a href="headfootpage.html#HEADFOOT_CONTROL">Header/footer control</a>
- <ul>
- <li><a href="headfootpage.html#HDRFTR_STRINGS">Header/footer strings</a>
- <li><a href="headfootpage.html#HDRFTR_STYLE">Header/footer style</a> -- global and part-by-part
- <li><a href="headfootpage.html#HDRFTR_VERTICAL">Header/footer placement and spacing</a>
- <li><a href="headfootpage.html#HDRFTR_SEPARATOR">The header/footer separator rule</a>
- </ul>
- </ul>
- <li><a href="headfootpage.html#PAGINATION"><strong>PAGINATION</strong></a>
- <br>
- <ul>
- <li><a href="headfootpage.html#PAGINATE">PAGINATE</a> -- on or off
- <li><a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a> -- user supplied page number
- <li><a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc.
- <li><a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- attach draft/revision information to page numbers
- <li><a href="headfootpage.html#PAGINATE_CONTROL">Pagination control</a>
- </ul>
- <br>
- <li><a href="rectoverso.html#RECTOVERSO"><strong>RECTO_VERSO PRINTING and COLLATING</strong></a>
- <br>
- <ul>
- <li><a href="rectoverso.html#RECTOVERSO_INTRO">Introduction to recto/verso</a>
- <ul>
- <li><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>
- <li><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> (also FOOTERS)
- </ul>
- <li><a href="rectoverso.html#COLLATE_INTRO">Introduction to collating</a>
- <ul>
- <li><a href="rectoverso.html#COLLATE">COLLATE</a>
- </ul>
- </ul>
-
- <li><a href="cover.html#TOP"><strong>CREATING A COVER PAGE</strong></a>
- <br>
- <li><a href="letters.html#LETTERS"><strong>WRITING LETTERS</strong></a>
- <ul>
- <li><a href="letters.html#LETTERS_INTRO">Introduction to writing letters</a>
- <li><a href="letters.html#TUTORIAL">Tutorial on writing letters</a>
- <li><a href="letters.html#LETTERS_DEFAULTS">Default style for letters</a>
- <li><a href="letters.html#LETTERS_MACROS">The letter macros</a>
- </ul>
- </ul>
- </ul>
- <br>
- <hr>
- <h2><a name="INTRO_MACROS_DOCPROCESSING"><u>Introduction to document processing</u></a></h2>
- As explained in
- <a href="intro.html#INTRO_DOCPROCESSING">Document processing with mom</a>,
- document processing uses markup tags to identify document elements
- such as heads, paragraphs, and so on. The tags are, of course, macros,
- but with sensible, readable names that make them easy to grasp and
- easy to remember. (And don't forget: if you don't like the
- "official" name of a tag -- too long, cumbersome
- to type in, not "intuitive" enough -- you can change it
- with the
- <a href="goodies.html#ALIAS">ALIAS</a>
- macro.)
- <p>
- In addition to the tags themselves, <strong>mom</strong> has an
- extensive array of macros that control how they look and behave.
- <p>
- Setting up a <strong>mom</strong> doc is a simple, four-part procedure.
- You begin by entering information about the document itself (title,
- subtitle, author, etc.). Next, you tell <strong>mom</strong> what
- kind of document you're creating (e.g. chapter, letter, abstract,
- etc...) and what kind of output you want (typeset, typewritten,
- draft-style, etc). Thirdly, you make as many or as few changes to
- <strong>mom</strong>'s default behaviour as you wish. Lastly, you
- invoke the
- <a href="#START">START</a>
- macro. Voilà! You're ready to write.
- <p>
- <hr>
- <h2><a name="DEFAULTS"><u>Some document defaults</u></a></h2>
- As is to be expected, <strong>mom</strong> has defaults for everything.
- If you want to know a particular default, read about it in the
- description of the pertinent tag.
- <p>
- I fear the following may not be adequately covered in the
- documentation. Just in case, here they are.
- <p>
- <ul>
- <li>the paper size is 8.5x11 inches
- <li>the left and right margins are 1-inch
- <li>the top and bottom margins for document text are plus/minus
- visually 1-inch
- <li>pages are numbered; the number appears centred, at the
- bottom, surrounded by hyphens ( e.g. -6- )
- <li>the first page of a document begins with a
- <a href="definitions.html#TERMS_DOCHEADER">document header</a>
- <li>subsequent pages have
- <a href="definitions.html#TERMS_HEADER">page headers</a>
- with a rule underneath
- </ul>
- <p>
- Another way to check up on document processing defaults is to have
- a look at the macro file (om.tmac). Each macro is preceded by a
- description that (generally) says what its default is (if it has
- one).
- <p>
- <hr>
- <a name="LEADING_NOTE">
- <h2><u>IMPORTANT NOTE on leading/spacing and bottom margins</u></h2>
- </a>
- <strong>Mom</strong> takes evenly-aligned bottom margins in
- <a href="definitions.html#TERMS_RUNNING">running text</a>
- very seriously. Only under a very few (exceptional) circumstances
- will she allow a bottom margin to "hang" (i.e. to fall
- short).
- <p>
- In order to ensure even bottom margins, <strong>mom</strong>
- uses the "base" document
- <a href="definitions.html#TERMS_LEADING">leading</a>
- in effect <em>at the start of running text on each page</em> (i.e.
- the leading used in paragraphs) to calculate the spacing of every
- document element. Prior to invoking
- <a href="#START">START</a>,
- this is set with the
- <a href="typesetting.html#MACROS_TYPESETTING">typesetting macro</a>
- <a href="typesetting.html#LEADING">LS</a>,
- afterwards with the document
- <a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
- <a href="#DOC_LEAD">DOC_LEAD</a>.
- <p>
- Because <strong>mom</strong> relies so heavily on the base document
- leading, any change to the leading or spacing on a page will almost
- certainly have undesirable consequences on that page's bottom margin
- unless the change is fully compensated for elsewhere on the page.
- <p>
- In other words, if you add a few points of space somewhere on a page,
- you must subtract the same number of points somewhere else on that
- same page, and vice versa.
- <p>
- If it's a question of adding or subtracting full line spaces between
- or within document elements, you can do so by using the "v"
- <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
- with whatever spacing macro you choose --
- <a href="typesetting.html#ALD">ALD</a>,
- <a href="typesetting.html#RLD">RLD</a>,
- <a href="typesetting.html#SPACE">SPACE</a>
- -- and <strong>mom</strong> won't object. "v" means
- "the current leading", so she isn't confused by it. And
- since "v" accepts decimal fractions, you can add/subtract
- half linespaces and quarter linespaces with "v" as well,
- <em>provided you compensate for the fractional linespace somewhere
- else on the page</em>.
- <p>
- If all this seems like too much work, <strong>mom</strong>
- provides a special macro to get you out of trouble if you've played
- around with leading and/or spacing. The macro is called
- <strong>SHIM</strong> (like those little pieces of wood carpenters
- use to get their work even, level and snug), and it's described
- below.
- <p>
- <!---SHIM--->
- <hr width="66%" align="left">
- <p>
- <a name="SHIM"></a>
- Macro: <strong>SHIM</strong>
- <p>
- <strong>SHIM</strong> doesn't take any argument. Use it whenever
- you've played around with the
- <a href="definitions.html#TERMS_LEADING">leading</a>
- or spacing on a page and you
- need to get <strong>mom</strong>'s document leading back on track.
- <p>
- For example, say you want to insert a picture into a document with
- the special groff macro, <strong>PSPIC</strong> (see the
- <strong>groff_tmac</strong> man page for usage).
- <p>
- Pictures aren't usually conveniently sized in multiples of document
- leading, which means that when you insert the picture, you disrupt
- <strong>mom</strong>'s ordered placement of baselines on the page.
- This will certainly result in a bottom margin that doesn't match the
- bottom margins of your document's other pages.
- <p>
- The solution is to insert <strong>SHIM</strong> after the picture,
- like this:
- <p>
- <pre>
- <some lines of text>
- .PSPIC <full path to picture>
- .SHIM
- <more lines of text>
- </pre>
- <strong>SHIM</strong> instructs <strong>mom</strong> to insert as
- much or a little space after the picture as is needed to ensure that
- the baseline of the next
- <a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
- falls where <strong>mom</strong> would have put it had you not
- disrupted the normal flow of output lines with the picture.
- <p>
- And say, on previewing the above example, you find that the picture
- doesn't centre nicely between the lines of text, you can always do
- <p>
- <pre>
- <some lines of text>
- .RLD 3p
- .PSPIC <full path to picture>
- .SHIM
- <more lines of text>
- </pre>
- to raise the picture slightly
- (<strong>R</strong>everse <strong>L</strong>ea<strong>D</strong>
- 3 points; see
- <a href="typesetting.html#RLD">RLD</a>),
- and still have <strong>SHIM</strong> ensure that text underneath
- falls exactly where it's supposed to.
- <p>
- <hr>
- <a name="SETUP"><h2><u>Document setup</u></h2></a>
- <p>
- <a name="DOCPROCESSING_TUT">
- <h3><u>Tutorial -- Setting up a mom document</u></h3>
- </a>
- There are four "parts" to setting up a <strong>mom</strong>
- doc (three, actually, with one optional). Before we proceed, though,
- be reassured that something as simple as
- <p>
- <pre>
- .TITLE "By the Shores of Lake Attica"
- .AUTHOR "Rosemary Winspeare"
- .PRINTSTYLE TYPESET
- .START
- </pre>
- produces a beautifully typeset 8.5x11 document, with a
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
- at the top of page 1,
- <a href="definitions.html#TERMS_HEADER">page headers</a>
- with the title and author on subsequent
- pages, and page numbers at the bottom of each page. In the course
- of the document, heads, subheads, citations, quotes, epigraphs,
- and so on, all come out looking neat, trim, and professional.
- <p>
- For the purposes of this tutorial, we're going to set up a short
- story -- <em>My Pulitzer Winner</em> by Joe Blow. Thankfully,
- we don't have to look at story itself, just the setup.
- Joe wants the document
- <p>
- <ul>
- <li>to be draft 7, revision 39;
- <li>to use the "default" style of document formatting:
- <li>to print as draft-style output (instead of "final" copy output);
- <li>to be typeset, in Helvetica, 12 on 14,
- <a href="definitions.html#TERMS_RAG">rag-right</a>;
- <li>to have <a href="definitions.html#TERMS_FOOTER">footers</a>
- instead of
- <a href="definitions.html#TERMS_HEADER">headers</a>;
- <li>to use a single asterisk for
- <a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a>.
- </ul>
- <p>
- Joe Blow has no taste in typography. His draft won't look pretty,
- but this is, after all, a tutorial; we're after examples, not beauty.
- <h3><u>Step 1</u></h3>
- The first step in setting up any document is giving <strong>mom</strong>
- some reference information. The reference macros are:
- <p>
- <ul>
- <li>TITLE
- <li>DOCTITLE
- <li>COVERTITLE
- <li>SUBTITLE
- <li>AUTHOR
- <li>CHAPTER -- the chapter number
- <li>DRAFT -- the draft number
- <li>REVISION -- the revision number
- <li>COPYRIGHT -- only used on cover pages
- <li>MISC -- only used on cover pages
- <li>COVER_TITLE -- only on cover pages; only if needed
- <li>DOC_COVER_TITLE -- only on document cover pages; only if needed
- </ul>
- <p>
- You can use as many or as few as you wish, although at a minimum,
- you'll probably fill in <strong>TITLE</strong> (unless the document's
- a letter) and <strong>AUTHOR</strong>. Order doesn't matter.
- You can separate the
- <a href="definitions.html#TERMS_ARGUMENTS">arguments</a>
- from the macros by any number of spaces. The following are
- what you'd need to start Joe Blow's story.
- <p>
- <pre>
- .TITLE "My Pulitzer Winner"
- .AUTHOR "Joe Blow"
- .DRAFT 7
- .REVISION 39
- </pre>
- <h3><u>Step 2</u></h3>
- Once you've given <strong>mom</strong> the reference information she
- needs, you tell her how you want your document formatted. What kind
- of document is it? Should it be typeset or typewritten? Is this
- a "final" copy (for the world to see) or just a draft?
- <strong>Mom</strong> calls the macros that answer these questions
- "the docstyle macros." They are:
- <p>
- <ul>
- <li>DOCTYPE -- the type of document (default, chapter, user-defined, letter)
- <li>PRINTSTYLE -- typeset or typewritten
- <li>COPYSTYLE -- draft or final copy
- </ul>
- <p>
- <strong>Mom</strong> has defaults for <strong>DOCTYPE</strong>
- and <strong>COPYSTYLE</strong>; if they're what you want, you
- don't need to include them here. However, <strong>PRINTSTYLE</strong>
- has no default and MUST be present in every formatted document.
- If you omit it, <strong>mom</strong> won't process the document AND
- she'll complain (both to stderr and as a single printed sheet with
- a warning). Moms -- they can be so annoying sometimes. <sigh>
- <p>
- Adding to what we already have, the next bit of setup for Joe
- Blow's story looks like this:
- <p>
- <pre>
- .TITLE "My Pulitzer Winner"
- .AUTHOR "Joe Blow"
- .DRAFT 7
- .REVISION 39
- \#
- .DOCTYPE DEFAULT \"Superfluous; mom uses DOCTYPE DEFAULT by default
- .PRINTSTYLE TYPESET
- .COPYSTYLE DRAFT
- </pre>
- Notice the use of the
- <a href="definitions.html#TERMS_COMMENTLINES">comment line</a>
- ( \# ), a handy way to keep groups of macros visually separated
- for easy reading in a text editor.
- <h3><u>Step 3</u></h3>
- This step -- completely optional -- is where you, the user, take
- charge. <strong>Mom</strong> has defaults for <em>everything</em>,
- but who's ever satisfied with defaults? Use any of the <a
- href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
- here to change <strong>mom</strong>'s document defaults (paper
- size, margins, family, point size, line space, rag, etc), or
- any of the document processing macros that set/change/control
- the appearance of document elements. Think of this as the
- "style-sheet " section of a document. And please note:
- you MUST give <strong>mom</strong> a
- <a href="#PRINTSTYLE">PRINTSTYLE</a>
- directive <strong>before</strong> making any such changes.
- <p>
- Joe Blow wants his story printed in Helvetica, 12 on 14, rag
- right, with
- <a href="definitions.html#TERMS_FOOTER">page footers</a>
- instead of
- <a href="definitions.html#TERMS_HEADER">page headers</a>
- and a single asterisk for the
- <a href="definitions.html#TERMS_LINEBREAK">linebreak</a>
- character. None of these requirements conforms
- to <strong>mom</strong>'s defaults for the chosen
- <strong>PRINTSTYLE</strong> (TYPESET), so we change them here.
- The setup for Joe Blow's story now looks like this:
- <p>
- <pre>
- .TITLE "My Pulitzer Winner"
- .AUTHOR "Joe Blow"
- .DRAFT 7
- .REVISION 39
- \#
- .DOCTYPE DEFAULT
- .PRINTSTYLE TYPESET
- .COPYSTYLE DRAFT
- \#
- .FAMILY H
- .PT_SIZE 12
- .LS 14
- .QUAD LEFT \"i.e. rag right
- .FOOTERS
- .LINEBREAK_CHAR *
- </pre>
- <h3><u>Step 4</u></h3>
- The final step in setting up a document is telling <strong>mom</strong>
- to start document processing. It's a no-brainer, just the single macro
- <strong>START</strong>. Other than <strong>PRINTSTYLE</strong>, it's
- the only macro required for document processing (although
- I can't guarantee you'll like the results of using just the two).
- <p>
- Here's the complete setup for <em>My Pulitzer Winner</em>:
- <p>
- <pre>
- .TITLE "My Pulitzer Winner"
- .AUTHOR "Joe Blow"
- .DRAFT 7
- .REVISION 39
- \#
- .DOCTYPE DEFAULT
- .PRINTSTYLE TYPESET
- .COPYSTYLE DRAFT
- \#
- .FAMILY H
- .PT_SIZE 12
- .LS 14
- .QUAD LEFT \"i.e. rag right
- .FOOTERS
- .LINEBREAK_CHAR *
- \#
- .START
- </pre>
- As pointed out earlier, Joe Blow is no typographer. Given that all he
- needs is a printed draft of his work, a simpler setup would have been:
- <p>
- <pre>
- .TITLE "My Pulitzer Winner"
- .AUTHOR "Joe Blow"
- .DRAFT 7
- .REVISION 39
- \#
- .PRINTSTYLE TYPEWRITE
- .COPYSTYLE DRAFT
- \#
- .START
- </pre>
- <kbd>.PRINTSTYLE TYPEWRITE</kbd>, above, means that Joe's work
- will come out "typewritten, double-spaced", making the
- blue-pencilling he (or someone else) is sure to do much
- easier (which is why many publishers and agents still insist on
- typewritten, double-spaced copy).
- <p>
- When J. Blow stops re-writing and decides to print off a final,
- typeset copy of his work for the world to see, he need only
- make two changes to the (simplified) setup:
- <p>
- <pre>
- .TITLE "My Pulitzer Winner"
- .AUTHOR "Joe Blow"
- .DRAFT 7
- .REVISION 39
- \#
- .PRINTSTYLE TYPESET \"first change
- .COPYSTYLE FINAL \"second change
- \#
- .START
- </pre>
- In the above, <kbd>.DRAFT 7, .REVISION 39,</kbd> and <kbd>.COPYSTYLE
- FINAL</kbd> are actually superfluous. The draft and revision numbers
- aren't used when <strong>COPYSTYLE</strong> is <strong>FINAL</strong>,
- and <strong>COPYSTYLE FINAL</strong> is <strong>mom</strong>'s
- default unless you tell her otherwise. BUT... to judge from the
- number of drafts already, J. Blow may very well decide his
- "final" version still isn't up to snuff. Hence, he might
- as well leave in the superfluous macros. That way, when draft 7,
- rev. 62 becomes draft 8, rev. 1, he'll be ready to tackle his Pulitzer
- winner again.
- <p>
- <hr>
- <!========================================================================>
- <a name="REFERENCE_MACROS">
- <h2><u>The Reference Macros</u></h2>
- </a>
- The reference macros give <strong>mom</strong> the information
- she needs to generate
- <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>,
- <a href="definitions.html#TERMS_HEADER">page headers</a>,
- and
- <a href="cover.html#COVER_TOP">covers</a>.
- They must go at the top of any file that uses <strong>mom</strong>'s
- document processing macros.
- <p>
- <a name="INDEX_REFERENCE">
- <h3><u>Reference macros list</u></h3>
- </a>
- <ul>
- <li><a href="#TITLE">TITLE</a>
- <li><a href="#DOC_TITLE">DOCTITLE</a>
- <li><a href="#SUBTITLE">SUBTITLE</a>
- <li><a href="#AUTHOR">AUTHOR</a>
- <li><a href="#CHAPTER">CHAPTER</a>
- <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>
- <li><a href="#DRAFT">DRAFT</a>
- <li><a href="#REVISION">REVISION</a>
- <li><a href="#COPYRIGHT">COPYRIGHT</a>
- <li><a href="#MISC">MISC</a>
- <li><a href="#COVERTITLE">COVERTITLE</a>
- </ul>
- <br>
- <!---TITLE--->
- <hr width="66%" align="left">
- <p>
- <a name="TITLE"></a>
- <nobr>Macro: <strong>TITLE</strong> "<title>"</nobr>
- <br>
- <em>*Argument must be enclosed in double-quotes</em>
- <p>
- The title string can be caps or caps/lower-case; it's up to you.
- In
- <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
- the title will appear in the
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
- exactly as you typed it. However, <strong>mom</strong> converts
- the title to all caps in
- <a href="definitions.html#TERMS_HEADER">page headers</a>
- unless you turn that feature off (see
- <a href="headfootpage.html#_CAPS">HEADER_<POSITION>_CAPS</a>). In
- <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
- the title always gets converted to caps.
- <p>
- <strong>NOTE:</strong> If your
- <a href="#DOCTYPE">DOCTYPE</a>
- is <strong>CHAPTER</strong>, <strong>TITLE</strong> should be the
- title of the opus, not "CHAPTER whatever".
- <p>
- <!---DOCTITLE--->
- <hr width="66%" align="left">
- <p>
- <a name="DOCTITLE"></a>
- <nobr>Macro: <strong>DOCTITLE</strong> "<overall document title>"</nobr>
- <br>
- <em>*Argument must be enclosed in double-quotes</em>
- <p>
- <strong>NOTE:</strong> This macro should be used only if your
- <a href="#DOCTYPE">DOCTYPE</a>
- is <strong>DEFAULT</strong> (which is <strong>mom</strong>'s
- default).
- <p>
- When you're creating a single document, say, an essay or a short
- story, you have no need of this macro.
- <a href="#TITLE">TITLE</a>
- takes care of all your title needs.
- <p>
- However if you're
- <a href="rectoverso.html#COLLATE">collating</a>
- a bunch of documents together, say, to print out a report containing
- many articles with different titles, or a book of short stories, you
- need <strong>DOCTITLE</strong>.
- <p>
- <strong>DOCTITLE</strong> tells <strong>mom</strong> the title
- of the complete document (as opposed to the title of each article
- or entitled section).
- <p>
- The doctitle string can be caps or caps/lower-case; it's up to you.
- In
- <a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
- by default, the doctitle appears in the rightmost position of
- <a href="definitions.html#TERMS_HEADER">page headers</a>,
- all in caps unless you turn that feature off (see
- <a href="headfootpage.html#_CAPS">HEADER_<POSITION>_CAPS</a>). In
- <a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
- the doctitle always gets converted to caps.
- <p>
- <strong>NOTE:</strong> If your
- <a href="#DOCTYPE">DOCTYPE</a>
- is <strong>CHAPTER</strong>, you don't need
- <strong>DOCTITLE</strong>. <strong>TITLE</strong> takes care of
- everything.
- <p>
- <!---SUBTITLE--->
- <hr width="66%" align="left">
- <p>
- <a name="SUBTITLE"></a>
- <nobr>Macro: <strong>SUBTITLE</strong> "<subtitle>"</nobr>
- <br>
- <em>*Argument must be enclosed in double-quotes</em>
- <p>
- The subtitle string can be caps or caps/lower-case. Since a
- document's subtitle appears only in the
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
- and the title is most likely in caps, I recommend caps/lower case.
- <p>
- <!---AUTHOR--->
- <hr width="66%" align="left">
- <p>
- <a name="AUTHOR"></a>
- <nobr>Macro: <strong>AUTHOR</strong> "<author string>" [ "<author2 string>" "<author3 string>" ... ]</nobr>
- <br>
- <em>*Multiple arguments must all be enclosed in double-quotes</em>
- <p>
- Each author string can hold as many names as you like, e.g.
- <p>
- <pre>
- .AUTHOR "Joe Blow"
- or
- .AUTHOR "Joe Blow, Jane Doe" "John Hancock"
- </pre>
- <strong>Mom</strong> prints each string that's enclosed in
- double-quotes on a separate line in the
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
- however only the first string appears in
- <a href="definitions.html#TERMS_HEADER">page headers</a>.
- If you want <strong>mom</strong> to put something else in the author
- part of page headers (say, just the last names of a document's two
- authors), redefine the appropriate part of the header (see
- <a href="headfootpage.html#HEADER_CONTROL">header/footer control</a>).
- <p>
- The strings can be caps or caps/lower-case. I recommend caps/lower
- case.
- <p>
- <!---CHAPTER--->
- <hr width="66%" align="left">
- <p>
- <a name="CHAPTER"></a>
- <nobr>Macro: <strong>CHAPTER</strong> <chapter number></nobr>
- <p>
- The chapter number can be in any form you like -- a digit, a roman
- numeral, a word. If you choose
- <a href="#DOCTYPE">DOCTYPE CHAPTER</a>,
- <strong>mom</strong> prints whatever argument you pass
- <strong>CHAPTER</strong> beside the word "Chapter" as a
- single line
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>.
- She also puts the same thing in the middle of
- <a href="definitions.html#TERMS_HEADER">page headers</a>.
- <p>
- Please note that if your argument to <strong>CHAPTER</strong> runs
- to more than one word, you must enclose the argument in
- double-quotes.
- <p>
- If you're not using <strong>DOCTYPE CHAPTER</strong>, the macro serves
- no purpose and <strong>mom</strong> ignores it.
- <p>
- <a name="CHAPTER_STRING"><strong>CHAPTER_STRING</strong></a>
- <p>
- If you're not writing in English, you can ask <strong>mom</strong>
- to use the word for "chapter" in your own language by
- telling her what it is with the <strong>CHAPTER_STRING</strong>
- macro, like this:
- <p>
- <pre>
- .CHAPTER_STRING "Chapître"
- </pre>
- You can also use <strong>CHAPTER_STRING</strong> if you want
- "CHAPTER" instead of "Chapter" in the doc- and
- page-headers.
- <p>
- <!---CHAPTER_TITLE--->
- <hr width="66%" align="left">
- <p>
- <a name="CHAPTER_TITLE"></a>
- <nobr>Macro: <strong>CHAPTER_TITLE</strong> "<chapter title>"</nobr>
- <br>
- <em>*Argument must be enclosed in double-quotes</em>
- <p>
- If, either in addition to or instead of "Chapter #" appearing
- at the top of chapters, you want your chapter to have a title, use
- <strong>CHAPTER_TITLE</strong>, with your title enclosed in
- double-quotes, like this:
- <p>
- <pre>
- .CHAPTER_TITLE "The DMCA Nazis"
- </pre>
- If you've used
- <a href="#CHAPTER">CHAPTER</a> to give the chapter a number,
- both "Chapter #" and the chapter title will appear at the
- top of the chapter, like this:
- <p>
- <pre>
- Chapter 1
- The DMCA Nazis
- </pre>
- In such a case, by default, only the chapter's title will appear in the
- <a href="definitions.html#TERMS_HEADER">page headers</a>,
- not "Chapter #".
- <p>
- If you omit <strong>CHAPTER</strong> when setting up your reference
- macros, only the title will appear, both at the top of page one and in
- subsequent page headers.
- <p>
- The style of the chapter title can be altered by
- <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>,
- e.g. <strong>CHAPTER_TITLE_FAMILY</strong>,
- <strong>CHAPTER_TITLE_FONT</strong>, etc. The default family,
- font and point size are Times Roman, Bold Italic, 4 points larger
- than
- <a href="definitions.html#TERMS_RUNNING">running text</a>.
- <p>
- <!---DRAFT--->
- <hr width="66%" align="left">
- <p>
- <a name="DRAFT"></a>
- <nobr>Macro: <strong>DRAFT</strong> <draft #></nobr>
- <p>
- <strong>DRAFT</strong> only gets used with
- <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
- If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> (the
- default), <strong>mom</strong> ignores <strong>DRAFT</strong>.
- <strong>DRAFT</strong> accepts both alphabetic and numeric
- arguments, hence it's possible to do either
- <p>
- <pre>
- .DRAFT 2
- or
- .DRAFT Two
- </pre>
- <strong>Mom</strong> prints the argument to <strong>.DRAFT</strong>
- (i.e. the draft number) beside the word "Draft" in the
- middle part of
- <a href="definitions.html#TERMS_HEADER">page headers</a>.
- <p>
- <strong>A small word of caution:</strong> If your argument to
- <strong>.DRAFT</strong> is more than one word long, you must
- enclose the argument in double-quotes.
- <p>
- You may, if you wish, invoke <strong>.DRAFT</strong> without an
- argument, in which case, no draft number will be printed beside
- "Draft" in headers or footers.
- <p>
- <a name="DRAFT_STRING"><strong>DRAFT_STRING</strong></a>
- <p>
- If you're not writing in English, you can ask <strong>mom</strong>
- to use the word for "draft" in your own language by
- telling her what it is with the <strong>DRAFT_STRING</strong> macro,
- like this:
- <p>
- <pre>
- .DRAFT_STRING "Jet"
- </pre>
- Equally, <strong>DRAFT_STRING</strong> can be used to roll your own
- solution to something other than the word "Draft." For
- example, you might want "Trial run alpha-three" to appear
- in the headers of a draft version. You'd accomplish this by doing
- <p>
- <pre>
- .DRAFT alpha-three
- .DRAFT_STRING "Trial run
- </pre>
- <strong>.DRAFT</strong> without an argument, above, ensures that
- only the <strong>DRAFT_STRING</strong> gets printed.
- <p>
- <strong>NOTE:</strong> If you define both a blank <strong>.DRAFT</strong>
- and a blank <strong>.DRAFT_STRING</strong>, <strong>mom</strong>
- skips the draft field in headers entirely. If this is what you
- want, this is also the only way to do it. Simply leaving out
- <strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> will
- result in <strong>mom</strong> using her default, which is to print
- "Draft 1".
- <p>
- <!---REVISION--->
- <hr width="66%" align="left">
- <p>
- <a name="REVISION"></a>
- <nobr>Macro: <strong>REVISION</strong> <revision #></nobr>
- <p>
- <strong>REVISION</strong> only gets used with
- <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
- If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong>
- (the default), <strong>mom</strong> ignores the
- <strong>REVISION</strong> macro. <strong>REVISION</strong> accepts
- both alphabetic and numeric arguments, hence it's possible to do
- either
- <p>
- <pre>
- .REVISION 2
- or
- .REVISION Two
- </pre>
- <strong>Mom</strong> prints the revision number beside the shortform
- "Rev." in the middle part of
- <a href="definitions.html#TERMS_HEADER">page headers</a>.
- <p>
- <strong>A small word of caution:</strong> If your argument to
- <strong>.REVISION</strong> is more than one word long, you must
- enclose the argument in double-quotes.
- <p>
- You may, if you wish, invoke <strong>.REVISION</strong> without an
- argument, in which case, no revision number will be printed beside
- "Rev." in headers or footers.
- <p>
- <a name="REVISION_STRING"><strong>REVISION_STRING</strong></a>
- <p>
- If you're not writing in English, you can ask <strong>mom</strong>
- to use the word for "revision," or a shortform
- thereof, in your own language by telling her what it is with the
- <strong>REVISION_STRING</strong> macro, like this:
- <p>
- <pre>
- .REVISION_STRING "Rév."
- </pre>
- Additionally, you may sometimes want to make use of
- <strong>mom</strong>'s
- <a href="#COPYSTYLE">COPYSTYLE DRAFT</a>
- but not actually require any draft information. For example, you
- might like <strong>mom</strong> to indicate only the revision number
- of your document. The way to do that is to define an empty
- <strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> in
- addition to <strong>.REVISION</strong>, like this:
- <p>
- <pre>
- .DRAFT
- .DRAFT_STRING
- .REVISION 2
- </pre>
- <p>
- Equally, if you want to roll your own solution to what revision
- information appears in headers, you could do something like this:
- <pre>
- .DRAFT
- .DRAFT_STRING
- .REVISION "two-twenty-two"
- .REVISION_STRING "Revision"
- </pre>
- <p>
- The above, naturally, has no draft information. If you want to
- roll your own <strong>.DRAFT</strong> and/or
- <strong>.DRAFT_STRING</strong> as well, simply supply arguments to
- either or both.
- <p>
- <!---COPYRIGHT--->
- <hr width="66%" align="left">
- <p>
- <a name="COPYRIGHT"></a>
- <nobr>Macro: <strong>COPYRIGHT</strong> "<copyright info>"</nobr>
- <br>
- <em>*Argument must be enclosed in double-quotes</em>
- <p>
- The argument passed to <strong>COPYRIGHT</strong> is only used on
- cover or doc cover pages, and then only if the argument COPYRIGHT is
- passed to
- <a href="cover.html#COVER">COVER</a>
- or
- <a href="cover.html#DOC_COVER">DOC_COVER</a>.
- Do not include the copyright symbol in the argument passed to
- <strong>COPYRIGHT</strong>; <strong>mom</strong> puts it in for
- you.
- <p>
- <!---MISC--->
- <hr width="66%" align="left">
- <p>
- <a name="MISC"></a>
- <nobr>Macro: <strong>MISC</strong> "<argument 1>" ["<argument 2>" "<argument 3>" ...]</nobr>
- <br>
- <em>*Multliple arguments must all be enclosed in double-quotes</em>
- <p>
- The argument(s) passed to <strong>MISC</strong> are only used on
- cover or doc cover pages, and then only if the argument MISC is
- passed to
- <a href="cover.html#COVER">COVER</a>
- or
- <a href="cover.html#DOC_COVER">DOC_COVER</a>.
- <strong>MISC</strong> can contain any information you like. Each
- argument appears on a separate line at the bottom of the cover or
- doc cover page.
- <p>
- For example, if you're submitting an essay where the prof has
- requested that you include the course number, his name and the
- date, you could do
- <p>
- <pre>
- .MISC "Music History 101" "Professor Hasbeen" "Dec. 24, 2006"
- </pre>
- and the information would appear on the essay's cover page.
- <p>
- <!---COVER_TITLE--->
- <hr width="66%" align="left">
- <p>
- <a name="COVERTITLE"></a>
- <nobr>Macro: <strong>COVERTITLE</strong> "<user defined cover page title>"</nobr>
- <br>
- <nobr>Macro: <strong>DOC_COVERTITLE</strong> "<user defined document cover page title>"</nobr>
- <br>
- <em>*Argument must be enclosed in double-quotes</em>
- <p>
- The argument passed to <strong>COVERTITLE</strong> or
- <strong>DOC_COVERTITLE</strong> is only used on cover or doc cover
- pages, and then only if the argument COVERTITLE is passed to
- <a href="cover.html#COVER">COVER</a>
- or
- <a href="cover.html#DOC_COVER">DOC_COVER</a>.
- <p>
- The only time you require a <strong>COVERTITLE</strong> or
- <strong>DOC_COVERTITLE</strong>is when none of the required first
- arguments to <strong>COVER</strong> or <strong>DOC_COVER</strong>
- fits your needs for the title you want to appear on cover (or doc
- cover) pages.
- <p>
- <hr>
- <!========================================================================>
- <a name="DOCSTYLE_MACROS">
- <h2><u>The Docstyle Macros</u></h2>
- </a>
- The docstyle macros tell <strong>mom</strong> what type of document you're
- writing, whether you want the output typeset or
- "typewritten", and whether you want a draft copy (with
- draft and revision information in the headers) or a final copy.
- <a name="INDEX_DOCSTYLE">
- <h3><u>Docstyle macros list</u></h3>
- </a>
- <ul>
- <li><a href="#DOCTYPE">DOCTYPE</a>
- <li><a href="#PRINTSTYLE">PRINTSTYLE</a>
- <ul>
- <li><a href="#TYPESET_DEFAULTS">Defaults for PRINTSTYLE TYPESET</a>
- <li><a href="#TYPEWRITE_DEFAULTS">Defaults for PRINTSTYLE TYPEWRITE</a>
- <ul>
- <li><a href="#TYPEWRITE_CONTROL">TYPEWRITE control macros</a>
- </ul>
- </ul>
- <li><a href="#COPYSTYLE">COPYSTYLE</a>
- </ul>
- <br>
- <!---DOCTYPE--->
- <hr width="66%" align="left">
- <p>
- <a name="DOCTYPE"></a>
- <nobr>Macro: <strong>DOCTYPE</strong> DEFAULT | CHAPTER | NAMED "<name>" | LETTER</nobr>
- <p>
- The arguments <strong>DEFAULT, CHAPTER</strong> and
- <strong>NAMED</strong> tell <strong>mom</strong> what to put
- in the
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
- and
- <a href="definitions.html#TERMS_HEADER">page headers</a>.
- <strong>LETTER</strong> tells her that you want to write a
- letter.
- <p>
- <strong>Mom</strong>'s default <strong>DOCTYPE</strong> is
- <strong>DEFAULT</strong>. If that's what you want, you don't
- have to give a <strong>DOCTYPE</strong> command.
- <p>
- <strong>DEFAULT</strong> prints a
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
- containing the title, subtitle and author information given to the
- <a href="#REFERENCE_MACROS">reference macros</a>,
- and page headers with the author and title.
- (See
- <a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
- for how <strong>mom</strong> outputs each part of the page header.)
- <p>
- <strong>CHAPTER</strong> prints "Chapter #" in place of a
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>
- (# is what you gave to the
- <a href="#REFERENCE_MACROS">reference macro</a>
- <a href="#CHAPTER">CHAPTER</a>).
- If you give the chapter a title with
- <a href="#CHAPTER_TITLE">CHAPTER TITLE</a>,
- <strong>mom</strong> prints "Chapter #" and the title
- underneath. If you omit the
- <a href="#CHAPTER">CHAPTER</a>
- reference macro but supply a
- <a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>,
- <strong>mom</strong> prints only the chapter title. <em>(*For
- backward compatibility with pre-1.1.5 versions of</em>
- <strong>mom</strong><em>, you can also supply a chapter title by
- omitting the</em> <strong>CHAPTER</strong> <em>reference macro and
- supplying a chapter title with</em>
- <a href="#CHAPTER_STRING">CHAPTER_STRING</a>.)
- <p>
- The page headers in <strong>DOCTYPE CHAPTER</strong> contain the author,
- the title of the book (which you gave with
- <a href="#TITLE">TITLE</a>),
- and "Chapter #" (or the chapter title). See
- <a href="headfootpage.html#HEADER_STYLE">Default Specs for Headers</a>
- for <strong>mom</strong>'s default type parameters for each part of
- the page header.
- <p>
- <strong>NAMED</strong> takes an additional argument: a name
- for this particular kind of document (e.g. outline, synopsis,
- abstract, memorandum), enclosed in double-quotes.
- <strong>NAMED</strong> is identical to <strong>DEFAULT</strong>
- except that <strong>mom</strong> prints the argument to
- <strong>NAMED</strong> beneath the
- <a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
- as well as in page headers.
- (See
- <a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
- for how <strong>mom</strong> outputs each part of the page header.)
- <p>
- Additionally, if you wish the name of this particular kind of
- document to be coloured, you can pass <strong>DOCTYPE NAMED</strong>
- a third (optional) argument: the name of a colour pre-defined (or
- "initialized") with
- <a href="color.html#NEWCOLOR">NEWCOLOR</a>
- or
- <a href="color.html#XCOLOR">XCOLOR</a>.
- For example, if you have a doctype named "Warning", and
- you'd like "Warning" to be in red, assuming you've
- pre-defined (or "initialized") the color, red, this is
- what the <strong>DOCTYPE</strong> entry would look like:
- <p>
- <pre>
- .DOCTYPE NAME "Warning" red
- </pre>
- <p>
- <strong>LETTER</strong> tells mom you're writing a letter. See
- the section
- <a href="letters.html#INTRO">Writing Letters</a>
- for instructions on using <strong>mom</strong> to format letters.
- <p>
- <!---PRINTSTYLE--->
- <hr width="66%" align="left">
- <p>
- <a name="PRINTSTYLE"></a>
- <nobr>Macro: <strong>PRINTSTYLE</strong> TYPESET | TYPEWRITE [ SINGLESPACE ]</nobr>
- <br>
- <em>*Required for document processing.</em>
- <br>
- <em>*Must come before any changes to default document style</em>
- <p>
- <strong>PRINTSTYLE</strong> tells <strong>mom</strong> whether to typeset
- a document, or to print it out "typewritten, doubled-spaced".
- <p>
- <strong>THIS MACRO MAY NOT BE OMITTED.</strong> In order for
- document processing to take place, <strong>mom</strong> requires
- a <strong>PRINTSTYLE</strong>. If you don't give one,
- <strong>mom</strong> will warn you on stderr and print a single
- page with a nasty message.
- <p>
- Furthermore, <strong>PRINTSTYLE</strong> must come before any
- changes to <strong>mom</strong>'s default typestyle parameters.
- (This applies primarily to, but is by no means restricted to,
- <strong>PRINTSTYLE TYPESET</strong>.) <strong>PRINTSTYLE</strong>
- sets up complete "templates" that include default
- papersize, margins, family, fonts, point sizes, and so on.
- Therefore, changes to any aspect of document style must come
- afterwards.
- <p>
- <strong>TYPESET</strong>, as the argument implies, typesets documents
- (by default in Times Roman; see
- <a href="#TYPESET_DEFAULTS">TYPESET defaults</a>).
- You have full access to all the
- <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
- as well as the
- <a href="definitions.html#STYLE_CONTROL">style control macros</a>
- of document processing.
- <p>
- As mentioned above, <strong>PRINTSTYLE TYPESET</strong> must come
- before any changes to <strong>mom</strong>'s default typographic
- settings. For example,
- <pre>
- .PAPER A4
- .LS 14
- .PRINTSTYLE TYPESET
- </pre>
- will not changes <strong>mom</strong>'s default paper size to A4,
- nor her default document leading 14 points, whereas
- <pre>
- .PRINTSTYLE TYPESET
- .PAPER A4
- .LS 14
- </pre>
- will.
- <p>
- With <strong>TYPEWRITE</strong>, <strong>mom</strong> does her best
- to reproduce the look and feel of typewritten, double-spaced copy (see
- <a href="#TYPEWRITE_DEFAULTS">TYPEWRITE defaults</a>).
- <a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a>
- and
- <a href="typesetting.html#INTRO_MACROS_TYPESETTING">typesetting macros</a>
- that alter family, font, point size, and
- <a href="definitions.html#TERMS_LEADING">leading</a>
- are (mostly) ignored. An important exception is
- <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
- (and, by extension, <strong>FOOTER_SIZE</strong>), which allows
- you to reduce the point size of headers/footers should they become
- too crowded. Most of <strong>mom</strong>'s inlines affecting the
- appearance of type are also ignored (<strong>\*S</strong> is an
- exception; there may be a few others).
- <p>
- In short, <strong>TYPEWRITE</strong> never produces effects other than
- those available on a typewriter. Don't be fooled by how brainless
- this sounds; <strong>mom</strong> is remarkably sophisticated when
- it comes to conveying the typographic sense of a document within the
- confines of <strong>TYPEWRITE</strong>.
- <p>
- The primary uses of <strong>TYPEWRITE</strong> are: outputting hard
- copy drafts of your work (for editing), and producing documents
- for submission to publishers and agents who (wisely) insist on
- typewritten, double-spaced copy. To get a nicely typeset version of
- work that's in the submission phase of its life (say, to show fellow
- writers for critiquing), simply change <strong>TYPEWRITE</strong>
- to <strong>TYPESET</strong> and print out a copy.
- <p>
- If, for some reason, you would prefer the output of
- <strong>TYPEWRITE</strong> single-spaced, pass <strong>PRINTSTYLE
- TYPEWRITE</strong> the optional argument, <strong>SINGLESPACE</strong>.
- <p>
- If you absolutely must have a leading other than typewriter double-
- or singlespaced, the only way to get it is with the
- <a href="#DOC_LEAD">DOC_LEAD</a>
- macro, and then ONLY if <strong>DOC_LEAD</strong> is set
- <strong>before</strong> you invoke the <strong>START</strong>
- macro.
- <p>
- <a name="TYPESET_DEFAULTS"><h3><u>TYPESET defaults</u></h3></a>
- <pre>
- Family = Times Roman
- Point size = 12.5
- Paragraph leading = 16 points, adjusted
- Fill mode = justified
- Hyphenation = enabled
- max. lines = 2
- margin = 36 points
- interword adjustment = 1 point
- Kerning = enabled
- Ligatures = enabled
- Smartquotes = enabled
- Word space = groff default
- Sentence space = 0
- </pre>
- <a name="TYPEWRITE_DEFAULTS"><h3><u>TYPEWRITE defaults</u></h3></a>
- <pre>
- Family = Courier
- Italics = underlined
- Point size = 12
- Paragraph leading = 24 points, adjusted; 12 points for SINGLESPACE
- Fill mode = left
- Hyphenation = disabled
- Kerning = disabled
- Ligatures = disabled
- Smartquotes = disabled
- Word space = groff default
- Sentence space = groff default
- Columns = ignored
- </pre>
- <a name="TYPEWRITE_CONTROL"><h3><u>PRINTSTYLE TYPEWRITE control macros</u></h3></a>
- <p>
- In <strong>PRINTSTYLE TYPEWRITE</strong>, <strong>mom</strong>,
- by default, underlines anything that looks like italics. This
- includes the
- <a href="typesetting.html#SLANT_INLINE">\*[SLANT]</a>
- <a href="definitions.html#TERMS_INLINES">inline escape</a>
- for pseudo-italics.
- <p>
- If you'd prefer that <strong>mom</strong> were
- less bloody-minded about pretending to be a typewriter (i.e.
- you'd like italics and pseudo-italics to come out as italics),
- use the control macros <strong>.ITALIC_MEANS_ITALIC</strong> and
- <strong>.SLANT_MEANS_SLANT</strong>. Neither requires an
- argument.
- <p>
- Although it's unlikely, should you wish to reverse the sense of
- these macros in the midst of a document,
- <strong>.UNDERLINE_ITALIC</strong> and
- <strong>.UNDERLINE_SLANT</strong> restore underlining of
- italics and pseudo-italics.
- <p>
- <a name="UNDERLINE_QUOTES"></a>
- Additionally, by default, <strong>mom</strong> underlines
- <a href="definitions.html#TERMS_QUOTES">quotes</a>
- (but not
- <a href="definitions.html#TERMS_BLOCKQUOTES">blockquotes</a>)
- in <strong>PRINTSTYLE TYPEWRITE</strong>.
- If you don't like this behaviour, turn it off with
- <p>
- <pre>
- .UNDERLINE_QUOTES OFF
- </pre>
- To turn underlining of quotes back on, use
- <strong>UNDERLINE_QUOTES</strong> without an argument.
- <p>
- While most of the
- <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>
- have no effect on <strong>PRINTSTYLE TYPEWRITE</strong>, there
- is an important exception:
- <a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
- (and by extension, <strong>FOOTER_SIZE</strong>). This is
- particularly useful for reducing the point size of
- headers/footers should they become crowded (quite likely to
- happen if the title of your document is long and your
- <a href="#COPYSTYLE">COPYSTYLE</a>
- is <strong>DRAFT</strong>).
- <p>
- <!---COPYSTYLE--->
- <hr width="66%" align="left">
- <p>
- <a name="COPYSTYLE"></a>
- <nobr>Macro: <strong>COPYSTYLE</strong> D…