Mom -- Document Processing, element tags

Next Prev Back to Table of Contents

## THE DOCUMENT ELEMENT TAGS

- Introduction to the document element tags
  - Control macros -- changing defaults for document element tags
  - Arguments to the control macros
- Index of document element tags

## Introduction to the document element tags

Once you've completed the setup for a document (see Setting up a mom document), formatting it is a snap. Simply invoke the appropriate tag for each document element as you need it. The tags are macros that tell mom, "This is a paragraph, this is a subhead, this is a footnote," and so on.

The list of tags is actually quite small -- ideal for the users mom brought herself into being for (see Who mom is meant for). However, the list of macros that control the appearance of the tags upon output is extensive. Generally, for each tag, there are control macros for the tag's family, font and point size. Where appropriate, there are macros to control leading, indents, quad and special features as well.

Mom 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 START, 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.

### Control macros -- changing defaults

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 mom's defaults for family, font and point size. Where appropriate, there are macros to control leading, indents and quad as well.

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 mom's defaults for the tag are.

The control macros may be used at any time during the course of a document (i.e. before or after START). 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.

And don't forget: the typesetting macros can be used at any time, including inside toggle tags (affecting only that particular invocation of the tag). Equally, inline escapes can be used in tags that take string arguments.

IMPORTANT NOTE: The family, font, point size and leading control macros have no effect in PRINTSTYLE TYPEWRITE, which sets EVERYTHING in Courier roman, 12/24 (i.e. 12-point type on a linespace of 24 points).

Please also note that the defaults listed with the control macros apply only to PRINTSTYLE TYPESET unless a default for TYPEWRITE is also given.

A WORD OF ADVICE: Get familiar with mom 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 mom is complex and unwieldy, which is not only untrue, but would offend her mightily.

### Arguments to the control macros

### Family and font

The arguments to the control macros that end in _FAMILY or _FONT are the same as for FAMILY and FT.

### Point size

Control macros that end in _SIZE always take the form `+digit` or `-digit` where digit is the number of points 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

    	.SUBHEAD_SIZE +1.5

There's no need for a unit of measure with the _SIZE control macros; points is assumed.

### Lead/linespacing

Control macros that end in _AUTOLEAD take the same argument as AUTOLEAD, viz. a digit that represents the number of points to add to the tag's point size to arrive at its lead. For example, to set footnotes solid, do

    	.FOOTNOTE_AUTOLEAD 0

To set footnotes with a 1-point lead (i.e. with the line spacing one point greater than the footnote's point size), do

    	.FOOTNOTE_AUTOLEAD 1

### Indents

Except for PARA_INDENT, the argument to the control macros that end in _INDENT is always a single digit (whole numbers only; no decimal fractions) with no unit of measure 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.

### Quad/justification style

Control macros that end in _QUAD take the same arguments as QUAD.

### Document element tags list

- Epigraphs
  - EPIGRAPH
  - Epigrah control
- Paragraphs
  - PP
  - Paragraph control
- Main heads
  - HEAD
  - Head control
- Subheads
  - SUBHEAD
  - Subhead control
- Paragraph heads
  - PARAHEAD
  - Parahead control
- Linebreaks (author linebreaks)
  - LINEBREAK
  - Linebreak character
- Quotes (line for line)
  - QUOTE
  - Quote control
- Blockquotes (cited material)
  - BLOCKQUOTE
  - Blockquote control
- Footnotes
  - FOOTNOTE
  - Footnote control
- Endnotes
  - ENDNOTE
  - Endnote control
- Document termination
  - FINIS
  - Finis control -- changing the FINIS string

## Epigraphs

- Tag: EPIGRAPH
- Epigraph control macros

Epigraphs color, flavour, or comment on the document they precede. Typically, they are centered at the top of a document's first page (underneath the title) and set in a smaller point size than that of paragraph text.

By default, mom sets epigraphs centered and unfilled; this lets you input them on a line for line basis. This behaviour can be changed to accomodate filled epigraph "blocks."

Macro: EPIGRAPH <toggle> | [ BLOCK ]

EPIGRAPH is a toggle, used like this:

    	.EPIGRAPH
    	<text of epigraph>
    	.EPIGRAPH OFF

OFF, above, could be anything -- say, Q or X -- since any argument other than BLOCK turns it off.

If given the argument BLOCK, EPIGRAPH sets epigraphs filled, justified or quadded in the same direction as paragraphs, indented equally from both the left and right margins.

If a block-style epigraph runs to more than one paragraph (unlikely, but conceivable), you MUST introduce every paragraph -- INCLUDING THE FIRST!!! -- with the PP tag.

NOTE: EPIGRAPH should only be used at the top of a document (i.e. just after START) or after heads. The latter is not especially recommended, but it does work. In all other places where you want quotes or cited text, use QUOTE or BLOCKQUOTE.

### Epigraph control macros

See Arguments to the control macros.

    .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)

    *Indent here refers to the indent from both the left and right margins
     that centres the block style epigraph on the page.

## Paragraphs

- Tag: PP
- Paragraph control macros

The paragraph macro is the one you use most often. Consequently, it's one of most powerful, yet simplest to use -- just the letters PP. No arguments, nothing. Just `.PP` on a line by itself any time, in any document element, tells mom you want to start a new paragraph. The spacing and indent appropriate to where you are in your document are taken care of automatically.

