<html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <title>Mom -- Document Processing, element tags</title> </head> <body bgcolor="#dfdfdf"> <!====================================================================> <a href="headfootpage.html#TOP">Next</a> <a href="docprocessing.html#TOP">Prev</a> <a href="toc.html">Back to Table of Contents</a> <p> <a name="TOP"></a> <a name="DOCELEMENT"> <h1 align="center"><u>THE DOCUMENT ELEMENT TAGS</u></h1> </a> <ul> <li><a href="#DOCELEMENT_INTRO">Introduction to the document element tags</a> <ul> <li><a href="#DOCELEMENT_CONTROL">Control macros -- changing defaults for document element tags</a> <li><a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a> </ul> <li><a href="#INDEX_DOCELEMENT">Index of document element tags</a> </ul> <a name="DOCELEMENT_INTRO"> <h2><u>Introduction to the document element tags</u></h2> </a> Once you've completed the setup for a document (see <a href="docprocessing.html#DOCPROCESSING_TUT">Setting up a mom document</a>), formatting it is a snap. Simply invoke the appropriate tag for each document element as you need it. The tags are macros that tell <strong>mom</strong>, "This is a paragraph, this is a subhead, this is a footnote," and so on. <p> The list of tags is actually quite small -- ideal for the users <strong>mom</strong> brought herself into being for (see <a href="intro.html#INTRO_INTRO">Who mom is meant for</a>). However, the list of macros that control the appearance of the tags upon output is extensive. Generally, for each tag, there are <a href="definitions.html#TERMS_CONTROLMACRO">control macros</a> for the tag's family, font and point size. Where appropriate, there are macros to control leading, indents, quad and special features as well. <p> <strong>Mom</strong> has tasteful defaults for all the tags, hence you only use the control macros when you want to change the way she does things. This is usually done prior to <a href="docprocessing.html#START">START</a>, but can, in fact, be done at any time in the course of a document. Any change to a tag's style affects all subsequent invocations of the tag. <p> <a name="DOCELEMENT_CONTROL"><h3><u>Control macros -- changing defaults</u></h3></a> <p> The control macros for document processing tags let you "design" the look of all the parts of your documents -- should you wish. At a bare minimum, all tags have macros to change <strong>mom</strong>'s defaults for family, font and point size. Where appropriate, there are macros to control leading, indents and quad as well. <p> In addition, many tags have special macros to control features that are pertinent to those tags alone. Have a look at the section dealing with any particular tag to find out what macros control the tag, and what <strong>mom</strong>'s defaults for the tag are. <p> The control macros may be used at any time during the course of a document (i.e. before or after <a href="docprocessing.html#START">START</a>). The changes you make alter all subsequent invocations of the affected tag until you make another change, either by passing new arguments to the tag's control macro, or toggling a particular feature of the tag on or off. <p> And don't forget: the <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> can be used at any time, including inside <a href="definitions.html#TERMS_TOGGLE">toggle</a> tags (affecting only that particular invocation of the tag). Equally, <a href="definitions.html#TERMS_INLINES">inline escapes</a> can be used in tags that take <a href="definitions.html#TERMS_STRINGARGUMENT">string arguments.</a> <p> <strong>IMPORTANT NOTE:</strong> The family, font, point size, colour and leading control macros have no effect in <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, which sets EVERYTHING in Courier roman, 12/24 (i.e. 12-point type on a linespace of 24 points). <p> Please also note that the defaults listed with the control macros apply only to <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> unless a default for <strong>TYPEWRITE</strong> is also given. <p> <strong>A WORD OF ADVICE:</strong> Get familiar with <strong>mom</strong> at her default settings before exploring the control macros. Put her through her paces. See how she behaves. Get to know what she feels like and how she looks, both in your text editor and on the printed page. Then, if you don't like something, use this documentation to find the precise macro you need to change it. There are tons of control macros. Reading up on them and trying to remember them all might lead you to think that <strong>mom</strong> is complex and unwieldy, which is not only untrue, but would offend her mightily. <p> <a name="CONTROL_MACRO_ARGS"><h3><u>Arguments to the control macros</u></h3></a> <h3>Family and font</h3> The arguments to the control macros that end in <strong>_FAMILY</strong> or <strong>_FONT</strong> are the same as for <a href="typesetting.html#FAMILY">FAMILY</a> and <a href="typesetting.html#FONT">FT</a>. <h3>Point size</h3> Control macros that end in <strong>_SIZE</strong> always take the form <kbd>+digit</kbd> or <kbd>-digit</kbd> where digit is the number of <a href="definitions.html#TERMS_PICASPOINTS">points</a> larger (+) or smaller (-) than the point size of paragraphs you want the document element to be. For example, to change subheads to 1-1/2 points larger than the type in paragraphs, do <p> <pre> .SUBHEAD_SIZE +1.5 </pre> There's no need for a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> with the <strong>_SIZE</strong> control macros; points is assumed. <h3>Colour</h3> Control macros that end in <strong>_COLOR</strong> take as their argument a colour name pre-defined (or "initialized") with <a href="color.html#NEWCOLOR">NEWCOLOR</a> or <a href="color.html#XCOLOR">XCOLOR</a>. For example, if you want your heads to be red, once you've defined or initialized the color, red, <p> <pre> .HEAD_COLOR red </pre> will turn your heads red. <h3>Lead/linespacing</h3> Control macros that end in <strong>_AUTOLEAD</strong> take the same argument as <a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>, viz. a digit that represents the number of points to add to the tag's point size to arrive at its <a href="definitions.html#TERMS_LEADING">lead</a>. For example, to set footnotes <a href="definitions.html#TERMS_SOLID">solid</a>, do <p> <pre> .FOOTNOTE_AUTOLEAD 0 </pre> To set footnotes with a 1-point lead (i.e. with the line spacing one point greater than the footnote's point size), do <p> <pre> .FOOTNOTE_AUTOLEAD 1 </pre> <h3><a name="CONTROL_INDENTS">Indents</a></h3> Except for <strong>PARA_INDENT</strong>, the argument to the control macros that end in <strong>_INDENT</strong> is always a single digit (whole numbers only; no decimal fractions) with no <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> appended to it. The digit represents by how much you want the size of the paragraph first-line indent multiplied to achieve the correct indent for a particular tag. <h3>Quad/justification style</h3> Control macros that end in <strong>_QUAD</strong> take the same arguments as <a href="typesetting.html#QUAD">QUAD</a>. <p> <hr> <a name="INDEX_DOCELEMENT"><h3><u>Document element tags list</u></h3></a> <ul> <li><a href="#EPIGRAPH_INTRO">Epigraphs</a> <ul> <li><a href="#EPIGRAPH">EPIGRAPH</a> <li><a href="#EPIGRAPH_CONTROL">Epigrah control</a> </ul> <li><a href="#PP_INTRO">Paragraphs</a> <ul> <li><a href="#PP">PP</a> <li><a href="#PP_CONTROL">Paragraph control</a> </ul> <li><a href="#HEAD_INTRO">Main heads</a> <ul> <li><a href="#HEAD">HEAD</a> <li><a href="#HEAD_CONTROL">Head control</a> </ul> <li><a href="#SUBHEAD_INTRO">Subheads</a> <ul> <li><a href="#SUBHEAD">SUBHEAD</a> <li><a href="#SUBHEAD_CONTROL">Subhead control</a> </ul> <li><a href="#PARAHEAD_INTRO">Paragraph heads</a> <ul> <li><a href="#PARAHEAD">PARAHEAD</a> <li><a href="#PARAHEAD_CONTROL">Parahead control</a> </ul> <li><a href="#LINEBREAK_INTRO">Linebreaks (author linebreaks)</a> <ul> <li><a href="#LINEBREAK">LINEBREAK</a> <li><a href="#LINEBREAK_CHAR">Linebreak character</a> <li><a href="#LINEBREAK_COLOR">Linebreak colour</a> </ul> <li><a href="#QUOTE_INTRO">Quotes (line for line)</a> <ul> <li><a href="#QUOTE">QUOTE</a> <li><a href="#QUOTE_CONTROL">Quote control</a> </ul> <li><a href="#BLOCKQUOTE_INTRO">Blockquotes (cited material)</a> <ul> <li><a href="#BLOCKQUOTE">BLOCKQUOTE</a> <li><a href="#BLOCKQUOTE_CONTROL">Blockquote control</a> </ul> <li><a href="#LIST_INTRO">Nested lists</a> <ul> <li><a href="#LIST">LIST</a> <ul> <li><a href="#ITEM">ITEM</a> </ul> <li><a href="#LIST_CONTROL">List control</a> </ul> <li><a href="#FOOTNOTE_INTRO">Footnotes</a> <ul> <li><a href="#FOOTNOTE">FOOTNOTE</a> <li><a href="#FOOTNOTE_CONTROL">Footnote control</a> </ul> <li><a href="#FINIS_INTRO">Document termination</a> <ul> <li><a href="#FINIS">FINIS</a> <ul> <li><a href="#FINIS_STRING">Changing the FINIS string</a> <li><a href="#FINIS_COLOR">Changing the FINIS colour</a> </ul> </ul> <li><a href="#ENDNOTE_INTRO">Endnotes</a> <ul> <li><a href="#ENDNOTE">ENDNOTE</a> <li><a href="#ENDNOTE_CONTROL">Endnote control</a> </ul> <li><a href="#TOC_INTRO">Table of contents</a> <ul> <li><a href="#TOC">TOC</a> <li><a href="#TOC_CONTROL">Table of contents control</a> </ul> <li><a href="#BLANK_PAGE_TITLE">Blank page</a> </ul> <hr> <!====================================================================> <a name="EPIGRAPH_INTRO"><h2><u>Epigraphs</u></h2></a> <ul> <li><a href="#EPIGRAPH">Tag: EPIGRAPH</a> <li><a href="#EPIGRAPH_CONTROL">Epigraph control macros</a> </ul> <p> <a href="definitions.html#TERMS_EPIGRAPH">Epigraphs</a> colour, flavour, or comment on the document they precede. Typically, they are centred at the top of a document's first page (underneath the title) and set in a smaller point size than that of paragraph text. <p> By default, <strong>mom</strong> sets epigraphs centred and <a href="definitions.html#TERMS_NOFILL">unfilled</a>; this lets you input them on a line for line basis. This behaviour can be changed to accomodate <a href="definitions.html#TERMS_FILLED">filled</a> epigraph "blocks." <p> <!---EPIGRAPH---> <hr width="66%" align="left"> <p> <a name="EPIGRAPH"> Macro: <strong>EPIGRAPH</strong> <var><toggle> | [ BLOCK ]</var></a> </a> <p> <strong>EPIGRAPH</strong> is a toggle, used like this: <p> <pre> .EPIGRAPH <text of epigraph> .EPIGRAPH OFF </pre> <strong>OFF</strong>, above, could be anything -- say, Q or X -- since any argument other than <strong>BLOCK</strong> turns it off. <p> If given the argument <strong>BLOCK</strong>, <strong>EPIGRAPH</strong> sets epigraphs <a href="definitions.html#TERMS_FILLED">filled</a>, justified or quadded in the same direction as paragraphs, indented equally from both the left and right margins. <p> If a block-style epigraph runs to more than one paragraph (unlikely, but conceivable), you <strong>MUST</strong> introduce every paragraph -- <u>INCLUDING THE FIRST!!!</u> -- with the <a href="#PP">PP</a> tag. <p> <strong>NOTE:</strong> <strong>EPIGRAPH</strong> should only be used at the top of a document (i.e. just after <a href="docprocessing.html#START">START</a>) or after <a href="#HEAD_INTRO">heads</a>. The latter is not especially recommended, but it does work. In all other places where you want quotes or cited text, use <a href="#QUOTE">QUOTE</a> or <a href="#BLOCKQUOTE">BLOCKQUOTE</a>. <p> <a name="EPIGRAPH_CONTROL"><h3><u>Epigraph control macros</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .EPIGRAPH_FAMILY default = prevailing document family; default is Times Roman .EPIGRAPH_FONT default = roman .EPIGRAPH_SIZE default = -1.5 (points) .EPIGRAPH_COLOR default = black .EPIGRAPH_AUTOLEAD default = 2 points (The next two apply to "block" style epigraphs only) .EPIGRAPH_QUAD default = same as paragraphs .EPIGRAPH_INDENT* default = para indent x 3 (for typeset), x 2 (for typewrite) *Indent here refers to the indent from both the left and right margins that centres the block style epigraph on the page. </pre> <hr> <!====================================================================> <a name="PP_INTRO"><h2><u>Paragraphs</u></h2></a> <ul> <li><a href="#PP">Tag: PP</a> <li><a href="#PP_CONTROL">Paragraph control macros</a> </ul> <p> The paragraph macro is the one you use most often. Consequently, it's one of most powerful, yet simplest to use -- just the letters <strong>PP</strong>. No arguments, nothing. Just <kbd>.PP</kbd> on a line by itself any time, in any document element, tells <strong>mom</strong> you want to start a new paragraph. The spacing and indent appropriate to where you are in your document are taken care of automatically. <p> By default, <strong>mom</strong> does not indent the first paragraph of a document, nor paragraphs that fall immediately after <a href="#HEAD_INTRO">heads</a> or <a href="#SUBHEAD_INTRO">subheads</a>. The first paragraphs of blockquotes and block-style epigraphs are also not indented. This behaviour can be changed with the control macro <a href="#PARA_INDENT_FIRST">INDENT_FIRST_PARAS</a>. <p> In contrast to some other macro packages, <strong>mom</strong> does not deposit a blank line between paragraphs. If you want her to do so, use the control macro <strong>PARA_SPACE</strong>. (I don't recommend using this macro with <a href="typesetting.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.) <p> Note that <strong>mom</strong> does not provide "orphan control" for paragraphs (i.e. even if only one line of a paragraph fits at the bottom of a page, she will set it on that page). The reason for this is that writers of fiction often have single-line paragraphs (e.g. in dialogue). Groff's simplistic orphan control will break these one-liners -- if they fall at the bottom of the page -- to a new page, which is not what you want. <p> <strong>TIP:</strong> The last thing you want while you're writing and editing drafts of a document (particularly stories and chapters) is a text file cluttered up with <strong>PP</strong>'s. The visual interruption in the flow of text is a serious obstacle to creativity and critiquing. <p> I use the tab key on my keyboard to indent paragraphs when I'm writing, producing a text file that looks pretty much like what you see on a printed page. When it comes time to format and print the file, I run it through a sed script that (amongst other things) converts the character generated by the tab key (<kbd>^I</kbd>) into <code>.PP</code> (plus a new line), and pipe the output to groff for processing and printing. <p> Another solution is to insert a blank line between paragraphs. The blank lines can then be sedded out at print time as above, or, more conveniently, you can use the <code>.blm</code> <a href="definitions.html#TERMS_PRIMITIVES">primitive</a> (blank line macro) to instruct groff (and <strong>mom</strong>) that blank lines should be interpreted as <strong>PP</strong>'s. <p> <pre> .blm PP </pre> tells groff that all blank lines are really the macro <strong>PP</strong>. <p> <!---PP---> <hr width="66%" align="left"> <p> <a name="PP"> Macro: <strong>PP</strong> </a> <p> <strong>PP</strong> (on a line by itself, of course) tells mom to start a new paragraph. See <a href="#PP_INTRO">above</a> for more details. In addition to regular text paragraphs, you can use <strong>PP</strong> in <a href="#EPIGRAPH_INTRO">epigraphs</a>, <a href="#BLOCKQUOTE_INTRO">blockquotes</a> and <a href="#FOOTNOTE_INTRO">footnotes</a>. <a name="PP_CONTROL"><h3><u>Paragraph control macros</u></h3></a> <p> The <strong>PP</strong> being so important, and representing, as it were, the basis of everything that goes on in a document, its control is managed in a manner somewhat different from other document element tags. <p> <ol> <li><a href="#PP_FAMILY">Family control</a> <li><a href="#PP_FONT">Font control</a> <li><a href="#PP_COLOR">Paragraph colour</a> <li><a href="#PP_LEADING">Leading/linespacing control</a> <li><a href="#PP_JUST_QUAD">Justification/quad control</a> <li><a href="#PARA_INDENT">First-line indent control</a> <li><a href="#PARA_INDENT_FIRST">Initial paragraphs indent control</a> <li><a href="#PP_SPACE">Paragraph spacing control</a> </ol> <a name="PP_FAMILY"><h3><u>1. Family</u></h3></a> <p> The paragraph <a href="definitions.html#TERMS_FAMILY">family</a> is set with <a href="typesetting.html#FAMILY">FAMILY</a> prior to <a href="docprocessing.html#START">START</a>, or <a href="docprocessing.html#DOC_FAMILY">DOC_FAMILY</a> afterwards. Please note that both globally affect the family of every element in the document. <p> If you wish to change the family for regular text paragraphs only, invoke <strong>FAMILY</strong> immediately after <strong>PP</strong> in EVERY paragraph whose family you wish to differ from the prevailing document family. <p> <strong>Mom</strong>'s default paragraph (and document) family is Times Roman. <p> <a name="PP_FONT"><h3><u>2. Font -- PP_FONT</u></h3></a> <p> To change the <a href="definitions.html#TERMS_FONT">font</a> used in regular text paragraphs, use <code>.PP_FONT</code>, which takes the same argument as <a href="typesetting.html#FONT">FT</a>. <strong>PP_FONT</strong> may be used before or after <a href="docprocessing.html#START">START</a>. Only regular text paragraphs are affected; paragraphs in <a href="#EPIGRAPH_INTRO">epigraphs</a>, <a href="#BLOCKQUOTE_INTRO">blockquotes</a> and <a href="#FOOTNOTE_INTRO">footnotes</a> remain at their default setting (medium roman) unless you change them with the appropriate control macros. <p> <strong>Mom</strong>'s default paragraph font is medium roman. <p> <a name="PP_COLOR"><h3><u>3. Paragraph colour</u></h3></a> <p> <strong>Mom</strong> has no special control macro for colourizing paragraphs. If you wish a colourized paragraph, you must use the macro, <a href="color.html#COLOR">COLOR</a>, or the <a href="definitions.html#TERMS_INLINE">inline escape</a>, <a href="color.html#COLOR_INLINE">\*[<colorname>]</a>, <em>after</em> <strong>.PP</strong>. The colour must be one pre-defined (or "initialized") with <a href="color.html#NEWCOLOR">NEWCOLOR</a> or <a href="color.html#XCOLOR">XCOLOR</a>. <p> Please note that unless you change the colour back to it's default (usually black) at the end of the paragraph, all subsequent paragraphs will be set in the new colour, although most other elements of your document will continue to be set in the default colour (usually black). <p> For example, assuming you have defined the colour, blue, <p> <pre> .PP .COLOR blue <first paragraph> .HEAD "Monty Python" .SUBHEAD "The Origins of Spam" .PP <second paragraph> </pre> the first paragraph will be blue, the head and subhead will be in the document's default colour (usually black), and the second paragraph will be in blue. <p> The one document element that is affected by changing the colour of paragraphs are <a href="#PARAHEAD">paraheads</a>, since they are attached directly to the body of paragraphs. In other words, if you change the colour of a paragraph and do not reset the paragraph colour back to its default, subsequent paraheads will appear in the same colour as your paragraphs unless you have explicitly told <strong>mom</strong> you want a pre-defined (or "initialized") color (usually black) for your paraheads. <p> See the footnote to <a href="#PARAHEAD_COLOR">.PARAHEAD_COLOR</a>. <a name="PP_LEADING"><h3><u>4. Leading</u></h3></a> <p> The paragraph <a href="definitions.html#TERMS_LEADING">leading</a> is set with <a href="typesetting.html#LEADING">LS</a> prior to <a href="docprocessing.html#START">START</a>, or <a href="docprocessing.html#DOC_LEAD">DOC_LEAD</a> afterwards. Please note that either method globally affects the leading and spacing of every document element (except <a href="definitions.html#TERMS_HEADER">headers</a> and <a href="definitions.html#TERMS_FOOTER">footers</a>). <p> If you wish to change the leading of regular text paragraphs only, invoke <strong>LS</strong> immediately after <strong>PP</strong> in EVERY paragraph whose leading you wish to change. <p> <strong>HYPER-IMPORTANT NOTE:</strong> It is extremely unwise to change paragraph leading with <strong>LS</strong>, as it will, in all cases, screw up <strong>mom</strong>'s ability to balance the bottom margin of pages. Should you absolutely need to change paragraph leading with <strong>LS</strong>, and subsequently want <strong>mom</strong> to get back on the right leading track, use the <a href="docprocessing.html#SHIM">SHIM</a> macro. <p> <strong>Mom</strong>'s default paragraph leading (document leading) is 16 points, adjusted to fill the page. <p> <a name="PP_JUST_QUAD"><h3><u>5. Justification/quad</u></h3></a> <p> The justification/quad-direction of regular text paragraphs (i.e. <a href="definitions.html#TERMS_JUST">justified</a>, or <a href="definitions.html#TERMS_FILLED">filled</a> and <a href="definitions.html#TERMS_QUAD">quadded</a> left/right/centre) is set with <a href="typesetting.html#JUSTIFY">JUSTIFY</a> or <a href="typesetting.html#QUAD">QUAD</a> prior to <a href="docprocessing.html#START">START</a>, and with <a href="docprocessing.html#DOC_QUAD">DOC_QUAD</a> afterwards. <p> Please note that either method of setting the paragraph justification/quad-direction also affects <a href="#EPIGRAPH_INTRO">epigraphs</a> and <a href="#FOOTNOTE_INTRO">footnotes</a>, but not <a href="#BLOCKQUOTE_INTRO">blockquotes</a> (whose default is QUAD LEFT unless you change it with <a href="#BLOCKQUOTE">BLOCKQUOTE_QUAD</a>). The justification/quad-direction of epigraphs and footnotes may be changed with their own control macros. <p> If you wish to change the justification/quad-direction of individual paragraphs, use <strong>JUSTIFY</strong> or <strong>QUAD</strong> immediately after <strong>PP</strong>. Only the paragraph in question gets justified or quadded differently; subsequent paragraphs remain unaffected. <p> <strong>Mom</strong>'s default justification/quad-direction for paragraphs is <br> <ul> <li>justified, for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a> <li>quad left, for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a> </ul> <p> <a name="PARA_INDENT"><h3><u>6. First-line indent -- PARA_INDENT</u></h3></a> <p> The first-line indent of paragraphs is controlled by <strong>PARA_INDENT</strong>, which takes one argument: the size of the indent. <strong>PARA_INDENT</strong> may be used before or after <a href="docprocessing.html#START">START</a>. A <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> is required; fractional sizes are allowed. Thus, to set the paragraph indent to 4-1/2 <a href="definitions.html#TERMS_EM">ems</a>, do <p> <pre> .PARA_INDENT 4.5m </pre> In addition to establishing the basic first line-indent of paragraphs, <strong>PARA_INDENT</strong> also affects <a href="#EPIGRAPH_INTRO">epigraphs</a>, <a href="#QUOTE_INTRO">quotes</a> and <a href="#BLOCKQUOTE_INTRO">blockquotes</a>, whose overall indenting from the left and (where applicable) right margins is relative to <strong>PARA_INDENT</strong>. Furthermore, the first-line indent of paragraphs within these document elements (as well as footnotes) is also relative to <strong>PARA_INDENT</strong> (always 1/2 of <strong>PARA_INDENT)</strong>), hence they are also affected. <p> <strong>Mom</strong>'s default <strong>PARA_INDENT</strong> is 2 ems for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a> and 3 picas (1/2 inch) for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a>. <p> <a name="PARA_INDENT_FIRST"><h3><u>7. Indenting initial paragraphs -- INDENT_FIRST_PARAS</u></h3></a> <p> By default, <strong>mom</strong> does not indent the first paragraph of a document, nor the first paragraph after a head or subhead, nor the first paragraphs of <a href="#EPIGRAPH_INTRO">epigraphs</a>, <a href="#BLOCKQUOTE_INTRO">blockquotes</a> or <a href="#FOOTNOTE_INTRO">footnotes</a> that run to more than one paragraph. <a name="INDENT_FIRST_PARAS"></a> <p> If you wish to have first paragraphs indented, invoke the macro <strong>.INDENT_FIRST_PARAS</strong> with no argument, either before or after <a href="docprocessing.html#START">START</a>. <strong>INDENT_FIRST_PARAS</strong> is a toggle macro, therefore passing it any argument (<strong>OFF, QUIT, Q, X</strong>...) cancels its effect, meaning that first paragraphs will once again NOT be indented. <p> <a name="PP_SPACE"><h3><u>8. Spacing paragraphs -- PARA_SPACE</u></h3></a> <p> By default, <strong>mom</strong> does not insert a blank line between paragraphs. If you would like her to do so, invoke the macro <code>.PARA_SPACE</code> with no argument, either before or after <a href="docprocessing.html#START">START</a>. <strong>PARA_SPACE</strong> is a toggle macro, therefore passing it any argument (<strong>OFF, QUIT, Q, X</strong>...) cancels its effect, meaning that paragraphs will once again NOT be separated by a blank line. <br> <hr> <!====================================================================> <a name="HEAD_INTRO"><h2><u>Main heads</u></h2></a> <ul> <li><a href="#HEAD">Tag: HEAD</a> <li><a href="#HEAD_CONTROL">Head control macros</a> </ul> <p> Main heads -- or, in this documentation, just "heads" -- should be used any place you want titles to introduce major sections of a document. If you wish, <strong>mom</strong> can number your heads for you. Head numbers can also be included hierarchically in numbered <a href="#SUBHEAD_INTRO">subheads</a> and <a href="#PARAHEAD_INTRO">paraheads</a>. <p> By default, heads are centred on the page, underlined, all in caps. A double linespace precedes each head. In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, heads are bold, slightly larger than paragraph text. <p> If these defaults don't suit you, you can change them with the head control macros. <p> <!---HEAD---> <hr width="66%" align="left"> <p> <a name="HEAD"> Macro: <strong>HEAD</strong> <var>"<text of head>" [ "<2nd line>" [ "<3rd line>" ... ] ]</var> </a> <p> The argument to <strong>HEAD</strong> is the text of the head, surrounded by double-quotes. If you need additional lines for a head, simply surround each line with double-quotes. <p> <strong>NOTE:</strong> If a head falls near the bottom of an output page and <strong>mom</strong> is unable to fit the head <em>plus at least one line of text underneath it</em>, she will set the head at the top of the next page. <p> <strong>ADDITIONAL NOTE:</strong> If an <a href="definitions.html#TERMS_INPUTLINE">input line</a> in a head (i.e. one of the lines surrounded by double-quotes) has to be broken by <strong>mom</strong> in order to fit the current line-length (say, a narrow column measure), the head underline (underscore) will not behave. You'll recognize the problem as soon as you preview your document. If you encounter a head that misbehaves with respect to underlining, the solution is to supply each line <em>as you want it</em> as a separate argument (surrounded by double-quotes) to the <strong>HEAD</strong> macro. <p> For example, if <strong>mom</strong> breaks <pre> .HEAD "This is a very, very, very long head" </pre> into <pre> This is a very, very, very long head </pre> you'll see the misbehaving underscore and should change the argument to <strong>HEAD</strong> to <pre> .HEAD "This is a very, very very" "long head" </pre> <a name="HEAD_CONTROL"><h3><u>Head control macros</u></h3></a> <p> There are, in addition to the usual family/font/size/quad control macros, a number of macros to manage head numbering, spacing, underlining, and so on. Check them out if you're unhappy with <strong>mom</strong>'s defaults. <p> <ol> <li><a href="#HEAD_GENERAL">Family/font/size/colour/quad</a> <li><a href="#HEAD_CAPS">Caps</a> <li><a href="#HEAD_SPACE">Pre-head space</a> <li><a href="#HEAD_UNDERLINE">Underlining</a> <li><a href="#NUMBER_HEADS">Numbering</a> <li><a href="#RESET_HEAD_NUMBER">Reset head numbering</a> <li><a href="#HEAD_INLINES">Vertical inline escapes inside heads</a> </ol> <p> <a name="HEAD_GENERAL"><h3><u>1. Family/font/size/quad</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .HEAD_FAMILY default = prevailing document family; default is Times Roman .HEAD_FONT default = bold .HEAD_SIZE default = +1 (point) .HEAD_COLOR default = black .HEAD_QUAD default = CENTER </pre> <a name="HEAD_CAPS"><h3><u>2. Capitalizing heads -- HEAD_CAPS</u></h3></a> <p> By default, <strong>mom</strong> sets heads in caps, regardless of the <a href="definitions.html#TERMS_STRINGARGUMENT">string(s)</a> you give to <a href="#HEAD">HEAD</a>. To change this behaviour, do <p> <pre> .HEAD_CAPS OFF </pre> <strong>HEAD_CAPS</strong> is a toggle macro, therefore you can use any argument you like instead of <strong>OFF</strong> (<strong>END, QUIT, Q, X</strong>...). To turn <strong>HEAD_CAPS</strong> back on, simply invoke it without an argument. <p> <a name="HEAD_SPACE"><h3><u>3. Space before heads -- HEAD_SPACE</u></h3></a> <p> By default, <strong>mom</strong> deposits 2 blank lines prior to every head. If you'd prefer just a single blank line, do <p> <pre> .HEAD_SPACE OFF </pre> <strong>HEAD_SPACE</strong> is a toggle macro, therefore you can use any argument you like instead of <strong>OFF</strong> (<strong>END, QUIT, Q, X</strong>...). To restore the space before heads to 2 blank lines, invoke <strong>HEAD_SPACE</strong> without an argument. <p> <a name="HEAD_UNDERLINE"><h3><u>4. Underlining heads -- HEAD_UNDERLINE</u></h3></a> <p> By default, <strong>mom</strong> underlines heads. To change this behaviour, do <p> <pre> .HEAD_UNDERLINE OFF </pre> <strong>HEAD_UNDERLINE</strong> is a toggle macro, therefore you can use any argument you like instead of <strong>OFF</strong> (<strong>END, QUIT, Q, X</strong>...). To restore underlining of heads, invoke <strong>HEAD_UNDERLINE</strong> without an argument. <p> <a name="NUMBER_HEADS"><h3><u>5. Number heads -- NUMBER_HEADS</u></h3></a> <p> If you'd like your heads numbered, simply invoke <strong>NUMBER_HEADS</strong> with no argument. <strong>Mom</strong> will number all subsequent heads automatically (in ascending order, naturally). <p> If, in addition to numbering heads, you also request that <a href="#SUBHEAD_INTRO">subheads</a> and/or <a href="#PARAHEAD_INTRO">paraheads</a> be numbered, the head number will be included in their numbers (each number separated by a period [dot]). <p> Should you wish to stop head numbering, invoke <strong>NUMBER_HEADS</strong> with any argument (<strong>OFF, QUIT, END, X</strong>...). Head numbering will cease, and the head number will not be included in the numbering of subheads and/or paraheads. <p> <a name="RESET_HEAD_NUMBER"><h3><u>6. Reset head numbering -- RESET_HEAD_NUMBER</u></h3></a> <p> Should you wish to reset the head number to "1", invoke <strong>RESET_HEAD_NUMBER</strong> with no argument. If, for some reason, you want <strong>mom</strong> to use a head number that is not the next in ascending order (i.e. the last head number + 1), invoke <strong>RESET_HEAD_NUMBER</strong> with the number you want, e.g. <p> <pre> .RESET_HEAD_NUMBER 6 </pre> Your next head will be numbered "6" and subsequent heads will be numbered in ascending order from "6". <p> <a name="HEAD_INLINES"><h3><u>7. Vertical inline escapes inside heads</u></h3></a> <p> If you need to adjust the <a href="definitions.html#TERMS_BASELINE">baseline</a> position of a head (e.g. the head falls at the top of a column and you want its <a href="definitions.html#TERMS_ASCENDER">ascenders</a> to line up with the ascenders of <a href="definitions.html#TERMS_RUNNING">running text</a> in other columns), you can embed a vertical motion <a href="definitions.html#TERMS_INLINES">inline escape</a> (either <a href="inlines.html#INLINE_VERTICAL_MOM">mom</a>'s or <a href="inlines.html#INLINE_VERTICAL_GROFF">groff</a>'s in the string(s) you pass to <strong>HEAD</strong> <p> For example, <p> <pre> .HEAD "\[ALD3]Text of head" or .HEAD "\[DOWN 3p]Text of head" </pre> will lower the baseline of the head by three points. Note that there's no need to reverse the sense of the inline escape. <p> In the case of heads that run to more than one line, you must embed the escape in the string for each line, like this: <p> <pre> .HEAD "\[ALD3]First line" "\[ALD3]Next line" or .HEAD "\[DOWN 3p]First line" "\[DOWN 3p]Next line" </pre> <hr> <!====================================================================> <a name="SUBHEAD_INTRO"><h2><u>Subheads</u></h2></a> <ul> <li><a href="#SUBHEAD">Tag: SUBHEAD</a> <li><a href="#SUBHEAD_CONTROL">Subhead control macros</a> </ul> <p> Subheads should be used any place you want titles to introduce sections of a document below heads. If you wish, <strong>mom</strong> can number subheads for you. Subhead numbers can also be included hierarchically in numbered <a href="#PARAHEAD_INTRO">paraheads</a>. <p> By default, subheads are flush left. In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, they are set bold, slightly larger than paragraph text. In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, they are underlined. A single linespace precedes them in both printstyles, and a tiny space adjustment raises them slightly above text that comes afterwards for greater clarity in document structuring. <p> If these defaults don't suit you, you can change them with the subhead control macros. <p> <!---SUBHEAD---> <hr width="66%" align="left"> <p> <a name="SUBHEAD"> Macro: <strong>SUBHEAD</strong> <var>"<text of subhead>" [ "<2nd line>" [ "<3rd line>" ... ] ]</var> </a> <p> The argument to <strong>SUBHEAD</strong> is the text of the subhead, surrounded by double-quotes. If you need additional lines for a subhead, simply surround each line with double-quotes. <p> <strong>NOTE:</strong> If a subhead falls near the bottom of an output page and <strong>mom</strong> is unable to fit the head <em>plus at least one line of text underneath it</em>, she will set the subhead at the top of the next page. <a name="SUBHEAD_CONTROL"><h3><u>Subhead control macros</u></h3></a> <p> In addition to the usual family/font/size/quad control macros, there are macros to manage subhead numbering. <p> <ol> <li><a href="#SUBHEAD_GENERAL">Family/font/size/colour/quad</a> <li><a href="#NUMBER_SUBHEADS">Numbering</a> <li><a href="#RESET_SUBHEAD_NUMBER">Reset subhead numbering</a> <li><a href="#SUBHEAD_INLINES">Vertical inline escapes inside subheads</a> </ol> <p> <a name="SUBHEAD_GENERAL"><h3><u>1. Family/font/size/quad</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .SUBHEAD_FAMILY default = prevailing document family; default is Times Roman .SUBHEAD_FONT default = bold .SUBHEAD_SIZE default = +.5 (point) .SUBHEAD_COLOR default = black .SUBHEAD_QUAD default = LEFT </pre> <a name="NUMBER_SUBHEADS"><h3><u>2. Number subheads -- NUMBER_SUBHEADS</u></h3></a> <p> If you'd like your subheads numbered, simply invoke <strong>.NUMBER_SUBHEADS</strong> with no argument. <strong>Mom</strong> will number all subsequent subheads automatically (in ascending order, naturally). <p> If, in addition to numbering subheads, you also request that <a href="#HEAD_INTRO">heads</a> be numbered, the head number will be included in the subhead number (separated by a period [dot]). <p> Should you wish to stop subhead numbering, invoke <strong>NUMBER_SUBHEADS</strong> with any argument (<strong>OFF, QUIT, END, X</strong>...). Subhead numbering will cease, and the subhead number will not be included in the numbering of paraheads. <p> <a name="RESET_SUBHEAD_NUMBER"><h3><u>3. Reset head numbering -- RESET_SUBHEAD_NUMBER</u></h3></a> <p> Should you wish to reset the subhead number to "1", invoke <strong>RESET_SUBHEAD_NUMBER</strong> with no argument. If, for some reason, you want <strong>mom</strong> to use a subhead number that is not the next in ascending order (i.e. the last subhead number + 1), invoke <strong>RESET_SUBHEAD_NUMBER</strong> with the number you want, e.g. <p> <pre> .RESET_SUBHEAD_NUMBER 4 </pre> Your next subhead will be numbered "4" and subsequent subheads will be numbered in ascending order from "4". <a name="SUBHEAD_INLINES"><h3><u>Vertical inline escapes inside subheads</u></h3></a> See <a href="#HEAD_INLINES">Vertical inline escapes inside heads</a>. The information there applies equally to subheads. <p> <hr> <!====================================================================> <a name="PARAHEAD_INTRO"><h2><u>Paragraph heads</u></h2></a> <ul> <li><a href="#PARAHEAD">Tag: PARAHEAD</a> <li><a href="#PARAHEAD_CONTROL">Parahead control macros</a> </ul> <p> Paragraph heads (paraheads) should be used any place you want titles to introduce paragraphs below heads or subheads. If you wish, <strong>mom</strong> can number paraheads for you. <p> By default, paraheads are joined to the body of a paragraph, slightly indented (provided the paragraph is not a "first" paragraph as defined in <a href="#PARA_INDENT_FIRST">Indenting initial paragraphs</a>). In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, they are set bold italic, slightly larger than paragraph text. In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, they are underlined. <p> If these defaults don't suit you, you can change them with the parahead control macros. <p> <!---PARAHEAD---> <hr width="66%" align="left"> <p> <a name="PARAHEAD"> Macro: <strong>PARAHEAD</strong> <var>"<text of parahead>"</var> </a> <p> <strong>PARAHEAD</strong> must come AFTER <a href="#PP">PP</a> or it will not work! <p> The argument is the text of the parahead, surrounded by double-quotes. Because paraheads are joined to the body of a paragraph, they accept only one argument (see <a href="#HEAD">HEAD</a> and <a href="#SUBHEAD">SUBHEAD</a>). <p> <a name="PARAHEAD_CONTROL"><h3><u>Parahead control macros</u></h3></a> <p> In addition to the family/font/size/colour/indent control macros, there are macros to manage parahead numbering. <p> <ol> <li><a href="#PARAHEAD_GENERAL">Family/font/colour/size</a> <li><a href="#PARAHEAD_INDENT">Indent</a> <li><a href="#NUMBER_PARAHEADS">Numbering</a> <li><a href="#RESET_PARAHEAD_NUMBER">Reset parahead numbering</a> </ol> <p> <a name="PARAHEAD_GENERAL"><h3><u>1. Family/font/size/colour</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .PARAHEAD_FAMILY default = prevailing document family; default is Times Roman .PARAHEAD_FONT default = bold italic .PARAHEAD_SIZE default = +.5 (point) <a name="PARAHEAD_COLOR">.PARAHEAD_COLOR default = black*</a> *If you colourize paragraph text, paraheads will appear in the same colour as the text unless you explicitly tell mom to colour them otherwise by invoking .PARAHEAD_COLOR. If you do want paraheads that are coloured the same as paragraph text, it's generally a good idea to invoke .PARAHEAD_COLOR anyway (with the same colour used for paragraph text), just to let mom know. </pre> <a name="PARAHEAD_INDENT"><h3><u>2. Indent</u></h3></a> <p> Unlike other control macros that end in <a href="#CONTROL_INDENTS"><strong>_INDENT</strong></a>, the argument to the macro that controls indenting of paragraph heads (<strong>PARAHEAD_INDENT</strong>) is NOT relative to the first-line indent of normal paragraphs. In other words, it takes an absolute value, and requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. For example, to set the paragraph head indent to 2-1/2 picas, you do: <p> <pre> .PARAHEAD_INDENT 2.5P </pre> <strong>Mom</strong>'s default indent for paragraph heads is 1/2 the first-line indent of normal paragraphs (both printstyles). However, as stated above, if you choose to change the indent, you must give an absolute value (unless you're a groff expert and want to manipulate the number register <code>\n[#PP_INDENT]u</code> arithmetically as the argument to <strong>PARAHEAD_INDENT</strong> for an indent that's relative to <strong>PP_INDENT</strong>.) <p> <strong>NOTE:</strong> Paragraph heads in "first paragraphs", as defined in <a href="#PARA_INDENT_FIRST">Indenting initial paragraphs</a>, are not indented unless you turn <a href="#INDENT_FIRST_PARAS">INDENT_FIRST_PARAS</a> on. <p> <a name="NUMBER_PARAHEADS"><h3><u>3. Number paraheads -- NUMBER_PARAHEADS</u></h3></a> <p> If you'd like your paraheads numbered, simply invoke <strong>.NUMBER_PARAHEADS</strong> with no argument. <strong>Mom</strong> will number all subsequent paraheads automatically (in ascending order, naturally). <p> If, in addition to numbering paraheads, you also request that <a href="#HEAD_INTRO">heads</a> and <a href="#SUBHEAD_INTRO">subheads</a> be numbered, the head and/or subhead number will be included in the parahead number (separated by a period [dot]). <p> Should you wish to stop parahead numbering, invoke <strong>NUMBER_PARAHEADS</strong> with any argument (<strong>OFF, QUIT, END, X</strong>...). Parahead numbering will cease. <p> <a name="RESET_PARAHEAD_NUMBER"><h3><u>4. Reset head numbering -- RESET_PARAHEAD_NUMBER</u></h3></a> <p> Should you wish to reset the parahead number to "1", invoke <strong>RESET_PARAHEAD_NUMBER</strong> with no argument. If, for some reason, you want <strong>mom</strong> to use a parahead number that is not the next in ascending order (i.e. the last parahead number + 1), invoke <strong>RESET_PARAHEAD_NUMBER</strong> with the number you want, e.g. <p> <pre> .RESET_PARAHEAD_NUMBER 7 </pre> Your next parahead will be numbered "7" and subsequent paraheads will be numbered in ascending order from "7". <p> <hr> <!====================================================================> <a name="LINEBREAK_INTRO"><h2><u>Author linebreaks</u></h2></a> <ul> <li><a href="#LINEBREAK">Tag: LINEBREAK</a> <li><a href="#LINEBREAK_CHAR">Linebreak character control macro</a> </ul> <p> By default, <strong>mom</strong> marks <a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a> with three centred asterisks. You can change this behaviour with the linebreak character <a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>. <p> <!---LINEBREAK---> <hr width="66%" align="left"> <p> <a name="LINEBREAK"> Macro: <strong>LINEBREAK</strong> </a> <p> <strong>LINEBREAK</strong> takes no arguments. Simply invoke it (on a line by itself, of course) whenever you want to insert an author linebreak. The appearance of the linebreak is controlled by the <a href="#LINEBREAK_CHAR">LINEBREAK_CHAR</a> macro. <h3><u>Linebreak character control macro</u></h3> <p> <a name="LINEBREAK_CHAR"> Macro: <strong>LINEBREAK_CHAR</strong> <var>[ <character> ] [ <iterations> [ <vertical adjustment> ] ]</var> </a> <br> <em>*The third optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>. <p> <strong>LINEBREAK_CHAR</strong> determines what <strong>mom</strong> prints when <strong>LINEBREAK</strong> is invoked. It takes 3 optional arguments: the character you want deposited at the line break, the number of times you want the character repeated, and a vertical adjustment factor. <p> The first argument is any legal groff character (e.g. <kbd>*</kbd> [an asterisk], <kbd>\(dg</kbd> [a dagger], <kbd>\f(ZD\N'141\fP</kbd> [an arbitrary character from Zapf Dingbats], <kbd>\l'4P'</kbd> [a 4-pica long rule]). <strong>Mom</strong> sets the character centred on the current line length. (See "man groff_char" for a list of all legal groff characters.) <p> The second argument is the number of times to repeat the character. <p> The third argument is a +|- value by which to raise (+) or lower (-) the character in order to make it appear visually centred between sections of text. This lets you make vertical adjustments to characters that don't sit on the <a href="definitions.html#TERMS_BASELINE">baseline</a> (such as asterisks). The argument must be preceded by a plus or minus sign, and must include a unit of measure. <p> If you enter <strong>LINEBREAK_CHAR</strong> with no arguments, sections of text will be separated by two blank lines when you invoke <strong>LINEBREAK</strong>. <p> <strong>Mom</strong>'s default for <strong>LINEBREAK_CHAR</strong> is <p> <pre> .LINEBREAK_CHAR * 3 -3p </pre> i.e. three asterisks, lowered 3 points from their normal vertical position (for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>; the vertical adjustment is -2 points for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>). <h3><u>Linebreak colour control macro</u></h3> <p> <a name="LINEBREAK_COLOR"> Macro: <strong>LINEBREAK_COLOR</strong> <var><color name></var> </a> <p> To change the colour of the linebreak character(s), simply invoke <strong>LINBREAK_COLOR</strong> with the name of a pre-defined (or "initialized") colour. <br> <hr> <!====================================================================> <a name="QUOTE_INTRO"><h2><u>Quotes (line for line)</u></h2></a> <ul> <li><a href="#QUOTE">Tag: QUOTE</a> <li><a href="#QUOTE_CONTROL">Quote control macros</a> </ul> <p> <a href="definitions.html#TERMS_QUOTE">Quotes</a> are always set in <a href="definitions.html#TERMS_NOFILL">nofill mode</a>, flush left. This permits entering quotes on a line for line basis in your text editor and have them come out the same way on output copy. (See <a href="#BLOCKQUOTE_INTRO">Blockquotes</a> for how quotes, in the present sense, differ from longer passages of cited text.) <p> Since <strong>mom</strong> originally came into being to serve the needs of creative writers (i.e. novelists, short story writers, etc. -- not to cast aspersions on the creativity of mathematicians and programmers), she sets quotes in italics <a href="docprocessing.html#PRINTSTYLE">(PRINTSTYLE TYPESET)</a> or underlined <a href="docprocessing.html#PRINTSTYLE">(PRINTSTYLE TYPEWRITE)</a>, indented from the left margin. Obviously, she's thinking "quotes from poetry or song lyrics", but with the <a href="#QUOTE_CONTROL">quote control macros</a> you can change her defaults so <strong>QUOTE</strong> serves other needs, e.g. entering verbatim snippets of programming code, command line instructions, and so on. (See the <a href="#QUOTE_TIP">tip</a> below for suggestions about including programming code snippets in documents.) <p> <a name="QUOTE_SPACING"></a> Besides indenting quotes, <strong>mom</strong> further sets them off from <a href="definitions.html#TERMS_RUNNING">running text</a> with a small amount of vertical whitespace top and bottom. In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, this is always one full linespace. In <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, it's 1/2 of the prevailing <a href="definitions.html#TERMS_LEADING">leading</a> if the quote fits fully on the page (i.e. with running text above and below it), otherwise it's a full linespace either above or below as is necessary to balance the page to the bottom margin. This behaviour can be changed with the control macro <a href="#ALWAYS_FULLSPACE_QUOTES">ALWAYS_FULLSPACE_QUOTES</a>. <p> <strong>NOTE:</strong> <strong>ALWAYS_FULLSPACE_QUOTES</strong> applies to both <a href="#QUOTE">QUOTE</a> and <a href="#BLOCKQUOTE">BLOCKQUOTE</a>, as does the control macro <a href="#QUOTE_INDENT">QUOTE_INDENT</a>. <p> <a name="QUOTE_TIP"><strong>TIP:</strong></a> If you want to include snippets of programming code in <strong>mom</strong> documents, you may come acropper of the fact that groff (and <strong>mom</strong>'s) escape character is the backslash. In order for <strong>mom</strong> not to interpret backslashes that occur in code snippets as escapes, you have to tell <strong>mom</strong> that the backslash character is (temporarily) no longer the escape character. The easiest way to do this is to set the escape character to something else for the duration of the code snippet. You accomplish this with <strong>ESC_CHAR</strong>, like this: <p> <pre> .ESC_CHAR c </pre> where "c", above, is the alternate escape character (which should be a character that does not appear in the code). To set the escape character back to the backslash, simply invoke <strong>.ESC_CHAR</strong> by itself (i.e. with no argument). <p> Because <strong>mom</strong>, by default, sets the text after <strong>.QUOTE</strong> in italic (for <strong>PRINTSTYLE TYPESET</strong>) or underlined (for <strong>PRINTSTYLE TYPEWRITE</strong>), you'll want to change that behaviour as well. Therefore, a recipe for setting verbatim code snippets using <strong>QUOTE</strong> could be (assuming you want a fixed width font like Courier): <p> <pre> \# You only need the first two lines before the first invocation \# of QUOTE. They stay in effect for all subsequent invocations. \# .QUOTE_FONT CR \" Set quote font to Courier roman .UNDERLINE_QUOTES OFF \" Don't underline quotes in TYPEWRITE .QUOTE .ESC_CHAR ^ \" Change escape character to ^ <code snippet> .ESC_CHAR \" Restore escape character to \ .QUOTE OFF </pre> <!---QUOTE---> <hr width="66%" align="left"> <p> <a name="QUOTE"> Macro: <strong>QUOTE</strong> <var>toggle</var> </a> <p> <strong>QUOTE</strong> is a toggle macro. To begin a section of quoted text, invoke it with no argument, then type in your quote. When you're finished, invoke <strong>QUOTE</strong> with any argument (e.g. OFF, END, X, Q...) to turn it off. Example: <p> <pre> .QUOTE Nymphomaniacal Jill Used a dynamite stick for a thrill They found her vagina In North Carolina And bits of her tits in Brazil. .QUOTE END </pre> <a name="QUOTE_CONTROL"><h3><u>Quote control macros</u></h3></a> <ol> <li><a href="#QUOTE_GENERAL">Family/font/size/colour/indent</a> <li><a href="#ALWAYS_FULLSPACE_QUOTES">Spacing above and below (typeset only)</a> <li><a href="#UNDERLINE_QUOTES">Underline quotes (typewrite only)</a> <li><a href="#BREAK_QUOTE">Manually break a footnoted quote that crosses pages/columns</a> </ol> <p> <a name="QUOTE_GENERAL"><h3><u>1. Family/font/size/indent</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .QUOTE_FAMILY default = prevailing document family; default is Times Roman .QUOTE_FONT default = italic .QUOTE_SIZE default = +0 (i.e. same size as paragraph text) .QUOTE_COLOR default = black <a name="QUOTE_INDENT">.QUOTE_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite)</a> (note that this macro also sets the indents (left and right) for blockquotes) </pre> <a name="ALWAYS_FULLSPACE_QUOTES"><h3><u>2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)</u></h3></a> <p> If you'd like <strong>mom</strong> always to put a full linespace above and below quotes, invoke <strong>.ALWAYS_FULLSPACE_QUOTES</strong> with no argument. If you wish to restore <strong>mom</strong>'s default behaviour regarding the spacing of quotes (see <a href="#QUOTE_SPACING">above</a>), invoke the macro with any argument (<strong>OFF, QUIT, END, X</strong>...) <p> <strong>NOTE:</strong> This macro also sets <strong>mom</strong>'s spacing policy for <a href="#BLOCKQUOTE_INTRO">blockquotes</a>. <p> <a name="UNDERLINE_QUOTES"><h3><u>3. Underlining -- UNDERLINE_QUOTES (typewrite only)</u></h3></a> <p> By default in <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, <strong>mom</strong> underlines quotes. If you'd rather she didn't, invoke <strong>.UNDERLINE_QUOTES</strong> with any argument (<strong>OFF, QUIT, END, X</strong>...) to disable the feature. Invoke it without an argument to restore <strong>mom</strong>'s default underlining of quotes. <p> If you not only wish that <strong>mom</strong> not underline quotes, but also that she set them in italic, you must follow each instance of <strong>QUOTE</strong> with the typesetting macro <a href="typesetting.html#FONT">FT I</a>. Furthermore, since <strong>mom</strong> underlines all instances of italics by default in <strong>PRINTSTYLE TYPEWRITE</strong>, you must also make sure that <strong>ITALIC_MEANS_ITALIC</strong> is enabled (see <a href="docprocessing.html#TYPEWRITE_CONTROL">PRINTSTYLE TYPEWRITE control macros</a>). <p> <a name="BREAK_QUOTE"><h3><u>4. Manually break a footnoted quote -- BREAK_QUOTE</u></h3></a> <p> Exceptionally, a quote or blockquote containing a footnote may cross a page or column. When this happens, the footnote marker may not be correct for its position relative to other footnotes on the page, and the footnote itself may appear on the wrong page or at the bottom of the wrong column. When this happens, study your output to determine the precise point at which the quote breaks (or at which you want it to break), and add <code>.BREAK_QUOTE</code> on a line by itself afterwards. No other intervention is required, and the footnote(s) will be marked correctly and appear on the correct page. <p> <strong>BREAK_QUOTE</strong> may be used with both quotes and blockquotes, and hence is aliased as <strong>BREAK_BLOCKQUOTE, BREAK_CITATION</strong> and <strong>BREAK_CITE</strong>. <p> <hr> <!====================================================================> <a name="BLOCKQUOTE_INTRO"><h2><u>Blockquotes (cited passages)</u></h2></a> <ul> <li><a href="#BLOCKQUOTE">Tag: BLOCKQUOTE (aliases: CITE, CITATION)</a> <li><a href="#BLOCKQUOTE_CONTROL">BLOCKQUOTE control macros</a> </ul> <p> <strong>BLOCKQUOTES</strong> are used to cite passages from another author's work. So that they stand out well from <a href="definitions.html#TERMS_RUNNING">running text</a>, <strong>mom</strong> indents them from both the left and right margins and sets them in a different point size <a href="docprocessing.html#PRINTSTYLE">(PRINTSTYLE TYPESET</a> only). <a href="definitions.html#TERMS_OUTPUTLINE">Output lines</a> are <a href="definitions.html#TERMS_FILLED">filled</a>, and, by default, <a href="definitions.html#TERMS_QUAD">quadded</a> left. <p> Besides indenting blockquotes, <strong>mom</strong> further sets them off from running text with a small amount of vertical whitespace top and bottom. (See <a href="#QUOTE_SPACING">above</a> for a complete explanation of how this is managed, and how to control it.) <p> You may notice that <strong>BLOCKQUOTE</strong> has no macro to control <a href="definitions.html#TERMS_LEADING">leading</a>, although you can change the point size. There are Very Good Reasons for this. If you can't live with the limitation, change the leading of blockquotes (after invoking the tag) with <a href="typesetting.html#LS">LS</a>, but know that there will be Bottom Margin Consequences unless you use the <a href="docprocessing.html#SHIM">SHIM</a> macro after you turn the blockquote off. <p> <!---BLOCKQUOTE---> <hr width="66%" align="left"> <p> <a name="BLOCKQUOTE"> Macro: <strong>BLOCKQUOTE</strong> <var>toggle</var> <br> Aliases: <strong>CITE, CITATION</strong> </a> <p> <strong>BLOCKQUOTE</strong> is a toggle macro. To begin a cited passage, invoke the tag with no argument, then type in your quote. When you're finished, invoke <strong>BLOCKQUOTE</strong> with any argument (e.g. OFF, END, X, Q...) to turn it off. Example: <p> <pre> .BLOCKQUOTE Redefining the role of the United States from enablers to keep the peace to enablers to keep the peace from peacekeepers is going to be an assignment. .RIGHT \(emGeorge W. Bush .BLOCKQUOTE END </pre> If the cited passage runs to more than one paragraph, you MUST introduce each paragraph -- <em>including the first!</em> -- with <a href="#PP">PP</a>. <p> <strong>NOTE:</strong> The aliases <strong>CITE</strong> and <strong>CITATION</strong> may be used in place of the <strong>BLOCKQUOTE</strong> tag, but "CITE" and "CITATION" must not be used to replace "BLOCKQUOTE" in any of the tag's control macros. <a name="BLOCKQUOTE_CONTROL"><h3><u>Blockquote control macros</u></h3></a> <ol> <li><a href="#BLOCKQUOTE_GENERAL">Family/font/size/colour/indent</a> <li><a href="#ALWAYS_FULLSPACE_QUOTES">Spacing above and below (typeset only)</a> <li><a href="#BREAK_QUOTE">Manually break a footnoted blockquote that crosses pages/columns</a> </ol> <p> <a name="BLOCKQUOTE_GENERAL"><h3><u>1. Family/font/size/indent</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .BLOCKQUOTE_FAMILY default = prevailing document family; default is Times Roman .BLOCKQUOTE_FONT default = italic .BLOCKQUOTE_SIZE default = -1 (point) .BLOCKQUOTE_COLOR default = black .QUOTE_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite)</a> (note that this macro also sets the left indent for quotes) </pre> <a name="ALWAYS_FULLSPACE_QUOTES"><h3><u>2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)</u></h3></a> <p> If you'd like <strong>mom</strong> always to put a full linespace above and below blockquotes, invoke <strong>.ALWAYS_FULLSPACE_QUOTES</strong> with no argument. If you wish to restore <strong>mom</strong>'s default behaviour regarding the spacing of blockquotes (see <a href="#QUOTE_SPACING">above</a>), invoke the macro with any argument (<strong>OFF, QUIT, END, X</strong>...). <p> <strong>NOTE:</strong> This macro also sets <strong>mom</strong>'s spacing policy for <a href="#QUOTE_INTRO">quotes</a>. <p> <hr> <!====================================================================> <a name="LIST_INTRO"><h2><u>Nested lists</u></h2></a> <ul> <li><a href="#LIST">Tag: LIST</a> <li><a href="#ITEM">Tag: ITEM</a> <li><a href="#LIST_CONTROL">LIST control macros</a> </ul> <p> Lists are points or items of interest or importance that are separated from <a href="definitions.html#TERMS_RUNNING">running text</a> by enumerators. Some typical enumerators are <a href="definitions.html#TERMS_EM">en-dashes</a>, <a href="definitions.html#TERMS_BULLET">bullets</a>, digits and letters. <p> Setting lists with <strong>mom</strong> is easy. First, you initialize a list with the <strong>LIST</strong> macro. Then, for every item in the list, you invoke the macro, <strong>ITEM</strong>, followed by the text of the item. When a list is finished, you exit the list with <strong>LIST OFF</strong> (or <strong>QUIT</strong>, <strong>END</strong>, <strong>X</strong>, etc.) <p> By default <strong>mom</strong> starts each list with the enumerator flush with the left margin of running text that comes before it, like this: <p> <pre> My daily schedule needs organizing. I can't seem to get everything done I want. o an hour's worth of exercise o time to prepare at least one healthy meal per day o reading time o work on mom o writing - changes from publisher - current novel o a couple of hours at the piano </pre> In other words, <strong>mom</strong> does not, by default, indent entire lists. Indenting a list is controlled by the macro, <a href="#"SHIFT_LIST>SHIFT_LIST</a>. (This is a design decision; there are too many instances where a default indent is not desirable.) Equally, <strong>mom</strong> does not add any extra space above or below lists. <p> Lists can be nested (as in the example above). In other words, you can set lists within lists, each with an enumerator (and possibly, indent) of your choosing. In nested lists, each invocation of <strong>LIST OFF</strong> takes you back to the previous depth (or level) of list, with that list's enumerator and indent intact. The final <strong>LIST OFF</strong> exits lists completely and returns you to the left margin of running text. <p> Finally, lists can be used in documents created with either the document processing macros or just the typesetting macros. <p> <!---LIST---> <hr width="66%" align="left"> <p> <a name="LIST"> Macro: <strong>LIST</strong> <var>[ BULLET | DASH | DIGIT | ALPHA | USER ] [ <separator> | <user-defined enumerator> ] [ <off> ]</var></a> <p> Invoked by itself (i.e. with no argument), <strong>LIST</strong> initializes a list (with bullets as the default enumerator). Afterwards, each block of input text preceded by <a href="#ITEM">.ITEM</a>, on a line by itself, is treated as a list item. <p> The optional arguments <strong>BULLET</strong>, <strong>DASH</strong>, <strong>DIGIT</strong> (for Arabic numerals), <strong>ALPHA</strong> (for lowercase letters) and <strong>USER</strong> allow you to say what kind of enumerator you want for a given list. <p> If you choose <strong>DIGIT</strong> or <strong>ALPHA</strong>, you may enter the optional argument <strong>separator</strong> to say what kind of separator you want after the enumerator. The separator can be anything you like. The default for <strong>DIGIT</strong> is a period (dot), like this: <p> <pre> 1. A list item </pre> The default separator for <strong>ALPHA</strong> is a right parenthesis, like this: <p> <pre> a) A list item </pre> If you want digits with a right-parenthesis separator, you'd do <p> <pre> .LIST DIGIT ) .ITEM A list item </pre> which would produce <p> <pre> 1) A list item </pre> <strong>BULLET</strong>, <strong>DASH</strong> and <strong>USER</strong> do not take a separator. <p> <strong>USER</strong> lets you make up your own enumerator. For example, if you want a list enumerated with <strong>=></strong>, <p> <pre> .LIST USER => .ITEM A list item </pre> will produce <p> <pre> => A list item </pre> If the argument to <strong>USER</strong> contains spaces, you must enclose the argument in double quotes. <p> Any single argument other than <strong>BULLET</strong>, <strong>DASH</strong>, <strong>DIGIT</strong>, <strong>ALPHA</strong> or <strong>USER</strong> takes you out of the current list. If you are at the first list-level (or -depth), <strong>mom</strong> returns you to the left margin of running text. Any indents that were in effect prior to setting the list are fully restored. If you are in a nested list, <strong>mom</strong> moves you back one list-level and restores the enumerator, separator and indent appropriate to that level. <p> Each invocation of <strong>LIST</strong> must be matched by a corresponding <strong>LIST OFF</strong> in order to fully exit lists. For example, <p> <pre> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. o List item in level 1 o List item in level 1 - List item in level 2 - List item in level 2 Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. </pre> is created like this: <p> <pre> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. .LIST BULLET .ITEM List item in level 1 .ITEM List item in level 1 .LIST DASH .ITEM List item in level 2 .ITEM List item in level 2 .LIST OFF \" Turn level 2 list off .LIST OFF \" Turn level 1 list off Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. </pre> <strong>NOTE:</strong> Every time you invoke <strong>LIST</strong> to start a list (as opposed to exiting one), you must supply an enumerator (and optionally, a separator) for the list, unless you want <strong>mom</strong>'s default enumerator, which is a bullet. Within nested lists, <strong>mom</strong> stores the enumerator, separator and indent for any list you return <em>backwards</em> to (i.e. with <strong>LIST OFF</strong>), but does not store any information for lists you move <em>forward</em> to. <p> <hr width="33%" align="left"> <p> <a name="ITEM"> Macro: <strong>ITEM</strong> <p> After you've initialized a list with <a href="#LIST">LIST</a>, precede each item you want in the list with <strong>ITEM</strong>. <strong>Mom</strong> takes care of everything else with respect to setting the item appropriate to the list you're in. <p> In document processing, it is legal to have list items that contain multiple paragraphs. Simply issue a <a href="#PP">PP</a> request for each paragraph <em>following</em> the first item. I.e., don't do this: <p> <pre> .ITEM .PP Some text... .PP A second paragraph of text </pre> but rather <p> <pre> .ITEM Some text... .PP A second paragraph of text </pre> <hr width="33%" align="left"> <a name="LIST_CONTROL"><h3><u>List control macros</u></h3></a> <ol> <li><a href="#SHIFT_LIST">Indenting lists (SHIFT_LIST)</a> <li><a href="#RESET_LIST">Resetting an initialized list's enumerator (RESET_LIST)</a> <li><a href="#PAD_LIST_DIGITS">Padding digit enumerators (PAD_LIST_DIGITS)</a> </ol> <a name="SHIFT_LIST"><h3><u>1. Indenting lists -- SHIFT_LIST</u></h3></a> <p> If you want a list to be indented to the right of running text, or indented to the right of a current list, use the macro <strong>SHIFT_LIST</strong> immediately after <a href="#LIST">LIST</a>. <strong>SHIFT_LIST</strong> takes just one argument: the amount by which you want the list shifted to the right. The argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, <p> <strong>SHIFT_LIST</strong> applies <em>only</em> to the list you just initialized with <strong>LIST</strong>. It does not carry over from one invocation of <strong>LIST</strong> to the next. However, the indent remains in effect when you <em>return</em> to a list level in a nested list. <p> For example, if you want a 2-level list, with each list indented to the right by 18 <a href="definitions.html#TERMS_PICASPOINTS">points</a>, <p> <pre> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. .LIST \" List 1 .SHIFT_LIST 18p \" Indent 18 points right of running text .ITEM List 1 item .ITEM List 1 item .LIST DASH \" List 2 .SHIFT_LIST 18p \" Indent 18 points right of list 1 .ITEM List 2 item .ITEM List 2 item .LIST OFF \" Move back to list 1 .ITEM List 1 item .ITEM List 1 item .LIST OFF \" Exit lists Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. </pre> produces (approximately) <p> <pre> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. o List 1 item o List 1 item - List 2 item - List 2 item o List 1 item o List 1 item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. </pre> <a name="RESET_LIST"><h3><u>2. Resetting an initialized list's enumerator -- RESET_LIST</u></h3></a> <p> In nested lists, if your choice of list enumerator for a given level of list is either <strong>DIGIT</strong> or <strong>ALPHA</strong>, you may sometimes want to reset the list's enumerator back to "1" or "a" when you return, within the nest, to that list. Consider the following: <p> <pre> Things to do religiously each and every day: 1. Take care of the dog a) walk every day b) brush once a week - trim around the eyes every fourth brushing - don't forget to check nails 2. Feed the cat a) soft food on Mon., Wed. and Fri. b) dry food on Tues., Thurs. and Sat. c) canned tuna on Sunday </pre> Normally, within a nested list, when you return to an alpha- or digit-enumerated list, the enumerator continues incrementing from where it left off. That means, in the example above, the normal state of affairs for the alpha'ed list under "2. Feed the cat" would be c), d) and e). The solution, in such a case, is simply to reset the enumerator --before <strong>ITEM</strong>!-- with the macro, <strong>RESET_LIST</strong>. <p> <strong>RESET_LIST</strong> does exactly what it says -- resets the list -- and doesn't take any arguments. <p> <a name="PAD_LIST_DIGITS"><h3><u>3. Padding digit enumerators (PAD_LIST_DIGITS)</a></u></h3></a> <p> When your choice of enumerators is <strong>DIGIT</strong> AND the number of items in the list exceeds nine (9), you have to make a design decision: should <strong>mom</strong> leave room for the extra numeral in two-numeral digits to the right or the left of the single-numeral digits? If you want the extra space to the right, just invoke the macro, <strong>PAD_LIST_DIGITS</strong> by itself. This will produce something like <p> <pre> 8. List item 9. List item 10. List item </pre> If you want the extra space to the left, invoke <strong>PAD_LIST_DIGITS</strong> with the single argument, <strong>LEFT</strong>, which will produce <p> <pre> 8. List item 9. List item 10. List item </pre> Of course, if the number of items in the list is less than ten (10), there's no need for <strong>PAD_LIST_DIGITS</strong>. <p> <hr> <!====================================================================> <a name="FOOTNOTE_INTRO"><h2><u>Footnotes</u></h2></a> <ul> <li><a href="#FOOTNOTE_BEHAVIOUR">Footnote behaviour</a> <li><a href="#FOOTNOTE">Tag: FOOTNOTE</a> <li><a href="#FOOTNOTE_CONTROL">FOOTNOTE control macros</a> </ul> <p> For something so complex behind the scenes, footnotes are easy to use. You just type, for example <p> <a name="FOOTNOTE_EXAMPLE"></a> <pre> ...the doctrines of Identity as urged by Schelling\c .FOOTNOTE <footnote about who the hell is Schelling> .FOOTNOTE OFF were generally the points of discussion presenting the most of beauty to the imaginative Morella. </pre> and be done with it. (Note the obligatory use of the <strong>\c</strong> <a href="definitions.html#TERMS_INLINES">inline escape</a>.) <strong>Mom</strong> takes care of everything: putting footnote markers in the body of the document, keeping track of how many footnotes are on the page, identifying the footnotes themselves appropriately, balancing them properly with the bottom margin, deferring footnotes that don't fit on the page... Even if you're using <a href="columns.html#COLUMNS">COLUMNS</a>, <strong>mom</strong> knows what to do, and Does The Right Thing. <p> Footnotes can be sly little beasts, though. If you're writing a document that's footnote-heavy, you might want to read the following. <p> <a name="FOOTNOTE_BEHAVIOUR"><h3><u>Footnote behaviour</u></h3></a> <p> By default, <strong>mom</strong> marks footnotes with alternating stars (asterisks) and daggers. The first footnote gets a star, the second a dagger, the third two stars, the fourth two daggers, etc. If you prefer numbered footnotes, rest assured <strong>mom</strong> is happy to oblige. <p> A small amount of vertical whitespace and a short horizontal rule separate footnotes from the document body. The amount of whitespace varies slightly from page to page depending on the number of lines in the footnotes. <strong>Mom</strong> tries for a nice balance between too little whitespace and too much, but when push comes to shove, she'll opt for ample over cramped. The last lines of footnotes are always flush with the document's bottom margin. <p> If <strong>mom</strong> sees that a portion of a footnote cannot be fit on its page, she carries that portion over to the next page. If an entire footnote can't be fitted on its page (i.e. <strong>FOOTNOTE</strong> has been called too close to the bottom), she defers the footnote to the next page, but sets it with the appropriate marker from the previous page. <p> In the unfortunate happenstance that a deferred footnote is the only footnote on its page (i.e. it's marked in the document body with a star) and the page it's deferred to has its own footnotes, <strong>mom</strong> separates the deferred footnote from the page's proper footnote(s) with a blank line. This avoids the confusion that might result from readers seeing two footnote entries on the same page identified by a single star (or the number 1 if you've requested numbered footnotes that begin at 1 on every page). The blank line makes it clear that the first footnote entry belongs to the previous page. <p> In the circumstance where a deferred footnote is not the only one on its page, and is consequently marked by something other than a single star, there's no confusion and <strong>mom</strong> doesn't bother with the blank line. (By convention, the first footnote on a page is always marked with a single star, so if readers see, say, a dagger or two stars marking the first footnote entry, they'll know the entry belongs to the previous page). <p> Obviously, deferred footnotes aren't an issue if you request numbered footnotes that increase incrementally throughout the whole document -- yet another convenience <strong>mom</strong> has thought of. <p> Exceptionally, you may encounter problems with footnotes inside quotes and blockquotes that cross a page or column. See <a href="#BREAK_QUOTE">BREAK_QUOTE</a> for a solution. <p> <!---FOOTNOTE---> <hr width="66%" align="left"> <p> <a name="FOOTNOTE"> Macro: <strong>FOOTNOTE</strong> <var><toggle> | INDENT LEFT | RIGHT | BOTH <indent value></var> <br> <em>*See <a href="#FOOTNOTE_NOTE">HYPER-IMPORTANT NOTE</a>!!!</em> <br> <indent value> requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> </a> <p> <strong>FOOTNOTE</strong> is a toggle macro, therefore invoking it on a line by itself allows you to enter a footnote in the body of a document. Invoking it with any argument <em>other than INDENT</em> (i.e. <strong>OFF, QUIT, END, X...</strong>) tells <strong>mom</strong> you're finished. <p> Footnotes are the only element of <a href="definitions.html#TERMS_RUNNING">running text</a> that are not affected by the typesetting <a href="typesetting.html#INDENTS">indent macros</a>. In the unlikely event that you want a page's footnotes to line up with a running indent, invoke <strong>FOOTNOTE</strong> with the <strong>INDENT</strong> argument and pass it an indent direction and indent value. <strong>L, R,</strong> and <strong>B</strong> may be used in place of <strong>LEFT, RIGHT,</strong> and <strong>BOTH</strong>. <strong>FOOTNOTE</strong> must be invoked with <strong>INDENT</strong> for every footnote you want indented; <strong>mom</strong> does not save any footnote indent information from invocation to invocation. <p> <strong>NOTE:</strong> If a footnote runs to more than one paragraph(!), <strong>DO NOT</strong> begin the footnote with the <a href="#PP">PP</a> tag. Use <strong>PP</strong> only to introduce subsequent paragraphs. <p> <a name="FOOTNOTE_NOTE"><strong>HYPER-IMPORTANT NOTE:</strong></a> The final word on the <a href="definitions.html#TERMS_INPUTLINE">input line</a> that comes immediately before <strong>FOOTNOTE</strong> MUST terminate with a <a href="typesetting.html#JOIN">\c</a> inline escape. Otherwise, the footnote marker for the word won't be attached to it (i.e. <strong>mom</strong> will insert a word space between the word and the marker). See the <a href="#FOOTNOTE_EXAMPLE">footnote example</a> above. <p> <a name="FOOTNOTE_CONTROL"><h3><u>Footnote control macros</u></h3></a> <ol> <li><a href="#FOOTNOTE_GENERAL">Family/font/size/colour/lead/quad</a> <li><a href="#FOOTNOTE_MARKERS">Footnote markers</a> -- on or off <li><a href="#FOOTNOTE_MARKER_STYLE">Footnote marker style</a> -- star+dagger or numbered <li><a href="#RESET_FOOTNOTE_NUMBER">Reset footnote number</a> -- set footnote marker number to 1 <li><a href="#FOOTNOTE_RULE">Footnote rule</a> -- on or off <li><a href="#FOOTNOTE_RULE_LENGTH">Footnote rule length</a> -- length of footnote separator rule <li><a href="#FOOTNOTE_RULE_ADJ">Adjust vertical position of footnote separator rule</a> </ol> <p> <a name="FOOTNOTE_GENERAL"><h3><u>1. Family/font/size/quad/lead</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .FOOTNOTE_FAMILY default = prevailing document family; default is Times Roman .FOOTNOTE_FONT default = roman .FOOTNOTE_SIZE default = -2 (points) .FOOTNOTE_COLOR default = black .FOOTNOTE_AUTOLEAD default = 2 points (typeset); single-spaced (typewrite) .FOOTNOTE_QUAD default = same as paragraphs </pre> <a name="FOOTNOTE_MARKERS"><h3><u>2. Footnote markers -- FOOTNOTE_MARKERS</u></h3></a> <p> If you don't want footnote markers, in either the body of the document or beside footnote entries themselves, toggle them off with <strong>.FOOTNOTE_MARKERS OFF</strong> (or <strong>END, QUIT, X</strong>...). This means, of course, that you'll have to roll your own. If you want them back on, invoke <strong>.FOOTNOTE_MARKERS</strong> with no argument. Footnote markers are on by default. <p> <a name="FOOTNOTE_MARKER_STYLE"><h3><u>3. Footnote marker style -- FOOTNOTE_MARKER_STYLE</u></h3></a> <p> <strong>Mom</strong> gives you two choices of footnote marker style: star+dagger (see <a href="#FOOTNOTE_BEHAVIOUR">footnote behaviour</a> above), or numbered. <p> <strong>.FOOTNOTE_MARKER_STYLE STAR</strong> gives you star+dagger (the default). There is a limit of 10 footnotes per page with this style. <p> <strong>.FOOTNOTE_MARKER_STYLE NUMBER</strong> gives you superscript numbers, both in the document body and in the footnote entries themselves. By default, footnote numbers increase incrementally (prev. footnote number + 1) throughout the whole document. You can ask <strong>mom</strong> to start each page's footnote numbers at 1 with <strong>.RESET_FOOTNOTE_NUMBER</strong> (see below). <p> <a name="RESET_FOOTNOTE_NUMBER"><h3><u>4. Reset footnote number -- RESET FOOTNOTE NUMBER</u></h3></a> <p> <strong>.RESET_FOOTNOTE_NUMBER</strong>, by itself, resets footnote numbering so that the next footnote you enter is numbered 1. <p> <strong>.RESET_FOOTNOTE_NUMBER PAGE</strong> tells <strong>mom</strong> to start every page's footnote numbering at 1. <p> <a name="FOOTNOTE_RULE"><h3><u>5. Footnote rule -- FOOTNOTE_RULE</u></h3></a> <p> If you don't want a footnote separator rule, toggle it off with <strong>.FOOTNOTE_RULE OFF</strong> (or <strong>END, QUIT, X</strong>...). Toggle it back on by invoking <strong>.FOOTNOTE_RULE</strong> with no argument. The default is to print the rule. <p> <a name="FOOTNOTE_RULE_LENGTH"><h3><u>6. Footnote rule length -- FOOTNOTE_RULE_LENGTH</u></h3></a> <p> If you want to change the length of the footnote separator rule, invoke <strong>.FOOTNOTE_RULE_LENGTH</strong> with a length, like this, <p> <pre> .FOOTNOTE_RULE_LENGTH 1i </pre> which sets the length to 1 inch. Note that a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> is required. The default is 4 <a href="definitions.html#TERMS_PICASPOINTS">picas</a> for both <a href="docprocessing.html#PRINTSTYLE">printstyles</a>. <p> <a name="FOOTNOTE_RULE_ADJ"><h3><u>7. Adjust vertical position of footnote separator rule -- FOOTNOTE_RULE_ADJ</u></h3></a> <p> The footnote separator rule is actually a baseline rule that falls on the <a href="definitions.html#TERMS_BASELINE">baseline</a> of the first line of a page's footnotes. By default, <strong>mom</strong> raises the rule 3 <a href="definitions.html#TERMS_PICASPOINTS">points</a> from the baseline so that the separator and the footnotes don't look jammed together. If you'd prefer a different vertical adjustment, invoke <strong>.FOOTNOTE_RULE_ADJ</strong> with the amount you'd like. For example <p> <pre> .FOOTNOTE_RULE_ADJ 4.25p </pre> raises the rule by 4-1/4 points. Note that you can only raise the rule, not lower it. A <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> is required. <p> <hr> <!====================================================================> <a name="FINIS_INTRO"><h2><u>Terminate document processing</u></h2></a> <ul> <li><a href="#FINIS">Tag: FINIS</a> <li><a href="#FINIS_STRING">Changing the FINIS string</a> </ul> <p> The use of <strong>FINIS</strong> is optional. If you invoke it (at the end of a document before <a href="#TOC">TOC</a> or <a href="#ENDNOTES">ENDNOTES</a>), <strong>mom</strong> turns off <a href="definitions.html#TERMS_FOOTER">footers</a> (if they're on) and page numbering (if page numbers are at the bottom of the page) and deposits the word END, centred after a blank line, beneath the last line of the document. END is enclosed between <a href="definitions.html#TERMS_EM">em-dashes</a>. <p> If you're writing in a language other than English, you can change what <strong>mom</strong> prints for END with the control macro <strong>FINIS_STRING</strong>. <p> <!---FINIS---> <hr width="66%" align="left"> <p> <a name="FINIS"> Macro: <strong>FINIS</strong> </a> <p> The use of <strong>FINIS</strong> is optional, but if you use it, it should be the last macro you invoke in a document (before <a href="#ENDNOTES">ENDNOTES</a> or <a href="#TOC">TOC</a>). See <a href="#FINIS_INTRO">above</a> for a description of how <strong>FINIS</strong> behaves. <p> <strong>NOTE:</strong> If you don't use <strong>FINIS</strong>, and you don't want <a href="definitions.html#TERMS_FOOTER">footers</a> (if they're on) or a page number at the bottom of the last page of a document, you have to turn them off manually, as the last two lines of your document file, like this: <p> <pre> .FOOTERS OFF .PAGINATE OFF </pre> <a name="FINIS_STRING"><h3><u>Changing the FINIS string</u></h3></a> <p> By default, <strong>FINIS</strong> prints the word END between <a href="definitions.html#TERMS_EM">em-dashes</a>. If you'd like <strong>mom</strong> to print something else between the dashes, use the <strong>FINIS_STRING</strong> macro (anywhere in the document prior to <strong>FINIS</strong>). <p> For example, if your document's in French, you'd do <p> <pre> .FINIS_STRING "FIN" </pre> Double-quotes must enclose the macro's argument. <p> <strong>NOTE:</strong> If you pass <strong>FINIS_STRING</strong> a blank string, i.e. <p> <pre> .FINIS_STRING "" </pre> <strong>mom</strong> will still print the em-dashes if you invoke <strong>FINIS</strong>. This, in effect, produces a short, centred horizontal rule that terminates the document. (In <a href="docprocessing.html.#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, it's a short, dashed line composed of four hyphens.) <a name="FINIS_COLOR"><h3><u>Changing the FINIS colour</u></h3></a> <p> Invoking <strong>FINIS_COLOR</strong> with a pre-defined (or "initalized") color changes the colour of both the FINIS string and the em-dashes that surround it. If you use the <a href="definitions.html#TERMS_INLINE">inline escape</a>, <a href="color.html#COLOR_INLINE">\*[<colorname>]</a>, in the argument passed to <strong>FINIS</strong>, only the text will be in the new colour; the em-dashes will be in the default document colour (usually black). <p> <hr> <!====================================================================> <a name="ENDNOTE_INTRO"><h2><u>Endnotes</u></h2></a> <ul> <li><a href="#ENDNOTE_BEHAVIOUR">Endnote behaviour</a> <ul> <li><a href="#ENDNOTE_SPACING">A Note on Endnote Spacing</a> <li><a href="#ENDNOTE_COLUMNS">Endnotes and columnar documents</a> </ul> <li><a href="#ENDNOTE">Tag: ENDNOTE</a> <li><a href="#ENDNOTES">Macro: ENDNOTES</a> -- tell <strong>mom</strong> to output endnotes <li><a href="#ENDNOTE_CONTROL">ENDNOTES control macros</a> </ul> <p> Embedding endnotes into <strong>mom</strong> documents is accomplished the same way as embedding <a href="#FOOTNOTE_INTRO">footnotes</a>. The example below is identical to the one shown in the <a href="#FOOTNOTE_EXAMPLE">introduction to footnotes</a>, except that <kbd>.FOOTNOTE</kbd> has been replaced with <kbd>.ENDNOTE</kbd>. <p> <a name="ENDNOTE_EXAMPLE"></a> <pre> ...the doctrines of Identity as urged by Schelling\c .ENDNOTE <endnote about who the hell is Schelling> .ENDNOTE OFF were generally the points of discussion presenting the most of beauty to the imaginative Morella. </pre> As with footnotes, note the obligatory use of the <strong>\c</strong> <a href="definitions.html#TERMS_INLINES">inline escape</a>. <p> Endnotes differ from footnotes in two ways (other than the fact that endnotes come at the end of a document whereas footnotes appear in the body of the document): <br> <ol> <li>Endnotes are always numbered incrementally throughout a document. In other words, you don't get a choice of marker styles, as you do with footnotes. <li>Endnotes MUST be output explicitly; <strong>mom</strong> does not output them for you. In <a href="rectoverso.html#COLLATE">collated</a> documents, this allows you to choose whether you want the endnotes to appear at the end of each chapter or section, or grouped together at the very end of the document. </ol> <p> Within endnotes, you may use the document element tags <a href="#PP">PP</a>, <a href="#QUOTE">QUOTE</a> and <a href="#BLOCKQUOTE">BLOCKQUOTE</a>. This provides the flexibility to create endnotes that run to several paragraphs, as well as to embed cited text within endnotes. <p> Should you wish to change the appearance of quotes or blockquotes that appear within endnotes, you may do so with the <a href="#QUOTE_CONTROL">quote control macros</a> or <a href="#BLOCKQUOTE_CONTROL">blockquote control macros</a>. HOWEVER... you must make the changes <em>within</em> each endnote, prior to invoking <strong>QUOTE</strong> or <strong>BLOCKQUOTE</strong>, and undo them prior to terminating the endnote (i.e. before <strong>ENDNOTE OFF</strong>), otherwise the changes will affect subsequent quotes and blockquotes that appear in the document body as well. <p> <a name="ENDNOTE_BEHAVIOUR"><h3><u>Endnote behaviour</u></h3></a> <p> When you output endnotes (with <a href="#ENDNOTES">ENDNOTES</a>), <strong>mom</strong> finishes processing the last page of your document, then breaks to a new page for printing the endnotes. If the document type is <a href="docprocessing.html#DOCTYPE">CHAPTER</a>, the centre part of the <a href="definitions.html#TERMS_HEADER">header</a> (or footer), which, by default, contains a chapter number or title, is removed. <p> By default, <strong>mom</strong> starts the endnotes page with a bold, centred, double-underscored head, "ENDNOTES". Underneath--flush left, bold, and underscored--she prints the document title (or, in the case of chapters, the chapter number or title). She then prints the endnotes. Each endnote is identified by its appropriate number, in bold, right aligned to two placeholders. The text of the endnotes themselves is indented to the right of the numbers. <p> If the endnotes are grouped together at the end of a collated document, each section of the document that contains endnotes is identified by its own unique title (or chapter number or title), bold, flush left, and underscored. <p> Of course, all the defaults, as well as the overall style of the endnotes page, can be changed with the <a href="#ENDNOTE_CONTROL">endnote control macros</a>. The attentive will notice that endnotes have an awful lot of control macros. This is because endnotes are like a mini-document unto themselves, and therefore need not be bound by the style parameters of the body of the document. <p> <a name="ENDNOTE_SPACING"> <h3><u>A Note on Endnote Spacing</u></h3> </a> On the endnotes page(s), each new endnote is separated from the previous endnote by a full line space. This can result in a bottom margin that hangs, and is the one instance, other than the use of <a href="#PP_SPACE">PARA_SPACE</a>, where <strong>mom</strong> allows unequal bottom alignment of pages. Should you wish to correct this, by adding or subtracting small amounts of space between endnotes that appear together on an endnote page, make the adjustment (with <a href="typesetting.html#ALD">ALD</a>, <a href="typesetting.html#RLD">RLD</a> or <a href="typesetting.html#SPACE">SPACE</a>) <em>at the end of each endnote</em> (i.e. just before invoking <a href="#ENDNOTE">ENDNOTE OFF</a>) rather than at the top. <p> <a name="ENDNOTE_COLUMNS"> <h3><u>Endnotes and columnar documents</u></h3> </a> Formerly (pre 1.1.6), there was no way to set a document in columns (see <a href="docprocessing.html#COLUMNS">COLUMNS</a>) and then turn off column mode for endnotes. As of version 1.1.6, you may now do so. See <a href="#ENDNOTES_NO_COLUMNS">ENDNOTES_NO_COLUMNS</a>. <p> <hr> <!---ENDNOTE---> <p> <a name="ENDNOTE"> Macro: <strong>ENDNOTE</strong> <var><toggle></var> <br> <em>*See <a href="#ENDNOTE_NOTE">HYPER-IMPORTANT NOTE</a>!!!</em> </a> <p> <strong>ENDNOTE</strong> is a toggle macro, therefore invoking it on a line by itself allows you to enter an endnote in the body of a document. Invoking it with any other argument (i.e. <strong>OFF, QUIT, END, X...</strong>) tells <strong>mom</strong> that you've finished the endnote. <p> <strong>NOTE:</strong> If an endnote runs to more than one paragraph, <strong>DO NOT</strong> begin the endnote with the <a href="#PP">PP</a> tag. Use <strong>PP</strong> only to introduce subsequent paragraphs. <p> <a name="ENDNOTE_NOTE"><strong>HYPER-IMPORTANT NOTE:</strong></a> The final word on the <a href="definitions.html#TERMS_INPUTLINE">input line</a> that comes immediately before <strong>ENDNOTE</strong> MUST terminate with a <a href="typesetting.html#JOIN">\c</a> inline escape. Otherwise, the endnote number for the word won't be attached to it (i.e. <strong>mom</strong> will insert a word space between the word and the number). See the <a href="#ENDNOTE_EXAMPLE">endnote example</a> above. <p> <!---ENDNOTES---> <hr width="66%" align="left"> <p> <a name="ENDNOTES">Macro: <strong>ENDNOTES</strong></a> <p> Unlike footnotes, which <strong>mom</strong> automatically outputs at the bottom of pages, endnotes must be explicitly output by you, the user. <strong>ENDNOTES</strong>, by itself (i.e. without any argument), is the macro to do this. <p> Typically, you'll use <strong>ENDNOTES</strong> at the end of a document. If it's a single (i.e. not collated) document, <strong>mom</strong> will print the endnotes pertaining to it. If it's a collated document, <strong>mom</strong> will print all the endnotes contained within all sections of the document (typically chapters), appropriately identified and numbered. <p> Should you wish to output the endnotes for each section of a collated document at the ends of the sections (instead of at the very end of the document), simply invoke <strong>ENDNOTES</strong> immediately prior to <a href="rectoverso.html#COLLATE">COLLATE</a>. <strong>Mom</strong> will print the endnotes, identified and numbered appropriately, on a separate page prior to starting the next section of the document. Each subsequent invocation of <strong>ENDNOTES</strong> outputs only those endnotes that <strong>mom</strong> collected after the previous invocation. <p> <hr width="66%" align="left"> <a name="ENDNOTE_CONTROL"><h3><u>Endnote control macros</u></h3></a> <p> Every time you embed an endnote in the body of a document, <strong>mom</strong> collects <em>and processes</em> the endnote for later outputting when you invoke <a href="#ENDNOTES">ENDNOTES</a>. For this reason, endnote control macros should always be invoked prior to the first instance of <a href="#ENDNOTE">ENDNOTE/ENDNOTE OFF</a>. <br> <ol> <li><a href="#ENDNOTES_GENERAL"><strong>General endnotes-pages style control</strong></a> <ul> <li><a href="#ENDNOTE_GENERAL">Base family/font/quad for endnotes-pages</a> <li><a href="#ENDNOTE_PT_SIZE">Base point size for the endnotes-pages</a> <li><a href="#ENDNOTE_LEAD">Leading of endnotes-pages</a> <li><a href="#SINGLESPACE_ENDNOTES">Singlespace endnotes (for TYPEWRITE only)</a> <li><a href="#ENDNOTE_PARA_INDENT">Size of paragraph first line indent in multi-paragraph endnotes</a> <li><a href="#ENDNOTE_PARA_SPACE">Inserting space between paragraphs of multi-paragraph endnotes</a> <li><a href="#ENDNOTES_NO_COLUMNS">Turning off column mode during endnotes output</a> <li>Pagination of endnotes: <ul> <li><a href="#ENDNOTES_PAGENUM_STYLE">Endnotes-pages page numbering style</a> <li><a href="#ENDNOTES_FIRST_PAGENUMBER">Setting the first page number of endnotes pages</a> <li><a href="#ENDNOTES_NO_FIRST_PAGENUM">Omitting a page number on the first page of endnotes</a> </ul> <li><a href="#SUSPEND_PAGINATION">Suspending pagination of endnotes pages</a> </ul> <li><a href="#ENDNOTES_HEADER_CONTROL"><strong>Endnotes-page header/footer control</strong></a> <ul> <li><a href="#ENDNOTES_MODIFY_HDRFTR">Modifying what goes in the endnotes-pages header/footer</a> <li><a href="#ENDNOTES_HDRFTR_CENTER">Enabling a header/footer centre when doctype is CHAPTER</a> <li><a href="#ENDNOTES_ALLOWS_HEADERS">Allow headers on endnotes-pages</a> </ul> <li><a href="#ENDNOTES_MAIN_TITLE"><strong>Endnotes-page head (i.e. the title at the top) control</strong></a> <ul> <li><a href="#ENDNOTE_STRING">Creating/modifying the endnotes-page head</a> <li><a href="#ENDNOTE_STRING_CONTROL">Endnotes-page head control</a> <li><a href="#ENDNOTE_STRING_UNDERSCORE">Endnotes-page head underscoring</a> <li><a href="#ENDNOTE_STRING_CAPS">Endnotes-page head capitalization</a> </ul> <li><a href="#ENDNOTES_DOC_TITLE"><strong>Endnote document-identification title</strong></a> <ul> <li><a href="#ENDNOTE_TITLE">Creating/modifying the endnote document-identification title</a> <li><a href="#ENDNOTE_TITLE_CONTROL">Document-identification title control</a> <li><a href="#ENDNOTE_TITLE_UNDERSCORE">Document-identification title underscoring</a> </ul> <li><a href="#ENDNOTES_NUMBERING"><strong>Endnotes-pages endnote numbering style</strong></a> <ul> <li><a href="#ENDNOTE_NUMBER_CONTROL">Endnotes-pages endnote numbering style control</a> <li><a href="#ENDNOTE_NUMBER_ALIGNMENT">Endnote numbering alignment</a> <ul> <li><a href="#ENDNOTE_NUMBERS_ALIGN_RIGHT">ENDNOTE_NUMBERS_ALIGN_RIGHT</a> <li><a href="#ENDNOTE_NUMBERS_ALIGN_LEFT">ENDNOTE_NUMBERS_ALIGN_LEFT</a> </ul> </ul> </ol> <hr> <a name="ENDNOTES_GENERAL"><h2><u>1. General endnotes page style control</u></h2> <a name="ENDNOTE_GENERAL"><h3><u>*Endnote family/font/quad</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .ENDNOTE_FAMILY default = prevailing document family; default is Times Roman .ENDNOTE_FONT default = roman .ENDNOTE_QUAD default = justified </pre> <!---ENDNOTE_PT_SIZE---> <a name="ENDNOTE_PT_SIZE"><h3><u>*Endnote point size</u></h3></a> <p> Macro: <strong>ENDNOTE_PT_SIZE</strong> <var><base type size of endnotes></var> <p> Unlike most other control macros that deal with size of document elements, <strong>ENDNOTE_PT_SIZE</strong> takes as its argument an absolute value, relative to nothing. Therefore, the argument represents the size of endnote type in <a href="definitions.html#TERMS_PICASPOINTS">points</a>, unless you append an alternative <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. For example, <p> <pre> .ENDNOTE_PT_SIZE 12 </pre> sets the base point size of type on the endnotes page to 12 points, whereas <p> <pre> .ENDNOTE_PT_SIZE .6i </pre> sets the base point size of type on the endnotes page to 1/6 of an inch. <p> The type size set with <strong>ENDNOTE_PT_SIZE</strong> is the size of type used for the text of the endnotes, and forms the basis from which the point size of other endnote page elements is calculated. <p> The default for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> is 12.5 points (the same default size used in the body of the document). <p> <!---ENDNOTE_LEAD---> <a name="ENDNOTE_LEAD"><h3><u>*Endnote lead</u></h3></a> <p> Macro: <strong>ENDNOTE_LEAD</strong> <var><base leading of endnotes> [ ADJUST ] </var> <br> <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> <p> Unlike most other control macros that deal with leading of document elements, <strong>ENDNOTE_LEAD</strong> takes as its argument an absolute value, relative to nothing. Therefore, the argument represents the <a href="definitions.html#TERMS_LEADING">leading</a> of endnotes in <a href="definitions.html#TERMS_PICASPOINTS">points</a> unless you append an alternative <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. For example, <p> <pre> .ENDNOTE_LEAD 14 </pre> sets the base leading of type on the endnotes page to 14 points, whereas <p> <pre> .ENDNOTE_LEAD .5i </pre> sets the base leading of type on the endnotes page to 1/2 inch. <p> If you want the leading of endnotes adjusted to fill the page, pass <strong>ENDNOTE_LEAD</strong> the optional argument <strong>ADJUST</strong>. (See <a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> for an explanation of leading adjustment.) <p> The default for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> is 14 points, adjusted. <p> <strong>NOTE:</strong> Even if you give <strong>mom</strong> a <strong>DOC_LEAD_ADJUST OFF</strong> command, she will still, by default, adjust endnote leading. You MUST enter <strong>ENDNOTE_LEAD <lead></strong> with no <strong>ADJUST</strong> argument to disable this default behaviour. <p> <!---SINGLESPACE_ENDNOTES---> <a name="SINGLESPACE_ENDNOTES"><h3><u>*Singlespace endnotes (TYPEWRITE only)</u></h3></a> <p> Macro: <strong>SINGLESPACE_ENDNOTES</strong> <var><toggle></var> <p> If your <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> is <strong>TYPEWRITE</strong> and you use TYPEWRITE's default double-spacing, endnotes are double-spaced. If your document is single-spaced, endnotes are single-spaced. <p> If, for some reason, you'd prefer that endnotes be single-spaced in an otherwise double-spaced document (including double-spaced <a href="rectoverso.html#COLLATE">collated</a> documents), invoke <strong>SINGLESPACE_ENDNOTES</strong> with no argument. And if, god help you, you want to change endnote single-spacing back to double-spacing for different spacing of endnotes output at the ends of separate documents in a collated document, invoke <strong>SINGLESPACE_ENDNOTES</strong> with any argument (<strong>OFF, QUIT, Q, X</strong>...). <p> <!---ENDNOTE_PARA_INDENT---> <a name="ENDNOTE_PARA_INDENT"><h3><u>*Endnote paragraph indenting</u></h3></a> <p> Macro: <strong>ENDNOTE_PARA_INDENT</strong> <var><amount to indent first line of paragraphs in endnotes></var> <br> <em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> <p> <strong>ENDNOTE_PARA_INDENT</strong> works exactly the same way as <a href="#PARA_INDENT">PARA_INDENT</a>, except that the indent given is the amount by which to indent the first lines of endnote paragraphs, not document body paragraphs. <p> The default is 1.5 <a href="definitions.html#TERMS_EM">ems</a> for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>; 1/2 inch for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>. <p> <strong>NOTE:</strong> The first line of the first paragraph of endnotes (the one attached immediately to the identifying endnote number) is never indented. Only subsequent paragraphs are affected by <strong>ENDNOTE_PARA_INDENT</strong>. <p> <!---ENDNOTE_PARA_SPACE---> <a name="ENDNOTE_PARA_SPACE"><h3><u>*Endnote paragraph spacing</u></h3></a> <p> Macro: <strong>ENDNOTE_PARA_SPACE</strong> <var><toggle></var> <p> <strong>ENDNOTE_PARA_SPACE</strong> works exactly the same way as <a href="#PP_SPACE">PARA_SPACE</a>, except that it inserts a blank line between endnote paragraphs, not document body paragraphs. <p> The default is not to insert a blank line between paragraphs in endnotes. <p> <strong>NOTE:</strong> Each endnote itself is always separated from any previous endnote by a line space. <strong>ENDNOTE_PARA_SPACE</strong> refers only to paragraphs that appear within each discrete endnote. <p> <!---ENDNOTES_NO_COLUMNS---> <a name="ENDNOTES_NO_COLUMNS"><h3><u>*Turning off column mode during endnotes output</u></h3></a> <p> Macro: <strong>ENDNOTES_NO_COLUMNS</strong> <var><toggle></var> <p> By default, if your document is <a href="columns.html#COLUMNS">set in columns</a>, <strong>mom</strong> sets the endnotes in columns, too. However, if your document is set in columns and you'd like the endnotes not to be, just invoke <strong>ENDNOTES_NO_COLUMNS</strong> with no argument. The endnotes pages will be set to the full page measure of your document. <p> If you output endnotes at the end of each document in a <a href="rectoverso.html#COLLATE">collated</a> document set in columns, column mode will automatically be reinstated for each document, even with <strong>ENDNOTES_NO_COLUMNS</strong> turned on. <p> <!---ENDNOTES_PAGENUM_STYLE---> <a name="ENDNOTES_PAGENUM_STYLE"><h3><u>*Endnotes-pages page numbering style</u></h3></a> <p> Macro: <strong>ENDNOTES_PAGENUM_STYLE</strong> <var>DIGIT | ROMAN | roman | ALPHA | alpha</var> <p> Use this macro to set the page numbering style of endnotes pages. The arguments are identical to those for <a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>. The default is <strong>digit</strong>. You may want to change it to, say, <strong>alpha</strong>, which you would do with <p> <pre> .ENDNOTES_PAGENUM_STYLE alpha </pre> <!---ENDNOTES_FIRST_PAGENUMBER---> <a name="ENDNOTES_FIRST_PAGENUMBER"><h3><u>*Setting the first page number of endnotes pages</u></h3></a> <p> Macro: <strong>ENDNOTES_FIRST_PAGENUMBER</strong> <var><page # that appears on page 1 of endnotes></var> <p> Use this macro with caution. If all endnotes for several <a href="rectoverso.html#COLLATE">collated</a> documents are to be output at once, i.e. not at the end of each separate doc, <strong>ENDNOTES_FIRST_PAGENUMBER</strong> tells <strong>mom</strong> what page number to put on the first page of the endnotes. <p> If you set <strong>ENDNOTES_FIRST_PAGENUMBER</strong> in collated documents where the endnotes are output after each separate doc, you have to reset every separate document's first page number after <a href="rectoverso.html#COLLATE">COLLATE</a> and before <a href="docprocessing.html#START">START</a>. <p> <!---ENDNOTES_NO_FIRST_PAGENUN---> <a name="ENDNOTES_NO_FIRST_PAGENUM"><h3><u>*Omitting a page number on the first page of endnotes</u></h3></a> <p> Macro: <strong>ENDNOTES_NO_FIRST_PAGENUM</strong> <var><toggle></var> <p> This macro is for use only if <strong>FOOTERS</strong> are on. It tells <a href="#ENDNOTES">ENDNOTES</a> not to print a page number on the first endnotes page. <strong>Mom</strong>'s default is to print the page number. <p> <!---SUSPEND_PAGINATION---> <a name="SUSPEND_PAGINATION"><h3><u>*Suspending pagination of endnotes pages</u></h3></a> <p> Macro: <strong>SUSPEND_PAGINATION</strong> <br> Macro: <strong>RESTORE_PAGINATION</strong> <p> <strong>SUSPEND_PAGINATION</strong> doesn't take an argument. Invoked immediately prior to <a href="#ENDNOTES">ENDNOTES</a>, it turns off endnotes pages pagination. <strong>Mom</strong> continues, however to increment page numbers silently. <p> To restore normal document pagination after endnotes, invoke <strong>RESTORE_PAGINATION</strong> (again, with no argument) immediately after <strong>ENDNOTES</strong>. <p> <a name="ENDNOTES_HEADER_CONTROL"><h2><u>2. Endnotes-page header/footer control</u></h2></a> <p> <a name="ENDNOTES_MODIFY_HDRFTR"></a> If you wish to modify what appears in the header/footer that appears on endnotes page(s), make the changes before you invoke <a href="#ENDNOTES">ENDNOTES</a>, not afterwards. <p> Except in the case of <a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>, <strong>mom</strong> prints the same header or footer used throughout the document on the endnotes page(s). Chapters get treated differently in that, by default, <strong>mom</strong> does not print the header/footer centre string (normally the chapter number or chapter title.) In most cases, this is what you want. However, should you <em>not</em> want <strong>mom</strong> to remove the centre string from the endnotes page(s) headers/footers, invoke <a href="#ENDNOTES_HDRFTR_CENTER">ENDNOTES_HEADER_CENTER</a> with no argument. <p> An important change you may want to make is to put the word "Endnotes" in the header/footer centre position. To do so, do <p> <pre> .HEADER_CENTER "Endnotes" or .FOOTER_CENTER "Endnotes" </pre> prior to invoking <strong>.ENDNOTES</strong>. If your <a href="docprocessing.html#DOCTYPE">DOCTYPE</a> is <kbd>CHAPTER</kbd>, you must also invoke <a href="#ENDNOTES_HDRFTR_CENTER">ENDNOTES_HEADER_CENTER</a> for the <strong>HEADER_CENTER</strong> to appear. <p> <a name="ENDNOTES_HDRFTR_CENTER"><h3><u>*Endnotes page(s) header/footer centre string</u></h3></a> <p> Macro: <strong>ENDNOTES_HEADER_CENTER</strong> <var>toggle</var> <p> If your <a href="docprocessing.html#DOCTYPE">DOCTYPE</a> is <kbd>CHAPTER</kbd> and you want <strong>mom</strong> to include a centre string in the headers/footers that appear on endnotes pages, invoke <strong>ENDNOTES_HEADER_CENTER</strong> (or <strong>ENDNOTES_FOOTER_CENTER</strong>) with no argument. <strong>Mom</strong>'s default is NOT to print the centre string. <p> If, for some reason, having enabled the header/footer centre string on endnotes pages, you wish to disable it, invoke the same macro with any argument (<strong>OFF, QUIT, Q, X</strong>...). <p> <a name="ENDNOTES_ALLOWS_HEADERS"><h3><u>*Allow headers on endnotes_pages</u></h3></a> <p> Macro: <strong>ENDNOTES_ALLOWS_HEADERS</strong> <var><none> | ALL</var> <p> By default, if <strong>HEADERS</strong> are on, <strong>mom</strong> prints page headers on all endnotes pages except the first. If you don't want her to print headers on endnotes pages, do <p> <pre> .ENDNOTES_ALLOWS_HEADERS OFF </pre> If you want headers on every page <em>including the first</em>, do <p> <pre> .ENDNOTES_ALLOWS_HEADERS ALL </pre> <strong>NOTE:</strong> If <strong>FOOTERS</strong> are on, <strong>mom</strong> prints footers on every endnotes page. This is a style convention. In <strong>mom</strong>, there is no such beast as <strong>ENDNOTES_ALLOWS_FOOTERS OFF</strong>. <p> <a name="ENDNOTES_MAIN_TITLE"><h2><u>3. Endnotes-page first page head (title) control</u></h2> <!---ENDNOTE_STRING---> <a name="ENDNOTE_STRING"><h3><u>*Endnotes-page first page head (title) string</u></h3></a> <p> Macro: <strong>ENDNOTE_STRING</strong> <var>"<head to print at the top of endnotes>"</var> <p> By default, <strong>mom</strong> prints the word "ENDNOTES" as a head at the top of the first page of endnotes. If you want her to print something else, invoke <strong>ENDNOTE_STRING</strong> with the endnotes-page head you want, surrounded by double-quotes. If you don't want a head at the top of the first endnotes-page, invoke <strong>ENDNOTE_STRING</strong> with a blank argument (either two double-quotes side by side -- <kbd>""</kbd> -- or no argument at all). <p> <!---ENDNOTE_STRING_CONTROL---> <a name="ENDNOTE_STRING_CONTROL"><h3><u>*Endnotes-page first page head (title) control</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .ENDNOTE_STRING_FAMILY default = prevailing document family; default is Times Roman .ENDNOTE_STRING_FONT* default = bold .ENDNOTE_STRING_SIZE default = +1 .ENDNOTE_STRING_QUAD default = centred *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) </pre> <!---ENDNOTE_STRING_UNDERSCORE---> <a name="ENDNOTE_STRING_UNDERSCORE"><h3><u>*Endnotes-page head (title) underscoring</h3></u></a> <p> Macro: <strong>ENDNOTE_STRING_UNDERSCORE</strong> <var>toggle | 2</var> <p> Invoked by itself, <strong>ENDNOTE_STRING_UNDERSCORE</strong> will underscore the endnotes-page head. Invoked with the argument 2 (i.e. the digit 2), <strong>ENDNOTE_STRING_UNDERSCORE</strong> will double-underscore the head. Invoked with any other argument, the macro disables underscoring of the head. <p> <strong>Mom</strong>'s default is to double-underscore the head, therefore if you want no underscoring, you must insert <kbd>.ENDNOTE_STRING_UNDERSCORE OFF</kbd> (or <kbd>QUIT, X, NO, NONE,</kbd> etc.) into your document prior to outputting endnotes with <a href="#ENDNOTES">ENDNOTES</a>. <!---ENDNOTE_STRING_CAPS---> <a name="ENDNOTE_STRING_CAPS"><h3><u>*Endnotes-page head (title) automatic capitalization</h3></u></a> <p> Macro: <strong>ENDNOTE_STRING_CAPS</strong> <var>toggle</var> <p> Invoked by itself, <strong>ENDNOTE_STRING_CAPS</strong> will automatically capitalize the endnotes-page head. Invoked with any other argument, the macro disables automatic capitalization of the head. <p> If you're generating a table of contents, you may want the endnotes-pages head string in caps, but the toc entry in caps/lower case. If the argument to <a href="#ENDNOTE_STRING">ENDNOTE_STRING</a> is in caps/lower case and <strong>ENDNOTE_STRING_CAPS</strong> is on, this is exactly what will happen. <p> <strong>Mom</strong>'s default is to capitalize the endnotes-pages head string. <p> <!---ENDNOTE_TITLE---> <a name="ENDNOTES_DOC_TITLE"><h2><u>4. Endnote document-identification title</u></h2> <a name="ENDNOTE_TITLE"><h3><u>*Endnote document-identification title string</u></h3></a> <p> Macro: <strong>ENDNOTE_TITLE</strong> <var>"<title to identify a document in endnotes>"</var> <p> By default, <strong>mom</strong> identifies the document(s) to which endnotes belong by the document title(s) given to the <a href="docprocessing.html#TITLE">TITLE</a> macro. If you'd want her to identify the document(s) another way, just invoke <strong>ENDNOTE_TITLE</strong> with the identifying title you want, surrounded by double-quotes. <p> If you don't want any identifying title, invoke <strong>ENDNOTE_TITLE</strong> with a blank argument (either two double-quotes side by side -- <kbd>""</kbd> -- or no argument at all). This is particularly useful if you have a single (i.e. non-collated) document and find having the document's title included in the endnotes redundant. <p> <!---ENDNOTE_TITLE_CONTROL---> <a name="ENDNOTE_TITLE_CONTROL"><h3><u>*Endnote document-identification title control</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> <pre> .ENDNOTE_TITLE_FAMILY default = prevailing document family; default is Times Roman .ENDNOTE_TITLE_FONT default = bold .ENDNOTE_TITLE_SIZE* default = 0 .ENDNOTE_TITLE_QUAD default = left *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) </pre> <!---ENDNOTE_TITLE_UNDERSCORE---> <a name="ENDNOTE_TITLE_UNDERSCORE"><h3><u>*Endnote document-identification title underscoring</h3></u></a> <p> Macro: <strong>ENDNOTE_TITLE_UNDERSCORE</strong> <var>toggle</var> <p> Invoked by itself, <strong>ENDNOTE_TITLE_UNDERSCORE</strong> will underscore the endnote document-identification title(s). Invoked with any other argument, the macro disables underscoring of the title(s). <p> <strong>Mom</strong>'s default is to underscore the document-identification title, therefore if you want no underscoring, you must insert <kbd>.ENDNOTE_TITLE_UNDERSCORE OFF</kbd> (or <kbd>QUIT, X, NO, NONE,</kbd> etc.) into your document prior to outputting endnotes with <a href="#ENDNOTES">ENDNOTES</a>. <p> <!---ENDNOTE_NUMBERING---> <a name="ENDNOTES_NUMBERING"><h2><u>5. Endnotes-pages endnote numbering style</u></h2> <a name="ENDNOTE_NUMBER_CONTROL"><h3><u>*Endnote numbering style control</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> Please note that the control macros for endnote numbering affect only the numbers that appear on the endnotes pages themselves, not the endnote numbers that appear in the body of the document(s). <p> <pre> .ENDNOTE_NUMBER_FAMILY default = prevailing document family; default is Times Roman .ENDNOTE_NUMBER_FONT default = bold .ENDNOTE_NUMBER_SIZE* default = 0 *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) </pre> <a name="ENDNOTE_NUMBER_ALIGNMENT"><h3><u>*Endnote numbering alignment</u></h3></a> <p> By default, <strong>mom</strong> hangs the numbers on endnotes pages, aligned right to two placeholders, producing this: <p> <a name="ENDNOTE_NUMBERING_ALIGNMENT_EXAMPLE"></a> <pre> 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </pre> The macros to alter this behaviour are <br> <ul> <li><a href="#ENDNOTE_NUMBERS_ALIGN_RIGHT"><strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong></a> <li><a href="#ENDNOTE_NUMBERS_ALIGN_LEFT"><strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong></a> </ul> <br> <hr width="66%" align="left"> <!---ENDNOTE_NUMBERS_ALIGN_RIGHT---> <p> <a name="ENDNOTE_NUMBERS_ALIGN_RIGHT"> Macro: <strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong> <var><number of placeholders></var> </a> <p> <strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong> takes one (non-optional) argument: the number of placeholders to reserve for right alignment of endnote numbers. <p> For example, if you have fewer than ten endnotes, you might want to do <p> <pre> .ENDNOTE_NUMBERS_ALIGN_RIGHT 1 </pre> which would ensure that the endnote numbers hang, but are all flush with the page's left margin. If, god help you, you have over a hundred endnotes, you'd want to do <p> <pre> .ENDNOTE_NUMBERS_ALIGN_RIGHT 3 </pre> to ensure that the numbers hang and are properly right-aligned. <p> <hr width="66%" align="left"> <!---ENDNOTE_NUMBERS_ALIGN_LEFT---> <p> <a name="ENDNOTE_NUMBERS_ALIGN_LEFT"> Macro: <strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong> </a> <p> If you don't want the endnote numbers to hang and right-align, invoke <strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong>, which doesn't require any argument. This disables hanging and right-alignment of endnote numbers, so that the example <a href="#ENDNOTE_NUMBERING_ALIGNMENT_EXAMPLE">above</a> comes out like this: <p> <pre> 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </pre> <hr> <!====================================================================> <a name="TOC_INTRO"><h2><u>Table of contents</u></h2></a> <ul> <li><a href="#TOC_BEHAVIOUR">TOC behaviour</a> <li><a href="#TOC">Macro: TOC</a> -- tell <strong>mom</strong> to output a table of contents <li><a href="#TOC_CONTROL">TOC control macros</a> </ul> <p> Want a table of contents for your document? Easy. Just enter <p> <pre> .TOC </pre> as the very last macro of your document file. <strong>Mom</strong> will have picked up all document titles (in <a href="docprocessing.html#COLLATE">collated</a> documents), all heads, subheads, and paragraph heads, as well as any endnotes pages that have been output, and assigned them the appropriate page number (and page numbering style). Talk about a no-brainer! That said, tables of contents (tocs) have even more control macros than endnotes. As always, the reason for so many control macros is so that if you want to change just about any aspect of the toc's typographic appearance, you can. <strong>Mom</strong> is all about simplicity AND flexibility. <p> <a name="TOC_BEHAVIOUR"><h3><u>TOC behaviour</u></h3></a> <p> When you output a toc (with <a href="#TOC">TOC</a>), <strong>mom</strong> finishes processing the last page of your document, then breaks to a new page for printing the toc. <p> <strong>Mom</strong> follows standard typesetting conventions for tables of contents. To this end, if <a href="headfootpage.html#HEADERS">HEADERS</a> are on for the document, the first page of the toc has no page header, but does have a first page (roman numeral) number, always "1", in the bottom margin. If <a href="headfootpage.html#FOOTERS">FOOTERS</a> are on for the document, the first page has neither a footer, nor a page number in the top margin. (If you absolutely must have a page footer on the first page of the toc, simply invoke <a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a> immediately before <strong>TOC</strong>.) Subsequent toc pages have both page headers or footers and a page number. <p> Entries in the toc are hierarchically indented, as you would expect. By default, each type of entry (e.g. a head or a subhead) is set in a different font as well. If any of heads, subheads or paragraph heads are numbered in the body of the document, they are also numbered in the toc. Head numbering in the toc is NOT concatenated as it is in the body of the document, which would be visually redundant in a toc. <p> Tocs are never set in columns, regardless of whether the rest of the document is. Lastly, if <a href="rectoverso.html#RECTO_VERSO">recto/verso</a> printing is enabled, the toc respects it. This sometimes leads to tocs that begin with the wrong margins, but the margins can be corrected either by outputting a <a href="#BLANK_PAGE">BLANKPAGE</a> or by using the toc control macro <a href="#TOC_RV_SWITCH">TOC_RV_SWITCH</a>. <p> The overall toc <a href="definitions.html#TERMS_FAMILY">family</a>, <a href="definitions.html#TERMS_PS">point size</a> and <a href="definitions.html#TERMS_LEADING">lead</a> can be altered with the toc <a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>, as can the family, <a href="definitions.html#TERMS_FONT">font</a>, point size and indent of each type of toc entry (i.e. title, head, subhead, paragraph head). Furthermore, the page numbering style can be changed, as can the amount of visual space reserved for toc entry page numbers. <p> <!---TOC---> <hr width="66%" align="left"> <p> <a name="TOC">Macro: <strong>TOC</strong></a> <p> If you want a toc, just put <strong>TOC</strong> as the last macro in a document. <strong>Mom</strong> takes care of the rest. <p> <hr width="66%" align="left"> <a name="TOC_CONTROL"><h3><u>TOC control macros</u></h3></a> <p> Toc entries are not actually processed when <strong>mom</strong> collects them, so you can put any toc control macros anywhere you like in your document. Some may prefer to place them at the top of the file. Others may prefer to place them just before outputting the toc. The choice is yours. <br> <ol> <li><a href="#TOC_GENERAL"><strong>General toc page style control</strong></a> <ul> <li><a href="#TOC_FAMILY">Base family for toc pages</a> <li><a href="#TOC_PT_SIZE">Base point size for toc pages</a> <li><a href="#TOC_LEAD">Leading of toc pages</a> </ul> <li><a href="#TOC_PAGENUMBERING"><strong>Toc page numbering</strong></a> <ul> <li><a href="#PAGINATE_TOC">Turn toc pagination on or off</a> <li><a href="#TOC_PAGENUM_STYLE">Toc page numbering style</a> </ul> <li><a href="#TOC_HEADER"><strong>Changing the toc header (title), string and style</strong></a> <ul> <li><a href="#TOC_HEADER_STRING">Changing the string (title)</a> <li><a href="#TOC_HEADER_STYLE">Changing the string (title) style</a> </ul> <li><a href="#TOC_STYLE"><strong>Changing the style for toc entries</strong></a> <ul> <li><a href="#TOC_INDENT">The toc _INDENT control macros</a> <li><a href="#TOC_TITLE">Changing the style for toc title entries</a> <li><a href="#TOC_HEAD">Changing the style for toc head entries</a> <li><a href="#TOC_SUBHEAD">Changing the style for toc subhead entries</a> <li><a href="#TOC_PARAHEAD">Changing the style for toc paragraph head entries</a> <li><a href="#TOC_PN">Changing the style for toc page number listings</a> </ul> <li><a href="#TOC_ADDITIONAL"><strong>Additional toc control macros</strong></a> <ul> <li><a href="#TOC_APPENDS_AUTHOR">Append author(s) to toc title entries</a> <li><a href="#TOC_RV_SWITCH">TOC_RV_SWITCH</a> <li><a href="#TOC_PADDING">TOC_PADDING</a> </ul> </ol> <hr> <a name="TOC_GENERAL"><h2><u>1. General toc page style control</u></h2> <a name="TOC_FAMILY"><h3><u>*Toc family</u></h3></a> <p> See <a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. <p> Set the family of toc pages with <strong>TOC_FAMILY</strong>, which establishes the default family for every element of a toc page, including the toc title ("Contents") and the page number in the top or bottom margin. The default is the prevailing document family. <p> All elements on a toc page also have their own _FAMILY control macros, which override the default set by <strong>TOC_FAMILY</strong>. <p> <!---TOC_PT_SIZE---> <a name="TOC_PT_SIZE"><h3><u>*Toc point size</u></h3></a> <p> Macro: <strong>TOC_PT_SIZE</strong> <var><base type size of the toc></var> <p> Unlike most other control macros that deal with size of document elements, <strong>TOC_PT_SIZE</strong> takes as its argument an absolute value, relative to nothing. Therefore, the argument represents the size of toc type in <a href="definitions.html#TERMS_PICASPOINTS">points</a>, unless you append an alternative <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. For example, <p> <pre> .TOC_PT_SIZE 12 </pre> sets the base point size of type for the toc to 12 points, whereas <p> <pre> .TOC_PT_SIZE .6i </pre> sets the base point size of type for the toc to 1/6 of an inch. <p> The type size set with <strong>TOC_PT_SIZE</strong> forms the basis from which the point size of other toc page elements are calculated. <p> The default for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> is 12.5 points (the same default size used in the body of the document). <p> <!---TOC_LEAD---> <a name="TOC_LEAD"><h3><u>*Toc lead</u></h3></a> <p> Macro: <strong>TOC_LEAD</strong> <var><leading of the toc> [ ADJUST ]</var> <br> <em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> <p> Unlike most other control macros that deal with leading of document elements, <strong>TOC_LEAD</strong> takes as its argument an absolute value, relative to nothing. Therefore, the argument represents the <a href="definitions.html#TERMS_LEADING">leading</a> of tocs in <a href="definitions.html#TERMS_PICASPOINTS">points</a> unless you append an alternative <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. For example, <p> <pre> .TOC_LEAD 14 </pre> sets the base leading of type on the endnotes page to 14 points, whereas <p> <pre> .TOC_LEAD .5i </pre> sets the base leading of type on the endnotes page to 1/2 inch. <p> If you want the leading of toc pages adjusted to fill the page, pass <strong>TOC_LEAD</strong> the optional argument <strong>ADJUST</strong>. (See <a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> for an explanation of leading adjustment.) <p> The default for <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> is the prevailing document lead (16 by default), adjusted. <p> <strong>NOTE:</strong> Even if you give <strong>mom</strong> a <strong>DOC_LEAD_ADJUST OFF</strong> command, she will still, by default, adjust toc leading. You MUST enter <strong>TOC_LEAD <lead></strong> with no <strong>ADJUST</strong> argument to disable this default behaviour. <p> <strong>ADDITIONAL NOTE:</strong> Tocs are always double-spaced in <strong>PRINTSTYLE TYPEWRITE</strong>, regardless of whether the body of the document is single-spaced. <p> <a name="TOC_PAGENUMBERING"><h2><u>2. Toc page numbering</u></h2></a> <p> The page numbering of toc pages is controlled by the same macros that control <a href="headfootpage.html#PAGINATION">document page numbering</a>, except <a href="headfootpage.html#PAGENUM">PAGENUM</a> (tocs always start on page 1). The defaults are the same as the rest of the document. <p> If you wish to change some aspect of toc pagination, use the document pagination control macros immediately prior to <strong>.TOC</strong>. <p> A special macro, <a href="#TOC_PAGENUM_STYLE">TOC_PAGENUM_STYLE</a> controls the style of toc pages page numbers. <p> <hr width="33%" align="left"> <!---PAGINATE_TOC---> <p> <a name="PAGINATE_TOC"> Macro: <strong>PAGINATE_TOC</strong> <var><toggle></var> </a> <p> By default, <strong>mom</strong> paginates the toc. If you'd like her not to, do <p> <pre> .PAGINATE_TOC OFF </pre> <strong>NOTE:</strong> Simply invoking <strong>PAGINATION OFF</strong> or <strong>PAGINATE OFF</strong> disables toc pagination <em>for the first toc page only.</em> You MUST use <strong>.PAGINATE_TOC OFF</strong> to disable toc pagination, even if pagination is turned off elsewhere in your document. <p> <hr width="33%" align="left"> <p> <!---TOC_PAGENUM_STYLE---> <a name="TOC_PAGENUM_STYLE"> Macro: <strong>TOC_PAGENUM_STYLE</strong> <var><DIGIT | ROMAN | roman | ALPHA | alpha></var> </a> <p> By default, <strong>mom</strong> uses roman numerals to number toc pages. Use <strong>TOC_PAGENUM_STYLE</strong> if you'd prefer something else. For example, to have standard digits instead of roman numerals, do the following: <p> <pre> .TOC_PAGENUM_STYLE DIGIT </pre> <hr width="33%" align="left"> <p> <a name="TOC_HEADER"><h2><u>3. Changing the toc header (title) string and style</u></h2></a> <p> The toc header string is the title that appears at to top of the toc. By default, it's "Contents". If you'd like something else, say, "Table of Contents", do <p> <a name="TOC_HEADER_STRING"></a> <pre> .TOC_HEADER_STRING "Table of Contents" </pre> <a name="TOC_HEADER_STYLE"></a> The style of the toc header (title) is managed by the usual control macros (see <a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). <p> <pre> .TOC_HEADER_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) .TOC_HEADER_FONT default = bold .TOC_HEADER_SIZE default = +4 .TOC_HEADER_QUAD default = left </pre> <a name="TOC_STYLE"><h2><u>4. Changing the style for toc entries</u></h2></a> <p> "Toc entries" refers to titles, heads, subheads and paragraph heads as they appear in the toc. Their style is managed by the usual <a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>, starting with TOC_ <p> <a name="TOC_INDENT"><h3><u>The toc _INDENT control macros</u></h3></a> <p> The toc control macros that end in _INDENT all take a single argument that requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. The argument is the distance to indent the entry, always measured from the left margin. For example, <p> <pre> .TOC_HEAD_INDENT 2P </pre> indents head entries 2 <a href="definitions.html#TERMS_PICASPOINTS">picas</a> from the left margin. <p> <a name="TOC_TITLE"><h3><u>*Changing the style for toc title entries</u></h3></a> <p> (See <a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). <p> Toc title entries are the titles of documents that have been <a href="rectoverso.html#COLLATE">collated</a> together. <p> <pre> .TOC_TITLE_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) .TOC_TITLE_FONT default = bold italic .TOC_TITLE_SIZE default = +0 .TOC_TITLE_INDENT default = 0 for TYPESET and TYPEWRITE </pre> <a name="TOC_HEAD"><h3><u>*Changing the style for toc head entries</u></h3></a> <p> (See <a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). <p> Toc head entries are main heads that appear in the body of a document. <p> <pre> .TOC_HEAD_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) .TOC_HEAD_FONT default = bold .TOC_HEAD_SIZE default = +.5 .TOC_HEAD_INDENT default = 18p for TYPESET; 2m for TYPEWRITE </pre> <a name="TOC_SUBHEAD"><h3><u>*Changing the style for toc subhead entries</u></h3></a> <p> (See <a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). <p> Toc subhead entries are subheads that appear in the body of a document. <p> <pre> .TOC_SUBHEAD_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) .TOC_SUBHEAD_FONT default = roman .TOC_SUBHEAD_SIZE default = +0 .TOC_SUBHEAD_INDENT default = 30p for TYPESET; 4m for TYPEWRITE </pre> <a name="TOC_PARAHEAD"><h3><u>*Changing the style for toc paragraph head entries</u></h3></a> <p> (See <a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). <p> Toc paragraph head entries are paragraph heads that appear in the body of a document. <p> <pre> .TOC_PARAHEAD_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) .TOC_PARAHEAD_FONT default = italic .TOC_PARAHEAD_SIZE default = +0 .TOC_PARAHEAD_INDENT default = 42p for TYPESET; 6m for TYPEWRITE </pre> <a name="TOC_PN"><h3><u>*Changing the style for toc paragraph page number listings</u></h3></a> <p> (See <a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). <p> Toc paragraph head entries are paragraph heads that appear in the body of a document. <p> <pre> .TOC_PN_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) .TOC_PN_FONT default = roman .TOC_PN_SIZE default = +0 </pre> <a name="TOC_ADDITIONAL"><h2><u>5. Additional toc macros</u></h2></a> <p> The following macros allow you to switch page margins should they be incorrect for recto/verso printing, to establish how many placeholders to leave for page listings, and to have <strong>mom</strong> append author(s) to toc title entries. <p> <hr width="33%" align="left"> <!---TOC_RV_SWITCH---> <p> <a name="TOC_RV_SWITCH"> Macro: <strong>TOC_RV_SWITCH</strong> </a> <p> <strong>TOC_RV_SWITCH</strong> doesn't take an argument. It simply instructs <strong>mom</strong> to switch the left and right margins of <a href="rectoverso.html#RECTO_VERSO">recto/verso</a> documents should the toc happen to begin on an even page when you want an odd, or vice versa. <p> The same result can be accomplished by outputting a <a href="#BLANK_PAGE">BLANKPAGE</a>. <p> <hr width="33%" align="left"> <!---TOC_APPENDS_AUTHOR---> <p> <a name="TOC_APPENDS_AUTHOR"> Macro: <strong>TOC_APPENDS_AUTHOR</strong> <var><none> | <"name(s) of authors"></var> </a> <p> In certain kinds of collated documents, different authors are responsible for the articles or stories contained within them. In such documents, you may wish to have the author or authors appended to the toc's title entry for each story or article. <p> If you invoke <strong>TOC_APPENDS_AUTHOR</strong> with no argument, <strong>mom</strong> appends the first argument you passed to <a href="docprocessing.html#AUTHOR">AUTHOR</a> to toc title entries, separated by a front-slash. <p> If you invoke <strong>TOC_APPENDS_AUTHOR</strong> with an argument (surrounded by double-quotes), <strong>mom</strong> will append it to the toc title entries instead. This is useful if you have multiple authors you wish to identify by last name only. For example, if three authors--Joe Blough, Jane Doe, and John Deere--are responsible for a single article <p> <pre> .TOC_APPENDS_AUTHOR "Blough et al." </pre> would be a good way to identify them in the toc. <p> <hr width="33%" align="left"> <!---TOC_PADDING---> <p> <a name="TOC_PADDING"> Macro: <strong>TOC_PADDING</strong> <var><# of placeholders to allow for page number listings></var> </a> <p> By default, <strong>mom</strong> allows room for 3 digits in the page number listings of tocs. If you'd like some other number of placeholders, say 2, do <p> <pre> .TOC_PADDING 2 </pre> <hr> <!====================================================================> <a name="BLANK_PAGE_TITLE"><h2><u>Inserting a blank page into the document</u></h2></a> <p> <a name="BLANK_PAGE"> Macro: <strong>BLANKPAGE</strong> <var><# of blank pages to insert></var> </a> <p> This one does exactly what you'd expect -- inserts a blank page into the document. <strong>Mom</strong> silently increments the page number of every blank page and keeps track of <a href="rectoverso.html#RECTO_VERSO">recto/verso</a> stuff, but otherwise, does nothing. It's up to you, the user, to figure out what to do with this feature. However, it's worth noting that without it, inserting completely blank pages, to use a vernacular Québécois phrase, "c'est pas évident" (somewhere between "isn't easy", "isn't obvious" and "isn't fun"). <p> The argument to <strong>BLANK_PAGE</strong> is the number of blank pages to insert. The argument is not optional, hence even if you only want one blank page, you have to tell <strong>mom</strong>: <p> <pre> .BLANKPAGE 1 </pre> <hr> <a href="headfootpage.html#TOP">Next</a> <a href="docprocessing.html#TOP">Prev</a> <a href="#TOP">Top</a> <a href="toc.html">Back to Table of Contents</a> </body> </html>