diff options
Diffstat (limited to 'contrib/mom/momdoc/docelement.html')
-rw-r--r-- | contrib/mom/momdoc/docelement.html | 1687 |
1 files changed, 1687 insertions, 0 deletions
diff --git a/contrib/mom/momdoc/docelement.html b/contrib/mom/momdoc/docelement.html new file mode 100644 index 00000000..2ba6eb0e --- /dev/null +++ b/contrib/mom/momdoc/docelement.html @@ -0,0 +1,1687 @@ +<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> + +<a name="TOP"></a> +<a name="DOCELEMENT"> + <h2 align="center"><u>THE DOCUMENT ELEMENT TAGS</u></h2> +</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. + +<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 (affected 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 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. She 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. + +<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>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> + +<a name="CONTROL_INDENTS"><h3>Indents</h3></a> +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>. + + +<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> + </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="#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> + <li><a href="#FINIS_STRING">Finis control</a> -- changing the FINIS string + </ul> +</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> +color, flavour, or comment on the text they precede. Typically, +they are centered on the page and set in a smaller point size +than that of paragraph text. +<p> +By default, <strong>mom</strong> sets epigraphs centered 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 filled epigraph "blocks." +<br> + +<!---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>. + +<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_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) +</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 imediately 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 (particulary 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>. +<br> + +<!---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_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">Intitial 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> +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. + +<a name="PP_FONT"><h3><u>2. Font -- PP_FONT</u></h3></a> +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. + +<a name="PP_LEADING"><h3><u>3.Leading</u></h3></a> +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. +<p> +<strong>Mom</strong>'s default paragraph leading (document leading) +is 16 points, adjusted to fill the page. + +<a name="PP_JUST_QUAD"><h3><u>4. Justification/quad</u></h3></a> +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/center) 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 justified for +<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a> +and quad left for +<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a>. + +<a name="PARA_INDENT"><h3><u>5. First-line indent -- PARA_INDENT</u></h3></a> +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 overal 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>. + +<a name="PARA_INDENT_FIRST"><h3><u>6. Indenting initial paragraphs -- INDENT_FIRST_PARAS</u></h3></a> +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. + +<a name="PP_SPACE"><h3><u>7. Spacing paragraphs -- PARA_SPACE</u></h3></a> +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 centered 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. +<br> + +<!---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. + +<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/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_QUAD default = CENTER +</pre> + +<a name="HEAD_CAPS"><h3><u>2. Capitalizing heads -- HEAD_CAPS</u></h3></a> +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. + +<a name="HEAD_SPACE"><h3><u>3. Space before heads -- HEAD_SPACE</u></h3></a> +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. + +<a name="HEAD_UNDERLINE"><h3><u>4. Underlining heads -- HEAD_UNDERLINE</u></h3></a> +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. + +<a name="NUMBER_HEADS"><h3><u>5. Number heads -- NUMBER_HEADS</u></h3></a> +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. + +<a name="RESET_HEAD_NUMBER"><h3><u>6. Reset head numbering -- RESET_HEAD_NUMBER</u></h3></a> +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". + +<a name="HEAD_INLINES"><h3><u>7. Vertical inline escapes inside heads</u></h3></a> +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="typesetting.html#INLINE_VERTICAL_MOM">mom's</a> +or +<a href="typesetting.html#INLINE_VERTICAL_GROFF">groff's</a> +in the string(s) you pass to <strong>HEAD</strong> +<p> +For example, +<p> +<pre> + .HEAD "\[ALD3]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" +</pre> + + + + +<br> +<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. +<br> + +<!---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/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_QUAD default = LEFT +</pre> + +<a name="NUMBER_SUBHEADS"><h3><u>2. Number subheads -- NUMBER_SUBHEADS</u></h3></a> +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. + +<a name="RESET_SUBHEAD_NUMBER"><h3><u>3. Reset head numbering -- RESET_SUBHEAD_NUMBER</u></h3></a> +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. + + +<br> +<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. +<br> + +<!---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>). + +<a name="PARAHEAD_CONTROL"><h3><u>Parahead control macros</u></h3></a> +<p> +In addition to the family/font/size/indent control macros, there are +macros to manage parahead numbering. +<p> +<ol> + <li><a href="#PARAHEAD_GENERAL">Family/font/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</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) +</pre> + +<a name="PARAHEAD_INDENT"><h3><u>2. Indent</u></h3></a> +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. + +<a name="NUMBER_PARAHEADS"><h3><u>3. Number paraheads -- NUMBER_PARAHEADS</u></h3></a> +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. + +<a name="RESET_PARAHEAD_NUMBER"><h3><u>4. Reset head numbering -- RESET_PARAHEAD_NUMBER</u></h3></a> +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". +<br> +<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 centered asterisks. You can change this behaviour +with the linebreak character +<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>. +<br> + +<!---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 +centered on the current line length. +<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 centered 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. +<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>). +<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 +quote control macros you can change her defaults so +<strong>QUOTE</strong> serves other needs, e.g. entering snippets of +programming code, command line instructions, and so on. +<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>. +<br> + +<!---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/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) +<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> +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>. + +<a name="UNDERLINE_QUOTES"><h3><u>3. Underlining -- UNDERLINE_QUOTES (typewrite only)</u></h3></a> +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>). + +<a name="BREAK_QUOTE"><h3><u>4. Manually break a footnoted quote -- BREAK_QUOTE</u></h3></a> +Exceptionally, a quote or blockquote containing a footnote may crosse +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>. +<br> +<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. +<br> + +<!---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/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) +.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> +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>. +<br> +<hr> + +<!====================================================================> + +<a name="FOOTNOTE_INTRO"><h2><u>Footnotes</u></h2></a> +<ul> + <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 +themeselves appropriately, balancing them properly with the botton +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. + +<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 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. +<br> + +<!---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>!!! + <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/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_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> +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. + +<a name="FOOTNOTE_MARKER_STYLE"><h3><u>3. Footnote marker style -- FOOTNOTE_MARKER_STYLE</u></h3></a> +<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). + +<a name="RESET_FOOTNOTE_NUMBER"><h3><u>4. Reset footnote number -- RESET FOOTNOTE NUMBER</u></h3></a> +<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. + +<a name="FOOTNOTE_RULE"><h3><u>5. Footnote rule -- FOOTNOTE_RULE</u></h3></a> +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. + +<a name="FOOTNOTE_RULE_LENGTH"><h3><u>6. Footnote rule length -- FOOTNOTE_RULE_LENGTH</u></h3></a> +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>. +<a name="FOOTNOTE_RULE_ADJ"><h3><u>7. Adjust vertical position of footnote separator rule -- FOOTNOTE_RULE_ADJ</u></h3></a> +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. +<br> +<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, of course), <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, centered 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>. +<br> + +<!---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. 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, centered 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.) + +<p> +<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> |