By default, mom does not indent the first paragraph of a document, nor paragraphs that fall imediately after heads or subheads. The first paragraphs of blockquotes and block-style epigraphs are also not indented. This behaviour can be changed with the control macro INDENT_FIRST_PARAS.

In contrast to some other macro packages, mom does not deposit a blank line between paragraphs. If you want her to do so, use the control macro PARA_SPACE. (I don't recommend using this macro with PRINTSTYLE TYPEWRITE.)

Note that mom 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.

TIP: 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 PP's. The visual interruption in the flow of text is a serious obstacle to creativity and critiquing.

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 (`^I`) into `.PP` (plus a new line), and pipe the output to groff for processing and printing.

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 `.blm` primitive (blank line macro) to instruct groff (and mom) that blank lines should be interpreted as PP's.

    	.blm PP

tells groff that all blank lines are really the macro PP.

Macro: PP

PP (on a line by itself, of course) tells mom to start a new paragraph. See above for more details. In addition to regular text paragraphs, you can use PP in epigraphs, blockquotes and footnotes.

### Paragraph control macros

The PP 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.

1. Family control
2. Font control
3. Leading/linespacing control
4. Justification/quad control
5. First-line indent control
6. Intitial paragraphs indent control
7. Paragraph spacing control

### 1. Family

The paragraph family is set with FAMILY prior to START, or DOC_FAMILY afterwards. Please note that both globally affect the family of every element in the document.

If you wish to change the family for regular text paragraphs only, invoke FAMILY immediately after PP in EVERY paragraph whose family you wish to differ from the prevailing document family.

Mom's default paragraph (and document) family is Times Roman.

### 2. Font -- PP_FONT

To change the font used in regular text paragraphs, use `.PP_FONT`, which takes the same argument as FT. PP_FONT may be used before or after START. Only regular text paragraphs are affected; paragraphs in epigraphs, blockquotes and footnotes remain at their default setting (medium roman) unless you change them with the appropriate control macros.

Mom's default paragraph font is medium roman.

### 3.Leading

The paragraph leading is set with LS prior to START, or DOC_LEAD afterwards. Please note that either method globally affects the leading and spacing of every document element (except headers and footers).

If you wish to change the leading of regular text paragraphs only, invoke LS immediately after PP in EVERY paragraph whose leading you wish to change.

HYPER-IMPORTANT NOTE: It is extremely unwise to change paragraph leading with LS, as it will, in all cases, screw up mom's ability to balance the bottom margin of pages.

Mom's default paragraph leading (document leading) is 16 points, adjusted to fill the page.

### 4. Justification/quad

The justification/quad-direction of regular text paragraphs (i.e. justified, or filled and quadded left/right/center) is set with JUSTIFY or QUAD prior to START, and with DOC_QUAD afterwards.

Please note that either method of setting the paragraph justification/quad-direction also affects epigraphs and footnotes, but not blockquotes (whose default is QUAD LEFT unless you change it with BLOCKQUOTE_QUAD). The justification/quad-direction of epigraphs and footnotes may be changed with their own control macros.

If you wish to change the justification/quad-direction of individual paragraphs, use JUSTIFY or QUAD immediately after PP. Only the paragraph in question gets justified or quadded differently; subsequent paragraphs remain unaffected.

Mom's default justification/quad-direction for paragraphs is justified for PRINTSTYLE_TYPESET and quad left for PRINTSTYLE_TYPEWRITE.

### 5. First-line indent -- PARA_INDENT

The first-line indent of paragraphs is controlled by PARA_INDENT, which takes one argument: the size of the indent. PARA_INDENT may be used before or after START. A unit of measure is required; fractional sizes are allowed. Thus, to set the paragraph indent to 4-1/2 ems, do

    	.PARA_INDENT 4.5m

In addition to establishing the basic first line-indent of paragraphs, PARA_INDENT also affects epigraphs, quotes and blockquotes, whose overal indenting from the left and (where applicable) right margins is relative to PARA_INDENT. Furthermore, the first-line indent of paragraphs within these document elements (as well as footnotes) is also relative to PARA_INDENT (always 1/2 of PARA_INDENT)), hence they are also affected.

Mom's default PARA_INDENT is 2 ems for PRINTSTYLE_TYPESET and 3 picas (1/2 inch) for PRINTSTYLE_TYPEWRITE.

### 6. Indenting initial paragraphs -- INDENT_FIRST_PARAS

By default, mom does not indent the first paragraph of a document, nor the first paragraph after a head or subhead, nor the first paragraphs of epigraphs, blockquotes or footnotes that run to more than one paragraph.

If you wish to have first paragraphs indented, invoke the macro .INDENT_FIRST_PARAS with no argument, either before or after START. INDENT_FIRST_PARAS is a toggle macro, therefore passing it any argument (OFF, QUIT, Q, X...) cancels its effect, meaning that first paragraphs will once again NOT be indented.

### 7. Spacing paragraphs -- PARA_SPACE

By default, mom does not insert a blank line between paragraphs. If you would like her to do so, invoke the macro `.PARA_SPACE` with no argument, either before or after START. PARA_SPACE is a toggle macro, therefore passing it any argument (OFF, QUIT, Q, X...) cancels its effect, meaning that paragraphs will once again NOT be separated by a blank line.

## Main heads

- Tag: HEAD
- Head control macros

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, mom can number your heads for you. Head numbers can also be included hierarchically in numbered subheads and paraheads.

By default, heads are centered on the page, underlined, all in caps. A double linespace precedes each head. In PRINTSTYLE TYPESET, heads are bold, slightly larger than paragraph text.

If these defaults don't suit you, you can change them with the head control macros.

Macro: HEAD "<text of head>" [ "<2nd line>" [ "<3rd line>" ... ] ]

The argument to HEAD 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.

NOTE: If a head falls near the bottom of an output page and mom is unable to fit the head plus at least one line of text underneath it, she will set the head at the top of the next page.

### Head control macros

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 mom's defaults.

1. Family/font/size/quad
2. Caps
3. Pre-head space
4. Underlining
5. Numbering
6. Reset head numbering
7. Vertical inline escapes inside heads

### 1. Family/font/size/quad

See Arguments to the control macros.

    .HEAD_FAMILY default = prevailing document family; default is Times Roman
    .HEAD_FONT   default = bold
    .HEAD_SIZE   default = +1 (point)
    .HEAD_QUAD   default = CENTER

### 2. Capitalizing heads -- HEAD_CAPS

By default, mom sets heads in caps, regardless of the string(s) you give to HEAD. To change this behaviour, do

    	.HEAD_CAPS OFF

HEAD_CAPS is a toggle macro, therefore you can use any argument you like instead of OFF (END, QUIT, Q, X...). To turn HEAD_CAPS back on, simply invoke it without an argument.

### 3. Space before heads -- HEAD_SPACE

By default, mom deposits 2 blank lines prior to every head. If you'd prefer just a single blank line, do

    	.HEAD_SPACE OFF

HEAD_SPACE is a toggle macro, therefore you can use any argument you like instead of OFF (END, QUIT, Q, X...). To restore the space before heads to 2 blank lines, invoke HEAD_SPACE without an argument.

### 4. Underlining heads -- HEAD_UNDERLINE

By default, mom underlines heads. To change this behaviour, do

    	.HEAD_UNDERLINE OFF

HEAD_UNDERLINE is a toggle macro, therefore you can use any argument you like instead of OFF (END, QUIT, Q, X...). To restore underlining of heads, invoke HEAD_UNDERLINE without an argument.

### 5. Number heads -- NUMBER_HEADS

If you'd like your heads numbered, simply invoke NUMBER_HEADS with no argument. Mom will number all subsequent heads automatically (in ascending order, naturally).

If, in addition to numbering heads, you also request that subheads and/or paraheads be numbered, the head number will be included in their numbers (each number separated by a period [dot]).

Should you wish to stop head numbering, invoke NUMBER_HEADS with any argument (OFF, QUIT, END, X...). Head numbering will cease, and the head number will not be included in the numbering of subheads and/or paraheads.

### 6. Reset head numbering -- RESET_HEAD_NUMBER

Should you wish to reset the head number to "1", invoke RESET_HEAD_NUMBER with no argument. If, for some reason, you want mom to use a head number that is not the next in ascending order (i.e. the last head number + 1), invoke RESET_HEAD_NUMBER with the number you want, e.g.

    	.RESET_HEAD_NUMBER 6

Your next head will be numbered "6" and subsequent heads will be numbered in ascending order from "6".

### 7. Vertical inline escapes inside heads

If you need to adjust the baseline position of a head (e.g. the head falls at the top of a column and you want its ascenders to line up with the ascenders of running text in other columns), you can embed a vertical motion inline escape (either mom's or groff's in the string(s) you pass to HEAD

For example,

    	.HEAD "\[ALD3]Text of head

will lower the baseline of the head by three points. Note that there's no need to reverse the sense of the inline escape.

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:

    	.HEAD "\[ALD3]First line" "\[ALD3]Next line"

## Subheads

- Tag: SUBHEAD
- Subhead control macros

Subheads should be used any place you want titles to introduce sections of a document below heads. If you wish, mom can number subheads for you. Subhead numbers can also be included hierarchically in numbered paraheads.

By default, subheads are flush left. In PRINTSTYLE TYPESET, they are set bold, slightly larger than paragraph text. In PRINTSTYLE TYPEWRITE, 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.

If these defaults don't suit you, you can change them with the subhead control macros.

Macro: SUBHEAD "<text of subhead>" [ "<2nd line>" [ "<3rd line>" ... ] ]

The argument to SUBHEAD 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.

NOTE: If a subhead falls near the bottom of an output page and mom is unable to fit the head plus at least one line of text underneath it, she will set the subhead at the top of the next page.

### Subhead control macros

In addition to the usual family/font/size/quad control macros, there are macros to manage subhead numbering.

1. Family/font/size/quad
2. Numbering
3. Reset subhead numbering
4. Vertical inline escapes inside subheads

### 1. Family/font/size/quad

See Arguments to the control macros.

    .SUBHEAD_FAMILY default = prevailing document family; default is Times Roman
    .SUBHEAD_FONT   default = bold
    .SUBHEAD_SIZE   default = +.5 (point)
    .SUBHEAD_QUAD   default = LEFT

### 2. Number subheads -- NUMBER_SUBHEADS

If you'd like your subheads numbered, simply invoke .NUMBER_SUBHEADS with no argument. Mom will number all subsequent subheads automatically (in ascending order, naturally).

If, in addition to numbering subheads, you also request that heads be numbered, the head number will be included in the subhead number (separated by a period [dot]).

Should you wish to stop subhead numbering, invoke NUMBER_SUBHEADS with any argument (OFF, QUIT, END, X...). Subhead numbering will cease, and the subhead number will not be included in the numbering of paraheads.

### 3. Reset head numbering -- RESET_SUBHEAD_NUMBER

Should you wish to reset the subhead number to "1", invoke RESET_SUBHEAD_NUMBER with no argument. If, for some reason, you want mom to use a subhead number that is not the next in ascending order (i.e. the last subhead number + 1), invoke RESET_SUBHEAD_NUMBER with the number you want, e.g.

    	.RESET_SUBHEAD_NUMBER 4

Your next subhead will be numbered "4" and subsequent subheads will be numbered in ascending order from "4".

### Vertical inline escapes inside subheads

See Vertical inline escapes inside heads. The information there applies equally to subheads.

## Paragraph heads

- Tag: PARAHEAD
- Parahead control macros

Paragraph heads (paraheads) should be used any place you want titles to introduce paragraphs below heads or subheads. If you wish, mom can number paraheads for you.

By default, paraheads are joined to the body of a paragraph, slightly indented (provided the paragraph is not a "first" paragraph as defined in Indenting initial paragraphs). In PRINTSTYLE TYPESET, they are set bold italic, slightly larger than paragraph text. In PRINTSTYLE TYPEWRITE, they are underlined.

If these defaults don't suit you, you can change them with the parahead control macros.

Macro: PARAHEAD "<text of parahead>"

PARAHEAD must come AFTER PP or it will not work!

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 HEAD and SUBHEAD).

### Parahead control macros

In addition to the family/font/size/indent control macros, there are macros to manage parahead numbering.

1. Family/font/size
2. Indent
3. Numbering
4. Reset parahead numbering

### 1. Family/font/size

See Arguments to the control macros.

    .PARAHEAD_FAMILY default = prevailing document family; default is Times Roman
    .PARAHEAD_FONT   default = bold italic
    .PARAHEAD_SIZE   default = +.5 (point)

### 2. Indent

Unlike other control macros that end in _INDENT, the argument to the macro that controls indenting of paragraph heads (PARAHEAD_INDENT) is NOT relative to the first-line indent of normal paragraphs. In other words, it takes an absolute value, and requires a unit of measure. For example, to set the paragraph head indent to 2-1/2 picas, you do:

    	.PARAHEAD_INDENT 2.5P

Mom'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 `\n[#PP_INDENT]u` arithmetically as the argument to PARAHEAD_INDENT for an indent that's relative to PP_INDENT.)

NOTE: Paragraph heads in "first paragraphs", as defined in Indenting initial paragraphs, are not indented unless you turn INDENT_FIRST_PARAS on.

### 3. Number paraheads -- NUMBER_PARAHEADS

If you'd like your paraheads numbered, simply invoke .NUMBER_PARAHEADS with no argument. Mom will number all subsequent paraheads automatically (in ascending order, naturally).

If, in addition to numbering paraheads, you also request that heads and subheads be numbered, the head and/or subhead number will be included in the parahead number (separated by a period [dot]).

Should you wish to stop parahead numbering, invoke NUMBER_PARAHEADS with any argument (OFF, QUIT, END, X...). Parahead numbering will cease.

### 4. Reset head numbering -- RESET_PARAHEAD_NUMBER

Should you wish to reset the parahead number to "1", invoke RESET_PARAHEAD_NUMBER with no argument. If, for some reason, you want mom to use a parahead number that is not the next in ascending order (i.e. the last parahead number + 1), invoke RESET_PARAHEAD_NUMBER with the number you want, e.g.

    	.RESET_PARAHEAD_NUMBER 7

Your next parahead will be numbered "7" and subsequent paraheads will be numbered in ascending order from "7".

## Author linebreaks

- Tag: LINEBREAK
- Linebreak character control macro

By default, mom marks author linebreaks with three centered asterisks. You can change this behaviour with the linebreak character control macro.

Macro: LINEBREAK

LINEBREAK 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 LINEBREAK_CHAR macro.

### Linebreak character control macro

Macro: LINEBREAK_CHAR [ <character> ] [ <iterations> [ <vertical adjustment> ] ]
*The third optional argument requires a unit of measure.

LINEBREAK_CHAR determines what mom prints when LINEBREAK 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.

The first argument is any legal groff character (e.g. `*` [an asterisk], `\(dg` [a dagger], `\f(ZD\N'141\fP` [an arbitrary character from Zapf Dingbats], `\l'4P'` [a 4-pica long rule]). Mom sets the character centered on the current line length.

The second argument is the number of times to repeat the character.

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 baseline (such as asterisks). The argument must be preceded by a plus or minus sign, and must include a unit of measure.

If you enter LINEBREAK_CHAR with no arguments, sections of text will be separated by two blank lines when you invoke LINEBREAK.

Mom's default for LINEBREAK_CHAR is

    	.LINEBREAK_CHAR * 3 -3p

i.e. three asterisks, lowered 3 points from their normal vertical position (for PRINTSTYLE TYPESET; the vertical adjustment is -2 points for PRINTSTYLE TYPEWRITE).

## Quotes (line for line)

- Tag: QUOTE
- Quote control macros

Quotes are always set in nofill mode, 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 Blockquotes for how quotes, in the present sense, differ from longer passages of cited text.)

Since mom 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 (PRINTSTYLE TYPESET) or underlined (PRINTSTYLE TYPEWRITE), 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 QUOTE serves other needs, e.g. entering snippets of programming code, command line instructions, and so on.

Besides indenting quotes, mom further sets them off from running text with a small amount of vertical whitespace top and bottom. In PRINTSTYLE TYPEWRITE, this is always one full linespace. In PRINTSTYLE TYPESET, it's 1/2 of the prevailing leading 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 ALWAYS_FULLSPACE_QUOTES.

NOTE: ALWAYS_FULLSPACE_QUOTES applies to both QUOTE and BLOCKQUOTE, as does the control macro QUOTE_INDENT.

Macro: QUOTE toggle

QUOTE 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 QUOTE with any argument (e.g. OFF, END, X, Q...) to turn it off. Example:

    	.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

### Quote control macros

1. Family/font/size/indent
2. Spacing above and below (typeset only)
3. Underline quotes (typewrite only)
4. Manually break a footnoted quote that crosses pages/columns

### 1. Family/font/size/indent

See Arguments to the control macros.

    .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_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite)
                 (note that this macro also sets the indents (left and right)
                  for blockquotes)

### 2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)

If you'd like mom always to put a full linespace above and below quotes, invoke .ALWAYS_FULLSPACE_QUOTES with no argument. If you wish to restore mom's default behaviour regarding the spacing of quotes (see above), invoke the macro with any argument (OFF, QUIT, END, X...)

NOTE: This macro also sets mom's spacing policy for blockquotes.

### 3. Underlining -- UNDERLINE_QUOTES (typewrite only)

By default in PRINTSTYLE TYPEWRITE, mom underlines quotes. If you'd rather she didn't, invoke .UNDERLINE_QUOTES with any argument (OFF, QUIT, END, X...) to disable the feature. Invoke it without an argument to restore mom's default underlining of quotes.

If you not only wish that mom not underline quotes, but also that she set them in italic, you must follow each instance of QUOTE with the typesetting macro FT I. Furthermore, since mom underlines all instances of italics by default in PRINTSTYLE TYPEWRITE, you must also make sure that ITALIC_MEANS_ITALIC is enabled (see PRINTSTYLE TYPEWRITE control macros).

### 4. Manually break a footnoted quote -- BREAK_QUOTE

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 `.BREAK_QUOTE` 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.

BREAK_QUOTE may be used with both quotes and blockquotes, and hence is aliased as BREAK_BLOCKQUOTE, BREAK_CITATION and BREAK_CITE.

## Blockquotes (cited passages)

- Tag: BLOCKQUOTE (aliases: CITE, CITATION)
- BLOCKQUOTE control macros

BLOCKQUOTES are used to cite passages from another author's work. So that they stand out well from running text, mom indents them from both the left and right margins and sets them in a different point size (PRINTSTYLE TYPESET only). Output lines are filled, and, by default, quadded left.

Besides indenting blockquotes, mom further sets them off from running text with a small amount of vertical whitespace top and bottom. (See above for a complete explanation of how this is managed, and how to control it.)

You may notice that BLOCKQUOTE has no macro to control leading, 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 LS, but know that there will be Bottom Margin Consequences.

Macro: BLOCKQUOTE toggle
Aliases: CITE, CITATION

BLOCKQUOTE 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 BLOCKQUOTE with any argument (e.g. OFF, END, X, Q...) to turn it off. Example:

    	.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

If the cited passage runs to more than one paragraph, you MUST introduce each paragraph -- including the first! -- with PP.

NOTE: The aliases CITE and CITATION may be used in place of the BLOCKQUOTE tag, but "CITE" and "CITATION" must not be used to replace "BLOCKQUOTE" in any of the tag's control macros.

### Blockquote control macros

1. Family/font/size/indent
2. Spacing above and below (typeset only)
3. Manually break a footnoted blockquote that crosses pages/columns

### 1. Family/font/size/indent

See Arguments to the control macros.

    .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)
                      (note that this macro also sets the left indent for quotes)

### 2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)

If you'd like mom always to put a full linespace above and below blockquotes, invoke .ALWAYS_FULLSPACE_QUOTES with no argument. If you wish to restore mom's default behaviour regarding the spacing of blockquotes (see above), invoke the macro with any argument (OFF, QUIT, END, X...).

NOTE: This macro also sets mom's spacing policy for quotes.

## Footnotes

- Footnote behaviour
- Tag: FOOTNOTE
- FOOTNOTE control macros

For something so complex behind the scenes, footnotes are easy to use. You just type, for example

    	...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.

and be done with it. (Note the obligatory use of the \c inline escape.) Mom 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 COLUMNS, mom knows what to do, and Does The Right Thing.

Footnotes can be sly little beasts, though. If you're writing a document that's footnote-heavy, you might want to read the following.

### Footnote behaviour

By default, mom 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 mom is happy to oblige.

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. Mom 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.

If mom 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. FOOTNOTE 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.

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, mom 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.

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 mom 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).

Obviously, deferred footnotes aren't an issue if you request numbered footnotes that increase incrementally throughout the whole document -- yet another convenience mom has thought of.

Exceptionally, you may encounter problems with footnotes inside quotes and blockquotes that cross a page or column. See BREAK_QUOTE for a solution.

Macro: FOOTNOTE <toggle> | INDENT LEFT | RIGHT | BOTH <indent value>
*See HYPER-IMPORTANT NOTE!!!
<indent value> requires a unit of measure

FOOTNOTE 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 other than INDENT (i.e. OFF, QUIT, END, X...) tells mom you're finished.

Footnotes are the only element of running text that are not affected by the typesetting indent macros. In the unlikely event that you want a page's footnotes to line up with a running indent, invoke FOOTNOTE with the INDENT argument and pass it an indent direction and indent value. L, R, and B may be used in place of LEFT, RIGHT, and BOTH. FOOTNOTE must be invoked with INDENT for every footnote you want indented; mom does not save any footnote indent information from invocation to invocation.

NOTE: If a footnote runs to more than one paragraph(!), DO NOT begin the footnote with the PP tag. Use PP only to introduce subsequent paragraphs.

HYPER-IMPORTANT NOTE: The final word on the input line that comes immediately before FOOTNOTE MUST terminate with a \c inline escape. Otherwise, the footnote marker for the word won't be attached to it (i.e. mom will insert a word space between the word and the marker). See the footnote example above.

### Footnote control macros

1. Family/font/size/lead/quad
2. Footnote markers -- on or off
3. Footnote marker style -- star+dagger or numbered
4. Reset footnote number -- set footnote marker number to 1
5. Footnote rule -- on or off
6. Footnote rule length -- length of footnote separator rule
7. Adjust vertical position of footnote separator rule

### 1. Family/font/size/quad/lead

See Arguments to the control macros.

    .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

### 2. Footnote markers -- FOOTNOTE_MARKERS

If you don't want footnote markers, in either the body of the document or beside footnote entries themselves, toggle them off with .FOOTNOTE_MARKERS OFF (or END, QUIT, X...). This means, of course, that you'll have to roll your own. If you want them back on, invoke .FOOTNOTE_MARKERS with no argument. Footnote markers are on by default.

### 3. Footnote marker style -- FOOTNOTE_MARKER_STYLE

Mom gives you two choices of footnote marker style: star+dagger (see footnote behaviour above), or numbered.

.FOOTNOTE_MARKER_STYLE STAR gives you star+dagger (the default). There is a limit of 10 footnotes per page with this style.

.FOOTNOTE_MARKER_STYLE NUMBER 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 mom to start each page's footnote numbers at 1 with .RESET_FOOTNOTE_NUMBER (see below).

### 4. Reset footnote number -- RESET FOOTNOTE NUMBER

.RESET_FOOTNOTE_NUMBER, by itself, resets footnote numbering so that the next footnote you enter is numbered 1.

.RESET_FOOTNOTE_NUMBER PAGE tells mom to start every page's footnote numbering at 1.

### 5. Footnote rule -- FOOTNOTE_RULE

If you don't want a footnote separator rule, toggle it off with .FOOTNOTE_RULE OFF (or END, QUIT, X...). Toggle it back on by invoking .FOOTNOTE_RULE with no argument. The default is to print the rule.

### 6. Footnote rule length -- FOOTNOTE_RULE_LENGTH

If you want to change the length of the footnote separator rule, invoke .FOOTNOTE_RULE_LENGTH with a length, like this,

    	.FOOTNOTE_RULE_LENGTH 1i

which sets the length to 1 inch. Note that a unit of measure is required. The default is 4 picas for both printstyles.

### 7. Adjust vertical position of footnote separator rule -- FOOTNOTE_RULE_ADJ

The footnote separator rule is actually a baseline rule that falls on the baseline of the first line of a page's footnotes. By default, mom raises the rule 3 points from the baseline so that the separator and the footnotes don't look jammed together. If you'd prefer a different vertical adjustment, invoke .FOOTNOTE_RULE_ADJ with the amount you'd like. For example

    	.FOOTNOTE_RULE_ADJ 4.25p

raises the rule by 4-1/4 points. Note that you can only raise the rule, not lower it. A unit of measure is required.

## Endnotes

- Endnote behaviour
  - A Note on Endnote Spacing
  - Endnotes and columnar documents
- Tag: ENDNOTE
- Macro: ENDNOTES -- tell mom to output endnotes
- ENDNOTE control macros

Embedding endnotes into mom documents is accomplished the same way as embedding footnotes. The example below is identical to the one shown in the introduction to footnotes, except that `.FOOTNOTE` has been replaced with `.ENDNOTE`.

    	...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.

As with footnotes, note the obligatory use of the \c inline escape.

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):

1. 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.
2. Endnotes MUST be output explicitly; mom does not output them for you. In collated 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.

Within endnotes, you may use the document element tags PP, QUOTE and BLOCKQUOTE. This provides the flexibility to create endnotes that run to several paragraphs, as well as to embed cited text within endnotes.

Should you wish to change the appearance of quotes or blockquotes that appear within endnotes, you may do so with the quote control macros or blockquote control macros. HOWEVER... you must make the changes within each endnote, prior to invoking QUOTE or BLOCKQUOTE, and undo them prior to terminating the endnote (i.e. before ENDNOTE OFF), otherwise the changes will affect subsequent quotes and blockquotes that appear in the document body as well.

### Endnote behaviour

When you output endnotes (with ENDNOTES), mom finishes processing the last page of your document, then breaks to a new page for printing the endnotes. If the document type is CHAPTER, the centre part of the header (or footer), which, by default, contains a chapter number or title, is removed.

By default, mom starts the endnotes page with a bold, centered, 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.

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.

Of course, all the defaults, as well as the overall style of the endnotes page, can be changed with the endnote control macros. 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.

### A Note on Endnote Spacing

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 PARA_SPACE, where mom 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 ALD, RLD or SPACE) at the end of each endnote (i.e. just before invoking ENDNOTE OFF) rather than at the top.

### Endnotes and columnar documents

At present, there is no way to set a document in columns (see COLUMNS) and then turn off column mode for endnotes. If your document is set in columns, your endnotes will be, too.

Macro: ENDNOTE <toggle>
*See HYPER-IMPORTANT NOTE!!!

ENDNOTE 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. OFF, QUIT, END, X...) tells mom that you've finished the endnote.

NOTE: If an endnote runs to more than one paragraph, DO NOT begin the endnote with the PP tag. Use PP only to introduce subsequent paragraphs.

HYPER-IMPORTANT NOTE: The final word on the input line that comes immediately before ENDNOTE MUST terminate with a \c inline escape. Otherwise, the endnote number for the word won't be attached to it (i.e. mom will insert a word space between the word and the number). See the endnote example above.

Macro: ENDNOTES

Unlike footnotes, which mom automatically outputs at the bottom of pages, endnotes must be explicitly output by you, the user. ENDNOTES, by itself (i.e. without any argument), is the macro to do this.

Typically, you'll use ENDNOTES at the end of a document. If it's a single (i.e. not collated) document, mom will print the endnotes pertaining to it. If it's a collated document, mom will print all the endnotes contained within all sections of the document (typically chapters), appropriately identified and numbered.

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 ENDNOTES immediately prior to COLLATE. Mom 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 ENDNOTES outputs only those endnotes that mom collected after the previous invocation.

### Endnote control macros

Every time you embed an endnote in the body of a document, mom collects and processes the endnote for later outputting when you invoke ENDNOTES. For this reason, endnote control macros should always be invoked prior to the first instance of ENDNOTE/ENDNOTE OFF.

1. General endnotes-pages style control
   - Base family/font/quad for endnotes-pages
   - Base point size for the endnotes-pages
   - Leading of endnotes-pages
   - Size of paragraph first line indent in multi-paragraph endnotes
   - Inserting space between paragraphs of multi-paragraph endnotes
2. Endnotes-page header/footer control
3. Endnotes-page head control
   - Creating/modifying the endnotes-page head
   - Endnotes-page head control
   - Endnotes-page head underscoring
4. Endnote document-identification title
   - Creating/modifying the endnote document-identification title
   - Document-identification title control
   - Document-identification title underscoring
5. Endnotes-pages endnote numbering style
   - Endnotes-pages endnote numbering style control
   - Endnote numbering alignment
     - ENDNOTE_NUMBERS_ALIGN_RIGHT
     - ENDNOTE_NUMBERS_ALIGN_LEFT

## 1. General endnotes page style control

### Endnote family/font/quad

See Arguments to the control macros.

    .ENDNOTE_FAMILY    default = prevailing document family; default is Times Roman
    .ENDNOTE_FONT      default = roman
    .ENDNOTE_QUAD      default = justified

### Endnote point size

Macro: ENDNOTE_PT_SIZE <base type size of endnotes>

Unlike most other control macros that deal with size of document elements, ENDNOTE_PT_SIZE takes as its argument an absolute value, relative to nothing. Therefore, the argument represents the size of endnote type in points, unless you append an alternative unit of measure. For example,

    	.ENDNOTE_PT_SIZE 12

sets the base point size of type on the endnotes page to 12 points, whereas

    	.ENDNOTE_PT_SIZE .6i

sets the base point size of type on the endnotes page to 1/6 of an inch.

The type size set with ENDNOTE_PT_SIZE 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.

The default for PRINTSTYLE TYPESET is 12 points (the same default size used in the body of the document).

### Endnote lead

Macro: ENDNOTE_LEAD <base leading of endnotes>

Unlike most other control macros that deal with leading of document elements, ENDNOTE_LEAD takes as its argument an absolute value, relative to nothing. Therefore, the argument represents the leading of endnotes in points unless you append an alternative unit of measure. For example,

    	.ENDNOTE_LEAD 14

sets the base leading of type on the endnotes page to 14 points, whereas

    	.ENDNOTE_LEAD .5i

sets the base leading of type on the endnotes page to 1/2 inch.

The default for PRINTSTYLE TYPESET is 14 points.

### Endnote paragraph indent

Macro: ENDNOTE_PARA_INDENT <amount to indent first line of paragraphs in endnotes>
*Requires a unit of measure

ENDNOTE_PARA_INDENT works exactly the same way as PARA_INDENT, except that the indent given is the amount by which to indent the first lines of endnote paragraphs, not document body paragraphs.

The default is 1.5 ems for PRINTSTYLE TYPESET; 1/2 inch for PRINTSTYLE TYPEWRITE.

NOTE: 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 ENDNOTE_PARA_INDENT.

### Endnote paragraph spacing

Macro: ENDNOTE_PARA_SPACE <toggle>

ENDNOTE_PARA_SPACE works exactly the same way as PARA_SPACE, except that it inserts a blank line between endnote paragraphs, not document body paragraphs.

The default is not to insert a blank line between paragraphs in endnotes.

NOTE: Each endnote itself is always separated from any previous endnote by a line space. ENDNOTE_PARA_SPACE refers only to paragraphs that appear within each discrete endnote.

## 2. Endnotes-page header/footer control

If you wish to modify the header/footer that appears on endnotes page(s), make the changes before you invoke ENDNOTES, not afterwards.

Except in the case of DOCTYPE CHAPTER, mom prints the same header or footer used throughout the document on the endnotes page(s). Chapters get treated differently in that, by default, mom 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 not want mom to remove the centre string from the endnotes page(s) headers/footers, invoke ENDNOTES_HEADER_CENTER with no argument.

### Endnotes page(s) header/footer center string

Macro: ENDNOTES_HEADER_CENTER toggle

If your DOCTYPE is `CHAPTER` and you want mom to include a centre string in the headers/footers that appear on endnotes pages, invoke ENDNOTES_HEADER_CENTER (or ENDNOTES_FOOTER_CENTER) with no argument. Mom's default is NOT to print the center string.

If, for some reason, having enabled the header/footer center string on endnotes pages, you wish to disable it, invoke the same macro with any argument (OFF, QUIT, Q, X...).

## 3. Endnotes page head control

### Endnotes-page head string

Macro: ENDNOTE_STRING "<head to print at the top of endnotes>"

By default, mom 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 ENDNOTE_STRING 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 ENDNOTE_STRING with a blank argument (either two double-quotes side by side -- `""` -- or no argument at all).

### Endnotes-page head control

See Arguments to the control macros.

    .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 = centered

    *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)

### Endnotes-page head underscoring

Macro: ENDNOTE_STRING_UNDERSCORE toggle | 2

Invoked by itself, ENDNOTE_STRING_UNDERSCORE will underscore the endnotes-page head. Invoked with the argument 2 (i.e. the digit 2), ENDNOTE_STRING_UNDERSCORE will double-underscore the head. Invoked with any other argument, the macro disables underscoring of the head.

Mom's default is to double-underscore the head, therefore if you want no underscoring, you must insert `.ENDNOTE_STRING_UNDERSCORE OFF` (or `QUIT, X, NO, NONE,` etc.) into your document prior to outputting endnotes with ENDNOTES.

## 4. Endnote document-identification title

### Endnote document-identification title string

Macro: ENDNOTE_TITLE "<title to identify a document in endnotes>"

By default, mom identifies the document(s) to which endnotes belong by the document title(s) given to the TITLE macro. If you want her to identify the document(s) another way, invoke ENDNOTE_TITLE with the identifying title you want, surrounded by double-quotes. If you don't any identifying title, invoke ENDNOTE_TITLE with a blank argument (either two double-quotes side by side -- `""` -- or no argument at all).

### Endnote document-identification title control

See Arguments to the control macros.

    .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)

### Endnote document-identification title underscoring

Macro: ENDNOTE_TITLE_UNDERSCORE toggle

Inovked by itself, ENDNOTE_TITLE_UNDERSCORE will underscore the endnote document-identification title. Invoked with any other argument, the macro disables underscoring of the title.

Mom's default is to underscore the document-identification title, therefore if you want no underscoring, you must insert `.ENDNOTE_TITLE_UNDERSCORE OFF` (or `QUIT, X, NO, NONE,` etc.) into your document prior to outputting endnotes with ENDNOTES. at all.

## 5. Endnotes-pages endnote numbering style

### Endnote numbering style control

See Arguments to the control macros.

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).

    .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)

### Endnote numbering alignment

By default, mom hangs the numbers on endnotes pages, aligned right to two placeholders, producing this:

    	 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.

The macros to alter this behaviour are

- ENDNOTE_NUMBERS_ALIGN_RIGHT
- ENDNOTE_NUMBERS_ALIGN_LEFT

Macro: ENDNOTE_NUMBERS_ALIGN_RIGHT <number of placeholders>

ENDNOTE_NUMBERS_ALIGN_RIGHT takes one (non-optional) argument: the number of placeholders to reserve for right alignment of endnote numbers.

For example, if you have fewer than ten endnotes, you might want to do

    	.ENDNOTE_NUMBERS_ALIGN_RIGHT 1

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

    	.ENDNOTE_NUMBERS_ALIGN_RIGHT 3

to ensure that the numbers hang and are properly right-aligned.

Macro: ENDNOTE_NUMBERS_ALIGN_LEFT

If you don't want the endnote numbers to hang and right-align, invoke ENDNOTE_NUMBERS_ALIGN_LEFT, which doesn't require any argument. This disables hanging and right-alignment of endnote numbers, so that the example above comes out like this:

    	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.

## Terminate document processing

- Tag: FINIS
- Changing the FINIS string

The use of FINIS is optional. If you invoke it (at the end of a document, of course), mom turns off footers (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 em-dashes.

If you're writing in a language other than English, you can change what mom prints for END with the control macro FINIS_STRING.

Macro: FINIS

The use of FINIS is optional, but if you use it, it should be the last macro you invoke in a document. See above for a description of how FINIS behaves.

NOTE: If you don't use FINIS, and you don't want footers (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:

    	.FOOTERS OFF
    	.PAGINATE OFF

### Changing the FINIS string

By default, FINIS prints the word END between em-dashes. If you'd like mom to print something else between the dashes, use the FINIS_STRING macro (anywhere in the document prior to FINIS).

For example, if your document's in French, you'd do

    	.FINIS_STRING "FIN"

Double-quotes must enclose the macro's argument.

NOTE: If you pass FINIS_STRING a blank string, i.e.

    	.FINIS_STRING ""

mom will still print the em-dashes if you invoke FINIS. This, in effect, produces a short, centered horizontal rule that terminates the document. (In PRINTSTYLE TYPEWRITE, it's a short, dashed line composed of four hyphens.)

Next Prev Top Back to Table of Contents