groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff-commit] groff/contrib/mom/momdoc appendices.html color....


From: Peter Schaffter
Subject: [Groff-commit] groff/contrib/mom/momdoc appendices.html color....
Date: Tue, 01 Aug 2006 01:14:09 +0000

CVSROOT:        /sources/groff
Module name:    groff
Changes by:     Peter Schaffter <PTPi>  06/08/01 01:14:08

Added files:
        contrib/mom/momdoc: appendices.html color.html cover.html 
                            definitions.html docelement.html 
                            docprocessing.html goodies.html 
                            graphical.html headfootpage.html 
                            inlines.html intro.html letters.html 
                            macrolist.html rectoverso.html refer.html 
                            reserved.html toc.html typemacdoc.html 
                            typesetting.html using.html 

Log message:
        Re-added documentation files in their new xhtml format.  Added a
        new file, graphical.html.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/appendices.html?cvsroot=groff&rev=1.11
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/color.html?cvsroot=groff&rev=1.8
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/cover.html?cvsroot=groff&rev=1.9
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/definitions.html?cvsroot=groff&rev=1.11
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/docelement.html?cvsroot=groff&rev=1.28
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/docprocessing.html?cvsroot=groff&rev=1.30
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/goodies.html?cvsroot=groff&rev=1.19
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/graphical.html?cvsroot=groff&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/headfootpage.html?cvsroot=groff&rev=1.14
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/inlines.html?cvsroot=groff&rev=1.17
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/intro.html?cvsroot=groff&rev=1.14
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/letters.html?cvsroot=groff&rev=1.10
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/macrolist.html?cvsroot=groff&rev=1.9
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/rectoverso.html?cvsroot=groff&rev=1.8
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/refer.html?cvsroot=groff&rev=1.4
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/reserved.html?cvsroot=groff&rev=1.28
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/toc.html?cvsroot=groff&rev=1.25
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/typemacdoc.html?cvsroot=groff&rev=1.11
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/typesetting.html?cvsroot=groff&rev=1.19
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/using.html?cvsroot=groff&rev=1.9

Patches:
Index: appendices.html
===================================================================
RCS file: appendices.html
diff -N appendices.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ appendices.html     1 Aug 2006 01:14:08 -0000       1.11
@@ -0,0 +1,841 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Appendices</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="reserved.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="macrolist.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="APPENDICES"><h2 align="center"><u>APPENDICES</u></h2></a>
+
+<ul>
+    <li><a href="#MOREDOC">Further notes on this documentation</a></li>
+    <li><a href="#FONTS">Adding PostScript fonts to groff</a></li>
+    <ul>
+        <li><a href="#HOWTO">How to create a PostScript font for use with 
groff</a></li>
+    </ul>
+    <li><a href="#CODENOTES">Some reflections on mom, with an apology</a></li>
+    <li><a href="#CONTACT">Contact the author</a></li>
+    <li><a href="reserved.html">List of reserved words</a></li>
+</ul>
+
+<a name="MOREDOC"><h2><u>Further notes on this documentation</u></h2></a>
+
+<p>
+Some <strong>mom</strong> users are sure to ask: &quot;Why is this
+documentation in html?  If <strong>mom</strong>'s so great, why not
+typeset the whole thing to show her off?  And if groff's so great,
+why not write a man page?&quot;
+</p>
+
+<p>
+Valid questions, to be sure, and <strong>mom</strong> has
+answers.  (Okay &mdash; I have answers, but I speak for
+<strong>mom</strong>.)
+</p>
+
+<p>
+The documentation is in html because I still find it the best tool
+for navigating lengthy manuals.  Html, with its anchors and links,
+came into being precisely so people could do something they'd never
+been able to with the printed word: instantly track down internal
+and external references in a document.
+</p>
+
+<p>
+To me, it's essential that people reading <strong>mom</strong>'s
+documentation never have difficulty finding precisely the macro
+they need for a particular task.  Equally, when reading up on
+a macro, they should never be presented with terms or other
+macro names for which they cannot instantly find accurate explanations.
+Short of having written the documentation in TeX for the info browser
+(and TeX bloat is one of the reasons I prefer to typeset with groff),
+I can think of no better way to achieve the kind of truly useful
+documentation I wanted than html.
+</p>
+
+<p>
+Another reason for html is that working with <strong>mom</strong>
+necessarily involves creating files inside a text editor.  I use
+elvis, a truly fabulous vi clone that does a terrific job of rendering
+basic (text only) html.  I may have written <strong>mom</strong>,
+but I still regularly call on her documentation.  Elvis, with its
+html capabilities, lets me write and format <strong>mom</strong>
+documents AND peruse her documentation, clicking on links as
+necessary, without ever leaving the comfy confines of my
+text editor.
+</p>
+
+<p>
+Not everyone, of course, uses an editor with html capabilities.
+For them, firing up a browser is obviously necessary for reading
+<strong>mom</strong>'s documentation.  Browsers being what they are,
+and not everyone on the globe having the cash for muscle machines
+to run Galeon, or Konqueror or Mozilla, their browser
+needs to be fast and light &mdash; and probably &quot;text-only&quot;.
+</p>
+
+<p>
+Some <strong>mom</strong> users may notice the absence of graphics,
+frames, and (for the most part) tables in this documentation.  The
+reason is simple: text-only browsers.  People who, for whatever
+reason (choice or necessity), use lynx, or links or w3m to read
+the documentation must be able to make sense of it.  All of it.
+Graphical examples of <strong>mom</strong> in action might have made
+some parts of the documentation easier to write, but would have
+excluded text-only browser users.  And it goes without saying that
+the documentation looks fine if you're reading it in a graphical
+browser.
+</p>
+
+<hr/>
+
+<!-- ===================================================================== -->
+
+<a name="FONTS"><h2><u>Adding PostScript fonts to groff</u></h2></a>
+
+<p>
+Robert Valiant has set up a web page containing information,
+instructions and strategies for adding PostScript and TrueType fonts
+to <strong>groff</strong>.  The page is directed at Debian
+GNU/Linux users, but knowledgable users of other GNU/Linux
+distributions should have no difficulty adapting it to their needs.
+The site is located at
+
+<pre>
+    <a 
href="http://russia.shaps.hawaii.edu/software/software.html";>http://russia.shaps.hawaii.edu/software/software.html</a>
+</pre>
+</p>
+
+<a name="SMALL_NOTE"></a>
+
+<p>
+<em><strong>Small note:</strong> the term</em>
+<kbd>&lt;prefix&gt;</kbd> <em>in this section refers to the
+directory in which groff is installed, typically something
+like</em> <kbd>/usr/share/groff/&lt;version&gt;</kbd> <em>(for
+distro-specific, pre-compiled groff packages) or</em>
+<kbd>/usr/local/share/groff/&lt;version&gt;</kbd> <em>(if you've
+built groff from source).</em>
+</p>
+
+<p>
+Groff comes with a small library of PostScript
+<a href="definitions.html#TERMS_FAMILY">families</a>
+(see the
+<a href="typesetting.html#FAMILY">FAMILY</a>
+macro for a list).  The families have four
+<a href="definitions.html#TERMS_FONT">fonts</a>
+associated with them.  These fonts are a combination of
+<a href="definitions.html#TERMS_WEIGHT">weight</a>
+and
+<a href="definitions.html#TERMS_SHAPE">shape</a>:
+
+<pre>
+    <strong>R</strong>  (Roman, usually Medium weight),
+    <strong>I</strong>  (Italic, usually Medium weight),
+    <strong>B</strong>  (Bold, usually Roman shape) and
+    <strong>BI</strong> (Bold Italic)
+</pre>
+</p>
+
+<p>
+If you do a lot of document processing or typesetting with
+<strong>mom</strong>, you'll find, sooner or later, that these
+families and their associated fonts aren't sufficient.  You'll want
+to supplement them, either with more fonts for the families already
+provided &mdash; &quot;Damn!  I need Helvetica Bold Condensed
+Italic!&quot; &mdash; or with entire new families.
+</p>
+
+<p>
+Without going into the gory details (yet), while it's true that
+adding fonts to groff is a relatively straightforward
+process, extending existing families or adding new ones requires
+some planning.
+</p>
+
+<p>
+The traditional approach to extending groff families has been
+to create new families for non-default weights and
+shapes (e.g.  Light, which is a weight; Condensed, which is a
+shape), then to associate them with groff's predefined <strong>R,
+I, B</strong> and <strong>BI</strong> font styles.  An example
+of this can be seen in the groff PostScript font library itself
+<nobr>(&lt;prefix&gt;/font/devps/):</nobr> there's one
+&quot;family&quot; for Helvetica (HR, HI, HB, HBI) and another for
+Helvetica Narrow (HNR, HNI, HNB, HNBI).
+</p>
+
+<p>
+The difficulty with this approach is that typographers
+tend to think of &quot;families&quot; as referring to the
+entire set of font weights and shapes associated with a
+particular family name.  For example, when a typesetter says
+&quot;the Helvetica family&quot;, s/he is including the
+<a href="definitions.html#TERMS_WEIGHT">weights</a>
+Helvetica Thin, Helvetic Light, Helvetica Regular, Helvetica Bold,
+Helvetica Heavy, etc, and all their associated
+<a href="definitions.html#TERMS_SHAPE">shapes</a>
+(Roman, Italic, Condensed, Narrow, Extended, Outline, etc).
+</p>
+
+<p>
+Thus, intuitively, when a typesetter gives <strong>mom</strong> a
+<kbd>.FAM(ILY)</kbd> directive, s/he reasonably expects that any
+subsequent <kbd>.FT</kbd> directive will access the desired font
+from the Helvetica family &mdash; without the need to state explicitly both
+family and font to <kbd>.FT</kbd>, as it is explained one can do in
+the
+<a href="typesetting.html#FAMILY">FAMILY</a>
+and
+<a href="typesetting.html#FONT">FT</a>
+sections of these documents.
+</p>
+
+<p>
+If one had, say, the fonts, Helvetica Light Roman and Helvetica
+Light Italic as well as Helvetica Light Condensed Roman and
+Helvetica Light Condensed Italic, the traditional approach would
+require two &quot;partial&quot; families: HLR/HLI and HLCDR/HLCDI.
+Accessing these family/font combos routinely throughout a document
+would then require changing family (with <kbd>.FAM(ILY)</kbd>) and
+selecting the desired font (with <nobr><kbd>.FT R</kbd></nobr>
+or <nobr><kbd>.FT I</kbd>),</nobr> or passing <kbd>.FT</kbd> the
+lengthy family+fontname (.e.g. <nobr><kbd>.FT HLCDI</kbd>).</nobr>
+</p>
+
+<p>
+Fortunately, groff provides a mechanism whereby it's possible to
+extend the basic <strong>R, I, B</strong> and <strong>BI</strong>
+fonts (&quot;styles&quot; in groff-speak) so that one can, in
+fact, create extensive type families, and access all the fonts
+in them with <kbd>.ft</kbd> (groff) or <kbd>.FT</kbd> (mom).
+</p>
+
+<p>
+<strong>Mom</strong> uses this mechanism to offer, in addition to
+groff's default PostScript font styles, the following:
+
+<a name="STYLE_EXTENSIONS"></a>
+
+<pre>
+Mom's extensions to groff's basic font styles
+=============================================
+
+    L      =  Light Roman
+    LI     =  Light Italic
+    LCD    =  Light Condensed Roman
+    LCDI   =  Light Condensed Italic
+    LEX    =  Light Extended Roman
+    LEXI   =  Light Extended Italic
+    CD     =  Medium/Book Condensed Roman
+    CDI    =  Medium/Book Condensed Italic
+    EX     =  Medium/Book Extended Roman
+    EXI    =  Medium/Book Extended Italic
+    DB     =  DemiBold Roman
+    DBI    =  DemiBold Italic
+    BCD    =  Bold Condensed Roman
+    BCDI   =  Bold Condensed Italic
+    BEX    =  Bold Extended Roman
+    BEXI   =  Bold Extended Italic
+    HV     =  Heavy Roman
+    HVI    =  Heavy Italic
+    HVCD   =  Heavy Condensed Roman
+    HVCDI  =  Heavy Condensed Italic
+    HVEX   =  Heavy Extended Roman
+    HVEXI  =  Heavy Extended Italic
+    BL     =  Black Roman
+    BLI    =  Black Italic
+    BLCD   =  Black Condensed Roman
+    BLCDI  =  Black Condensed Italic
+    BLEX   =  Black Extended Roman
+    BLEXI  =  Black Extended Italic
+    UBL    =  Ultra-Black Roman
+    UBLI   =  Ultra-Black Italic
+</pre>
+</p>
+
+<p>
+Thus, with <strong>mom</strong>, if you've installed, say, some
+extra Helvetica fonts and named them according to the convention FS
+(where &quot;F&quot; means family and &quot;S&quot; means font
+style), once having entered
+
+<pre>
+    .FAMILY H
+      or
+    .FAM H
+</pre>
+
+you can access any of those Helvetica fonts simply by
+passing the correct argument from the list above to
+<a href="typesetting.html#FONT">FT</a>.
+</p>
+
+<p>
+For example, if you were working in Medium Roman
+<nobr>(<kbd>.FT R</kbd>)</nobr> and you needed Medium Condensed
+Italic for a while (assuming it's installed), you'd just type
+
+<pre>
+    .FT CDI
+</pre>
+
+to access the Medium Condensed Italic font from the Helvetica
+family.
+</p>
+
+<p>
+<strong>Mom</strong>'s list of font styles doesn't pretend to
+be exhaustive, but rather tries to cover the basic weight/shape
+combinations likely to be found in any reasonably complete type
+family.
+</p>
+
+<p>
+The actual extension names are arbitrary and can be used in a
+flexible manner.  For example, if you create a family that has a
+DemiBold font (DB) but no Bold font (B), you might find it more
+convenient to give the DemiBold font the extension &quot;B&quot;.
+Equally, if the family has an ExtraBold font, you might find it more
+convenient to use the extension &quot;HV&quot; (Heavy).
+</p>
+
+<a name="REGISTER_STYLE"></a>
+
+<p>
+However, you may, at needs, want to add to <strong>mom</strong>'s
+list of font styles.  You can do this by editing the file, om.tmac.
+Near the top, you'll see lines of the form
+
+<pre>
+    .sty \n[.fp] L       \" Light Roman
+    .sty \n[.fp] LI      \" Light Italic
+    .sty \n[.fp] LCD     \" Light Condensed Roman
+</pre>
+</p>
+
+<p>
+Simply add your new font style by imitating what you see and
+plugging in your new font style (having, of course, first created the
+font, correctly named, in groff's PostScript font directory; see
+<a href="#HOWTO">How to create a PostScript font for use with groff</a>).
+</p>
+
+<p>
+For example, if you already have some fonts from the Univers
+family installed and have called the family <strong>UN</strong>,
+you might decide at some point to add the Bold Outline font
+(<strong>UNBO</strong>).  In which case, you'd add
+
+<pre>
+    .sty \n[.fp] BO      \" Bold Outline
+</pre>
+
+to the <nobr><kbd>.sty \n[.fp] &lt;font style&gt;</kbd></nobr> list
+in om.tmac.
+</p>
+
+<p>
+Be careful, though, that any styles you add do not conflict
+with <strong><u>family</u></strong> names that already exist.
+&quot;C&quot;, for example, conflicts with the Courier family
+(<strong>CR, CI, CB, CI</strong>).  Were you to create a font
+style &quot;C&quot;, thinking that <nobr><kbd>.FT C</kbd></nobr>
+would give you access to font style once you'd given a
+<kbd>.FAM(ILY)</kbd> directive, you'd get a nasty surprise: your
+type would come out in Courier Roman!
+</p>
+
+<p>
+<strong>VERY IMPORTANT NOTE: mom</strong>'s font extensions are
+not &quot;user-space&quot; controllable via a macro.  If you've
+been using groff for a long time, and have already rolled your own
+solution to adding PostScript families, fonts, weights, shapes, etc. to
+groff, you may find that <strong>mom</strong>'s font extensions
+conflict with your own scheme.  Should that be the case, comment out
+the <nobr><kbd>.sty \n[.fp] &lt;font style&gt;</kbd></nobr> lines
+found near the top of the <kbd>om.tmac</kbd> file.
+</p>
+
+<a name="HOWTO"><h3><u>How to create a PostScript font for use with 
groff</u></h3></a>
+
+<p>
+These instructions aren't meant to cover all possibilities, merely
+to present one way of making PostScript families/fonts available to
+groff and <strong>mom</strong>.
+</p>
+
+<p>
+GNU/Linux distributions being what they are, directory locations may
+differ and the presence of some executables can't be guaranteed.
+I run a Debian system.  The instructions reflect that.  Users of
+other distros will have to interpret them according to the way their
+distro operates.
+</p>
+
+<h4><u>What you need before you start</u>:</h4>
+
+<ul>
+    <li>groff, version 1.18 or higher
+        <br/>
+
+        (Debian package: groff)
+    </li>
+    <li>a full installation of gs and associated tools
+        <br/>
+
+        (Debian package: gs or gs-gpl or gs-esp or gs-afpl)
+    </li>
+    <li>a library of gs fonts
+        <br/>
+
+        (Debian package: gsfonts)
+    </li>
+    <li>a utility for converting TrueType fonts to Type1 fonts
+        <br/>
+
+        (Debian package: ttf2pt1)
+    </li>
+    <li>a font manager
+        <br/>
+
+        (Debian packages: defoma, psfontmgr, dfontmgr)
+    </li>
+    <li>perl
+        <br/>
+
+        (Debian package: perl)
+     </li>
+</ul>
+
+<p>
+A reasonably complete installation of any major GNU/Linux distro
+should already have these on your system, except perhaps for the
+utility to convert TrueType fonts to Type1 fonts.
+</p>
+
+<h4><u>Initial preparation (you only have to do this once)</u>:</h4>
+
+<ol>
+    <li>If you don't already have one, create a directory in your
+        home directory to hold new fonts.  Any directory name will do.
+        I use <kbd>~/Fonts</kbd>, with subdirectories for Type1,
+        TrueType and Groff fonts.
+    </li>
+<a name="SITE-FONT"></a>
+    <li>Locate the groff directory, site-font.  The exact location is
+        difficult to predict, owing to differences between distros
+        and whether you're using a pre-packaged groff or have built
+        it from source.  Some typical locations are
+        <br/><br/>
+
+        <ul>
+            <li><kbd>/usr/share/groff</kbd></li>
+            <li><kbd>/usr/local/share/groff</kbd></li>
+            <li><kbd>/etc/groff</kbd></li>
+        </ul>
+        <br/>
+
+        If you can't find the site-font directory, locate
+        groff's site-tmac directory, and, as root, create site-font
+        in the same directory as the one that holds site-tmac.
+        E.g., if you find site-tmac in <kbd>/usr/share/groff</kbd>,
+        create site-font in <kbd>/usr/share/groff</kbd>.
+    </li>
+    <li>Locate the file <kbd>&lt;prefix&gt;/font/devps/generate/textmap</kbd>
+        and symlink it to <kbd>textmap</kbd> in the directory that
+        contains your personal collection of PostScript fonts.  (See the
+        <a href="#SMALL_NOTE">Small Note</a>,
+        above, for the meaning of
+        <nobr><kbd>&lt;prefix&gt;</kbd>).</nobr>  On my system,
+        at the time of writing, <kbd>&lt;prefix&gt;</kbd> is
+        <nobr><kbd>/usr/local/share/groff/1.19.2/</kbd>,</nobr>
+        therefore, I symlink it in <kbd>~/Fonts/Type1</kbd> with
+
+        <pre>
+<kbd>ln -s /usr/local/share/groff/1.19.2/font/devps/generate/textmap 
textmap</kbd>
+        </pre>
+    </li>
+    <li>Locate the file <kbd>&lt;prefix&gt;/font/devps/text.enc</kbd> and
+        symlink it to <kbd>text.enc</kbd> in your personal font
+        directory.  On my system, in <kbd>~/Fonts/Type1</kbd>
+
+        <pre>
+ln -s /usr/local/share/groff/1.19.2/font/devps/text.enc text.enc
+        </pre>
+    </li>
+    <li>Make sure you know which directory/ies holds your gs fonts.
+        You'll need the information later.  On a Debian box, some
+        typical locations are
+        <br/><br/>
+        <ul>
+            <li><kbd>/usr/lib/ghostscript/fonts</kbd></li>
+            <li><kbd>/usr/share/ghostscript/fonts</kbd></li>
+            <li><kbd>/usr/share/fonts/type1/gsfonts</kbd></li>
+        </ul></li>
+</ol>
+
+<h4><u>Font creation/installation</u>:</h4>
+
+<ol>
+    <li>Acquire the font in either Type1 (.pfb) or TrueType (.ttf) format.</li>
+    <li>Place the font in your personal font directory; for me,
+        that's <kbd>~/Fonts/Type1</kbd> or <kbd>~/Fonts/TrueType.</kbd>
+    </li>
+    <li>In your personal font directory, run one of the following:</li>
+    <ul>
+        <li>For Type1 fonts</li>
+        <ul>
+            <li><kbd>getafm fontfilename.pfb | gsnd - > fontfilename.afm</kbd>
+                <br/>
+
+                <em>For Type1 fonts, this will generate something called
+                an .afm (Adobe Font Metrics) file, which is
+                required to create PostScript fonts for groff.</em>
+            </li>
+        </ul>
+        <li>For TrueType fonts</li>
+        <ul>
+            <li><kbd>ttf2pt1 \-b fontfilename.ttf</kbd>
+
+                <em>For TrueType fonts, this will generate a PostScript
+                .pfb file as well as an .afm file.</em>
+            </li>
+        </ul>
+    </ul>
+    <li>Still in your personal font directory, run</li>
+    <ul>
+        <li><kbd>afmtodit -e text.enc fontfilename.afm textmap 
GROFF_FONTNAME</kbd>
+            <br/><br/>
+
+            Q: <em>How do I choose a GROFF_FONTNAME?</em>
+            <br/><br/>
+
+            A: Start by considering the
+            <a href="definitions.html#TERMS_FAMILY">family</a>
+            to which the font belongs.  If you're adding to a family that
+            already exists in groff's <kbd>&lt;prefix&gt;/font/devps</kbd>
+            directory, that will be the first part of the font name.  (See
+            <a href="typesetting.html#FAMILY">here</a>
+            for a list of families already installed, along with their groff
+            names.)  Add to that name the appropriate weight/style extension,
+            listed
+            <a href="#STYLE_EXTENSIONS">here</a>.
+            <br/><br/>
+    
+            For example, if you're adding Helvetica Light Roman, your
+            GROFF_FONTNAME would be <kbd>HL</kbd>.  If you're adding
+            Helvetica Light Italic, your GROFF_FONTNAME would be
+            <kbd>HLI</kbd>.
+            <br/><br/>
+    
+            If you're adding a font not already in groff's PostScript
+            families, first choose a meaningful name for the
+            <a name="definitions.html#TERMS_FAMILY">family</a>
+            to which the font belongs.  The name can be anything you
+            like.  If, for example, the family is Garamond, you could
+            choose GARAMOND, GARA, GD, or even just plain G as the
+            family name.  Then tack on the appropriate style/weight
+            extension.  Thus, if you were installing Garamond Bold
+            Condensed Italic and had chosen <kbd>GD</kbd> as the family
+            name for Garamond, your GROFF_FONTNAME would be
+            <kbd>GDBCDI</kbd>.
+            <br/><br/>
+    
+            In <strong>mom</strong>, you can then access the Garamond
+            family with <kbd>.FAM GD</kbd>, and the Bold Condensed
+            Italic font wth <kbd>.FT BCDI</kbd>.
+            <br/><br/>
+    
+            <strong>Note:</strong> The family name need not be in upper
+            case, and there's no limit to the length of the name.
+            &quot;Garamond&quot;, for example, could be the name you
+            give the Garamond family.  In fact, you might find it
+            preferable, since a) you wouldn't have to remember how
+            you'd named the family, and b) should you be scanning
+            your
+            <a href="#SITE-FONT">site-font directory</a>,
+            something like GaramondBCDI will be more meaningful than,
+            say, <strong>GDBCDI</strong>.
+        </li>
+    </ul>
+    <li>Copy or move GROFF_FONTNAME to your
+        <a href="#SITE-FONT">site-font directory</a>,
+        or change to the site-font directory and make a symlink to
+        GROFF_FONTNAME in your personal directory.
+    </li>
+    <li>Copy or move the .pfb file to the directory that
+        holds your gs fonts, or change to that directory and make a
+        symlink to the .pfb file in your personal directory.
+    </li>
+    <li>Do whatever your system or distro requires in order to
+        register the new PostScript font (the .pfb file).  On a
+        Debian system, as root, you can run dfontmgr for a
+        graphical interface that will take care of registering the
+        font.
+    </li>
+</ol>
+
+<p>
+Written out in full, adding fonts looks like a lot of work.  It
+isn't.  Basically, it's just:
+
+<ul>
+    <li>acquire the font</li>
+    <li>generate an .afm file for the font</li>
+    <li>create the groff font</li>
+    <li>put the groff font in<kbd> &lt;prefix&gt;/font/devps</kbd></li>
+    <li>make sure gs knows about the font</li>
+</ul>
+</p>
+
+<p>
+After you've done it a couple of times, it all makes sense, and
+is really quite easy.  Not to mention that once you understand
+the process, you can write a bash script to automate the process.
+Here's an example, which you can adapt to your own needs.  The
+script requires an argument (the .pfb filename), then prompts for
+the GROFF_FONTNAME.
+</p>
+
+<pre>
+#!/bin/bash
+#
+# A script for installing Type1 fonts.
+#
+# Builds .afm files from .pfb files, generates a groff font from the
+# .afm file, makes a symlink in /usr/lib/ghostscript/font/ to the
+# .pfb file, and a symlink in site-font to the groff font
+#
+
+# .pfb filename, stripped of .pfb extension
+FONT=`basename $1 .pfb`
+
+# Directory holding my personal collection of type1 fonts
+FONTDIR="$HOME/Fonts/Type1"
+
+# Directory holding system ghostscript fonts
+GS_FONTDIR="/usr/lib/ghostscript/fonts"
+
+# Location of site-font/devps
+GROFF_SITE_FONTDIR="/usr/local/share/groff/site-font/devps"
+
+# Personal groff fonts directory
+GROFF_FONTS="$HOME/Fonts/Groff"
+
+# Symlinks to textmap and text.enc
+TEXTMAP="$FONTDIR/textmap"
+TEXTENC="$FONTDIR/text.enc"
+
+if [ ! `pwd` = "$FONTDIR" ] ; then
+    echo "Changing into $FONTDIR directory.."
+    cd $FONTDIR
+    sleep 1
+else
+    sleep 1
+fi
+
+echo -n "Groff name for this font: "
+read FONTNAME
+sleep 1
+
+echo "Getting .afm.."
+getafm $FONT.pfb | gsnd - > $FONT.afm
+sleep 1
+
+echo "Creating $FONTNAME.."
+afmtodit -e $TEXTENC $FONTDIR/$FONT.afm $TEXTMAP $FONTNAME
+mv -i $FONTNAME $GROFF_FONTS
+sudo ln -s $GROFF_FONTS/$FONTNAME $GROFF_SITE_FONTDIR/$FONTNAME
+sleep 1
+
+echo "Linking $FONT in $GS_FONTDIR.."
+cd $GS_FONTDIR
+sudo ln -s $FONTDIR/$FONT.afm $FONT.afm
+sudo ln -s $FONTDIR/$FONT.pfb $FONT.pfb
+sleep 1
+
+# This next bit is Debian specific.  If you're not running a
+# Debian system, replace it with whatever your distro requires
+# in order to register Type1 fonts.
+
+if [ !`pidof -x /usr/bin/dfontmgr` ] ; then
+    echo "I will now run dfontmgr so you can register the font."
+    exec sudo dfontmgr &amp;
+else
+    echo "You may now register the font with dfontmgr."
+fi
+</pre>
+
+<hr/>
+
+<!-- ===================================================================== -->
+
+<a name="CODENOTES"><h2><u>Some reflections on mom</u></h2></a>
+
+<p>
+<strong>Mom</strong>, as a complete macro set, had her origins
+in a &quot;library&quot; of groff routines I wrote over the
+years to handle various aspects of typesetting and document
+processing that weren't adequately covered by ms, me, mm, and so
+on.  Typically, I'd use the library to cobble together macro
+sets for new challenges as they came my way.
+</p>
+
+<p>
+If, as Eric Raymond asserts, open source begins with a programmer
+scratching a personal itch, then <strong>mom</strong> can truly be
+called open source, even if, a mere humble set of macros standing on
+the shoulders of a giant named troff, she isn't programming at all.
+</p>
+
+<p>
+As a writer living in a perpetual state of penury, all the computers
+I've ever owned have been hand-me-downs &mdash; several generations
+out-of-date and &quot;resource challenged&quot;.  Disk space has
+always been an issue, as has processor speed and available RAM.
+One of the reasons I run GNU/Linux is that it has helped enormously
+to get the most out of my poor little boxes.  (It has been pointed
+out to me that NetBSD might be an even better choice of operating
+systems for computers with limited resources.)
+</p>
+
+<p>
+In Linux-land, the choice of typesetting systems basically comes down
+to groff or TeX.  Both are wonderful &mdash; monumental achievements if you
+ask me &mdash; and both have their own particular strengths.  However, for
+people in my financial position (and there are millions of us around
+the globe, in both developed and developing countries), TeX and groff
+have one big difference: size.  TeX is huge.  Even its most ardent
+supporters agree it suffers from bloat, on top of being complex and
+unwieldy to manage.  Groff is tiny by comparison, occupying minimal
+disk space and having only a small memory footprint while at the same
+time being flexible and powerful, typographically speaking.  I've run
+it successfully on a 386 with 8 megs of RAM and a 250 meg hard disk.
+</p>
+
+<p>
+However, groff has always had a liability: it's incredibly geeky.
+Owing to its very long history, it &mdash; and its &quot;power users&quot;
+&mdash; have remained stuck in a time warp.  Most common macro packages
+still look as they did in those decades when memory was exorbitantly
+expensive and every byte mattered.  Documentation &mdash; not always
+easy to find &mdash; is written as if all readers are computer whizzes,
+or at least have a university degree in one of the higher sciences.
+</p>
+
+<p>
+By no means a stupid man, nor unfamiliar with the precepts of
+programming, I've more than once torn my hair out over the terseness
+and ambiguity of groff's documentation.  Making sense of certain
+primitives has often involved days of testing, interpreting the
+documentation instead of just using the primitive.
+</p>
+
+<p>
+(ADDENDUM to the previous two paragraphs:  A tremendous amount of
+effort has gone into creating a groff manual that can be read with
+the <strong><kbd>info</kbd></strong> browser, as well as creating
+truly useful man pages.  The <strong><kbd>info</kbd></strong> manual
+is clear and well-written, so my comments are actually out of date.
+I leave them in for the benefit of groff newbies, who may still find
+the documents a bit intimidating.)
+</p>
+
+<p>
+For some time now, groff users and macro writers have had the
+option to use &quot;long&quot; names, yet have mostly chosen not to.
+With long names, it's possible to create macro sets that are humanly
+readable and easy to interpret, encouraging development and evolution.
+What's more, the macros themselves need not be terse, intimidating,
+and easily forgotten 1- or 2-letter commands inserted in the body
+of a document.  They can be sensible and helpful to everyone, groff
+newbies and old hands alike.
+</p>
+
+<p>
+<strong>Mom</strong>'s macro file, om.tmac, uses long names, aliases,
+and a host of other groff goodies that have become part of the
+whole groff picture under the unflagging guidance of groff's current
+maintainer, Werner Lemberg.  Nearly every macro, number register and
+string is &quot;recognisable&quot; simply by its name.  The file is
+heavily commented.  A consistent, if idiosyncratic, indenting style
+is used as well, significantly improving readability.  Anyone
+wanting to futz around with <strong>mom</strong>'s macros should be
+able to do so with a minimum of head scratching.
+</p>
+
+<p>
+<strong>Addendum</strong> As of version 1.4-a, the main macro
+file, om.tmac, is now stripped of comments when groff is built
+from sources.  om.tmac in the sources themselves still contains the
+comments, as do the tarballs posted on <strong>mom</strong>'s
+homepage.
+</p>
+
+<hr/>
+
+<!-- ===================================================================== -->
+
+<a name="CONTACT"><h2><u>Contact the author</u></h2></a>
+
+<p>
+If you have any questions or comments about <strong>mom</strong>,
+suggestions to make, criticisms to offer, or bugs to report, use the
+groff mailing list at
+<a href="mailto:address@hidden";>address@hidden</a>
+(subscription information available
+<a href="http://ffii.org/mailman/listinfo/groff/";>here</a>)
+or contact me, Peter Schaffter,  directly at one of these
+addresses:
+</p>
+
+<p>
+<strong><i>&nbsp;&nbsp;&nbsp;&nbsp;&#112;&#115;&#99;&#104;&#97;&#102;&#102;&#116;&#101;&#114;&#64;&#109;&#97;&#103;&#109;&#97;&#46;&#99;&#97;
+<br/>
+
+&nbsp;&nbsp;&nbsp;&nbsp;&#112;&#116;&#112;&#105;&#64;&#103;&#111;&#108;&#100;&#101;&#110;&#46;&#110;&#101;&#116;</i></strong>
+</p>
+
+<p>
+Please include the word &quot;mom&quot; or &quot;groff&quot; in the
+Subject: line of any message sent to my personal address, or you
+risk the wrath of my implacable spam filters. :)
+</p>
+
+<p>
+If you want to visit <strong>mom</strong>'s homepage, you'll find
+it at
+</p>
+
+<p>
+&nbsp;&nbsp;&nbsp;&nbsp;<a 
href="http://faustus.homelinux.org/mom/mom.html";><kbd>http://faustus.homelinux.org/mom/mom.html</kbd></a>.
+</p>
+
+<hr/>
+
+<p>
+<a href="reserved.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="macrolist.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: color.html
===================================================================
RCS file: color.html
diff -N color.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ color.html  1 Aug 2006 01:14:08 -0000       1.8
@@ -0,0 +1,493 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Colour</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="docprocessing.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="inlines.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<h1 align="center"><a name="COLOR_INTRO"><u>Coloured text</u></a></h1>
+
+<p>
+<a href="#INTRO_COLOR">Introduction to coloured text</a>
+<br/>
+
+<a href="#MACROS_COLOR">Index of colour macros</a>
+</p>
+
+<a name="INTRO_COLOR"><h2><u>Introduction to coloured text</u></h2></a>
+
+<p>
+<strong>Mom</strong>'s support for coloured text is straightforward.
+You begin by telling <strong>mom</strong> about the colours you want
+with
+<a href="#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="#XCOLOR">XCOLOR</a>.
+Afterward, any time you want text to be coloured, you either colour
+it with an
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+that contains the colour name (e.g. <kbd>\*[red]</kbd> or
+<kbd>\*[blue]</kbd>) or invoke the macro,
+<a href="#COLOR">COLOR</a>,
+with the name of the colour you want.
+</p>
+
+<a name="COLOR_EXAMPLE"></a>
+
+<p>
+For example, say you want to have the name &quot;Jack&quot; in the
+sentence &quot;All work and no play makes Jack a dull boy&quot;
+appear in yellow.  You'd begin by telling <strong>mom</strong> about
+the colour, yellow.  There are two ways of doing this; see
+<a href="#NEWCOLOR">NEWCOLOR</a>
+and
+<a href="#XCOLOR">XCOLOR</a>
+for a full explanation of the difference between the two.
+</p>
+
+<p>
+If you use <strong>XCOLOR</strong>, you'd enter this:
+
+<pre>
+    .XCOLOR yellow
+</pre>
+</p>
+
+<p>
+If you use <strong>NEWCOLOR</strong>, you might enter
+
+<pre>
+    .NEWCOLOR yellow RGB #FFFF00
+</pre>
+</p>
+
+<a name="COLOR_EXAMPLE2"></a>
+
+<p>
+After &quot;defining&quot; (or &quot;initializing&quot;) the colour
+&quot;yellow&quot;, you'd colourize the name, Jack, either with an
+inline escape
+
+<pre>
+    All work and no play makes \*[yellow]Jack\*[black] a dull boy.
+</pre>
+
+or with the
+<a href="#COLOR">COLOR</a>
+macro
+
+<pre>
+    All work and no play makes
+    .COLOR yellow
+    Jack
+    .COLOR black
+    a dull boy.
+</pre>
+</p>
+
+<p>
+Notice, in both examples, that a) you have to set the colour back
+to black after &quot;Jack&quot;, and b) you don't have to define
+or intialize the colour, black. <strong>Mom</strong> predefines
+it for you.
+</p>
+
+<p>
+For information on using colour during
+<a href="docprocessing.html#INTRO_MACROS_DOCPROCESSING">document 
processing</a>,
+see
+<a href="docprocessing.html#COLOR">Colour support in document processing</a>.
+</p>
+
+<p>
+<strong>Please note: Mom</strong>'s colour support is for text only.
+She doesn't support &quot;fill&quot; (or &quot;background&quot;)
+colour for solid, enclosed graphical objects (polygons, ellipses)
+drawn with <strong>groff</strong>'s <kbd>\D</kbd>
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+although you may give a colour as one of the arguments to
+<strong>mom</strong>'s &quot;box&quot; and &quot;circle&quot;
+macros,
+<a href="graphical.html#DBX">DBX</a>
+and
+<a href="graphical.html#DCL">DCL</a>
+when the first argument to these macros is <kbd>SOLID</kbd>.
+</p>
+
+<p>
+Please also note that if you're accustomed to using groff's
+<kbd>.defcolor</kbd> to define colours, and groff's inline
+<kbd>\m[&lt;colorname&gt;]</kbd> to call them, you may continue to
+do so without confusing <strong>mom</strong>.
+</p>
+
+<a name="MACROS_COLOR"><h3><u>Index of colour macros</u></h3></a>
+
+<ul>
+    <li><a href="#NEWCOLOR">NEWCOLOR</a></li>
+    <li><a href="#XCOLOR">XCOLOR</a></li>
+    <li><a href="#COLOR">COLOR</a></li>
+    <li><a href="#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a> inline 
escape</li>
+</ul>
+
+<!-- -NEWCOLOR- -->
+
+<hr width="66%" align="left"/>
+
+<a name="NEWCOLOR"><h3><u>Creating (initializing) a colour with 
NEWCOLOR</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>NEWCOLOR</strong> <kbd>&lt;colour name&gt; [&lt;colour 
scheme&gt;] &lt;colour components&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>NEWCOLOR</strong> lets you create a colour, rather
+like an artist mixing paint on a palette.  The colour isn't
+used immediately; <strong>NEWCOLOR</strong> merely tells
+<strong>mom</strong> how to mix the colour when you need it.  If you
+haven't invoked <kbd>.NEWCOLOR</kbd> (or
+<a href="#XCOLOR">XCOLOR</a>),
+<strong>mom</strong> doesn't have a clue what you mean when you
+reference a colour (with 
+<a href="#COLOR">COLOR</a>
+or
+<a href="#COLOR_INLINE"><kbd>\*[&lt;color name&gt;]</kbd></a>).
+</p>
+
+<p>
+The first argument to <strong>NEWCOLOR</strong> is a name for your
+colour.  It can be anything you like &mdash; provided it's just one
+word long &mdash; and can be caps, lower case, or any combination of
+the two.
+</p>
+
+<p>
+The second argument, which is entirely optional, is the &quot;colour
+scheme&quot; you want <strong>mom</strong> to use when mixing the
+colour.  Valid arguments are
+
+<pre>
+    RBG   (3 components: red green blue)
+    CYM   (3 components: cyan yellow magenta)
+    CMYK  (4 components: cyan magenta yellow black)
+    GRAY  (1 component)
+</pre>
+
+If you omit the second argument, <strong>mom</strong> assumes you
+want <strong>RGB</strong>.
+</p>
+
+<p>
+The final argument is the components of your colour.  This can be
+hexadecimal string starting with a pound sign (<kbd>#</kbd>) (for
+colour values in the 0-255 range) or two pound signs (<kbd>##</kbd>)
+(for colour values in the 0-65535 range), or it can be a series of
+decimal digits, separated by spaces, one digit per component, with
+the argument enclosed in double quotes.  (If this is all gibberish
+to you, see
+<a href="#COLOR_TIP">Tips for newbies</a>.)
+</p>
+
+<p>
+Thus, to tell <strong>mom</strong> about a colour named
+&quot;YELLOW&quot;, you could enter one of the following:
+
+<pre>
+    .NEWCOLOR YELLOW #FFFF00         \"or ##FFFFFFFF0000 or "1 1 0"
+    .NEWCOLOR YELLOW RGB #FFFF00     \"or ##FFFFFFFF0000 or "1 1 0"
+    .NEWCOLOR YELLOW CYM #00FF00     \"or ##0000FFFF0000 or "0 1 0"
+    .NEWCOLOR YELLOW CYMK #00FF0000  \"or ##0000FFFF00000000 or "1 1 0"
+</pre>
+</p>
+
+<p>
+After you've told <strong>mom</strong> about a colour, you can then
+get her to set text in that colour either with the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<a href="#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a>,
+or the macro,
+<a href="#COLOR">COLOR</a>.
+(See the
+<a href="#COLOR_EXAMPLE">example</a>,
+above.)
+</p>
+
+<p>
+<strong>Please note:</strong> the colorname you give to
+<strong>NEWCOLOR</strong> may be used with <strong>groff</strong>'s
+<kbd>\m[&lt;colorname&gt;]</kbd> inline escape (the <kbd>\m</kbd>
+escape is used to set text and rule colours).  Thus, assuming a
+colorname &quot;blueblack&quot; set with <strong>NEWCOLOR</strong>,
+<kbd>\*[blueblack]</kbd> and <kbd>\m[blueblack]</kbd> are
+equivalent.  Furthermore, the colorname can be given as an argument
+to <strong>groff</strong>'s
+<a href="definitions.html#TERMS_PRIMITIVES">primitive</a>
+request, <kbd>.gcolor</kbd> (which does the same thing as
+<kbd>\m[&lt;colorname&gt;]</kbd>).
+</p>
+
+<p>
+Equally, the colorname may be used with
+<kbd>\M[&lt;colorname&gt;]</kbd> and <kbd>.fcolor</kbd>, which set
+the &quot;fill&quot; colour for solid graphical objects.
+</p>
+
+<a name="COLOR_TIP"></a>
+
+<h3><u>Tips for newbies</u></h3>
+
+<p>
+Colour manipulation can be tremendously confusing if you don't have
+a background in graphic arts or computing.  My advice, if color
+intimidates you, is to stick to using <strong>mom</strong>'s default
+RGB colour scheme, and to fire up a color chooser that gives you
+the RGB values you want for the colour you select.  Plug those
+values into the components argument to <strong>NEWCOLOR</strong>,
+and you'll get the colour you want.  Both the KDE and gnome
+desktops have colour selectors that provide you with the shorter
+RGB hexadecimal string.  If you're not running KDE or gnome, the
+X utility, xcolorsel, provides you with a similar functionality,
+although it only provides RGB values for 256 pre-defined colours.
+If you use xcolorsel, be sure to click the button &quot;Display
+format&quot; and select &quot;8 bit truncated rgb&quot;.
+</p>
+
+<p>
+Alternatively, you can use <strong>mom</strong>'s simpler
+<a href="#XCOLOR">XCOLOR</a>
+macro to initialize one of the 256 pre-defined X colours by
+supplying the name of the color as an argument.
+</p>
+
+<!-- -XCOLOR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="XCOLOR"><h3><u>Initializing a colour with XCOLOR</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>XCOLOR</strong> <kbd>&lt;X colorname&gt; 
[&lt;alias&gt;]</kbd></nobr>
+<br/>
+
+<kbd>*&lt;X colorname&gt;</kbd> <em>must be all one word, all lower case.</em>
+<br/>
+
+<em>(See</em>
+<a href="#XCOLOR_NAMES">Finding X color names</a>
+<em>for how to get a list of valid colour names.)</em>
+</p>
+
+<p>
+<strong>XCOLOR</strong> is similar to <strong>NEWCOLOR</strong> in
+that it tells <strong>mom</strong> to initialize a colour, but it's
+easier to use.  All you have to do is pass it, as an argument, the
+valid name of one of the 256 pre-defined X colours.  The name must
+be all one word, and, breaking with <strong>mom</strong> policy, it
+must be entered in lower case.
+</p>
+
+<p>
+For example, if you want to intialize the X colour, coral, all you
+have to do is enter
+
+<pre>
+    .XCOLOR coral
+</pre>
+</p>
+
+<p>
+Afterwards
+
+<pre>
+    .COLOR coral
+</pre>
+
+will colourize subsequent text coral until you instruct
+<strong>mom</strong> to return to black, or some other pre-defined,
+initialized colour.  (The
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[coral]</kbd> will equally colourize text coral after you've
+initialized the colour with <strong>XCOLOR</strong>.)
+</p>
+
+<p>
+The downside of <strong>XCOLOR</strong> is that you can't create
+custom colours.  This restriction, however, is mitigated by the
+fact that for many users, 256 colours is more than enough to play
+around with.
+</p>
+
+<p>
+While some X colours have fanciful names (peachpuff, papayawhip,
+thistle, snow), many are self-explanatory and self-descriptive
+in ordinary colour terms. &quot;blue&quot; is pure (rgb) blue,
+&quot;green&quot; is pure (rgb) green, and so on.  Furthermore,
+for many X colors, there exist four variants, each representing
+increasingly darker shades of the same colour.  For example,
+&quot;blue1&quot; is a relatively bright blue; &quot;blue2&quot;,
+&quot;blue3&quot; and &quot;blue4&quot; are increasingly darker
+shades.  For that reason, you may find <strong>XCOLOR</strong> is
+a better choice than <strong>NEWCOLOR</strong> when it comes to
+initializing common colors.
+</p>
+
+<p>
+The whimsical nature of X colour names sometimes makes for names
+that are long to type in, e.g. &quot;mediumspringgreen&quot;.
+The optional second argument to <strong>XCOLOR</strong> allows you
+to come up with more convenient name by which to reference the
+colour.  For example, you could enter
+
+<pre>
+    .XCOLOR mediumspringgreen mygreen
+        or
+    .XCOLOR mediumspringgreen MYGREEN
+</pre>
+
+so that whenever you want text mediumspringgreen-ed, you can use
+either <kbd>.COLOR mygreen</kbd> (or <kbd>.COLOR MYGREEN</kbd>) or
+the inline escape <kbd>\*[mygreen]</kbd> (or
+<kbd>\*[MYGREEN]</kbd>.)
+</p>
+
+<p>
+<strong>Please note:</strong> both the colorname and the
+alias you give to <strong>XCOLOR</strong> may be used with
+<strong>groff</strong>'s <kbd>\m[&lt;colorname&gt;]</kbd>
+inline escape (the <kbd>\m</kbd> escape is used to set
+text and rule colours).  Thus, assuming an X-colorname
+&quot;mediumspringgreen&quot; set with <strong>XCOLOR</strong>, and
+an alias, &quot;mygreen&quot;, <kbd>\*[mediumspringgreen]</kbd>,
+<kbd>\m[mediumspringgreen]</kbd>, <kbd>\*[mygreen]</kbd> and
+<kbd>\m[mygreen]</kbd> are all equivalent.  Furthermore, both
+the colorname and the alias can be given as an argument to
+<strong>groff</strong>'s
+<a href="definitions.html#TERMS_PRIMITIVES">primitive</a>
+request, <kbd>.gcolor</kbd> (which does the same thing as
+<kbd>\m[&lt;colorname&gt;]</kbd>).
+</p>
+
+<p>
+The colorname initialized with <strong>XCOLOR</strong>
+<em><strong><u>but not the alias</u></strong></em> may also
+be used with <strong>groff</strong>'s inline escape,
+<kbd>\M[&lt;colorname&gt;]</kbd>, and the corresponding primitive,
+<kbd>.fcolor</kbd>, both of which set the &quot;fill&quot; colour
+for solid graphical objects.  If you need a colour initialized with
+<strong>XCOLOR</strong> for <kbd>\M</kbd> or <kbd>.fcolor</kbd>, you
+<strong>MUST</strong> give the full colorname; the alias won't work.
+
+</p>
+<a name="XCOLOR_NAMES"><h4><u>Finding X color names</u></h4></a>
+
+<p>
+There are two ways of finding the names of the pre-defined X
+colours.  One is to consult the file, rgb.txt, included with
+all X11 installations.  The location of the file on a Debian
+GNU/Linux distribution is typically /etc/X11/rgb.txt.  Other
+distributions and other X installations may have the file in
+another location.  The file lists the colour names, but doesn't
+show you what the colours actually look like.
+</p>
+
+<p>
+A better way to get the colour names, as well as to see what the
+colours look like, is to fire up a colour chooser (like xcolorsel)
+that both lists the colour names and shows a swatch of the colour
+as well.
+</p>
+
+<p>
+Whichever method you use to find X color names, remember that the
+names, passed as arguments to <strong>XCOLOR</strong>, <em>must</em>
+be all one word, all in lower case.
+</p>
+
+<!-- -COLOR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="COLOR"><h3><u>Invoking a color</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>COLOR</strong> <kbd>&lt;colorname&gt;</kbd></nobr>
+<br/>
+
+<a name="COLOR_INLINE"><nobr>Inline: 
<kbd>\*[&lt;colorname&gt;]</kbd></nobr></a>
+</p>
+
+<a name="COLOR_INLINE"></a>
+
+<p>
+Once you've told <strong>mom</strong> about a colour (via
+<a href="#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="#XCOLOR">XCOLOR</a>,
+you use either the macro, <strong>COLOR</strong>, or the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<kbd>\*[&lt;colorname&gt;]</kbd>, to cause <strong>mom</strong> to
+set subsequent text in that colour.  See the
+<a href="#COLOR_EXAMPLE2">example</a>,
+above, which shows both in action.
+</p>
+
+<p>
+<strong>NOTE:</strong> You can use the
+<kbd>\*[&lt;colorname&gt;]</kbd> inline escape in any
+<a href="docprocessing.html#TOP">document processing</a>
+macro that takes a
+<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>.
+However, you must remember to reset the colour at the end of the
+argument (typically with <kbd>\*[black]</kbd>) unless you want all
+subsequent invocations of that particular macro to be colourized.
+</p>
+
+<p>
+Furthermore, if you use <kbd>\*[&lt;colorname&gt;]</kbd> in the
+string argument passed to
+<a href="docelement.html#HEAD">HEAD</a>,
+<a href="docelement.html#SUBHEAD">SUBHEAD</a>
+or
+<a href="docelement.html#PARAHEAD">PARAHEAD</a>,
+and you've requested that any of these types of heads be numbered,
+the numbers themselves will not be coloured, only the text you
+passed the macro.  If you wish the numbers to be colourized as
+well, you must explicitly tell <strong>mom</strong> that you wish
+all of the head(s), subhead(s) or parahead(s), including the
+numbers, colourized by invoking the appropriate
+<a href="docelement.html#DOCELEMENT_CONTROL">control macro</a>.
+</p>
+
+<p>
+For colorizing underscored text, see
+<a href="goodies.html#UNDERSCORE_COLOR">Colorizing underscored text</a>
+in the notes at the end of
+<a href="goodies.html#UNDERSCORE">UNDERSCORE</a>.
+</p>
+
+<hr/>
+
+<p>
+<a href="docprocessing.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="inlines.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: cover.html
===================================================================
RCS file: cover.html
diff -N cover.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ cover.html  1 Aug 2006 01:14:08 -0000       1.9
@@ -0,0 +1,646 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Document processing, creating a cover page</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="refer.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="rectoverso.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="COVER_TOP"><h1 align="center"><u>Creating a cover page</u></h1></a>
+
+<ul>
+    <li><a href="#COVER_INTRO">Introduction to cover pages</a></li>
+    <ul>
+        <li><a href="#PLEASE">Important note &mdash; please read</a></li>
+        <li><a href="#DESC">Description of what mom does on cover 
pages</a></li>
+        <li><a href="#PAGINATION">A note on headers/footers and 
pagination</a></li>
+        <li><a href="#DESIGN">What to do if you want to design your own cover 
pages</a></li>
+    </ul>
+    <li><a href="#COVER">The cover and document cover macros</a></li>
+    <ul>
+        <li><a href="#COVER">COVER/DOC_COVER</a></li>
+        <ul>
+            <li><a href="#REQUIRED">The required argument</a></li>
+            <li><a href="#CHAPTER">How the CHAPTER argument and friends 
work</a></li>
+            <li><a href="#OPTIONAL">The optional arguments</a></li>
+            <li><a href="#DOCTYPE">What the DOCTYPE argument means</a></li>
+            <li><a href="#BLANKPAGE">What the BLANKPAGE argument means</a></li>
+        </ul>
+    </ul>
+    <li><a href="#ON_OFF">Enabling/disabling automatic generation of cover 
pages</a></li>
+    <li><a href="#COVER_CONTROL">Control macros &mdash; changing the defaults 
for covers and document covers</a></li>
+</ul>
+
+<a name="COVER_INTRO"><h2><u>Introduction to cover pages</u></h2></a>
+
+<p>
+As of version 1.19 of <strong>mom</strong>, you can now have cover
+pages generated automatically.
+</p>
+
+<p>
+Though identical in treatment, <strong>mom</strong> provides two
+kinds of cover pages: section cover pages (which I shall refer to
+simply as &quot;cover pages&quot;) and document cover pages
+(&quot;doc covers&quot;).
+</p>
+
+<p>
+A document cover page
+(<a href="#DOC_COVER">doc cover</a>)
+is what you'd most likely use at the start of a
+<a href="rectoverso.html#COLLATE_INTRO">collated</a>
+document, where you might want the name of the complete document,
+the author(s) and the copyright line to appear.  Another place you
+might use a doc cover is for a novel, where you want the title of
+the novel, not the chapter title or chapter number, as the first
+cover page.
+</p>
+
+<p>
+A section
+<a href="#COVER">cover</a>
+page is what you'd use for cover pages that separate sections of a
+collated document, i.e. title pages.  A section cover page (but not
+a doc cover page) in a collated document could, for example, simply
+read &quot;PART I&quot;.
+</p>
+
+<p>
+In non-collated documents (say, an essay) you can use either a
+section cover (title page) or a doc cover to generate a cover sheet.
+</p>
+
+<p>
+In addition, nothing prevents you from generating both a doc cover
+page and a section cover page for every document in a collated
+document.  Or you can selectively disable the automatic generation
+of either doc covers or section covers in a collated document
+on-the-fly.
+</p>
+
+<p>
+<a name="PLEASE"><strong>Important note:</strong></a>
+automatic generation of cover or doc cover pages after the first
+one(s) only takes place if you are working with collated documents.
+<strong>Mom</strong> provides no mechanism for saying &quot;print
+a section cover here even though I'm still working on the same
+(non-collated) document.&quot;
+</p>
+
+<a name="DESC"><h3><u>Description of what mom does on cover pages</u></h3></a>
+
+<p>
+By default, <strong>mom</strong> typesets cover (and doc cover)
+pages identically to
+<a href="definitions.html#TERMS_DOCHEADER">docheaders</a>
+(see
+<a href="docprocessing.html#DOCHEADER_CONTROL">How to change the look of 
docheaders</a>
+for a description of what a docheader looks like).  The only
+differences are
+
+<ul>
+    <li>the position on the page where the information is output</li>
+    <li>the (optional) addition of copyright and miscellaneous information</li>
+    <li>there's no running text underneath</li>
+</ul>
+</p>
+
+<p>
+You tell <strong>mom</strong> what you want to appear on cover pages
+through the arguments you pass to
+<a href="#COVER">COVER</a>
+and/or
+<a href="#COVER">DOC_COVER</a>.
+Provided you have already given <strong>mom</strong> the
+appropriate reference macros (e.g.
+<a href="docprocessing.html#TITLE">TITLE</a>
+or
+<a href="docprocessing.html#AUTHOR">AUTHOR</a>),
+she will output cover (and doc cover) pages identically to how she
+would output docheaders containing the same information.
+</p>
+
+<p>
+By default, <strong>mom</strong> starts cover (and doc cover) pages
+one-third of the way down the page.  This can be changed through
+the use of the control macros
+<a href="#COVER_CONTROL_INDEX">COVER_ADVANCE/DOC_COVER_ADVANCE</a>.
+</p>
+
+<p>
+If you request copyright information (and have already given
+<strong>mom</strong> the reference macro,
+<a href="docprocessing.html#COPYRIGHT">COPYRIGHT</a>),
+she sets it, by default, in a smaller
+<a href="definitions.html#TERMS_PS">point size</a>
+in the bottom right hand corner of the cover (or doc cover) page.
+The default point size and the position can be controlled with
+<a 
href="#COVER_CONTROL_INDEX">COVER_COPYRIGHT_SIZE/DOC_COVER_COPYRIGHT_SIZE</a>
+and
+<a 
href="#COVER_CONTROL_INDEX">COVER_COPYRIGHT_QUAD/DOC_COVER_COPYRIGHT_QUAD</a>.
+</p>
+
+<p>
+Similarly, if you request miscellaneous information (and have
+already given <strong>mom</strong> the reference macro,
+<a href="docprocessing.html#MISC">MISC</a>),
+she sets it, by default, in a smaller point size in the bottom left
+hand corner of the cover (or doc cover) page.  The default point
+size is dependent on
+<strong>COVER_COPYRIGHT_SIZE/DOC_COVER_COPYRIGHT_SIZE</strong>,
+but the position can be controlled with
+<a href="#COVER_CONTROL_INDEX">COVER_MISC_QUAD/DOC_COVER_MISC_QUAD</a>.
+</p>
+
+<a name="PAGINATION"></a>
+
+<p>
+<strong>NOTE: mom</strong> does not set any
+<a href="definitions.html#TERMS_HEADER">headers</a>
+or
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+on cover pages.  Neither does she set any page numbers.  From
+the point of view of pagination, cover (and doc cover) pages are
+by default considered &quot;null&quot; pages.  If you wish them to
+be included in the pagination scheme (even though no page numbers
+appear), you must tell <strong>mom</strong> that's what you want
+with the macros <strong>DOC_COVERS_COUNT_PAGES</strong> and/or
+<strong>COVERS_COUNT_PAGES</strong>.
+</p>
+
+<a name="DESIGN"></a>
+
+<p>
+Finally, if you want to design your own cover page(s), you can
+always typeset them (using the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>),
+invoke
+<a href="typesetting.html#NEWPAGE"><kbd>.NEWPAGE</kbd></a>,
+set up your document <em>in full</em> (see
+<a href="docprocessing.html#DOCPROCESSING_TUT">Tutorial &mdash; Setting up a 
mom document</a>),
+and lastly invoke
+<a href="docprocessing.html#START"><kbd>.START</kbd></a>.
+The cover page (and any typesetting commands on it) will have no
+effect on <strong>mom</strong>'s processing of the document itself,
+the first page of which, moreover, will be numbered &quot;1&quot;
+unless you instruct her otherwise with
+<a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>.
+</p>
+
+<!-- -COVER- -->
+
+<hr width="66%" align="left"/>
+
+<a name="COVER"></a>
+
+<p>
+Macro: <strong>COVER</strong>
+<br/>
+
+<a name="DOC_COVER"></a>
+
+Macro: <strong>DOC_COVER</strong>
+<br/>
+
+<nobr>Required argument: <kbd>TITLE | DOCTITLE | COVERTITLE | CHAPTER | 
CHAPTER_TITLE | CHAPTER+TITLE</kbd></nobr>
+<br/>
+
+<nobr>Optional arguments: <kbd>[ SUBTITLE AUTHOR DOCTYPE COPYRIGHT MISC 
BLANKPAGE ]</kbd></nobr>
+<br/>
+
+<em>*Note: these macros should be placed in the
+&quot;style-sheet&quot; section of your document setup (see the</em>
+<a href="docprocessing.html#DOCPROCESSING_TUT">Tutorial &mdash; Setting up a 
mom document</a>),
+<em>i.e. after PRINTSTYLE (and/or DOCTYPE and/or COPYSTYLE), but
+before START.</em>
+</p>
+
+<p>
+<strong>COVER</strong> and <strong>DOC_COVER</strong> behave
+identically.  The reason <strong>mom</strong> provides two macros
+for automatic cover page generation is so that you can have two
+different kinds of covers with different information on each.
+</p>
+
+<p>
+Imagine, for a moment, you've written a document comprised of three
+sections.  When you
+<a href="rectoverso.html#COLLATE">COLLATE</a>
+the document for output, you could use <kbd>.DOC_COVER</kbd>
+to generate a cover page that contained the name of the entire
+document, your (the author's) name, and perhaps the copyright date.
+Subsequently, you could use <kbd>.COVER</kbd>, after each
+<kbd>.COLLATE</kbd> but before each
+<a href="docprocessing.html#START">START</a>,
+to generate a cover page (or cover &quot;sheet&quot;, if you prefer)
+containing just the name of the section.
+</p>
+
+<a name="REQUIRED"><h4><u>The required argument</u></h4></a>
+
+<p>
+Both <strong>COVER</strong> and <strong>DOC_COVER</strong>,
+whenever invoked, require a first argument, as listed above.
+This first argument will become the first bit of information
+<strong>mom</strong> prints on the cover (or doc cover) page (i.e.
+it will be the &quot;title&quot;).
+</p>
+
+<p>
+In order for the information to appear, you must, of course, first
+have given <strong>mom</strong> the appropriate
+<a href="docprocessing.html#REFERENCE_MACROS">reference macro</a>.
+A list of the arguments with their equivalent reference macros follows.
+</p>
+
+<dl>
+    <dt><kbd>TITLE</kbd></dt>
+    <dd>
+    &mdash; means the argument you gave to <a 
href="docprocessing.html#TITLE">TITLE</a>
+    </dd>
+
+    <dt><kbd>DOCTITLE</kbd></dt>
+    <dd>
+    &mdash; means the argument you gave to <a 
href="docprocessing.html#DOCTITLE">DOCTITLE</a>
+    </dd>
+
+    <dt><kbd>COVERTITLE</kbd></dt>
+    <dd>
+    &mdash; means the argument you gave to <a 
href="docprocessing.html#COVERTITLE">COVERTITLE</a>
+    or
+    <a href="docprocessing.html#DOC_COVERTITLE">DOC_COVERTITLE</a>
+    </dd>
+
+    <dt><kbd>CHAPTER, CHAPTER_TITLE, CHAPTER+TITLE</kbd></dt>
+    <dd>
+    &mdash; see below (How the CHAPTER argument and friends work)
+    </dd>
+</dl>
+
+<a name="CHAPTER"><h5><u>How the CHAPTER argument and friends work</u></h5></a>
+
+<p>
+<kbd>CHAPTER</kbd>, by itself, will print the
+<a href="docprocessing.html#CHAPTER_STRING">CHAPTER_STRING</a>
+as well as the chapter number that you gave to
+<a href="docprocessing.html#CHAPTER">CHAPTER</a>.
+For example, assuming a vanilla setup for your chapter
+
+<pre>
+    \# Reference macros
+    .CHAPTER 1
+    .CHAPTER_TITLE "The Bonny Blue Yonder"
+    &lt;other stuff&gt;
+    .COVER CHAPTER \" (or .DOC_COVER CHAPTER)
+    .START
+</pre>
+
+will simply print
+
+<pre>
+    Chapter 1
+</pre>
+</p>
+
+<p>
+<kbd>CHAPTER_TITLE</kbd> will print the chapter title you
+gave to
+<a href="docprocessing.html#CHAPTER_TITLE">CHAPTER_TITLE</a>.
+For example, assuming a vanilla setup for your chapter
+
+<pre>
+    \# Reference macros
+    .CHAPTER 1
+    .CHAPTER_TITLE "The Bonny Blue Yonder"
+    &lt;other stuff&gt;
+    .COVER CHAPTER_TITLE \" (or .DOC_COVER CHAPTER_TITLE)
+    .START
+</pre>
+
+will simply print
+
+<pre>
+    The Bonny Blue Yonder
+</pre>
+</p>
+
+<p>
+<kbd>CHAPTER+TITLE</kbd> will print <strong>both</strong> the
+chapter string + number AND the chapter title.  For example,
+assuming a vanilla setup for your chapter
+
+<pre>
+    \# Reference macros
+    .CHAPTER 1
+    .CHAPTER_TITLE "The Bonny Blue Yonder"
+    &lt;other stuff&gt;
+    .COVER CHAPTER+TITLE \" (or .DOC_COVER CHAPTER+TITLE)
+    .START
+</pre>
+
+will print
+
+<pre>
+          Chapter 1
+    The Bonny Blue Yonder
+</pre>
+</p>
+
+<a name="OPTIONAL"><h4><u>The optional arguments</u></h4></a>
+
+<p>
+The remainder of the arguments to <strong>COVER</strong> and
+<strong>DOC_COVER</strong> are optional.  They refer specifically to
+the information you gave the
+<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>
+bearing the same name as the arguments.
+</p>
+
+<p>
+You may enter as many or as few as you would like to see on your
+cover (or doc cover) page.  The only hitch is &mdash; PAY ATTENTION,
+CLASS! &mdash; they must be entered in the order given above.  For
+example, if you want <kbd>TITLE</kbd>, <kbd>AUTHOR</kbd>,
+<kbd>COPYRIGHT</kbd> and <kbd>MISC</kbd>
+
+<pre>
+    .COVER TITLE AUTHOR COPYRIGHT MISC
+</pre>
+
+is correct, while
+
+<pre>
+    .COVER TITLE AUTHOR MISC COPYRIGHT
+</pre>
+
+is not.
+</p>
+
+<a name="DOCTYPE"><h5><u>What the DOCTYPE argument means</u></h5></a>
+
+<p>
+When you pass <strong>COVER</strong> or <strong>DOC_COVER</strong>
+the argument, <kbd>DOCTYPE</kbd>, it refers to the argument you gave
+to
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>&nbsp;<kbd>NAMED</kbd>.
+For example, if, in your
+<a href="docprocessing.html#DOCSTYLE_MACROS">docstyle macros</a>
+you gave a
+
+<pre>
+    .DOCTYPE NAMED "Abstract"
+</pre>
+
+the argument, <kbd>DOCTYPE</kbd>, in the <strong>COVER</strong> or
+<strong>DOC_COVER</strong> macros, would mean that you wanted the
+word, Abstract, to appear on the cover (or doc cover), just as it
+would in the
+<a href="docprocessing.html#DOCHEADER">docheader</a>.
+</p>
+
+<a name="BLANKPAGE"><h5><u>What the BLANKPAGE argument means</u></h5></a>
+
+<p>
+If the final argument to <strong>DOC_COVER</strong> or
+<strong>COVER</strong> is <kbd>BLANKPAGE</kbd>, <strong>mom</strong>
+will insert a blank page after the doc cover or cover.  This is
+particularly useful if you intend to print your document two-sided,
+since, in two-sided printing, no text should appear on the reverse
+side of cover or title pages.  If <strong>DOC_COVERS_COUNT_PAGES</strong>
+and/or <strong>COVERS_COUNT_PAGES</strong> is enabled, the blank
+page will be considered in the pagination scheme.
+</p>
+
+<!-- -ENABLING/DISABLING- -->
+
+<hr width="33%" align="left"/>
+
+<a name="ON_OFF"></a>
+
+<p>
+<nobr>Macro: <strong>COVERS</strong> <kbd>&lt;toggle&gt;</kbd></nobr>
+<br/>
+
+<nobr>Macro: <strong>DOC_COVERS</strong> &lt;toggle&gt;</nobr>
+</p>
+
+<p>
+By default, if you give <strong>mom</strong> a
+<a href="#COVER">COVER</a>
+or
+<a href="#DOC_COVER">DOC_COVER</a>
+macro, she will print it.  In a document that contains sections,
+articles or chapters formerly treated as &quot;one-off's&quot; but
+now being
+<a href="rectoverso.html#COLLATE_INTRO">collated</a>,
+such behaviour may not be desirable.
+</p>
+
+<p>
+<strong>Mom</strong> lets you selectively enable or disable the
+generation of covers and/or doc covers with the toggle macros
+<strong>COVERS</strong> and <strong>DOC_COVERS</strong>.  Because
+they're toggle macros, simply invoking them by themselves enables
+automatic cover (or doc cover) generation, while invoking them with
+any argument at all (<strong>OFF, QUIT, X</strong>, etc) disables
+cover (or doc cover) generation.
+</p>
+
+<p>
+<strong>NOTE:</strong> You must place these macros prior to any
+instance of
+<a href="docprocessing.html#START">START</a>.
+Since they're &quot;on&quot; by default, there's no need to use
+them if you want covers.  However, if you don't, especially in the
+kind of scenario described above, the best place to put them (most
+likely with an <strong>OFF, NO, X</strong>, etc.  argument), is
+immediately after the first invocation of <strong>START</strong>.
+By doing so, you ensure they precede all subsequent instances of
+<strong>START</strong>.
+</p>
+
+<hr align="left" width="66%"/>
+
+<a name="COVER_CONTROL"><h3><u>Control macros &mdash; changing the defaults 
for covers and document covers</u></h3></a>
+
+<p>
+The default typographic appearance of the items on a cover (or doc
+cover) page is identical to that of the items in a
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>.
+(See
+<a href="docprocessing.html#DOCHEADER_CONTROL">How to change the look of 
docheaders</a>
+for a description of the defaults.)
+</p>
+
+<p>
+<a href="docprocessing.html#COPYRIGHT">COPYRIGHT</a>
+and
+<a href="docprocessing.html#MISC">MISC</a>,
+which do not appear in docheaders, have the following default
+characteristics:
+
+<ol>
+    <li>The copyright line is set in the bottom right hand corner
+        of the page, 2
+        <a href="definitions.html#TERMS_PS">point sizes</a>
+        smaller than the size of
+        <a href="definitions.html#TERMS_RUNNING">running text</a>
+    </li>
+    <li>The &quot;misc&quot; line is set in the bottom left hand
+        corner of the page, in the same family, font and point size
+        as the copyright line.
+    </li>
+</ol>
+</p>
+
+<p>
+With the exception of the copyright and &quot;misc&quot; lines, the
+defaults for the entirety of cover (and doc cover) pages, and all
+the elements thereon, can be changed with control macros whose
+behaviour and arguments are identical to
+<a href="docprocessing.html#DOCHEADER_CONTROL_INDEX">the control macros used 
for docheaders</a>.
+The only difference is the name by which you invoke the control
+macro(s).
+</p>
+
+<p>
+The complete list of cover (and doc cover) page control macros
+follows; please refer to the
+<a href="docprocessing.html#DOCHEADER_CONTROL_INDEX">docheader control macros 
index</a>
+in order to understand how to use them.
+</p>
+
+<a name="COVER_CONTROL_INDEX"><h4><u>Index of cover and doc cover control 
macros</u></h4></a>
+
+<pre>
+<a name="COVER_ADVANCE">.COVER_ADVANCE  .DOC_COVER_ADVANCE</a> -+
+<a name="COVER_FAMILY">.COVER_FAMILY   .DOC_COVER_FAMILY</a>   | like 
DOCHEADER_
+<a name="COVER_LEAD">.COVER_LEAD     .DOC_COVER_LEAD</a>    -+
+
+.COVER_TITLE_FAMILY  .DOC_COVER_TITLE_FAMILY -+
+.COVER_TITLE_FONT    .DOC_COVER_TITLE_FONT    | like
+.COVER_TITLE_COLOR   .DOC_COVER_TITLE_COLOR   | TITLE_
+.COVER_TITLE_SIZE    .DOC_COVER_TITLE_SIZE   -+
+
+.COVER_CHAPTER_TITLE_FAMILY  .DOC_COVER_CHAPTER_TITLE_FAMILY -+
+.COVER_CHAPTER_TITLE_FONT    .DOC_COVER_CHAPTER_TITLE_FONT    | like
+.COVER_CHAPTER_TITLE_COLOR   .DOC_COVER_CHAPTER_TITLE_COLOR   | CHAPTER_TITLE_
+.COVER_CHAPTER_TITLE_SIZE    .DOC_COVER_CHAPTER_TITLE_SIZE   -+
+
+.COVER_SUBTITLE_FAMILY  .DOC_COVER_SUBTITLE_FAMILY -+
+.COVER_SUBTITLE_FONT    .DOC_COVER_SUBTITLE_FONT    | like
+.COVER_SUBTITLE_COLOR   .DOC_COVER_SUBTITLE_COLOR   | SUBTITLE_
+.COVER_SUBTITLE_SIZE    .DOC_COVER_AUTHOR_SIZE     -+
+
+.COVER_ATTRIBUTE_COLOR  .DOC_COVER_ATTRIBUTE_COLOR - like ATTRIBUTE_COLOR
+ - the macro, .ATTRIBUTE_STRING, controls the attribution string
+   for both docheaders and cover pages; cover pages have no
+   separate ATTRIBUTE_STRING macro
+
+.COVER_AUTHOR_FAMILY  .DOC_COVER_AUTHOR_FAMILY -+
+.COVER_AUTHOR_FONT    .DOC_COVER_AUTHOR_FONT    | like
+.COVER_AUTHOR_COLOR   .DOC_COVER_AUTHOR_COLOR   | AUTHOR_
+.COVER_AUTHOR_SIZE    .DOC_COVER_AUTHOR_SIZE   -+
+
+.COVER_DOCTYPE_FAMILY  .DOC_COVER_DOCTYPE_FAMILY -+
+.COVER_DOCTYPE_FONT    .DOC_COVER_DOCTYPE_FONT    | like
+.COVER_DOCTYPE_COLOR   .DOC_COVER_DOCTYPE_COLOR   | DOCTYPE_
+.COVER_DOCTYPE_SIZE    .DOC_COVER_DOCTYPE_SIZE   -+
+
+.COVER_COPYRIGHT_FAMILY  .DOC_COVER_COPYRIGHT_FAMILY -+
+.COVER_COPYRIGHT_FONT    .DOC_COVER_COPYRIGHT_FONT    | like any
+.COVER_COPYRIGHT_COLOR   .DOC_COVER_COPYRIGHT_COLOR   | of the above
+.COVER_COPYRIGHT_SIZE    .DOC_COVER_COPYRIGHT_SIZE   -+
+.COVER_COPYRIGHT_QUAD    .DOC_COVER_COPYRIGHT_QUAD
+ - the copyright quad can be either L (left) or R (right); default is left
+
+.COVER_MISC_COLOR   .DOC_COVER_MISC_COLOR - like any of the above _COLOR macros
+.COVER_MISC_QUAD    .DOC_COVER_MISC_QUAD
+ - the misc quad can be either L (left) or R (right); default is left
+ - see <a href="#MISC">Notes</a>
+
+.COVER_UNDERLINE    .DOC_COVER_UNDERLINE - like DOCTYPE_UNDERLINE
+ - see <a href="#UNDERLINE">Notes</a>
+
+.COVERS_COUNT_PAGES .DOC_COVERS_COUNT_PAGES
+ - whether to consider cover pages in the pagination scheme; the
+   default is to ignore them
+ - see <a href="#COUNT">Notes</a>
+</pre>
+
+<h5><u>Notes</u></h5>
+
+<a name="MISC"></a>
+
+<p>
+<strong>COVER_MISC</strong> and <strong>DOC_COVER_MISC</strong>
+have only two control macros, <strong>_COLOR</strong> and
+<strong>_QUAD</strong>.  The family, font and size of
+the <kbd>MISC</kbd> argument to <strong>COVER</strong>
+or <strong>DOC_COVER</strong> are always the same as for
+<kbd>COPYRIGHT</kbd>.  Should you wish the family, font or size
+to be different from <kbd>COPYRIGHT</kbd>, I suggest setting the
+type specs for <kbd>COPYRIGHT</kbd> to the ones you want for
+<kbd>MISC</kbd>, then altering them for <kbd>COPYRIGHT</kbd> using
+<a href="inlines.html#INDEX_INLINES">inline escapes</a>
+in the
+<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>
+you pass to the macro,
+<a href="docprocessing.html#COPYRIGHT">COPYRIGHT</a>.
+(Of course, you could always do the reverse, but if you pass several
+arguments to
+<a href="docprocessing.html#MISC">MISC</a>,
+it's more likely you want to get <strong>MISC</strong> right first.)
+</p>
+
+<a name="UNDERLINE"></a>
+
+<p>
+<strong>COVER_UNDERLINE</strong> and <strong>DOC_COVER_UNDERLINE</strong>
+apply only to the doctype-name that appears on covers or doc
+covers, and then only if <kbd>DOCTYPE</kbd> is given as one of the
+arguments to
+<a href="#COVER">COVER</a>
+or
+<a href="#DOC_COVER">DOC_COVER</a>.  It is invoked in exactly the
+same way as
+<a href="docprocessing.html#DOCTYPE_UNDERLINE">DOCTYPE_UNDERLINE</a>.
+</p>
+
+<a name="COUNT"></a>
+
+<p>
+<strong>COVERS_COUNT_PAGES</strong> and
+<strong>DOC_COVERS_COUNT_PAGES</strong> are toggle macros, hence
+invoking them by themselves means that <strong>mom</strong> will
+consider cover and doc cover pages in the pagination scheme;
+invoking them with any argument (<strong>OFF, NO, X</strong>,
+etc.) means they are ignored.  The default is to ignore them.
+</p>
+
+<hr/>
+
+<p>
+<a href="refer.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="rectoverso.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: definitions.html
===================================================================
RCS file: definitions.html
diff -N definitions.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ definitions.html    1 Aug 2006 01:14:08 -0000       1.11
@@ -0,0 +1,945 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Definitions and Terms</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="using.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="intro.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="TERMS"><h1 align="center"><u>Definitions of terms used in this 
manual</u></h1></a>
+
+<p>
+<a href="#TERMS_TYPESETTING">Typesetting Terms</a>
+<br/>
+
+<a href="#TERMS_GROFF">Groff Terms</a>
+<br/>
+
+<a href="#TERMS_MOM">Mom Document Processing Terms</a>
+</p>
+
+<p>
+I use a number of typesetting-specific and groff-specific terms
+throughout this documentation, as well as a few terms that apply
+to <strong>mom</strong> herself.  To make life easier, I'll explain
+them here.  Refer back to this section should you encounter a word
+or concept you're not familiar with.
+</p>
+
+<hr/>
+
+<a name="TERMS_TYPESETTING"><h2><u>Typesetting terms</u></h2></a>
+
+<ul>
+    <li><a href="#TERMS_ASCENDER">Ascender</a></li>
+    <li><a href="#TERMS_BASELINE">Baseline</a></li>
+    <li><a href="#TERMS_BALLOTBOX">Ballot box</a></li>
+    <li><a href="#TERMS_BULLET">Bullet</a></li>
+    <li><a href="#TERMS_CAPHEIGHT">Cap-height</a></li>
+    <li><a href="#TERMS_DESCENDER">Descender</a></li>
+    <li><a href="#TERMS_DISCRETIONARYHYPHEN">Discretionary hyphen</a></li>
+    <li><a href="#TERMS_DROPCAP">Drop cap</a></li>
+    <li><a href="#TERMS_EM">Em/en</a></li>
+    <li><a href="#TERMS_FAMILY">Family</a></li>
+    <li><a href="#TERMS_FIGURESPACE">Figure space/Digit space</a></li>
+    <li><a href="#TERMS_FIXEDWIDTHFONT">Fixed width font</a></li>
+    <li><a href="#TERMS_FIXEDWIDTHSPACE">Fixed width space</a></li>
+    <li><a href="#TERMS_FONT">Font</a></li>
+    <li><a href="#TERMS_FORCE">Force justify</a></li>
+    <li><a href="#TERMS_JUST">Justify/justification</a></li>
+    <li><a href="#TERMS_GUTTER">Gutter</a></li>
+    <li><a href="#TERMS_KERN">Kerning</a></li>
+    <li><a href="#TERMS_KERNUNIT">Kern Units</a></li>
+    <li><a href="#TERMS_LEADING">Lead/leading</a></li>
+    <li><a href="#TERMS_LEADER">Leaders</a></li>
+    <li><a href="#TERMS_LIGATURES">Ligature</a></li>
+    <li><a href="#TERMS_PICASPOINTS">Picas/Points</a></li>
+    <li><a href="#TERMS_PS">Point Size</a></li>
+    <li><a href="#TERMS_QUAD">Quad</a></li>
+    <li><a href="#TERMS_RAG">Rag</a></li>
+    <li><a href="#TERMS_SHAPE">Shape</a></li>
+    <li><a href="#TERMS_SOLID">Solid/set solid</a></li>
+    <li><a href="#TERMS_TRACKKERNING">Track kerning/Line kerning</a></li>
+    <li><a href="#TERMS_UNBREAKABLESPACE">Unbreakable space</a></li>
+    <li><a href="#TERMS_WEIGHT">Weight</a></li>
+    <li><a href="#TERMS_WORDSPACE">Word space</a></li>
+    <li><a href="#TERMS_XHEIGHT">x-height</a></li>
+</ul>
+
+<dl>
+    <dt><a name="TERMS_ASCENDER"><em>Ascender</em></a></dt>
+    <dd>
+    The portion of a letter that extends above the bowl.  For
+    example, the letters a, c, and e have no ascenders.  The letters
+    b, d, and h do.
+    </dd>
+
+    <dt><a name="TERMS_BASELINE"><em>Baseline</em></a></dt>
+    <dd>
+    The imaginary line on which the bottoms of capital letters and
+    the bowls of lower case letters rest.
+    </dd>
+    
+    <dt><a name="TERMS_BALLOTBOX"><em>Ballot box</em></a></dt>
+    <dd>
+    An unfilled square, usually
+    <a href="#TERMS_CAPHEIGHT">cap-height</a>
+    in size, typically placed beside items in a checklist.
+    </dd>
+    
+    <dt><a name="TERMS_BULLET"><em>Bullet</em></a></dt>
+    <dd>
+    A small, filled circle typically found beside items or points in
+    a list.
+    </dd>
+    
+    <dt><a name="TERMS_CAPHEIGHT"><em>Cap-height</em></a></dt>
+    <dd>
+    The height of the tallest capital letter in a given
+    <a href="#TERMS_FONT">font</a>
+    at the current
+    <a href="#TERMS_PS">point size</a>.
+    </dd>
+    
+    <dt><a name="TERMS_DESCENDER"><em>Descender</em></a></dt>
+    <dd>
+    The portion of a letter that extends beneath the
+    <a href="#TERMS_BASELINE">baseline</a>
+    (j, q, y are letters with descenders).
+    </dd>
+    
+    <dt><a name="TERMS_DISCRETIONARYHYPHEN"><em>Discretionary 
hyphen</em></a></dt>
+    <dd>
+    A symbol inserted between two syllables of a word that indicates
+    to a typesetting program the valid hyphenation points in the
+    word.  Normally, if hyphenation is turned on, groff knows where
+    to hyphenate words.  However, hyphenation being what it is
+    (in English, at any rate), groff doesn't always get it right.
+    Discretionary hyphens make sure it does.  In the event that the
+    word doesn't need to be hyphenated at all, groff leaves them
+    alone.  In groff, the discretionary hyphen is entered with
+    
+    <pre>
+    \%  (backslash followed by a percent)
+    </pre>
+    
+    </dd>
+    
+    <dt><a name="TERMS_DROPCAP"><em>Drop cap</em></a></dt>
+    <dd>
+    A large, usually upper-case letter that introduces the first
+    paragraph of a document or section thereof.  The top of the
+    drop cap usually lines up with the top of the first line of the
+    paragraph, and typically &quot;drops&quot; several lines lower.
+    Text adjacent to the drop cap is indented to the right of the
+    letter until the bottom of the drop cap is reached, at which
+    point text reverts to the left margin.
+    </dd>
+    
+    <dt><a name="TERMS_EM"><em>Em/en</em></a></dt>
+    <dd>
+    An em is a relative measurement equal to the width of the
+    letter M at a given
+    <a href="#TERMS_PS">point size</a>
+    in a given
+    <a href="#TERMS_FONT">font</a>.
+    Since most Ms are designed square, an em is usually (but
+    sometimes erroneously) considered to be the same size as the
+    current point size (i.e. if the point size of the type is 12,
+    one em equals 12 points).  An en is equal to the width of a
+    letter N (historically 2/3 of an em, although groff treats an en
+    as 1/2 of an em).  Typically, ems and ens are used to measure
+    indents, or to define the length of dashes (long hyphens).
+    </dd>
+    
+    <dt><a name="TERMS_FAMILY"><em>Family</em></a></dt>
+    <dd>
+    The collective name by which a collection of
+    <a href="#TERMS_FONT">fonts</a>
+    are known, e.g.  Helvetica, Times Roman, Garamond.
+    </dd>
+    
+    <dt><a name="TERMS_FIGURESPACE"><em>Figure space/Digit space</em></a></dt>
+    <dd>
+    A
+    <a href="#TERMS_FIXEDWIDTHSPACE">fixed width space</a>
+    that has the width of one digit.  Used for aligning numerals in,
+    say, columns or numbered lists.  In groff, the figure space is
+    entered with
+    
+    <pre>
+    \0  (backslash followed by a zero)
+    </pre>
+   
+    </dd>
+    
+    <dt><a name="TERMS_FIXEDWIDTHFONT"><em>Fixed width font</em></a></dt>
+    <dd>
+    A family or font in which every character occupies exactly the
+    same amount of vertical space on the line.  Courier is the
+    best-known, if not the most elegant, fixed-width font.
+    </dd>
+
+    <dt><a name="TERMS_FIXEDWIDTHSPACE"><em>Fixed width space</em></a></dt>
+    <dd>
+    Equal to
+    <a href="#TERMS_WORDSPACE">word space</a>,
+    but does not expand or contract when text is
+    <a href="#TERMS_JUST">justified</a>.
+    In groff, fixed width space is entered with
+    
+    <pre>
+    \&lt;space&gt; (backslash followed by hitting the the spacebar on your 
keyboard)
+    </pre>
+   
+    </dd>
+    
+    <dt><a name="TERMS_FONT"><em>Font</em></a></dt>
+    <dd>
+    The specific
+    <a href="#TERMS_WEIGHT">weight</a>
+    and
+    <a href="#TERMS_SHAPE">shape</a>
+    of type within a
+    <a href="#TERMS_FAMILY">family</a>,
+    e.g. light, medium, bold (which are weights), and roman, italic,
+    condensed (which are shapes).  By default, groff knows of four
+    fonts within its default set of families: R (medium roman), I
+    (medium italic), B (bold roman) and BI (bold italic).
+    <strong>Mom</strong> considerably extends this very basic list.
+    </dd>
+    
+    <dt><a name="TERMS_FORCE"><em>Force justify</em></a></dt>
+    <dd>
+    Sometimes, in
+    <a href="#TERMS_JUST">justified</a>
+    text, a line needs to be broken short of the right margin.
+    Force justifying means telling a typesetting program (like
+    groff) that you want the line broken early AND that you want the
+    line's word spacing stretched to force the line flush with the
+    right margin.
+    </dd>
+    
+    <dt><a name="TERMS_GUTTER"><em>Gutter</em></a></dt>
+    <dd>
+    The vertical whitespace separating columns of type.
+    </dd>
+    
+    <dt><a name="TERMS_JUST"><em>Justify/justification</em></a></dt>
+    <dd>
+    Lines of type are justified when they're flush at both the left
+    and right margins.  Justification is the act of making both
+    margins flush.  Some people use the terms "left justified" and
+    "right justified" to mean type where only the left (or right)
+    margins align.  I don't.  See
+    <a href="#TERMS_QUAD">quad</a>.
+    </dd>
+    
+    <dt><a name="TERMS_KERN"><em>Kerning</em></a></dt>
+    <dd>
+    Moving pairs of letters closer together to remove excess
+    whitespace between them.  In the days before phototypesetting,
+    type was set from small, rectangular blocks of wood or metal,
+    each block having exactly one letter.  Because the edge of
+    each block determined the edge of each letter, certain letter
+    combinations (TA, for example) didn't fit together well and had
+    to be mortised by hand to bring them visually closer.  Modern
+    typesetting systems usually take care of kerning automatically,
+    but they're far from perfect.  Professional typesetters still
+    devote a lot of time to fitting letters and punctuation together
+    properly.
+    </dd>
+    
+    <dt><a name="TERMS_KERNUNIT"><em>Kern Units</em></a></dt>
+    <dd>
+    A relative distance equal to 1/36 of the current
+    <a href="#TERMS_PS">point size</a>.
+    Used between individual letters
+    for
+    <a href="#TERMS_KERN">kerning</a>.
+    Different typesetting systems use different values (1/54 is
+    popular), and sometimes call kern units by a different name.
+
+    <p>
+    <em><strong>Experts: </strong>A kern unit has nothing to do with
+    groff machine units.</em>
+    </p>
+    </dd>
+    
+    <dt><a name="TERMS_LEADING"><em>Lead/leading</em></a></dt>
+    <dd>
+    The distance from the
+    <a href="#TERMS_BASELINE">baseline</a>
+    of one line of type to the line of type immediately beneath
+    it.  Pronounced "ledding."  Also called line spacing.  Usually
+    measured in
+    <a href="#TERMS_PICASPOINTS">points</a>.
+    
+    <p>
+    <em>In case you're interested...</em> In previous centuries,
+    lines of type were separated by thin strips of &mdash; you guessed
+    it &mdash; lead.  Lines of type that had no lead between them were said
+    to be &quot;set solid.&quot; Once you began separating them with
+    strips of lead, they were said to be &quot;leaded&quot;, and the
+    spacing was expressed in terms of the number of
+    <a href="#TERMS_PICASPOINTS">points</a>
+    of lead.  For this reason, &quot;leading&quot; and &quot;line
+    spacing&quot; aren't, historically speaking, synonymous.
+    If type was set 10 on 12, for example, the leading was 2
+    points, not 12.  Nowadays, however, the two terms are used
+    interchangeably to mean the distance from baseline to baseline.
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_LEADER"><em>Leaders</em></a></dt>
+    <dd>
+    Single characters used to fill lines, usually to their end.  So
+    called because they &quot;lead&quot; the eye from one element
+    of the page to another.  For example, in the following (brief)
+    Table of Contents, the periods (dots) are leaders.
+    
+    <pre>
+    Foreword............... 2
+    Chapter 1.............. 5
+    Chapter 2.............. 38
+    Chapter 3.............. 60
+    </pre>
+
+    </dd>
+    
+    <dt><a name="TERMS_LIGATURES"><em>Ligature</em></a></dt>
+    <dd>
+    Ligatures are letters joined together to form a single
+    character.  The commonest are fi, fl, ff, ffi and ffl.  Others
+    are ae and oe.  Occasionally, one sees an st ligature, but this
+    is archaic and quite rare.
+    </dd>
+    
+    <dt><a name="TERMS_PICASPOINTS"><em>Picas/Points</em></a></dt>
+    <dd>
+    There are twelve points in a pica, and six picas in an inch
+    (hence 72 points to the inch).  In the same way that gem-dealers
+    have always used their own system of measurement for weight
+    (carats), typographers have always used their own system of
+    measurement for type.
+    </dd>
+    
+    <dt><a name="TERMS_PS"><em>Point Size</em></a></dt>
+    <dd>
+    The nominal size of type, measured in
+    <a href="#TERMS_PICASPOINTS">points</a>
+    from the bottom of the longest
+    <a href="#TERMS_DESCENDER">descender</a>
+    to the top of the highest
+    <a href="#TERMS_ASCENDER">ascender</a>.
+    In reality, type is always fractionally smaller than its point
+    size.
+    </dd>
+    
+    <dt><a name="TERMS_QUAD"><em>Quad</em></a></dt>
+    <dd>
+    When only one margin of type is flush, lines of type are quadded
+    in the direction of the flush margin.  Therefore, quad left
+    means the left margin is flush, the right isn't.  Quad right
+    means the right margin is flush, the left isn't.  Quad centre
+    means neither the left nor the right margin is flush; rather,
+    lines of type are quadded on both sides so that type appears
+    centred on the page.
+    </dd>
+    
+    <dt><a name="TERMS_RAG"><em>Rag</em></a></dt>
+    <dd>
+    Describes a margin that isn't flush.  Rag right means the right
+    margin isn't flush.  Rag left means the left margin isn't flush.
+    The expression "flush left/rag right" is sometimes used to
+    describe type that is
+    <a href="#TERMS_QUAD">quadded</a>
+    left.
+    </dd>
+    
+    <dt><a name="TERMS_SHAPE"><em>Shape</em></a></dt>
+    <dd>
+    The degree of slant and/or the width of characters.
+    (Technically speaking, this is not a proper typesetting term;
+    however, it may help clarify some concepts presented in these
+    documents.)
+    
+    <p>
+    Some typical shapes are:
+
+    <ul>
+        <li>&quot;Roman&quot;, which has no slant, and has letterforms of
+            average width</li>
+        <li>&quot;Italic&quot;, which is slanted, and has letterforms
+            of average width</li>
+        <li>&quot;Condensed&quot;, which has no slant, but has
+            letterforms narrower than the average represented by Roman</li>
+        <li>&quot;Condensed Italic&quot;, which is slanted, with letterforms 
narrower
+            than average</li>
+    </ul>
+    </p>
+
+    <p>
+    The term
+    <a href="#TERMS_FONT">font</a>,
+    as it is used in these documents, refers to a combination of
+    <a href="#TERMS_WEIGHT">weight</a>
+    and shape.
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_SOLID"><em>Solid/set solid</em></a></dt>
+    <dd>
+    When no
+    <a href="#TERMS_LEADING">lead</a>
+    is added between lines of type (i.e. the
+    <a href="#TERMS_PS">point size</a>
+    and linespacing are the same), the lines are said to be &quot;set
+    solid.&quot;
+    </dd>
+    
+    <dt><a name="TERMS_TRACKKERNING"><em>Track kerning/Line 
kerning</em></a></dt>
+    <dd>
+    Sometimes, it's advantageous to increase or decrease the amount
+    of space between every letter in a line by an equal (usually
+    small) amount, in order to fit more (or fewer) characters on the
+    line.  The correct term is letter spacing, but track kerning and
+    line kerning (and sometimes, just "kerning") have come to mean
+    the same thing.
+    </dd>
+    
+    <dt><a name="TERMS_UNBREAKABLESPACE"><em>Unbreakable space</em></a></dt>
+    <dd>
+    Equal to
+    <a href="#TERMS_WORDSPACE">word space</a>,
+    however words separated by an unbreakable space will always be
+    kept together on the same line.  Expands and contracts like word
+    space.  Useful for proper names, which one should, whenever
+    possible, avoid splitting onto two lines.  In groff, unbreakable
+    space is entered with
+    
+    <pre>
+     \~  (backslash followed by a tilde)
+    </pre>
+    
+    </dd>
+    
+    <dt><a name="TERMS_WEIGHT"><em>Weight</em></a></dt>
+    <dd>
+    The thickness of the strokes of letterforms.  Medium and Book
+    have average thicknesses and are the weights used for most
+    of the text in books, magazines, newspapers, etc.  Light has
+    strokes slightly thinner than Medium or Book, but is still
+    acceptable for most text.  Semibold, Bold, Heavy and Black all
+    have strokes of increasing thickness, making them suitable for
+    heads, subheads, headlines and the like.
+    </dd>
+    
+    <dt><a name="TERMS_WORDSPACE"><em>Word space</em></a></dt>
+    <dd>
+    The amount of whitespace between words.  When text is
+    <a href="#TERMS_JUST">justified</a>,
+    word space expands or contracts to make the margins flush.
+    </dd>
+    
+    <dt><a name="TERMS_XHEIGHT"><em>x-height</em></a></dt>
+    <dd>
+    The height of a lower case letter x in a given font at a given
+    point size.  Generally used to mean the average height of the
+    bowl of lower case letters.
+    </dd>
+</dl>
+
+<hr/>
+
+<a name="TERMS_GROFF"><h2><u>Groff terms</u></h2></a>
+
+<ul>
+    <li><a href="#TERMS_ALIAS">Alias</a></li>
+    <li><a href="#TERMS_ARGUMENTS">Arguments</a></li>
+    <li><a href="#TERMS_COMMENTLINES">Comment lines</a></li>
+    <li><a href="#TERMS_CONTROLLINES">Control Lines</a></li>
+    <li><a href="#TERMS_FILLED">Filled lines</a></li>
+    <li><a href="#TERMS_INLINES">Inline escapes</a></li>
+    <li><a href="#TERMS_INPUTLINE">Input line</a></li>
+    <li><a href="#TERMS_MACROS">Macros</a></li>
+    <li><a href="#TERMS_UNITS">Machine units</a></li>
+    <li><a href="#TERMS_NUMERICARGUMENT">Numeric argument</a></li>
+    <li><a href="#TERMS_OUTPUTLINE">Output line</a></li>
+    <li><a href="#TERMS_PRIMITIVES">Primitives</a></li>
+    <li><a href="#TERMS_STRINGARGUMENT">String Argument</a></li>
+    <li><a href="#TERMS_UNITOFMEASURE">Unit of measure</a></li>
+    <li><a href="#TERMS_ZEROWIDTHCHARACTER">Zero-width character</a></li>
+</ul>
+
+<dl>
+    <dt><a name="TERMS_ALIAS"><em>Alias</em></a></dt>
+    <dd>
+    A
+    <a href="#TERMS_MACROS">macro</a>
+    invoked by a name different from its &quot;official&quot;
+    name.  For example, the official name of the macro to change
+    <a href="#TERMS_FAMILY">family</a>
+    is <strong>FAMILY</strong>.  Its alias is <strong>FAM</strong>.
+    Aliases may be created for any macro (via the
+    <a href="goodies.html#ALIAS">ALIAS</a>
+    macro) provided the alias uses a name not already taken by the
+    <strong>mom</strong> macros or one of the groff
+    <a href="#TERMS_PRIMITIVES">primitives</a>.
+    For a complete list of words or names you must not use, see the
+    <a href="reserved.html#RESERVED">list of reserved words</a>.
+    </dd>
+    
+    <dt><a name="TERMS_ARGUMENTS"><em>Arguments</em></a></dt>
+    <dd>
+    Parameters or information needed by a
+    <a href="#TERMS_MACROS">macro</a>
+    to do its job.  For example, in the macro
+    
+    <pre>
+    .PT_SIZE 12
+    </pre>
+    
+    <kbd>12</kbd> is the argument.  In the macro
+    
+    <pre>
+    .QUAD LEFT
+    </pre>
+    
+    <kbd>LEFT</kbd> is the argument.  Arguments are separated from
+    macros by spaces.  Some macros require several arguments; each
+    is separated by a space.
+    </dd>
+    
+    <dt><a name="TERMS_COMMENTLINES"><em>Comment Lines</em></a></dt>
+    <dd>
+    <a href="#TERMS_INPUTLINE">Input lines</a>
+    introduced with the comment character
+    
+    <pre>
+    \#  (backslash followed by the pound sign)
+    </pre>
+    
+    When processing output, groff silently ignores everything on a
+    line that begins with the comment character.
+    </dd>
+    
+    <dt><a name="TERMS_CONTROLLINES"><em>Control Lines</em></a></dt>
+    <dd>
+    Instructions to groff that appear on a line by themselves, which
+    means that &quot;control lines&quot; are either
+    <a href="#TERMS_MACROS">macros</a>
+    or groff
+    <a href="#TERMS_PRIMITIVES">primitives</a>.
+    Control lines begin with a period or, occasionally, an apostrophe.
+    </dd>
+    
+    <dt><a name="TERMS_FILLED"><em>Filled lines/fill mode</em></a></dt>
+    <dd>
+    Automatic
+    <a href="#TERMS_JUST">justification</a>
+    or
+    <a href="#TERMS_QUAD">quadding</a>.
+    In fill mode, the ends of lines as they appear in your text
+    editor are ignored.  Instead, words from adjoining
+    <a href="#TERMS_INPUTLINE">input lines</a>
+    are added one at a time to the output line until no more words
+    fit.  Then, depending whether text is to be
+    <a href="#TERMS_JUST">justified</a>
+    or
+    <a href="#TERMS_QUAD">quadded</a>
+    (left, right, or centre), and depending on whether automatic
+    hyphenation is turned on, groff attempts to hyphenate the last
+    word, or, barring that, spreads and breaks the line (when
+    justification is turned on) or breaks and quads the line (when
+    quadding is turned on).
+    
+    <p>
+    <a name="TERMS_NOFILL"></a>
+    Nofill mode (non-filled text) means that groff respects the ends
+    of lines as they appear in your text editor.
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_INLINES"><em>Inline escapes</em></a></dt>
+    <dd>
+    Instructions issued to groff that appear as part of an
+    <a href="#TERMS_INPUTLINE">input line</a>
+    (as opposed to
+    <a href="#TERMS_MACROS">macros</a>,
+    which must appear on a line by themselves).  Inline escapes are
+    always introduced by the backslash character.  For example,
+    
+    <pre>
+    A line of text with the word T\*[BU 2]oronto in it
+    </pre>
+    
+    contains the inline escape <kbd>\*[BU 2]</kbd> (which means
+    &quot;move the letter 'o' 2
+    <a href="#TERMS_KERNUNIT">kern units</a>
+    closer to the letter 'T'&quot;).
+    
+    <p>
+    <strong>Mom</strong>'s inline escapes always take the form
+    <kbd>\*[&lt;ESCAPE&gt;]</kbd>, where <kbd>ESCAPE</kbd> is
+    composed of capital letters, sometimes followed immediately by a
+    digit, sometimes followed by a space and a
+    <a href="#TERMS_NUMERICARGUMENT">numeric argument</a>.
+    <strong>Groff</strong>'s escapes begin with the backslash
+    character but typically have no star and are in lower case.  For
+    example, the <strong>mom</strong> escapes to move forward 6
+    points on a line are either
+    
+    <pre>
+    \*[FP6]&nbsp;&nbsp;or&nbsp;&nbsp;\*[FWD 6p]
+    </pre>
+    
+    while the <strong>groff</strong> escape for the same thing is
+    
+    <pre>
+        \h'6p'
+    </pre>
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_INPUTLINE"><em>Input line</em></a></dt>
+    <dd>
+    A line of text as it appears in your text editor.
+    </dd>
+    
+    <dt><a name="TERMS_MACROS"><em>Macros</em></a></dt>
+    <dd>
+    Instructions embedded in a document that determine how groff
+    processes the text for output. <strong>mom</strong>'s macros
+    always begin with a period, on a line by themselves, and must
+    be typed in capital letters.  Typically, macros contain complex
+    commands issued to groff &mdash; behind the scenes &mdash; via
+    groff
+    <a href="#TERMS_PRIMITIVES">primitives</a>.
+    </dd>
+    
+    <dt><a name="TERMS_UNITS"><em>Machine units</em></a></dt>
+    <dd>
+    A machine unit is 1/1000 of a
+    <a href="#TERMS_PICASPOINTS">point</a>
+    when the groff device is ps. (&quot;ps&quot; means
+    &quot;PostScript&quot; &mdash; the default device for
+    which groff prepares output, and the device for which
+    <strong>mom</strong> was specifically designed.)
+    </dd>
+    
+    <dt><a name="TERMS_NUMERICARGUMENT"><em>Numeric argument</em></a></dt>
+    <dd>
+    An
+    <a href="#TERMS_ARGUMENTS">argument</a>
+    that has the form of a digit.  Numeric arguments can be built
+    out of arithmetic expressions using +, -, *, and / for plus,
+    minus, times, and divided-by respectively.  If a numeric
+    argument requires a
+    <a href="#TERMS_UNITOFMEASURE">unit of measure</a>,
+    a unit of measure must be appended to <em>every</em> digit in
+    the argument.  For example:
+    
+    <pre>
+    .ALD 1i-1v
+    </pre>
+    
+    <strong>NOTE:</strong> groff does not respect the order of
+    operations, but rather evaluates arithmetic expressions
+    from left to right.  Parentheses must be used to circumvent
+    this peculiarity.  Not to worry, though.  The likelihood of
+    more than just the occasional plus or minus sign when using
+    <strong>mom</strong>'s macros is slim.
+    </dd>
+    
+    <dt><a name="TERMS_OUTPUTLINE"><em>Output line</em></a></dt>
+    <dd>
+    A line of text as it appears in output copy.
+    </dd>
+    
+    <dt><a name="TERMS_PRIMITIVES"><em>Primitives</em></a></dt>
+    <dd>
+    The lowercase instructions, introduced with a period, that groff
+    uses as its native command language, and out of which macros
+    are built.  The majority of groff's primitive requests are two
+    letters long.
+    </dd>
+    
+    <dt><a name="TERMS_STRINGARGUMENT"><em>String Argument</em></a></dt>
+    <dd>
+    Technically, any
+    <a href="#TERMS_ARGUMENTS">argument</a>
+    that is not numeric.  In this documentation, string argument
+    means an argument that requires the user to input text.  For
+    example, in the
+    <a href="#TERMS_MACROS">macro</a>
+    
+    <pre>
+    .TITLE "My Pulitzer Novel"
+    </pre>
+    
+    <kbd>My Pulitzer Novel</kbd> is a string argument.
+    
+    <p>
+    Because string arguments must be enclosed by double-quotes, you
+    can't use double-quotes as part of the string argument.  If you
+    need double-quotes to be part of a string argument, use the
+    <a href="#TERMS_INLINES">inline escapes</a>
+    <strong>\(lq</strong> and <strong>\(rq</strong> (leftquote and
+    rightquote respectively) in place of the double-quote character
+    (<strong>&quot;</strong>).
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_UNITOFMEASURE"><em>Unit of measure</em></a></dt>
+    <dd>
+    The single letter after a
+    <a href="#TERMS_NUMERICARGUMENT">numeric argument</a>
+    that tells <strong>mom</strong> what measurement scale the
+    argument should use.  Common valid units are:
+    
+    <pre>
+    i (inches)
+    p (points)
+    P (Picas)
+    c (centimetres)
+    m (ems)
+    n (ens)
+    v (the current leading (line space))
+    </pre>
+
+    <p>
+    Units of measure must come immediately after the numeric
+    argument (i.e. with no space between the argument and the unit
+    of measure), like this:
+    
+    <pre>
+    .ALD 2v
+    .LL  39P
+    .IL  1i
+    </pre>
+    
+    The above example advances 2 line spaces and sets the line
+    length to 39 picas with a left indent of 1 inch.
+    </p>
+    
+    <p>
+    <strong>IMPORTANT:</strong> Most <strong>mom</strong> macros
+    that set the size or measure of something MUST be given a
+    unit of measure. <strong>mom</strong>'s macros do not have
+    default units of measure.  There are a couple of exceptions,
+    the most notable of which are <strong>PT_SIZE</strong> and
+    <strong>LS</strong>.  Both use
+    <a href="#TERMS_PICASPOINTS">points</a>
+    as the default unit of measure, which means you don't have to
+    append &quot;p&quot; to their argument.
+    </p>
+    
+    <p>
+    You can enter decimal values for any unit of measure.  Different
+    units may be combined by adding them together (e.g. 1.5i+2m,
+    which gives a measure of 1-1/2 inches plus 2 ems).
+    </p>
+    
+    <p>
+    <strong>NOTE:</strong> a pica is composed of 12 points,
+    therefore 12.5 picas is 12 picas and 6 points, not 12 picas and
+    5 points.  If you want 12 picas and 5 points, you have to enter
+    the measure as 12P+5p.
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_ZEROWIDTHCHARACTER"><em>Zero-width 
character</em></a></dt>
+    <dd>
+    The
+    <a href="#TERMS_INLINES">inline escape</a>
+    that allows you to print a literal period, apostrophe and, if
+    <a href="#TERMS_OUTPUTLINE">output lines</a>
+    are
+    <a href="#TERMS_FILLED">filled</a>,
+    a space that falls at the beginning of an
+    <a href="#TERMS_INPUTLINE">input line</a>.
+    It looks like this:
+    
+    <pre>
+    \&amp; (backslash followed by an ampersand)
+    </pre>
+    
+    Normally, groff interprets a period (or an apostrophe) at the
+    beginning of an input line as meaning that what follows is a
+    <a href="#TERMS_CONTROLLINES">control line</a>.
+    In fill modes, groff treats a space at the beginning of an input
+    line as meaning &quot;start a new line and put a space at the
+    beginning of it.&quot; If you want groff to interpret periods
+    and apostrophes at the beginning of input lines literally (i.e.
+    print them), or spaces at the beginning of input lines as just
+    garden variety word spaces, you must start the line with the
+    zero-width character.
+    </dd>
+</dl>
+
+<hr/>
+
+<a name="TERMS_MOM"><h2><u>Mom's Document Processing Terms</u></h2></a>
+
+<ul>
+    <li><a href="#TERMS_BLOCKQUOTE">Blockquote</a></li>
+    <li><a href="#TERMS_CONTROLMACRO">Control macro</a></li>
+    <li><a href="#TERMS_DOCHEADER">Docheader</a></li>
+    <li><a href="#TERMS_EPIGRAPH">Epigraph</a></li>
+    <li><a href="#TERMS_FOOTER">Footer</a></li>
+    <li><a href="#TERMS_HEAD">Head</a></li>
+    <li><a href="#TERMS_HEADER">Header</a></li>
+    <li><a href="#TERMS_LINEBREAK">Linebreak</a></li>
+    <li><a href="#TERMS_PARAHEAD">Paragraph head</a></li>
+    <li><a href="#TERMS_QUOTE">Quote</a></li>
+    <li><a href="#TERMS_RUNNING">Running text</a></li>
+    <li><a href="#TERMS_SUBHEAD">Subhead</a></li>
+    <li><a href="#TERMS_TOGGLE">Toggle</a></li>
+</ul>
+<dl>
+    <dt><a name="TERMS_BLOCKQUOTE"><em>Blockquote</em></a></dt>
+    <dd>
+    Cited material other than
+    <a href="#TERMS_QUOTE">quotes</a>.
+    Typically set at a smaller point size than paragraph text,
+    indented from the left and right margins.  Blockquotes are
+    <a href="#TERMS_FILLED">filled</a>.
+    </dd>
+    
+    <dt><a name="TERMS_CONTROLMACRO"><em>Control macro</em></a></dt>
+    <dd>
+    Macros used in
+    <a href="docprocessing.html#DOCPROCESSING">document processing</a>
+    to control/alter the appearance of document elements (e.g.
+    heads, quotes, footnotes,
+    <a href="#TERMS_HEADER">headers</a>,
+    etc.).
+    </dd>
+    
+    <dt><a name="TERMS_DOCHEADER"><em>Document header/docheader</em></a></dt>
+    <dd>
+    Document information (title, subtitle, author, etc) output at
+    the top of page one.
+    </dd>
+    
+    <dt><a name="TERMS_EPIGRAPH"><em>Epigraph</em></a></dt>
+    <dd>
+    A short, usually cited passage that appears at the beginning of
+    a chapter, story, or other document.
+    </dd>
+    
+    <dt><a name="TERMS_FOOTER"><em>Footer/page footer</em></a></dt>
+    <dd>
+    Document information (frequently author and title) output in
+    the bottom margin of pages <em>after</em> page one.  Not to be
+    confused with footnotes, which are considered part of
+    <a href="#TERMS_RUNNING">running text</a>.
+    </dd>
+    
+    <dt><a name="TERMS_HEAD"><em>Head</em></a></dt>
+    <dd>
+    A title that introduces a major section of a document.
+    </dd>
+    
+    <dt><a name="TERMS_HEADER"><em>Header/page header</em></a></dt>
+    <dd>
+    Document information (frequently author and title) output in the
+    top margin of pages <em>after</em> page one.
+    
+    <p>
+    <strong>NOTE:</strong> In terms of content and style, headers
+    and
+    <a href="#TERMS_FOOTER">footers</a>
+    are the same; they differ only in their placement on the page.
+    In most places in this documentation, references to the content
+    or style of headers applies equally to footers.
+    </p>
+
+    </dd>
+    
+    <dt><a name="TERMS_LINEBREAK"><em>Linebreak/author linebreak</em></a></dt>
+    <dd>
+    A horizontal gap in
+    <a href="#TERMS_RUNNING">running text</a>,
+    frequently set off by typographic symbols such as asterisks or
+    daggers.  Used to indicate a shift in the content of a document
+    (e.g. a scene change in a short story).  Also commonly called a
+    scene break or a section break.
+    </dd>
+    
+    <dt><a name="TERMS_PARAHEAD"><em>Paragraph head</em></a></dt>
+    <dd>
+    A title joined to the body of a paragraph; hierarchically one
+    level beneath
+    <a href="#TERMS_SUBHEAD">subheads</a>.
+    </dd>
+    
+    <dt><a name="TERMS_QUOTE"><em>Quote</em></a></dt>
+    <dd>
+    A quote, to <strong>mom</strong>, is a line-for-line setting
+    of quoted material (e.g. poetry, song lyrics, or a snippet of
+    programming code).  You don't have to use
+    <a href="typesetting.html#BR">BR</a>
+    with quotes.
+    </dd>
+    
+    <dt><a name="TERMS_RUNNING"><em>Running text</em></a></dt>
+    <dd>
+    In a document formatted with <strong>mom</strong>, running
+    text means text that forms the body of the document, including
+    elements such as heads and subheads.
+    <a href="#TERMS_DOCHEADER">Docheaders</a>,
+    <a href="#TERMS_HEADER">headers</a>,
+    <a href="#TERMS_FOOTER">footers</a>
+    and page numbers are NOT part of running text.
+    </dd>
+    
+    <dt><a name="TERMS_SUBHEAD"><em>Subhead</em></a></dt>
+    <dd>
+    A title used to introduce secondary sections of a document;
+    hierarchically one level beneath sections introduced by
+    <a href="#TERMS_HEAD">heads</a>.
+    </dd>
+    
+    <dt><a name="TERMS_TOGGLE"><em>Toggle</em></a></dt>
+    <dd>
+    A macro or tag that, when invoked without an argument, begins
+    something or turns a feature on, and, when invoked with ANY
+    argument, ends something or turns a feature off.  See
+    <a href="intro.html#TOGGLE_EXAMPLE">Example 3</a>
+    of the section
+    <a href="intro.html#MACRO_ARGS">How to read macro arguments</a>.
+    </dd>
+</dl>
+
+<hr/>
+
+<p>
+<a href="using.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="intro.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: docelement.html
===================================================================
RCS file: docelement.html
diff -N docelement.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ docelement.html     1 Aug 2006 01:14:08 -0000       1.28
@@ -0,0 +1,6937 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<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 name="TOP"></a>
+
+<p>
+<a href="headfootpage.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docprocessing.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="DOCELEMENT"><h1 align="center"><u>The document element 
tags</u></h1></a>
+
+<ul>
+    <li><a href="#DOCELEMENT_INTRO">Introduction to the document element 
tags</a></li>
+    <ul>
+        <li><a href="#DOCELEMENT_CONTROL">Control macros &mdash; changing 
defaults for document element tags</a></li>
+        <li><a href="#CONTROL_MACRO_ARGS">Arguments to the control 
macros</a></li>
+        <ul>
+            <li><a href="#FAMILY_AND_FONT">Family and font</a></li>
+            <li><a href="#POINT_SIZE">Point size</a></li>
+            <li><a href="#COLOR">Colour</a></li>
+            <li><a href="#QUAD">Quad/justification style</a></li>
+            <li><a href="#UNDERLINE">Underline style, rule weight</a></li>
+        </ul>
+    </ul>
+    <li><a href="#INDEX_DOCELEMENT">Index of document element tags</a></li>
+</ul>
+
+<a name="DOCELEMENT_INTRO"><h2><u>Introduction to the document element 
tags</u></h2></a>
+
+<p>
+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>, &quot;This is a paragraph, this
+is a subhead, this is a footnote,&quot; and so on.
+</p>
+
+<p>
+The list of tags is actually quite small &mdash; 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>
+
+<p>
+<strong>Mom</strong> has tasteful defaults for all the tags, hence
+you only use the control macros when you want to change the way she
+does things.  This is usually done prior to
+<a href="docprocessing.html#START">START</a>,
+but can, in fact, be done at any time in the course of a document.
+Any change to a tag's style affects all subsequent invocations of
+the tag.
+</p>
+
+<p>
+
+<a name="DOCELEMENT_CONTROL"><h3><u>Control macros &mdash; changing 
defaults</u></h3></a>
+
+</p>
+
+<p>
+The control macros for document processing tags let you
+&quot;design&quot; the look of all the parts of your documents
+&mdash; should you wish.  At a bare minimum, all tags have macros to
+change <strong>mom</strong>'s defaults for family, font, point size
+and colour.  Where appropriate, there are macros to control leading,
+indents and quad as well.
+</p>
+
+<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>
+
+<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>
+
+<p>
+And don't forget: the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+can be used at any time, including inside
+<a href="definitions.html#TERMS_TOGGLE">toggle</a>
+tags (affecting only that particular invocation of the tag).
+Equally,
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+can be used in tags that take
+<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments.</a>
+</p>
+
+<p>
+<strong>IMPORTANT NOTE:</strong> The family, font, point size,
+colour and leading control macros have no effect in
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+which sets EVERYTHING in Courier roman, 12/24 (i.e. 12-point type on
+a linespace of 24 points).
+</p>
+
+<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>
+
+<p>
+<strong>A WORD OF ADVICE:</strong> Get familiar with
+<strong>mom</strong> at her default settings before exploring the
+control macros.  Put her through her paces.  See how she behaves.
+Get to know what she feels like and how she looks, both in your
+text editor and on the printed page.  Then, if you don't like
+something, use this documentation to find the precise macro you need
+to change it.  There are tons of control macros.  Reading up on
+them and trying to remember them all might lead you to think that
+<strong>mom</strong> is complex and unwieldy, which is not only
+untrue, but would offend her mightily.
+</p>
+
+<a name="CONTROL_MACRO_ARGS"><h4><u>Arguments to the control 
macros</u></h4></a>
+
+<a name="FAMILY_AND_FONT"><h5><u>Family and font</u></h5></a>
+
+<p>
+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>.
+</p>
+
+<a name="POINT_SIZE"><h5><u>Point size</u></h5></a>
+
+<p>
+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
+
+<pre>
+    .SUBHEAD_SIZE +1.5
+</pre>
+</p>
+
+<p>
+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.
+</p>
+
+<a name="COLOR"><h5><u>Colour</u></h5></a>
+
+<p>
+Control macros that end in <strong>_COLOR</strong> take as their
+argument a colour name pre-defined (or &quot;initialized&quot;)
+with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+For example, if you want your heads to be red, once you've defined
+or initialized the color, red,
+
+<pre>
+    .HEAD_COLOR red
+</pre>
+
+will turn your heads red.
+</p>
+
+<a name="LEAD"><h5><u>Lead/linespacing</u></h5></a>
+
+<p>
+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
+
+<pre>
+    .FOOTNOTE_AUTOLEAD 0
+</pre>
+</p>
+
+<p>
+To set footnotes with a 1-point lead (i.e. with the line spacing
+one point greater than the footnote's point size), do
+
+<pre>
+    .FOOTNOTE_AUTOLEAD 1
+</pre>
+</p>
+
+<a name="CONTROL_INDENTS"><h5><u>Indents</u></h5></a>
+
+<p>
+Except for
+<a href="docelement.html#PARA_INDENT">PARA_INDENT</a>,
+the argument to the control
+macros that end in <strong>_INDENT</strong> can take either a single
+digit (whole numbers only; no decimal fractions) with <em>no</em>
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+appended to it, or a digit <em>with</em> a unit of measure appended.
+</p>
+
+<p>
+A digit with <em>no</em> unit of measure appended represents by
+how much you want your paragraph first-line indents (set with
+<strong>PARA_INDENT</strong>) multiplied to achieve the correct
+indent for a particular tag.
+</p>
+
+<p>
+A digit <em>with</em> a unit of measure appended defines an
+absolute indent, relative to nothing.
+</p>
+
+<a name="QUAD"><h5><u>Quad/justification style</u></h5></a>
+
+<p>
+Control macros that end in <strong>_QUAD</strong> take the same
+arguments as
+<a href="typesetting.html#QUAD">QUAD</a>.
+</p>
+
+<a name="UNDERLINE"><h5><u>Underline style, rule weight</u></h5></a>
+
+<p>
+If <strong>mom</strong> gives the option to underline a document
+element, the weight of the underline and its distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+are controlled by macros
+that end in <strong>_UNDERLINE</strong>.
+</p>
+
+<p>
+Page elements that are separated from
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+by a rule (i.e. page headers, page footers and footnotes) are
+controlled by macros that end in <strong>_RULE_WEIGHT</strong>.
+</p>
+
+<p>
+The weight argument to <strong>_UNDERLINE</strong> macros is
+the same as the argument to
+<a href="inlines.html#RULE_WEIGHT">RULE_WEIGHT</a>,
+as is the argument to <strong>_RULE_WEIGHT</strong> macros.
+</p>
+
+<a name="INDEX_DOCELEMENT"><h2><u>Document element tags list</u></h2></a>
+
+<ul>
+    <li><a href="#EPIGRAPH_INTRO">Epigraphs</a></li>
+    <ul>
+        <li><a href="#EPIGRAPH">EPIGRAPH</a></li>
+        <li><a href="#EPIGRAPH_CONTROL">Epigrah control</a></li>
+    </ul>
+    <li><a href="#PP_INTRO">Paragraphs</a></li>
+    <ul>
+        <li><a href="#PP">PP</a></li>
+        <li><a href="#PP_CONTROL">Paragraph control</a></li>
+    </ul>
+    <li><a href="#HEAD_INTRO">Main heads</a></li>
+    <ul>
+        <li><a href="#HEAD">HEAD</a></li>
+        <li><a href="#HEAD_CONTROL">Head control</a></li>
+    </ul>
+    <li><a href="#SUBHEAD_INTRO">Subheads</a></li>
+    <ul>
+        <li><a href="#SUBHEAD">SUBHEAD</a></li>
+        <li><a href="#SUBHEAD_CONTROL">Subhead control</a></li>
+    </ul>
+    <li><a href="#PARAHEAD_INTRO">Paragraph heads</a></li>
+    <ul>
+        <li><a href="#PARAHEAD">PARAHEAD</a></li>
+        <li><a href="#PARAHEAD_CONTROL">Parahead control</a></li>
+    </ul>
+    <li><a href="#LINEBREAK_INTRO">Linebreaks (author linebreaks, section 
breaks)</a></li>
+    <ul>
+        <li><a href="#LINEBREAK">LINEBREAK</a></li>
+        <li><a href="#LINEBREAK_CHAR">Linebreak character</a></li>
+        <li><a href="#LINEBREAK_COLOR">Linebreak colour</a></li>
+    </ul>
+    <li><a href="#QUOTE_INTRO">Quotes (line for line)</a></li>
+    <ul>
+        <li><a href="#QUOTE">QUOTE</a></li>
+        <li><a href="#QUOTE_CONTROL">Quote control</a></li>
+    </ul>
+    <li><a href="#BLOCKQUOTE_INTRO">Blockquotes (cited material)</a></li>
+    <ul>
+        <li><a href="#BLOCKQUOTE">BLOCKQUOTE</a></li>
+        <li><a href="#BLOCKQUOTE_CONTROL">Blockquote control</a></li>
+    </ul>
+    <li><a href="#CODE">CODE</a> (inserting code snippets into documents)</li>
+    <li><a href="#LIST_INTRO">Nested lists</a></li>
+    <ul>
+        <li><a href="#LIST">LIST</a></li>
+        <ul>
+            <li><a href="#ITEM">ITEM</a></li>
+        </ul>
+        <li><a href="#LIST_CONTROL">List control</a></li>
+    </ul>
+    <li><a href="#NUMBER_LINES_INTRO">Line numbering</a></li>
+    <ul>
+        <li><a href="#NUMBER_LINES">NUMBER_LINES</a></li>
+        <li><a href="#NUMBER_LINES_CONTROL">Control macros</a></li>
+        <ul>
+            <li><a href="#NUMBER_LINES_CONTROL_QUOTE">Line numbering control 
for QUOTE and BLOCKQUOTE</a></li>
+        </ul>
+    </ul>
+    <li><a href="#FOOTNOTE_INTRO">Footnotes</a></li>
+    <ul>
+        <li><a href="#FOOTNOTE">FOOTNOTE</a></li>
+        <li><a href="#FOOTNOTE_CONTROL">Footnote control</a></li>
+    </ul>
+    <li><a href="#ENDNOTE_INTRO">Endnotes</a></li>
+    <ul>
+        <li><a href="#ENDNOTE">ENDNOTE</a></li>
+        <li><a href="#ENDNOTE_CONTROL">Endnote control</a></li>
+    </ul>
+    <li><a href="#MARGIN_NOTES_INTRO">Margin notes</a></li>
+    <ul>
+        <li><a href="#MN_INIT">MN_INIT</a> &mdash; initialize margin notes</li>
+        <li><a href="#MN">MN</a> &mdash; start and end a margin note</li>
+    </ul>
+    <li><a href="refer.html#TOP">Bibliographies and references</a></li>
+    <ul>
+        <li><a href="refer.html#REF">REF</a></li>
+        <li><a href="refer.html#ENDNOTE_REFS">ENDNOTE_REFS</a></li>
+        <li><a href="refer.html#FOOTNOTE_REFS">FOOTNOTE_REFS</a></li>
+        <li><a href="refer.html#BRACKET_REFS">Embedded references</a></li>
+        <li><a href="refer.html#BIBLIOGRAPHY">BIBLIOGRAPHY</a></li>
+        <li><a href="refer.html#BIBLIOGRAPHY_TYPE">BIBLIOGRAPHY_TYPE</a></li>
+        <li><a href="refer.html#BIBLIO_CONTROL">Bibliography pages style 
control</a></li>
+    </ul>
+    <li><a href="#BLANK_PAGE_TITLE">Blank pages</a></li>
+    <li><a href="#TOC_INTRO">Tables of contents</a></li>
+    <ul>
+        <li><a href="#TOC">TOC</a></li>
+        <li><a href="#TOC_CONTROL">Table of contents control</a></li>
+    </ul>
+    <li><a href="#FINIS_INTRO">Document termination</a></li>
+    <ul>
+        <li><a href="#FINIS">FINIS (Document termination)</a></li>
+        <li><a href="#FINIS_STRING">Changing the FINIS string</a></li>
+        <li><a href="#FINIS_COLOR">Changing the FINIS colour</a></li>
+    </ul>
+    <li><a href="#PSPIC">Inserting images into a document &mdash; the PSPIC 
macro</a></li>
+</ul>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="EPIGRAPH_INTRO"><h2><u>Epigraphs</u></h2></a>
+
+<ul>
+    <li><a href="#EPIGRAPH">Tag: EPIGRAPH</a></li>
+    <li><a href="#EPIGRAPH_CONTROL">Epigraph control macros</a></li>
+</ul>
+
+<p>
+<a href="definitions.html#TERMS_EPIGRAPH">Epigraphs</a>
+colour, flavour, or comment on the document they precede.
+Typically, they are centred at the top of a document's first page
+(underneath the title) and set in a smaller point size than that of
+paragraph text.
+</p>
+
+<p>
+By default, <strong>mom</strong> sets epigraphs centred and
+<a href="definitions.html#TERMS_NOFILL">unfilled</a>;
+this lets you input them on a line for line basis.  This behaviour
+can be changed to accomodate
+<a href="definitions.html#TERMS_FILLED">filled</a>
+epigraph &quot;blocks.&quot;
+</p>
+
+<!-- -EPIGRAPH- -->
+
+<hr width="66%" align="left"/>
+
+<a name="EPIGRAPH"></a>
+
+<p>
+<nobr>Macro: <strong>EPIGRAPH</strong> <kbd>&lt;toggle&gt; | [ BLOCK 
]</kbd></nobr>
+</p>
+
+<p>
+<strong>EPIGRAPH</strong> is a toggle, used like this:
+
+<pre>
+    .EPIGRAPH
+    &lt;text of epigraph&gt;
+    .EPIGRAPH OFF
+</pre>
+</p>
+
+<p>
+<kbd>OFF</kbd>, above, could be anything &mdash; say, <kbd>Q</kbd>
+or <kbd>X</kbd> &mdash; since any argument other than
+<kbd>BLOCK</kbd> turns it off.
+</p>
+
+<p>
+If given the argument, <kbd>BLOCK</kbd>, <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>
+
+<p>
+If a block-style epigraph runs to more than one paragraph (unlikely,
+but conceivable), you <strong>must</strong> introduce every paragraph
+&mdash; <u>INCLUDING THE FIRST!!!</u> &mdash; with the
+<a href="#PP">PP</a>
+tag.
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>EPIGRAPH</strong> should only be used
+at the top of a document (i.e. just after
+<a href="docprocessing.html#START">START</a>)
+or after
+<a href="#HEAD_INTRO">heads</a>.
+The latter is not especially recommended, but it does work.  In all
+other places where you want quotes or cited text, use
+<a href="#QUOTE">QUOTE</a>
+or
+<a href="#BLOCKQUOTE">BLOCKQUOTE</a>.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="EPIGRAPH_CONTROL"><h3><u>Epigraph control macros</u></h3></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.EPIGRAPH_FAMILY    default = prevailing document family; default is Times 
Roman
+.EPIGRAPH_FONT      default = roman
+.EPIGRAPH_SIZE      default = -1.5 (points)
+.EPIGRAPH_COLOR     default = black
+.EPIGRAPH_AUTOLEAD  default = 2 points
+
+(The next two apply to &quot;block&quot; style epigraphs only)
+
+.EPIGRAPH_QUAD      default = same as paragraphs
+.EPIGRAPH_INDENT*   (see below)
+
+*Indent here refers to the indent from both the left and right margins
+ that centres the block style epigraph on the page.
+</pre>
+
+<a name="EPIGRAPH_INDENT"><h4><u>Epigraph indent</u></h4></a>
+
+<p>
+Prior to version 1.4-b, <strong>mom</strong> allowed
+only the passing of an integer to the macro,
+<strong>EPIGRAPH_INDENT</strong>.  The integer represented the
+amount by which to multiply the argument passed to
+<a href="#PARA_INDENT">PARA_INDENT</a>
+to arrive at an indent for block style epigraphs.
+</p>
+
+<p>
+As of version 1.4-b, you can now append a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to the argument passed to <strong>EPIGRAPH_INDENT</strong>,
+thus setting an absolute indent, relative to nothing.  The old
+behaviour is still respected, though; in other words, if you pass
+<strong>EPIGRAPH_INDENT</strong> an integer with no unit of measure
+appended, the integer represents the amount by which to multiply
+<strong>PARA_INDENT</strong> to arrive at an indent for block style
+epigraphs.
+</p>
+
+<p>
+Please note that if your <strong>PARA_INDENT</strong>
+is <kbd>0</kbd> (i.e. no indenting of the first line of
+paragraphs), you <em><strong>must</strong></em> set an
+<strong>EPIGRAPH_INDENT</strong> yourself, with a unit of measure
+appended to the argument. <strong>Mom</strong> has no default for
+<strong>EPIGRAPH_INDENT</strong> if paragraph first lines are not being
+indented.
+</p>
+
+<p>
+The default value for <strong>EPIGRAPH_INDENT</strong> is 3 (for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>)
+and 2 (for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>).
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="PP_INTRO"><h2><u>Paragraphs</u></h2></a>
+
+<ul>
+    <li><a href="#PP">Tag: PP</a></li>
+    <li><a href="#PP_CONTROL">Paragraph control macros</a></li>
+</ul>
+
+<p>
+The paragraph macro is the one you use most often.  Consequently,
+it's one of most powerful, yet simplest to use &mdash; 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>
+
+<p>
+By default, <strong>mom</strong> does not indent the first paragraph
+of a document, nor paragraphs that fall immediately after
+<a href="#HEAD_INTRO">heads</a>
+or
+<a href="#SUBHEAD_INTRO">subheads</a>.
+The first paragraphs of blockquotes and block-style epigraphs are
+also not indented.  This behaviour can be changed with the control
+macro
+<a href="#PARA_INDENT_FIRST">INDENT_FIRST_PARAS</a>.
+</p>
+
+<p>
+In contrast to some other macro sets, <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>
+
+<p>
+Note that <strong>mom</strong> does not provide &quot;orphan
+control&quot; 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 &mdash; if they fall at
+the bottom of the page &mdash; to a new page, which is not what you
+want.
+</p>
+
+<p>
+<strong>TIP:</strong> The last thing you want while you're writing
+and editing drafts of a document (particularly stories and chapters)
+is a text file cluttered up with <strong>PP</strong>'s. The visual
+interruption in the flow of text is a serious obstacle to creativity
+and critiquing.
+</p>
+
+<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
+<nobr>( <kbd>^I</kbd> )</nobr> into <kbd>.PP</kbd> (plus a new
+line), and pipes the output to groff for processing and printing.
+</p>
+
+<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 <kbd>.blm</kbd>
+<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.
+
+<pre>
+    .blm PP
+</pre>
+
+tells groff that all blank lines are really the macro <strong>PP</strong>.
+</p>
+
+<!-- -PP- -->
+
+<hr width="66%" align="left"/>
+
+<a name="PP"></a>
+
+<p>
+<nobr>Macro: <strong>PP</strong></nobr>
+</p>
+
+<p>
+<kbd>.PP</kbd> (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>.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="PP_CONTROL"><h3><u>Paragraph control macros</u></h3></a>
+
+<p>
+The <strong>PP</strong> macro 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>
+    <li><a href="#PP_FONT">Font control</a></li>
+    <li><a href="#PP_COLOR">Paragraph colour</a></li>
+    <li><a href="#PP_LEADING">Leading/linespacing control</a></li>
+    <li><a href="#PP_JUST_QUAD">Justification/quad control</a></li>
+    <li><a href="#PARA_INDENT">First-line indent control</a></li>
+    <li><a href="#PARA_INDENT_FIRST">Initial paragraphs indent control</a></li>
+    <li><a href="#PP_SPACE">Paragraph spacing control</a></li>
+</ol>
+
+<a name="PP_FAMILY"><h4><u>1. Family</u></h4></a>
+
+<p>
+The paragraph
+<a href="definitions.html#TERMS_FAMILY">family</a>
+is set with
+<a href="typesetting.html#FAMILY">FAMILY</a>
+prior to
+<a href="docprocessing.html#START">START</a>,
+or
+<a href="docprocessing.html#DOC_FAMILY">DOC_FAMILY</a>
+afterwards.  Please note that both globally affect the family of
+every element in the document.
+</p>
+
+<p>
+If you wish to change the family for regular text paragraphs only,
+invoke <kbd>.FAMILY</kbd> immediately after <kbd>.PP</kbd>
+in EVERY paragraph whose family you wish to differ from the
+prevailing document family.
+</p>
+
+<p>
+<strong>Mom</strong>'s default paragraph (and document) family
+is Times Roman.
+</p>
+
+<a name="PP_FONT"><h4><u>2. Font &mdash; PP_FONT</u></h4></a>
+
+<p>
+To change the
+<a href="definitions.html#TERMS_FONT">font</a>
+used in regular text paragraphs, use <kbd>.PP_FONT</kbd>,
+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>
+
+<p>
+<strong>Mom</strong>'s default paragraph font is medium roman.
+</p>
+
+<a name="PP_COLOR"><h4><u>3. Paragraph colour</u></h4></a>
+
+<p>
+<strong>Mom</strong> has no special control macro for colourizing
+paragraphs.  If you wish a colourized paragraph, you must use the
+macro,
+<a href="color.html#COLOR">COLOR</a>,
+or the
+<a href="definitions.html#TERMS_INLINE">inline escape</a>,
+<a href="color.html#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a>,
+<em>after</em> <kbd>.PP</kbd>.  The colour must be one pre-defined
+(or &quot;initialized&quot;) with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+</p>
+
+<p>
+Please note that unless you change the colour back to it's default
+(usually black) at the end of the paragraph, all subsequent
+paragraphs will be set in the new colour, although most other
+elements of your document will continue to be set in the default
+colour (usually black).
+</p>
+
+<p>
+For example, assuming you have defined the colour, blue,
+
+<pre>
+    .PP
+    .COLOR blue
+    &lt;first paragraph&gt;
+    .HEAD "Monty Python"
+    .SUBHEAD "The Origins of Spam"
+    .PP
+    &lt;second paragraph&gt;
+</pre>
+
+the first paragraph will be blue, the head and subhead will be in
+the document's default colour (usually black), and the second
+paragraph will be in blue.
+</p>
+
+<p>
+The one document element that is affected by changing the colour of
+paragraphs is 
+<a href="#PARAHEAD">paraheads</a>,
+since paraheads are attached directly to the body of paragraphs.  In
+other words, if you change the colour of a paragraph and do not
+reset the paragraph colour back to its default, subsequent paraheads
+will appear in the same colour as your paragraphs unless you have
+explicitly told <strong>mom</strong> you want a pre-defined (or
+&quot;initialized&quot;) color (usually black) for your paraheads.
+</p>
+
+<p>
+See the footnote to
+<a href="#PARAHEAD_COLOR">PARAHEAD_COLOR</a>.
+</p>
+
+<a name="PP_LEADING"><h4><u>4. Leading</u></h4></a>
+
+<p>
+The paragraph
+<a href="definitions.html#TERMS_LEADING">leading</a>
+is set with
+<a href="typesetting.html#LEADING">LS</a>
+prior to
+<a href="docprocessing.html#START">START</a>,
+or
+<a href="docprocessing.html#DOC_LEAD">DOC_LEAD</a>
+afterwards.  Please note that either method globally affects the
+leading and spacing of every document element (except
+<a href="definitions.html#TERMS_HEADER">headers</a>
+and
+<a href="definitions.html#TERMS_FOOTER">footers</a>).
+</p>
+
+<p>
+If you wish to change the leading of regular text paragraphs only,
+invoke <kbd>.LS</kbd> immediately after <kbd>.PP</kbd> in EVERY
+paragraph whose leading you wish to change.
+</p>
+
+<p>
+<strong>HYPER-IMPORTANT NOTE:</strong> It is extremely unwise to
+change paragraph leading with <strong>LS</strong>, as it will,
+in all cases, screw up <strong>mom</strong>'s ability to balance
+the bottom margin of pages.  Should you absolutely need to change
+paragraph leading with <strong>LS</strong>, and subsequently want
+<strong>mom</strong> to get back on the right leading track, use the
+<a href="docprocessing.html#SHIM">SHIM</a>
+macro.
+</p>
+
+<p>
+<strong>Mom</strong>'s default paragraph leading (document leading)
+is 16 points, adjusted to fill the page.
+</p>
+
+<a name="PP_JUST_QUAD"><h4><u>5. Justification/quad</u></h4></a>
+
+<p>
+The justification/quad-direction of regular text paragraphs (i.e.
+<a href="definitions.html#TERMS_JUST">justified</a>,
+or
+<a href="definitions.html#TERMS_FILLED">filled</a>
+and
+<a href="definitions.html#TERMS_QUAD">quadded</a>
+left/right/centre) is set with
+<a href="typesetting.html#JUSTIFY">JUSTIFY</a>
+or
+<a href="typesetting.html#QUAD">QUAD</a>
+prior to
+<a href="docprocessing.html#START">START</a>,
+and with
+<a href="docprocessing.html#DOC_QUAD">DOC_QUAD</a>
+afterwards.
+</p>
+
+<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>
+
+<p>
+If you wish to change the justification/quad-direction of
+individual paragraphs, invoke
+<a href="typesetting.html#JUSTIFY"><kbd>.JUSTIFY</kbd></a>
+or
+<a href="typesetting.html#QUAD"><kbd>.QUAD</kbd></a>
+on the line immediately after <kbd>.PP</kbd>.  Only the paragraph
+in question gets justified or quadded differently; subsequent
+paragraphs remain unaffected.
+</p>
+
+<p>
+<strong>Mom</strong>'s default justification/quad-direction for
+paragraphs is
+
+<ul>
+    <li>justified, for
+        <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a>
+    </li>
+    <li>quad left, for
+        <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a>
+    </li>
+</ul>
+</p>
+
+<a name="PARA_INDENT"><h4><u>6. First-line indent &mdash; 
PARA_INDENT</u></h4></a>
+
+<p>
+The first-line indent of paragraphs is controlled by
+<kbd>.PARA_INDENT</kbd>, 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
+
+<pre>
+    .PARA_INDENT 4.5m
+</pre>
+</p>
+
+<p>
+In addition to establishing the basic first line-indent of
+paragraphs, <strong>PARA_INDENT</strong> also affects
+<a href="#EPIGRAPH_INTRO">epigraphs</a>,
+<a href="#QUOTE_INTRO">quotes</a>
+and
+<a href="#BLOCKQUOTE_INTRO">blockquotes</a>,
+whose overall indenting from the left and (where applicable)
+right margins is relative to <strong>PARA_INDENT</strong> if
+the <strong>_INDENT</strong> control macro for these tags has
+no <a href="definitions.html#TERMS_UNITOFMEASURE">unit of
+measure</a> appended to it.  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>
+
+<p>
+<strong>Mom</strong>'s default <strong>PARA_INDENT</strong> is 2 ems
+for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a>
+and 3 picas (1/2 inch) for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a>.
+</p>
+
+<a name="PARA_INDENT_FIRST"><h4><u>7. Indenting initial paragraphs &mdash; 
INDENT_FIRST_PARAS</u></h4></a>
+
+<p>
+By default, <strong>mom</strong> does not indent the first paragraph
+of a document, nor the first paragraph after a head or subhead, nor
+the first paragraphs of
+<a href="#EPIGRAPH_INTRO">epigraphs</a>,
+<a href="#BLOCKQUOTE_INTRO">blockquotes</a>
+or
+<a href="#FOOTNOTE_INTRO">footnotes</a>
+that run to more than one paragraph.
+<a name="INDENT_FIRST_PARAS"></a>
+</p>
+
+<p>
+If you wish to have first paragraphs indented, invoke the macro
+<kbd>.INDENT_FIRST_PARAS</kbd> without an argument, either before or
+after
+<a href="docprocessing.html#START">START</a>.
+<strong>INDENT_FIRST_PARAS</strong> is a toggle macro, therefore
+passing it any argument (<strong>OFF, QUIT, Q, X</strong>...)
+cancels its effect, meaning that first paragraphs will once again
+NOT be indented.
+</p>
+
+<a name="PP_SPACE"><h4><u>8. Spacing paragraphs &mdash; PARA_SPACE</u></h4></a>
+
+<p>
+By default, <strong>mom</strong> does not insert a blank line
+between paragraphs.  If you would like her to do so, invoke the
+macro, <kbd>.PARA_SPACE</kbd>, without an 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.
+</p>
+
+<p>
+<strong>NOTE:</strong> If <strong>PARA_SPACE</strong> is on,
+<strong>mom</strong> spaces only those paragraphs that come after
+an &quot;initial&quot; paragraph.  Initial paragraphs are those
+that come immediately after the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
+<a href="#EPIGRAPH_INTRO">epigraphs</a>,
+<a href="#HEAD_INTRO">heads</a>,
+<a href="#SUBHEAD_INTRO">subheads</a>
+and
+<a href="#LINEBREAK_INTRO">linebreaks</a>.
+(The first paragraph after these document elements requires no
+blank line to separate it from other paragraphs.)
+</p>
+
+<p>
+Sometimes, you can be fairly deep into a document before using
+<strong>PP</strong> for the first time, and when you do, because
+<strong>mom</strong> is still waiting for that &quot;initial&quot;
+paragraph, she doesn't space it with a blank line, even though
+you expect her to.  The simple workaround for this is to invoke
+<kbd>.PP</kbd> <em>twice</em> (in succession) at the point you
+expect the blank line to appear.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="HEAD_INTRO"><h2><u>Main heads</u></h2></a>
+
+<ul>
+    <li><a href="#HEAD">Tag: HEAD</a></li>
+    <li><a href="#HEAD_CONTROL">Head control macros</a></li>
+</ul>
+
+<p>
+Main heads &mdash; or, in this documentation, just &quot;heads&quot;
+&mdash; 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>
+
+<p>
+By default, heads are centred on the page, underlined,
+all in caps.  A double linespace precedes each head.  In
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
+heads are bold, slightly larger than paragraph text.
+</p>
+
+<p>
+If these defaults don't suit you, you can change them with the
+head control macros.
+</p>
+
+<!-- -HEAD- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HEAD"></a>
+
+<p>
+<nobr>Macro: <strong>HEAD</strong> <kbd>&quot;&lt;text of head&gt;&quot; [ 
&quot;&lt;2nd line&gt;&quot; [ &quot;&lt;3rd line&gt;&quot; ... ] ]</kbd></nobr>
+</p>
+
+<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>
+
+<p>
+<strong>NOTE:</strong> If a head falls near the bottom of an output
+page and <strong>mom</strong> is unable to fit the head <em>plus at
+least one line of text underneath it</em>, she will set the head at
+the top of the next page.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> If an
+<a href="definitions.html#TERMS_INPUTLINE">input line</a>
+in a head (i.e. one of the lines surrounded by double-quotes) has
+to be broken by <strong>mom</strong> in order to fit the current
+line-length (say, a narrow column measure), the head underline
+(underscore) will not behave.  You'll recognize the problem as soon
+as you preview your document.  If you encounter a head that
+misbehaves with respect to underlining, the solution is to
+supply each line <em>as you want it</em> as a separate argument
+(surrounded by double-quotes) to the <strong>HEAD</strong> macro.
+</p>
+
+<p>
+For example, if <strong>mom</strong> breaks
+
+<pre>
+    .HEAD "This is a very, very, very long head"
+</pre>
+
+into
+<pre>
+    This is a very, very, very
+            long head        
+</pre>
+
+you'll see the misbehaving underscore and should change the
+argument to <strong>HEAD</strong> to
+
+<pre>
+    .HEAD "This is a very, very very" "long head"
+</pre>
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="HEAD_CONTROL"><h3><u>Head control macros</u></h3></a>
+
+<p>
+There are, in addition to the usual family/font/size/quad control
+macros, a number of macros to manage head numbering, spacing,
+underlining, and so on.  Check them out if you're unhappy with
+<strong>mom</strong>'s defaults.
+</p>
+
+<ol>
+    <li><a href="#HEAD_GENERAL">Family/font/size/colour/quad</a></li>
+    <li><a href="#HEAD_CAPS">Caps</a></li>
+    <li><a href="#HEAD_SPACE">Pre-head space</a></li>
+    <li><a href="#HEAD_UNDERLINE">Underlining</a></li>
+    <li><a href="#NUMBER_HEADS">Numbering</a></li>
+    <li><a href="#RESET_HEAD_NUMBER">Reset head numbering</a></li>
+    <li><a href="#HEAD_INLINES">Vertical inline escapes inside heads</a></li>
+</ol>
+
+<a name="HEAD_GENERAL"><h4><u>1. Family/font/size/colour/quad</u></h4></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.HEAD_FAMILY default = prevailing document family; default is Times Roman
+.HEAD_FONT   default = bold
+.HEAD_SIZE   default = +1 (point)
+.HEAD_COLOR  default = black
+.HEAD_QUAD   default = CENTER
+</pre>
+
+<a name="HEAD_CAPS"><h4><u>2. Capitalizing heads &mdash; HEAD_CAPS</u></h4></a>
+
+<p>
+By default, <strong>mom</strong> sets heads in caps, regardless
+of the
+<a href="definitions.html#TERMS_STRINGARGUMENT">string(s)</a>
+you give to
+<a href="#HEAD">HEAD</a>.
+To change this behaviour, do
+
+<pre>
+    .HEAD_CAPS OFF
+</pre>
+</p>
+
+<p>
+<strong>HEAD_CAPS</strong> is a toggle macro, therefore you can use
+any argument you like instead of <strong>OFF</strong> (<strong>END,
+QUIT, Q, X</strong>...).  To turn <strong>HEAD_CAPS</strong> back
+on, simply invoke it without an argument.
+</p>
+
+<a name="HEAD_SPACE"><h4><u>3. Space before heads &mdash; 
HEAD_SPACE</u></h4></a>
+
+<p>
+By default, <strong>mom</strong> deposits 2 blank lines prior to
+every head.  If you'd prefer just a single blank line, do
+
+<pre>
+    .HEAD_SPACE OFF
+</pre>
+</p>
+
+<p>
+<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 <kbd>.HEAD_SPACE</kbd> without an argument.
+</p>
+
+<a name="HEAD_UNDERLINE"><h4><u>4. Underlining heads &mdash; 
HEAD_UNDERLINE</u></h4></a>
+
+<p>
+By default, <strong>mom</strong> underlines heads.  To change this
+behaviour, do
+
+<pre>
+    .HEAD_UNDERLINE OFF
+</pre>
+</p>
+
+<p>
+<strong>HEAD_UNDERLINE</strong> can be used as a toggle macro, therefore you 
can
+use any argument you like instead of <strong>OFF</strong> (<strong>END,
+QUIT, Q, X</strong>...) to turn it off, or invoke it by itself to
+turn head underlining on.
+</p>
+
+<p>
+As of version 1.5 of <strong>mom</strong>, you can now use
+<strong>HEAD_UNDERLINE</strong> to set the weight of the underline
+and its distance from the head, in addition to simply toggling head
+underlining on or off.  The order of arguments is <kbd>weight</kbd>,
+optionally followed by <kbd>gap</kbd>, where &quot;gap&quot; is the
+distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of the head to the underline.
+</p>
+
+<p>
+The <kbd>weight</kbd> argument is given in points, or fractions
+thereof, and must NOT have the
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+<kbd>p</kbd>, appended.  Like
+<a href="inlines.html#RULE_WEIGHT">RULE_WEIGHT</a>,
+weights MUST be greater than 0 and less than 100.
+<strong>Mom</strong>'s default for head underlines is 1/2 point.
+</p>
+
+<p>
+The <kbd>gap</kbd> argument can be given using any unit of measure,
+and MUST have the unit of measure appended to the argument.  The
+distance of the gap is measured from the baseline of the head to
+the upper edge of the underline.  <strong>Mom</strong>'s default
+gap for head underlines is 2 points.
+</p>
+
+<p>
+As an example, supposed you want your heads underlined with a
+4-point rule separated from the head by 3 points.  The way to
+accomplish that is:
+
+<pre>
+    .HEAD_UNDERLINE 4 3p
+</pre>
+
+If you wanted the same thing, but were content with
+<strong>mom</strong>'s default gap of 2 points,
+
+<pre>
+    .HEAD_UNDERLINE 4
+</pre>
+
+would do the trick.
+</p>
+
+<p>
+Please note that if you supply a weight to
+<strong>HEAD_UNDERLINE</strong>, and optionally a gap, you also turn
+the underlining of heads on; if this is not what you want, you must
+turn head underlining off manually afterwards.
+</p>
+
+<a name="NUMBER_HEADS"><h3><u>5. Number heads &mdash; NUMBER_HEADS</u></h3></a>
+
+<p>
+If you'd like your heads numbered, simply invoke
+<kbd>.NUMBER_HEADS</kbd> with no argument. <strong>Mom</strong>
+will number all subsequent heads automatically (in ascending order,
+naturally).
+</p>
+
+<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>
+
+<p>
+Should you wish to stop head numbering, invoke
+<kbd>.NUMBER_HEADS</kbd> with any argument (<strong>OFF, QUIT,
+END, X</strong>...).  Head numbering will cease, and the head number
+will not be included in the numbering of subheads and/or paraheads.
+</p>
+
+<p>
+See also
+<a href="#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a>
+if you'd like chapter numbers prepended to the head numbers.
+</p>
+
+<a name="RESET_HEAD_NUMBER"><h4><u>6. Reset head numbering &mdash; 
RESET_HEAD_NUMBER</u></h4></a>
+
+<p>
+Should you wish to reset the head number to &quot;1&quot;, invoke
+<kbd>.RESET_HEAD_NUMBER</kbd> 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
+<kbd>.RESET_HEAD_NUMBER</kbd> with the number you want, e.g.
+
+<pre>
+    .RESET_HEAD_NUMBER 6
+</pre>
+
+Your next head will be numbered &quot;6&quot; and subsequent heads will
+be numbered in ascending order from &quot;6&quot;.
+</p>
+
+<a name="HEAD_INLINES"><h4><u>7. Vertical inline escapes inside 
heads</u></h4></a>
+
+<p>
+If you need to adjust the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+position of a head (e.g. the head falls at the top of a column and
+you want its
+<a href="definitions.html#TERMS_ASCENDER">ascenders</a>
+to line up with the ascenders of
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+in other columns), you can embed a vertical motion
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+(either
+<a href="inlines.html#INLINE_VERTICAL_MOM">mom</a>'s
+or
+<a href="inlines.html#INLINE_VERTICAL_GROFF">groff</a>'s
+in the string(s) you pass to <strong>HEAD</strong>.
+</p>
+
+<p>
+For example,
+
+<pre>
+    .HEAD "\[ALD3]Text of head"
+        or
+    .HEAD "\[DOWN 3p]Text of head"
+</pre>
+
+will lower the baseline of the head by three points.  Note that
+there's no need to reverse the sense of the inline escape.
+</p>
+
+<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:
+
+<pre>
+    .HEAD "\[ALD3]First line" "\[ALD3]Next line" 
+        or
+    .HEAD "\[DOWN 3p]First line" "\[DOWN 3p]Next line" 
+</pre>
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="SUBHEAD_INTRO"><h2><u>Subheads</u></h2></a>
+
+<ul>
+    <li><a href="#SUBHEAD">Tag: SUBHEAD</a></li>
+    <li><a href="#SUBHEAD_CONTROL">Subhead control macros</a></li>
+</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>
+
+<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>
+
+<p>
+If these defaults don't suit you, you can change them with the
+subhead control macros.
+</p>
+
+<!-- -SUBHEAD- -->
+
+<hr width="66%" align="left"/>
+
+<a name="SUBHEAD"></a>
+
+<p>
+<nobr>Macro: <strong>SUBHEAD</strong> <kbd>&quot;&lt;text of subhead&gt;&quot; 
[ &quot;&lt;2nd line&gt;&quot; [ &quot;&lt;3rd line&gt;&quot; ... ] 
]</kbd></nobr>
+</p>
+
+<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>
+
+<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.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="SUBHEAD_CONTROL"><h3><u>Subhead control macros</u></h3></a>
+
+<p>
+In addition to the usual family/font/size/quad control
+macros, there are macros to manage subhead numbering.
+</p>
+
+<ol>
+    <li><a href="#SUBHEAD_GENERAL">Family/font/size/colour/quad</a></li>
+    <li><a href="#NUMBER_SUBHEADS">Numbering</a></li>
+    <li><a href="#RESET_SUBHEAD_NUMBER">Reset subhead numbering</a></li>
+    <li><a href="#SUBHEAD_INLINES">Vertical inline escapes inside 
subheads</a></li>
+</ol>
+
+<a name="SUBHEAD_GENERAL"><h4><u>1. Family/font/size/quad</u></h4></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.SUBHEAD_FAMILY default = prevailing document family; default is Times Roman
+.SUBHEAD_FONT   default = bold
+.SUBHEAD_SIZE   default = +.5 (point)
+.SUBHEAD_COLOR  default = black
+.SUBHEAD_QUAD   default = LEFT
+</pre>
+
+<a name="NUMBER_SUBHEADS"><h4><u>2. Number subheads &mdash; 
NUMBER_SUBHEADS</u></h4></a>
+
+<p>
+If you'd like your subheads numbered, simply invoke
+<kbd>.NUMBER_SUBHEADS</kbd> with no argument. <strong>Mom</strong>
+will number all subsequent subheads automatically (in ascending
+order, naturally).
+</p>
+
+<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>
+
+<p>
+Should you wish to stop subhead numbering, invoke
+<kbd>.NUMBER_SUBHEADS</kbd> with any argument (<strong>OFF, QUIT,
+END, X</strong>...).  Subhead numbering will cease, and the subhead
+number will not be included in the numbering of paraheads.
+</p>
+
+<p>
+See also
+<a href="#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a>
+if you'd like chapter numbers prepended to the subhead numbers.
+</p>
+
+<a name="RESET_SUBHEAD_NUMBER"><h4><u>3. Reset subhead numbering &mdash; 
RESET_SUBHEAD_NUMBER</u></h4></a>
+
+<p>
+Should you wish to reset the subhead number to &quot;1&quot;, invoke
+<kbd>.RESET_SUBHEAD_NUMBER</kbd> 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 <kbd>.RESET_SUBHEAD_NUMBER</kbd> with the number you
+want, e.g.
+
+<pre>
+    .RESET_SUBHEAD_NUMBER 4
+</pre>
+
+Your next subhead will be numbered &quot;4&quot; and subsequent
+subheads will be numbered in ascending order from &quot;4&quot;.
+</p>
+
+<a name="SUBHEAD_INLINES"><h4><u>Vertical inline escapes inside 
subheads</u></h4></a>
+
+<p>
+See
+<a href="#HEAD_INLINES">Vertical inline escapes inside heads</a>.
+The information there applies equally to subheads.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="PARAHEAD_INTRO"><h2><u>Paragraph heads</u></h2></a>
+
+<ul>
+    <li><a href="#PARAHEAD">Tag: PARAHEAD</a></li>
+    <li><a href="#PARAHEAD_CONTROL">Parahead control macros</a></li>
+</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>
+
+<p>
+By default, paraheads are joined to the body of a paragraph,
+slightly indented (provided the paragraph is not a
+&quot;first&quot; 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>
+
+<p>
+If these defaults don't suit you, you can change them with the
+parahead control macros.
+</p>
+
+<!-- -PARAHEAD- -->
+
+<hr width="66%" align="left"/>
+
+<a name="PARAHEAD"></a>
+
+<p>
+<nobr>Macro: <strong>PARAHEAD</strong> <kbd>&quot;&lt;text of 
parahead&gt;&quot;</kbd></nobr>
+</p>
+
+<p>
+<strong>PARAHEAD</strong> must come AFTER
+<a href="#PP">PP</a>
+or it will not work!
+</p>
+
+<p>
+The argument is the text of the parahead, surrounded by
+double-quotes.  Because paraheads are joined to the body of a
+paragraph, they accept only one argument (see
+<a href="#HEAD">HEAD</a>
+and
+<a href="#SUBHEAD">SUBHEAD</a>).
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="PARAHEAD_CONTROL"><h3><u>Parahead control macros</u></h3></a>
+
+<p>
+In addition to the family/font/size/colour/indent control macros,
+there are macros to manage parahead numbering.
+</p>
+
+<ol>
+    <li><a href="#PARAHEAD_GENERAL">Family/font/size/color</a></li>
+    <li><a href="#PARAHEAD_INDENT">Indent</a></li>
+    <li><a href="#NUMBER_PARAHEADS">Numbering</a></li>
+    <li><a href="#RESET_PARAHEAD_NUMBER">Reset parahead numbering</a></li>
+</ol>
+
+<p>
+<a name="PARAHEAD_GENERAL"><h4><u>1. Family/font/size/colour</u></h4></a>
+</p>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.PARAHEAD_FAMILY default = prevailing document family; default is Times Roman
+.PARAHEAD_FONT   default = bold italic
+.PARAHEAD_SIZE   default = +.5 (point)
+<a name="PARAHEAD_COLOR">.PARAHEAD_COLOR  default = black*</a>
+
+*If you colourize paragraph text, paraheads will appear in the same
+colour as the text unless you explicitly tell mom to colour them
+otherwise by invoking .PARAHEAD_COLOR.  If you do want paraheads
+that are coloured the same as paragraph text, it's generally a good
+idea to invoke .PARAHEAD_COLOR anyway (with the same colour used
+for paragraph text), just to let mom know.
+</pre>
+
+<a name="PARAHEAD_INDENT"><h4><u>2. Indent</u></h4></a>
+
+<p>
+Unlike other control macros that end in
+<a href="#CONTROL_INDENTS"><strong>_INDENT</strong></a>,
+the argument to the macro that controls indenting of paragraph heads
+(<strong>PARAHEAD_INDENT</strong>) is NOT relative to the first-line
+indent of normal paragraphs.  In other words, it takes an absolute
+value, and requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example, to set the paragraph head indent to 2-1/2 picas, you
+do:
+
+<pre>
+    .PARAHEAD_INDENT 2.5P
+</pre>
+</p>
+
+<p>
+<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 <kbd>\n[#PP_INDENT]u</kbd>
+arithmetically as the argument to <strong>PARAHEAD_INDENT</strong>
+for an indent that's relative to <strong>PP_INDENT</strong>.)
+</p>
+
+<p>
+<strong>NOTE:</strong> Paragraph heads in &quot;first
+paragraphs&quot;, as defined in
+<a href="#PARA_INDENT_FIRST">Indenting initial paragraphs</a>,
+are not indented unless you turn
+<a href="#INDENT_FIRST_PARAS">INDENT_FIRST_PARAS</a>
+on.
+</p>
+
+<a name="NUMBER_PARAHEADS"><h4><u>3. Number paraheads &mdash; 
NUMBER_PARAHEADS</u></h4></a>
+
+<p>
+If you'd like your paraheads numbered, simply invoke
+<kbd>.NUMBER_PARAHEADS</kbd> with no argument. <strong>Mom</strong>
+will number all subsequent paraheads automatically (in ascending
+order, naturally).
+</p>
+
+<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>
+
+<p>
+Should you wish to stop parahead numbering, invoke
+<kbd>.NUMBER_PARAHEADS</kbd> with any argument (<strong>OFF, QUIT,
+END, X</strong>...).  Parahead numbering will cease.
+</p>
+
+<p>
+See also
+<a href="#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a>
+if you'd like chapter numbers prepended to the paragraph head
+numbers.
+</p>
+
+<a name="RESET_PARAHEAD_NUMBER"><h4><u>4. Reset paragraph head numbering 
&mdash; RESET_PARAHEAD_NUMBER</u></h4></a>
+
+<p>
+Should you wish to reset the parahead number to &quot;1&quot;, invoke
+<kbd>.RESET_PARAHEAD_NUMBER</kbd> 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
+<kbd>.RESET_PARAHEAD_NUMBER</kbd> with the number you want, e.g.
+
+<pre>
+    .RESET_PARAHEAD_NUMBER 7
+</pre>
+</p>
+
+<p>
+Your next parahead will be numbered &quot;7&quot; and subsequent
+paraheads will be numbered in ascending order from &quot;7&quot;.
+</p>
+
+<!-- ==================================================================== -->
+
+<hr width="33%" align="left"/>
+
+<a name="PREFIX_CHAPTER_NUMBER"></a>
+
+<p>
+<nobr>Macro: <strong>PREFIX_CHAPTER_NUMBER</strong> <kbd>&lt;none&gt; | 
&lt;chapter number as digit&gt; | &lt;anything&gt;</kbd></nobr>
+</p>
+
+<p>
+If you've requested numbering of heads, subheads and/or paragraph
+heads (with
+<a href="#NUMBER_HEADS">NUMBER_HEADS</a>,
+<a href="#NUMBER_SUBHEADS">NUMBER_SUBHEADS</a>
+and/or
+<a href="#NUMBER_PARAHEADS">NUMBER_PARAHEADS</a>)
+and you'd like <strong>mom</strong>, in addition, to prefix
+a chapter number to the numbering scheme, you can do so with
+<strong>PREFIX_CHAPTER_NUMBERS</strong>.  After you invoke
+<kbd>.PREFIX_CHAPTER_NUMBERS</kbd>, <strong>mom</strong> will
+prepend the current chapter number to all subsequent head elements
+(main heads, subheads or paragraph heads) for which you have
+requested numbering.  Thus, assuming chapter number twelve (12),
+
+<pre>
+        1. FIRST MAIN HEAD
+        ------------------
+
+1.1. First Subhead Under Main Head
+</pre>
+
+becomes
+
+<pre>
+        12.1. FIRST MAIN HEAD
+        ---------------------
+
+12.1.1. First Subhead Under Main Head
+</pre>
+</p>
+
+<p>
+When you invoke <kbd>.PREFIX_CHAPTER_NUMBERS</kbd> without an
+argument, <strong>mom</strong> checks to see whether the argument
+you passed to
+<a href="docprocessing.html#CHAPTER">CHAPTER</a>
+is a digit.  If it is, she immediately starts pre-pending the
+current chapter number to numbered head elements.  If it isn't
+(say you've called your chapter &quot;One&quot; instead of
+&quot;1&quot;), <strong>mom</strong> will abort with a request that
+you pass <strong>PREFIX_CHAPTER_NUMBER</strong> a digit representing
+the current chapter number.
+</p>
+
+<p>
+In collated documents, <strong>mom</strong> automatically increments
+the digit used by <strong>PREFIX_CHAPTER_NUMBER</strong> by one
+(current chapter digit + 1) every time you invoke
+<a href="rectoverso.html#COLLATE"><kbd>.COLLATE</kbd></a>,
+even if you've (temporarily) turned off the prefixing of chapter
+numbers.  Thus, even if you call your chapters &quot;One&quot;,
+&quot;Two&quot;, &quot;Three&quot; instead of &quot;1&quot;,
+&quot;2&quot;, &quot;3&quot;, <strong>mom</strong> will Do
+The Right Thing with respect to numbering head elements in
+all collated chapters following the first invocation of
+<strong>PREFIX_CHAPTER_NUMBER</strong> (assuming, of course,
+that the collated chapters are in incrementing order; if
+not, you <em>must</em> must put
+
+<pre>
+    .PREFIX_CHAPTER_NUMBER &lt;chapter number&gt;
+</pre>
+
+somewhere after the invocation of <strong>COLLATE</strong> and
+before the first numbered head element of each collated document).
+</p>
+
+<p>
+<strong>PREFIX_CHAPTER_NUMBER</strong> can be disabled by passing
+it any argument other than a digit (e.g. <strong>OFF, QUIT, END,
+X</strong>, etc), although, as noted above, <strong>mom</strong>
+will keep, and &mdash; in the case of collated documents &mdash;
+increment the chapter number, allowing you to turn prefixing of
+chapter numbers to numbered head elements off and on according to
+your needs or whims.
+</p>
+
+<p>
+<strong>NOTE:</strong> Because
+<strong>PREFIX_CHAPTER_NUMBER</strong> takes an (optional) digit
+representing the chapter number, it's use need not be restricted to
+<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>.
+You can use it with any document type.  Furthermore, even if your
+doctype isn't &quot;CHAPTER&quot;, you can identify the document as
+a chapter <em>for the purposes of numbering head elements</em> by
+invoking the macro,
+<a href="docprocessing.html#CHAPTER"><kbd>.CHAPTER</kbd></a>,
+with a
+<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>
+in your document setup. 
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="LINEBREAK_INTRO"><h2><u>Author linebreaks (section 
breaks)</u></h2></a>
+
+<ul>
+    <li><a href="#LINEBREAK">Tag: LINEBREAK</a></li>
+    <li><a href="#LINEBREAK_CHAR">Linebreak character control macros</a></li>
+</ul>
+
+<p>
+By default, <strong>mom</strong> marks
+<a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a>
+(also called &quot;section breaks&quot;) with three centred asterisks.
+You can change this behaviour with the linebreak character
+<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>.
+</p>
+
+<!-- -LINEBREAK- -->
+
+<hr width="66%" align="left"/>
+
+<a name="LINEBREAK"></a>
+
+<p>
+Macro: <strong>LINEBREAK</strong>
+<br/>
+
+Alias: <strong>SECTION</strong>
+</p>
+
+<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.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="LINEBREAK_CHAR"><h4><u>Linebreak character control macro</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>LINEBREAK_CHAR</strong> <kbd>[ &lt;character&gt; ] [ 
&lt;iterations&gt; [ &lt;vertical adjustment&gt; ] ]</kbd></nobr>
+<br/>
+
+Alias: <strong>SECTION_CHAR</strong>
+<br/>
+
+<em>*The third optional argument requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>.
+</p>
+
+<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>
+
+<p>
+The first argument is any valid groff character (e.g. <kbd>*</kbd>
+[an asterisk], <kbd>\(dg</kbd> [a dagger], <kbd>\f(ZD\N'141\fP</kbd>
+[an arbitrary character from Zapf Dingbats], <kbd>\l'4P'</kbd> [a
+4-pica long rule]). <strong>Mom</strong> sets the character centred
+on the current line length.  (See &quot;man groff_char&quot; for a
+list of all valid groff characters.)
+</p>
+
+<p>
+The second argument is the number of times to repeat the character.
+</p>
+
+<p>
+The third argument is a +|-value by which to raise (+) or lower (-)
+the character in order to make it appear visually centred between
+sections of text.  This lets you make vertical adjustments to
+characters that don't sit on the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+(such as asterisks).  The argument must be preceded by a plus or
+minus sign, and must include a unit of measure.
+</p>
+
+<p>
+If you enter <strong>LINEBREAK_CHAR</strong> with no arguments,
+sections of text will be separated by two blank lines when you
+invoke <kbd>.LINEBREAK</kbd>.
+</p>
+
+<p>
+<strong>Mom</strong>'s default for <strong>LINEBREAK_CHAR</strong> is
+
+<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
+</p>
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>).
+
+<hr width="33%" align="left"/>
+
+<a name="LINEBREAK_COLOR"><h4><u>Linebreak colour control macro</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>LINEBREAK_COLOR</strong> <kbd>&lt;color 
name&gt;</kbd></nobr>
+</p>
+
+<p>
+To change the colour of the linebreak character(s), simply invoke
+<kbd>.LINBREAK_COLOR</kbd> with the name of a pre-defined (or
+&quot;initialized&quot;) colour.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="QUOTE_INTRO"><h2><u>Quotes (line for line)</u></h2></a>
+
+<ul>
+    <li><a href="#QUOTE">Tag: QUOTE</a></li>
+    <li><a href="#QUOTE_CONTROL">Quote control macros</a></li>
+</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>
+
+<p>
+Since <strong>mom</strong> originally came into being to serve the
+needs of creative writers (i.e. novelists, short story writers, etc.
+&mdash; 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
+&quot;quotes from poetry or song lyrics&quot;, but with the
+<a href="#QUOTE_CONTROL">quote control macros</a>
+you can change her defaults so <strong>QUOTE</strong> serves other
+needs, e.g. entering verbatim snippets of programming code, command
+line instructions, and so on.  (See the
+<a href="#CODE">CODE</a>
+for a convenience macro to assist in including programming code
+snippets in documents.)
+</p>
+
+<a name="QUOTE_SPACING"></a>
+
+<p>
+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>
+
+<p>
+<strong>NOTE:</strong> <strong>ALWAYS_FULLSPACE_QUOTES</strong>
+applies to both
+<a href="#QUOTE">QUOTE</a>
+and
+<a href="#BLOCKQUOTE">BLOCKQUOTE</a>,
+as does the control macro
+<a href="#QUOTE_INDENT">QUOTE_INDENT</a>.
+</p>
+
+<p>
+<strong>Version 1.3: mom</strong>'s handling of the
+vertical whitespace around quotes has changed slightly.  In
+versions prior to 1.3, it was not possible to alter the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of quotes and blockquotes (which was the same as the document
+leading), ensuring that the vertical whitespace remained consistent,
+as described above.
+</p>
+
+<p>
+In 1.3 and later, it is possible to change the leading of quotes
+and blockquote via the <strong>QUOTE_AUTOLEAD</strong> and
+<strong>BLOCKQUOTE_AUTOLEAD</strong> macros.  Now, if your quote
+(or blockquote) leading differs from the document leading,
+<strong>mom</strong> attempts to observe the same rules for vertical
+whitespace outlined above; however, she will also insert a small,
+flexible amount of extra whitespace around the quotes to make sure
+the whitespace is equal, top and bottom.  Since she does this on a
+quote by quote basis, rather than by figuring out how much extra
+whitespace is needed to adjust <em>all</em> quotes on a page,
+the spacing around multiple quotes on the same page will differ
+slightly, although each will be balanced between lines of normal
+<a href="definitions.html#TERMS_RUNNING">running text</a>,
+top and bottom.  (The inability to scan an entire page and insert
+equalized whitespace at marked places is a limitation of groff,
+which, by and large, works in a line-per-line fashion.)
+</p>
+
+<a name="NO_SHIM"></a>
+
+<p>
+If you don't want the behaviour described above (i.e. you don't want
+<strong>mom</strong> shimming [possibly irregularly linespaced]
+quotes or blockquotes), issue the macro <kbd>.NO_SHIM</kbd> prior
+to invoking <kbd>.QUOTE</kbd> or <kbd>.BLOCKQUOTE</kbd>.
+If you've disabled shimming of quotes and blockquotes with
+<kbd>.NO_SHIM</kbd> and you want <strong>mom</strong> to return to
+her default behaviour in this matter, invoke
+<nobr><kbd>.NO_SHIM OFF</kbd></nobr> (or <strong>QUIT, END, X</strong>, etc).
+</p>
+
+<p>
+If you don't provide <strong>mom</strong> with a
+<strong>QUOTE_AUTOLEAD</strong>, quotes are leaded at the default
+for normal running text, meaning that multiple quotes on the same
+page are all spaced identically.
+</p>
+
+<!-- -QUOTE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="QUOTE"></a>
+
+<p>
+<nobr>Macro: <strong>QUOTE</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<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 <kbd>.QUOTE</kbd> with any
+argument (e.g. OFF, END, X, Q...) to turn it off.  Example:
+
+<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>
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="QUOTE_CONTROL"><h3><u>Quote control macros</u></h3></a>
+
+<ol>
+    <li><a 
href="#QUOTE_GENERAL">Family/font/size/leading/colour/indent</a></li>
+    <li><a href="#ALWAYS_FULLSPACE_QUOTES">Spacing above and below (typeset 
only)</a></li>
+    <li><a href="#UNDERLINE_QUOTES">Underline quotes (typewrite only)</a></li>
+    <li><a href="#BREAK_QUOTE">Manually break a footnoted quote that crosses 
pages/columns</a></li>
+</ol>
+
+<a name="QUOTE_GENERAL"><h4><u>1. Family/font/size/colour/indent</u></h4></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; underlined in TYPEWRITE
+.QUOTE_SIZE     default = +0 (i.e. same size as paragraph text)
+.QUOTE_AUTOLEAD default = none; leading of quotes is the same as paragraphs
+.QUOTE_COLOR    default = black
+.QUOTE_INDENT   (see below)
+</pre>
+
+<a name="QUOTE_INDENT"><h5><u>Quote indent</u></h5></a>
+
+<p>
+Prior to version 1.4-b, <strong>mom</strong> allowed only the
+passing of an integer to the macro, <kbd>.QUOTE_INDENT</kbd>.  The
+integer represented the amount by which to multiply the argument
+passed to
+<a href="#PARA_INDENT">PARA_INDENT</a>
+to arrive at an indent for quotes (and blockquotes).
+</p>
+
+<p>
+As of version 1.4-b, you can now append a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to the argument passed to <kbd>.QUOTE_INDENT</kbd>, thus
+setting an absolute indent, relative to nothing.  The old
+behaviour is still respected, though; in other words, if you
+pass <kbd>.QUOTE_INDENT</kbd> an integer with no unit of measure
+appended, the integer represents the amount by which to multiply
+<kbd>.PARA_INDENT</kbd> to arrive at an indent for quotes (and
+blockquotes).
+</p>
+
+<p>
+Please note that if your <strong>PARA_INDENT</strong> is 0
+(i.e. no indenting of the first line of paragraphs), you
+<em><strong>must</strong></em> set a <strong>QUOTE_INDENT</strong>
+yourself, with a unit of measure appended to the
+argument. <strong>Mom</strong> has no default for
+<strong>QUOTE_INDENT</strong> if paragraph first lines are not being
+indented.
+</p>
+
+<p>
+The default value for <strong>QUOTE_INDENT</strong> is 3 (for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>)
+and 2 (for PRINTSTYLE
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>).
+</p>
+
+<p>
+<strong>NOTE: QUOTE_INDENT</strong> also sets the indent for
+<a href="#BLOCKQUOTE">BLOCKQUOTES</a>.
+</p>
+
+<a name="ALWAYS_FULLSPACE_QUOTES"><h4><u>2. Spacing above and below &mdash; 
ALWAYS_FULLSPACE_QUOTES (typeset only)</u></h4></a>
+
+<p>
+If you'd like <strong>mom</strong> always to put a full linespace
+above and below quotes, invoke <kbd>.ALWAYS_FULLSPACE_QUOTES</kbd>
+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>
+
+<p>
+<strong>NOTE:</strong> This macro also sets <strong>mom</strong>'s
+spacing policy for
+<a href="#BLOCKQUOTE_INTRO">blockquotes</a>.
+</p>
+
+<a name="UNDERLINE_QUOTES"><h4><u>3. Underlining &mdash; UNDERLINE_QUOTES 
(typewrite only)</u></h4></a>
+
+<p>
+By default in
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<strong>mom</strong> underlines quotes.  If you'd rather she didn't,
+invoke <kbd>.UNDERLINE_QUOTES</kbd> 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>
+
+<p>
+If you not only wish that <strong>mom</strong> not underline
+quotes, but also that she set them in italic, you must follow each
+instance of <strong>QUOTE</strong> with the typesetting macro
+<a href="typesetting.html#FONT">FT I</a>.
+Furthermore, since <strong>mom</strong> underlines all instances of
+italics by default in <strong>PRINTSTYLE TYPEWRITE</strong>, you
+must also make sure that <strong>ITALIC_MEANS_ITALIC</strong> is
+enabled (see
+<a href="docprocessing.html#TYPEWRITE_CONTROL">PRINTSTYLE TYPEWRITE control 
macros</a>).
+</p>
+
+<a name="BREAK_QUOTE"><h4><u>4. Manually break a footnoted quote &mdash; 
BREAK_QUOTE</u></h4></a>
+
+<p>
+<strong>NOTE:</strong> <em>As of version 1.1.9, the macro</em>
+<strong>BREAK_QUOTE</strong> <em>has become obsolete (or, at
+least, should have become obsolete.)  It remains here for backward
+compatibility with documents created prior to 1.1.9, and just in
+case despite my efforts to make it obsolete you still encounter
+the problem it's supposed to fix.  Should you find yourself having
+to use</em> <strong>BREAK_QUOTE</strong> <em>while running</em>
+<strong>mom</strong> 1.1.9 <em>or higher, please notify me
+immediately.</em>
+</p>
+
+<p>
+Exceptionally, a quote or blockquote containing a footnote may cross
+a page or column.  When this happens, the footnote marker may not be
+correct for its position relative to other footnotes on the page, and
+the footnote itself may appear on the wrong page or at the bottom of
+the wrong column.  When this happens, study your output to determine
+the precise point at which the quote breaks (or at which you want
+it to break), and add <kbd>.BREAK_QUOTE</kbd> 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>
+
+<p>
+<strong>BREAK_QUOTE</strong> may be used with both quotes and
+blockquotes, and hence is aliased as <strong>BREAK_BLOCKQUOTE,
+BREAK_CITATION</strong> and <strong>BREAK_CITE</strong>.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="BLOCKQUOTE_INTRO"><h2><u>Blockquotes (cited passages)</u></h2></a>
+
+<ul>
+    <li><a href="#BLOCKQUOTE">Tag: BLOCKQUOTE (aliases: CITE, 
CITATION)</a></li>
+    <li><a href="#BLOCKQUOTE_CONTROL">BLOCKQUOTE control macros</a></li>
+</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>
+
+<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.  Be sure to read the section <strong>Version
+1.3</strong>.)
+</p>
+
+<!-- -BLOCKQUOTE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="BLOCKQUOTE"></a>
+
+<p>
+<nobr>Macro: <strong>BLOCKQUOTE</strong> <kbd>toggle</kbd></nobr>
+<br/>
+
+Aliases: <strong>CITE, CITATION</strong>
+</p>
+
+<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 <kbd>.BLOCKQUOTE</kbd> with any
+argument (e.g. OFF, END, X, Q...) to turn it off.  Example:
+
+<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>
+</p>
+
+<p>
+If the cited passage runs to more than one paragraph, you MUST
+introduce each paragraph &mdash; <em>including the first!</em> &mdash;
+with
+<a href="#PP">PP</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> The aliases <strong>CITE</strong>
+and <strong>CITATION</strong> may be used in place of the
+<strong>BLOCKQUOTE</strong> tag, as well as in any of the control
+macros that begin with <strong>BLOCKQUOTE_</strong> or end with
+<strong>_BLOCKQUOTE</strong>.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="BLOCKQUOTE_CONTROL"><h3><u>Blockquote control macros</u></h3></a>
+
+<ol>
+    <li><a 
href="#BLOCKQUOTE_GENERAL">Family/font/size/leading/colour/quad/indent</a></li>
+    <li><a href="#BQ_ALWAYS_FULLSPACE_QUOTES">Spacing above and below (typeset 
only)</a></li>
+    <li><a href="#BREAK_QUOTE">Manually break a footnoted blockquote that 
crosses pages/columns</a></li>
+</ol>
+
+<a name="BLOCKQUOTE_GENERAL"><h4><u>1. 
Family/font/size/colour/quad/indent</u></h4></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 = roman
+.BLOCKQUOTE_SIZE     default = -1 (point)
+.BLOCKQUOTE_AUTOLEAD default = none; leading of blockquotes is the same as 
paragraphs
+.BLOCKQUOTE_COLOR    default = black
+.BLOCKQUOTE_QUAD     default = left
+.BLOCKQUOTE_INDENT   (see below)
+</pre>
+
+<a name="BLOCKQUOTE_INDENT"><h5><u>Blockquote indent</u></h5></a>
+
+<p>
+Prior to version 1.4-b, <strong>mom</strong> allowed only the
+passing of an integer to the macro, <kbd>.BLOCKQUOTE_INDENT</kbd>.
+The integer represented the amount by which to multiply the argument
+passed to
+<a href="#PARA_INDENT">PARA_INDENT</a>
+to arrive at an indent for blockquotes (and quotes).
+</p>
+
+<p>
+As of version 1.4-b, you can now append a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to the argument passed to <kbd>.BLOCKQUOTE_INDENT</kbd>, thus
+setting an absolute indent, relative to nothing.  The old
+behaviour is still respected, though; in other words, if you pass
+<kbd>.BLOCKQUOTE_INDENT</kbd> an integer with no unit of measure
+appended, the integer represents the amount by which to multiply
+<kbd>.PARA_INDENT</kbd> to arrive at an indent for blockquotes (and
+quotes).
+</p>
+
+<p>
+The default value for <kbd>.BLOCKQUOTE_INDENT</kbd> is 3 (for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>)
+and 2 (for PRINTSTYLE
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>).
+</p>
+
+<p>
+Please note that if your <strong>PARA_INDENT</strong>
+is 0 (i.e. no indenting of the first line of
+paragraphs), you <em><strong>must</strong></em> set a
+<strong>BLOCKQUOTE_INDENT</strong> yourself, with a unit of measure
+appended to the argument. <strong>Mom</strong> has no default for
+<strong>BLOCKQUOTE_INDENT</strong> if paragraph first lines are not
+being indented.
+</p>
+
+<p>
+<strong>NOTE: BLOCKQUOTE_INDENT</strong> also sets the indent for
+<a href="#QUOTE">QUOTES</a>.
+</p>
+
+<a name="BQ_ALWAYS_FULLSPACE_QUOTES"><h4><u>2. Spacing above and below &mdash; 
ALWAYS_FULLSPACE_QUOTES (typeset only)</u></h4></a>
+
+<p>
+If you'd like <strong>mom</strong> always to put a
+full linespace above and below blockquotes, invoke
+<kbd>.ALWAYS_FULLSPACE_QUOTES</kbd> 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>
+
+<p>
+<strong>NOTE:</strong> This macro also sets <strong>mom</strong>'s
+spacing policy for
+<a href="#QUOTE_INTRO">quotes</a>.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="CODE"><h2><u>Inserting code snippets into documents</u></h2></a>
+
+<p>
+<nobr>Macro: <strong>CODE</strong> <kbd>[BR | BREAK | SPREAD] 
toggle</kbd></nobr>
+<br/>
+
+Inline escape: <strong><kbd>\*[CODE]</kbd></strong>
+</p>
+
+<p>
+<strong>CODE</strong> is a convenience macro that facilitates
+entering code snippets into documents.  Its use is not restricted to
+documents created using <strong>mom</strong>'s document processing
+macros; it can be used for &quot;manually&quot; typeset documents as
+well.
+</p>
+
+<p>
+When you invoke <kbd>.CODE</kbd> without an argument, or use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<kbd>\*[CODE]</kbd>,
+<strong>mom</strong> changes the font to Courier Roman (a
+<a href="definitions.html#TERMS_FIXEDWIDTHFONT">fixed-width font</a>)
+and turns
+<a href="goodies.html#SMARTQUOTES">SMARTQUOTES</a>
+off.  Additionally, if you invoke <kbd>.CODE</kbd> inside
+<a href="docelement.html#QUOTE">QUOTE</a>
+while using
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>
+with the default underlining of quotes turned on, it disables
+the underlining for the duration of <strong>CODE</strong>.
+</p>
+
+<p>
+Passing any argument other than <kbd>BR</kbd>, <kbd>BREAK</kbd> or
+<kbd>SPREAD</kbd> to <kbd>.CODE</kbd> (e.g. <strong>OFF, QUIT, END,
+X,</strong> etc.) turns <strong>CODE</strong> off and returns the
+family, font, smartquotes and (if applicable) underlining of quotes
+to their former state.  If you've used the inline escape to
+initiate a section of code, <kbd>\*[CODE OFF]</kbd> equally returns
+things to their former state.
+</p>
+
+<p>
+Please note that <kbd>.CODE</kbd> does <em>not</em> cause a line
+break when you're in a
+<a href="definitions.html#TERMS_FILLED">fill mode</a>
+(i.e.
+<a href="typesetting.html#JUSTIFY">JUSTIFY</a>
+or
+<nobr><a href="typesetting.html#QUAD">QUAD</a> LEFT, CENTER, or RIGHT)</nobr>.
+If you want <strong>CODE</strong> to deposit a break,
+invoke <kbd>.CODE</kbd> with the argument <kbd>BR</kbd> (or
+<kbd>BREAK</kbd>).  If, in addition to having <strong>mom</strong>
+break the line before <kbd>.CODE</kbd>, you want her to
+<a href="definitions.html#TERMS_FORCE">force justify</a>
+the line as well, invoke <kbd>.CODE</kbd> with the argument,
+<kbd>SPREAD</kbd>.
+</p>
+
+<p>
+Please also note that <kbd>BR</kbd>, <kbd>BREAK</kbd> and
+<kbd>SPREAD</kbd> must NOT be used with the inline escape,
+<kbd>\*[CODE]</kbd>; the assumption behind <kbd>\*[CODE]</kbd> is
+that you're inserting a bit of code into a line, not creating a
+distinct &quot;code block&quot;.
+</p>
+
+<h3><u>Changing the family mom uses for CODE</u></h3>
+
+<p>
+If you'd prefer to have <strong>CODE</strong> automatically
+load a fixed-width family other than Courier, invoke the macro,
+<kbd>.CODE_FAMILY</kbd> with the name of the fixed-width family you
+want.  For example, assuming you have a hypothetical fixed-width
+family called &quot;Mono&quot; whose <strong>groff</strong> name is
+simply &quot;M&quot;,
+
+<pre>
+    .CODE_FAMILY M
+</pre>
+
+is how you'd tell <strong>mom</strong> to use Mono for
+<strong>CODE</strong>, rather than her default, Courier.
+(See
+<a href="appendices.html#FONTS">Adding PostScript fonts to groff</a>
+for information on how you might set up the hypothetical
+fixed-width font called &quot;Mono&quot;.)
+</p>
+
+<p>
+<strong>NOTE</strong>: If your code snippet includes the backslash
+character, which is <strong>groff</strong>'s escape character, you
+will have to change the escape character temporarily to something
+else with the macro,
+<a href="goodies.html#ESC_CHAR">ESC_CHAR</a>.
+<strong>Mom</strong> has no way of knowing what special characters
+you're going to use in code snippets, therefore she cannot
+automatically replace the escape character with something else.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="LIST_INTRO"><h2><u>Nested lists</u></h2></a>
+
+<ul>
+    <li><a href="#LIST">Tag: LIST</a></li>
+    <li><a href="#ITEM">Tag: ITEM</a></li>
+    <li><a href="#LIST_CONTROL">LIST control macros</a></li>
+</ul>
+
+<p>
+Lists are points or items of interest or importance that are
+separated from
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+by enumerators.  Some typical enumerators are
+<a href="definitions.html#TERMS_EM">en-dashes</a>,
+<a href="definitions.html#TERMS_BULLET">bullets</a>,
+digits and letters.
+</p>
+
+<p>
+Setting lists with <strong>mom</strong> is easy.  First, you
+initialize a list with the <strong>LIST</strong> macro.  Then, for
+every item in the list, you invoke the macro, <kbd>.ITEM</kbd>,
+followed by the text of the item.  When a list is finished,
+you exit the list with <nobr><kbd>.LIST OFF</kbd></nobr> (or
+<strong>QUIT</strong>, <strong>END</strong>, <strong>BACK</strong>,
+etc.)
+</p>
+
+<p>
+By default <strong>mom</strong> starts each list with the enumerator
+flush with the left margin of running text that comes before it,
+like this:
+
+<pre>
+    My daily schedule needs organizing.  I can't
+    seem to get everything done I want.
+    o an hour's worth of exercise
+    o time to prepare at least one healthy
+      meal per day
+    o reading time
+    o work on mom
+    o writing
+      - changes from publisher
+      - current novel
+    o a couple of hours at the piano
+</pre>
+</p>
+
+<p>
+In other words, <strong>mom</strong> does not, by default, indent
+entire lists.  Indenting a list is controlled by the macro,
+<a href="#SHIFT_LIST">SHIFT_LIST</a>.
+(This is a design decision; there are too many instances where a
+default indent is not desirable.)  Equally, <strong>mom</strong>
+does not add any extra space above or below lists.
+</p>
+
+<p>
+Lists can be nested (as in the example above).  In other words, you
+can set lists within lists, each with an enumerator (and possibly,
+indent) of your choosing.  In nested lists, each invocation of
+<nobr><strong>LIST OFF</strong></nobr> (you may prefer to use
+<nobr><strong>LIST BACK</strong>)</nobr> takes you back to the
+previous depth (or level) of list, with that list's enumerator and
+indent intact.  The final <nobr><strong>LIST OFF</strong></nobr>
+exits lists completely and returns you to the left margin of running
+text.
+</p>
+
+<p>
+Finally, lists can be used in documents created with either the
+document processing macros or just the typesetting macros.
+</p>
+
+<!-- -LIST- -->
+
+<hr width="66%" align="left"/>
+
+<a name="LIST"></a>
+
+<p>
+Macro: <strong>LIST</strong>
+<br/>
+
+<em>Macro arguments:</em>
+<br/>
+
+<kbd><nobr>[ BULLET | DASH | DIGIT | ALPHA | alpha | ROMAN&lt;n&gt; | 
roman&lt;n&gt; | USER &lt;string&gt;]</nobr>
+<br/>
+
+<nobr>[ &lt;separator&gt; | &lt;user-defined enumerator&gt; ] [ &lt;prefix&gt; 
] [ &lt;off&gt; ]</nobr></kbd>
+</p>
+
+<p>
+Invoked by itself (i.e. with no argument), <kbd>.LIST</kbd>
+initializes a list (with bullets as the default enumerator).
+Afterwards, each block of input text preceded by
+<a href="#ITEM">.ITEM</a>,
+on a line by itself, is treated as a list item.
+</p>
+
+<p>
+<strong>NOTE:</strong> Every time you invoke <kbd>.LIST</kbd>
+to start a list (as opposed to
+<a href="#LIST_EXIT">exiting one</a>),
+you must supply an enumerator (and optionally, a separator) for the
+list, unless you want <strong>mom</strong>'s default enumerator,
+which is a bullet.  Within nested lists, <strong>mom</strong>
+stores the enumerator, separator and indent for any list you return
+<em>backwards</em> to (i.e. with <nobr><strong>LIST OFF</strong>),</nobr>
+but does not store any information for lists you move
+<em>forward</em> to.
+</p>
+
+<h3><u>The first argument &mdash; enumerator style</u></h3>
+
+<p>
+The optional arguments <kbd>BULLET</kbd>, <kbd>DASH</kbd>,
+<kbd>DIGIT</kbd> (for Arabic numerals), <kbd>ALPHA</kbd> (for
+uppercase letters), <kbd>alpha</kbd> (for lowercase letters),
+<kbd>ROMAN&lt;n&gt;</kbd> (for uppercase roman numerals),
+<kbd>roman&lt;n&gt;</kbd> (for lowercase roman numerals) tell
+<kbd>mom</kbd> what kind of enumerator to use for a given list.
+</p>
+
+<p>
+The arguments, <kbd>ROMAN&lt;n&gt;</kbd> and
+<kbd>roman&lt;n&gt;</kbd>, are special.  You must append to
+them a digit (arabic, e.g. "1"  or "9"  or "17") saying how many
+items a particular roman-numeralled <strong>LIST</strong> is going
+to have. <strong>Mom</strong> requires this information in order to
+align roman numerals sensibly, and will abort &mdash; with a message
+&mdash; if you don't provide it.
+</p>
+
+<p>
+A roman-numeralled list containing, say, five items, would be set
+up like this:
+
+<pre>
+    .LIST roman5        producing        i)   Item 1.
+    .ITEM                                ii)  Item 2.
+    Item 1.                              iii) Item 3.
+    .ITEM                                iv)  Item 4.
+    Item 2.                              v)   Item 5.
+    .ITEM
+    Item 3
+    .ITEM
+    Item 4
+    .ITEM
+    Item 5
+</pre>
+</p>
+
+<p>
+The argument, <kbd>USER</kbd>, lets you make up your own enumerator,
+and must be followed by a second argument: what you'd like the
+enumerator to look like.  For example, if you want a list enumerated
+with <kbd>=&gt;</kbd>,
+
+<pre>
+    .LIST USER =&gt;
+    .ITEM
+    A list item
+</pre>
+
+will produce
+
+<pre>
+    =&gt; A list item
+</pre>
+</p>
+
+<p>
+<strong>Please note:</strong> if the argument to <kbd>USER</kbd>
+contains spaces, you must enclose the argument in double quotes.
+</p>
+
+<h3><u>The second argument &mdash; separator style</u></h3>
+
+<p>
+If you choose <kbd>DIGIT</kbd>, <kbd>ALPHA</kbd>, <kbd>alpha</kbd>,
+<kbd>ROMAN&lt;n&gt;</kbd>, or <kbd>roman&lt;n&gt;</kbd>, you may
+enter the optional argument, <kbd>separator</kbd>, to say what kind
+of separator you want after the enumerator.  The separator can be
+anything you like.  The default for <kbd>DIGIT</kbd> is a period
+(dot), like this:
+
+<pre>
+    1. A list item
+</pre>
+</p>
+
+<p>
+The default separator for <kbd>ALPHA</kbd>, <kbd>alpha</kbd>,
+<kbd>ROMAN&lt;n&gt;</kbd> and <kbd>roman&lt;n&gt;</kbd> is a right
+parenthesis, like this:
+
+<pre>
+    a) An alpha-ed list item
+    b) A second alpha-ed list item
+
+       or
+
+    i)  A roman-ed list item
+    ii) A second roman-ed item
+</pre>
+</p>
+
+<p>
+If you'd prefer, say, digits with right-parenthesis separators
+instead of the default period, you'd do
+
+<pre>
+    .LIST DIGIT )
+    .ITEM
+    A numbered list item
+</pre>
+
+which would produce
+
+<pre>
+    1) A numbered list item
+</pre>
+</p>
+
+<p>
+<strong>Please note:</strong> <kbd>BULLET</kbd>, <kbd>DASH</kbd> and
+<kbd>USER</kbd> do not take a separator.
+</p>
+
+<h3><u>The third argument &mdash; prefix style</u></h3>
+
+<p>
+Additionally, you may give a prefix (i.e. a character
+that comes <em>before</em> the enumerator) when your
+enumerator style for a particular list is <kbd>DIGIT</kbd>,
+<kbd>ALPHA</kbd>, <kbd>alpha</kbd>, <kbd>ROMAN&lt;n&gt;</kbd>
+or <kbd>roman&lt;n&gt;</kbd>.  In the arguments to
+<strong>LIST</strong>, the prefix comes <em>after</em> the
+separator, which may seem counter-intuitive, so please be careful.
+</p>
+
+<p>
+A prefix can be anything you like.  Most likely, you'll want some
+kind of open-bracket, such as a left parenthesis.  If, for example,
+you want a <kbd>DIGIT</kbd> list with the numbers enclosed in
+parentheses, you'd enter
+
+<pre>
+    .LIST DIGIT ) (
+    .ITEM
+    The first item on the list.
+    .ITEM
+    The second item on the list.
+</pre>
+
+which would produce 
+
+<pre>
+    (1) The first item on the list.
+    (2) The second item on the list.
+</pre>
+</p>
+
+<p>
+<strong>Please note:</strong> <kbd>BULLET</kbd>, <kbd>DASH</kbd> and
+<kbd>USER</kbd> do not take a prefix.
+</p>
+
+<a name="LIST_EXIT"></a>
+
+<h3><u>Exiting lists &mdash; .LIST OFF/BACK or .QUIT_LISTS</u></h3>
+
+<p>
+Any single argument to <kbd>LIST</kbd> other than
+<kbd>BULLET</kbd>, <kbd>DASH</kbd>, <kbd>DIGIT</kbd>,
+<kbd>ALPHA</kbd>, <kbd>alpha</kbd>, <kbd>ROMAN&lt;n&gt;</kbd>,
+<kbd>roman&lt;n&gt;</kbd> or <kbd>USER</kbd> (e.g. <nobr><kbd>LIST
+OFF</kbd></nobr> or <nobr><kbd>LIST BACK</kbd>)</nobr> takes you out
+of the current list.
+</p>
+
+<p>
+If you are at the first list-level (or "list-depth"),
+<strong>mom</strong> returns you to the left margin of running text.
+Any indents that were in effect prior to setting the list are fully
+restored.
+</p>
+
+<p>
+If you are in a nested list, <strong>mom</strong> moves you
+<em>back one list-level</em> (i.e. does not take you out of the
+list structure) and restores the enumerator, separator and indent
+appropriate to that level.
+</p>
+
+<p>
+Each invocation of <kbd>.LIST</kbd> should be be matched by a
+corresponding <nobr><kbd>.LIST OFF</kbd></nobr> in order to fully
+exit lists.  For example,
+
+<pre>
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+    o List item in level 1
+    o List item in level 1
+      - List item in level 2
+      - List item in level 2
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+</pre>
+
+is created like this:
+
+<pre>
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+    .LIST BULLET
+    .ITEM
+    List item in level 1
+    .ITEM
+    List item in level 1
+    .LIST DASH
+    .ITEM
+    List item in level 2
+    .ITEM
+    List item in level 2
+    .LIST OFF    \" Turn level 2 list off
+    .LIST OFF    \" Turn level 1 list off
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+</pre>
+</p>
+
+<p>
+Alternatively, you may use the single-purpose macro,
+<kbd>.QUIT_LISTS</kbd>, to get yourself out of a list structure.  In
+the example above, the two <nobr><kbd>.LIST OFF</kbd></nobr> lines
+could be replaced with a single <kbd>.QUIT_LISTS</kbd>.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="ITEM"></a>
+
+<p>
+Macro: <strong>ITEM</strong>
+</p>
+
+<p>
+After you've initialized a list with
+<a href="#LIST">LIST</a>,
+precede each item you want in the list with <kbd>.ITEM</kbd>.
+<strong>Mom</strong> takes care of everything else with respect to
+setting the item appropriate to the list you're in.
+</p>
+
+<p>
+In document processing, it is valid to have list items that contain
+multiple paragraphs.  Simply issue a
+<a href="#PP">PP</a>
+request for each paragraph <em>following</em> the first item.
+I.e., don't do this:
+
+<pre>
+    .ITEM
+    .PP
+    Some text...
+    .PP
+    A second paragraph of text
+</pre>
+
+but rather
+
+<pre>
+    .ITEM
+    Some text...
+    .PP
+    A second paragraph of text
+</pre>
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="LIST_CONTROL"><h3><u>List control macros</u></h3></a>
+
+<ol>
+    <li><a href="#SHIFT_LIST">Indenting lists (SHIFT_LIST)</a></li>
+    <li><a href="#RESET_LIST">Resetting an initialized list's enumerator 
(RESET_LIST)</a></li>
+    <li><a href="#PAD_LIST_DIGITS">Padding digit enumerators 
(PAD_LIST_DIGITS)</a></li>
+</ol>
+
+<a name="SHIFT_LIST"><h4><u>1. Indenting lists &mdash; SHIFT_LIST</u></h4></a>
+
+<p>
+If you want a list to be indented to the right of running text, or
+indented to the right of a current list, use the macro
+<strong>SHIFT_LIST</strong> immediately after
+<a href="#LIST">LIST</a>.
+<strong>SHIFT_LIST</strong> takes just one argument: the amount by
+which you want the list shifted to the right.  The argument requires
+a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+</p>
+
+<p>
+<strong>SHIFT_LIST</strong> applies <em>only</em> to the list you
+just initialized with <strong>LIST</strong>.  It does not carry
+over from one invocation of <strong>LIST</strong> to the next.
+However, the indent remains in effect when you <em>return</em> to a
+list level in a nested list.
+</p>
+
+<p>
+For example, if you want a 2-level list, with each list indented to
+the right by 18
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+
+<pre>
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+    .LIST           \" List 1
+    .SHIFT_LIST 18p \" Indent 18 points right of running text
+    .ITEM
+    List 1 item
+    .ITEM
+    List 1 item
+    .LIST DASH      \" List 2
+    .SHIFT_LIST 18p \" Indent 18 points right of list 1
+    .ITEM
+    List 2 item
+    .ITEM
+    List 2 item
+    .LIST OFF       \" Move back to list 1
+    .ITEM
+    List 1 item
+    .ITEM
+    List 1 item
+    .LIST OFF       \" Exit lists
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+</pre>
+
+produces (approximately)
+
+<pre>
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+        o List 1 item
+        o List 1 item
+            - List 2 item
+            - List 2 item
+        o List 1 item
+        o List 1 item
+    Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore.
+</pre>
+</p>
+
+<a name="RESET_LIST"><h4><u>2. Resetting an initialized list's enumerator 
&mdash; RESET_LIST</u></h4></a>
+
+<p>
+In nested lists, if your choice of list enumerator for a given
+level of list is <strong>DIGIT</strong>, <strong>ALPHA</strong>,
+<strong>alpha</strong>, <strong>ROMAN</strong> or
+<strong>roman</strong>, you may sometimes want to reset the list's
+enumerator when you return to that list.  Consider the following:
+
+<pre>
+    Things to do religiously each and every day:
+    1. Take care of the dog
+       a) walk every day
+       b) brush once a week
+          - trim around the eyes every fourth brushing
+          - don't forget to check nails
+    2. Feed the cat
+       a) soft food on Mon., Wed. and Fri.
+       b) dry food on Tues., Thurs. and Sat.
+       c) canned tuna on Sunday
+</pre>
+</p>
+
+<p>
+Normally, within a nested list, when you return to an
+incrementally-enumerated list, the enumerator continues
+incrementing from where it left off.  That means, in the example
+above, the normal state of affairs for the alpha'ed list under
+&quot;2.  Feed the cat&quot; would be c), d) and e).  The
+solution, in such a case, is simply to reset the enumerator
+&mdash; before <kbd>.ITEM</kbd> &mdash; with the macro,
+<kbd>.RESET_LIST</kbd>.
+</p>
+
+<p>
+By default, with no argument, <kbd>.RESET_LIST</kbd> resets the
+enumerator to 1, A, a, I or i depending on the style of enumerator.
+You may, if you wish, pass <kbd>.RESET_LIST</kbd> a
+<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>
+representing the starting enumerator for the reset (if different
+from "1"), although I can't at present think of a use for this
+feature.
+</p>
+
+<a name="PAD_LIST_DIGITS"><h4><u>3. Padding digit enumerators 
(PAD_LIST_DIGITS)</u></h4></a>
+
+<h5><u>Arabic digits</u></h5>
+
+<p>
+When your choice of enumerators is <strong>DIGIT</strong> AND the
+number of items in the list exceeds nine (9), you have to make a
+design decision: should <strong>mom</strong> leave room for the
+extra numeral in two-numeral digits to the right or the left of the
+single-numeral digits?
+</p>
+
+<p>
+If you want the extra space to the right, invoke the macro,
+<kbd>.PAD_LIST_DIGITS</kbd> (with no argument), after
+<kbd>.LIST</kbd> and before <kbd>.ITEM</kbd>.  This will produce
+something like
+
+<pre>
+    8.  List item
+    9.  List item
+    10. List item
+</pre>
+</p>
+
+<p>
+If you want the extra space to the left, invoke
+<kbd>.PAD_LIST_DIGITS</kbd> with the single argument,
+<kbd>LEFT</kbd>, which will produce
+
+<pre>
+     8. List item
+     9. List item
+    10. List item
+</pre>
+</p>
+
+<p>
+Of course, if the number of items in the list is less than ten
+(10), there's no need for <strong>PAD_LIST_DIGITS</strong>.
+</p>
+
+<h5><u>Roman numerals</u></h5>
+
+<p>
+By default, <strong>mom</strong> sets roman numerals in lists
+flush left.  The <kbd>&lt;n&gt;</kbd> argument appended to
+<kbd>ROMAN&lt;n&gt;</kbd> or <kbd>roman&lt;n&gt;</kbd>
+allows her to calculate how much space to put after each numeral in
+order to ensure that the text of items lines up properly.
+</p>
+
+<p>
+If you'd like the roman numerals to line up flush right (i.e.
+be padded "left"), simply invoke
+<nobr><kbd>.PAD_LIST_DIGITS LEFT</kbd></nobr>
+after
+<nobr><kbd>.LIST ROMAN&lt;n&gt;</kbd></nobr>
+or
+<nobr><kbd>.LIST roman&lt;n&gt;</kbd></nobr>
+and before <kbd>.ITEM</kbd>.
+</p>
+
+<hr/>
+
+<!-- -LINE NUMBERING- -->
+
+<a name="NUMBER_LINES_INTRO"><h2><u>Line numbering</u></h2></a>
+
+<ul>
+    <li><a href="#NUMBER_LINES">Macro: NUMBER_LINES</a></li>
+    <ul>
+        <li><a href="#LN_CONTROL">Line numbering control 
(suspend/resume)</a></li>
+    </ul>
+    <li><a href="#NUMBER_LINES_CONTROL">Control macros</a>
+    <ul>
+        <li><a href="#NUMBER_LINES_CONTROL_QUOTE">Line numbering control 
macros for quotes and blockquotes</a></li>
+    </ul></li>
+</ul>
+
+<p>
+When you turn line-numbering on, <strong>mom</strong>, by default
+
+<a name="NUMBER_LINES_DEFAULTS"></a>
+<ul>
+    <li>numbers every line of paragraph text; line-numbering is
+        suspended for all other document processing tags (like
+        docheaders, epigraphs, heads, subheads, etc.) and special
+        pages (covers, endotes, bibliographies, etc.); be aware,
+        though, that if you turn
+        <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>
+        off (with
+        <a href="docprocessing.html#DOCHEADER">DOCHEADER</a> 
<strong>OFF</strong>)
+        and create your own docheader, <strong>mom</strong>
+        <em>will</em> line-number your custom docheader
+    </li>
+    <li>doesn't touch your line length; line numbers are hung
+        outside your current left margin (as set with
+        <a href="typesetting.html#L_MARGIN">L_MARGIN</a>,
+        <a href="typesetting.html#PAGE">PAGE</a>
+        or
+        <a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>),
+        regardless of any indents that may be active
+    </li>
+    <li>separates line numbers from running text by two
+        <a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a>.
+    </li>
+</ul>
+</p>
+
+<p>
+Line numbering may be enabled and disabled for
+<a href="#QUOTE">QUOTE</a>
+and/or
+<a href="#BLOCKQUOTE">BLOCKQUOTE</a>
+in one of three styles.  See
+<a href="#NUMBER_LINES_CONTROL_QUOTE">Line numbering control macros for quotes 
and blockquotes</a>.
+</p>
+
+<p>
+The first time you invoke
+<a href="#NUMBER_LINES"><kbd>.NUMBER_LINES</kbd></a>
+you must, at a minimum, tell it what line number you want the
+<em>next</em>
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
+to have.  Optional arguments allow you to state which lines should
+be numbered (e.g. every five or every ten lines), and the gutter to
+place between line numbers and
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+</p>
+
+<p>
+Subsequently, you can turn line-numbering off, either permanently,
+or resume it later at a place of your choosing.  When you
+resume line-numbering, the line numbers pick up where you left off.
+</p>
+
+<!-- -NUMBER_LINES- -->
+
+<hr width="66%" align="left"/>
+
+<a name="NUMBER_LINES"></a>
+
+<p>
+<nobr>Macro: <strong>NUMBER_LINES</strong> <kbd>&lt;start number&gt; [ 
&lt;which lines to number&gt; [ &lt;gutter&gt; ] ]</kbd></nobr>
+<br/>
+
+<nobr>Macro: <strong>NUMBER_LINES</strong>  <kbd>&lt;anything&gt; | 
RESUME</kbd></nobr>
+</p>
+
+<p>
+<strong>NUMBER_LINES</strong> does what it says: prints line
+numbers, to the left of
+<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a>
+of paragraph text.  One of the chief reasons for wanting numbered
+lines is in order to identify footnotes or endnotes by line number
+instead of by a marker in the text.  (See
+<a href="#FOOTNOTE_LINENUMBERS">FOOTNOTE_MARKER_STYLE LINE</a>
+for instructions on line-numbered footnotes, and
+<a href="#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a>
+for instructions on line-numbered endnotes.)
+</p>
+
+<p>
+Every time you invoke <kbd>.NUMBER_LINES</kbd>, unless you are
+using the argument <strong>OFF</strong> (or <strong>QUIT</strong>,
+<strong>END</strong>, <strong>X</strong>, etc.) or <kbd>RESUME</kbd>
+you must, at a minimum, pass it one argument, namely the number
+(digit) you want the <em>next</em>
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
+to have.  For example,
+
+<pre>
+    .NUMBER_LINES 3
+</pre>
+
+will prepend the number, 3, to the next output line.
+</p>
+
+<p>
+Normally, of course, you will number lines of text starting at 1.
+All you have to do in that case is ensure that
+
+<pre>
+    .NUMBER_LINES 1
+</pre>
+
+precedes your first line of input text, which will also be the
+first line of output text.
+</p>
+
+<p>
+You can alter <strong>mom</strong>'s default line numbering
+behaviour (see
+<a href="#NUMBER_LINES_DEFAULTS">above</a>)
+with the optional arguments <kbd>&lt;which lines to number&gt;</kbd>
+and <kbd>&lt;gutter&gt;</kbd>.
+</p>
+
+<p>
+<kbd>&lt;which lines to number&gt;</kbd> instructs
+<kbd>NUMBER_LINES</kbd> to number only certain lines, e.g. every two
+lines or every five lines.  If you want, say, only every five lines
+to have a prepended number, you'd do
+
+<pre>
+    .NUMBER_LINES 1 5
+</pre>
+
+<strong>GOTCHA!</strong> The argument to <kbd>&lt;which lines to
+number&gt;</kbd> only numbers those lines that are multiples of
+the argument.  Hence, in the above example, line number "1"  will
+<em>not</em> be numbered, since "1"  is not a multiple of "5".
+</p>
+
+<p>
+If you wanted line number "1"  to be numbered, you'd have to invoke
+<kbd>.NUMBER_LINES 1 1</kbd> before the first output line, then
+study your <em>output</em> copy and determine where best to insert
+the following in your <em>input</em> copy:
+
+<pre>
+    .NUMBER_LINES \n(ln 5
+</pre>
+
+(The escape, <kbd>\n(ln</kbd>, ensures that
+<strong>NUMBER_LINES</strong> automatically supplies the correct
+value for the first argument, <kbd>&lt;start number&gt;</kbd>.)
+</p>
+
+<p>
+Following this recipe, line number 1 will be numbered; subsequently,
+only line numbers that are multiples of 5 will be numbered.  A
+little experimentation may be required to determine the best place
+for it.
+</p>
+
+<p>
+The optional argument, <kbd>&lt;gutter&gt;</kbd>, tells
+<strong>mom</strong> how much space to put between the line numbers
+and the running text.
+</p>
+
+<p>
+<strong>Note</strong>: when giving a value for
+<kbd>&lt;gutter&gt;</kbd>, you cannot skip the <kbd>&lt;which lines
+to number&gt;</kbd> argument.  Either fill in the desired value, or
+use two double-quotes ( <kbd>""</kbd> ) to have <strong>mom</strong>
+use the value formerly in effect.
+</p>
+
+<p>
+<kbd>&lt;gutter&gt;</kbd> does not require (or even accept) a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+The argument you pass to it is the number of
+<a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a>
+you want between line numbers and running text.
+<strong>Mom</strong>'s default gutter is two figure spaces.  If
+you'd like a wider gutter, say, four figures spaces, you'd do
+
+<pre>
+    .NUMBER_LINES 1 1 4
+                    |
+                    +-- Notice you *must* supply a value
+                        for the 2nd argument in order to supply
+                        a value for the 3rd.
+</pre>
+</p>
+
+<p>
+After you've set up line-numbering, <strong>NUMBER_LINES</strong>
+can be used to control line numbering.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="LN_CONTROL"></a>
+
+<h3><u>Line-numbering control</u></h3>
+
+<p>
+<nobr><strong>NUMBER_LINES OFF</strong></nobr> (or <strong>END,
+QUIT, X,</strong> etc.) turns line-numbering off.
+</p>
+
+<p>
+Sometimes, you merely want to suspend line-numbering.  In that
+case, turn line numbering off with
+<nobr><kbd>.NUMBER_LINES OFF</kbd>.</nobr> Later, when you want
+it to resume, enter
+
+<pre>
+    .NUMBER_LINES RESUME
+</pre>
+
+Line numbering will resume exactly where it left off.  If this is
+not what you want &mdash; say you want to reset the line number to
+"1" &mdash; simply invoke <kbd>.NUMBER_LINES</kbd> with whatever
+arguments are needed for the desired result.
+</p>
+
+<h4><u>Extra Notes:</u></h4>
+
+<ol>
+    <li>In document processing, you may invoke <kbd>.NUMBER_LINES</kbd>
+        either before or after <kbd>.START</kbd>.
+        <strong>Mom</strong> doesn't care.
+    </li>
+    <li>If you're collating documents with
+        <a href="rectoverso.html#COLLATE">COLLATE</a>,
+        you should re-invoke, at a minimum,
+        <nobr><kbd>.NUMBER_LINES 1</kbd></nobr> for each collated
+        document, in order to ensure that each begins with the
+        number "1"  prepended to the first line (unless, of course,
+        that is not what you want).
+    </li>
+    <li>Occasionally, you may want to change the current gutter
+        between line numbers and running text without knowing
+        what the next output line number should be.  Since
+        <strong>NUMBER_LINES</strong> requires this number
+        as its first argument, in such instances, pass
+        <strong>NUMBER_LINES</strong> as its first argument the
+        escape <kbd>\n(ln</kbd>.
+        <br/><br/>
+
+        For example, if you were numbering every 5 lines with a
+        gutter of 2 (figure spaces) and you needed to change the
+        gutter to 4 (figures spaces),
+        <br/><br/>
+
+        <kbd>&nbsp;&nbsp;&nbsp;&nbsp;.NUMBER_LINES \n(ln 5 4</kbd>
+        <br/><br/>
+        would do the trick.
+    </li>
+    <li>If you're using margin notes in a document, be sure to set
+        the gutter for margin notes wide enough to allow room for
+        the line numbers.
+    </li>
+    <li><strong>Mom</strong> (groff, actually), only numbers lines
+        <em>to the left of text</em>.  For aesthetic reason,
+        therefore, the use of line numbering when setting a document
+        in columns is discouraged.  However, should you wish to
+        number lines when setting in columns, make sure the
+        <a href="definitions.html#TERMS_GUTTER">gutter(s)</a>
+        between columns is wide enough to leave room for the
+        numbers.
+    </li>
+</ol>
+
+<hr width="33%" align="left"/>
+
+<a name="NUMBER_LINES_CONTROL"><h3><u>Line numbering control 
macros</u></h3></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.LINENUMBER_FAMILY default = prevailing family or document family; default is 
Times Roman
+.LINENUMBER_FONT   default = prevailing font
+.LINENUMBER_SIZE   default = +0
+.LINENUMBER_COLOR  default = black
+</pre>
+
+<a name="NUMBER_LINES_CONTROL_QUOTE"><h3><u>Line numbering control macros for 
QUOTE and BLOCKQUOTE</u></h3></a>
+
+<ol>
+    <li><a href="#NUMBER_QUOTE_LINES">NUMBER_QUOTE_LINES</a></li>
+    <li><a href="#NUMBER_BLOCKQUOTE_LINES">NUMBER_BLOCKQUOTE_LINES</a></li>
+    <li><a href="#NUMBER_LINES_QUOTES">Setting up line numbering in quotes and 
blockquotes on a case by case basis</a></li>
+</ol>
+
+<a name="NUMBER_QUOTE_LINES"><h4><u>1. NUMBER_QUOTE_LINES</u></h4></a>
+
+<p>
+If you'd like <strong>mom</strong> to number lines of output text
+in a
+<a href="#QUOTE">QUOTE</a>
+as part of the same order and sequence as paragraph text, simply
+invoke <kbd>.NUMBER_QUOTE_LINES</kbd> by itself.
+</p>
+
+<p>
+There is a catch with numbering quotes, though.  Owing to groff's
+restriction of accepting only the figure space as the line number
+gutter's unit of measure, it is not possible for line numbers
+in quotes to hang outside a document's overall left margin and
+be reliably flush with the line numbers of paragraph text.
+Conseqently, line numbers in quotes hang to the left of the quote,
+separated from the quote by the <kbd>&lt;gutter&gt;</kbd> argument.
+</p>
+
+<p>
+If you'd like to change the gutter for quotes line-numbered in
+this way, invoke <kbd>.NUMBER_QUOTE_LINES</kbd> with a digit
+representing the number of
+<a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a>
+you'd like between the line numbers and the quoted text, like this:
+
+<pre>
+    .NUMBER_QUOTE_LINES 1
+</pre>
+</p>
+
+<p>
+With the above, line numbers in quotes (and only quotes) will have
+a gutter of 1 figure space.
+</p>
+
+<p>
+If you are using "line numbering style" for footnotes
+<nobr>(<a href="#FOOTNOTE_MARKER_STYLE">.FOOTNOTE_MARKER_STYLE</a> 
<strong>LINE</strong>)</nobr>,
+you may not wish to have quotes <em>visibly</em> line-numbered, but
+still want to embed footnotes inside quotes.  In order to do that,
+<strong>mom</strong> allows you to say <kbd>.NUMBER_QUOTE_LINES
+SILENT</kbd>.
+</p>
+
+<p>
+When you invoke <nobr><kbd>.NUMBER_QUOTE_LINES SILENT</kbd></nobr>,
+<strong>mom</strong> continues to increment line numbers while
+quotes are being output, but they won't appear in the output copy.
+(Compare this with <strong>mom</strong>'s default behaviour of
+<em>suspending</em> incrementing of line numbers during the output
+of quotes.)  This allows you to embed line-numbered footnotes inside
+quotes and have the line number "label" in the footnote come out
+sensibly.
+</p>
+
+<p>
+Once having turned <strong>NUMBER_QUOTE_LINES</strong> on, you
+may disable it with
+<nobr><kbd>.NUMBER_QUOTE_LINES OFF</kbd></nobr>
+(or <strong>QUIT</strong>, <strong>END</strong>, <strong>X</strong>,
+etc).
+</p>
+
+<a name="NUMBER_BLOCKQUOTE_LINES"><h4><u>2. 
NUMBER_BLOCKQUOTE_LINES</u></h4></a>
+
+<p>
+If you'd like <strong>mom</strong> to number lines of output text
+in a
+<a href="#QUOTE">BLOCKQUOTE</a>
+as part of the same order and sequence as paragraph text, simply
+invoke <kbd>.NUMBER_BLOCKQUOTE_LINES</kbd> by itself.
+</p>
+
+<p>
+There is a catch with numbering blockquotes, though.  Owing to
+groff's restriction of accepting only the figure space as the
+line number gutter's unit of measure, it is not possible for line
+numbers in blockquotes to hang outside a document's overall left
+margin and be reliably flush with the line numbers of paragraph
+text.  Conseqently, line numbers in blockquotes hang to the
+left of the blockquote, separated from the blockquote by the
+<kbd>&lt;gutter&gt;</kbd> argument.
+</p>
+
+<p>
+If you'd like to change the gutter for blockquotes line-numbered in
+this way, invoke <kbd>.NUMBER_BLOCKQUOTE_LINES</kbd> with a digit
+representing the number of
+<a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a>
+you'd like between the line numbers and the blockquoted text, like
+this:
+
+<pre>
+    .NUMBER_BLOCKQUOTE_LINES 1
+</pre>
+
+With the above, line numbers in blockquotes (and only blockquotes)
+will have a gutter of 1 figure space.
+</p>
+
+<p>
+If you are using "line numbering style" for footnotes
+<nobr>(<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> 
<strong>LINE</strong>),</nobr>
+you may not wish to have blockquotes <em>visibly</em> line-numbered,
+but still want to embed footnotes inside blockquotes.  In
+order to do that, <strong>mom</strong> allows you to say
+<kbd>.NUMBER_BLOCKQUOTE_LINES SILENT</kbd>.
+</p>
+
+<p>
+When you invoke
+<nobr><kbd>.NUMBER_BLOCKQUOTE_LINES SILENT</kbd>,</nobr>
+<strong>mom</strong> continues to increment line numbers while
+blockquotes are being output, but they won't appear in the output
+copy.  (Compare this with <strong>mom</strong>'s default behaviour
+of <em>suspending</em> incrementing of line numbers during the
+output of blockquotes.)  This allows you to embed line-numbered
+footnotes inside blockquotes and have the line number "label" in the
+footnote come out sensibly.
+</p>
+
+<p>
+Once having turned <strong>NUMBER_BLOCKQUOTE_LINES</strong> on,
+you may disable it with <nobr><kbd>.NUMBER_BLOCKQUOTE_LINES
+OFF</kbd></nobr> (or <strong>QUIT</strong>, <strong>END</strong>,
+<strong>X</strong>, etc).
+</p>
+
+<a name="NUMBER_LINES_QUOTES"><h4><u>3. Setting up line numbering in quotes 
and blockquotes on a case by case basis</u></h4></a>
+
+<p>
+Sometimes, you may want quotes or blockquotes to have a different
+line numbering scheme from the one used in the rest of the document.
+Or, you may want line numbering enabled only inside a particular
+quote or blockquote.  A common reason for this would be if you were
+using the
+<a href="#QUOTE">QUOTE</a>
+macro to insert lines of programming code into a document.
+</p>
+
+<p>
+To enable line numbering within quotes or blockquotes on a case by
+case basis, simply invoke <kbd>.NUMBER_LINES</kbd>, with the
+arguments you need, immediately after entering <kbd>.QUOTE</kbd>
+or <kbd>.BLOCKQUOTE</kbd>.  (<strong>NUMBER_QUOTE_LINES</strong>
+and/or <strong>NUMBER_BLOCKQUOTE_LINES</strong> should be turned
+off if you're doing this.)  The quote or blockquote will then be
+line-numbered according to your specifications: the starting line
+number of the quote or blockquote will be the one you give as a
+first argument to <strong>NUMBER_LINES</strong>; which lines to
+number will be the value you pass to <nobr><kbd>&lt;which lines to
+number&gt;</kbd></nobr> (defaults to "1"); line numbers will hang
+to the left of the quote or blockquote, separated from the quote or
+blockquote by <kbd>&lt;gutter&gt;</kbd> (defaults to "2").
+</p>
+
+<p>
+As soon as <strong>QUOTE</strong> or <strong>BLOCKQUOTE</strong>
+is turned off, line numbering ceases, not only with respect to
+subsequent paragraph text (if they are not being line-numbered),
+but also for any subsequent invocation of <kbd>.QUOTE</kbd> or
+<kbd>.BLOCKQUOTE</kbd>.  In other words, you must re-enable
+quote or blockquote line-numbering inside every instance of
+<strong>QUOTE</strong> or <strong>BLOCKQUOTE</strong> when
+line-numbering either of them on a case by case basis.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="FOOTNOTE_INTRO"><h2><u>Footnotes</u></h2></a>
+
+<ul>
+    <li><a href="#FOOTNOTE_BEHAVIOUR">Footnote behaviour</a></li>
+    <ul>
+        <li><a href="#FN_AND_PUNCT">Footnote markers and punctuation in the 
running text</a></li>
+    </ul>
+    <li><a href="#FOOTNOTE">Tag: FOOTNOTE</a></li>
+    <li><a href="#FOOTNOTE_CONTROL">FOOTNOTE control macros</a></li>
+</ul>
+
+<p>
+For something so complex behind the scenes, footnotes are easy to use.
+You just type, for example
+
+<a name="FOOTNOTE_EXAMPLE"></a>
+
+<pre>
+    ...the doctrines of Identity as urged by Schelling\c
+    .FOOTNOTE
+    &lt;footnote about who the hell is Schelling&gt;
+    .FOOTNOTE OFF
+     were generally the points of discussion presenting the most
+    of beauty to the imaginative Morella.
+</pre>
+
+and be done with it.
+</p>
+
+<p>
+(Note the obligatory use of the <kbd>\c</kbd>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>.
+It is required when your
+<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a>
+is either <strong>STAR</strong> [star/dagger footnotes] or
+<strong>NUMBER</strong> [superscript numbers]; it is NOT to be used
+when the <strong>FOOTNOTE_MARKER_STYLE</strong> is
+<strong>LINE</strong>, or when footnote markers have been disabled
+with
+<a href="#FOOTNOTE_MARKERS">.FOOTNOTE_MARKERS</a>
+<strong>OFF</strong>.)
+</p>
+
+<p>
+<strong>***Version 1.3-d change***</strong>
+</p>
+
+<p>
+As of version 1.3-d, the manner of entering the line <em>after</em>
+<nobr><kbd>.FOOTNOTE OFF</kbd></nobr> has changed to accommodate
+users' differing wishes with respect to the order of punctuation and
+footnote markers.  Please see
+<a href="#FN_AND_PUNCT">Footnote markers and punctuation in the running 
text</a>
+for more information.
+</p>
+
+<p>
+<strong>***End of version 1.3-d change***</strong>
+</p>
+
+<p>
+After you invoke <kbd>.FOOTNOTE</kbd>, <strong>mom</strong>
+takes care of everything: putting footnote markers in the body of
+the document, keeping track of how many footnotes are on the page,
+identifying the footnotes themselves appropriately, balancing them
+properly with the bottom margin, deferring footnotes that don't fit
+on the page...  Even if you're using
+<a href="docprocessing.html#COLUMNS">COLUMNS</a>,
+<strong>mom</strong> knows what to do, and Does The Right Thing.
+</p>
+
+<p>
+Footnotes can be sly little beasts, though.  If you're writing a
+document that's footnote-heavy, you might want to read the following.
+</p>
+
+<a name="FOOTNOTE_BEHAVIOUR"><h3><u>Footnote behaviour</u></h3></a>
+
+<p>
+By default, <strong>mom</strong> marks footnotes with alternating
+stars (asterisks), daggers, and double-daggers.  The first footnote
+gets a star, the second a dagger, the third a double-dagger, the
+fourth two stars, the fifth two daggers, etc.  If you prefer
+numbered footnotes, rest assured <strong>mom</strong> is happy to
+oblige.
+</p>
+
+<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 usually opt for ample over cramped.  The last lines of
+footnotes are always flush with the document's bottom margin.
+</p>
+
+<a name="FOOTNOTE_RULES"></a>
+
+<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 fit 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>
+
+<p>
+When footnotes occur within cited text, for example a
+<a href="#QUOTE">QUOTE</a>
+or a
+<a href="#BLOCKQUOTE">BLOCKQUOTE</a>,
+<strong>mom</strong> will usually opt for deferring the footnote
+over to the next page if it allows her to complete the cited text
+on one page.
+</p>
+
+<p>
+In the unfortunate happenstance that a deferred footnote is the
+only footnote on its page (i.e. it's marked in the document body with
+a star) and the page it's deferred to has its own footnotes,
+<strong>mom</strong> separates the deferred footnote from the page's
+proper footnote(s) with a blank line.  This avoids the confusion that
+might result from readers seeing two footnote entries on the same page
+identified by a single star (or the number 1 if you've requested
+numbered footnotes that begin at 1 on every page).  The blank line
+makes it clear that the first footnote entry belongs to the previous
+page.
+</p>
+
+<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 double-dagger marking the first footnote entry, they'll
+know the entry belongs to the previous page).
+</p>
+
+<p>
+Very exceptionally, two footnotes may have to be deferred (e.g. one
+occurs on the second to last line of a page, and another on the last
+line).  In such a circumstance, <strong>mom</strong> does not add
+a blank after the second deferred footnote.  If you'd like a blank
+line separating both deferred footnotes from any footnotes proper to
+the page the deferred ones were moved to, add the space manually by
+putting a
+<a href="typesetting.html#SPACE"><kbd>.SPACE</kbd></a>
+command at the end of the footnote text, before <nobr><kbd>.FOOTNOTE
+OFF</kbd></nobr> (or <strong>X, QUIT, EXIT, etc...</strong>).
+</p>
+
+<p>
+Obviously, deferred footnotes aren't an issue if you request
+numbered footnotes that increase incrementally throughout the whole
+document &mdash; yet another convenience <strong>mom</strong> has
+thought of.
+</p>
+
+<p>
+While <strong>mom</strong>'s handling of footnotes is sophisticated,
+and tries to take nearly every imaginable situation under which they
+might occur into account, some situations are simply impossible from
+a typographic standpoint.  For example, if you have a
+<a href="#HEAD">HEAD</a>
+near the bottom of the page AND that page has some footnotes on it,
+<strong>mom</strong> may simply not have room to set any text under
+the head (normally, she insists on having room for at least one line
+of text beneath a head).  In such an instance, <strong>mom</strong>
+will either set the head, with nothing under it but footnotes, or
+transfer the head to the next page.  Either way, you'll have a
+gaping hole at the bottom of the page.  It's a sort of typographic
+Catch-22, and can only be resolved by you, the writer or formatter
+of the document, adjusting the type on the offending page so as to
+circumvent the problem.
+</p>
+
+<p>
+<strong>NOTE:</strong> Exceptionally, you may encounter problems
+with footnotes inside quotes and blockquotes that cross a page or
+column.  See
+<a href="#BREAK_QUOTE">BREAK_QUOTE</a>
+for a solution.
+</p>
+
+<a name="FN_AND_PUNCT"><h3><u>Footnote markers and punctuation in the running 
text</u></h3></a>
+
+<p>
+As of version 1.3-d, the manner of entering the line <em>after</em>
+<nobr><strong>.FOOTNOTE OFF</strong></nobr> has changed.
+</p>
+
+<a name="FN_AND_PUNCT_FILL"><h4><u>"Fill" modes &mdash; JUSTIFY, or QUAD LEFT 
| CENTER | RIGHT</u></h4></a>
+
+<p>
+In fill modes, the correct way to enter the line after
+<nobr><kbd>.FOOTNOTE OFF</kbd></nobr> is to input it as if it's
+literally a continuation of the input line you were entering before
+you invoked <kbd>.FOOTNOTE</kbd>.  Therefore, if necessary, the
+input line may have to begin with space(s) or a punctuation mark, as
+in the two following examples.
+
+<pre>
+       Example 1
+       ---------
+    A line of text,\c
+    .FOOTNOTE
+    A footnote line.
+    .FOOTNOTE OFF
+     broken up with a comma.
+    ^
+    (last line begins with a literal space)
+
+       Example 2
+       ---------
+    A line of text\c
+    .FOOTNOTE
+    A footnote line.
+    .FOOTNOTE OFF
+    , broken up with a comma.
+    ^
+    (last line begins with a comma and a space)
+</pre>
+</p>
+
+<p>
+Example 1 produces, on output
+
+<pre>
+    A line of text,* broken up with a comma.
+</pre>
+</p>
+
+<p>
+Example 2 produces
+
+<pre>
+    A line of text*, broken up with a comma.
+</pre>
+</p>
+
+<p>
+Care must be taken, though, if the punctuation mark that begins the
+line after <nobr><strong>FOOTNOTE OFF</strong></nobr> is a period
+(dot).  You <strong><em>must</em></strong> begin such lines with
+<kbd>\&amp;.</kbd>, like this:
+
+<pre>
+    end of a sentence\c
+    .FOOTNOTE
+    A footnote line.
+    .FOOTNOTE OFF
+    \&amp;.  A new sentence...
+</pre>
+</p>
+
+<p>
+If you omit the <kbd>\&amp;.</kbd>, the line will vanish!
+</p>
+
+<p>
+<strong>NOTE:</strong> The document element tags,
+<a href="#EPIGRAPH">EPIGRAPH</a>
+and
+<a href="#BLOCKQUOTE">BLOCKQUOTE</a>,
+imply a "fill" mode, therefore these instructions also apply when
+you insert a footnote into epigraphs or blockquotes.
+</p>
+
+<a name="FN_AND_PUNCT_NOFILL"><h4><u>"No-fill" modes &mdash; LEFT, CENTER, 
RIGHT</u></h4></a>
+
+<p>
+In no-fill modes, you must decide a) whether text on the
+<em>input</em> line after <nobr><kbd>.FOOTNOTE OFF</kbd></nobr> is
+to be joined to the <em>output</em> line before <kbd>.FOOTNOTE</kbd>
+was invoked, or b) whether you want the <em>output</em> text to
+begin on a new line.
+</p>
+
+<p>
+In the first instance, simply follow the instructions,
+<a href="#FN_AND_PUNCT_FILL">above</a>,
+for fill modes.
+</p>
+
+<p>
+In the second instance, you must explicitly tell
+<strong>mom</strong> that you want input text after
+<nobr><kbd>FOOTNOTE OFF</kbd></nobr> to begin on a new output
+line.  This is accomplished by passing <nobr><kbd>.FOOTNOTE
+OFF</kbd></nobr> (or <strong>QUIT, END, X,</strong> etc) an
+additional argument: <kbd>BREAK</kbd> or <kbd>BR</kbd>.
+</p>
+
+<p>
+Study the two examples below to understand the difference.
+
+<pre>
+    Example 1 &mdash; No-fill mode, FOOTNOTE OFF with no BREAK
+    -----------------------------------------------------
+    .LEFT
+    A line of text\c
+    .FOOTNOTE
+    A footnote line
+    .FOOTNOTE OFF
+    that carries on after the footnote.
+</pre>
+
+produces, on output
+
+<pre>
+    A line of text* that carries on after the footnote.
+</pre>
+
+whereas
+
+<pre>
+    Example 2 &mdash; No-fill mode, FOOTNOTE OFF with BREAK
+    --------------------------------------------------
+    .LEFT
+    A line of text\c
+    .FOOTNOTE
+    A footnote line
+    .FOOTNOTE OFF BREAK
+    that doesn't carry on after the footnote.
+</pre>
+
+produces the following on output:
+
+<pre>
+    A line of text*
+    that doesn't carry on after the footnote.
+</pre>
+</p>
+
+<p>
+The distinction becomes particularly important if you like to see
+punctuation marks come <em>after</em> footnote markers.  In no-fill
+modes, that's accomplished like this:
+
+<pre>
+    .LEFT
+    A line of text\c
+    .FOOTNOTE
+    A footnote line
+    .FOOTNOTE OFF
+    ,
+    broken up with a comma.
+</pre>
+</p>
+
+<p>
+The output of the above looks like this:
+
+<pre>
+    A line of text*,
+    broken up with a comma.
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> The document element tag,
+<a href="#QUOTE">QUOTE</a>,
+implies a "no-fill" mode, therefore these
+instructions also apply when you insert footnotes into quotes.
+</p>
+
+<!-- -FOOTNOTE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="FOOTNOTE"></a>
+
+<p>
+<nobr>Tag: <strong>FOOTNOTE</strong> <kbd>&lt;toggle&gt; [ BREAK | BR ] | 
INDENT LEFT | RIGHT | BOTH &lt;indent value&gt;</kbd></nobr>
+<br/>
+
+<em>*See <a href="#FOOTNOTE_NOTE">HYPER-IMPORTANT NOTE</a>!!!</em>
+<br/>
+
+<kbd>&lt;indent value&gt;</kbd> <em>requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<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>
+
+<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 <kbd>.FOOTNOTE</kbd> with
+the <kbd>INDENT</kbd> argument and pass it an indent direction and
+indent value. <kbd>L, R,</kbd> and <kbd>B</kbd> may be used in place
+of <kbd>LEFT, RIGHT,</kbd> and <kbd>BOTH</kbd>. <kbd>FOOTNOTE</kbd>
+must be invoked with <kbd>.INDENT</kbd> for every footnote you want
+indented; <strong>mom</strong> does not save any footnote indent
+information from invocation to invocation.
+</p>
+
+<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 <kbd>.PP</kbd> only to introduce subsequent paragraphs.
+</p>
+
+<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"><kbd>\c</kbd></a>
+inline escape if your
+<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a>
+is either <strong>STAR</strong> or <strong>NUMBER</strong>.
+See the
+<a href="#FOOTNOTE_EXAMPLE">footnote example</a>
+above.
+</p>
+
+<p>
+Additionally, in
+<a href="definitions.html#TERMS_FILLED">fill</a>
+modes
+<nobr>(<a href="typesetting.html#JUSTIFY">JUSTIFY</a></nobr>
+or
+<a href="typesetting.html#QUAD">QUAD</a>),
+the line <em>after</em> a <nobr><kbd>.FOOTNOTE OFF</kbd></nobr>
+should be entered as if there were no interruption in the input
+text, i.e. the line should begin with a literal space or punctuation
+mark (see explanation and examples
+<a href="#FN_AND_PUNCT">here</a>).
+</p>
+
+<p>
+In
+<a href="definitions.html#TERMS_NOFILL">no-fill</a>
+modes, the optional argument <kbd>BREAK</kbd> or
+<kbd>BR</kbd> may be used after the <strong>OFF</strong> (or
+<strong>QUIT, END, X,</strong> etc.) argument to instruct
+<strong>mom</strong> NOT to join the next input line to the previous
+output.  See
+<a href="#FN_AND_PUNCT_NOFILL">here</a>
+for a more complete explanation, with examples.
+</p>
+
+<p>
+Do NOT use the <kbd>\c</kbd> inline escape if your
+<strong>FOOTNOTE_MARKER_STYLE</strong> is <strong>LINE</strong>, or
+if you have disabled footnote markers with
+<nobr><a href="#FOOTNOTE_MARKERS"><kbd>.FOOTNOTE_MARKERS</kbd></a> 
<kbd>OFF</kbd></nobr>.
+In these instances, the line after
+<nobr><strong>FOOTNOTE&nbsp;OFF</strong></nobr> should be entered normally.
+</p>
+
+<a name="FOOTNOTE_CONTROL"><h3><u>Footnote control macros</u></h3></a>
+
+<ol>
+    <li><a href="#FOOTNOTE_GENERAL">Family/font/size/colour/lead/quad</a></li>
+    <li><a href="#FOOTNOTE_MARKERS">Footnote markers</a> &mdash; on or off</li>
+    <li><a href="#FOOTNOTE_MARKER_STYLE">Footnote marker style</a> &mdash; 
star+dagger, numbered or by line number</li>
+    <ul>
+        <li><a 
href="#FOOTNOTE_LINENUMBER_BRACKETS">FOOTNOTE_LINENUMBER_BRACKETS</a></li>
+        <li><a 
href="#FOOTNOTE_LINENUMBER_SEPARATOR">FOOTNOTE_LINENUMBER_SEPARATOR</a></li>
+        <li><a href="#FOOTNOTES_RUN_ON">FOOTNOTES_RUN_ON</a>&mdash; 
line-numbered footnotes only</li>
+    </ul>
+    <li><a href="#RESET_FOOTNOTE_NUMBER">Reset footnote number</a> &mdash; set 
footnote marker number to 1</li>
+    <li><a href="#FOOTNOTE_SPACE">Inter-footnote spacing</a></li>
+    <li><a href="#FOOTNOTE_RULE">Footnote rule</a> &mdash; on or off</li>
+    <li><a href="#FOOTNOTE_RULE_LENGTH">Footnote rule length</a> &mdash; 
length of footnote separator rule</li>
+    <li><a href="#FOOTNOTE_RULE_WEIGHT">Footnote rule weight</a> &mdash; 
weight of footnote separator rule</li>
+    <li><a href="#FOOTNOTE_RULE_ADJ">Adjust vertical position of footnote 
separator rule</a></li>
+</ol>
+
+<a name="FOOTNOTE_GENERAL"><h4><u>1. 
Family/font/size/colour/lead/quad</u></h4></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.FOOTNOTE_FAMILY    default = prevailing document family; default is Times 
Roman
+.FOOTNOTE_FONT      default = roman
+.FOOTNOTE_SIZE      default = -2 (points)
+.FOOTNOTE_COLOR     default = black
+.FOOTNOTE_AUTOLEAD  default = 2 points (typeset); single-spaced (typewrite)
+.FOOTNOTE_QUAD      default = same as paragraphs
+</pre>
+
+<a name="FOOTNOTE_MARKERS"><h4><u>2. Footnote markers &mdash; 
FOOTNOTE_MARKERS</u></h4></a>
+
+<p>
+If you don't want footnote markers, in either the body of
+the document or beside footnote entries themselves, toggle
+them off with <nobr><kbd>.FOOTNOTE_MARKERS OFF</kbd></nobr> (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
+<kbd>.FOOTNOTE_MARKERS</kbd> with no argument.  Footnote markers are
+on by default.
+</p>
+
+<p>
+If <strong>FOOTNOTE_MARKERS</strong> are disabled, do NOT use
+the <kbd>\c</kbd> inline escape to terminate the line before
+<kbd>.FOOTNOTE</kbd>.
+</p>
+
+<a name="FOOTNOTE_MARKER_STYLE"><h4><u>3. Footnote marker style &mdash; 
FOOTNOTE_MARKER_STYLE</u></h4></a>
+
+<p>
+<strong>Mom</strong> gives you two choices of footnote marker style:
+star+dagger (see 
+<a href="#FOOTNOTE_BEHAVIOUR">footnote behaviour</a>
+above), or numbered.
+</p>
+
+<p>
+<kbd>.FOOTNOTE_MARKER_STYLE STAR</kbd> gives you star+dagger (the
+default).  There is a limit of 10 footnotes per page with this
+style.
+</p>
+
+<p>
+<kbd>.FOOTNOTE_MARKER_STYLE NUMBER</kbd> 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 <kbd>.RESET_FOOTNOTE_NUMBER</kbd>
+(<a href="#RESET_FOOTNOTE_NUMBER">see below</a>.)
+</p>
+
+<a name="FOOTNOTE_LINENUMBERS"></a>
+
+<p>
+<kbd>.FOOTNOTE_MARKER_STYLE LINE</kbd> lets you have footnotes which
+are identified by line number, rather than by a marker in the text.
+(Note that
+<a href="#NUMBER_LINES">NUMBER_LINES</a>
+must be enabled in order to use this marker style.)
+</p>
+
+<p>
+With <strong>FOOTNOTE_MARKER_STYLE LINE</strong>,
+<strong>mom</strong> will identify footnotes either by single line
+numbers, or line ranges.  If what you want is a single line number,
+you need only invoke <kbd>.FOOTNOTE</kbd>, <em>without terminating
+the text line before it with</em> <kbd>\c</kbd>, at the appropriate
+place in running text.
+</p>
+
+<p>
+If you want a range of line numbers (e.g.&nbsp;[5-11]&nbsp;),
+insert, directly into the first line of the range you want, the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<kbd>\*[FN-MARK]</kbd>.  For the terminating line number of
+the range, you need only invoke <kbd>.FOOTNOTE</kbd>, (again,
+without attaching <kbd>\c</kbd> to the text line before it).
+<strong>Mom</strong> is smart enough to figure out that where
+<kbd>.FOOTNOTE</kbd> was invoked represents the terminating
+line number.  Range-numbered footnotes are always output on the
+page where <kbd>.FOOTNOTE</kbd> was invoked, not the page where
+<kbd>\*[FN-MARK]</kbd> appears (subject, of course, to the rules for
+footnotes that fall too close to the bottom of a page, as outlined
+<a href="#FOOTNOTE_RULES">here</a>).
+</p>
+
+<a name="FOOTNOTE_LINENUMBER_BRACKETS"></a>
+
+<p>
+<strong>Mom</strong>, by default, puts footnote line numbers inside
+square brackets.  The style of the brackets may be changed with
+the macro, <strong>FOOTNOTE_LINENUMBER_BRACKETS</strong>, which
+takes one of three possible arguments: <kbd>PARENS</kbd> ("round"
+brackets), <kbd>SQUARE</kbd> (the default) or <kbd>BRACES</kbd>
+(curly braces).  If you prefer a shortform, the arguments,
+<kbd>(</kbd>, <kbd>[</kbd> or <kbd>{</kbd> may be used instead.
+</p>
+
+<a name="FOOTNOTE_LINENUMBER_SEPARATOR"></a>
+
+<p>
+If you don't want the numbers enclosed in brackets, you may tell
+<strong>mom</strong> to use a "separator" instead.  A common
+separator would be the colon, but it can be anything you like.  The
+macro to do this is <strong>FOOTNOTE_LINENUMBER_SEPARATOR</strong>,
+which takes, as its single argument, the separator you want.  For
+safety and consistency's sake, ALWAYS enclose the argument in
+double-quotes.
+</p>
+
+<p>
+The separator can be composed of any valid groff character, or any
+combination of characters. <strong>A word of caution:</strong> when
+using a separator, <strong>mom</strong> doesn't insert a space
+after the separator.  Hence, if you want the space (you probably
+do), you must make the space part of the argument you pass to
+<strong>FOOTNOTE_LINENUMBER_SEPARATOR</strong>.  For example,
+to get a colon separator with a space after it, you'd do
+
+<pre>
+    .FOOTNOTE_LINENUMBER_SEPARATOR ": "
+</pre>
+</p>
+
+<a name="FOOTNOTES_RUN_ON"><h5><u>RUN-ON FOOTNOTES</u></h5></a>
+
+<p>
+Finally, if your footnote marker style is <strong>LINE</strong>, you
+may instruct <strong>mom</strong> to do "run-on style" footnotes.
+Run-on footnotes do not treat footnotes as discrete entities, i.e.
+on a line by themselves.  Rather, each footnote is separated from
+the footnote before it by a space, so that the footnotes on any
+given page form a continuous block, like lines in a paragraph.
+The macro to get <strong>mom</strong> to run footnotes on is
+<kbd>.FOOTNOTES_RUN_ON</kbd>.  Invoked by itself, it turns the
+feature on.  Invoked with any other argument (<strong>OFF</strong>,
+<strong>NO</strong>, etc.), it turns the feature off.  It is
+generally NOT a good idea to turn the feature on and off during the
+course of a single document.  If you do, <strong>mom</strong> will
+issue a warning if there's going to be a problem.  However, it is
+always perfectly safe to enable/disable the feature after
+<a href="rectoverso.html#COLLATE">COLLATE</a>.
+</p>
+
+<p>
+The usual reason for wanting run-on footnotes is that you're
+using them to hold many, short references.  (See
+<a href="refer.html#TOP">here</a>
+for instructions on using the <strong>groff</strong> program,
+<strong>refer</strong>, to set up references.)
+</p>
+
+<a name="RESET_FOOTNOTE_NUMBER"><h4><u>4. Reset footnote number &mdash; 
RESET_FOOTNOTE_NUMBER</u></h4></a>
+
+<p>
+<kbd>.RESET_FOOTNOTE_NUMBER</kbd>, by itself, resets
+footnote numbering so that the next footnote you enter is
+numbered 1.
+</p>
+
+<p>
+<nobr><kbd>.RESET_FOOTNOTE_NUMBER PAGE</kbd></nobr> tells
+<strong>mom</strong> to start every page's footnote numbering at 1.
+</p>
+
+<a name="FOOTNOTE_SPACE"><h4><u>5. Inter-footnote spacing &mdash; 
FOOTNOTE_SPACE</u></h4></a>
+
+<p>
+If you'd like a little extra space between footnotes, you can have
+<strong>mom</strong> put it in for you by invoking
+<kbd>.FOOTNOTE_SPACE</kbd> with an argument representing the
+amount of extra space you'd like.  The argument to
+<strong>FOOTNOTE_SPACE</strong> requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+</p>
+
+<p>
+In the following example, footnotes will be separated from each
+other by 3
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>.
+
+<pre>
+    .FOOTNOTE_SPACE 3p
+</pre>
+</p>
+
+<a name="FOOTNOTE_RULE"><h4><u>6. Footnote rule &mdash; 
FOOTNOTE_RULE</u></h4></a>
+
+<p>
+If you don't want a footnote separator rule, toggle it off with
+<nobr><kbd>.FOOTNOTE_RULE OFF</kbd></nobr> (or <strong>END,
+QUIT, X</strong>...).  Toggle it back on by invoking
+<kbd>.FOOTNOTE_RULE</kbd> with no argument.  The default is to print
+the rule.
+</p>
+
+<a name="FOOTNOTE_RULE_LENGTH"><h4><u>7. Footnote rule length &mdash; 
FOOTNOTE_RULE_LENGTH</u></h4></a>
+
+<p>
+If you want to change the length of the footnote separator rule,
+invoke <kbd>.FOOTNOTE_RULE_LENGTH</kbd> with a length, like
+this,
+
+<pre>
+    .FOOTNOTE_RULE_LENGTH 1i
+</pre>
+
+which sets the length to 1 inch.  Note that a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+is required.  The default is 4
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+for both
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLES</a>.
+</p>
+
+<a name="FOOTNOTE_RULE_WEIGHT"><h4><u>8. Footnote rule weight &mdash; 
FOOTNOTE_RULE_WEIGHT</u></h4></a>
+
+<p>
+If you want to change the weight (&quot;thickness&quot;) of the
+footnote separator rule, invoke <kbd>.FOOTNOTE_RULE_WEIGHT</kbd>
+with the desired weight.  The weight is measured in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>;
+however, do NOT append the
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+<kbd>p</kbd>, to the argument.
+</p>
+
+<p>
+<strong>Mom</strong>'s default footnote rule weight is 1/2 point.
+If you'd like a 1-point rule instead,
+<pre>
+    .FOOTNOTE_RULE_WEIGHT 1
+</pre>
+
+is how you'd get it.
+</p>
+
+<a name="FOOTNOTE_RULE_ADJ"><h4><u>9. Adjust vertical position of footnote 
separator rule &mdash; FOOTNOTE_RULE_ADJ</u></h4></a>
+
+<p>
+The footnote separator rule is a rule whose bottom edge falls
+<em>on</em>
+the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+(at the footnote
+<a href="definitions.html#TERMS_LEADING">leading</a>)
+one line above 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 <kbd>.FOOTNOTE_RULE_ADJ</kbd> with the
+amount you'd like.  For example
+
+<pre>
+    .FOOTNOTE_RULE_ADJ 4.25p
+</pre>
+
+raises the rule by 4-1/4 points.  Note that you can only raise
+the rule, not lower it.  A
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+is required.
+</p>
+
+<p>
+<strong>Tip:</strong> If your document
+<a href="definitions.html#TERMS_LEADING">leading</a>
+is 2
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+or less (e.g your
+<a href="definitions.html#TERMS_PS">point size</a>
+is 10 and your linespacing is 10, 11, or 12), lowering
+<strong>mom</strong>'s default footnote rule adjustment will
+almost certainly give you nicer looking results than leaving
+the adjustment at the default.  Furthermore, you can invoke
+<kbd>.FOOTNOTE_RULE_ADJ</kbd> on any page in which footnotes
+appear, or in any column, so that the placement of the footnote rule
+can be changed on-the-fly, should you wish to do so.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="ENDNOTE_INTRO"><h2><u>Endnotes</u></h2></a>
+
+<ul>
+    <li><a href="#ENDNOTE_BEHAVIOUR">Endnote behaviour</a></li>
+    <ul>
+        <li><a href="#ENDNOTE_SPACING">A Note on Endnote Spacing</a></li>
+        <li><a href="#ENDNOTE_COLUMNS">Endnotes and columnar documents</a></li>
+    </ul>
+    <li><a href="#ENDNOTE">Tag: ENDNOTE</a></li>
+    <li><a href="#ENDNOTES">Macro: ENDNOTES</a> &mdash; tell 
<strong>mom</strong> to output endnotes</li>
+    <li><a href="#ENDNOTE_CONTROL">ENDNOTES control macros</a></li>
+</ul>
+
+<p>
+Embedding endnotes into <strong>mom</strong> documents is accomplished
+the same way as embedding
+<a href="#FOOTNOTE_INTRO">footnotes</a>.  The example below is
+identical to the one shown in the
+<a href="#FOOTNOTE_EXAMPLE">introduction to footnotes</a>,
+except that <kbd>.FOOTNOTE</kbd> has been replaced with
+<kbd>.ENDNOTE</kbd>.
+
+<a name="ENDNOTE_EXAMPLE"></a>
+<pre>
+    ...the doctrines of Identity as urged by Schelling\c
+    .ENDNOTE
+    &lt;endnote about who the hell is Schelling&gt;
+    .ENDNOTE OFF
+     were generally the points of discussion presenting the most
+    of beauty to the imaginative Morella.
+</pre>
+</p>
+
+<p>
+As with footnotes, note the obligatory use of the <kbd>\c</kbd>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+when your
+<a href="#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a>
+is <strong>NUMBER</strong> (which marks endnotes references in
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+with superscript numbers).  When the marker style is
+<strong>LINE</strong>, you must <em>not</em> use the <kbd>\c</kbd>
+escape.
+</p>
+
+<p>
+<strong>***Version 1.3-d change***</strong>
+</p>
+
+<p>
+As of version 1.3-d, the manner of entering the line <em>after</em>
+<nobr><kbd>.ENDNOTE OFF</kbd></nobr> has changed to accommodate
+users' differing wishes with respect to the order of punctuation and
+endnote markers. <strong>Mom</strong> handles endnotes and footnotes
+identically in this regard, so please read the footnote section,
+<a href="#FN_AND_PUNCT">Footnote markers and punctuation in the running 
text</a>,
+for an explanation.
+</p>
+
+<p>
+<strong>***End version 1.3-d change***</strong>
+</p>
+
+<p>
+Endnotes differ from footnotes in two ways (other than the fact that
+endnotes come at the end of a document whereas footnotes appear in
+the body of the document):
+</p>
+
+<ol>
+    <li>When your <strong>ENDNOTE_MARKER_STYLE</strong> is
+        <strong>NUMBER</strong>, endnotes are always numbered
+        incrementally, starting at "1".
+    </li>
+    <li>Endnotes MUST be output explicitly; <strong>mom</strong> does
+        not output them for you.  In
+        <a href="rectoverso.html#COLLATE">collated</a>
+        documents, this allows you to choose whether you
+        want the endnotes to appear at the end of each chapter or
+        article in a document, or grouped together at the very end
+        of the document.
+    </li>
+</ol>
+
+<p>
+Within endnotes, you may use the document element tags
+<a href="#PP">PP</a>,
+<a href="#QUOTE">QUOTE</a>
+and
+<a href="#BLOCKQUOTE">BLOCKQUOTE</a>.
+This provides the flexibility to create endnotes that run to several
+paragraphs, as well as to embed cited text within endnotes.
+</p>
+
+<p>
+Should you wish to change the appearance of quotes or blockquotes
+that appear within endnotes, you may do so with the
+<a href="#QUOTE_CONTROL">quote control macros</a>
+or
+<a href="#BLOCKQUOTE_CONTROL">blockquote control macros</a>.
+HOWEVER...  you must make the changes <em>within</em> each endnote,
+prior to invoking <kbd>.QUOTE</kbd> or <kbd>.BLOCKQUOTE</kbd>,
+and undo them prior to terminating the endnote (i.e. before
+<nobr><kbd>.ENDNOTE OFF</kbd>)</nobr>, otherwise the changes will
+affect subsequent quotes and blockquotes that appear in the document
+body as well.
+</p>
+
+<a name="ENDNOTE_BEHAVIOUR"><h3><u>Endnote behaviour</u></h3></a>
+
+<p>
+When you output endnotes (with
+<a href="#ENDNOTES">ENDNOTES</a>),
+<strong>mom</strong> finishes processing the last page of your document,
+then breaks to a new page for printing the endnotes.  If the document
+type is
+<a href="docprocessing.html#DOCTYPE">CHAPTER</a>,
+the centre part of the
+<a href="definitions.html#TERMS_HEADER">header</a>
+(or footer), which, by default, contains a chapter number or title,
+is removed.
+</p>
+
+<p>
+By default, <strong>mom</strong> starts the endnotes page with
+a bold, centred, double-underlined head, &quot;ENDNOTES&quot;.
+Underneath &mdash; flush left, bold, and underscored &mdash; she
+prints the document title (or, in the case of chapters, the chapter
+number or title).  She then prints the endnotes.  Each endnote is
+identified by its appropriate number, in bold, right aligned to two
+placeholders.  The text of the endnotes themselves is indented to
+the right of the numbers.
+</p>
+
+<p>
+If the endnotes are grouped together at the end of a collated document,
+each section of the document that contains endnotes is identified by its
+own unique title (or chapter number or title), bold, flush left, and
+underscored.
+</p>
+
+<p>
+Of course, all the defaults, as well as the overall style of the
+endnotes page, can be changed with the
+<a href="#ENDNOTE_CONTROL">endnote control macros</a>.
+The attentive will notice that endnotes have an awful lot of control
+macros.  This is because endnotes are like a mini-document unto
+themselves, and therefore need not be bound by the style parameters of
+the body of the document.
+</p>
+
+<a name="ENDNOTE_SPACING"><h3><u>A Note on Endnote Spacing</u></h3></a>
+
+<p>
+On the endnotes page(s), each new endnote is separated from the
+previous endnote by a full line space.  This can result in a bottom
+margin that hangs, and is the one instance, other than the use of
+<a href="#PP_SPACE">PARA_SPACE</a>,
+where <strong>mom</strong> allows unequal bottom alignment of pages.
+Should you wish to correct this, by adding or subtracting small amounts
+of space between endnotes that appear together on an endnotes page, make
+the adjustment (with
+<a href="typesetting.html#ALD">ALD</a>,
+<a href="typesetting.html#RLD">RLD</a>
+or
+<a href="typesetting.html#SPACE">SPACE</a>)
+<em>at the end of each endnote</em> (i.e. just before invoking
+<nobr><a href="#ENDNOTE"><kbd>.ENDNOTE OFF</kbd></a>)</nobr>
+rather than at the top.
+</p>
+
+<a name="ENDNOTE_COLUMNS"><h3><u>Endnotes and columnar documents</u></h3></a>
+
+<p>
+Formerly (pre 1.1.6), there was no way to set a document in columns
+(see
+<a href="docprocessing.html#COLUMNS">COLUMNS</a>)
+and then turn off column mode for endnotes.  As of version 1.1.6,
+you may now do so.  See
+<a href="#ENDNOTES_NO_COLUMNS">ENDNOTES_NO_COLUMNS</a>.
+</p>
+
+<!-- -ENDNOTE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="ENDNOTE"></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE</strong> <kbd>&lt;toggle&gt; [ BREAK | BR 
]</kbd></nobr>
+<br/>
+
+<em>*See <a href="#ENDNOTE_NOTE">HYPER-IMPORTANT NOTE</a>!!!</em>
+</p>
+
+<p>
+<strong>ENDNOTE</strong> is a toggle macro, therefore invoking it
+on a line by itself allows you to enter an endnote in the body of a
+document.  Invoking it with any other argument (i.e. <strong>OFF,
+QUIT, END, X...</strong>) tells <strong>mom</strong> that you've
+finished the endnote.
+</p>
+
+<p>
+<strong>NOTE:</strong> If an endnote runs to more than one
+paragraph, <strong>DO NOT</strong> begin the endnote with the
+<a href="#PP">PP</a>
+tag.  Use <strong>PP</strong> only to introduce subsequent
+paragraphs.
+</p>
+
+<p>
+<a name="ENDNOTE_NOTE"><strong>HYPER-IMPORTANT NOTE:</strong></a>
+If your
+<a href="#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a>
+is <strong>NUMBER</strong> (<strong>mom</strong>'s default), the
+final word on the
+<a href="definitions.html#TERMS_INPUTLINE">input line</a>
+that comes immediately before <kbd>.ENDNOTE</kbd> MUST
+terminate with a
+<a href="typesetting.html#JOIN"><kbd>\c</kbd></a>
+inline escape.  See the
+<a href="#ENDNOTE_EXAMPLE">endnote example</a>
+above.
+</p>
+
+<p>
+Additionally, in
+<a href="definitions.html#TERMS_FILLED">fill</a>
+modes
+(<a href="typesetting.html#JUSTIFY">JUSTIFY</a>
+or
+<a href="typesetting.html#QUAD">QUAD</a>,
+the line <em>after</em> <nobr><kbd>.ENDNOTE OFF</kbd></nobr>
+should be entered as if there were no interruption in the input
+text, i.e. the line should begin with a literal space or punctuation
+mark (see explanation and examples
+<a href="#FN_AND_PUNCT">here</a>).
+</p>
+
+<p>
+In
+<a href="definitions.html#TERMS_NOFILL">no-fill</a> modes, the
+optional argument <kbd>BREAK</kbd> or <kbd>BR</kbd> may be used
+after the <kbd>OFF</kbd> (or <strong>QUIT, END, X,</strong> etc.)
+argument to instruct <strong>mom</strong> NOT to join the next input
+line to the previous output.  See
+<a href="#FN_AND_PUNCT_NOFILL">here</a>
+for a more complete explanation, with examples.
+</p>
+
+<p>
+If your <strong>ENDNOTE_MARKER_STYLE</strong> is
+<strong>LINE</strong>, do NOT use the <kbd>\c</kbd> escape, and
+enter the line after <nobr><kbd>.ENDNOTE OFF</kbd></nobr>
+normally.
+</p>
+
+<!-- -ENDNOTES- -->
+
+<hr width="33%" align="left"/>
+
+<a name="ENDNOTES"></a>
+
+<p>
+<a name="ENDNOTES">Tag: <strong>ENDNOTES</strong></a>
+</p>
+
+<p>
+Unlike footnotes, which <strong>mom</strong> automatically outputs
+at the bottom of pages, endnotes must be explicitly output by you,
+the user. <strong>ENDNOTES</strong>, by itself (i.e. without any
+argument), is the macro to do this.
+</p>
+
+<p>
+Typically, you'll use <strong>ENDNOTES</strong> at the end of
+a document.  If it's a single (i.e. not collated) document,
+<strong>mom</strong> will print the endnotes pertaining to it.  If
+it's a collated document, <strong>mom</strong> will print all the
+endnotes contained within all sections of the document (typically
+chapters), appropriately identified and numbered.
+</p>
+
+<p>
+Should you wish to output the endnotes for each section of a
+collated document at the ends of the sections (instead of at the
+very end of the document), simply invoke <kbd>.ENDNOTES</kbd>
+immediately prior to
+<a href="rectoverso.html#COLLATE">COLLATE</a>.
+<strong>Mom</strong> will print the endnotes, identified and
+numbered appropriately, on a separate page prior to starting
+the next section of the document.  Each subsequent invocation
+of <kbd>.ENDNOTES</kbd> outputs only those endnotes that
+<strong>mom</strong> collected after the previous invocation.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="ENDNOTE_CONTROL"><h3><u>Endnote control macros</u></h3></a>
+
+<h4><u>VERY IMPORTANT NOTE!</u></h4>
+
+<p>
+Endnote control macros must always be invoked prior to the first
+instance of
+<a href="#ENDNOTE"><nobr><kbd>.ENDNOTE / .ENDNOTE OFF</kbd></nobr></a>.
+</p>
+
+<p>
+When you embed endnotes in the body of a document,
+<strong>mom</strong> collects <em>and processes</em> them for later
+outputting (when you invoke
+<a href="#ENDNOTES"><kbd>.ENDNOTES</kbd></a>).
+By the time you do invoke <kbd>.ENDNOTES</kbd>, it's much too late
+to change your mind about how you want them to look.
+</p>
+
+<p>
+My advice?  If you're planning to change the default appearance of
+endnotes pages, set them up prior to
+<a href="docprocessing.html#START">START</a>.
+</p>
+
+<ol>
+    <li><a href="#ENDNOTES_GENERAL"><strong>General endnotes-pages style 
control</strong></a></li>
+        <ul>
+            <li><a href="#ENDNOTE_STYLE">Base family/font/quad for 
endnotes-pages</a></li>
+            <li><a href="#ENDNOTE_PT_SIZE">Base point size for the 
endnotes-pages</a></li>
+            <li><a href="#ENDNOTE_LEAD">Leading of endnotes-pages</a></li>
+            <li><a href="#SINGLESPACE_ENDNOTES">Singlespace endnotes (for 
TYPEWRITE only)</a></li>
+            <li><a href="#ENDNOTE_PARA_INDENT">Size of paragraph first line 
indent in multi-paragraph endnotes</a></li>
+            <li><a href="#ENDNOTE_PARA_SPACE">Inserting space between 
paragraphs of multi-paragraph endnotes</a></li>
+            <li><a href="#ENDNOTES_NO_COLUMNS">Turning off column mode during 
endnotes output</a></li>
+            <li><a href="#ENDNOTES_PAGINATION">Pagination of endnotes</a></li>
+            <ul>
+                <li><a href="#ENDNOTES_PAGENUM_STYLE">Endnotes-pages page 
numbering style</a></li>
+                <li><a href="#ENDNOTES_FIRST_PAGENUMBER">Setting the first 
page number of endnotes pages</a></li>
+                <li><a href="#ENDNOTES_NO_FIRST_PAGENUM">Omitting a page 
number on the first page of endnotes</a></li>
+            </ul>
+            <li><a href="#SUSPEND_PAGINATION">Suspending pagination of 
endnotes pages</a></li>
+        </ul>
+    <li><a href="#ENDNOTES_HEADER_CONTROL"><strong>Endnotes-page header/footer 
control</strong></a></li>
+        <ul>
+            <li><a href="#ENDNOTES_MODIFY_HDRFTR">Modifying what goes in the 
endnotes-pages header/footer</a></li>
+            <li><a href="#ENDNOTES_HDRFTR_CENTER">Enabling a header/footer 
centre when doctype is CHAPTER</a></li>
+            <li><a href="#ENDNOTES_ALLOWS_HEADERS">Allow headers on 
endnotes-pages</a></li>
+        </ul>
+    <li><a href="#ENDNOTES_MAIN_TITLE"><strong>Endnotes-page head (i.e. the 
title at the top) control</strong></a></li>
+        <ul>
+            <li><a href="#ENDNOTE_STRING">Creating/modifying the endnotes-page 
head</a></li>
+            <li><a href="#ENDNOTE_STRING_CONTROL">Endnotes-page head 
control</a></li>
+            <li><a href="#ENDNOTE_STRING_UNDERLINE">Endnotes-page head 
underlining</a></li>
+            <li><a href="#ENDNOTE_STRING_CAPS">Endnotes-page head 
capitalization</a></li>
+        </ul>
+    <li><a href="#ENDNOTES_DOC_TITLE"><strong>Endnote document-identification 
title</strong></a></li>
+        <ul>
+            <li><a href="#ENDNOTE_TITLE">Creating/modifying the endnote 
document-identification title</a></li>
+            <li><a href="#ENDNOTE_TITLE_CONTROL">Document-identification title 
control</a></li>
+            <li><a href="#ENDNOTE_TITLE_UNDERSCORE">Document-identification 
title underscoring</a></li>
+        </ul>
+    <li><a href="#ENDNOTES_NUMBERING"><strong>Endnotes-pages endnote numbering 
style</strong></a></li>
+        <ul>
+            <li><a href="#ENDNOTE_MARKER_STYLE">Endnote marker style</a> 
&mdash; by numbers in the text, or by line number</li>
+            <ul>
+                <li><a 
href="#ENDNOTE_LINENUMBER_GAP">ENDNOTE_LINENUMBER_GAP</a></li>
+                <li><a 
href="#ENDNOTE_LINENUMBER_BRACKETS">ENDNOTE_LINENUMBER_BRACKETS</a></li>
+                <li><a 
href="#ENDNOTE_LINENUMBER_SEPARATOR">ENDNOTE_LINENUMBER_SEPARATOR</a></li>
+            </ul>
+            <li><a href="#ENDNOTE_NUMBER_CONTROL">Endnotes-pages endnote 
numbering style control</a></li>
+            <li><a href="#ENDNOTE_NUMBER_ALIGNMENT">Endnote numbering 
alignment</a></li>
+            <ul>
+                <li><a 
href="#ENDNOTE_NUMBERS_ALIGN_RIGHT">ENDNOTE_NUMBERS_ALIGN_RIGHT</a></li>
+                <li><a 
href="#ENDNOTE_NUMBERS_ALIGN_LEFT">ENDNOTE_NUMBERS_ALIGN_LEFT</a></li>
+            </ul>
+        </ul>
+</ol>
+
+<a name="ENDNOTES_GENERAL"><h4><u>1. General endnotes page style 
control</u></h4></a>
+
+<a name="ENDNOTE_STYLE"><h5>*<u>Endnote family/font/quad</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.ENDNOTE_FAMILY    default = prevailing document family; default is Times Roman
+.ENDNOTE_FONT      default = roman
+.ENDNOTE_QUAD*     default = justified
+
+*Note: ENDNOTE_QUAD must be set to either L or J
+</pre>
+
+<!-- -ENDNOTE_PT_SIZE- -->
+
+<a name="ENDNOTE_PT_SIZE"><h5>*<u>Endnote point size</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_PT_SIZE</strong> <kbd>&lt;base type size of 
endnotes&gt;</kbd></nobr>
+</p>
+
+<p>
+Unlike most other control macros that deal with size of document
+elements, <strong>ENDNOTE_PT_SIZE</strong> takes as its argument
+an absolute value, relative to nothing.  Therefore, the argument
+represents the size of endnote type in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+unless you append an alternative
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example,
+
+<pre>
+    .ENDNOTE_PT_SIZE 12
+</pre>
+
+sets the base point size of type on the endnotes page to 12
+points, whereas
+
+<pre>
+    .ENDNOTE_PT_SIZE .6i
+</pre>
+
+sets the base point size of type on the endnotes page to 1/6 of an
+inch.
+</p>
+
+<p>
+The type size set with <strong>ENDNOTE_PT_SIZE</strong> is the size
+of type used for the text of the endnotes, and forms the basis from
+which the point size of other endnote page elements is calculated.
+</p>
+
+<p>
+The default for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+is 12.5 points (the same default size used in the body of the
+document).
+</p>
+
+<!-- -ENDNOTE_LEAD- -->
+
+<a name="ENDNOTE_LEAD"><h5>*<u>Endnote lead</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_LEAD</strong> <kbd>&lt;base leading of 
endnotes&gt; [ ADJUST ] </kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>; points is assumed</em>
+</p>
+
+<p>
+Unlike most other control macros that deal with leading of document
+elements, <strong>ENDNOTE_LEAD</strong> takes as its argument an
+absolute value, relative to nothing.  Therefore, the argument
+represents the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of endnotes in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+unless you append an alternative
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example,
+
+<pre>
+    .ENDNOTE_LEAD 14
+</pre>
+
+sets the base leading of type on the endnotes page to 14
+points, whereas
+
+<pre>
+    .ENDNOTE_LEAD .5i
+</pre>
+
+sets the base leading of type on the endnotes page to 1/2 inch.
+</p>
+
+<p>
+If you want the leading of endnotes adjusted to fill the page, pass
+<strong>ENDNOTE_LEAD</strong> the optional argument
+<kbd>ADJUST</kbd>.  (See
+<a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
+for an explanation of leading adjustment.)
+</p>
+
+<p>
+The default for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+is 14 points, adjusted.
+</p>
+
+<p>
+<strong>NOTE:</strong> Even if you give <strong>mom</strong>
+a <nobr><kbd>.DOC_LEAD_ADJUST OFF</kbd></nobr> command, she
+will still, by default, adjust endnote leading.  You MUST enter
+<nobr><kbd>.ENDNOTE_LEAD &lt;lead&gt;</kbd></nobr> with no
+<kbd>ADJUST</kbd> argument to disable this default behaviour.
+</p>
+
+<!-- -SINGLESPACE_ENDNOTES- -->
+
+<a name="SINGLESPACE_ENDNOTES"><h5>*<u>Singlespace endnotes (TYPEWRITE 
only)</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>SINGLESPACE_ENDNOTES</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+If your 
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
+is <strong>TYPEWRITE</strong> and you use TYPEWRITE's default
+double-spacing, endnotes are double-spaced.  If your document is
+single-spaced, endnotes are single-spaced.
+</p>
+
+<p>
+If, for some reason, you'd prefer that endnotes be single-spaced
+in an otherwise double-spaced document (including double-spaced
+<a href="rectoverso.html#COLLATE">collated</a>
+documents), invoke <kbd>.SINGLESPACE_ENDNOTES</kbd> with no
+argument.  And if, god help you, you want to change endnote
+single-spacing back to double-spacing for different spacing of
+endnotes output at the ends of separate documents in a collated
+document, invoke <kbd>.SINGLESPACE_ENDNOTES</kbd> with any argument
+(<strong>OFF, QUIT, Q, X</strong>...).
+</p>
+
+<!-- -ENDNOTE_PARA_INDENT- -->
+
+<a name="ENDNOTE_PARA_INDENT"><h5>*<u>Endnote paragraph indenting</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_PARA_INDENT</strong> <kbd>&lt;amount to indent 
first line of paragraphs in endnotes&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>ENDNOTE_PARA_INDENT</strong> works exactly the same way as
+<a href="#PARA_INDENT">PARA_INDENT</a>,
+except that the indent given is the amount by which to indent the
+first lines of endnote paragraphs, not document body paragraphs.
+</p>
+
+<p>
+The default is 1.5
+<a href="definitions.html#TERMS_EM">ems</a>
+for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>;
+1/2 inch for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> The first line of the first paragraph of
+endnotes (the one attached immediately to the identifying endnote
+number) is never indented.  Only subsequent paragraphs are affected
+by <strong>ENDNOTE_PARA_INDENT</strong>.
+</p>
+
+<!-- -ENDNOTE_PARA_SPACE- -->
+
+<a name="ENDNOTE_PARA_SPACE"><h5>*<u>Endnote paragraph spacing</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_PARA_SPACE</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>ENDNOTE_PARA_SPACE</strong> works exactly the same way as
+<a href="#PP_SPACE">PARA_SPACE</a>,
+except that it inserts a blank line between endnote paragraphs, not
+document body paragraphs.
+</p>
+
+<p>
+The default is not to insert a blank line between paragraphs in
+endnotes.
+</p>
+
+<p>
+<strong>NOTE:</strong> Each endnote itself is always
+separated from any previous endnote by a line space.
+<strong>ENDNOTE_PARA_SPACE</strong> refers only to paragraphs that
+appear within each discrete endnote.
+</p>
+
+<!-- -ENDNOTES_NO_COLUMNS- -->
+
+<a name="ENDNOTES_NO_COLUMNS"><h5>*<u>Turning off column mode during endnotes 
output</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTES_NO_COLUMNS</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, if your document is
+<a href="docprocessing.html#COLUMNS">set in columns</a>,
+<strong>mom</strong> sets the endnotes in columns, too.  However,
+if your document is set in columns and you'd like the endnotes not
+to be, just invoke <kbd>.ENDNOTES_NO_COLUMNS</kbd> with no argument.
+The endnotes pages will be set to the full page measure of your
+document.
+</p>
+
+<p>
+If you output endnotes at the end of each document in a
+<a href="rectoverso.html#COLLATE">collated</a>
+document set in columns, column mode will automatically
+be reinstated for each document, even with
+<strong>ENDNOTES_NO_COLUMNS</strong> turned on.  In such
+circumstances, you must re-enable it for each collated document.
+</p>
+
+<a name="ENDNOTES_PAGINATION"><h5>*<u>Pagination of endnotes</u></h5></a>
+
+<!-- -ENDNOTES_PAGENUM_STYLE- -->
+
+<a name="ENDNOTES_PAGENUM_STYLE"><h6><u>Endnotes-pages page numbering 
style</u></h6></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTES_PAGENUM_STYLE</strong> <kbd>DIGIT | ROMAN | 
roman | ALPHA | alpha</kbd></nobr>
+</p>
+
+<p>
+Use this macro to set the page numbering style of endnotes pages.
+The arguments are identical to those for
+<a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>.
+The default is <kbd>digit</kbd>.  You may want to change it to, say,
+<kbd>alpha</kbd>, which you would do with
+
+<pre>
+    .ENDNOTES_PAGENUM_STYLE alpha
+</pre>
+</p>
+
+<!-- -ENDNOTES_FIRST_PAGENUMBER- -->
+
+<a name="ENDNOTES_FIRST_PAGENUMBER"><h6><u>Setting the first page number of 
endnotes pages</u></h6></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTES_FIRST_PAGENUMBER</strong> <kbd>&lt;page # that 
appears on page 1 of endnotes&gt;</kbd></nobr>
+</p>
+
+<p>
+Use this macro with caution.  If all endnotes for several
+<a href="rectoverso.html#COLLATE">collated</a>
+documents are to be output at once, i.e. not at the end of each
+separate doc, <strong>ENDNOTES_FIRST_PAGENUMBER</strong> tells
+<strong>mom</strong> what page number to put on the first page of
+the endnotes.
+</p>
+
+<p>
+If you set <strong>ENDNOTES_FIRST_PAGENUMBER</strong> in collated
+documents where the endnotes are output after each separate doc,
+you have to reset every separate document's first page number after
+<a href="rectoverso.html#COLLATE">COLLATE</a>
+and before
+<a href="docprocessing.html#START">START</a>.
+</p>
+
+<!-- -ENDNOTES_NO_FIRST_PAGENUN- -->
+
+<a name="ENDNOTES_NO_FIRST_PAGENUM"><h6><u>Omitting a page number on the first 
page of endnotes</u></h6></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTES_NO_FIRST_PAGENUM</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+This macro is for use only if <strong>FOOTERS</strong> are on.  It
+tells
+<a href="#ENDNOTES">ENDNOTES</a>
+not to print a page number on the first endnotes page.
+<strong>Mom</strong>'s default is to print the page number.
+</p>
+
+<!-- -SUSPEND_PAGINATION- -->
+
+<a name="SUSPEND_PAGINATION"><h6><u>Suspending pagination of endnotes 
pages</u></h6></a>
+
+<p>
+Macro: <strong>SUSPEND_PAGINATION</strong>
+<br/>
+
+Macro: <strong>RESTORE_PAGINATION</strong>
+</p>
+
+<p>
+<strong>SUSPEND_PAGINATION</strong> doesn't take an argument.
+Invoked immediately prior to
+<a href="#ENDNOTES">ENDNOTES</a>,
+it turns off endnotes pages pagination.  <strong>Mom</strong>
+continues, however to increment page numbers silently.
+</p>
+
+<p>
+To restore normal document pagination after endnotes, invoke
+<kbd>.RESTORE_PAGINATION</kbd> (again, with no argument) immediately
+after <kbd>.ENDNOTES</kbd>.
+</p>
+
+<a name="ENDNOTES_HEADER_CONTROL"><h4><u>2. Endnotes-page header/footer 
control</u></h4></a>
+
+<p>
+<a name="ENDNOTES_MODIFY_HDRFTR"></a>
+If you wish to modify what appears in the header/footer that appears
+on endnotes page(s), make the changes before you invoke
+<a href="#ENDNOTES"><kbd>.ENDNOTES</kbd></a>,
+not afterwards.
+</p>
+
+<p>
+Except in the case of
+<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>,
+<strong>mom</strong> prints the same header or footer used
+throughout the document on the endnotes page(s).  Chapters get
+treated differently in that, by default, <strong>mom</strong> does
+not print the header/footer centre string (normally the chapter
+number or chapter title.)  In most cases, this is what you want.
+However, should you <em>not</em> want <strong>mom</strong> to remove
+the centre string from the endnotes page(s) headers/footers, invoke
+<a href="#ENDNOTES_HDRFTR_CENTER"><kbd>.ENDNOTES_HEADER_CENTER</kbd></a>
+with no argument. 
+</p>
+
+<p>
+An important change you may want to make is to put the word
+&quot;Endnotes&quot; in the header/footer centre position.
+To do so, do
+
+<pre>
+    .HEADER_CENTER "Endnotes"
+               or
+    .FOOTER_CENTER "Endnotes"
+</pre>
+
+prior to invoking <kbd>.ENDNOTES</kbd>.  If your
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
+is <strong>CHAPTER</strong>, you must also invoke
+<a href="#ENDNOTES_HDRFTR_CENTER">ENDNOTES_HEADER_CENTER</a>
+for the <strong>HEADER_CENTER</strong> to appear.
+</p>
+
+<a name="ENDNOTES_HDRFTR_CENTER"><h5>*<u>Endnotes page(s) header/footer centre 
string</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTES_HEADER_CENTER</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+If your
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
+is <strong>CHAPTER</strong> and you want <strong>mom</strong>
+to include a centre string in the headers/footers that appear
+on endnotes pages, invoke <kbd>.ENDNOTES_HEADER_CENTER</kbd>
+(or <kbd>.ENDNOTES_FOOTER_CENTER</kbd>) with no argument.
+<strong>Mom</strong>'s default is NOT to print the centre string.
+</p>
+
+<p>
+If, for some reason, having enabled the header/footer centre string
+on endnotes pages, you wish to disable it, invoke the same macro
+with any argument (<strong>OFF, QUIT, Q, X</strong>...).
+</p>
+
+<a name="ENDNOTES_ALLOWS_HEADERS"><h5>*<u>Allow headers on 
endnotes-pages</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTES_ALLOWS_HEADERS</strong> <kbd>&lt;none&gt; | 
ALL</kbd></nobr>
+</p>
+
+<p>
+By default, if <strong>HEADERS</strong> are on, <strong>mom</strong>
+prints page headers on all endnotes pages except the first.  If you
+don't want her to print headers on endnotes pages, do
+
+<pre>
+    .ENDNOTES_ALLOWS_HEADERS OFF
+</pre>
+</p>
+
+<p>
+If you want headers on every page <em>including the first</em>, do
+
+<pre>
+    .ENDNOTES_ALLOWS_HEADERS ALL
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> If <strong>FOOTERS</strong> are on,
+<strong>mom</strong> prints footers on every endnotes page.  This is
+a style convention.  In <strong>mom</strong>, there is no such beast
+as <strong>ENDNOTES_ALLOWS_FOOTERS OFF</strong>.
+</p>
+
+<a name="ENDNOTES_MAIN_TITLE"><h4><u>3. Endnotes first page header (title) 
control</u></h4></a>
+
+<!-- -ENDNOTE_STRING- -->
+
+<a name="ENDNOTE_STRING"><h5>*<u>Endnotes first page header (title) 
string</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_STRING</strong> <kbd>&quot;&lt;head to print at 
the top of endnotes&gt;&quot;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> prints the word
+&quot;ENDNOTES&quot; as a head at the top of the first page
+of endnotes.  If you want her to print something else, invoke
+<kbd>.ENDNOTE_STRING</kbd> 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 <kbd>.ENDNOTE_STRING</kbd> with
+a blank argument (either two double-quotes side by side &mdash;
+<kbd>&quot;&quot;</kbd> &mdash; or no argument at all).
+</p>
+
+<!-- -ENDNOTE_STRING_CONTROL- -->
+
+<a name="ENDNOTE_STRING_CONTROL"><h5>*<u>Endnotes first page header (title) 
control</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.ENDNOTE_STRING_FAMILY    default = prevailing document family; default is 
Times Roman
+.ENDNOTE_STRING_FONT      default = bold
+.ENDNOTE_STRING_SIZE*     default = +1
+.ENDNOTE_STRING_QUAD      default = centred
+
+*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
+</pre>
+
+<!-- -ENDNOTE_STRING_ADVANCE- -->
+
+<a name="ENDNOTE_STRING_ADVANCE"><h5>*<u>Endnotes first page header (title) 
placement</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_STRING_ADVANCE</strong> <kbd>&lt;distance from 
top of page&gt;</kbd></nobr>
+<br/>
+
+<em>*Argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit 
of measusure</a></em>
+</p>
+
+<p>
+By default, <strong>mom</strong> places the title (the docheader, as
+it were) of endnotes pages (typically "ENDNOTES") on the same
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+that is used for the start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+If you'd prefer another location, higher or lower on the page
+(thereby also raising or lowering the starting position of the
+endnotes themselves), invoke <kbd>.ENDNOTE_STRING_ADVANCE</kbd>
+with an argument stating the distance <em>from the top edge of the
+page</em> at which you'd like the title placed.
+</p>
+
+<p>
+The argument requires a unit of measure, so if you'd like the title
+to appear 1-1/2 inches from the top edge of the page, you'd tell
+<strong>mom</strong> about it like this:
+
+<pre>
+    .ENDNOTE_STRING_ADVANCE 1.5i
+</pre>
+</p>
+
+<!-- -ENDNOTE_STRING_UNDERLINE- -->
+
+<a name="ENDNOTE_STRING_UNDERLINE"><h5>*<u>Endnotes first page header (title) 
underlining</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_STRING_UNDERLINE</strong> <kbd>[DOUBLE] 
[&lt;underline weight&gt; [&lt;underline gap&gt; [&lt;distance between double 
rules]]] | &lt;none&gt; | &lt;anything&gt;</kbd></nobr>
+<br/>
+
+Alias: <strong>ENDNOTE_STRING_UNDERSCORE</strong>
+<br/>
+
+<em>*The argument</em> <kbd>&lt;underline weight&gt;</kbd> <em>must</em> NOT 
<em>have the</em> <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>, <kbd>p</kbd>, <em>appended to it</em>
+</p>
+
+<p>
+Invoked without an argument, <kbd>.ENDNOTE_STRING_UNDERLINE</kbd>
+will place a single rule underneath the endnotes-page head.  Invoked
+with the argument <kbd>DOUBLE</kbd>,
+<strong>ENDNOTE_STRING_UNDERLINE</strong> will double-underline
+the head.  Invoked with any other non-numeric argument, (e.g.
+<strong>OFF</strong>, <strong>NO</strong>, <strong>X</strong>, etc.)
+the macro disables underlining of the head.
+</p>
+
+<p>
+In addition, you can use <strong>ENDNOTE_STRING_UNDERLINE</strong>
+to control the weight of the underline rule(s), the gap between the
+head and the underline, and, in the case of double-underlines, the
+distance between the two rules.
+</p>
+
+<p>
+Some examples:
+
+<pre>
+    .ENDNOTE_STRING_UNDERLINE 1
+        - turn underlining on; set the rule weight to 1 point
+
+    .ENDNOTE_STRING_UNDERLINE 1 3p
+        - turn underlining on; set the rule weight to 1 point; set
+          the gap between the string and the underline to 3 points
+    
+    .ENDNOTE_STRING_UNDERLINE DOUBLE .75 3p
+        - turn double-underlining on; set the rule weight to 3 points
+    
+    .ENDNOTE_STRING_UNDERLINE DOUBLE 1.5 1.5p 1.5p
+        - turn double-underlining on; set the rule weight to 1-1/2
+          points; set the gap between the string and the upper
+          underline to 1-1/2 points; set the gap between the upper
+          and the lower underline to 1-1/2 points
+</pre>
+
+Note, from the above, that in all instances, underlining (single or
+double) is enabled whenever <strong>ENDNOTE_STRING_UNDERLINE</strong>
+is used in this way.
+</p>
+
+<p>
+<strong>Mom</strong>'s default is to double-underline the head
+with 1/2-point rules placed 2 points apart and 2 points below the
+baseline of the head.
+</p>
+
+<!-- -ENDNOTE_STRING_CAPS- -->
+
+<a name="ENDNOTE_STRING_CAPS"><h5>*<u>Endnotes first page header (title) 
automatic capitalization</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_STRING_CAPS</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+Invoked by itself, <kbd>.ENDNOTE_STRING_CAPS</kbd> will
+automatically capitalize the endnotes-page head.  Invoked with any
+other argument, the macro disables automatic capitalization of the
+head.
+</p>
+
+<p>
+If you're generating a table of contents, you may want the
+endnotes-pages head string in caps, but the toc entry in caps/lower
+case.  If the argument to
+<a href="#ENDNOTE_STRING">ENDNOTE_STRING</a>
+is in caps/lower case and <strong>ENDNOTE_STRING_CAPS</strong> is
+on, this is exactly what will happen.
+</p>
+
+<p>
+<strong>Mom</strong>'s default is to capitalize the endnotes-pages
+head string.
+</p>
+
+<!-- -ENDNOTE_TITLE- -->
+
+<a name="ENDNOTES_DOC_TITLE"><h4><u>4. Endnote document-identification 
title</u></h4></a>
+
+<a name="ENDNOTE_TITLE"><h5>*<u>Endnote document-identification title 
string</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_TITLE</strong> <kbd>&quot;&lt;title to identify a 
document in endnotes&gt;&quot;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> identifies the document(s) to which
+endnotes belong by the document title(s) given to the
+<a href="docprocessing.html#TITLE">TITLE</a>
+macro.  If you'd like her to identify the document(s) another way,
+just invoke <kbd>.ENDNOTE_TITLE</kbd> with the identifying title you
+want, surrounded by double-quotes.
+</p>
+
+<p>
+If you don't want any identifying title, invoke
+<kbd>.ENDNOTE_TITLE</kbd> with a blank argument (either two
+double-quotes side by side &mdash; <kbd>&quot;&quot;</kbd> &mdash;
+or no argument at all).  This is particularly useful if you have a
+single (i.e. non-collated) document and find having the document's
+title included in the endnotes redundant.
+</p>
+
+<!-- -ENDNOTE_TITLE_CONTROL- -->
+
+<a name="ENDNOTE_TITLE_CONTROL"><h5>*<u>Endnote document-identification title 
control</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.ENDNOTE_TITLE_FAMILY    default = prevailing document family; default is 
Times Roman
+.ENDNOTE_TITLE_FONT      default = bold
+.ENDNOTE_TITLE_SIZE*     default = 0
+.ENDNOTE_TITLE_QUAD      default = left
+
+*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
+</pre>
+
+<!-- -ENDNOTE_TITLE_UNDERLINE- -->
+
+<a name="ENDNOTE_TITLE_UNDERLINE"><h5>*<u>Endnotes-page head (title) 
underlining</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_TITLE_UNDERLINE</strong> <kbd>[DOUBLE] 
[&lt;underline weight&gt; [&lt;underline gap&gt; [&lt;distance between double 
rules]]] | &lt;none&gt; | &lt;anything&gt;</kbd></nobr>
+<br/>
+
+Alias: <strong>ENDNOTE_TITLE_UNDERSCORE</strong>
+<br/>
+
+<em>*The argument</em> <kbd>&lt;underline weight&gt;</kbd> <em>must</em> NOT 
<em>have the</em> <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>, <kbd>p</kbd>, <em>appended to it</em>
+</p>
+
+<p>
+Invoked without an argument, <kbd>.ENDNOTE_TITLE_UNDERLINE</kbd>
+will place a single rule underneath the document identification
+title.  Invoked with the argument <kbd>DOUBLE</kbd>,
+<strong>ENDNOTE_TITLE_UNDERLINE</strong> will double-underline
+the title.  Invoked with any other non-numeric argument, (e.g.
+<strong>OFF</strong>, <strong>NO</strong>, <strong>X</strong>, etc.)
+the macro disables underlining of the title.
+</p>
+
+<p>
+In addition, you can use <strong>ENDNOTE_TITLE_UNDERLINE</strong>
+to control the weight of the underline rule(s), the gap between the
+title and the underline, and, in the case of double-underlines, the
+distance between the two rules.
+</p>
+
+<p>
+Some examples:
+
+<pre>
+    .ENDNOTE_TITLE_UNDERLINE 1
+        - turn underlining on; set the rule weight to 1 point
+
+    .ENDNOTE_TITLE_UNDERLINE 1 3p
+        - turn underlining on; set the rule weight to 1 point; set
+          the gap between the title and the underline to 3 points
+    
+    .ENDNOTE_TITLE_UNDERLINE DOUBLE .75 3p
+        - turn double-underlining on; set the rule weight to 3 points
+    
+    .ENDNOTE_TITLE_UNDERLINE DOUBLE 1.5 1.5p 1.5p
+        - turn double-underlining on; set the rule weight to 1-1/2
+          points; set the gap between the title and the upper
+          underline to 1-1/2 points; set the gap between the upper
+          and the lower underline to 1-1/2 points
+</pre>
+
+Note, from the above, that in all instances, underlining (single or
+double) is enabled whenever <strong>ENDNOTE_TITLE_UNDERSCORE</strong>
+is used in this way.
+</p>
+
+<p>
+<strong>Mom</strong>'s default is to single-underline the title
+with a 1/2-point rule place 2 points below its baseline.
+</p>
+
+<!-- -ENDNOTE_NUMBERING- -->
+
+<a name="ENDNOTES_NUMBERING"><h4><u>5. Endnotes-pages endnote numbering 
style</u></h4></a>
+
+<a name="ENDNOTE_MARKER_STYLE"><h5>*<u>Endnote marker style</u></h5></a>
+
+<p>
+The macro to control how endnotes are referenced is
+<strong>ENDNOTE_MARKER_STYLE</strong>.
+</p>
+
+<p>
+By default, <strong>mom</strong> places superscript numbers in
+<a href="definitions.html#RUNNING">running text</a>
+to identify endnotes.  However, if you have
+<a href="#NUMBER_LINES">line-numbering</a>
+turned on, you may instruct <strong>mom</strong> not to put
+superscript numbers in the running text, but rather to reference
+endnotes by line number.  The command to do this is
+
+<pre>
+    .ENDNOTE_MARKER_STYLE LINE
+</pre>
+</p>
+
+<p>
+With <strong>ENDNOTE_MARKER_STYLE LINE</strong>,
+<strong>mom</strong> will identify endnotes either by single
+line numbers, or line ranges.  If what you want is a single line
+number, you need only invoke <kbd>.ENDNOTE</kbd>, <em>without
+terminating the text line before it with</em> <kbd>\c</kbd>,
+at the appropriate place in running text.  (Should you wish to
+revert to <strong>mom</strong>'s default behaviour of placing
+a superscript number in the text to identify an endnote, you
+can invoke <kbd>.ENDNOTE_MARKER_STYLE</kbd> with the argument,
+<kbd>NUMBER</kbd>.  It is not advisable to switch marker styles
+within a single document, for aesthetic reasons, but there is
+nothing to prevent you from doing so.)
+</p>
+
+<a name="EN-MARK"></a>
+
+<p>
+If you want a range of line numbers (e.g.&nbsp;[5-11]&nbsp;),
+insert, directly into the first line of the range you want, the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<kbd>\*[EN-MARK]</kbd>.  For the terminating line number of
+the range, you need only invoke <kbd>.ENDNOTE</kbd>, (again,
+without attaching <kbd>\c</kbd> to the text line before it).
+<strong>Mom</strong> is smart enough to figure out that where
+<kbd>.ENDNOTE</kbd> is invoked represents the terminating line
+number.
+</p>
+
+<a name="ENDNOTE_LINENUMBER_GAP"><h5>*<u>Spacing between line-numbered 
endnotes and the endnote text</u></h5></a>
+
+<p>
+Given the impossibility of knowing, in advance, the "string length"
+of all the line numbers or ranges of line numbers that will be used
+in endnotes (the string length of 12 is two; the string length
+of 12-15 is 5), <strong>mom</strong> cannot "hang" line numbers
+and guarantee that they, and the endnote text, will align in a
+visually pleasing manner.  Consequently, <strong>mom</strong> sets
+the entirety of line-numbered endnotes completely flush left,
+<strong>including the line numbers themselves</strong>.  The line
+numbers (by default, enclosed in square brackets) are separated from
+the beginning of each endnote by a gap, so that a line-numbered
+endnote looks approximately like this:
+
+<pre>
+    [1-2]   Notwithstanding, Frye later asserts that Christianity
+    is "a ghost with the chains of a foul historical record of
+    cruelty clanking behind it."
+</pre>
+</p>
+
+<p>
+You can change the size of the gap with the macro,
+<strong>ENDNOTE_LINENUMBER_GAP</strong>, which takes as its single
+argument the size of the gap.  The argument requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+So, for example, to change the gap to 2
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
+you'd do
+
+<pre>
+    .ENDNOTE_LINENUMBER_GAP 2P
+</pre>
+</p>
+
+<p>
+The default gap for both
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+and
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>
+is 1.5
+<a href="definitions.html#TERMS_EM">ems</a>.
+</p>
+
+<a name="ENDNOTE_LINENUMBER_BRACKETS"><h5>*<u>Brackets around endnotes 
line-numbers</u></h5></a>
+
+<p>
+By default, <strong>mom</strong> puts endnote line numbers inside
+square brackets.  The style of the brackets may be changed with the
+macro, <strong>ENDNOTE_LINENUMBER_BRACKETS</strong>, which takes one
+of three possible arguments: <kbd>PARENS</kbd> (&quot;round&quot;
+brackets), <kbd>SQUARE</kbd> (the default) or <kbd>BRACES</kbd>
+(curly braces).  If you prefer a shortform, the arguments,
+<kbd>(</kbd>, <kbd>[</kbd> or <kbd>{</kbd> may be used instead.
+</p>
+
+<a name="ENDNOTE_LINENUMBER_SEPARATOR"><h5>*<u>A separator after endnotes 
line-numbers instead of brackets</u></h5></a>
+
+<p>
+If you don't want the numbers enclosed in brackets, you may tell
+<strong>mom</strong> to use a "separator" instead.  A common
+separator would be the colon, but it can be anything you like.  The
+macro to do this is <strong>ENDNOTE_LINENUMBER_SEPARATOR</strong>,
+which takes, as its single argument, the separator you want.
+(If the argument contains spaces, don't forget to enclose the
+argument in double-quotes.)  The separator can be composed of
+any valid groff character, or any combination of characters.
+For example, to get a colon separator after the line number in
+line-numbered endnotes, you'd do
+
+<pre>
+    .ENDNOTE_LINENUMBER_SEPARATOR :
+</pre>
+</p>
+
+<a name="ENDNOTE_NUMBER_CONTROL"><h5>*<u>Endnote numbering style 
control</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<p>
+Please note that the control macros for endnote numbering affect only
+the numbers that appear on the endnotes pages themselves, not the
+endnote numbers that appear in the body of the document(s).
+</p>
+
+<pre>
+.ENDNOTE_NUMBER_FAMILY    default = prevailing document family; default is 
Times Roman
+.ENDNOTE_NUMBER_FONT      default = bold
+.ENDNOTE_NUMBER_SIZE*     default = 0
+
+*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
+</pre>
+
+<a name="ENDNOTE_NUMBER_ALIGNMENT"><h5>*<u>Endnote numbering 
alignment</u></h5></a>
+
+<p>
+By default, <strong>mom</strong> hangs the numbers on endnotes pages,
+aligned right to two placeholders, producing this:
+
+<a name="ENDNOTE_NUMBERING_ALIGNMENT_EXAMPLE"></a>
+
+<pre>
+     9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+        sed diam nonumy eirmod tempor invidunt ut labore et
+        dolore magna aliquyam erat, sed diam voluptua.
+
+    10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+        sed diam nonumy eirmod tempor invidunt ut labore et
+        dolore magna aliquyam erat, sed diam voluptua.
+</pre>
+</p>
+
+<p>
+The macros to alter this behaviour are
+
+<ul>
+    <li><a 
href="#ENDNOTE_NUMBERS_ALIGN_RIGHT"><strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong></a></li>
+    <li><a 
href="#ENDNOTE_NUMBERS_ALIGN_LEFT"><strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong></a></li>
+</ul>
+</p>
+
+<hr width="33%" align="left"/>
+
+<!-- -ENDNOTE_NUMBERS_ALIGN_RIGHT- -->
+
+<a name="ENDNOTE_NUMBERS_ALIGN_RIGHT"></a>
+
+<p>
+<nobr>Macro: <strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong> &lt;number of 
placeholders&gt;</nobr>
+</p>
+
+<p>
+<strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong> takes one
+(non-optional) argument: the number of placeholders to reserve for
+right alignment of endnote numbers.
+</p>
+
+<p>
+For example, if you have fewer than ten endnotes, you might want to do
+
+<pre>
+    .ENDNOTE_NUMBERS_ALIGN_RIGHT 1
+</pre>
+
+which would ensure that the endnote numbers hang, but are all flush
+with the page's left margin.  If, god help you, you have over a hundred
+endnotes, you'd want to do
+
+<pre>
+    .ENDNOTE_NUMBERS_ALIGN_RIGHT 3
+</pre>
+
+to ensure that the numbers hang and are properly right-aligned.
+</p>
+
+<hr width="33%" align="left"/>
+
+<!-- -ENDNOTE_NUMBERS_ALIGN_LEFT- -->
+
+<a name="ENDNOTE_NUMBERS_ALIGN_LEFT"></a>
+
+<p>
+Macro: <strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong>
+</p>
+
+<p>
+If you don't want the endnote numbers to hang and right-align,
+invoke <kbd>.ENDNOTE_NUMBERS_ALIGN_LEFT</kbd>, which doesn't require
+any argument.  This disables hanging and right-alignment of endnote
+numbers, so that the example
+<a href="#ENDNOTE_NUMBERING_ALIGNMENT_EXAMPLE">above</a>
+comes out like this:
+
+<pre>
+    9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore et
+    dolore magna aliquyam erat, sed diam voluptua.
+
+    10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
+    sed diam nonumy eirmod tempor invidunt ut labore et
+    dolore magna aliquyam erat, sed diam voluptua.
+</pre>
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="MARGIN_NOTES_INTRO"><h2><u>Margin notes</u></h2></a>
+
+<ul>
+    <li><a href="#MARGIN_NOTES_BEHAVIOUR">Margin notes behaviour</a></li>
+    <ul>
+        <li><a href="#MARGIN_NOTES_VERTICAL">Adjusting the vertical position 
of margin notes</a></li>
+    </ul>
+    <li><a href="#MN_INIT">Macro: MN_INIT</a> &mdash; initialize margin 
notes</li>
+    <li><a href="#MN">Tag: MN</a></li>
+</ul>
+
+<p>
+Margin notes are short annotations that appear in either the left
+or right margin of a document.  Sometimes they comment on the text.
+Sometimes they assist in following the &quot;flow&quot; of a
+document by summarizing the subject of a portion of text.  Sometimes
+they're comments to yourself in a draft copy.
+</p>
+
+<p>
+The margin notes macros and routines in om.tmac
+(<strong>mom</strong>) are &quot;mommified&quot; versions of the
+margin notes macros and routines written by Werner Lemberg and
+patched by Gaius Mulley.
+</p>
+
+<a name="MARGIN_NOTES_BEHAVIOUR"><h3><u>Margin notes behaviour</u></h3></a>
+
+<p>
+First things first: before you enter your first margin note, you
+must &quot;initialize&quot; margin notes with
+<a href="#MN_INIT">MN_INIT</a>.
+<strong>MN_INIT</strong> sets up the style parameters for margin
+notes, including things like
+<a href="definitions.html#TERMS_FONT">font</a>,
+<a href="definitions.html#TERMS_FAMILY">family</a>
+and
+<a href="definitions.html#TERMS_LEADING">leading</a>.
+</p>
+
+<p>
+After initializing margin notes, you create margin notes with the
+<a href="#MN">MN</a>
+macro.  Based on the argument you pass <strong>MN</strong>, your
+margin note will go in either the left or the right margin.
+</p>
+
+<p>
+Margin notes are tricky from a typographic standpoint with respect
+to vertical placement.  Since the leading of margin notes may
+differ from that of
+<a href="definitions.html#TERMS_RUNNING">running text</a>,
+it's impossible for <strong>mom</strong> to guess whether to align
+the first lines of margin notes with a document
+<a href="definitions.html#TERMS_BASELINE">baseline</a>,
+whether to align the last lines of margin notes with a document
+baseline, or whether to center them, vertically, so that neither
+first nor last line aligns with anything!
+</p>
+
+<p>
+Given this difficulty, <strong>mom</strong> always aligns the first
+line of any margin note with a document baseline.  If you want a
+different behaviour, you must adjust the position(s) of margin
+notes yourself, on a note by note basis.  (See
+<a href="#MARGIN_NOTES_VERTICAL">Adjusting the vertical position of margin 
notes</a>.)
+</p>
+
+<p>
+Generally speaking, <strong>mom</strong> tries to place margin
+notes at the point where you invoke the tag,
+<a href="#MN"><kbd>.MN</kbd></a>.
+However, in the event that a margin note runs deep, she may not
+be able to place a subsequent margin note exactly where you want.
+In such an instance, <strong>mom</strong> will &quot;shift&quot; the
+margin note down on the page, placing it one (margin note) linespace
+beneath the previous margin note (plus whatever vertical space
+is required to get the first line to line up with a baseline of
+running text).  A warning will be issued, letting you know this has
+happened, and where.
+</p>
+
+<p>
+Sometimes, if a margin note has to be shifted down, there simply
+isn't enough room to start the margin note on the page on which
+<kbd>.MN</kbd> is invoked.  In that case, <strong>mom</strong>
+ignores the margin note entirely and issues a warning, letting you
+know what she's done, and where.
+</p>
+
+<p>
+In the event that a margin note, sucessfully begun on a page, runs
+past your bottom margin (or the last line before footnotes begin),
+the margin note will &quot;flow&quot; onto the next page.  If it is
+a &quot;left&quot; margin note, it will continue in the left margin.
+If it is a &quot;right&quot; margin note, it will continue in the
+right margin.
+</p>
+
+<p>
+If your document is being set in two columns, <strong>mom</strong>
+will sensibly and automatically set all margin notes pertaining
+to the left column in the left margin, and all margin notes
+pertaining to the right column in the right margin, regardless of
+the &quot;direction&quot; argument you give the <strong>MN</strong>
+tag.  If you try to use <strong>MN</strong> in documents of more
+than two columns, <strong>mom</strong> will ignore all margin notes,
+and issue warning for each.
+</p>
+
+<a name="MARGIN_NOTES_VERTICAL"><h4><u>Adjusting the vertical position of 
margin notes</u></h4></a>
+
+<p>
+When the
+<a href="definitions.html#TERM_LEADING">leading</a>
+of margin notes differs from the leading used throughout a document,
+you may want to adjust the vertical position of individual margin
+notes.  This is most often going to be the case with margin notes
+that end near the bottom of the page, where you want the last line of
+the margin note to line up with the last line of text on the page.
+</p>
+
+<p>
+Adjustments to the vertical position of margin notes must be done
+inside the margin note (i.e. after <kbd>.MN</kbd>), at the top,
+before entering text.  The commands to use are
+
+<pre>
+    \!<a href="typesetting.html#ALD">.ALD</a> (to lower the margin note)a
+        and
+    \!<a href="typesetting.html#RLD">.RLD</a> (to raise it)
+</pre>
+
+The <kbd>\!</kbd> <em>must</em> precede the macros, or they won't
+have any effect.
+</p>
+
+<hr width="66%" align="left"/>
+
+<!-- -MN_INIT- -->
+
+<a name="MN_INIT"></a>
+
+<p>
+Macro: <strong>MN_INIT</strong>
+<br/>
+
+<em>Macro arguments:</em>
+<br/>
+
+<kbd><nobr>[ RAGGED | SYMMETRIC ]</nobr>
+<br/>
+
+<nobr>&lt; left-width right-width gutter family+font point-size lead colour 
hyphenation-flags &gt;</nobr></kbd>
+</p>
+
+<p>
+Before you enter your first margin note, you must initialize
+all the parameters associated with margin notes with
+<strong>MN_INIT</strong>.  If you forget to do so,
+<strong>mom</strong> will issue a warning and abort.
+</p>
+
+<p>
+The argument list is quite long; an explanation of each argument
+follows.  Any argument whose value you want to be the default must
+be entered as <kbd>&quot;&quot;</kbd> (i.e. two double-quotes with
+no space between them).  Defaults for each argument are given in the
+explanations below.
+</p>
+
+<h4><kbd>[ RAGGED | SYMMETRIC ]</kbd></h4>
+
+<p>
+If the first argument is <kbd>RAGGED</kbd>, both left and
+right margin notes will be flush left.  If the first argument
+is <kbd>SYMMETRIC</kbd> left margin notes will be set flush
+<em>right</em>, and right margin notes will be set flush
+<em>left</em>.  The effect is something like this:
+
+<pre>
+         A left    This is a meaningless batch        A right
+    margin note    of text whose sole purpose is      margin note
+      with just    to demonstrate how the sym-        with just
+    a few words    metric argument to MN sets left    a few words
+         in it.    and right margin notes.            in it.
+</pre>
+</p>
+
+<p>
+If the argument is omitted, or given as &quot;&quot;, both left and
+right margin notes will be set justified.  (Justified is usually not
+a good idea, since the narrow measure of margin notes makes pleasing
+justification a near impossibility.)
+</p>
+
+<h4><kbd>&lt;left-width&gt;</kbd></h4>
+
+<p>
+The width of left margin notes.  A
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+must be appended directly onto the argument.  The default is to set
+left margin notes right out to the edge of the page, which is almost
+certainly not what you want, so you should give a value for this
+argument if using left margin notes.
+</p>
+
+<h4><kbd>&lt;right-width&gt;</kbd></h4>
+
+<p>
+The width of right margin notes.  A
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+must be appended directly onto the argument.  The default is to
+set right margin notes right out to the edge of the page, which is
+almost certainly not what you want, so you should give a value for
+this argument if using right margin notes.
+</p>
+
+<h4><kbd>&lt;gutter&gt;</kbd></h4>
+
+<p>
+The
+<a href="definitions.html#TERMS_GUTTER">gutter</a>
+between margin notes and
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+A
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+must be appended directly onto the argument.  The gutter applies to
+both left and right margin notes. The default is 1
+<a href="definitions.html#TERMS_EM">em</a>.
+</p>
+
+<h4><kbd>&lt;font&gt;</kbd></h4>
+
+<p>
+The family+font for margin notes.  Yes, that's right: the family
+PLUS font combo.  For example, if you want Times Roman Medium,
+the argument must be TR.  If you want Palatino Medium Italic, the
+argument must be PI.  The default is the same family+font combo used
+for a document's paragraph text.
+</p>
+
+<h4><kbd>&lt;point size&gt;</kbd></h4>
+
+<p>
+The point size of type for margin notes.  There is no need to append a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to the argument;
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+is assumed (although there's nothing preventing you from appending an
+alternative unit of measure directly to the argument).  The default
+is for margin notes to use the same point size of type as is used
+in document paragraphs.
+</p>
+
+<h4><kbd>&lt;lead&gt;</kbd></h4>
+
+<p>
+The
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of margin notes.  <strong>lead</strong> uses
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+as its unit of measure, so don't tack a unit of measure onto the
+end of the argument.  The default lead is the same leading as
+is used for paragraph text (i.e. the document's base leading).
+For convenience and clarity, you may, instead, give the word,
+<strong>DOC</strong>, to this argument, which indicates that the
+leading should be the same as the document's base leading.
+</p>
+
+<h4><kbd>&lt;colour&gt;</kbd></h4>
+
+<p>
+The colour of margin notes.  The colour must be pre-initialized
+with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+The default is black.
+</p>
+
+<h4><kbd>&lt;hyphenation-flags&gt;</kbd></h4>
+
+<p>
+A number telling <strong>groff</strong> how you want margin notes
+hyphenated.
+
+<pre>
+    1 = hyphenate without restrictions
+    2 = do not hyphenate the last word on the page
+    4 = do not hyphenate the last two characters of a word
+    8 = do not hyphenate the first two characters of a word
+</pre>
+
+The values can be added together, so, for example, if you want
+neither the first two nor the last two characters of words
+hyphenated, the hyphenation-flag would be 12.  The default value is
+14 (i.e. 2+4+8).
+</p>
+
+<!-- -MN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="MN"></a>
+
+<p>
+<nobr>Macro: <strong>MN</strong> <kbd>LEFT | RIGHT</kbd></nobr>
+</p>
+
+<p>
+Once you've initialized margin notes with
+<a href="#MN_INIT"><kbd>.MN_INIT</kbd></a>,
+you can enter margin notes any time you like with
+<kbd>.MN</kbd>.  An argument of <kbd>LEFT</kbd> will set
+a left margin note.  An argument of <kbd>RIGHT</kbd> will set
+a right margin note.
+</p>
+
+<p>
+Any argument, such as <kbd>OFF</kbd> (or
+<strong>QUIT</strong>, <strong>END</strong>, <strong>X</strong>,
+etc) exits the current margin note.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<!-- -BLANK_PAGE- -->
+
+<a name="BLANK_PAGE_TITLE"><h2><u>Inserting a blank page into the 
document</u></h2></a>
+
+<a name="BLANK_PAGE"></a>
+<p>
+<nobr>Macro: <strong>BLANKPAGE</strong> <kbd>&lt;# of blank pages to 
insert&gt; | NULL</kbd></nobr>
+</p>
+
+<p>
+This one does exactly what you'd expect &mdash; inserts a blank
+page into the document.  Unless you give the optional argument,
+<kbd>NULL</kbd>, <strong>mom</strong> silently increments the page
+number of every blank page and keeps track of
+<a href="rectoverso.html#RECTO_VERSO">recto/verso</a>
+stuff, but otherwise, does nothing.  It's up to you, the user,
+to figure out what to do with this feature.  However, it's worth
+noting that without it, inserting completely blank pages, to use
+a vernacular Québécois phrase, &quot;c'est pas évident&quot;
+(somewhere between &quot;isn't easy&quot;, &quot;isn't obvious&quot;
+and &quot;isn't fun&quot;).
+</p>
+
+<p>
+The required argument to <strong>BLANK_PAGE</strong> is the
+number of blank pages to insert.  The argument is not optional,
+hence even if you only want one blank page, you have to tell
+<strong>mom</strong>:
+
+<pre>
+    .BLANKPAGE 1
+</pre>
+</p>
+
+<p>
+The optional argument, <kbd>MULL</kbd>, allows you to output the
+specified number of pages without <strong>mom</strong> incrementing
+the page number for each blank page.  She will, however, continue
+to keep track of which pages are recto/verso if recto/verso
+printing has been enabled.
+</p>
+
+<hr/>
+
+<!-- -FINIS- -->
+
+<a name="FINIS_INTRO"><h2><u>Document termination string</u></h2></a>
+
+<ul>
+    <li><a href="#FINIS">Tag: FINIS</a></li>
+    <ul>
+        <li><a href="#FINIS_STRING">Changing the FINIS string</a></li>
+        <li><a href="#FINIS_STRING_CAPS">Automatic capitalization of the FINIS 
string</a></li>
+        <li><a href="#FINIS_COLOR">Changing the FINIS color</a></li>
+    </ul>
+</ul>
+
+<p>
+The use of <strong>FINIS</strong> is optional.  If you invoke it
+(at the end of a document before
+<a href="#TOC">TOC</a>
+or
+<a href="#ENDNOTES">ENDNOTES</a>),
+<strong>mom</strong>
+deposits the word, END, centred after a blank line, beneath the last
+line of the document.  END is enclosed between
+<a href="definitions.html#TERMS_EM">em-dashes</a>.
+</p>
+
+<p>
+<strong>Please note</strong> that in versions of
+<strong>mom</strong> prior to 1.1.9, <strong>FINIS</strong> used to
+turn off
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+(if they were on) and page numbering (if page numbers were at the
+bottom of the page).  Damned if I can recall why I thought anyone
+would want this behaviour; it has been removed.
+</p>
+
+<p>
+If you're writing in a language other than English, you can
+change what <strong>mom</strong> prints for END with
+the control macro <strong>FINIS_STRING</strong>.
+</p>
+
+<hr width="66%" align="left"/>
+
+<a name="FINIS"></a>
+
+<p>
+Macro: <strong>FINIS</strong>
+</p>
+
+<p>
+The use of <strong>FINIS</strong> is optional, but if you use
+it, it should be the last macro you invoke in a document (before
+<a href="#ENDNOTES">ENDNOTES</a>
+or
+<a href="#TOC">TOC</a>).
+See
+<a href="#FINIS_INTRO">above</a>
+for a description of how <strong>FINIS</strong> behaves.
+</p>
+
+<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:
+
+<pre>
+    .FOOTERS OFF
+    .PAGINATE OFF
+</pre>
+</p>
+
+<!-- -FINIS STRING- -->
+
+<hr width="33%" align="left"/>
+
+<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>
+
+<p>
+For example, if your document's in French, you'd do
+
+<pre>
+    .FINIS_STRING "FIN"
+</pre>
+
+Double-quotes must enclose the macro's argument.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you pass <strong>FINIS_STRING</strong>
+a blank string, i.e.
+
+<pre>
+    .FINIS_STRING ""
+</pre>
+
+<strong>mom</strong> will still print the em-dashes if you invoke
+<kbd>.FINIS</kbd>.  This, in effect, produces a short, centred
+horizontal rule that terminates the document.  (In
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+it's a short, dashed line composed of four hyphens.)
+</p>
+
+<!-- -FINIS STRING CAPS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FINIS_STRING_CAPS"><h3><u>Automatic capitalization of the FINIS 
string</u></h3></a>
+
+<p>
+By default, <strong>mom</strong> sets the string you pass to
+<strong>FINIS</strong> all-caps.  If you'd prefer that she not
+do so, but rather respect the FINIS string exactly as you enter
+it, invoke the macro, <kbd>.FINIS_STRING_CAPS</kbd> with the
+<kbd>OFF</kbd> argument, like this:
+
+<pre>
+    .FINIS_STRING_CAPS OFF
+</pre>
+
+<kbd>OFF</kbd>, above, could be anything, e.g. <strong>NO</strong>
+or <strong>X</strong>.
+</p>
+
+<!-- -FINIS COLOR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FINIS_COLOR"><h3><u>Changing the FINIS colour</u></h3></a>
+
+<p>
+Invoking the control macro, <strong>FINIS_COLOR</strong>, with a
+pre-defined (or &quot;initalized&quot;) color changes the colour of
+both the FINIS string and the em-dashes that surround it.  If you
+use the
+<a href="definitions.html#TERMS_INLINE">inline escape</a>,
+<a href="color.html#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a>,
+in the argument passed to <strong>FINIS</strong>, only the text
+will be in the new colour; the em-dashes will be in the default
+document colour (usually black).
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="TOC_INTRO"><h2><u>Tables of contents</u></h2></a>
+
+<ul>
+    <li><a href="#TOC_BEHAVIOUR">TOC behaviour</a>
+    <ul>
+         <li><a href="#PSSELECT">Using psselect to put the table of contents 
where you want</a></li>
+    </ul></li>
+    <li><a href="#TOC">Macro: TOC</a> &mdash; tell <strong>mom</strong> to 
output a table of contents</li>
+    <li><a href="#TOC_CONTROL">TOC control macros</a></li>
+</ul>
+
+<p>
+Want a table of contents for your document?  Easy.  Just enter
+
+<pre>
+    .TOC
+</pre>
+
+as the very last macro of your document file. <strong>Mom</strong>
+will have picked up all document titles (in
+<a href="rectoverso.html#COLLATE">collated</a>
+documents), all heads, subheads, and paragraph heads, as well as any
+endnotes pages that have been output, and assigned them the
+appropriate page number (and page numbering style).  Talk about a
+no-brainer!
+</p>
+
+<p>
+That said, tables of contents (tocs) have even more control macros
+than endnotes.  As always, the reason for so many control macros is
+so that if you want to change just about any aspect of the toc's
+typographic appearance, you can.  <strong>Mom</strong> is all about
+simplicity AND flexibility.
+</p>
+
+<a name="TOC_BEHAVIOUR"><h3><u>TOC behaviour</u></h3></a>
+
+<p>
+When you output a toc (with
+<a href="#TOC">TOC</a>),
+<strong>mom</strong> finishes processing the last page of your document,
+then breaks to a new page for printing the toc.
+</p>
+
+<p>
+<strong>Mom</strong> follows standard typesetting conventions for
+tables of contents.  To this end, if
+<a href="headfootpage.html#HEADERS">HEADERS</a>
+are on for the document, the first page of the toc has no page
+header, but does have a first page (roman numeral) number, always
+&quot;1&quot;, in the bottom margin.  If
+<a href="headfootpage.html#FOOTERS">FOOTERS</a>
+are on for the document, the first page has neither a footer, nor a
+page number in the top margin.  (If you absolutely must have a page
+footer on the first page of the toc, simply invoke
+<a 
href="headfootpage.html#FOOTER_ON_FIRST_PAGE"><kbd>.FOOTER_ON_FIRST_PAGE</kbd></a>
+immediately before <strong>TOC</strong>.)  Subsequent toc pages have
+both page headers or footers and a page number.
+</p>
+
+<p>
+Entries in the toc are hierarchically indented, as you would
+expect.  By default, each type of entry (e.g. a head or a subhead)
+is set in a different font as well.  If any of heads, subheads or
+paragraph heads are numbered in the body of the document, they are
+also numbered in the toc.  Head numbering in the toc is NOT
+concatenated as it is in the body of the document, which would be
+visually redundant in a toc.
+</p>
+
+<p>
+Tocs are never set in columns, regardless of whether the rest of
+the document is.  Lastly, if
+<a href="rectoverso.html#RECTO_VERSO">recto/verso</a>
+printing is enabled, the toc respects it.  This sometimes leads to
+tocs that begin with the wrong margins, but the margins can be
+corrected either by outputting a
+<a href="#BLANK_PAGE">BLANKPAGE</a>
+or by using the toc control macro
+<a href="#TOC_RV_SWITCH">TOC_RV_SWITCH</a>.
+</p>
+
+<p>
+The overall toc
+<a href="definitions.html#TERMS_FAMILY">family</a>,
+<a href="definitions.html#TERMS_PS">point size</a>
+and
+<a href="definitions.html#TERMS_LEADING">lead</a>
+can be altered with the toc 
+<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>,
+as can the family,
+<a href="definitions.html#TERMS_FONT">font</a>,
+point size and indent of each type of toc entry (i.e. title, head,
+subhead, paragraph head).  Furthermore, the page numbering style
+can be changed, as can the amount of visual space reserved for toc
+entry page numbers.
+</p>
+
+<a name="PSSELECT"><h4><u>Using psselect to put the table of contents where 
you want</u></h4></a>
+
+<p>
+<strong>Mom</strong> always outputs tables of contents as the last
+pages of any document.  While this is desirable for some language
+conventions &mdash; French, for example &mdash; it is not desirable
+for others.
+</p>
+
+<p>
+If you'd like your tables of contents to be placed somewhere else,
+you have two options: re-arrange the pages by hand (okay for one or
+two hard copies of your document), or use the <strong>psselect</strong>
+programme provided by the <strong>psutils</strong> suite of tools
+(which you may have to install as a package from your distribution
+if it is not already on your system).
+</p>
+
+<p>
+The procedure for using <strong>psselect</strong> begins by you
+determining how many pages comprise the table of contents.  You
+can do this by previewing the document with a PostScript viewer,
+say, <strong>gv</strong>.  Once you know the number of pages in the
+table of contents, use <strong>psselect</strong> to re-arrange them
+appropriately.
+</p>
+
+<p>
+Say, for example, the table of contents runs to just one page.  The
+command to place the one-page table of contents at the start of the
+document is:
+
+<pre>
+     psselect -p _1,1-_2 &lt;PostScript file&gt; &gt; &lt;new PostScript 
file&gt;
+</pre>
+</p>
+
+<p>
+The <kbd>-p</kbd> option instructs <strong>psselect</strong> that
+what follows is a comma-separated list of the order in which
+to re-arrange pages.  The underscore character means "counting
+backwards from the end of the document".  Thus, the above says
+"put the last page first (i.e. the table of contents), followed by
+all pages from the original first page up to the second to last."
+<strong>psselect</strong> outputs to stdout, so you have to redirect
+the output to a new file.
+</p>
+
+<p>
+If your table of contents runs to two pages, the command would look
+like this:
+
+<pre>
+     psselect -p _1-_2,1-_3 &lt;PostScript file&gt; &gt; &lt;new PostScript 
file&gt;
+</pre>
+</p>
+
+<p>
+If your table of contents runs to two pages and you have a cover
+page that you would like to appear before the toc, the command would look
+like this:
+
+<pre>
+     psselect -p 1,_1-_2,2-_3 &lt;PostScript file&gt; &gt; &lt;new PostScript 
file&gt;
+</pre>
+</p>
+
+<!-- -TOC- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TOC"></a>
+
+<p>
+<a name="TOC">Macro: <strong>TOC</strong></a>
+</p>
+
+<p>
+If you want a toc, just put <strong>TOC</strong> as the last macro
+in a document.  <strong>Mom</strong> takes care of the rest.
+</p>
+
+<hr width="66%" align="left"/>
+
+<a name="TOC_CONTROL"><h3><u>TOC control macros</u></h3></a>
+
+<p>
+TOC control macros must be placed prior to invoking
+<a href="docprocessing.html#START"><kbd>.START</kbd></a>.
+</p>
+
+<p>
+<strong>ERRATUM:</strong> In versions of <strong>mom</strong> prior to
+1.3-e_3, the documentation stated that TOC control macros could go
+anywhere in a <strong>mom</strong> file prior to invoking
+<kbd>.TOC</kbd>.
+That convenience has been removed for Very Good Reasons.
+</p>
+
+<ol>
+    <li><a href="#TOC_GENERAL"><strong>General toc page style 
control</strong></a></li>
+        <ul>
+            <li><a href="#TOC_FAMILY">Base family for toc pages</a></li>
+            <li><a href="#TOC_PT_SIZE">Base point size for toc pages</a></li>
+            <li><a href="#TOC_LEAD">Leading of toc pages</a></li>
+        </ul>
+    <li><a href="#TOC_PAGENUMBERING"><strong>Toc page 
numbering</strong></a></li>
+        <ul>
+            <li><a href="#PAGINATE_TOC">Turn toc pagination on or off</a></li>
+
+            <li><a href="#TOC_PAGENUM_STYLE">Toc page numbering style</a></li>
+        </ul>
+    <li><a href="#TOC_HEADER"><strong>Changing the toc header (title), string 
and style</strong></a></li>
+        <ul>
+            <li><a href="#TOC_HEADER_STRING">Changing the string 
(title)</a></li>
+            <li><a href="#TOC_HEADER_STYLE">Changing the string (title) 
style</a></li>
+        </ul>
+    <li><a href="#TOC_STYLE"><strong>Changing the style for toc 
entries</strong></a></li>
+        <ul>
+            <li><a href="#TOC_INDENT">The toc _INDENT control macros</a></li>
+            <li><a href="#TOC_TITLE">Changing the style for toc title 
entries</a></li>
+            <li><a href="#TOC_HEAD">Changing the style for toc head 
entries</a></li>
+            <li><a href="#TOC_SUBHEAD">Changing the style for toc subhead 
entries</a></li>
+            <li><a href="#TOC_PARAHEAD">Changing the style for toc paragraph 
head entries</a></li>
+            <li><a href="#TOC_PN">Changing the style for toc page number 
listings</a></li>
+        </ul>
+    <li><a href="#TOC_ADDITIONAL"><strong>Additional toc control 
macros</strong></a></li>
+        <ul>
+            <li><a href="#TOC_TITLE_ENTRY">Change the wording of a toc title 
entry</a></li>
+            <li><a href="#TOC_APPENDS_AUTHOR">Append author(s) to toc title 
entries</a></li>
+            <li><a href="#TOC_RV_SWITCH">TOC_RV_SWITCH</a></li>
+            <li><a href="#TOC_PADDING">TOC_PADDING</a></li>
+        </ul>
+</ol>
+
+<hr width="66%" align="left"/>
+
+<a name="TOC_GENERAL"><h4><u>1. General toc page style control</u></h4></a>
+
+<a name="TOC_FAMILY"><h5>*<u>Toc family</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<p>
+Set the family of toc pages with <strong>TOC_FAMILY</strong>, which
+establishes the default family for every element of a toc page,
+including the toc title (&quot;Contents&quot;) and the page number
+in the top or bottom margin.  The default is the prevailing document
+family.
+</p>
+
+<p>
+All elements on a toc page also have their own _FAMILY
+control macros, which override the default set by
+<strong>TOC_FAMILY</strong>.
+</p>
+
+<!-- -TOC_PT_SIZE- -->
+
+<a name="TOC_PT_SIZE"><h5>*<u>Toc point size</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>TOC_PT_SIZE</strong> <kbd>&lt;base type size of the 
toc&gt;</kbd></nobr>
+</p>
+
+<p>
+Unlike most other control macros that deal with size of document
+elements, <strong>TOC_PT_SIZE</strong> takes as its argument an
+absolute value, relative to nothing.  Therefore, the argument
+represents the size of toc type in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+unless you append an alternative
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example,
+
+<pre>
+    .TOC_PT_SIZE 12
+</pre>
+
+sets the base point size of type for the toc to 12 points, whereas
+
+<pre>
+    .TOC_PT_SIZE .6i
+</pre>
+
+sets the base point size of type for the toc to 1/6 of an inch.
+</p>
+
+<p>
+The type size set with <strong>TOC_PT_SIZE</strong> forms the basis
+from which the point size of other toc page elements are calculated.
+</p>
+
+<p>
+The default for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+is 12.5 points (the same default size used in the body of the
+document).
+</p>
+
+<!-- -TOC_LEAD- -->
+
+<a name="TOC_LEAD"><h5>*<u>Toc lead</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>TOC_LEAD</strong> <kbd>&lt;leading of the toc&gt; [ 
ADJUST ]</kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>; points is assumed</em>
+</p>
+
+<p>
+Unlike most other control macros that deal with leading of document
+elements, <strong>TOC_LEAD</strong> takes as its argument an
+absolute value, relative to nothing.  Therefore, the argument
+represents the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of tocs in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+unless you append an alternative
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example,
+
+<pre>
+    .TOC_LEAD 14
+</pre>
+
+sets the base leading of type on the endnotes page to 14
+points, whereas
+
+<pre>
+    .TOC_LEAD .5i
+</pre>
+
+sets the base leading of type on the endnotes page to 1/2 inch.
+</p>
+
+<p>
+If you want the leading of toc pages adjusted to fill the
+page, pass <strong>TOC_LEAD</strong> the optional argument
+<kbd>ADJUST</kbd>.  (See
+<a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
+for an explanation of leading adjustment.)
+</p>
+
+<p>
+The default for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+is the prevailing document lead (16 by default), adjusted.
+</p>
+
+<p>
+<strong>NOTE:</strong> Even if you give <strong>mom</strong>
+a <nobr><kbd>.DOC_LEAD_ADJUST OFF</kbd></nobr> command, she
+will still, by default, adjust toc leading.  You MUST enter
+<nobr><kbd>TOC_LEAD &lt;lead&gt;</kbd></nobr> with no
+<kbd>ADJUST</kbd> argument to disable this default behaviour.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Tocs are always double-spaced in
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+regardless of whether the body of the document is single-spaced.
+</p>
+
+<hr width="66%" align="left"/>
+
+<a name="TOC_PAGENUMBERING"><h4><u>2. Toc page numbering</u></h4></a>
+
+<p>
+The page numbering of toc pages is controlled by the same macros
+that control
+<a href="headfootpage.html#PAGINATION">document page numbering</a>,
+except
+<a href="headfootpage.html#PAGENUM">PAGENUM</a>
+(tocs always start on page 1).  The defaults are the same as for the
+rest of the document.
+</p>
+
+<p>
+If you wish to change some aspect of toc pagination, use
+the document pagination control macros immediately prior to
+<kbd>.TOC</kbd>.
+</p>
+
+<p>
+A special macro,
+<a href="#TOC_PAGENUM_STYLE">TOC_PAGENUM_STYLE</a>
+controls the style of toc pages page numbers.
+</p>
+
+<!-- -PAGINATE_TOC- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAGINATE_TOC"></a>
+
+<p>
+<nobr>Macro: <strong>PAGINATE_TOC</strong> <kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> paginates the toc.  If you'd like
+her not to, do 
+
+<pre>
+    .PAGINATE_TOC OFF
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> Simply invoking
+<nobr><kbd>.PAGINATION OFF</kbd></nobr>
+or
+<nobr><kbd>.PAGINATE OFF</kbd></nobr>
+disables toc pagination <em>for the first toc page only.</em> You
+MUST use <kbd>.PAGINATE_TOC OFF</kbd> to disable toc pagination,
+even if pagination is turned off elsewhere in your document.
+</p>
+
+<!-- -TOC_PAGENUM_STYLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TOC_PAGENUM_STYLE"></a>
+
+<p>
+<nobr>Macro: <strong>TOC_PAGENUM_STYLE</strong> <kbd>&lt;DIGIT | ROMAN | roman 
| ALPHA | alpha&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> uses roman numerals to number toc
+pages.  Use <strong>TOC_PAGENUM_STYLE</strong> if you'd prefer
+something else.  For example, to have standard digits instead of
+roman numerals, do the following:
+
+<pre>
+    .TOC_PAGENUM_STYLE DIGIT
+</pre>
+</p>
+
+<hr width="66%" align="left"/>
+
+<a name="TOC_HEADER"><h4><u>3. Changing the toc header (title) string and 
style</u></h4></a>
+
+<p>
+The toc header string is the title that appears at to top of the
+toc.  By default, it's &quot;Contents&quot;.  If you'd like
+something else, say, &quot;Table of Contents&quot;, do
+</p>
+
+<p>
+<a name="TOC_HEADER_STRING"></a>
+<pre>
+    .TOC_HEADER_STRING "Table of Contents"
+</pre>
+
+<a name="TOC_HEADER_STYLE"></a>
+The style of the toc header (title) is managed by the usual control
+macros (see
+<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>).
+</p>
+
+<p>
+<pre>
+    .TOC_HEADER_FAMILY  default = prevailing doc family (Times Roman in 
TYPEWRITE)
+    .TOC_HEADER_FONT    default = bold
+    .TOC_HEADER_SIZE    default = +4
+    .TOC_HEADER_QUAD    default = left
+</pre>
+
+<hr width="66%" align="left"/>
+
+<a name="TOC_STYLE"><h4><u>4. Changing the style for toc entries</u></h4></a>
+</p>
+
+<p>
+&quot;Toc entries&quot; refers to titles, heads, subheads and
+paragraph heads as they appear in the toc.  Their style is managed
+by the usual
+<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>,
+starting with TOC_
+</p>
+
+<a name="TOC_INDENT"><h5>*<u>The table of contents _INDENT control 
macros</u></h5></a>
+
+<p>
+The toc control macros that end in _INDENT all take a single
+argument that requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+The argument is the distance to indent the entry, always measured
+from the left margin.  For example,
+
+<pre>
+    .TOC_HEAD_INDENT 2P
+</pre>
+
+indents head entries 2
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+from the left margin.
+</p>
+
+<a name="TOC_TITLE"><h5>*<u>Changing the style for toc title 
entries</u></h5></a>
+
+<p>
+(See
+<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>).
+</p>
+
+<p>
+Toc title entries are the titles of documents that have been
+<a href="rectoverso.html#COLLATE">collated</a>
+together.
+</p>
+
+<pre>
+    .TOC_TITLE_FAMILY  default = prevailing doc family (Times Roman in 
TYPEWRITE)
+    .TOC_TITLE_FONT    default = bold italic
+    .TOC_TITLE_SIZE    default = +0
+    .TOC_TITLE_INDENT  default = 0 for TYPESET and TYPEWRITE
+</pre>
+
+<a name="TOC_HEAD"><h5>*<u>Changing the style for toc head entries</u></h5></a>
+
+<p>
+(See
+<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>).
+</p>
+
+<p>
+Toc head entries are main heads that appear in the body of a
+document.
+</p>
+
+<pre>
+    .TOC_HEAD_FAMILY  default = prevailing doc family (Times Roman in 
TYPEWRITE)
+    .TOC_HEAD_FONT    default = bold
+    .TOC_HEAD_SIZE    default = +.5
+    .TOC_HEAD_INDENT  default = 18p for TYPESET; 2m for TYPEWRITE
+</pre>
+
+<a name="TOC_SUBHEAD"><h5>*<u>Changing the style for toc subhead 
entries</u></h5></a>
+
+<p>
+(See
+<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>).
+</p>
+
+<p>
+Toc subhead entries are subheads that appear in the body of a
+document.
+</p>
+
+<pre>
+    .TOC_SUBHEAD_FAMILY  default = prevailing doc family (Times Roman in 
TYPEWRITE)
+    .TOC_SUBHEAD_FONT    default = roman
+    .TOC_SUBHEAD_SIZE    default = +0
+    .TOC_SUBHEAD_INDENT  default = 30p for TYPESET; 4m for TYPEWRITE
+</pre>
+
+<a name="TOC_PARAHEAD"><h5>*<u>Changing the style for toc paragraph head 
entries</u></h5></a>
+
+<p>
+(See
+<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>).
+</p>
+
+<p>
+Toc paragraph head entries are paragraph heads that appear in the
+body of a document.
+</p>
+
+<pre>
+    .TOC_PARAHEAD_FAMILY  default = prevailing doc family (Times Roman in 
TYPEWRITE)
+    .TOC_PARAHEAD_FONT    default = italic
+    .TOC_PARAHEAD_SIZE    default = +0
+    .TOC_PARAHEAD_INDENT  default = 42p for TYPESET; 6m for TYPEWRITE
+</pre>
+
+<a name="TOC_PN"><h5>*<u>Changing the style for toc paragraph page number 
listings</u></h5></a>
+
+<p>
+(See
+<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>).
+</p>
+
+<p>
+Toc paragraph head entries are paragraph heads that appear in the
+body of a document.
+</p>
+
+<pre>
+    .TOC_PN_FAMILY  default = prevailing doc family (Times Roman in TYPEWRITE)
+    .TOC_PN_FONT    default = roman
+    .TOC_PN_SIZE    default = +0
+</pre>
+
+<hr width="66%" align="left"/>
+
+<a name="TOC_ADDITIONAL"><h4><u>5. Additional toc macros</u></h4></a>
+
+<p>
+The following macros allow you to switch page margins should
+they be incorrect for recto/verso printing, to establish how
+many placeholders to leave for page listings, and to have
+<strong>mom</strong> append author(s) to toc title entries.
+</p>
+
+<!-- -TOC_RV_SWITCH- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TOC_RV_SWITCH"></a>
+
+<p>
+Macro: <strong>TOC_RV_SWITCH</strong>
+</p>
+
+<p>
+<strong>TOC_RV_SWITCH</strong> doesn't take an argument.  It simply
+instructs <strong>mom</strong> to switch the left and right margins
+of
+<a href="rectoverso.html#RECTO_VERSO">recto/verso</a>
+documents should the toc happen to begin on an even page when you
+want an odd, or vice versa.
+</p>
+
+<p>
+The same result can be accomplished by outputting a
+<a href="#BLANK_PAGE">BLANKPAGE</a>.
+</p>
+
+<!-- -TOC_TITLE_ENTRY- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TOC_TITLE_ENTRY"></a>
+
+<p>
+<nobr>Macro: <strong>TOC_TITLE_ENTRY</strong> <kbd>&lt;&quot;alternate wording 
for a title entry in the toc&quot;&gt;</kbd></nobr>
+</p>
+
+<p>
+In 
+<a href="rectoverso.html#COLLATE">collated</a>
+documents, the title of each separate document appears in the table
+of contents.  It may sometimes happen that you don't want the title
+as it appears in the toc to be the same as what appears in
+the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>.
+You might, for example, want to shorten it.  Or, in the case of
+chapters where the docheader contains both a chapter number and a
+chapter title, like this
+
+<pre>
+               Chapter 6
+    Burning Bush &mdash; Maybe God Was Right
+</pre>
+
+you might want only the chapter title, not the chapter number, to
+show up in the toc.  (By default, <strong>TOC</strong> generates
+both.)
+</p>
+
+<p>
+If you want to change the wording of a title entry in the toc,
+simply invoke <kbd>.TOC_TITLE_ENTRY</kbd> with the desired
+wording, enclosed in double-quotes.  Using the example, above,
+
+<pre>
+    .CHAPTER 6
+    .CHAPTER_TITLE "Burning Bush &mdash; Maybe God Was Right"
+    .TOC_TITLE_ENTRY "Burning Bush"
+    .DOCTYPE CHAPTER
+</pre>
+
+would identify chapter 6 in the toc simply as &quot;Burning
+Bush&quot;.
+</p>
+
+<!-- -TOC_APPENDS_AUTHOR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TOC_APPENDS_AUTHOR"></a>
+
+<p>
+<nobr>Macro: <strong>TOC_APPENDS_AUTHOR</strong> <kbd>&lt;none&gt; | 
&lt;&quot;name(s) of authors&quot;&gt;</kbd></nobr>
+</p>
+
+<p>
+In certain kinds of collated documents, different authors are
+responsible for the articles or stories contained within them.  In
+such documents, you may wish to have the author or authors
+appended to the toc's title entry for each story or article.
+</p>
+
+<p>
+If you invoke <kbd>.TOC_APPENDS_AUTHOR</kbd> with no argument,
+<strong>mom</strong> appends the first argument you passed to
+<a href="docprocessing.html#AUTHOR">AUTHOR</a>
+to toc title entries, separated by a front-slash.
+</p>
+
+<p>
+If you invoke <kbd>.TOC_APPENDS_AUTHOR</kbd> with an argument
+(surrounded by double-quotes), <strong>mom</strong> will append it
+to the toc title entries instead.  This is useful if you have
+multiple authors you wish to identify by last name only.  For
+example, if three authors &mdash; Joe Blough, Jane Doe, and John
+Deere &mdash; are responsible for a single article
+
+<pre>
+    .TOC_APPENDS_AUTHOR "Blough et al."
+</pre>
+
+would be a good way to identify them in the toc.
+</p>
+
+<!-- -TOC_PADDING- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TOC_PADDING"></a>
+
+<p>
+<nobr>Macro: <strong>TOC_PADDING</strong> <kbd>&lt;number of placeholders to 
allow for page number listings&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> allows room for 3 digits in the
+page number listings of tocs.  If you'd like some other number of
+placeholders, say 2, do
+
+<pre>
+    .TOC_PADDING 2
+</pre>
+</p>
+
+<hr/>
+
+<!-- -PSPIC- -->
+
+<h2><u>Inserting images into a document &mdash; the PSPIC macro</u></h2>
+
+<a name="PSPIC"></a>
+
+<p>
+<nobr>Macro: <strong>PSPIC</strong> <kbd>[ -L | -R | -I &lt;n&gt; ] 
&lt;file&gt; [ width [ height ] ]</kbd></nobr>
+</p>
+
+<p>
+You can insert images into a document by using the
+<strong>PSPIC</strong> macro. <strong>PSPIC</strong> isn't
+actually part of <strong>mom</strong>; it comes packaged with
+<strong>groff</strong> itself.  Use it whenever you want to insert
+images into a <strong>mom</strong> document.  The image must be
+in PostScript format, either straight .ps or .eps (Encapsulated
+PostScript).  There have been reports of trouble with PostScript
+level 2 images, so don't save your images in this format.
+</p>
+
+<p>
+<kbd>man groff_tmac</kbd> contains the documentation for
+<strong>PSPIC</strong>, but I'll repeat it here with a few
+modifications.
+</p>
+
+<p>
+---<em>From man groff_tmac</em>---
+<br/><br/>
+<strong><kbd>&lt;file&gt;</kbd></strong> is the name of the file
+containing the illustration; width and height give the desired width
+and height of the graphic.  The width and height arguments may have
+<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>
+attached; the default unit of measure is
+<strong><kbd>i</kbd></strong>.  This macro will scale the graphic
+uniformly in the x and y directions so that it is no more than
+width wide and height high.  By default, the graphic will be
+horizontally centered.  The <strong><kbd>-L</kbd></strong>
+and <strong><kbd>-R</kbd></strong> options cause the graphic
+to be left-aligned and right-aligned, respectively.  The
+<strong><kbd>-I</kbd></strong> option causes the graphic to be
+indented by <kbd>&lt;n&gt;</kbd> (default unit of measure is
+&quot;m&quot;).
+<br/><br/>
+-------------------------
+</p>
+
+<p>
+Unless you're a PostScript whiz and have futzed around with
+bounding boxes and whatnot, it's unlikely that your image will
+occupy an easily predictable and precise amount of space on the
+page.  This is particularly significant when it comes to the amount
+of vertical space occupied by the image.  A certain amount of
+manual tweaking of the vertical placement of the image will
+probably be required, via the
+<a href="typesetting.html#ALD">ALD</a>
+and
+<a href="typesetting.html#RLD">RLD</a>
+macros.
+</p>
+
+<p>
+Additionally, images inserted into
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+will almost certainly disrupt the baseline placement of running
+text.  In order to get <strong>mom</strong> back on track after
+invoking <kbd>.PSPIC</kbd>, I strongly recommend using the
+<a href="docprocessing.html#SHIM">SHIM</a>
+macro so that the bottom margin of running text falls where it
+should.
+</p>
+
+<hr/>
+
+<p>
+<a href="headfootpage.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docprocessing.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: docprocessing.html
===================================================================
RCS file: docprocessing.html
diff -N docprocessing.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ docprocessing.html  1 Aug 2006 01:14:08 -0000       1.30
@@ -0,0 +1,3365 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Document Processing, Introduction and Setup</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="typemacdoc.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="color.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="DOCPROCESSING"><h1 align="center"><u>Document processing with 
mom</u></h1></a>
+
+<p>
+<a href="#INTRO_MACROS_DOCPROCESSING">Introduction to document processing</a>
+<br/>
+
+<a href="#DEFAULTS">Some document defaults</a>
+<br/>
+
+<a href="#LEADING_NOTE">***IMPORTANT NOTE on leading/spacing and bottom 
margins***</a>
+<br/>
+
+<a href="#SHIM">The SHIM macro</a>
+</p>
+
+<h2><u>Table of Contents for document processing</u></h2>
+
+<ul>
+    <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a>
+        <br/>
+        <a href="#DOCPROCESSING_TUT">Tutorial &mdash; setting up a mom 
document</a>
+    </li>
+    <ul>
+        <li><a href="#REFERENCE_MACROS"><strong>The Reference 
Macros</strong></a></li>
+        <ul>
+            <li><a href="#TITLE">TITLE</a></li>
+            <li><a href="#DOC_TITLE">DOCTITLE</a></li>
+            <li><a href="#SUBTITLE">SUBTITLE</a></li>
+            <li><a href="#AUTHOR">AUTHOR</a></li>
+            <li><a href="#CHAPTER">CHAPTER</a></li>
+            <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a></li>
+            <li><a href="#DRAFT">DRAFT</a></li>
+            <li><a href="#REVISION">REVISION</a></li>
+            <li><a href="#COPYRIGHT">COPYRIGHT</a></li>
+            <li><a href="#MISC">MISC</a></li>
+        </ul>
+        <li><a href="#DOCSTYLE_MACROS"><strong>The Docstyle 
Macros</strong></a></li>
+        <ul>
+            <li><a href="#DOCTYPE">DOCTYPE</a></li>
+            <li><a href="#PRINTSTYLE">PRINTSTYLE</a></li>
+            <li><a href="#COPYSTYLE">COPYSTYLE</a></li>
+        </ul>
+        <li><a href="#START_MACRO"><strong>Initiate document 
processing</strong></a></li>
+        <ul>
+            <li><a href="#START">START</a></li>
+        </ul>
+        <li><a href="#STYLE_BEFORE_START"><strong>Changing global typesetting 
and formatting parameters before START</strong></a></li>
+        <ul>
+            <li><a href="#TYPE_BEFORE_START">Using the typesetting macros 
before START</a></li>
+            <ul>
+                <li><a href="docprocessing.html#INCLUDE">Including (sourcing) 
style sheets and files</a></li>
+                <li><a href="#COLOR">Initializing colours</a></li>
+            </ul>
+            <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST &mdash; adjust a 
document's leading to fill pages</a></li>
+            <li><a href="#DOCHEADER">Managing the document header</a></li>
+            <ul>
+                <li><a href="#DOCHEADER">DOCHEADER &mdash; turning docheaders 
off</a></li>
+                <li><a href="#DOCHEADER_CONTROL">Docheader control</a></li>
+            </ul>
+        </ul>
+        <li><a href="#COLUMNS_INTRO"><strong>Setting documents in 
columns</strong></a></li>
+        <ul>
+            <li><a href="#COLUMNS">COLUMNS</a></li>
+            <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a></li>
+            <ul>
+                <li><a href="#COL_NEXT">COL_NEXT</a></li>
+                <li><a href="#COL_BREAK">COL_BREAK</a></li>
+            </ul>
+        </ul>
+        <li><a href="#DOC_PARAM_MACROS"><strong>Changing global style 
parameters after START</strong></a></li>
+        <ul>
+            <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a></li>
+            <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a></li>
+            <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a></li>
+            <li><a href="#DOC_FAMILY">DOC_FAMILY</a></li>
+            <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a></li>
+            <li><a href="#DOC_LEAD">DOC_LEAD</a></li>
+            <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a></li>
+            <li><a href="#DOC_QUAD">DOC_QUAD</a></li>
+        </ul>
+        <li><a href="typemacdoc.html#TYPESETTING"><strong>Using the 
typesetting macros during document processing</strong></a></li>
+        <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT 
TAGS</strong></a></li>
+        <ul>
+            <li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the 
document element tags</a></li>
+            <ul>
+                <li><a href="docelement.html#DOCELEMENT_CONTROL">Document 
element (tag) control macros</a></li>
+                <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to 
the control macros</a></li>
+            </ul>
+            <li><a 
href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#EPIGRAPH">EPIGRAPH</a></li>
+                <li><a href="docelement.html#EPIGRAPH_CONTROL">Epigrah 
control</a></li>
+            </ul>
+            <li><a 
href="docelement.html#PP_INTRO"><strong>Paragraphs</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#PP">PP</a></li>
+                <li><a href="docelement.html#PP_CONTROL">Paragraph 
control</a></li>
+            </ul>
+            <li><a href="docelement.html#HEAD_INTRO"><strong>Main 
heads</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#HEAD">HEAD</a></li>
+                <li><a href="docelement.html#HEAD_CONTROL">Head 
control</a></li>
+            </ul>
+            <li><a 
href="docelement.html#SUBHEAD_INTRO"><strong>Subheads</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#SUBHEAD">SUBHEAD</a></li>
+                <li><a href="docelement.html#SUBHEAD_CONTROL">Subhead 
control</a></li>
+            </ul>
+            <li><a href="docelement.html#PARAHEAD_INTRO"><strong>Paragraph 
heads</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#PARAHEAD">PARAHEAD</a></li>
+                <li><a href="docelement.html#PARAHEAD_CONTROL">Parahead 
control</a></li>
+            </ul>
+            <li><a href="docelement.html#LINEBREAK_INTRO"><strong>Linebreaks 
(author linebreaks, also called section breaks)</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#LINEBREAK">LINEBREAK</a></li>
+                <li><a href="docelement.html#LINEBREAK_CONTROL">Linebreak 
control</a></li>
+            </ul>
+            <li><a href="docelement.html#QUOTE_INTRO"><strong>Quotes (line for 
line poetic quotes or code snippets)</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#QUOTE">QUOTE</a></li>
+                <li><a href="docelement.html#QUOTE_CONTROL">Quote 
control</a></li>
+            </ul>
+            <li><a href="docelement.html#BLOCKQUOTE_INTRO"><strong>Blockquotes 
(cited material)</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a></li>
+                <li><a href="docelement.html#BLOCKQUOTE_CONTROL">Blockquote 
control</a></li>
+            </ul>
+            <li><a 
href="docelement.html#FOOTNOTE_INTRO"><strong>Footnotes</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#FOOTNOTE">FOOTNOTE</a></li>
+                <li><a href="docelement.html#FOOTNOTE_CONTROL">Footnote 
control</a></li>
+            </ul>
+            <li><a 
href="docelement.html#ENDNOTE_INTRO"><strong>Endnotes</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#ENDNOTE">ENDNOTE</a></li>
+                <li><a href="docelement.html#ENDNOTE_CONTROL">Endnote 
control</a></li>
+            </ul>
+            <li><a href="docelement.html#FINIS_INTRO"><strong>Document 
termination string</strong></a></li>
+            <ul>
+                <li><a href="docelement.html#FINIS">FINIS</a></li>
+                <li><a href="docelement.html#FINIS_CONTROL">Finis 
control</a></li>
+            </ul>
+        </ul>
+        <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>HEADERS and 
FOOTERS</strong></a></li>
+        <ul>
+            <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">Introduction to 
headers/footers</a></li>
+            <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">Managing 
headers/footers</a></li>
+            <ul>
+                <li><a href="headfootpage.html#HEADERS">HEADERS</a> &mdash; on 
or off</li>
+                <li><a href="headfootpage.html#FOOTERS">FOOTERS</a> &mdash; on 
or off</li>
+                <li><a 
href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a></li>
+            </ul>
+            <li><a href="headfootpage.html#HEADFOOT_CONTROL">Header/footer 
control</a></li>
+            <ul>
+                <li><a href="headfootpage.html#HDRFTR_STRINGS">Header/footer 
strings</a></li>
+                <li><a href="headfootpage.html#HDRFTR_STYLE">Header/footer 
style</a> &mdash; global and part-by-part</li>
+                <li><a href="headfootpage.html#HDRFTR_VERTICAL">Header/footer 
placement and spacing</a></li>
+                <li><a href="headfootpage.html#HDRFTR_SEPARATOR">The 
header/footer separator rule</a></li>
+            </ul>
+        </ul>
+        <li><a 
href="headfootpage.html#PAGINATION"><strong>PAGINATION</strong></a></li>
+        <ul>
+            <li><a href="headfootpage.html#PAGINATE">PAGINATE</a> &mdash; on 
or off</li>
+            <li><a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a> &mdash; 
user supplied page number</li>
+            <li><a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a> 
&mdash; digits, roman numerals, etc.</li>
+            <li><a 
href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> 
&mdash; attach draft/revision information to page numbers</li>
+            <li><a href="headfootpage.html#PAGINATE_CONTROL">Pagination 
control</a></li>
+        </ul>
+        <li><a href="rectoverso.html#RECTOVERSO"><strong>RECTO_VERSO PRINTING 
and COLLATING</strong></a></li>
+        <ul>
+            <li><a href="rectoverso.html#RECTOVERSO_INTRO">Introduction to 
recto/verso</a></li>
+            <ul>
+                <li><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a></li>
+                <li><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> 
(also FOOTERS)</li>
+            </ul>
+            <li><a href="rectoverso.html#COLLATE_INTRO">Introduction to 
collating</a></li>
+            <ul>
+                <li><a href="rectoverso.html#COLLATE">COLLATE</a></li>
+            </ul>
+        </ul>
+        <li><a href="cover.html#TOP"><strong>CREATING A COVER 
PAGE</strong></a></li>
+        <li><a href="letters.html#LETTERS"><strong>WRITING 
LETTERS</strong></a></li>
+        <ul>
+            <li><a href="letters.html#LETTERS_INTRO">Introduction to writing 
letters</a></li>
+            <li><a href="letters.html#TUTORIAL">Tutorial on writing 
letters</a></li>
+            <li><a href="letters.html#LETTERS_DEFAULTS">Default style for 
letters</a></li>
+            <li><a href="letters.html#LETTERS_MACROS">The letter 
macros</a></li>
+        </ul>
+    </ul>
+</ul>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<h2><a name="INTRO_MACROS_DOCPROCESSING"><u>Introduction to document 
processing</u></a></h2>
+
+<p>
+As explained in
+<a href="intro.html#INTRO_DOCPROCESSING">Document processing with mom</a>,
+document processing uses markup tags to identify document elements
+such as heads, paragraphs, and so on.  The tags are, of course, macros,
+but with sensible, readable names that make them easy to grasp and
+easy to remember.  (And don't forget: if you don't like the
+&quot;official&quot; name of a tag &mdash; too long, cumbersome
+to type in, not &quot;intuitive&quot; enough &mdash; you can change it
+with the
+<a href="goodies.html#ALIAS">ALIAS</a>
+macro.)
+</p>
+
+<p>
+In addition to the tags themselves, <strong>mom</strong> has an
+extensive array of macros that control how they look and behave.
+</p>
+
+<p>
+Setting up a <strong>mom</strong> doc is a simple, four-part procedure.
+You begin by entering information about the document itself (title,
+subtitle, author, etc.).  Next, you tell <strong>mom</strong> what
+kind of document you're creating (e.g. chapter, letter, abstract,
+etc...) and what kind of output you want (typeset, typewritten,
+draft-style, etc).  Thirdly, you make as many or as few changes to
+<strong>mom</strong>'s default behaviour as you wish.  Lastly, you
+invoke the
+<a href="#START">START</a>
+macro.  Voilà!  You're ready to write.
+</p>
+
+<!-- ==================================================================== -->
+
+<hr align="left" width="66%"/>
+
+<h2><a name="DEFAULTS"><u>Some document defaults</u></a></h2>
+
+<p>
+As is to be expected, <strong>mom</strong> has defaults for
+everything.  If you want to know a particular default, read about it
+in the description of the pertinent tag.
+</p>
+
+<p>
+I fear the following may not be adequately covered in the
+documentation.  Just in case, here they are.
+
+<ul>
+    <li>the paper size is 8.5x11 inches</li>
+    <li>the left and right margins are 1-inch</li>
+    <li>the top and bottom margins for document text are plus/minus
+        visually 1-inch
+    </li>
+    <li>pages are numbered; the number appears centred, at the
+        bottom, surrounded by hyphens <nobr>( e.g. -6- )</nobr>
+    </li>
+    <li>the first page of a document begins with a
+        <a href="definitions.html#TERMS_DOCHEADER">document header</a>
+    </li>
+    <li>subsequent pages have
+        <a href="definitions.html#TERMS_HEADER">page headers</a>
+        with a rule underneath
+    </li>
+</ul>
+</p>
+
+<p>
+Another way to check up on document processing defaults is to have
+a look at the macro file (om.tmac).  Each macro is preceded by a
+description that (generally) says what its default is (if it has
+one).
+</p>
+
+<!-- ==================================================================== -->
+
+<hr align="left" width="66%"/>
+
+<a name="LEADING_NOTE"><h2><u>IMPORTANT NOTE on leading/spacing and bottom 
margins</u></h2></a>
+
+<p>
+<strong>Mom</strong> takes evenly-aligned bottom margins in
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+very seriously.  Only under a very few (exceptional) circumstances
+will she allow a bottom margin to &quot;hang&quot; (i.e. to fall
+short).
+</p>
+
+<p>
+In order to ensure even bottom margins, <strong>mom</strong>
+uses the &quot;base&quot; document
+<a href="definitions.html#TERMS_LEADING">leading</a>
+in effect <em>at the start of running text on each page</em> (i.e.
+the leading used in paragraphs) to calculate the spacing of every
+document element.  Prior to invoking
+<a href="#START">START</a>,
+this is set with the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macro</a>
+<a href="typesetting.html#LEADING">LS</a>,
+afterwards with the document
+<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
+<a href="#DOC_LEAD">DOC_LEAD</a>.
+</p>
+
+<p>
+Because <strong>mom</strong> relies so heavily on the base document
+leading, any change to the leading or spacing on a page will almost
+certainly have undesirable consequences on that page's bottom margin
+unless the change is fully compensated for elsewhere on the page.
+</p>
+
+<p>
+In other words, if you add a few points of space somewhere on a page,
+you must subtract the same number of points somewhere else on that
+same page, and vice versa.
+</p>
+
+<p>
+If it's a question of adding or subtracting full line spaces between
+or within document elements, you can do so by using the &quot;v&quot;
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+with whatever spacing macro you choose &mdash;
+<a href="typesetting.html#ALD">ALD</a>,
+<a href="typesetting.html#RLD">RLD</a>,
+<a href="typesetting.html#SPACE">SPACE</a>
+&mdash; and <strong>mom</strong> won't object.  &quot;v&quot; means
+&quot;the current leading&quot;, so she isn't confused by it.  And
+since &quot;v&quot; accepts decimal fractions, you can add/subtract
+half linespaces and quarter linespaces with &quot;v&quot; as well,
+<em>provided you compensate for the fractional linespace somewhere
+else on the page</em>.
+</p>
+
+<p>
+If all this seems like too much work, <strong>mom</strong>
+provides a special macro to get you out of trouble if you've played
+around with leading and/or spacing.  The macro is called
+<strong>SHIM</strong> (like those little pieces of wood carpenters
+use to get their work even, level and snug), and it's described
+below.
+</p>
+
+<!-- -SHIM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SHIM"></a>
+
+<p>
+<nobr>Macro: <strong>SHIM</strong></nobr>
+</p>
+
+<p>
+<strong>SHIM</strong> doesn't take any argument.  Use it whenever
+you've played around with the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+or spacing on a page and you
+need to get <strong>mom</strong>'s document leading back on track.
+</p>
+
+<p>
+For example, say you want to insert a picture into a document with
+the special groff macro, <strong>PSPIC</strong> (see <kbd>man
+groff_tmac</kbd> for usage).
+</p>
+
+<p>
+Pictures aren't usually conveniently sized in multiples of document
+leading, which means that when you insert the picture, you disrupt
+<strong>mom</strong>'s ordered placement of baselines on the page.
+This will certainly result in a bottom margin that doesn't match the
+bottom margins of your document's other pages.
+</p>
+
+<p>
+The solution is to insert <strong>SHIM</strong> after the picture,
+like this:
+
+<pre>
+    &lt;some lines of text&gt;
+    .PSPIC &lt;full path to picture&gt;
+    .SHIM
+    &lt;more lines of text&gt;
+</pre>
+</p>
+
+<p>
+<strong>SHIM</strong> instructs <strong>mom</strong> to insert as
+much or a little space after the picture as is needed to ensure that
+the baseline of the next
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
+falls where <strong>mom</strong> would have put it had you not
+disrupted the normal flow of output lines with the picture.
+</p>
+
+<p>
+And say, on previewing the above example, you find that the picture
+doesn't centre nicely between the lines of text, you can always do
+
+<pre>
+    &lt;some lines of text&gt;
+    .RLD 3p
+    .PSPIC &lt;full path to picture&gt;
+    .SHIM
+    &lt;more lines of text&gt;
+</pre>
+
+to raise the picture slightly
+(<strong>R</strong>everse <strong>L</strong>ea<strong>D</strong>
+3 points; see
+<a href="typesetting.html#RLD">RLD</a>),
+and still have <strong>SHIM</strong> ensure that text underneath
+falls exactly where it's supposed to.
+</p>
+
+<p>
+<strong>NOTE:</strong> For information on disabling the automatic
+shimming of quotes and blockquotes during document processing, see
+<a href="docelement.html#NO_SHIM">here</a>.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="SETUP"><h2><u>Document setup</u></h2></a>
+
+<a name="DOCPROCESSING_TUT"><h3><u>Tutorial &mdash; setting up a mom 
document</u></h3></a>
+
+<p>
+There are four &quot;parts&quot; to setting up a
+<strong>mom</strong> doc (three, actually, with one optional).
+Before we proceed, though, be reassured that something as simple as
+
+<pre>
+    .TITLE     "By the Shores of Lake Attica"
+    .AUTHOR    "Rosemary Winspeare"
+    .PRINTSTYLE TYPESET
+    .START
+</pre>
+
+produces a beautifully typeset 8.5x11 document, with a
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
+at the top of page 1,
+<a href="definitions.html#TERMS_HEADER">page headers</a>
+with the title and author on subsequent
+pages, and page numbers at the bottom of each page.  In the course
+of the document, heads, subheads, citations, quotes, epigraphs,
+and so on, all come out looking neat, trim, and professional.
+</p>
+
+<p>
+For the purposes of this tutorial, we're going to set up a short
+story &mdash; <em>My Pulitzer Winner</em> by Joe Blow.  Thankfully,
+we don't have to look at story itself, just the setup.
+Joe wants the document
+
+<ul>
+    <li>to be draft 7, revision 39;</li>
+    <li>to use the &quot;default&quot; style of document formatting:</li>
+    <li>to print as draft-style output (instead of &quot;final&quot; copy 
output);</li>
+    <li>to be typeset, in Helvetica, 12 on 14,
+        <a href="definitions.html#TERMS_RAG">rag-right</a>;
+    </li>
+    <li>to have <a href="definitions.html#TERMS_FOOTER">footers</a>
+        instead of
+        <a href="definitions.html#TERMS_HEADER">headers</a>;
+    </li>
+    <li>to use a single asterisk for
+        <a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a>.
+    </li>
+</ul>
+</p>
+
+<p>
+Joe Blow has no taste in typography.  His draft won't look pretty,
+but this is, after all, a tutorial; we're after examples, not beauty.
+</p>
+
+<h4><u>Step 1</u></h4>
+
+<p>
+The first step in setting up any document is giving <strong>mom</strong>
+some reference information.  The reference macros are:
+
+<ul>
+    <li>TITLE</li>
+    <li>DOCTITLE</li>
+    <li>COVERTITLE</li>
+    <li>SUBTITLE</li>
+    <li>AUTHOR</li>
+    <li>CHAPTER &mdash; the chapter number</li>
+    <li>DRAFT &mdash; the draft number</li>
+    <li>REVISION &mdash; the revision number</li>
+    <li>COPYRIGHT &mdash; only used on cover pages</li>
+    <li>MISC &mdash; only used on cover pages</li>
+    <li>COVER_TITLE &mdash; only on cover pages; only if needed</li>
+    <li>DOC_COVER_TITLE &mdash; only on document cover pages; only if 
needed</li>
+</ul>
+</p>
+
+<p>
+You can use as many or as few as you wish, although at a minimum,
+you'll probably fill in <strong>TITLE</strong> (unless the document's
+a letter) and <strong>AUTHOR</strong>.  Order doesn't matter.
+You can separate the
+<a href="definitions.html#TERMS_ARGUMENTS">arguments</a>
+from the macros by any number of spaces.  The following are
+what you'd need to start Joe Blow's story.
+
+<pre>
+    .TITLE    "My Pulitzer Winner"
+    .AUTHOR   "Joe Blow"
+    .DRAFT     7
+    .REVISION  39
+</pre>
+</p>
+
+<h4><u>Step 2</u></h4>
+
+<p>
+Once you've given <strong>mom</strong> the reference information she
+needs, you tell her how you want your document formatted.  What kind
+of document is it?  Should it be typeset or typewritten?  Is this
+a &quot;final&quot; copy (for the world to see) or just a draft?
+<strong>Mom</strong> calls the macros that answer these questions
+&quot;the docstyle macros.&quot;  They are:
+
+<ul>
+    <li>DOCTYPE &mdash; the type of document (default, chapter, user-defined, 
letter)</li>
+    <li>PRINTSTYLE &mdash; typeset or typewritten</li>
+    <li>COPYSTYLE  &mdash; draft or final copy</li>
+</ul>
+</p>
+
+<p>
+<strong>Mom</strong> has defaults for <strong>DOCTYPE</strong>
+and <strong>COPYSTYLE</strong>; if they're what you want, you
+don't need to include them here.  However, <strong>PRINTSTYLE</strong>
+has no default and MUST be present in every formatted document.
+If you omit it, <strong>mom</strong> won't process the document AND
+she'll complain (both to stderr and as a single printed sheet with
+a warning).  Moms &mdash; they can be so annoying sometimes. &lt;sigh&gt;
+</p>
+
+<p>
+Adding to what we already have, the next bit of setup for Joe
+Blow's story looks like this:
+
+<pre>
+    .TITLE    "My Pulitzer Winner"
+    .AUTHOR   "Joe Blow"
+    .DRAFT     7
+    .REVISION  39
+    \#
+    .DOCTYPE     DEFAULT \"Superfluous; mom uses DOCTYPE DEFAULT by default
+    .PRINTSTYLE  TYPESET
+    .COPYSTYLE   DRAFT
+</pre>
+</p>
+
+<p>
+Notice the use of the
+<a href="definitions.html#TERMS_COMMENTLINES">comment line</a>
+( <kbd>\#</kbd> ), a handy way to keep groups of macros visually
+separated for easy reading in a text editor.
+</p>
+
+<h4><u>Step 3</u></h4>
+
+<p>
+This step &mdash; completely optional &mdash; is where you, the user, take
+charge.  <strong>Mom</strong> has defaults for <em>everything</em>,
+but who's ever satisfied with defaults?  Use any of the <a
+href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+here to change <strong>mom</strong>'s document defaults (paper
+size, margins, family, point size, line space, rag, etc), or
+any of the document processing macros that set/change/control
+the appearance of document elements.  Think of this as the
+&quot;style-sheet &quot; section of a document.  And please note:
+you MUST give <strong>mom</strong> a
+<a href="#PRINTSTYLE">PRINTSTYLE</a>
+directive <strong>before</strong> making any such changes.
+</p>
+
+<p>
+Joe Blow wants his story printed in Helvetica, 12 on 14, rag
+right, with
+<a href="definitions.html#TERMS_FOOTER">page footers</a>
+instead of
+<a href="definitions.html#TERMS_HEADER">page headers</a>
+and a single asterisk for the
+<a href="definitions.html#TERMS_LINEBREAK">linebreak</a>
+character.  None of these requirements conforms
+to <strong>mom</strong>'s defaults for the chosen
+<strong>PRINTSTYLE</strong> (TYPESET), so we change them here.
+The setup for Joe Blow's story now looks like this:
+
+<pre>
+    .TITLE    "My Pulitzer Winner"
+    .AUTHOR   "Joe Blow"
+    .DRAFT     7
+    .REVISION  39
+    \#
+    .DOCTYPE     DEFAULT
+    .PRINTSTYLE  TYPESET
+    .COPYSTYLE   DRAFT
+    \#
+    .FAMILY  H
+    .PT_SIZE 12
+    .LS      14
+    .QUAD    LEFT    \"i.e. rag right
+    .FOOTERS
+    .LINEBREAK_CHAR *
+</pre>
+</p>
+
+<h4><u>Step 4</u></h4>
+
+<p>
+The final step in setting up a document is telling
+<strong>mom</strong> to start document processing.  It's a
+no-brainer, just the single macro <strong>START</strong>.  Other
+than <strong>PRINTSTYLE</strong>, it's the only macro required for
+document processing (although I can't guarantee you'll like the
+results of using just the two).
+</p>
+
+<p>
+Here's the complete setup for <em>My Pulitzer Winner</em>:
+
+<pre>
+    .TITLE    "My Pulitzer Winner"
+    .AUTHOR   "Joe Blow"
+    .DRAFT     7
+    .REVISION  39
+    \#
+    .DOCTYPE     DEFAULT
+    .PRINTSTYLE  TYPESET
+    .COPYSTYLE   DRAFT
+    \#
+    .FAMILY   H
+    .PT_SIZE  12
+    .LS       14
+    .QUAD     LEFT    \"i.e. rag right
+    .FOOTERS
+    .LINEBREAK_CHAR *
+    \#
+    .START
+</pre>
+</p>
+
+<p>
+As pointed out earlier, Joe Blow is no typographer.  Given that all he
+needs is a printed draft of his work, a simpler setup would have been:
+
+<pre>
+    .TITLE    "My Pulitzer Winner"
+    .AUTHOR   "Joe Blow"
+    .DRAFT     7
+    .REVISION  39
+    \#
+    .PRINTSTYLE  TYPEWRITE
+    .COPYSTYLE   DRAFT
+    \#
+    .START
+</pre>
+</p>
+
+<p>
+<kbd>.PRINTSTYLE TYPEWRITE</kbd>, above, means that Joe's work
+will come out &quot;typewritten, double-spaced&quot;, making the
+blue-pencilling he (or someone else) is sure to do much
+easier (which is why many publishers and agents still insist on
+typewritten, double-spaced copy).
+</p>
+
+<p>
+When J. Blow stops re-writing and decides to print off a final,
+typeset copy of his work for the world to see, he need only
+make two changes to the (simplified) setup:
+
+<pre>
+    .TITLE    "My Pulitzer Winner"
+    .AUTHOR   "Joe Blow"
+    .DRAFT     7
+    .REVISION  39
+    \#
+    .PRINTSTYLE  TYPESET  \"first change
+    .COPYSTYLE   FINAL    \"second change
+    \#
+    .START
+</pre>
+</p>
+
+<p>
+In the above, <kbd>.DRAFT 7, .REVISION 39,</kbd> and <kbd>.COPYSTYLE
+FINAL</kbd> are actually superfluous.  The draft and revision
+numbers aren't used when <strong>COPYSTYLE</strong> is
+<strong>FINAL</strong>, and <strong>COPYSTYLE FINAL</strong> is
+<strong>mom</strong>'s default unless you tell her otherwise.
+BUT...  to judge from the number of drafts already, J. Blow may very
+well decide his &quot;final&quot; version still isn't up to snuff.
+Hence, he might as well leave in the superfluous macros.  That way,
+when draft 7, rev. 62 becomes draft 8, rev. 1, he'll be ready to
+tackle his Pulitzer winner again.
+</p>
+
+<hr/>
+
+<!-- ======================================================================== 
-->
+
+<a name="REFERENCE_MACROS"><h2><u>The Reference Macros</u></h2></a>
+
+<p>
+The reference macros give <strong>mom</strong> the information
+she needs to generate
+<a href="definitions.html#TERMS_DOCHEADER">docheaders</a>,
+<a href="definitions.html#TERMS_HEADER">page headers</a>,
+and
+<a href="cover.html#COVER_TOP">covers</a>.
+They must go at the top of any file that uses <strong>mom</strong>'s
+document processing macros.
+</p>
+
+<a name="INDEX_REFERENCE"><h3><u>Reference macros list</u></h3></a>
+
+<ul>
+    <li><a href="#TITLE">TITLE</a></li>
+    <li><a href="#DOC_TITLE">DOCTITLE</a></li>
+    <li><a href="#SUBTITLE">SUBTITLE</a></li>
+    <li><a href="#AUTHOR">AUTHOR</a></li>
+    <li><a href="#CHAPTER">CHAPTER</a></li>
+    <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a></li>
+    <li><a href="#DRAFT">DRAFT</a></li>
+    <li><a href="#REVISION">REVISION</a></li>
+    <li><a href="#COPYRIGHT">COPYRIGHT</a></li>
+    <li><a href="#MISC">MISC</a></li>
+    <li><a href="#COVERTITLE">COVERTITLE</a></li>
+</ul>
+
+<!-- -TITLE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="TITLE"></a>
+
+<p>
+<nobr>Macro: <strong>TITLE</strong> <kbd>&quot;&lt;title string&gt;&quot; 
[&quot;&lt;2nd line&gt;&quot; [&quot;&lt;3rd line&gt;&quot; ... ] 
]</kbd></nobr> 
+<br/>
+
+<em>*Arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+The title string can be caps or caps/lower-case; it's up to you.  In
+<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
+the title will appear in the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
+exactly as you typed it.  However, <strong>mom</strong> converts
+the title to all caps in
+<a href="definitions.html#TERMS_HEADER">page headers</a>
+unless you turn that feature off (see
+<a href="headfootpage.html#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>).
+In
+<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+the title always gets converted to caps.
+</p>
+
+<p>
+<strong>TITLE</strong> accepts multiple arguments, each surrounded
+by double-quotes.  Each argument is printed on a separate line,
+permitting you to create multi-line titles in your docheaders.
+</p>
+
+<p>
+<strong>NOTE:</strong> If your
+<a href="#DOCTYPE">DOCTYPE</a>
+is <strong>CHAPTER</strong>, <strong>TITLE</strong> should be the
+title of the opus, not &quot;CHAPTER whatever&quot;.
+</p>
+
+<!-- -DOCTITLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_TITLE"></a>
+
+<p>
+<nobr>Macro: <strong>DOCTITLE</strong> <kbd>&quot;&lt;overall document 
title&gt;&quot; [&quot;&lt;2nd line&gt;&quot; [&quot;&lt;3rd line&gt;&quot; ... 
] ]</kbd></nobr> 
+<br/>
+
+<em>*Arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+<strong>NOTE:</strong> This macro should be used only if your
+<a href="#DOCTYPE">DOCTYPE</a>
+is <strong>DEFAULT</strong> (which is <strong>mom</strong>'s
+default).  If your <strong>DOCTYPE</strong> is
+<strong>CHAPTER</strong>, use
+<a href="#TITLE">TITLE</a>
+to set the overall document title for cover pages, document cover
+pages, and page headers or footers.
+</p>
+
+<p>
+When you're creating a single document, say, an essay or a short
+story, you have no need of this macro.
+<a href="#TITLE">TITLE</a>
+takes care of all your title needs.
+</p>
+
+<p>
+However if you're 
+<a href="rectoverso.html#COLLATE">collating</a>
+a bunch of documents together, say, to print out a report containing
+many articles with different titles, or a book of short stories with
+different authors, you need <strong>DOCTITLE</strong>.
+</p>
+
+<p>
+<strong>DOCTITLE</strong> tells <strong>mom</strong> the title
+of the complete document (as opposed to the title of each article
+or entitled section).
+</p>
+
+<p>
+The doctitle string can be caps or caps/lower-case; it's up to you.
+In
+<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
+by default, the doctitle appears in the rightmost position of
+<a href="definitions.html#TERMS_HEADER">page headers</a>,
+all in caps unless you turn that feature off (see
+<a href="headfootpage.html#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a>).
+In
+<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+the doctitle always gets converted to caps.
+</p>
+
+<p>
+<strong>DOCTITLE</strong> accepts multiple arguments, each surrounded
+by double-quotes.  Each argument is printed on a separate line,
+permitting you to create multi-line document titles for use on
+<a href="cover.html#COVER">Covers</a>
+and/or
+<a href="cover.html#DOC_COVER">Doc covers</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> If your
+<a href="#DOCTYPE">DOCTYPE</a>
+is <strong>CHAPTER</strong>, you don't need
+<strong>DOCTITLE</strong>.  <strong>TITLE</strong> takes care of
+everything.
+</p>
+
+<!-- -SUBTITLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SUBTITLE"></a>
+
+<p>
+<nobr>Macro: <strong>SUBTITLE</strong> <kbd>[COVER | DOC_COVER] 
&quot;&lt;subtitle&gt;&quot; [&quot;&lt;2nd line&gt;&quot; [&quot;&lt;3rd 
line&gt;&quot; ... ] ]</kbd></nobr> 
+<br/>
+
+<em>*String arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+The subtitle string can be caps or caps/lower-case.  I recommend
+caps/lower case.
+</p>
+
+<p>
+<strong>SUBTITLE</strong> accepts multiple arguments, each surrounded
+by double-quotes.  Each argument is printed on a separate line,
+permitting you to create multi-line subtitles.
+</p>
+
+<p>
+If the optional argument, <kbd>COVER</kbd> or <kbd>DOC_COVER</kbd>,
+is given to <strong>SUBTITLE</strong>, the remaining string
+arguments represent the subtitle that will appear on cover or
+document cover pages (see the
+<a href="cover.html#COVER_INTRO">Introduction to cover pages</a>
+for a description of the difference between &quot;document
+covers&quot; and &quot;covers&quot;).  Thus, it is possible to have
+differing subtitles appear on the document cover, the cover
+(&quot;title&quot;) page, and in the document header.  An extreme
+example would be:
+
+<pre>
+    .SUBTITLE "The Docheader Subtitle"
+    .SUBTITLE DOC_COVER "The Document Cover Subtitle"
+    .SUBTITLE COVER "The Cover Subtitle"
+</pre>
+
+The first invocation of <kbd>.SUBTITLE</kbd> establishes the
+subtitle that appears in the docheader at the top of the first page
+of a document.  The second invocation establishes the subtitle that
+appears on the document cover; the third establishes the subtitle
+that appears on the cover (&quot;title&quot;) page.
+</p>
+
+<p>
+If you don't require differing subtitles for doc cover and cover
+pages, <kbd>.SUBTITLE</kbd>, without the optional first argument, is
+sufficient, provided you give the word &quot;SUBTITLE&quot; as an
+argument to the macro
+<a href="cover.html#DOC_COVER">DOC_COVER</a>
+or
+<a href="cover.html#COVER">COVER</a>
+</p>
+
+
+<!-- -AUTHOR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="AUTHOR"></a>
+
+<p>
+<nobr>Macro: <strong>AUTHOR</strong> <kbd>[COVER | DOC_COVER] 
&quot;&lt;author&gt;&quot; [ &quot;&lt;author2&gt;&quot; 
[&quot;&lt;author3&gt;&quot; ... ] ]</kbd></nobr>
+<br/>
+
+Alias: <strong>EDITOR</strong>
+<br/>
+
+<em>*String arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+Each author string can hold as many names as you like, e.g.
+
+<pre>
+    .AUTHOR "Joe Blow"
+        or
+    .AUTHOR "Joe Blow, Jane Doe" "John Hancock"
+</pre>
+</p>
+
+<p>
+<strong>Mom</strong> prints each string that's enclosed in
+double-quotes on a separate line in the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
+however only the first string appears in
+<a href="definitions.html#TERMS_HEADER">page headers</a>.
+If you want <strong>mom</strong> to put something else in the author
+part of page headers (say, just the last names of a document's two
+authors), redefine the appropriate part of the header (see
+<a href="headfootpage.html#HEADER_CONTROL">header/footer control</a>).
+</p>
+
+<p>
+The strings can be caps or caps/lower-case.  I recommend caps/lower
+case.
+</p>
+
+<p>
+If the optional argument, <kbd>COVER</kbd> or <kbd>DOC_COVER</kbd>,
+is given to <strong>AUTHOR</strong>, the remaining string
+arguments represent the author(s) that will appear on cover or
+document cover pages (see the
+<a href="cover.html#COVER_INTRO">Introduction to cover pages</a>
+for a description of the difference between &quot;document
+covers&quot; and &quot;covers&quot;).  Thus, it is possible to have
+differing authors on the document cover, the cover
+(&quot;title&quot;) page, in the document first-page header and
+subsequent page headers/footers.  An example might be:
+
+<pre>
+    .AUTHOR "Joe Blow"
+    .EDITOR DOC_COVER "John Smith" "and" "Jane Doe"   \" EDITOR is an alias 
for AUTHOR
+    .AUTHOR COVER "Joe Blow" "(assisted by Jane Doe)"
+</pre>
+
+The first invocation of <kbd>.AUTHOR</kbd> establishes the author
+that appears in the docheader at the top of the first page of
+a document and in subsequent page headers/footers.  The second
+invocation establishes the authors (editors, in this instance) that
+appear on the document cover; the third establishes the author(s)
+that appear(s) on the cover (&quot;title&quot;) page.
+</p>
+
+<p>
+If you don't require differing authors for doc cover and cover
+pages, <kbd>.AUTHOR</kbd>, without the optional first argument, is
+sufficient, provided you give the word &quot;AUTHOR&quot; as an
+argument to the macro
+<a href="cover.html#DOC_COVER">DOC_COVER</a>
+or
+<a href="cover.html#COVER">COVER</a>
+</p>
+
+<!-- -CHAPTER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="CHAPTER"></a>
+
+<p>
+<nobr>Macro: <strong>CHAPTER</strong> <kbd>&lt;chapter number&gt;</kbd></nobr>
+</p>
+
+<p>
+The chapter number can be in any form you like &mdash; a digit, a roman
+numeral, a word.  If you choose
+<a href="#DOCTYPE">DOCTYPE CHAPTER</a>,
+<strong>mom</strong> prints whatever argument you pass
+<strong>CHAPTER</strong> beside the word &quot;Chapter&quot; as a
+single line
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>.
+She also puts the same thing in the middle of
+<a href="definitions.html#TERMS_HEADER">page headers</a>.
+</p>
+
+<p>
+Please note that if your argument to <strong>CHAPTER</strong> runs
+to more than one word, you must enclose the argument in
+double-quotes.
+</p>
+
+<p>
+If you're not using <strong>DOCTYPE CHAPTER</strong>, the macro can
+be used to identify any document as a chapter <em>for the purpose of
+prepending a chapter number to numbered head elements</em>, provided
+you pass it a
+<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>.
+See
+<a href="docelement.html#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a>.
+</p>
+
+<!-- -CHAPTER_STRING- -->
+
+<a name="CHAPTER_STRING"><h4><u>The chapter string</u></h4></a>
+
+<p>
+If you're not writing in English, you can ask <strong>mom</strong>
+to use the word for &quot;chapter&quot; in your own language by
+telling her what it is with the <strong>CHAPTER_STRING</strong>
+macro, like this:
+
+<pre>
+    .CHAPTER_STRING "Chapître"
+</pre>
+</p>
+
+<p>
+You can also use <strong>CHAPTER_STRING</strong> if you want
+&quot;CHAPTER&quot; instead of &quot;Chapter&quot; in the doc-and
+page-headers.
+</p>
+
+<!-- -CHAPTER_TITLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="CHAPTER_TITLE"></a>
+
+<p>
+<nobr>Macro: <strong>CHAPTER_TITLE</strong> &quot;&lt;chapter title&gt;&quot; 
[&quot;&lt;2nd line&gt;&quot; [&quot;&lt;3rd line&gt;&quot; ... ] ]</nobr> 
+<br/>
+
+<em>*Arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+If, either in addition to or instead of &quot;Chapter
+&lt;n&gt;&quot; appearing at the top of chapters, you want your
+chapter to have a title, use <strong>CHAPTER_TITLE</strong>, with
+your title enclosed in double-quotes, like this:
+
+<pre>
+    .CHAPTER_TITLE "The DMCA Nazis"
+</pre>
+</p>
+
+<p>
+<strong>CHAPTER_TITLE</strong> accepts multiple arguments, each
+surrounded by double-quotes.  Each argument is printed on a separate
+line, permitting you to create multi-line chapter titles in your
+docheaders.
+</p>
+
+<p>
+If you've used
+<a href="#CHAPTER">CHAPTER</a>
+to give the chapter a number, both &quot;Chapter &lt;n&gt;&quot; and
+the chapter title will appear at the top of the chapter, like this:
+
+<pre>
+       Chapter 1
+    The DMCA Nazis
+</pre>
+</p>
+
+<p>
+In such a case, by default, only the chapter's title will appear in
+the
+<a href="definitions.html#TERMS_HEADER">page headers</a>,
+not &quot;Chapter &lt;n&gt;&quot;.
+</p>
+
+<p>
+If you omit <strong>CHAPTER</strong> when setting up your reference
+macros, only the title will appear, both at the top of page one and
+in subsequent page headers.
+</p>
+
+<p>
+The style of the chapter title can be altered by
+<a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>,
+e.g. <strong>CHAPTER_TITLE_FAMILY</strong>,
+<strong>CHAPTER_TITLE_FONT</strong>, etc.  The default family,
+font and point size are Times Roman, Bold Italic, 4 points larger
+than
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+</p>
+
+<!-- -DRAFT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DRAFT"></a>
+
+<p>
+<nobr>Macro: <strong>DRAFT</strong> <kbd>&lt;draft number&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>DRAFT</strong> only gets used with
+<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
+If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> (the
+default), <strong>mom</strong> ignores <strong>DRAFT</strong>.
+<strong>DRAFT</strong> accepts both alphabetic and numeric
+arguments, hence it's possible to do either
+
+<pre>
+    .DRAFT 2
+       or
+    .DRAFT Two
+</pre>
+</p>
+
+<p>
+<strong>Mom</strong> prints the argument to <kbd>.DRAFT</kbd> (i.e.
+the draft number) beside the word &quot;Draft&quot; in the middle
+part of
+<a href="definitions.html#TERMS_HEADER">page headers</a>.
+</p>
+
+<p>
+<strong>A small word of caution:</strong> If your argument to
+<kbd>.DRAFT</kbd> is more than one word long, you must enclose the
+argument in double-quotes.
+</p>
+
+<p>
+You may, if you wish, invoke <kbd>.DRAFT</kbd> without an
+argument, in which case, no draft number will be printed beside
+&quot;Draft&quot; in headers or footers.
+</p>
+
+<!-- -DRAFT_STRING- -->
+
+<a name="DRAFT_STRING"><h4><u>The draft string</u></h4></a>
+
+<p>
+If you're not writing in English, you can ask <strong>mom</strong>
+to use the word for &quot;draft&quot; in your own language by
+telling her what it is with the <strong>DRAFT_STRING</strong> macro,
+like this:
+
+<pre>
+    .DRAFT_STRING "Jet"
+</pre>
+</p>
+
+<p>
+Equally, <strong>DRAFT_STRING</strong> can be used to roll your own
+solution to something other than the word &quot;Draft.&quot;  For
+example, you might want &quot;Trial run alpha-three&quot; to appear
+in the headers of a draft version.  You'd accomplish this by doing
+
+<pre>
+    .DRAFT alpha-three
+    .DRAFT_STRING "Trial run
+</pre>
+</p>
+
+<p>
+<kbd>.DRAFT</kbd> without an argument, above, ensures that only the
+<strong>DRAFT_STRING</strong> gets printed.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you define both a blank <kbd>.DRAFT</kbd>
+and a blank <kbd>.DRAFT_STRING</kbd>, <strong>mom</strong> skips the
+draft field in headers entirely.  If this is what you want, this is
+also the only way to do it.  Simply omitting a <kbd>.DRAFT</kbd> and
+<kbd>.DRAFT_STRING</kbd> will result in <strong>mom</strong> using
+her default, which is to print &quot;Draft &lt;number&gt;&quot;.
+</p>
+
+<!-- -REVISION- -->
+
+<hr width="33%" align="left"/>
+
+<a name="REVISION"></a>
+
+<p>
+<nobr>Macro: <strong>REVISION</strong> <kbd>&lt;revision 
number&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>REVISION</strong> only gets used with
+<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
+If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong>
+(the default), <strong>mom</strong> ignores the
+<strong>REVISION</strong> macro. <strong>REVISION</strong> accepts
+both alphabetic and numeric arguments, hence it's possible to do
+either
+
+<pre>
+    .REVISION 2
+       or
+    .REVISION Two
+</pre>
+</p>
+
+<p>
+<strong>Mom</strong> prints the revision number beside the shortform
+&quot;Rev.&quot; in the middle part of
+<a href="definitions.html#TERMS_HEADER">page headers</a>.
+</p>
+
+<p>
+<strong>A small word of caution:</strong> If your argument to
+<kbd>.REVISION</kbd> is more than one word long, you must
+enclose the argument in double-quotes.
+</p>
+
+<p>
+You may, if you wish, invoke <kbd>.REVISION</kbd> without an
+argument, in which case, no revision number will be printed beside
+&quot;Rev.&quot; in headers or footers.
+</p>
+
+<!-- -REVISION_STRING- -->
+
+<a name="REVISION_STRING"><h4><u>The revision string</u></h4></a>
+
+<p>
+If you're not writing in English, you can ask <strong>mom</strong>
+to use the word for &quot;revision,&quot; or a shortform
+thereof, in your own language by telling her what it is with the
+<strong>REVISION_STRING</strong> macro, like this:
+
+<pre>
+    .REVISION_STRING "Rév."
+</pre>
+</p>
+
+<p>
+Additionally, you may sometimes want to make use of
+<strong>mom</strong>'s
+<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>
+but not actually require any draft information.  For example, you
+might like <strong>mom</strong> to indicate only the revision
+number of your document.  The way to do that is to define an empty
+<kbd>.DRAFT</kbd> and <kbd>.DRAFT_STRING</kbd> in addition to
+<kbd>.REVISION</kbd>, like this:
+
+<pre>
+    .DRAFT
+    .DRAFT_STRING
+    .REVISION 2
+</pre>
+</p>
+
+<p>
+Equally, if you want to roll your own solution to what revision
+information appears in headers, you could do something like this:
+
+<pre>
+    .DRAFT
+    .DRAFT_STRING
+    .REVISION "two-twenty-two"
+    .REVISION_STRING "Revision"
+</pre>
+</p>
+
+<p>
+The above, naturally, has no draft information.  If you want to roll
+your own <kbd>.DRAFT</kbd> and/or <kbd>.DRAFT_STRING</kbd> as well,
+simply supply arguments to either or both.
+</p>
+
+<!-- -COPYRIGHT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="COPYRIGHT"></a>
+
+<p>
+<nobr>Macro: <strong>COPYRIGHT</strong> <kbd>[COVER | DOC_COVER] 
&quot;&lt;copyright info&gt;&quot;</kbd></nobr>
+<br/>
+
+<em>*Argument must be enclosed in double-quotes</em>
+</p>
+
+<p>
+The argument passed to <strong>COPYRIGHT</strong> is only used on
+cover or doc cover pages, and then only if the argument COPYRIGHT is
+passed to
+<a href="cover.html#COVER">COVER</a>
+or
+<a href="cover.html#DOC_COVER">DOC_COVER</a>.
+Do not include the copyright symbol in the argument passed to
+<strong>COPYRIGHT</strong>; <strong>mom</strong> puts it in for
+you.
+</p>
+
+<p>
+If the optional argument, <kbd>COVER</kbd> or <kbd>DOC_COVER</kbd>,
+is given to <strong>COPYRIGHT</strong>, the string argument
+represents the copyright information that will appear on cover or
+document cover pages (see the
+<a href="cover.html#COVER_INTRO">Introduction to cover pages</a>
+for a description of the difference between &quot;document
+covers&quot; and &quot;covers&quot;).  Thus, it is possible to have
+differing copyright information on the document cover and on the
+cover (&quot;title&quot;) page.  An example might be:
+
+<pre>
+    .COPYRIGHT DOC_COVER "2006 John Smith and Jane Doe"
+    .COPYRIGHT COVER "2002 Joe Blow"
+</pre>
+
+The first invocation of <kbd>.COPYRIGHT</kbd> establishes the
+copyright information that appears on the document cover; the second
+establishes the copyright information that appears on the cover
+(&quot;title&quot;) page.
+</p>
+
+<p>
+If you don't require differing copyright information for doc cover
+and cover pages, <kbd>.COPYRIGHT</kbd>, without the optional
+first argument, is sufficient, provided you give the word
+&quot;COPYRIGHT&quot; as an argument to the macro
+<a href="cover.html#DOC_COVER">DOC_COVER</a>
+or
+<a href="cover.html#COVER">COVER</a>
+</p>
+
+<!-- -MISC- -->
+
+<hr width="33%" align="left"/>
+
+<a name="MISC"></a>
+
+<p>
+<nobr>Macro: <strong>MISC</strong> <kbd>[COVER | DOC_COVER] &quot;&lt;argument 
1&gt;&quot; [&quot;&lt;argument 2&gt;&quot; &quot;&lt;argument 3&gt;&quot; 
...]</kbd></nobr>
+<br/>
+
+<em>*String arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+The argument(s) passed to <strong>MISC</strong> are only used
+on cover or doc cover pages, and then only if the argument
+<kbd>MISC</kbd> is passed to
+<a href="cover.html#COVER">COVER</a>
+or
+<a href="cover.html#DOC_COVER">DOC_COVER</a>.
+<strong>MISC</strong> can contain any information you like.  Each
+argument appears on a separate line at the bottom of the cover or
+doc cover page.
+</p>
+
+<p>
+For example, if you're submitting an essay where the prof has
+requested that you include the course number, his name and the
+date, you could do
+
+<pre>
+    .MISC &quot;Music History 101&quot; &quot;Professor Hasbeen&quot; 
&quot;Dec. 24, 2006&quot;
+</pre>
+
+and the information would appear on the essay's cover page.
+</p>
+
+<p>
+If the optional argument, <kbd>COVER</kbd> or <kbd>DOC_COVER</kbd>,
+is given to <strong>MISC</strong>, the string arguments represent
+the miscellaneous information that will appear on cover or document
+cover pages (see the
+<a href="cover.html#COVER_INTRO">Introduction to cover pages</a>
+for a description of the difference between &quot;document
+covers&quot; and &quot;covers&quot;).  Thus, it is possible to have
+differing miscellaneous information on the document cover and on the
+cover (&quot;title&quot;) page.  An example might be:
+
+<pre>
+    .MISC DOC_COVER "Music History 101" "Professor Hasbeen"
+    .MISC COVER "Spring Term Paper"
+</pre>
+
+The first invocation of <kbd>.MISC</kbd> establishes the
+miscellaneous information that appears on the document cover; the
+second establishes the miscellaneous information that appears on the
+cover (&quot;title&quot;) page.
+</p>
+
+<p>
+If you don't require differing miscellaneous information for doc
+cover and cover pages, <kbd>.MISC</kbd>, without the optional first
+argument, is sufficient, provided you give the word &quot;MISC&quot;
+as an argument to the macro
+<a href="cover.html#DOC_COVER">DOC_COVER</a>
+or
+<a href="cover.html#COVER">COVER</a>
+</p>
+
+<!-- -COVER_TITLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="COVERTITLE"></a>
+
+<p>
+<nobr>Macro: <strong>COVERTITLE</strong> <kbd>&quot;&lt;user defined cover 
page title&gt;&quot; [&quot;&lt;2nd line&gt;&quot; [&quot;&lt;3rd 
line&gt;&quot; ... ] ]</kbd></nobr> 
+<br/>
+
+<a name="DOC_COVERTITLE"></a>
+
+<nobr>Macro: <strong>DOC_COVERTITLE</strong> &quot;&lt;user defined document 
cover page title&gt;&quot; [&quot;&lt;2nd line&gt;&quot; [&quot;&lt;3rd 
line&gt;&quot; ... ] ]</nobr> 
+<br/>
+
+<em>*Arguments must be enclosed in double-quotes</em>
+</p>
+
+<p>
+The arguments passed to <strong>COVERTITLE</strong> or
+<strong>DOC_COVERTITLE</strong> are only used on cover or doc cover
+pages, and then only if the argument COVERTITLE is passed to
+<a href="cover.html#COVER">COVER</a>
+or
+<a href="cover.html#DOC_COVER">DOC_COVER</a>.
+</p>
+
+<p>
+The only time you require a <strong>COVERTITLE</strong> or
+<strong>DOC_COVERTITLE</strong> is when none of the required first
+arguments to <strong>COVER</strong> or <strong>DOC_COVER</strong>
+fits your needs for the title you want to appear on cover (or doc
+cover) pages.
+</p>
+
+<p>
+<strong>COVERTITLE</strong> and <strong>DOC_COVERTITLE</strong>
+accept multiple arguments, each surrounded by double-quotes.  Each
+argument is printed on a separate line, permitting you to create
+multi-line titles on your cover and/or doc cover pages.
+</p>
+
+<hr/>
+
+<!-- ======================================================================== 
-->
+
+<a name="DOCSTYLE_MACROS"><h2><u>The Docstyle Macros</u></h2></a>
+
+<p>
+The docstyle macros tell <strong>mom</strong> what type of
+document you're writing, whether you want the output typeset or
+&quot;typewritten&quot;, and whether you want a draft copy (with
+draft and revision information in the headers) or a final copy.
+</p>
+
+<a name="INDEX_DOCSTYLE"><h3><u>Docstyle macros list</u></h3></a>
+
+<ul>
+    <li><a href="#DOCTYPE">DOCTYPE</a></li>
+    <li><a href="#PRINTSTYLE">PRINTSTYLE</a></li>
+    <ul>
+        <li><a href="#TYPESET_DEFAULTS">Defaults for PRINTSTYLE 
TYPESET</a></li>
+        <li><a href="#TYPEWRITE_DEFAULTS">Defaults for PRINTSTYLE 
TYPEWRITE</a></li>
+        <ul>
+            <li><a href="#TYPEWRITE_CONTROL">TYPEWRITE control macros</a></li>
+        </ul>
+    </ul>
+    <li><a href="#COPYSTYLE">COPYSTYLE</a></li>
+</ul>
+
+<!-- -DOCTYPE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="DOCTYPE"></a>
+
+<p>
+<nobr>Macro: <strong>DOCTYPE</strong> <kbd>DEFAULT | CHAPTER | NAMED 
&quot;&lt;name&gt;&quot; | LETTER</kbd></nobr>
+</p>
+
+<p>
+The arguments <kbd>DEFAULT, CHAPTER</kbd> and
+<kbd>NAMED</kbd> tell <strong>mom</strong> what to put in the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
+and
+<a href="definitions.html#TERMS_HEADER">page headers</a>.
+<kbd>LETTER</kbd> tells her that you want to write a letter.
+</p>
+
+<p>
+<strong>Mom</strong>'s default <strong>DOCTYPE</strong> is
+<kbd>DEFAULT</kbd>.  If that's what you want, you don't
+have to give a <strong>DOCTYPE</strong> command.
+</p>
+
+<h4><u>DEFAULT</u></h4>
+
+<p>
+<strong>DEFAULT</strong> prints a
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
+containing the title, subtitle and author information given to the
+<a href="#REFERENCE_MACROS">reference macros</a>,
+and page headers with the author and title.
+(See
+<a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
+for how <strong>mom</strong> outputs each part of the page header.)
+</p>
+
+<h4><u>CHAPTER</u></h4>
+
+<p>
+<strong>CHAPTER</strong> prints &quot;Chapter &lt;n&gt;&quot; in place of a
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
+<nobr>(<kbd>&lt;n&gt;</kbd></nobr> is what you gave to the
+<a href="#REFERENCE_MACROS">reference macro</a>
+<a href="#CHAPTER">CHAPTER</a>).
+If you give the chapter a title with
+<a href="#CHAPTER_TITLE">CHAPTER TITLE</a>,
+<strong>mom</strong> prints &quot;Chapter &lt;n&gt;&quot; and the
+title underneath.  If you omit the
+<a href="#CHAPTER">CHAPTER</a>
+reference macro but supply a
+<a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>,
+<strong>mom</strong> prints only the chapter title. <em>(*For
+backward compatibility with pre-1.1.5 versions of</em>
+<strong>mom</strong><em>, you can also supply a chapter title by
+omitting the</em> <strong>CHAPTER</strong> <em>reference macro and
+supplying a chapter title with</em>
+<a href="#CHAPTER_STRING">CHAPTER_STRING</a>.)
+</p>
+
+<p>
+The page headers in <strong>DOCTYPE CHAPTER</strong> contain the author,
+the title of the book (which you gave with
+<a href="#TITLE">TITLE</a>),
+and &quot;Chapter &lt;n&gt;&quot; (or the chapter title).  See
+<a href="headfootpage.html#HEADER_STYLE">Default Specs for Headers</a>
+for <strong>mom</strong>'s default type parameters for each part of
+the page header.
+</p>
+
+<h4><u>NAMED</u></h4>
+
+<p>
+<strong>NAMED</strong> takes an additional argument: a name
+for this particular kind of document  (e.g. outline, synopsis,
+abstract, memorandum), enclosed in double-quotes.
+<strong>NAMED</strong> is identical to <strong>DEFAULT</strong>
+except that <strong>mom</strong> prints the argument to
+<strong>NAMED</strong> beneath the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
+as well as in page headers.
+(See
+<a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a>
+for how <strong>mom</strong> outputs each part of the page header.)
+</p>
+
+<p>
+Additionally, if you wish the name of this particular kind of
+document to be coloured, you can pass <strong>DOCTYPE NAMED</strong>
+a third (optional) argument: the name of a colour pre-defined (or
+&quot;initialized&quot;) with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+For example, if you have a doctype named &quot;Warning&quot;,
+and you'd like &quot;Warning&quot; to be in red, assuming you've
+pre-defined (or &quot;initialized&quot;) the color, red, this is
+what the <strong>DOCTYPE</strong> entry would look like:
+
+<pre>
+    .DOCTYPE NAME "Warning" red
+</pre>
+</p>
+
+<p>
+By default, the string passed to <strong>DOCTYPE NAMED</strong> is
+underlined in the docheader, and on document-cover pages and cover
+(&quot;title"&quot;) pages.  (See the
+<a href="cover.html#INTRO">Introduction to covers</a>
+for the difference between &quot;doc cover&quot; and &quot;cover&quot;
+pages.)
+</p>
+
+<a name="DOCTYPE_UNDERLINE"><h5><u>The DOCTYPE_UNDERLINE macro</u></h5></a>
+
+<p>
+Formerly, this underlining was carved in stone.  As of version
+1.5 of <strong>mom</strong>, you can now use the macro
+<strong>DOCTYPE_UNDERLINE</strong> to set the weight of the
+underline and its distance from the doctype-name <em>in the
+docheader</em> (doc covers and covers handle underlining of the
+doctype-name differently; see
+<a href="cover.html#COVER_UNDERLINE">COVER_UNDERLINE</a>),
+or simply toggle doctype underlining on or off.
+<strong>Mom</strong>'s default is to underline the doctype-name.
+</p>
+
+<p>
+The order of arguments is <kbd>weight</kbd>, optionally followed by
+<kbd>gap</kbd>, where &quot;gap&quot; is the distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of the doctype-name to the underline.
+</p>
+
+<p>
+The <kbd>weight</kbd> argument is given in points, or fractions
+thereof, and must NOT have the
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+<kbd>p</kbd>, appended.  Like
+<a href="inlines.html#RULE_WEIGHT">RULE_WEIGHT</a>,
+weights MUST be greater than 0 and less than 100.
+<strong>Mom</strong>'s default for head underlines is 1/2 point.
+</p>
+
+<p>
+The <kbd>gap</kbd> argument can be given using any unit of measure,
+and MUST have the unit of measure appended to the argument.  The
+distance of the gap is measured from the baseline of the head to
+the upper edge of the underline.  <strong>Mom</strong>'s default
+gap for named-doctype underlines is 2 points.
+</p>
+
+<p>
+As an example, supposed you want the doctype-name underlined in the
+docheader with a 2-point rule separated from the head by 3 points.
+The way to accomplish that is:
+
+<pre>
+    .DOCTYPE_UNDERLINE 2 3p
+</pre>
+
+If you wanted the same thing, but were content with
+<strong>mom</strong>'s default gap of 2 points,
+
+<pre>
+    .DOCTYPE_UNDERLINE 4
+</pre>
+
+would do the trick.
+</p>
+
+<p>
+If you merely want to toggle the underlining of the doctype-name
+in docheaders on or off, invoke <kbd>.DOCTYPE_UNDERLINE</kbd> by
+itself to turn the underlining on, or <kbd><nobr>.DOCTYPE_UNDERLINE
+OFF</nobr></kbd> (or <strong>NO</strong>, <strong>X</strong>, etc.)
+</p>
+
+<p>
+Please note that if you supply a weight to
+<strong>DOCTYPE_UNDERLINE</strong>, and optionally a gap, you also
+turn the underlining of the doctype-name in docheaders on; if this
+is not what you want, you must turn head underlining off manually
+afterwards.
+</p>
+
+<h4><u>LETTER</u></h4>
+
+<p>
+<strong>LETTER</strong> tells mom you're writing a letter.  See
+the section
+<a href="letters.html#INTRO">Writing Letters</a>
+for instructions on using <strong>mom</strong> to format letters.
+</p>
+
+<!-- -PRINTSTYLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PRINTSTYLE"></a>
+
+<p>
+<nobr>Macro: <strong>PRINTSTYLE</strong> <kbd>TYPESET | TYPEWRITE [ 
SINGLESPACE ]</kbd></nobr>
+<br/>
+
+<em>*Required for document processing</em>
+<br/>
+
+<em>*Must come before any changes to default document style</em>
+</p>
+
+<p>
+<strong>PRINTSTYLE</strong> tells <strong>mom</strong> whether to typeset
+a document, or to print it out &quot;typewritten, doubled-spaced&quot;.
+</p>
+
+<p>
+<strong>THIS MACRO MAY NOT BE OMITTED.</strong>  In order for
+document processing to take place, <strong>mom</strong> requires
+a <strong>PRINTSTYLE</strong>.  If you don't give one,
+<strong>mom</strong> will warn you on stderr and print a single
+page with a nasty message.
+</p>
+
+<p>
+Furthermore, <strong>PRINTSTYLE</strong> must come before any
+changes to <strong>mom</strong>'s default typestyle parameters.
+(This applies primarily to, but is by no means restricted to,
+<strong>PRINTSTYLE TYPESET</strong>.) <strong>PRINTSTYLE</strong>
+sets up complete &quot;templates&quot; that include default
+papersize, margins, family, fonts, point sizes, and so on.
+Therefore, changes to any aspect of document style must come
+afterwards.
+</p>
+
+<p>
+<strong>TYPESET</strong>, as the argument implies, typesets
+documents (by default in Times Roman; see
+<a href="#TYPESET_DEFAULTS">TYPESET defaults</a>).
+You have full access to all the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+as well as the
+<a href="definitions.html#STYLE_CONTROL">style control macros</a>
+of document processing.
+</p>
+
+<p>
+As mentioned above, <strong>PRINTSTYLE TYPESET</strong> must come
+before any changes to <strong>mom</strong>'s default typographic
+settings.  For example,
+
+<pre>
+    .PAPER A4
+    .LS 14
+    .PRINTSTYLE TYPESET
+</pre>
+
+will not changes <strong>mom</strong>'s default paper size to A4,
+nor her default document leading 14 points, whereas
+
+<pre>
+    .PRINTSTYLE TYPESET
+    .PAPER A4
+    .LS 14
+</pre>
+
+will.
+</p>
+
+<p>
+With <strong>TYPEWRITE</strong>, <strong>mom</strong> does her best
+to reproduce the look and feel of typewritten, double-spaced copy (see
+<a href="#TYPEWRITE_DEFAULTS">TYPEWRITE defaults</a>).
+<a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a>
+and
+<a href="typesetting.html#INTRO_MACROS_TYPESETTING">typesetting macros</a>
+that alter family, font, point size, and
+<a href="definitions.html#TERMS_LEADING">leading</a>
+are (mostly) ignored.  An important exception is
+<a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
+(and, by extension, <strong>FOOTER_SIZE</strong>), which allows
+you to reduce the point size of headers/footers should they become
+too crowded.  Most of <strong>mom</strong>'s inlines affecting the
+appearance of type are also ignored (<kbd>\*S</kbd> is an exception;
+there may be a few others).
+</p>
+
+<p>
+In short, <strong>TYPEWRITE</strong> never produces effects
+other than those available on a typewriter.  Don't be fooled by
+how brainless this sounds; <strong>mom</strong> is remarkably
+sophisticated when it comes to conveying the typographic sense of a
+document within the confines of <strong>TYPEWRITE</strong>.
+</p>
+
+<p>
+The primary uses of <strong>TYPEWRITE</strong> are: outputting hard
+copy drafts of your work (for editing), and producing documents
+for submission to publishers and agents who (wisely) insist on
+typewritten, double-spaced copy.  To get a nicely typeset version of
+work that's in the submission phase of its life (say, to show fellow
+writers for critiquing), simply change <strong>TYPEWRITE</strong> to
+<strong>TYPESET</strong> and print out a copy.
+</p>
+
+<p>
+If, for some reason, you would prefer the output
+of <strong>TYPEWRITE</strong> single-spaced, pass
+<strong>PRINTSTYLE TYPEWRITE</strong> the optional argument,
+<strong>SINGLESPACE</strong>.
+</p>
+
+<p>
+If you absolutely must have a leading other than typewriter double-
+or singlespaced, the only way to get it is with the
+<a href="#DOC_LEAD">DOC_LEAD</a>
+macro, and then ONLY if <strong>DOC_LEAD</strong> is set
+<strong>before</strong> you invoke the <kbd>.START</kbd>
+macro.
+</p>
+
+<a name="TYPESET_DEFAULTS"><h3><u>TYPESET defaults</u></h3></a>
+
+<pre>
+    Family            = Times Roman
+    Point size        = 12.5
+    Paragraph leading = 16 points, adjusted
+    Fill mode         = justified
+    Hyphenation       = enabled
+                        max. lines = 2
+                        margin = 36 points
+                        interword adjustment = 1 point
+    Kerning           = enabled
+    Ligatures         = enabled
+    Smartquotes       = enabled
+    Word space        = groff default
+    Sentence space    = 0
+</pre>
+
+<a name="TYPEWRITE_DEFAULTS"><h3><u>TYPEWRITE defaults</u></h3></a>
+
+<pre>
+    Family            = Courier
+    Italics           = underlined
+    Point size        = 12
+    Paragraph leading = 24 points, adjusted; 12 points for SINGLESPACE
+    Fill mode         = left
+    Hyphenation       = disabled
+    Kerning           = disabled
+    Ligatures         = disabled
+    Smartquotes       = disabled
+    Word space        = groff default
+    Sentence space    = groff default
+    Columns           = ignored
+</pre>
+
+<a name="TYPEWRITE_CONTROL"><h3><u>PRINTSTYLE TYPEWRITE control 
macros</u></h3></a>
+
+<p>
+In <strong>PRINTSTYLE TYPEWRITE</strong>, <strong>mom</strong>,
+by default, underlines anything that looks like italics.  This
+includes the
+<a href="typesetting.html#SLANT_INLINE"><kbd>\*[SLANT]</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+for pseudo-italics.
+</p>
+
+<p>
+If you'd prefer that <strong>mom</strong> were less bloody-minded
+about pretending to be a typewriter (i.e. you'd like italics and
+pseudo-italics to come out as italics), use the control macros
+<kbd>.ITALIC_MEANS_ITALIC</kbd> and <kbd>.SLANT_MEANS_SLANT</kbd>.
+Neither requires an argument.
+</p>
+
+<p>
+Although it's unlikely, should you wish to reverse
+the sense of these macros in the midst of a document,
+<kbd>.UNDERLINE_ITALIC</kbd> and <kbd>.UNDERLINE_SLANT</kbd> restore
+underlining of italics and pseudo-italics.
+</p>
+
+<a name="UNDERLINE_QUOTES"></a>
+
+<p>
+Additionally, by default, <strong>mom</strong> underlines
+<a href="definitions.html#TERMS_QUOTES">quotes</a>
+(but not
+<a href="definitions.html#TERMS_BLOCKQUOTES">blockquotes</a>)
+in <strong>PRINTSTYLE TYPEWRITE</strong>.
+If you don't like this behaviour, turn it off with
+
+<pre>
+    .UNDERLINE_QUOTES OFF
+</pre>
+</p>
+
+<p>
+To turn underlining of quotes back on, use
+<strong>UNDERLINE_QUOTES</strong> without an argument.
+</p>
+
+<p>
+While most of the
+<a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>
+have no effect on <strong>PRINTSTYLE TYPEWRITE</strong>, there
+is an important exception:
+<a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
+(and by extension, <strong>FOOTER_SIZE</strong>).  This is
+particularly useful for reducing the point size of
+headers/footers should they become crowded (quite likely to
+happen if the title of your document is long and your
+<a href="#COPYSTYLE">COPYSTYLE</a>
+is <strong>DRAFT</strong>).
+</p>
+
+<!-- -COPYSTYLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="COPYSTYLE"></a>
+
+<p>
+<nobr>Macro: <strong>COPYSTYLE</strong> <kbd>DRAFT | FINAL</kbd></nobr>
+</p>
+
+<p>
+<strong>Mom</strong>'s default <strong>COPYSTYLE</strong> is
+<strong>FINAL</strong>, so you don't have to use this macro unless
+you want to.
+</p>
+
+<p>
+<strong>COPYSTYLE DRAFT</strong> exhibits the following behaviour:
+
+<ol>
+    <li>documents start on page 1, whether or not you
+        request a different starting page number with
+        <a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>
+    </li>
+    <li>page numbers are set in lower case roman numerals</li>
+    <li>the draft number supplied by 
+        <a href="#DRAFT">DRAFT</a>
+        and a revision number, if supplied with 
+        <a href="#REVISION">REVISION</a>
+        (see
+        <a href="#REFERENCE_MACROS">reference macros</a>),
+        appear in the centre part of
+        <a href="definitions.html#TERMS_HEADER">page headers</a>
+        (or footers, depending on which you've selected) along with
+        any other information that normally appears there.
+    </li>
+</ol>
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> If you define your own centre part for page
+headers with
+<a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</a>,
+no draft and/or revision number will appear there.  If you want draft
+and revision information in this circumstance, use
+<a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>.
+</p>
+
+<p>
+<strong>COPYSTYLE FINAL</strong> differs from <strong>DRAFT</strong> in that:
+
+<ol>
+    <li>it respects the starting page number you give the document</li>
+    <li>page numbers are set in normal (Arabic) digits</li>
+    <li>no draft or revision number appears in the page headers</li>
+</ol>
+</p>
+
+<p>
+<a name="COPYSTYLE_NOTE"><strong>NOTE:</strong></a>
+The centre part of page headers can get crowded,
+especially with
+<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>
+and
+<a href="docprocessing.html#DOCTYPE">DOCTYPE NAMED</a>,
+when the <strong>COPYSTYLE</strong> is <strong>DRAFT</strong>.
+Three mechanisms are available to overcome this problem.  One is to
+reduce the overall size of headers (with
+<a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>).
+Another, which only works with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
+is to reduce the size of the header's centre part only (with
+<a href="headfootpage.html#_SIZE">HEADER_CENTER_SIZE</a>).
+And finally, you can elect to have the draft/revision information
+attached to page numbers instead of having it appear in the centre
+of page headers (see
+<a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>).
+</p>
+
+<hr/>
+
+<!-- ======================================================================== 
-->
+
+<a name="START_MACRO"><h2><u>Initiate document processing</u></h2></a>
+
+<p>
+In order to use <strong>mom</strong>'s document element macros
+(tags), you have to tell her you want them.  The macro to do this is
+<strong>START</strong>.
+</p>
+
+<p>
+<strong>START</strong> collects the information you gave
+<strong>mom</strong> in the setup section at the top of your file (see
+<a href="#DOCPROCESSING_TUT">Tutorial &mdash; setting up a mom document</a>),
+merges it with her defaults, sets up headers and page numbering,
+and prepares <strong>mom</strong> to process your document using
+the document element tags.  No document processing takes place until
+you invoke <kbd>.START</kbd>.
+</p>
+
+<!-- -START- -->
+
+<hr width="66%" align="left"/>
+
+<a name="START"></a>
+
+<p>
+<nobr>Macro: <strong>START</strong></nobr>
+<br/>
+
+<em>*Required for document processing.</em>
+</p>
+
+<p>
+<strong>START</strong> takes no arguments.  It simply instructs
+<strong>mom</strong> to begin document processing.  If you don't
+want document processing (i.e. you only want the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>),
+don't use <strong>START</strong>.
+</p>
+
+<p>
+At a barest minimum before <strong>START</strong>, you must enter a
+<a href="#PRINTSTYLE">PRINTSTYLE</a>
+command.
+</p>
+
+<hr/>
+
+<!-- ======================================================================== 
-->
+
+<a name="STYLE_BEFORE_START"><h2><u>Changing global typesetting and formatting 
parameters before START</u></h2></a>
+
+<p>
+In the third (optional) part of setting up a document (see
+<a href="#DOCPROCESSING_TUT">Tutorial &mdash; setting up a mom document</a>),
+you can use the
+<a href="typesetting.html">typesetting macros</a>
+to change <strong>mom</strong>'s document-wide defaults for margins,
+line length, family, base point size,
+<a href="definitions.html#TERMS_LEADING">leading</a>,
+and justification style.
+</p>
+
+<p>
+Two additional style concerns have to be addressed here (i.e. in
+macros before
+<a href="#START">START</a>):
+changes to the
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>,
+and whether you want you want the document's nominal leading
+adjusted to fill pages fully to the bottom margin.
+</p>
+
+<ul>
+    <li><a href="#TYPE_BEFORE_START">Using the typesetting macros before 
START</a></li>
+    <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
+        &mdash; adjusting linespacing for equal, accurate bottom margins
+    </li>
+    <li><a href="#DOCHEADER">DOCHEADER</a>
+        &mdash; turning the docheader off
+    </li>
+    <ul>
+        <li><a href="#DOCHEADER_CONTROL">Docheader control</a></li>
+    </ul>
+</ul>
+
+<hr width="66%" align="left"/>
+
+<a name="TYPE_BEFORE_START"><h3><u>Using the typesetting macros before 
START</u></h3></a>
+
+<p>
+From time to time (or maybe frequently), you'll want the overall
+look of a document to differ from <strong>mom</strong>'s defaults.
+Perhaps you'd like her to use a different
+<a href="definitions.html#TERMS_FAMILY">family</a>,
+or a different overall
+<a href="definitions.html#TERMS_LEADING">leading</a>,
+or have different left and/or right page margins.
+</p>
+
+<p>
+To accomplish such alterations, use the appropriate
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+(listed below) <strong>after</strong>
+<a href="#PRINTSTYLE">PRINTSTYLE</a>
+and <strong>before</strong>
+<a href="#START">START</a>.
+</p>
+
+<p>
+More than one user has, quite understandably, not fully grasped
+the significance of the preceding sentence.  The part they've missed
+is &quot;<u>after <strong>PRINTSTYLE</strong></u>&quot;.
+</p>
+
+<p>
+Changes to any aspect of the default look and/or formatting
+of a <strong>mom</strong> document must come after
+<strong>PRINTSTYLE</strong>.  For example, it might seem natural to
+set up page margins at the very top of a document with
+
+<pre>
+    .L_MARGIN 1i
+    .R_MARGIN 1.5i
+</pre>
+</p>
+
+<p>
+However, when you invoke <kbd>.PRINTSTYLE</kbd>, those margins
+will be overridden.  The correct place to set margins &mdash; and
+all other changes to the look of a document &mdash; is <strong>after
+PRINTSTYLE</strong>.
+</p>
+
+<p>
+<strong>NOTE:</strong> Don't use the macros listed in
+<a href="#DOC_PARAM_MACROS">Changing document-wide typesetting parameters 
after START</a>
+prior to <strong>START</strong>; they are exclusively for use
+afterwards.
+</p>
+
+<p>
+When used before <strong>START</strong>, the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+(below) have the following meanings:
+
+<pre>
+    L_MARGIN       Left margin of pages, including headers/footers
+    R_MARGIN       Right margin of pages, including headers/footers
+    T_MARGIN       The point at which running text (i.e. not
+                   headers/footers or page numbers) starts on each page
+    B_MARGIN*      The point at which running text (i.e. not
+    (see note)     headers/footers or page numbers) ends on each page
+
+    PAGE           If you use PAGE, its final four arguments have the
+                   same meaning as L_ R_ T_ and B_MARGIN (above).
+
+    LL             The line length for everything on the page;
+                   equivalent to setting the right margin with R_MARGIN
+    FAMILY         The family of all type in the document
+    PT_SIZE        The point size of type in paragraphs; mom uses this
+                   to calculate automatic point size changes (e.g. for
+                   heads, footnotes, quotes, headers, etc)
+    LS/AUTOLEAD**  The leading used in paragraphs; all leading and spacing
+                   of running text is calculated from this
+
+    QUAD/JUSTIFY   Affects paragraphs only
+    LEFT           No effect***
+    RIGHT          No effect***
+    CENTER         No effect***
+
+------
+  *See <a href="headfootpage.html#FOOTER_MARGIN">FOOTER MARGIN AND BOTTOM 
MARGIN</a> for an important warning
+ **See <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
+***See <a href="#LRC_NOTE">Special note</a>
+</pre>
+</p>
+
+<p>
+Other macros that deal with type style, or refinements thereof
+(<strong>KERN, LIGATURES, HY, WS, SS,</strong> etc.), behave normally.
+It is not recommended that you set up tabs or indents prior to
+<strong>START</strong>.
+</p>
+
+<p>
+If you want to change any of the basic parameters (above)
+<em>after</em> <strong>START</strong> and have them affect a
+document globally (as if you'd entered them <em>before</em>
+<strong>START</strong>), you must use the macros listed in
+<a href="#DOC_PARAM_MACROS">Changing document-wide style parameters after 
START</a>.
+</p>
+
+<a name="LRC_NOTE"><h4><u>Special note on LEFT, RIGHT and CENTER prior to 
START</u></h4></a>
+
+<p>
+In a word, these three macros have no effect on document processing
+when invoked prior to <strong>START</strong>.
+</p>
+
+<p>
+All <strong>mom</strong>'s document element tags
+(<strong>PP</strong>, <strong>HEAD</strong>,
+<strong>BLOCKQUOTE</strong>, <strong>FOOTNOTE</strong>, etc.)
+except
+<a href="docelement.html#QUOTE">QUOTE</a>
+set a
+<a href="definitions.html#TERMS_FILLED">fill mode</a>
+as soon as they're invoked.  If you wish to turn fill mode off for
+the duration of any tag (with
+<nobr><a href="typesetting.html#LRC">LEFT, RIGHT or CENTER</a>)</nobr>
+you must do so immediately after invoking the tag.  Furthermore,
+the change affects <em>only</em> the current invocation of the tag.
+Subsequent invocations of the same tag for which you want the same
+change require that you invoke <kbd>.LEFT</kbd>, <kbd>.RIGHT</kbd>
+or <kbd> CENTER</kbd> immediately after every invocation of the tag.
+</p>
+
+<!-- -INCLUDE- -->
+
+<hr align="left" width="66%"/>
+
+<a name="INCLUDE"><h2><u>Including (sourcing) style sheets and 
files</u></h2></a>
+
+<p>
+If you routinely make the same changes to <strong>mom</strong>'s
+defaults in order to create similar documents in a similar
+style &mdash; in other words, you need a template&mdash; you can create
+style-sheet files and include, or "source", them into your
+<strong>mom</strong> documents with the macro,
+<strong>INCLUDE</strong>.  The right place for such style sheets is
+after 
+<a href="#PRINTSTYLE">PRINTSTYLE</a>
+and before
+<a href="#START">START</a>
+</p>
+
+<p>
+Say, for example, in a particular kind of document, you
+always want main heads set in Helvetica Bold Italic, flush
+left, with no underscore.  You'd create a file, let's call
+it <kbd>head_template</kbd>, in which you'd place the pertinent
+HEAD control macros.
+
+<pre>
+    .HEAD_FAMILY    H
+    .HEAD_FONT      BI
+    .HEAD_QUAD      L
+    .HEAD_UNDERLINE OFF
+</pre>
+
+Then, in the preliminary document set-up section of your main file,
+you'd include the style sheet, or template, like this:
+
+<pre>
+    .TITLE      "Sample Document
+    .AUTHOR     "Joe Blow
+    .PRINTSTYLE TYPESET
+    \#
+    .INCLUDE    head_template
+    \#
+    .START
+</pre>
+
+The blank comment lines <nobr>( <kbd>\#</kbd> )</nobr> aren't
+required, but they do make your file(s) easier to read.
+</p>
+
+<p>
+If the file to be included is in the same directory as the file
+you're working, you simply enter the filename after
+<kbd>.INCLUDE</kbd>.  If the file's in another directory, you must
+provide a full path name to it.  For example, if you're working in
+a directory called <kbd>/home/joe/stories</kbd> and your
+style-sheet is in <kbd>/home/joe/style_sheets</kbd>, the above
+example would have to look like this:
+
+<pre>
+    .TITLE      "Sample Document
+    .AUTHOR     "Joe Blow
+    .PRINTSTYLE TYPESET
+    \#
+    .INCLUDE    /home/joe/style_sheets/head_template
+    \#
+    .START
+</pre>
+</p>
+
+<p>
+<strong>INCLUDE</strong> is not restricted to style sheets
+or templates.  You can include any file at any point into a
+document, provided the file contains only text and valid groff or
+<strong>mom</strong> formatting commands.  Neither is
+<strong>INCLUDE</strong> restricted to use with
+<strong>mom</strong>'s document processing macros.  You can use it
+in plain typeset documents as well.
+</p>
+
+<p>
+<strong>EXPERTS: INCLUDE</strong> is an alias for the groff
+request, <kbd>.so</kbd>.  Mix 'n' match with impunity.
+</p>
+
+<!-- -COLOUR- -->
+
+<hr align="left" width="66%"/>
+
+<a name="COLOR"><h2><u>Initializing colours</u></h2></a>
+
+<p>
+Although it doesn't really matter where you define/initialize
+colours for use in document processing (see
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+and
+<a href="color.html#XCOLOR">XCOLOR</a>
+in the section
+<a href="color.html#COLOR_INTRO">Coloured text</a>),
+I recommend doing so before you begin document processing with
+<a href="#START">START</a>.
+</p>
+
+<p>
+The macro,
+<a href="color.html#COLOR">COLOR</a>,
+and the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<a href="color.html#COLOR_INLINE"><kbd>\[&lt;colorname&gt;]</kbd></a>,
+can be used at any time during document processing for occasional
+colour effects.  However, consistent and reliable colourizing of
+various document elements (the docheader, heads, linebreaks,
+footnotes, pagenumbers, and so on) must be managed through the use
+of the
+<a href="docelement.html#DOCELEMENT_CONTROL">document element control 
macros</a>.
+</p>
+
+<p>
+<strong>PLEASE NOTE:</strong> If you plan to have <strong>mom</strong>
+generate a
+<a href="docelement.html#TOC">table of contents</a>,
+do NOT embed colour
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+(<a href="color.html#COLOR_INLINE"><kbd>\[&lt;colorname&gt;]</kbd></a>)
+in the
+<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>
+given to any of the
+<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>,
+nor in the string arguments given to
+<a href="docelement.html#HEAD">HEAD</a>,
+<a href="docelement.html#SUBHEAD">SUBHEAD</a>
+or
+<a href="docelement.html#PARAHEAD">PARAHEAD</a>.
+Use, rather, the
+<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
+<strong>mom</strong> provides to automatically colourize these
+elements.
+</p>
+
+<!-- -DOC LEAD ADJUST- -->
+
+<hr align="left" width="66%"/>
+
+<a name="DOC_LEAD_ADJUST"><h2><u>Adjust a document's leading to fill 
pages</u></h2></a>
+
+<p>
+<nobr>Macro: <strong>DOC_LEAD_ADJUST</strong> <kbd>toggle</kbd></nobr>
+<br/>
+
+<em>*Must come after LS or AUTOLEAD and before START</em>
+</p>
+
+<p>
+<strong>DOC_LEAD_ADJUST</strong> is a special macro to adjust
+document
+<a href="definitions.html#TERMS_LEADING">leading</a>
+so that bottom margins fall precisely where you expect.
+</p>
+
+<p>
+If you invoke <kbd>.DOC_LEAD_ADJUST</kbd>, <strong>mom</strong>
+takes the number of lines that fit on the page at your requested
+leading, then incrementally adds
+<a href="definitions.html#TERMS_UNITS">machine units</a>
+to the leading until the maximum number of lines at the new leading
+matches the bottom margin.  In most instances, the difference
+between the requested lead and the adjusted lead is
+unnoticeable, and since in almost all cases adjusted leading is
+what you want, it's <strong>mom</strong>'s default.
+</p>
+
+<p>
+Should you NOT want adjusted document leading, you MUST turn it
+off manually, like this:
+
+<pre>
+    .DOC_LEAD_ADJUST OFF
+</pre>
+</p>
+
+<p>
+If you set the document leading prior to <strong>START</strong>
+with
+<a href="typesetting.html#LEADING">LS</a>
+or
+<a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>,
+<strong>DOC_LEAD_ADJUST OFF</strong> must come afterwards, like
+this:
+
+<pre>
+    .LS 12
+    .DOC_LEAD_ADJUST OFF
+</pre>
+</p>
+
+<p>
+In this scenario, the maximum number of lines that fit on a page at
+a
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of 12
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+determine where <strong>mom</strong> ends
+a page.  The effect will be that last lines usually fall (slightly)
+short of the &quot;official&quot; bottom margin.
+</p>
+
+<p>
+In
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
+<strong>TYPEWRITE</strong>, the leading is always adjusted and
+can't be turned off.
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>DOC_LEAD_ADJUST</strong>, if
+used, must be invoked after
+<a href="typesetting.html#LEADING">LS</a>
+or
+<a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>
+and before
+<a href="#START">START</a>
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Even if you disable
+<strong>DOC_LEAD_ADJUST</strong>, <strong>mom</strong> will still
+adjust the leading of endnotes pages and toc pages.  See
+<a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a>
+and
+<a href="docelement.html#TOC_LEAD">TOC_LEAD</a>
+for an explanation of how to disable this default behaviour.
+</p>
+
+<!-- -DOCHEADER- -->
+
+<hr align="left" width="66%"/>
+
+<a name="DOCHEADER"><h2><u>Managing the docheader</u></h2></a>
+
+<p>
+<nobr>Macro: <strong>DOCHEADER</strong> <kbd>&lt;toggle&gt; [ distance to 
advance from top of page ]</kbd></nobr>
+<br/>
+
+<em>*Must come before</em> START; <kbd>distance</kbd> <em>requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+By default, <strong>mom</strong> prints a
+<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
+on the first page of any document (see
+<a href="#DOCHEADER_DESC">below</a>
+for a description of the docheader).  If you don't want a docheader,
+turn it off with
+
+<pre>
+    .DOCHEADER OFF
+</pre> 
+</p>
+
+<p>
+<strong>DOCHEADER</strong> is a toggle macro, so the argument doesn't
+have to be <strong>OFF</strong>; it can be anything you like.
+</p>
+
+<p>
+If you turn the docheader off, <strong>mom</strong>, by default, starts
+the running text of your document on the same top
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+as all subsequent pages.  If you'd like her to start at a different
+vertical position, give her the distance you'd like as a second
+argument.
+
+<pre>
+    .DOCHEADER OFF 1.5i
+</pre>
+</p>
+
+<p>
+This starts the document 1.5 inches from the top of the page PLUS
+whatever spacing adjustment <strong>mom</strong> has to make in
+order to ensure that the first baseline of running text falls on a
+&quot;valid&quot; baseline (i.e. one that ensures that the bottom
+margin of the first page falls where it should).  The distance is
+measured from the top edge of the paper to the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of the first line of type.
+</p>
+
+<p>
+<strong>TIP:</strong> Since no document processing happens until
+you invoke
+<a href="#START"><kbd>.START</kbd></a>
+&mdash; including anything to do with docheaders &mdash; you can
+typeset your own docheader prior to <strong>START</strong> (if
+you don't like the way <strong>mom</strong> does things) and use
+<strong>DOCHEADER OFF</strong> with its optional distance argument
+to ensure that the body of your document starts where you want.  You
+can even insert a PostScript file (with <kbd>.PSPIC</kbd>; see the
+<strong>groff_tmac</strong> man page for usage).
+</p>
+
+<!-- DOCHEADER CONTROL -->
+
+<a name="DOCHEADER_CONTROL"><h3><u>How to change the look of docheaders: 
docheader control macros</u></h3></a>
+
+<p>
+With
+<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+the look of docheaders is carved in stone.
+In
+<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
+however, you can make a lot of changes.  Macros that alter docheaders
+MUST come before
+<a href="#START">START</a>.
+</p>
+
+<a name="DOCHEADER_DESC"></a>
+
+<p>
+A typeset docheader has the following characteristics.  Note that
+title, subtitle, author, and document type are what you supply
+with the
+<a href="#REFERENCE_MACROS">reference macros</a>.
+Any you leave out will not appear; <strong>mom</strong> will
+compensate:
+
+<pre>
+        TITLE         bold, 3.5 points larger than running text (not 
necessarily caps)
+       Subtitle       medium, same size as running text
+          by          medium italic, same size as running text
+       Author(s)      medium italic, same size as running text
+
+    (Document type)   bold italic, underscored, 3 points larger than running 
text
+</pre>
+</p>
+
+<p>
+If the
+<a href="#DOCTYPE">DOCTYPE</a>
+is CHAPTER,
+
+<pre>
+       Chapter &lt;n&gt;       bold, 4 points larger than running text
+      Chapter Title      bold italic, 4 points larger than running text
+</pre>
+</p>
+
+<p>
+The
+<a href="definitions.html#TERMS_FAMILY">family</a>
+is the prevailing family of the whole document.
+</p>
+
+<p>
+<strong>NOTE:</strong> If your <strong>DOCTYPE</strong> is
+<strong>CHAPTER</strong> and you have both &quot;Chapter
+&lt;n&gt;&quot; and a &quot;Chapter Title&quot; (as above),
+<strong>mom</strong> inserts a small amount of whitespace between
+them, equal to one-quarter of the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+in effect.  If this doesn't suit you, you can alter the space
+by including the
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+<a href="inlines.html#UP"><kbd>\*[UP]</kbd></a>
+or
+<a href="inlines.html#DOWN"><kbd>\*[DOWN]</kbd></a>,
+in the argument you pass to
+<a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>,
+like this:
+
+<pre>
+    .CHAPTER_TITLE "\*[DOWN 2p]Why Not Patent Calculus?"
+        or
+    .CHAPTER_TITLE "\*[UP 2p]Why Not Patent Calculus?"
+</pre>
+</p>
+
+<a name="DOCHEADER_CONTROL_INDEX"><h4><u>The docheader macros to:</u></h4></a>
+
+<ol>
+    <li><a href="#CHANGE_START">Change the starting position of the 
docheader</a></li>
+    <li><a href="#DOCHEADER_FAMILY">Change the family of the entire 
docheader</a></li>
+    <li><a href="#ADJUST_LEADING">Adjust the docheader leading</a></li>
+    <li><a href="#CHANGE_FAMILY">Change the family of individual docheader 
elements</a></li>
+    <li><a href="#CHANGE_FONT">Change the font of docheader elements</a></li>
+    <li><a href="#CHANGE_COLOR">Change the colour of the docheader</a></li>
+    <li><a href="#CHANGE_SIZE">Adjust the size of docheader elements</a></li>
+    <li><a href="#CHANGE_ATTRIBUTE">Change the attribution string 
(&quot;by&quot;)</a></li>
+</ol>
+
+<a name="CHANGE_START"><h5><u>1. Change the starting position</u></h5></a>
+
+<p>
+By default, a docheader starts on the same
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+as
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+If you'd like it to start somewhere else, use the macro
+<kbd>.DOCHEADER_ADVANCE</kbd> and give it the distance you want
+(measured from the top edge of the paper to the first baseline
+of the docheader), like this:
+
+<pre>
+    .DOCHEADER_ADVANCE 4P
+</pre>
+
+A
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+is required.
+</p>
+
+<p>
+<strong>NOTE:</strong> If
+<a href="headfootpage.html#HEADERS">HEADERS</a>
+are <strong>OFF</strong>, <strong>mom</strong>'s normal top
+margin for
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+(7.5
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>)
+changes to 6 picas (visually approx. 1 inch).  Since the
+first baseline of the docheader falls on the same baseline
+as the first line of running text (on pages after page 1),
+you might find the docheaders a bit high when headers are off.
+Use
+<a href="#CHANGE_START">DOCHEADER_ADVANCE</a>
+to place them where you want.
+</p>
+
+<a name="DOCHEADER_FAMILY"><h5><u>2. Change the family of the entire 
docheader</u></h5></a>
+
+<p>
+By default, <strong>mom</strong> sets the docheader in the same
+family used for 
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+If you'd prefer to have your docheaders set in a different family,
+invoke <kbd>.DOCHEADER_FAMILY</kbd> with the family you want.
+The argument for <strong>DOCHEADER_FAMILY</strong> is the same as
+for
+<a href="typesetting.html#FAMILY">FAMILY</a>.
+</p>
+
+<p>
+For example, <strong>mom</strong>'s default family for running text
+is Times Roman.  If you'd like to keep that default, but have the
+docheaders set entirely in Helvetica,
+
+<pre>
+    .DOCHEADER_FAMILY H
+</pre>
+
+is how you'd do it.
+</p>
+
+<p>
+Please note that if you use <strong>DOCHEADER_FAMILY</strong>,
+you can still alter the family of individual parts of the docheader
+with the macros listed
+<a href="#CHANGE_FAMILY">here</a>.
+</p>
+
+<a name="ADJUST_LEADING"><h5><u>3. Adjust the leading</u></h5></a>
+
+<p>
+The
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of docheaders is the same as running text.  If you'd like your
+docheaders to have a different leading, say, 2 points more than the
+lead of running text, use:
+
+<pre>
+    .DOCHEADER_LEAD +2
+</pre>
+</p>
+
+<p>
+Since the leading of docheaders is calculated from the lead of running
+text, a + or - sign is required before the argument (how much to add
+or subtract from the lead of running text).  No 
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+is required; points is assumed.
+</p>
+
+<a name="CHANGE_FAMILY"><h5><u>4. Change the family of docheader 
elements</u></h5></a>
+
+<p>
+The following macros let you change the
+<a href="definitions.html#TERMS_FAMILY">family</a>
+of each docheader element separately:
+
+<ul>
+    <li><nobr><kbd>.TITLE_FAMILY &lt;family&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.CHAPTER_TITLE_FAMILY &lt;family&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.SUBTITLE_FAMILY &lt;family&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.AUTHOR_FAMILY &lt;family&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.DOCTYPE_FAMILY &lt;family&gt;</kbd></nobr>
+        (if <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
+    </li>
+</ul>
+</p>
+
+<p>
+Simply pass the appropriate macro the family you want, just as you
+would with
+<a href="typesetting.html#FAMILY">FAMILY</a>.
+</p>
+
+<a name="CHANGE_FONT"><h5><u>5. Change the font of docheader 
elements</u></h5></a>
+
+<p>
+The following macros let you change the
+<a href="definitions.html#TERMS_FONT">font</a>
+of each docheader element separately:
+
+<ul>
+    <li><nobr><kbd>.TITLE_FONT R | B | I | BI</kbd></nobr></li>
+    <li><nobr><kbd>.CHAPTER_TITLE_FONT R | B | I | BI</kbd></nobr></li>
+    <li><nobr><kbd>.SUBTITLE_FONT R | B | I | BI</kbd></nobr></li>
+    <li><nobr><kbd>.AUTHOR_FONT R | B | I | BI</kbd></nobr></li>
+    <li><nobr><kbd>.DOCTYPE_FONT R | B | I | BI</kbd></nobr>
+        (if <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
+    </li>
+</ul>
+</p>
+
+<p>
+Simply pass the appropriate macro the font you want. <kbd>R, B,
+I</kbd> and <kbd>BI</kbd> have the same meaning as they do for
+<a href="typesetting.html#FONT">FT</a>.
+</p>
+
+<a name="CHANGE_COLOR"><h5><u>6. Change the colour of the docheader elements 
individually</u></h5></a>
+
+<p>
+The following macros let you change the color of each docheader
+element separately.  You must pre-define (or
+&quot;initialize&quot;) the color with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+
+<ul>
+    <li><nobr><kbd>.TITLE_COLOR &lt;colorname&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.CHAPTER_TITLE_COLOR &lt;colorname&gt;</kbd></nobr></li>
+    <ul>
+        <li><strong>Note: CHAPTER_TITLE_COLOR</strong> is needed
+            only if you enter both a <strong>CHAPTER</strong>
+            reference macro AND a <strong>CHAPTER_TITLE</strong>
+            macro.  Otherwise, the macro,
+            <strong>TITLE_COLOR</strong> takes care of colorizing
+            the chapter header.
+        </li>
+    </ul>
+    <li><nobr><kbd>.SUBTITLE_COLOR &lt;colorname&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.ATTRIBUTE_COLOR &lt;colorname&gt;</kbd></nobr>
+        (the &quot;by&quot; string that precedes the author[s] name[s])
+    </li>
+    <li><nobr><kbd>.AUTHOR_COLOR &lt;colorname&gt;</kbd></nobr></li>
+    <li><nobr><kbd>.DOCTYPE_COLOR  &lt;colorname&gt;</kbd></nobr>
+        (if <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
+    </li>
+</ul>
+</p>
+
+<p>
+It is not recommended that you embed colour (with the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<a href="color.html#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a>)
+in the strings passed to
+<strong>TITLE</strong>, <strong>CHAPTER_TITLE</strong>,
+<strong>SUBTITLE</strong>, <strong>AUTHOR</strong> or the name you
+give <strong>DOCTYPE NAMED</strong>.  The strings passed to these
+macros are used to generate page
+<a href="definitions.html#TERMS_HEADER">headers</a>
+and
+<a href="definitions.html#TERMS_FOOTER">footers</a>.
+An embedded colour will cause the string to be colourized any time
+it appears in headers or footers.  (If you want headers or footers
+colourized, or parts thereof, use the header/footer control macros.)
+</p>
+
+<a name="DOCHEADER_COLOR"></a>
+
+<p>
+If you want to colourize the entire docheader, use the macro
+
+<ul>
+    <li><nobr><strong>DOCHEADER_COLOR</strong> <kbd>&lt;color 
name&gt;</kbd></nobr></li>
+</ul>
+</p>
+
+<a name="CHANGE_SIZE"><h5><u>7. Adjust the size of docheader 
elements</u></h5></a>
+
+<p>
+The following macros let you adjust the point size of each docheader
+element separately.
+</p>
+
+<p>
+<strong>Mom</strong> calculates the point size
+of docheader elements from the point size of paragraphs in running
+text, so you must prepend a + or - sign to the argument.  Points is
+assumed as the
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+so there's no need to append a unit to the argument.  Fractional point
+sizes are allowed.
+</p>
+
+<ul>
+    <li><nobr><kbd>.TITLE_SIZE &lt;+/-points&gt;</kbd></nobr>
+        <br/>
+
+        default = +3.5 (+4 if docheader title is &quot;Chapter &lt;n&gt;&quot;)
+    </li>
+    <li><nobr><kbd>.CHAPTER_TITLE_SIZE &lt;+/-points&gt;</kbd></nobr>
+        <br/>
+
+        default = +4
+    </li>
+    <li><nobr><kbd>.SUBTITLE_SIZE &lt;+/-points&gt;</kbd></nobr>
+        <br/>
+
+        default = +0
+    </li>
+    <li><nobr><kbd>.AUTHOR_SIZE &lt;+/-points&gt;</kbd></nobr>
+        <br/>
+
+        default = +0
+    </li>
+    <li><nobr><kbd>.DOCTYPE_SIZE &lt;+/-points&gt;</kbd></nobr>
+        (if <a href="#DOCTYPE">DOCTYPE</a> is NAMED)
+        <br/>
+
+        default = +3
+    </li>
+</ul>
+
+<p>
+Simply pass the appropriate macro the size adjustment you want.
+</p>
+
+<a name="CHANGE_ATTRIBUTE"><h5><u>8. Change the attribution string 
(&quot;by&quot;)</u></h5></a>
+
+<p>
+If you're not writing in English, you can change what
+<strong>mom</strong> prints where &quot;by&quot; appears in
+docheaders.  For example,
+
+<pre>
+    .ATTRIBUTE_STRING "par"
+</pre>
+
+changes &quot;by&quot; to &quot;par&quot;.  <strong>ATTRIBUTE_STRING</strong>
+can also be used, for example, to make the attribution read
+&quot;Edited by&quot;.
+</p>
+
+<p>
+If you don't want an attribution string at all, simply pass
+<strong>ATTRIBUTE_STRING</strong> an empty argument, like this:
+
+<pre>
+    .ATTRIBUTE_STRING ""
+</pre>
+</p>
+
+<p>
+<strong>Mom</strong> will deposit a blank line where the
+attribution string normally appears.
+</p>
+
+<p>
+If the optional argument, <kbd>COVER</kbd> or <kbd>DOC_COVER</kbd>,
+is given to <strong>ATTRIBUTE_STRING</strong>, the string argument
+represents the attribution string that will appear on cover or
+document cover pages (see the
+<a href="cover.html#COVER_INTRO">Introduction to cover pages</a>
+for a description of the difference between &quot;document
+covers&quot; and &quot;covers&quot;).  Thus, it is possible to have
+different attribution strings on the document cover page, the cover
+(&quot;title&quot;) page, and in the first-page docheader.  An
+extreme example would be:
+
+<pre>
+    .ATTRIBUTE_STRING ""
+    .ATTRIBUTE_STRING DOC_COVER "Edited by"
+    .ATTRIBUTE_STRING COVER "by"
+</pre>
+
+The first invocation of <kbd>.ATTRIBUTE_STRING</kbd> establishes a
+blank attribution string that will be incorporated in the first-page
+docheader.  The second will print &quot;Edited by&quot; on the
+document cover; the third will print &quot;by&quot; on the cover
+(&quot;title&quot;) page.
+</p>
+
+<p>
+If you don't require differing attribute strings for doc
+cover pages, cover pages, or the first-page docheader,
+<kbd>.ATTRIBUTE_STRING</kbd>, without either of the optional first
+arguments, is sufficient.
+</p>
+
+<p>
+<strong>NOTE:</strong> The type specs for the attribution line
+in docheaders are the same as for the author line.  Although
+it's highly unlikely you'll want the attribution line in a
+different family, font, or point size, you can do so by using
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+in the argument to <strong>ATTRIBUTE_STRING</strong>.  For
+example,
+
+<pre>
+    .ATTRIBUTE_STRING "\f[HBI]\*[SIZE -2p] by \*[SIZE +2p]\*[PREV]"
+</pre>
+
+would set &quot;by&quot; in Helvetica bold italic, 2 points
+smaller than normal.
+</p>
+
+<!-- -COLUMNS- -->
+
+<hr align="left" width="66%"/>
+
+<a name="COLUMNS_INTRO"><h2><u>Setting documents in columns</u></h2></a>
+
+<p>
+Setting documents in columns is easy with <strong>mom</strong>.  (Of
+course she'd say that, but it's true!)  All you have to do is is say
+how many columns you want and how much space you want between them
+(the
+<a href="definitions.html#TERMS_GUTTER">gutters</a>).
+That's it. <strong>Mom</strong> takes care of everything else, from
+soup to nuts.
+</p>
+
+<h3><u>Some words of advice</u></h3>
+
+<p>
+If you want your type to achieve a pleasing
+<a href="definitions.html#TERMS_JUST">justification</a>
+or
+<a href="definitions.html#TERMS_RAG">rag</a>
+in columns, reduce the point size of type (and probably the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+as well).  <strong>Mom</strong>'s default document point
+size is 12.5, which works well across her default 39
+<a href="definitions.html#TERMS_PICASPOINTS">pica</a>
+full page line length, but with even just two columns on a page,
+the default point size is awkward to work with.
+</p>
+
+<p>
+Furthermore, you'll absolutely need to reduce the indents for
+<a href="docelement.html#EPIGRAPH_CONTROL">epigraphs</a>,
+<a href="docelement.html#QUOTE_GENERAL">quotes</a>,
+and
+<a href="docelement.html#BLOCKQUOTE_GENERAL">blockquotes</a>
+(and probably the
+<a href="docelement.html#PARA_INDENT">paragraph first-line indent</a>
+as well).
+</p>
+
+<!-- -COLUMN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="COLUMNS"></a>
+
+<p>
+<nobr>Macro: <strong>COLUMNS</strong> <kbd>&lt;number of columns&gt; &lt;width 
of gutters&gt;</kbd></nobr>
+<br/>
+
+<em>*Should be the last macro before</em> START
+<br/>
+
+<em>The second argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+<strong>COLUMNS</strong> takes two arguments: the number of
+columns you want on document pages, and the width of the
+<a href="definitions.html#TERMS_GUTTER">gutter</a>
+between them.  For example, to set up a page with two columns
+separated by an 18 point gutter, you'd do
+
+<pre>
+    .COLUMNS 2 18p
+</pre>
+</p>
+
+<p>
+Nothing to it, really.  However, as noted above,
+<strong>COLUMNS</strong> should always be the last document
+setup macro prior to
+<a href="#START">START</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>Mom</strong> ignores columns completely
+when the
+<a href="#PRINTSTYLE">PRINTSTYLE</a>
+is <strong>TYPEWRITE</strong>.    The notion of typewriter-style
+output in columns is just too ghastly for her to bear.
+</p>
+
+<h4><u>Using tabs when COLUMNS are enabled</u></h4>
+
+<p>
+<strong>Mom</strong>'s tabs
+(both
+<a href="typesetting.html#TYPESETTING_TABS">typesetting tabs</a>
+and
+<a href="typesetting.html#STRING_TABS">string tabs</a>)
+behave as you'd expect during document processing, even when
+<strong>COLUMNS</strong> are enabled.  Tab structures set up
+during document processing carry over from page to page and column
+to column.
+</p>
+
+<!-- -BREAKING COLUMNS- -->
+
+<a name="BREAKING_COLUMNS"><h4><u>Breaking columns manually</u></h4></a>
+
+<p>
+<strong>Mom</strong> takes care of breaking columns when they reach
+the bottom margin of a page.  However, there may be times you want to
+break the columns yourself.  There are two macros for breaking columns
+manually: <strong>COL_NEXT</strong> and <strong>COL_BREAK</strong>.
+</p>
+
+<a name="COL_NEXT"></a>
+
+<p>
+<kbd>.COL_NEXT</kbd> breaks the line just before it,
+<a href="definitions.html#TERMS_QUAD">quads</a>
+it left (assuming the type is justified or quad left), and moves over
+to the top of the next column.  If the column happens to be the last
+(rightmost) one on the page, <strong>mom</strong> starts a new page
+at the &quot;column 1&quot; position.  This is the macro to use when
+you want to start a new column after the end of a paragraph.
+</p>
+
+<a name="COL_BREAK"></a>
+
+<p>
+<kbd>.COL_BREAK</kbd> is almost the same, except that
+instead of breaking and quadding the line preceding it,
+she breaks and spreads it (see
+<a href="typesetting.html#SPREAD">SPREAD</a>).
+Use this macro whenever you need to start a new column in the middle
+of a paragraph.
+</p>
+
+<p>
+If you need <strong>COL_BREAK</strong> in the middle of a blockquote
+or (god help you) an epigraph, you must do the following in order for
+<strong>COL_BREAK</strong> to work:
+
+<pre>
+    .SPREAD
+    \!.COL_BREAK
+</pre>
+</p>
+
+<hr/>
+
+<!-- ======================================================================== 
-->
+
+<a name="DOC_PARAM_MACROS"><h2><u>Changing global style parameters after 
START</u></h2></a>
+
+<p>
+In the normal course of things, you change the basic type
+parameters of a document <em>before</em>
+<a href="#START">START</a>,
+using
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+(<strong>L_MARGIN, FAMILY, PT_SIZE, LS,</strong> etc).  After
+<strong>START</strong>, you MUST use the following macros to make
+global changes to the basic type parameters of a document.
+</p>
+
+<a name="INDEX_DOC_PARAM"><h3><u>Macro list</u></h3></a>
+
+<ul>
+    <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a></li>
+    <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a></li>
+    <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a></li>
+    <li><a href="#DOC_FAMILY">DOC_FAMILY</a></li>
+    <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a></li>
+    <li><a href="#DOC_LEAD">DOC_LEAD</a></li>
+    <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a></li>
+    <li><a href="#DOC_QUAD">DOC_QUAD</a></li>
+</ul>
+
+<!-- -DOC_LEFT_MARGIN -->
+
+<hr width="66%" align="left"/>
+
+<a name="DOC_LEFT_MARGIN"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_LEFT_MARGIN</strong> <kbd>&lt;left 
margin&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<ul>
+    <li>the argument is the same as for
+        <a href="typesetting.html#L_MARGIN">L_MARGIN</a>
+    </li>
+    <li>changes all left margins to the new value</li>
+    <li>the line length remains the same (i.e. the right margin
+        shifts when you change the left margin)
+    </li>
+</ul>
+
+<!-- -DOC_RIGHT_MARGIN -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_RIGHT_MARGIN"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_RIGHT_MARGIN</strong> <kbd>&lt;right 
margin&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<ul>
+    <li>the argument is the same as for
+        <a href="typesetting.html#R_MARGIN">R_MARGIN</a>
+    </li>
+    <li>changes all right margins, including
+        <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>,
+        headers (or footers) and page numbering to the new value;
+        for changing the right margin of
+        <a href="definitions.html#TERMS_RUNNING">running text</a>
+        only, use
+        <a href="typesetting.html#R_MARGIN">R_MARGIN</a>
+        (see
+        <a href="typemacdoc.html#TOP">Using typesetting macros during
+        document processing</a>,
+        entry for <strong>R_MARGIN</strong>)
+    </li>
+    <li>all mom commands that include a right indent calculate
+        the indent from the new value
+    </li>
+</ul>
+
+<!-- -DOC_RIGHT_MARGIN -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_LINE_LENGTH"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_LINE_LENGTH</strong> <kbd>&lt;length&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<ul>
+    <li>the argument is the same as for
+        <a href="typesetting.html#LINELENGTH">LL</a>
+    </li>
+    <li>exactly equivalent to changing the right margin with
+        DOC_RIGHT_MARGIN (see
+        <a href="#DOC_RIGHT_MARGIN">above</a>);
+        for changing the line length of
+        <a href="definitions.html#TERMS_RUNNING">running text</a>
+        only, use
+        <a href="typesetting.html#LINELENGTH">LL</a>
+        (see
+        <a href="typemacdoc.html#TOP">Using typesetting macros during
+        document processing</a>,
+        entry for <strong>LL</strong>)
+    </li>
+</ul>
+
+<!-- -DOC_FAMILY- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_FAMILY"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_FAMILY</strong> <kbd>&lt;family&gt;</kbd></nobr>
+</p>
+
+<ul>
+    <li>the argument is the same as for
+        <a href="typesetting.html#FAMILY">FAMILY</a>
+    </li>
+    <li>globally changes the type family for</li>
+    <ul>
+        <li>the <a href="definitions.html#TERMS_DOCHEADER">docheader</a></li>
+        <li>all <a href="docelement.html#INDEX_DOCELEMENT">document element 
tags</a>, including footnotes</li>
+        <li><a href="definitions.html#TERMS_HEADER">headers and/or 
footers</a></li>
+        <li><a href="docelement.html#NUMBER_LINES_INTRO">line 
numbering</a></li>
+        <li><a href="headfootpage.html#PAGINATION">page numbering</a></li>
+    </ul>
+    <li>does <em>not</em> change the family of</li>
+    <ul>
+        <li><a href="cover.html#DOC_COVER">document cover pages</a></li>
+        <li><a href="cover.html#COVER">cover pages</a></li>
+        <li><a href="docelement.html#ENDNOTE_INTRO">endnotes pages</a></li>
+        <li><a href="docelement.html#TOC_INTRO">table of contents</a></li>
+    </ul>
+    <li>any page elements (e.g. headers page numbers, footnotes) whose
+        families you wish to remain at their old values must be
+        reset with the appropriate
+        <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>
+    </li>
+</ul>
+
+<!-- -DOC_PT_SIZE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_PT_SIZE"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_PT_SIZE</strong> <kbd>&lt;point size&gt;</kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>; points is assumed</em>
+</p>
+
+<ul>
+    <li>the argument is the same as for
+        <a href="typesetting.html#PS">PT_SIZE</a>,
+        and refers to the point size of type in paragraphs
+    </li>
+    <li>all automatic point size changes (heads, quotes,
+        footnotes, headers, etc.) are affected by the new size;
+        anything you do not want affected must be reset to
+        its former value (see the Control Macros section of
+        the pertinent document element for instructions on
+        how to do this)
+    </li>
+</ul>
+
+<!-- -DOC_LEAD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_LEAD"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_LEAD</strong> <kbd>&lt;points&gt;</kbd> [ ADJUST 
]</nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>; points is assumed</em>
+</p>
+
+<ul>
+    <li>the argument is the same as for
+        <a href="typesetting.html#LEADING">LS</a>,
+        and refers to the
+        <a href="definitions.html#TERMS_LEAD">leading</a>
+        of paragraphs
+    </li>
+    <li>because paragraphs will have a new leading, the leading and
+        spacing of most running text is influenced by the new value
+    </li>
+    <li>epigraphs and footnotes remain unaffected;
+        if you wish to change their leading, use
+        <a href="docelement.html#EPIGRAPH_AUTOLEAD">EPIGRAPH_AUTOLEAD</a>
+        and
+        <a href="docelement.html#FOOTNOTE_AUTOLEAD">FOOTNOTE_AUTOLEAD</a>.
+    </li>
+    <li>the optional argument <strong>ADJUST</strong> performs
+        leading adjustment as explained in
+        <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
+    </li>
+</ul>
+
+<p>
+<strong>IMPORTANT:</strong> Do not use <strong>DOC_LEAD</strong>
+in the middle of a page!  It should always and only be invoked
+immediately prior to a new page, like this:
+
+<pre>
+    .DOC_LEAD &lt;new value&gt;
+    .NEWPAGE
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> Even if you don't pass
+<strong>DOC_LEAD</strong> the optional argument
+<kbd>ADJUST</kbd>, <strong>mom</strong> will still adjust the
+leading of endnotes pages and toc pages.  See
+<a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a>
+and
+<a href="docelement.html#TOC_LEAD">TOC_LEAD</a>
+for an explanation of how to disable this default behaviour.
+</p>
+
+<!-- -DOC_QUAD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DOC_QUAD"></a>
+
+<p>
+<nobr>Macro: <strong>DOC_QUAD</strong> <kbd>L | R | C | J</kbd></nobr>
+</p>
+
+<ul>
+    <li>the arguments are the same as for
+        <a href="typesetting.html#QUAD">QUAD</a>
+    </li>
+    <li>affects paragraphs, epigraphs and footnotes; does not
+        affect blockquotes
+    </li>
+</ul>
+
+<hr/>
+
+<p>
+<a href="typemacdoc.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="color.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: goodies.html
===================================================================
RCS file: goodies.html
diff -N goodies.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ goodies.html        1 Aug 2006 01:14:08 -0000       1.19
@@ -0,0 +1,1435 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Goodies</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="inlines.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="typesetting.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="GOODIES"><h1 align="center"><u>Goodies</u></h1></a>
+
+<p>
+The macros in this section are a collection of useful (and sometimes
+nearly indispensable) routines to simplify typesetting.
+</p>
+
+<a name="INDEX_GOODIES"><h3><u>Goodies list</u></h3></a>
+
+<ul>
+    <li><a href="#ALIAS">ALIAS</a> (rename macros)</li>
+    <li><a href="#SILENT">SILENT</a> (&quot;hide&quot; input lines from 
output)</li>
+    <li><a href="#TRAP">TRAP</a> (suspend/re-invoke traps)</li>
+    <li><a href="#SMARTQUOTES">SMARTQUOTES</a> (convert typewriter 
doublequotes to proper doublequotes)</li>
+    <li><a href="#CAPS">CAPS</a> (convert to upper case)</li>
+    <li><a href="#STRING">STRING</a> (user-definable strings)</li>
+    <li><a href="#ESC_CHAR">ESC_CHAR</a> (change to escape character to 
something other than a backslash)</li>
+    <li><strong>Underscore/underline</strong></li>
+    <ul>
+        <li><a href="#UNDERSCORE">UNDERSCORE</a> (single underscore)</li>
+        <li><a href="#UNDERSCORE2">UNDERSCORE2</a> (double underscore)</li>
+        <li><a href="#UNDERLINE">UNDERLINE</a> (underline &mdash; Courier 
only!)</li>
+        <li><a href="#UL">\*[UL]</a> (inline escape to underline &mdash; 
Courier only!)</li>
+    </ul>
+    <li><strong>Padding</strong></li>
+    <ul>
+        <li><a href="#PAD">PAD</a> (insert equalized space into lines)</li>
+        <li><a href="#PAD_MARKER">PAD_MARKER</a> (change/set the marker used 
with <strong>PAD</strong>)</li>
+    </ul>
+    <li><strong>Leaders</strong></li>
+    <ul>
+        <li><a href="#LEADER">\*[LEADER]</a> (inline escape to add leaders to 
a line)</li>
+        <li><a href="#LEADER_CHARACTER">LEADER_CHARACTER</a> (change/set the 
leader character)</li>
+    </ul>
+    <li><strong>Drop caps</strong></li>
+    <ul>
+        <li><a href="#DROPCAP">DROPCAP</a> (set a drop cap)</li>
+        <li><strong>Support macros for DROPCAP</strong></li>
+        <ul>
+            <li><a href="#DROPCAP_FAMILY">DROPCAP_FAMILY</a> (change drop cap 
family)</li>
+            <li><a href="#DROPCAP_FONT">DROPCAP_FONT</a> (change drop cap 
font)</li>
+            <li><a href="#DROPCAP_ADJUST">DROPCAP_ADJUST</a> (alter size of 
drop cap)</li>
+            <li><a href="#DROPCAP_COLOR">DROPCAP_COLOR</a> (change colour of 
drop cap)</li>
+            <li><a href="#DROPCAP_GUTTER">DROPCAP_GUTTER</a> (change space 
between drop cap and running text)</li>
+        </ul>
+    </ul>
+    <li><strong>Superscripts</strong></li>
+    <ul>
+        <li><a href="#SUP">\*[SUP]</a> (set superscript)</li>
+        <li><a href="#CONDSUP">\*[CONDSUP]</a> (set condensed superscript)</li>
+        <li><a href="#EXTSUP">\*[EXTSUP]</a> (set extended superscript)</li>
+    </ul>
+    <li><strong>Lists</strong></li>
+    <ul>
+        <li><a href="docelement.html#LIST_INTRO">Introduction to lists</a></li>
+        <li><a href="docelement.html#LIST">LIST</a></li>
+        <li><a href="docelement.html#ITEM">ITEM</a></li>
+        <li><a href="docelement.html#SHIFT_LIST">SHIFT_LIST</a></li>
+        <li><a href="docelement.html#RESET_LIST">RESET_LIST</a></li>
+        <li><a href="docelement.html#PAD_LIST_DIGITS">PAD_LIST_DIGITS</a></li>
+    </ul>
+</ul>
+
+<!-- -ALIAS- -->
+
+<hr width="66%" align="left"/>
+
+<a name="ALIAS"><h3><u>Rename macros</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>ALIAS</strong> <kbd>&lt;new name&gt; &lt;old 
name&gt;</kbd></nobr>
+</p>
+
+<p>
+The <strong>ALIAS</strong> macro may well be your best friend.
+With it, you can change the name of a macro to anything you
+like (provided the new name is not already being used by
+<strong>mom</strong>; see the
+<a href="reserved.html#RESERVED">list of reserved words</a>).
+</p>
+
+<p>
+Groff has always been a bit intimidating for new users because
+its standard macro packages use very terse macro names.
+<strong>Mom</strong> doesn't like people to feel intimidated;
+she wants them to feel welcome.  Consequently, she tries
+for easy-to-grasp, self-explanatory macro names.  However,
+<strong>mom</strong> knows that people have their own ways of
+thinking, their own preferences, their own habits.  Some of her
+macro names may not suit you; they might be too long, or aren't what
+you automatically think of when you want to do a particular thing,
+or might conflict with habits you've developed over the years.
+</p>
+
+<p>
+If you don't like one of <strong>mom</strong>'s macro names,
+say, PAGEWIDTH, change it, like this:
+
+<pre>
+    .ALIAS PW PAGEWIDTH
+           |      |
+      new__|      |__official
+     name            name
+</pre>
+</p>
+
+<p>
+The first argument to <strong>ALIAS</strong> is the new name you
+want for a macro.  The second is the &quot;official&quot; name by
+which the macro is normally invoked.  After <strong>ALIAS</strong>,
+either can be used.
+</p>
+
+<p>
+Note that in <strong>ALIAS</strong>, you do NOT include the period
+(dot) that precedes the macro when it's a
+<a href="definitions.html#TERMS_CONTROLLINES">control line</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you use <strong>ALIAS</strong> a lot, and
+always for the same things, consider creating an aliases file of the
+form
+
+<pre>
+    .ALIAS &lt;new name&gt; &lt;old name&gt;
+    .ALIAS &lt;new name&gt; &lt;old name&gt;
+    .ALIAS &lt;new name&gt; &lt;old name&gt;
+    ...etc
+</pre>
+
+Put the file someplace convenient and source it (include it) at the
+beginning of your documents with the
+<a href="docprocessing.html#INCLUDE">INCLUDE</a>
+macro.  Assuming that you've created an aliases file
+called <kbd>mom_aliases</kbd> in your home directory under
+a directory called <kbd>Mom</kbd>, you'd source it by placing
+
+<pre>
+    .INCLUDE /home/&lt;username&gt;/Mom/mom_aliases
+</pre>
+
+at the top of your documents.
+</p>
+
+<p>
+If you share documents that make use of an alias file, remember that
+other people don't have the file!  Paste the whole thing at the top
+of your documents, please.
+</p>
+
+<p>
+<strong>EXPERTS:</strong> <strong>ALIAS</strong> is an alias
+of <kbd>.als</kbd>.  You can use either, or mix 'n' match with
+impunity.
+</p>
+
+<!-- -SILENT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SILENT"><h3><u>Hide input lines from output</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SILENT</strong> <kbd>toggle</kbd></nobr>
+<br/>
+
+Alias: <strong>COMMENT</strong>
+</p>
+
+<p>
+Sometimes, you want to &quot;hide&quot;
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+from final output.  This is most likely to be the case when setting
+up string tabs (see the
+<a href="typesetting.html#STRING_TABS_TUT">quickie tutorial on string tabs</a>
+for an example), but there are other places where you might want input
+lines to be invisible as well.  Any place you don't want input lines
+to appear in the output, use the <strong>SILENT</strong> macro.
+</p>
+
+<p>
+<strong>SILENT</strong> is a toggle.  Invoking it without an argument
+turns it on; any argument turns it off.  E.g.,
+
+<pre>
+    .SILENT
+    A line of text
+    .SILENT OFF
+</pre>
+</p>
+
+<p>
+The line &quot;A line of text&quot; will not appear in the
+output copy.
+</p>
+
+<p>
+<strong>SILENT</strong> is aliased as <strong>COMMENT</strong>.
+If you want to insert non-printing comments into your documents,
+you may prefer this.
+</p>
+
+<p>
+<strong>NOTE: SILENT</strong> does not automatically break an
+<a href="definitions.html#TERMS_INPUTLINE">input line</a>
+(see
+<a href="typesetting.html#BR">BR</a>)
+when you're in one of the
+<a href="definitions.html#TERMS_FILLED">fill modes</a>
+(<a href="typesetting.html#JUSTIFY">JUSTIFY</a>
+or
+<a href="typesetting.html#QUAD">QUAD L | R | C | J</a>).
+The same applies to tabs
+(<a href="typesetting.html#TAB_SET">typesetting</a>
+or
+<a href="typesetting.html#ST">string</a>)
+to which you've passed the <strong>J</strong> or
+<strong>QUAD</strong> argument.  You must insert <kbd>.BR</kbd>
+yourself, or risk a portion of your text disappearing into a black
+hole.
+</p>
+
+<!-- -TRAP- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TRAP"><h3><u>Suspend/re-invoke traps</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>TRAP</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+Traps are vertical positions on the output page at which you or
+<strong>mom</strong> have instructed groff to start doing something
+automatically.  Commonly, this is near the bottom of the page, where
+automatic behind-the-scenes processing is needed in order for one
+page to finish and another to start.
+</p>
+
+<p>
+Sometimes, traps get sprung when you don't want them.  If this
+happens, surround just the offending macros and input lines with
+
+<pre>
+    .TRAP OFF
+    ...
+    .TRAP
+</pre>
+</p>
+
+<p>
+<strong>TRAP</strong> is a toggle, therefore any argument 
+turns it off (i.e. suspends the trap), and no argument turns it
+(back) on.
+</p>
+
+<!-- -SMARTQUOTES- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SMARTQUOTES"><h3><u>Convert typewriter doublequotes to proper 
doublequotes</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SMARTQUOTES</strong> <kbd>[&lt;off&gt;] [ ,, | &gt;&gt; | 
&lt;&lt; ]</kbd></nobr>
+<br/>
+
+or
+<br/>
+
+<nobr>Macro: <strong>SMARTQUOTES</strong> <kbd>DA | DE | ES | FR | IT | NL | 
NO | PT | SV</kbd></nobr>
+</p>
+
+<p>
+If you invoke <strong>SMARTQUOTES</strong> without an argument,
+<strong>mom</strong> converts all instances of the inch-mark,
+(<kbd>"</kbd> &mdash; also called a &quot;doublequote&quot;), into
+the appropriate instances of true Anglo-American open-and
+close-doublequotes.  (See
+<a href="#SQ_INTERNATIONAL">Internationalization</a>
+for how to get SMARTQUOTES to behave correctly for non-English
+quoting styles.)
+</p>
+
+<p>
+Typographically, there is a difference between the inch-mark and
+doublequotes &mdash; a BIG difference.  Sadly, typewriters and computer
+keyboards supply only one: the inch-mark.  While using inches for
+doublequotes is, and always has been, acceptable in typewriter-style
+copy, it has never been, and, God willing, never will be acceptable in
+typeset copy.  Failure to turn inches into quotes is the first thing
+a professional typesetter notices in documents prepared by amateurs.
+And you don't want to look like an amateur, do you?
+</p>
+
+<a name="SQ_INTERNATIONAL"><h3><u>Internationalization</u></h3></a>
+
+<p>
+If you invoke <strong>SMARTQUOTES</strong> with one of the
+optional arguments (<kbd>,,</kbd> or <kbd>&gt;&gt;</kbd>
+or <kbd>&lt;&lt;</kbd>) you can use <kbd>&quot;</kbd> as
+&quot;cheap&quot; open-and close-quotes when inputting text in a
+language other than English, and have <strong>mom</strong> convert
+them, on output, into the chosen open-and close-quote style.
+</p>
+
+<p>
+<kbd>,,</kbd> opens quotes with &quot;lowered doublequotes&quot; and
+closes them with &quot;raised doublequotes&quot;, as in this ascii
+approximation:
+
+<pre>
+    ,,Hilfe !``
+</pre>
+
+<kbd>&gt;&gt;</kbd> opens quotes with guillemets pointing to the
+right, and closes them with guillemets pointing to the left, as in
+this ascii approximation:
+
+<pre>
+    &gt;&gt;Zurück !&lt;&lt;
+</pre>
+</p>
+
+<p>
+<kbd>&lt;&lt;</kbd> opens quotes with guillemets pointing to the
+left, and closes them with guillemets pointing to the right, as in
+this ascii approximation:
+
+<pre>
+    &lt;&lt;Mais monsieur! Je ne suis pas ce genre de fille!&gt;&gt;
+</pre>
+</p>
+
+<p>
+Please note: the above arguments to <strong>SMARTQUOTES</strong>
+are literal ASCII characters. <kbd>,,</kbd> is two commas,
+<kbd>&lt;&lt;</kbd> is two less-than signs and <kbd>&gt;&gt;</kbd>
+is two greater-than signs.
+</p>
+
+<p>
+Alternatively, you can pass <strong>SMARTQUOTES</strong> the
+two-letter, ISO 639 abbreviation for the language you're writing in,
+and <strong>mom</strong> will output the correct quotes.
+
+<pre>
+    .SMARTQUOTES DA     = Danish      &gt;&gt;text&lt;&lt;
+    .SMARTQUOTES DE     = German      ,,text``
+    .SMARTQUOTES ES     = Spanish     ``text´´
+    .SMARTQUOTES FR     = French      &lt;&lt; text &gt;&gt;
+    .SMARTQUOTES IT     = Italian     &lt;&lt; text &gt;&gt;
+    .SMARTQUOTES NL     = Dutch       ´´text´´
+    .SMARTQUOTES NO     = Norwegian   &lt;&lt;text&gt;&gt;
+    .SMARTQUOTES PT     = Portuguese  &lt;&lt;text&gt;&gt;
+    .SMARTQUOTES SV     = Swedish     &gt;&gt;text&gt;&gt;
+</pre>
+</p>
+
+<p>
+Turn <strong>SMARTQUOTES</strong> off by passing it any argument
+<em>not</em> in the argument list (e.g. <strong>OFF</strong>,
+<strong>QUIT</strong>, <strong>X</strong>, etc.)
+</p>
+
+<p>
+If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
+<strong>SMARTQUOTES</strong> is on by default (in the Anglo-American
+style); with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+it's off by default (and should probably stay that way).
+</p>
+
+<p>
+Finally, if you're fussy about the kerning of quote marks in
+relation to the text they surround, or have special quoting needs,
+you have to enter quote marks by hand using groff's native
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+for special characters (see <kbd>man groff_char</kbd> for a complete
+list of special characters).  Entering quote marks this way allows
+you to use <strong>mom</strong>'s
+<a href="inlines.html#INLINE_KERNING_MOM">inline kerning escapes</a>
+to fine-tune the look of quotes.
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>SMARTQUOTES</strong> does not work on
+single quotes, which most people input with the apostrophe (found
+at the right-hand end of the &quot;home row&quot; on a QWERTY
+keyboard).  Groff will interpret all instances of the apostrophe as
+an apostrophe, making the symbol useless as an open-single-quote.
+For open single quotes, input the backtick character typically
+found under the tilde on most keyboards.  (Pour nous autres,
+&quot;backtick&quot; veut dire l'accent grave.)  Here's an example
+of correct input copy with single quotes:
+
+<pre>
+    "But she said, `I don't want to!'"    
+</pre>
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Whether or not you have
+<strong>SMARTQUOTES</strong> turned on, get into the habit of
+entering the foot-and inch-marks, when you need them, with the
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+<kbd>\*[FOOT]</kbd> and <kbd>\*[INCH]</kbd>, instead of <kbd>'</kbd>
+and <kbd>"</kbd>.
+</p>
+
+<!-- -CAPS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="CAPS"><h3><u>Convert to upper case</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>CAPS</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+<strong>CAPS</strong> converts all lower case letters to upper case.
+Primarily, it's a support macro used by the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
+but you may find it helpful on occasion. <strong>CAPS</strong> is
+a toggle, therefore no argument turns it on, any argument
+(<strong>OFF, QUIT, X,</strong> etc.) turns it
+off.
+
+<pre>
+    .CAPS
+    All work and no play makes Jack a dull boy.
+    .CAPS OFF
+</pre>
+
+produces, on output
+
+<pre>
+    ALL WORK AND NO PLAY MAKES JACK A DULL BOY.
+</pre>
+</p>
+
+<p>
+If you wish to capitalise a section of type inlines, use the
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+<a href="inlines.html#UC_LC"><kbd>\*[UC]...\*[LC]</kbd></a>
+like this:
+
+<pre>
+    All work \*[UC]and\*[LC] no play makes Jack a dull boy.
+</pre>
+
+The above produces, on output
+
+<pre>
+    All work AND no play makes Jack a dull boy.
+</pre>
+</p>
+
+<p>
+The inline escapes are especially useful for capitalizing
+<strong>mom</strong>'s
+<a href="headfootpage.html#RESERVED_STRINGS">reserved strings</a>
+(document title, author[s], etc) when designing your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS and FOOTERS</a>
+when using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+</p>
+
+<!-- -STRING- -->
+
+<hr width="33%" align="left"/>
+
+<a name="STRING"><h3><u>User-defined strings</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>STRING</strong> <kbd>&lt;name&gt; &lt;what you want in 
the string&gt;</kbd></nobr>
+</p>
+
+<p>
+You may find sometimes that you have to type out portions of text
+repeatedly.  If you'd like not to wear out your fingers, you can
+define a &quot;string&quot; that, whenever you call it by name,
+outputs whatever you put into it.
+</p>
+
+<p>
+For example, say you're creating a document that repeatedly uses
+the phrase &quot;the Montreal/Windsor corridor&quot;.  Instead of
+typing all that out every time, you could define a string, like
+this:
+
+<pre>
+    .STRING mw the Montreal/Windsor corridor
+</pre>
+</p>
+
+<p>
+Once a string is defined, you can call it any time with the
+<a href="definitions.html#INLINES">inline escape</a>
+<kbd>\*[&lt;stringname&gt;]</kbd>.  Using the example string above
+
+<pre>
+    The schedule for trains along \*[mw]:
+</pre>
+
+produces, on output
+
+<pre>
+    The schedule for trains along the Montreal/Windsor corridor:
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> Be very careful not to put any spaces at the
+ends of strings you're defining, unless you want them.  Everything
+after the name argument you pass to <strong>STRING</strong> goes
+into the string, including trailing spaces.
+</p>
+
+<p>
+<strong>Experts: STRING</strong> is an alias for <strong>ds</strong>.
+You can use either, or mix 'n' match with impunity.
+</p>
+
+<!-- -ESC_CHAR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="ESC_CHAR"><h3><u>Change the escape character</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>ESC_CHAR</strong> <kbd>&lt;new character&gt; | 
&lt;anything&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>Groff</strong>'s and <strong>mom</strong>'s default escape
+character is the backslash.  Sometimes, you may want to include
+a literal backslash in your document.  There are two ways to
+accomplish this.  One is simply to double the backslash character
+<nobr>(<kbd>\\</kbd>),</nobr> which is convenient if you don't have a
+lot of backslashes to input.  If you need to input a whole batch of
+backslashes (say, when including code snippets in your document),
+you can use <strong>ESC_CHAR</strong> to make the change permanent
+(until you decide to restore the escape character to its default,
+the backslash).
+</p>
+
+<p>
+<strong>ESC_CHAR</strong> with a single character argument
+changes the escape character to whatever the argument is.
+<strong>ESC_CHAR</strong> with no argument restores the escape
+character to the backslash.
+</p>
+
+<p>
+<strong>Experts</strong>: <strong>ESC_CHAR</strong> is an alias of
+<kbd>.ec</kbd>.  Mix 'n' match the two with impunity.
+</p>
+
+<!-- -UNDERSCORE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="UNDERSCORE"><h3><u>Single underscore</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>UNDERSCORE</strong> <kbd>[ &lt;distance below 
baseline&gt; ] &quot;&lt;string&gt;&quot;</kbd></nobr>
+<br/>
+
+<em>*Optional argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+By default, <strong>UNDERSCORE</strong> places an underscore 2
+points beneath the required
+<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>.
+The string must be enclosed in double-quotes, like this:
+
+<pre>
+    .UNDERSCORE "Unmonitored monopolies breed high prices and poor products."
+</pre>
+</p>
+
+<p>
+If you wish to change the distance of the rule from the
+baseline, use the optional argument <kbd>&lt;distance below
+baseline&gt;</kbd> (with a unit of measure).
+
+<pre>
+    .UNDERSCORE 3p "Unmonitored monopolies breed high prices and poor 
products."
+</pre>
+</p>
+
+<p>
+The above places upper edge of the underscore 3 points below the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>.
+</p>
+
+<a name="UNDERSCORE_WEIGHT"></a>
+
+<h4><u>Controlling the weight of underscores</u></h4>
+
+<p>
+(Please note that <strong>UNDERSCORE_WEIGHT</strong> also sets the
+weight of
+<a href="#UNDERSCORE2">double underscores.</a>)
+</p>
+
+<p>
+The weight (thickness) of underscores may be controlled with the
+macro, <strong>UNDERSCORE_WEIGHT</strong>.  Thus, if you want
+underscores with a weight of 1-1/2 points, you'd invoke:
+
+<pre>
+    .UNDERSCORE_WEIGHT 1.5
+</pre>
+
+prior to invoking <kbd>.UNDERSCORE</kbd>.  Every subsequent
+instance of <kbd>.UNDERSCORE</kbd> will use this weight.
+</p>
+
+<p>
+<strong>Mom</strong>'s default underscore weight is 1/2 point.
+</p>
+
+<a name="NOTES_UNDERSCORE"></a>
+
+<h4><u>NOTES:</u></h4>
+
+<p>
+<strong>UNDERSCORE</strong> does not work across line breaks in
+output copy, which is to say that you can't underscore a multi-line
+passage simply by putting the text of the whole thing in the string
+you pass to <strong>UNDERSCORE</strong>.  Each
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
+or portion of an output line you want underscored must be plugged
+separately into <strong>UNDERSCORE</strong>.  Bear in mind, though,
+that underscoring should at best be an occasional effect in typeset
+copy.  If you want to emphasize an entire passage, it's much, much
+better to change fonts (e.g. to italic or bold).
+</p>
+
+<p>
+You can easily and successfully underline entire passages in
+simulated typewriter-style copy (i.e. if your font is a monospaced
+one, like Courier, or you're using the document processing macro
+<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>),
+with the
+<a href="#UNDERLINE">UNDERLINE</a>
+macro. <strong>UNDERLINE</strong> is designed specifically for this
+purpose, but works only with the monspaced fonts.
+</p>
+
+<p>
+<strong>Mom</strong> doesn't always get the position and length
+of the underscore precisely right in
+<a href="definitions.html#TERMS_JUST">justified</a>
+copy, although she's fine with all the other
+<a href="definitions.html#TERMS_FILLED">fill modes</a>,
+as well as with the no-fill modes.  The reason is that when text is
+justified, the word spacing may expand to fill the line, but that
+doesn't happen until <em>after</em> the line has been processed
+in all other respects &mdash; including establishing how long to
+make an underscore.  A workaround is to prepend the backslash
+character <nobr>(<kbd>\</kbd>)</nobr> to each word space in the
+string passed to <strong>UNDERSCORE</strong>.  The word spacing of
+the underscored string <em>may</em> be slightly smaller than the
+word space of the remainder of the line, but in many cases, the
+difference isn't visually noticeable.
+</p>
+
+<p>
+<strong>UNDERSCORE</strong> tends to confuse
+<strong>gxditview</strong>, even though the output, when
+printed, looks fine.  Generally, I recommend using <strong>gv</strong>
+to preview files anyway.  See the section on
+<a href="using.html#USING_PREVIEWING">previewing</a>.
+</p>
+
+<p>
+<a name="UNDERSCORE_COLOR"><strong>Colorizing underscored text:</strong></a>
+If you want underscored text to be in a different colour from the
+text around it, use the
+<a href="color.html#COLOR">COLOR</a>
+macro, rather than the
+<a href="color.html#COLOR_INLINE">inline escape for changing color</a>.
+In other words, assuming your prevailing text color is black and
+you want underscored text in red
+
+<pre>
+    .COLOR red
+    .UNDERSCORE "text to underscore"
+    .COLOR black
+</pre>
+
+rather than
+
+<pre>
+    .UNDERSCORE "\*[red]text to underscore\*[black]"
+</pre>
+
+The latter will render the text in red, and the underscore in black.
+You can use this to create truly rainbow effects if you want, e.g.
+text in red, underscore in blue, and prevailing type in black:
+
+<pre>
+    .UNDERSCORE "\*[red]text to underscore\*[blue]"
+    .COLOR black
+</pre>
+</p>
+
+<!-- -UNDERSCORE2- -->
+
+<hr width="33%" align="left"/>
+
+<a name="UNDERSCORE2"><h3><u>Double underscore</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>UNDERSCORE2</strong> [ &lt;distance below baseline&gt; [ 
&lt;distance between rules&gt; ] ] &quot;&lt;string&gt;&quot;</nobr>
+<br/>
+
+<em>*Optional arguments require a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+By default, <strong>UNDERSCORE2</strong> places a double underscore
+2 points beneath the required
+<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>.
+The string must be enclosed in double-quotes, like this:
+
+<pre>
+    .UNDERSCORE2 "Unmonitored monopolies breed high prices and poor products."
+</pre>
+</p>
+
+<p>
+The default distance between the two rules is 2 points, measured
+from the bottom edge of the upper rule to the top edge of the lower
+one.
+</p>
+
+<p>
+If you wish to change the distance of the double underscore from
+the baseline, use the optional argument <kbd>&lt;distance below
+baseline&gt;</kbd> (with a unit of measure), e.g.,
+
+<pre>
+    .UNDERSCORE2 3p "Unmonitored monopolies breed high prices and poor 
products."
+</pre>
+
+which places the upper edge of the first rule of the double
+underscore 3 points below the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>.
+</p>
+
+<p>
+If you wish to change the distance between the two rules as
+well, use the second optional argument <kbd>&lt;distance between
+rules&gt;</kbd> (with a unit of measure).  Be aware that you must
+give a value for the first optional argument if you want to use the
+second.  The distance between the two rules is measured from the
+bottom edge of the upper rule to the top edge of the lower one.
+</p>
+
+<p>
+The weight (thickness) of double underscores may be controlled with
+the macro
+<a href="#UNDERSCORE_WEIGHT">UNDERSCORE_WEIGHT</a>
+(q.v).
+</p>
+
+<p>
+<strong>NOTE:</strong> the same restrictions and caveats apply
+to <strong>UNDERSCORE2</strong> as to
+<strong>UNDERSCORE</strong>.  See the
+<a href="#NOTES_UNDERSCORE">NOTES</a>
+for <strong>UNDERSCORE</strong>.
+</p>
+
+<!-- -UNDERLINE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="UNDERLINE"><h3><u>Underline text &mdash; monospaced fonts 
only</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>UNDERLINE</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+If your font is monospaced one, like Courier, or you're using the
+document processing macro
+<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<strong>UNDERLINE</strong> allows you to underline words and
+passages that, in typeset copy, would be italicized.  You invoke
+<kbd>.UNDERLINE</kbd> as you do with all toggle macros &mdash; by
+itself (i.e. with no argument) to initiate underlining, and with any
+argument (<strong>OFF, QUIT, X,</strong> etc) to turn underlining
+off.
+</p>
+
+<p>
+When on, <strong>UNDERLINE</strong> underlines letters, words
+and numbers, but not punctuation or spaces.  This makes for more
+readable copy than a solid underline.
+</p>
+
+<p>
+<strong>NOTE:</strong> Underlining may also be turned on and off
+<a href="definitions.html#TERMS_INLINES">inline</a>
+with the escapes
+<a href="#UL"><kbd>\*[UL]...\*[ULX]</kbd></a>.
+</p>
+
+<!-- -UL- -->
+
+<hr width="33%" align="left"/>
+
+<a name="UL"><h3><u>Inline escape for underlining &mdash; monospaced fonts 
only</u></h3></a>
+
+<p>
+Inline: <kbd>\*[UL]...\*[ULX]</kbd>
+</p>
+
+<p>
+If your font is a monospaced one, like Courier, or you're using the
+document processing macro
+<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<kbd>\*[UL]...\*[ULX]</kbd> underlines words and
+passages that, in typeset copy, would be italicized.
+</p>
+
+<p>
+<kbd>\*[UL]</kbd> underlines all letters, words and numbers
+following it, but not punctuation or spaces.  This makes for more
+readable copy than a solid underline.  When you no longer want
+underlining, <kbd>\*[ULX]</kbd> turns underlining off.
+</p>
+
+<p>
+The macro
+<a href="#UNDERLINE">UNDERLINE</a>
+and the inline escape <kbd>\*[UL]</kbd> are functionally
+identical, hence
+
+<pre>
+    .FAM     C
+    .FT      R
+    .PT_SIZE 12
+    .LS      24
+    .SS      0
+    .QUAD    LEFT
+    Which should I heed?
+    .UNDERLINE
+    Just do it
+    .UNDERLINE OFF
+    or
+    .UNDERLINE
+    just say no?
+    .UNDERLINE OFF
+</pre>
+
+produces the same result as
+
+<pre>
+    .FAM     C
+    .FT      R
+    .PT_SIZE 12
+    .LS      24
+    .SS      0
+    .QUAD    LEFT
+    Which should I heed? \*[UL]Just do it\*[ULX] or \*[UL]just say no?\*[ULX]
+</pre>
+</p>
+
+<!-- -PAD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAD"><h3><u>Insert space into lines</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PAD</strong> <kbd>&quot;&lt;string with pad markers 
inserted&gt;&quot; [ NOBREAK ]</kbd></nobr>
+</p>
+
+<p>
+With <strong>PAD</strong>, you can insert unspecified amounts of
+whitespace into a line.
+
+<a name="NOBREAK"></a>
+
+The optional <kbd>NOBREAK</kbd> argument tells <strong>mom</strong>
+not to advance on the page after the <strong>PAD</strong> macro has
+been invoked.
+</p>
+
+<p>
+<strong>PAD</strong> calculates the difference between the length of
+text on the line and the distance remaining to its end, then inserts
+the difference (as whitespace) at the place(s) you specify.
+</p>
+
+<p>
+Take, for example, the following relatively common typesetting
+situation, found at the bottom of legal agreements:
+
+<pre>
+    Date             Signature                               |
+</pre>
+</p>
+
+<p>
+The person signing the agreement is supposed to fill in the date
+as well as a signature.  Space needs to be left for both, but
+the exact amount is neither known, nor important.  All that
+matters is that there be a little space after Date, and rather
+more space after Signature.  (In the above, | represents
+the end of the line at the prevailing line length.)
+</p>
+
+<p>
+The
+<a href="goodies.html#PAD_MARKER">pad marker</a>
+(see below) is # (the pound or number sign on your keyboard) and can
+be used multiple times in a line.  With that in mind, here's how
+you'd input the Date/Signature line (assuming a length of 30 picas):
+
+<pre>
+    .LL 30P
+    .PAD "Date#Signature###"
+</pre>
+</p>
+
+<p>
+When the line is output, the space remaining on the line, after
+&quot;Date&quot; and &quot;Signature&quot; have been taken into
+account, is split into four (because there are four # signs).  One
+quarter of the space is inserted between Date and Signature, the
+remainder is inserted after Signature.
+</p>
+
+<a name="PAD_EXAMPLE"></a>
+
+<p>
+One rarely wants merely to insert space in a line; one usually
+wants to fill it with something, hence <strong>PAD</strong> is
+particularly useful in conjunction with
+<a href="typesetting.html#STRING_TABS">string tabs</a>.
+The following uses the Date/Signature example above, but adds
+rules into the whitespace through the use of string tabs and
+<strong>mom</strong>'s
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<a href="inlines.html#INLINE_RULE_MOM"><kbd>\*[RULE]</kbd></a>.
+(Instead of <kbd>\*[RULE]</kbd>,
+groff's line drawing function,
+<a href="inlines.html#INLINE_LINEDRAWING_GROFF"><kbd>\l</kbd></a>
+could be used.)
+
+<pre>
+    .LL 30P
+    .PAD "Date \*[ST1]#\*[ST1X] Signature \*[ST2]###\*[ST2X]" NOBREAK
+    .ST 1 J
+    .ST 2 J
+    .TAB 1
+    \*[RULE]
+    .TN
+    \*[RULE]
+    .TQ
+</pre>
+</p>
+
+<p>
+If you're not a typesetter, and if you're new to groff, the
+example probably looks like gibberish.  My apologies.  However,
+remember that typesetting is a craft, and without having studied
+the craft, it takes a while to grasp its concepts.
+</p>
+
+<p>
+Basically, what the example does is:
+
+<ol>
+    <li>Pads the Date/Signature line (using the pad marker
+        <kbd>#</kbd>), encloses the padded space with two string
+        tabs markers, and outputs the line without advancing on the
+        page.
+    </li>
+    <li>Sets the two string tabs.
+    </li>
+    <li>Calls the first string tab and draws a rule to its full
+        length.
+    </li>
+    <li>Calls the second tab with
+        <a href="typesetting.html#TN">TN</a>
+        (which moves to tab 2 and stays on the same baseline)
+        then draws a rule to the full length of string tab 2.
+    </li>
+</ol>
+</p>
+
+<p>
+Often, when setting up string tabs this way, you don't want the
+padded line to print immediately.  To accomplish this, use
+<a href="#SILENT">SILENT</a>.
+See the
+<a href="typesetting.html#STRING_TABS_TUT">quickie tutorial on string tabs</a>
+for an example.
+</p>
+
+<p>
+<strong>NOTE:</strong> Because the pound sign
+<nobr>(<kbd>#</kbd>)</nobr> is used as the pad marker, you can't use
+it as a literal part of the pad string.  If you need the sign to
+appear in the text of a padded line, change the pad marker with
+<a href="#PAD_MARKER">PAD_MARKER</a>.
+Also, be aware that <kbd>#</kbd> as a pad marker only applies
+within the <strong>PAD</strong> macro; at all other times it prints
+literally, just as you'd expect.
+</p>
+
+<p>
+Another important consideration when using <strong>PAD</strong> is that
+because the string must be enclosed in double-quotes, you can't use the
+double-quote <nobr>(<kbd>"</kbd>)</nobr> as part of the string.  The
+way to circumvent this is to use the groff
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+<kbd>\(lq</kbd> and <kbd>\(rq</kbd> (leftquote and rightquote
+respectively) whenever double-quotes are required in the string
+passed to <strong>PAD</strong>.
+</p>
+
+<!-- -PAD_MARKER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAD_MARKER"><h3><u>Change/set the marker used with PAD</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PAD_MARKER</strong> &lt;character to use as the pad 
marker&gt;</nobr>
+</p>
+
+<p>
+If you need to change <strong>mom</strong>'s default pad marker
+<nobr>(<kbd>#</kbd>),</nobr> either because you want a literal # in
+the padded line, or simply because you want to use another character
+instead, use <strong>PAD_MARKER</strong>, whose argument is the new
+pad marker character you want.
+
+<pre>
+    .PAD_MARKER @
+</pre>
+
+changes the pad marker to @.
+</p>
+
+<p>
+Once you've changed the pad marker, the new marker remains in
+effect for every instance of
+<a href="#PAD">PAD</a>
+until you change it again (say, back to the pound sign).
+</p>
+
+<!-- -\*[LEADER]- -->
+
+<hr width="33%" align="left"/>
+
+<a name="LEADER"><h3><u>Inline escape to add leaders to a line</u></h3></a>
+
+<p>
+Inline: <kbd>\*[LEADER]</kbd>
+</p>
+
+<p>
+Whenever you want to fill a line or tab with
+<a href="definitions.html#TERMS_LEADER">leaders</a>,
+use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[LEADER]</kbd>.  The remainder of the line or tab will be
+filled with the leader character. <strong>Mom</strong>'s default
+leader character is a period (dot), but you can change it to any
+character you like with
+<a href="#LEADER_CHARACTER">LEADER_CHARACTER</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> <kbd>\*[LEADER]</kbd> fills lines or tabs
+right to their end.  You cannot insert leaders into a line or tab
+and have text following the leader on the same line or in the same
+tab.  Should you wish to achieve such an effect typographically,
+create tabs for each element of the line and fill them appropriately
+with the text and leaders you need.
+<a href="typesetting.html#STRING_TABS">String tabs</a>
+are perfect for this.  An example follows.
+
+<pre>
+    .LL 30P
+    .PAD "Date\*[ST1]#\*[ST1X]Signature\*[ST2]###\*[ST2X]"
+    .EL
+    .ST 1 J
+    .ST 2 J
+    .TAB 1
+    \*[LEADER]
+    .TN
+    \*[LEADER]
+    .TQ
+</pre>
+</p>
+
+<p>
+The <strong>PAD</strong> line sets the words Date and Signature,
+and marks string tabs around the pad space inserted in the line.
+The string tabs are then &quot;set&quot;, called, and filled
+with leaders.  The result looks like this:
+
+<pre>
+    Date.............Signature.....................................
+</pre>
+</p>
+
+<!-- -LEADER_CHARACTER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="LEADER_CHARACTER"><h3><u>Change/set the leader character</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>LEADER_CHARACTER</strong> 
<kbd>&lt;character&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>LEADER_CHARACTER</strong> takes one argument: a single
+character you would like to be used for
+<a href="definitions.html#TERMS_LEADER">leaders</a>.
+(See
+<a href="#LEADER"><kbd>\*[LEADER]</kbd></a>
+for an explanation of how to fill lines with leaders.)
+</p>
+
+<p>
+For example, to change the leader character from <strong>mom</strong>'s
+default (a period) to the underscore character, enter
+
+<pre>
+    .LEADER_CHARACTER _
+</pre>
+</p>
+
+<!-- -DROPCAP- -->
+
+<hr width="33%" align="left"/>
+<a name="DROPCAP"><h3><u>Drop caps</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>DROPCAP</strong> <kbd>&lt;dropcap letter&gt; &lt;number 
of lines to drop&gt; [ COND &lt;percentage&gt; | EXT &lt;percentage&gt; 
]</kbd></nobr>
+</p>
+
+<p>
+The first two arguments to <strong>DROPCAP</strong> are the letter you
+want to be the
+<a href="definitions.html#TERMS_DROPCAP">drop cap</a>
+and the number of lines you want it to drop.  By default,
+<strong>mom</strong> uses the current family and font for the drop
+cap.
+</p>
+
+<p>
+The optional argument <nobr>(<kbd>COND</kbd> or
+<kbd>EXT</kbd>)</nobr> indicates that you want the drop
+cap condensed (narrower) or extended (wider).  If you use
+<kbd>COND</kbd> or <kbd>EXT</kbd>, you must follow the argument with
+the percentage of the letter's normal width you want it condensed or
+extended.  No percent sign (%) is required.
+</p>
+
+<p>
+<strong>Mom</strong> will do her very best to get the drop cap to
+line up with the first line of text indented beside it, then set the
+correct number of indented lines, and restore your left margin when
+the number of drop cap lines has been reached.
+</p>
+
+<p>
+Beginning a paragraph with a drop cap &quot;T&quot; looks
+like this:
+
+<pre>
+    .DROPCAP T 3 COND 90
+    he thousand injuries of Fortunato I had borne as best I
+    could, but when he ventured upon insult, I vowed revenge.
+    You who so well know the nature of my soul will not suppose,
+    however, that I gave utterance to a threat...
+</pre>
+</p>
+
+<p>
+The drop cap, slightly condensed but in the current family and font,
+will be three lines tall, with whatever text fills those three
+lines indented to the right of the letter.  The remainder of the
+paragraph's text will revert to the left margin.
+</p>
+
+<p>
+<strong>NOTE:</strong> When using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macro</a>
+<a href="docelement.html#PP">PP</a>,
+<strong>DROPCAP</strong> only works
+
+<ul>
+    <li>with initial paragraphs (i.e. at the start of the document,
+        or after
+        <a href="docelement.html#HEAD">HEAD</a>),</li>
+    <li>when <kbd>.DROPCAP</kbd> comes immediately after <kbd>.PP</kbd>,</li>
+    <li>and when the
+        <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
+        is TYPESET.</li>
+</ul>
+
+If these conditions aren't met, <strong>DROPCAP</strong> is silently ignored.
+</p>
+
+<p>
+<strong>WARNING:</strong> <strong>DROPCAP</strong> puts a bit of
+a strain on resource-challenged systems.  If you have such a
+system and use drop caps extensively in a document, be prepared
+for a wait while <strong>mom</strong> does her thing.
+</p>
+
+<h4><a name="DROPCAP_SUPPORT"><u>Support macros for DROPCAP</u></a></h4>
+
+<p>
+Drop caps are the bane of most typesetters' existence.  It's
+very difficult to get the size of the drop cap right for the
+number of drop lines, especially if the drop cap is in a
+different family from the prevailing family of running text.
+Not only that, but there's the gutter around the drop cap to
+take into account, plus the fact that the letter may be too wide
+or too narrow to look anything but odd or misplaced.
+</p>
+
+<p>
+<strong>Mom</strong> solves the last of these problems with the
+<kbd>COND</kbd> and <kbd>EXT</kbd> arguments.  The rest she
+solves with macros that change the default behaviour of
+<strong>DROPCAP</strong>, namely
+</p>
+
+<p>
+<a href="#DROPCAP_FAMILY">DROPCAP_FAMILY</a>
+<br/>
+
+<a href="#DROPCAP_FONT">DROPCAP_FONT</a>
+<br/>
+
+<a href="#DROPCAP_COLOR">DROPCAP_COLOR</a>
+<br/>
+
+<a href="#DROPCAP_ADJUST">DROPCAP_ADJUST</a>
+<br/>
+
+and
+<br/>
+
+<a href="#DROPCAP_GUTTER">DROPCAP_GUTTER</a>.
+</p>
+
+<p>
+These macros must, of course, come before you invoke
+<strong>DROPCAP</strong>.
+</p>
+
+<h4><a name="DROPCAP_FAMILY"><u>DROPCAP_FAMILY</u></a></h4>
+
+<p>
+Set the drop cap family by giving
+<strong>DROPCAP_FAMILY</strong> the name of the family you want,
+e.g.
+
+<pre>
+    .DROPCAP_FAMILY H
+</pre>
+
+which will set the family to Helvetica for the drop cap only.
+</p>
+
+<h4><a name="DROPCAP_FONT"><u>DROPCAP_FONT</u></a></h4>
+
+<p>
+Set the drop cap font by giving
+<strong>DROPCAP_FONT</strong> the name of the font you want,
+e.g.
+
+<pre>
+    .DROPCAP_FONT I
+</pre>
+
+which will set the font to italic for the drop cap only.
+</p>
+
+<h4><a name="DROPCAP_ADJUST"><u>DROPCAP_ADJUST</u></a></h4>
+
+<p>
+If the size <strong>mom</strong> calculates for the drop cap
+isn't precisely what you want, you can increase or decrease it
+with <strong>DROPCAP_ADJUST</strong>, like this:
+e.g.
+
+<pre>
+    .DROPCAP_ADJUST +1
+        or
+    .DROPCAP_ADJUST -.75
+</pre>
+</p>
+
+<p>
+<strong>DROPCAP_ADJUST</strong> only understands
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+therefore do not append any
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to the argument.  And always be sure to prepend the plus or
+minus sign, depending on whether you want the drop cap larger or
+smaller.
+</p>
+
+<h4><a name="DROPCAP_COLOR"><u>DROPCAP_COLOR</u></a></h4>
+
+<p>
+If you'd like your drop cap colourized, simply invoke
+<strong>DROPCAP_COLOR</strong> with the name of a colour you've already
+created (&quot;initialized&quot;) with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.  Only the drop cap will be
+colourized; all other text will remain at the current colour
+default (usually black).
+</p>
+
+<h4><a name="DROPCAP_GUTTER"><u>DROPCAP_GUTTER</u></a></h4>
+
+<p>
+By default, <strong>mom</strong> puts three points of space
+between the drop cap and the text indented beside it.  If you
+want another value, use <strong>DROPCAP_GUTTER</strong> (with a
+unit of measure), like this:
+
+<pre>
+    .DROPCAP_GUTTER 6p
+</pre>
+</p>
+
+<!-- -\*[SUP]- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SUP"><h3><u>Superscript</u></h3></a>
+
+<p>
+Inlines: <kbd>\*[SUP]...\*[SUPX]</kbd>
+</p>
+
+<p>
+Superscripts are accomplished
+<a href="definitions.html#TERMS_INLINES">inline</a>.
+Whenever you need one, typically for numerals, all you need to do is
+surround the superscript with the inlines above. <kbd>\*[SUP]</kbd>
+begins superscripting; <kbd>\*[SUPX]</kbd> turns it off.
+</p>
+
+<a name="CONDSUP"></a>
+<a name="EXTSUP"></a>
+
+<p>
+If your running type is
+<a href="typesetting.html#COND_INLINE">pseudo-condensed</a>
+or
+<a href="typesetting.html#EXT_INLINE">pseudo-extended</a>
+and you want your superscripts to be equivalently pseudo-condensed
+or -extended, use <kbd>\*[CONDSUP]...\*[CONDSUPX]</kbd> or
+<kbd>\*[EXTSUP]...\*[EXTSUPX]</kbd>.
+</p>
+
+<p>
+The superscript inlines are primarily used by the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+for automatic generation of numbered footnotes.  However, you may
+find them useful for other purposes.
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>Mom</strong> does a pretty fine job of
+making superscripts look good in any font and at any size.  If you're
+fussy, though (and I am), about precise vertical placement, kerning,
+weight, size, and so on, you may want to roll your own solution.
+And sorry, there's no <strong>mom</strong> equivalent for subscripts.
+I'm neither a mathematician nor a chemist, so I don't need them.
+Of course, anyone who wishes to contribute a subscript routine to
+<strong>mom</strong> will receive eternal blessings not only in this
+lifetime, but in all lifetimes to come.
+</p>
+
+<hr/>
+
+<a href="inlines.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="typesetting.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: graphical.html
===================================================================
RCS file: graphical.html
diff -N graphical.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ graphical.html      1 Aug 2006 01:14:08 -0000       1.1
@@ -0,0 +1,578 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Graphical Objects</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="docprocessing.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="color.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<h1 align="center"><a name="COLOR_INTRO"><u>Graphical objects</u></a></h1>
+
+<p>
+<a href="#INTRO_GRAPHICAL">Introduction to graphical objects</a>
+
+<ul>
+    <li><a href="#BEHAVIOUR">Graphical object behaviour</a></li>
+    <li><a href="#ORDER">Order of arguments</a></li>
+</ul>
+
+<a href="#MACROS_GRAPHICAL">Index of graphical object macros</a>
+</p>
+
+<a name="INTRO_GRAPHICAL"><h2><u>Introduction to graphical objects</u></h2></a>
+
+<p>
+<strong>Groff</strong> has a number of
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+for drawing rules, polygons, ellipses and splines.  All begin with
+<kbd>\D</kbd> (presumably for &quot;Draw&quot;) and are documented
+in the <strong>groff</strong> info manual:
+
+<pre>
+    info groff => Escape index => \D
+</pre>
+</p>
+
+<p>
+The escapes allow you to draw just about any simple graphical object
+you can think of, but owing to their syntax, they're not always easy
+to read, which can make tweaking them difficult.  Additionally,
+while they perform in a <em>consistent</em> manner, they don't
+always perform in an <em>expected</em> manner.
+</p>
+
+<p>
+Experience shows that the most common graphical elements typesetters
+need are rules (horizontal and vertical), boxes, and circles (or
+ellipses).  For this reason, <strong>mom</strong> provides macros
+to draw these objects in an easy-to-understand way; the results are
+predictable, and <strong>mom</strong>'s syntax makes fixes or tweaks
+painless.
+</p>
+
+<a name="GRAPHICAL_EXAMPLE"></a>
+
+<p>
+For example, if you want to draw a 2-inch square outline box at the left
+margin using <strong>groff</strong>'s <kbd>\D</kbd> escapes, it looks like 
this:
+
+<pre>
+              back up
+                by
+               weight
+             +-------+
+             |       |
+    \D't 500'\h'-500u'\D'p 2i 0 0 2i -2i 0 0 -2i'
+   |       |          |                        |
+   +-------+          +------------------------+
+    set rule          draw box, 1 line at a time
+     weight
+</pre>
+
+Obviously, this isn't very efficient for something as simple as a
+box.
+</p>
+
+<p>
+Here's the same box, drawn with <strong>mom</strong>'s box drawing
+macro,
+<a href="#DBX">DBX</a>:
+
+<pre>
+left margin indent-+  +-box width
+                   |  |
+          .DBX .5  0  2i  2i
+                |         |
+   rule weight--+         +-box depth
+   (in points)
+</pre>
+</p>
+
+<p>
+<strong>Mom</strong>'s graphical object macros allow &mdash; in fact,
+require &mdash; giving the rule weight (&quot;thickness&quot;) for the
+object (or saying that you want it filled), an indent from the left
+margin where the object begins, the dimensions of the object, and
+optionally a colour for the object.
+</p>
+
+<p>
+There are no defaults for the arguments to <strong>mom</strong>'a
+graphical object macros, which means you must supply the arguments
+every time you invoke them.
+</p>
+
+<p>
+<strong>NOTE:</strong> As stated above, <strong>mom</strong> only
+provides macros for commonly-used graphical objects (rules, boxes,
+circles) only.  More complex objects (polygons, non-straight lines,
+splines) must be drawn using <strong>groff</strong>'s <kbd>\D</kbd>
+escapes.
+</p>
+
+<a name="BEHAVIOUR"><h3><u>Graphical object behaviour</u></h3></a>
+
+<p>
+<strong>Mom</strong>'s graphical object macros all behave in the
+following, carved-in-stone ways:
+
+<ol>
+     <li>Objects are drawn from the
+         <a href="definitions.html#TERMS_BASELINE">baseline</a>
+         down, including horizontal rules.</li>
+     <li>Objects begin precisely at the left indent supplied as
+         an argument to the macro.</li>
+     <li>Objects are drawn from left to right.</li>
+     <li>Enclosed objects (boxes, circles) are drawn from the
+         perimeter <em>inward</em>.</li>
+     <li>Objects return to their horizontal/vertical point of origin.</li>
+</ol>
+
+The consistency means that once you've mastered the very simple
+order of arguments that applies to invoking graphical object
+macros, you can draw objects with full confidence that you know
+exactly where they're placed and how much room they occupy.
+Furthermore, because all return to their point of origin, you'll
+know exactly where you are on the page.
+</p>
+
+<a name="ORDER"><h3><u>Order of arguments</u></h3></a>
+
+<p>
+The order of arguments to the graphical object macros is the same
+for every macro:
+
+<ul>
+    <li>the <strong>Weight</strong> of the rule</li>
+    <ul>
+        <li>if the object is enclosed (i.e. is a box or circle), the
+            weight of the rule if you want the object outlined</li>
+        <li>the single word <kbd>SOLID</kbd> may be used in place
+            of the <strong>weight</strong> argument if you want the
+            object filled</li>
+    </ul>
+    <li>the <strong>Indent</strong> from the current left margin at
+        which to begin the object</li>
+    <li>the <strong>Length</strong> of the object, if applicable</li>
+    <li>the <strong>Depth</strong> of the object, if applicable</li>
+    <li>the <strong>Colour</strong> of the object (optional)</li>
+</ul>
+</p>
+
+<p>
+A simple mnemonic for the order of arguments is &quot;WILD C&quot;.
+If you fix the mnemonic in your brain and apply a little judicious
+reasoning, you'll always remember how to draw graphical objects.
+The &quot;judicious reasoning&quot; means that, for example,
+horizontal rules don't require a depth and vertical rules don't
+require a length.  Thus, in the case of drawing a horizontal rule,
+you supply the macro,
+<a href="#DRH">DRH</a>,
+with only the arguments (from the mnemonic) that apply: W-I-L (and
+possibly C).
+</p>
+
+<a name="MACROS_GRAPHICAL"><h3><u>Index of graphical object macros</u></h3></a>
+
+<ul>
+    <li><a href="#DRH">DRH</a>
+        &mdash; horizontal rule</li>
+    <li><a href="#DRV">DRV</a>
+        &mdash; vertical rule</li>
+    <li><a href="#DBX">DBX</a>
+        &mdash; box</li>
+    <li><a href="#DCL">DCL</a>
+        &mdash; circle or ellipse</li>
+</ul>
+
+<!-- -DRH- -->
+
+<hr width="66%" align="left"/>
+
+<a name="DRH"><h3><u>Drawing horizontal rules</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>DRH</strong> <kbd>&lt;none&gt; | &lt;rule weight&gt;  
&lt;indent&gt; &lt;length&gt; [&lt;colour&gt;]</kbd></nobr>
+<br/>
+
+<em>*The argument to</em> <kbd>&lt;rule weight&gt;</kbd> <em>is
+in</em>
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+<em>but do </em> NOT <em>append the</em>
+<a href="definitions.html#TERMS_UNITSOFMEASURE">unit of
+measure</a>, <kbd>p</kbd>.
+<br/>
+
+<em>*The arguments,</em> <kbd>&lt;indent&gt;</kbd> <em>and</em>
+<kbd>&lt;length&gt;</kbd>, <em>require a unit of measure.</em>
+</p>
+
+<p>
+If all you want is to draw a rule from your current left
+margin to your current right margin (in other words, a &quot;full
+measure&quot; rule), you may invoke <kbd>.DRH</kbd> without any
+arguments.  (Note that <strong>DRH</strong> is the only graphical
+object macro that may be invoked without arguments.)  The weight of
+the rule is determined by the argument you last gave the macro,
+<a href="inlines.html#RULE_WEIGHT">RULE_WEIGHT</a>.
+<strong>DRH</strong>, used this way, is exactly equivalent to
+entering the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<a href="inlines.html#INLINE_RULE_MOM"><kbd>\*[RULE]</kbd></a>.
+</p>
+
+<p>
+To draw horizontal rules of a specified length, you must, at a
+minimum, supply
+<strong>DRH</strong> with the arguments
+<kbd><nobr>rule weight,</nobr> indent</kbd> (measured from the
+current left margin) and <kbd>length</kbd>.
+</p>
+
+<p>
+Optionally, you may give a <kbd>colour</kbd> argument.
+The colour may be either one defined with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>,
+or a named X-colour inititialized with
+<a href="color.html#XCOLOR">XCOLOR</a>,
+or an X-colour alias (again, initialized with
+<strong>XCOLOR</strong>).
+</p>
+
+<p>
+Say, for example, you want to draw a 1-1/4 point horizontal rule
+that starts 2 picas from the current left margin and runs for 3
+inches.  To do so, you'd invoke <kbd>.DRH</kbd> like this:
+
+<pre>
+         weight length
+           |      |
+    .DRH 1.125 2P 3i
+               |
+             indent
+</pre>
+
+(Note that the rule weight argument, which is expressed in points,
+must NOT have the unit of measure <kbd>p</kbd> appended to it.)
+</p>
+
+<p>
+If, in addition, you want the rule blue:
+
+<pre>
+    .DRH 1.125 2P 3i blue
+</pre>
+</p>
+
+<h3><u>How mom handles the positioning of horizontal rules</u></h3>
+
+<p>
+Horizontal rules are drawn from left to right, and from the baseline
+down. &quot;From the baseline down&quot; means that if you request
+a rule with a weight of four points, the four points of rule fall
+entirely below the baseline.
+</p>
+
+<p>
+Furthermore, after the rule is drawn, <strong>mom</strong> returns
+you to the current left margin, at the same vertical position on
+the page as when <strong>DRH</strong> was invoked.  In other words,
+<strong>DRH</strong> causes no movement on the page, either
+horizontal or vertical.
+</p>
+
+<!-- -DRV- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DRV"><h3><u>Drawing vertical rules</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>DRV</strong> <kbd>&lt;rule weight&gt;  &lt;indent&gt; 
&lt;depth&gt; [&lt;colour&gt;]</kbd></nobr>
+<br/>
+
+<em>*The argument to</em> <kbd>&lt;rule weight&gt;</kbd> <em>is
+in</em>
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+<em>but do </em> NOT <em>append the</em>
+<a href="definitions.html#TERMS_UNITSOFMEASURE">unit of
+measure</a>, <kbd>p</kbd>.
+<br/>
+
+<em>*The arguments,</em> <kbd>&lt;indent&gt;</kbd> <em>and</em>
+<kbd>&lt;depth&gt;</kbd>, <em>require a unit of measure.</em>
+</p>
+
+<p>
+To draw vertical rules of a specified length, you must, at a
+minimum, supply
+<strong>DRV</strong> with the arguments
+<kbd><nobr>rule weight,</nobr> indent</kbd> (measured from the
+current left margin) and <kbd>depth</kbd>.
+</p>
+
+<p>
+Optionally, you may give a <kbd>colour</kbd> argument.
+The colour may be either one defined with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>,
+or a named X-colour inititialized with
+<a href="color.html#XCOLOR">XCOLOR</a>,
+or an X-colour alias (again, initialized with
+<strong>XCOLOR</strong>).
+</p>
+
+<p>
+Say, for example, you want to draw a 3/4-point vertical rule that
+starts 19-1/2 picas from the current left margin and has a depth of
+6 centimeters.  To do so, you'd invoke <kbd>.DRV</kbd> like this:
+
+<pre>
+         weight   depth
+           |        |
+    .DRV .75 19P+6p 6c
+               |
+             indent
+</pre>
+
+(Note that the rule weight argument, which is expressed in points,
+must NOT have the unit of measure <kbd>p</kbd> appended to it.)
+</p>
+
+<p>
+If, in addition, you want the rule red:
+
+<pre>
+    .DRV .75 19P+6p 6c red
+</pre>
+</p>
+
+<h3><u>How mom handles the positioning of vertical rules</u></h3>
+
+<p>
+Vertical rules are drawn from the baseline down, and from left to
+right. &quot;Left to right&quot; means that if you request a rule
+with a weight of four points, the four points of rule fall entirely
+to the left of the indent given to <strong>DRV</strong>.
+</p>
+
+<p>
+Furthermore, after the rule is drawn, <strong>mom</strong> returns
+you to the current left margin, at the same vertical position
+on the page as when <strong>DRV</strong> was invoked.  In other
+words, <strong>DRV</strong> causes no movement on the page, either
+horizontal or vertical.
+</p>
+
+<!-- -DBX- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DBX"><h3><u>Drawing boxes</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>DBX</strong> <kbd>&lt; &lt;rule weight&gt; | SOLID &gt; 
&lt;indent&gt; &lt;length&gt; &lt;depth&gt; [&lt;colour&gt;]</kbd></nobr>
+<br/>
+
+<em>*The argument to</em> <kbd>&lt;rule weight&gt;</kbd> <em>is
+in</em>
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+<em>but do </em> NOT <em>append the</em>
+<a href="definitions.html#TERMS_UNITSOFMEASURE">unit of
+measure</a>, <kbd>p</kbd>.
+<br/>
+
+<em>*The arguments,</em> <kbd>&lt;indent&gt;</kbd><em>,</em>
+<kbd>&lt;length&gt;</kbd> <em>and</em> <kbd>&lt;depth&gt;</kbd>
+<em>require a unit of measure.</em>
+</p>
+
+<p>
+To draw boxes of specified dimensions, you must, at a minimum,
+supply <strong>DBX</strong> with the arguments <kbd><nobr>rule
+weight</nobr></kbd> or <kbd>SOLID</kbd>, <kbd>indent</kbd>
+(measured from the current left margin), <kbd>length</kbd> and
+<kbd>depth</kbd>.
+</p>
+
+<p>
+Optionally, you may give a <kbd>colour</kbd> argument.
+The colour may be either one defined with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>,
+or a named X-colour inititialized with
+<a href="color.html#XCOLOR">XCOLOR</a>,
+or an X-colour alias (again, initialized with
+<strong>XCOLOR</strong>).
+</p>
+
+<p>
+Say, for example, you want to draw a 1/2 point outline box that
+starts one inch from the current left margin and has the dimensions 
+12 picas x 6 picas.  To do so, you'd invoke <kbd>.DBX</kbd> like this:
+
+<pre>
+           indent   depth
+             |        |
+    .DBX .5  1i  12P  6P
+          |       |
+       weight   length
+</pre>
+
+(Note that the box weight argument, which is expressed in points,
+must NOT have the unit of measure <kbd>p</kbd> appended to it.)
+</p>
+
+If you want the same box, but solid (&quot;filled&quot;) rather
+than drawn as an outline:
+
+<pre>
+    .DBX SOLID 1i 12P 6P
+</pre>
+
+<p>
+Additionally, if you want the box green:
+
+<pre>
+    .DBX .5 1i 12P 6P green
+     or
+    .DBX SOLID 1i 12P 6P green
+</pre>
+</p>
+
+<h3><u>How mom handles the positioning of boxes</u></h3>
+
+<p>
+Boxes are drawn from the baseline down, from left to right, and
+from the perimeter <em>inward</em>. &quot;From the perimeter
+inward&quot; means that if you request a box weight of six points,
+the 6-point rules used to draw the outline of the box fall entirely
+<em>within</em> the dimensions of the box.
+</p>
+
+<p>
+Furthermore, after the box is drawn, <strong>mom</strong> returns
+you to the current left margin, at the same vertical position
+on the page as when <strong>DBX</strong> was invoked.  In other
+words, <strong>DBX</strong> causes no movement on the page, either
+horizontal or vertical.
+</p>
+
+<!-- -DCL- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DCL"><h3><u>Drawing circles (ellipses)</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>DCL</strong> <kbd>&lt; &lt;rule weight&gt; | SOLID &gt; 
&lt;indent&gt; &lt;length&gt; &lt;depth&gt; [&lt;colour&gt;]</kbd></nobr>
+<br/>
+
+<em>*The argument to</em> <kbd>&lt;rule weight&gt;</kbd> <em>is
+in</em>
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+<em>but do </em> NOT <em>append the</em>
+<a href="definitions.html#TERMS_UNITSOFMEASURE">unit of
+measure</a>, <kbd>p</kbd>.
+<br/>
+
+<em>*The arguments,</em> <kbd>&lt;indent&gt;</kbd><em>,</em>
+<kbd>&lt;length&gt;</kbd> <em>and</em> <kbd>&lt;depth&gt;</kbd>
+<em>require a unit of measure.</em>
+</p>
+
+<p>
+To draw circles of specified dimensions, you must, at a minimum,
+supply <strong>DCL</strong> with the arguments <kbd><nobr>rule
+weight</nobr></kbd> or <kbd>SOLID</kbd>, <kbd>indent</kbd>
+(measured from the current left margin), <kbd>length</kbd> and
+<kbd>depth</kbd>.
+</p>
+
+<p>
+Optionally, you may give a <kbd>colour</kbd> argument.
+The colour may be either one defined with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>,
+or a named X-colour inititialized with
+<a href="color.html#XCOLOR">XCOLOR</a>,
+or an X-colour alias (again, initialized with
+<strong>XCOLOR</strong>).
+</p>
+
+<p>
+Say, for example, you want to draw a 1/2 point outline circle
+(ellipse, actually, in this case) that starts one inch from the
+current left margin and has the dimensions 6 centimeters x 3
+centimeters.  To do so, you'd invoke <kbd>.DCL</kbd> like this:
+
+<pre>
+           indent  depth
+             |       |
+    .DCL .5  1i  6c  3c
+          |      |
+       weight   ength
+</pre>
+
+(Note that the box weight argument, which is expressed in points,
+must NOT have the unit of measure <kbd>p</kbd> appended to it.)
+</p>
+
+If you want the same box, but solid (&quot;filled&quot;) rather
+than drawn as an outline:
+
+<pre>
+    .DCL SOLID 1i 6c 3c
+</pre>
+
+<p>
+Additionally, if you want the circle yellow:
+
+<pre>
+    .DCL .5 1i 6c 3c yellow
+     or
+    .DCL SOLID 1i 6c 3c yellow
+</pre>
+</p>
+
+<h3><u>How mom handles the positioning of circles (ellipses)</u></h3>
+
+<p>
+Circles (ellipses) are drawn from the baseline down, from left
+to right, and from the perimeter <em>inward</em>. &quot;From the
+perimeter inward&quot; means that if you request a box weight of six
+points, the 6-point rule used to draw the outline of the circle or
+ellipse falls entirely <em>within</em> the dimensions of the circle
+or ellipse.
+</p>
+
+<p>
+Furthermore, after the circle is drawn, <strong>mom</strong> returns
+you to the current left margin, at the same vertical position
+on the page as when <strong>DCL</strong> was invoked.  In other
+words, <strong>DCL</strong> causes no movement on the page, either
+horizontal or vertical.
+</p>
+
+<hr/>
+
+<p>
+<a href="docprocessing.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="color.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: headfootpage.html
===================================================================
RCS file: headfootpage.html
diff -N headfootpage.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ headfootpage.html   1 Aug 2006 01:14:08 -0000       1.14
@@ -0,0 +1,2229 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Document processing: headers, footers and pagination</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="rectoverso.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docelement.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="HEADFOOTPAGE"><h1 align="center"><u>Page headers, footers, and 
pagination</u></h1></a>
+
+<ul>
+    <li><a href="#HEADFOOTPAGE_INTRO">Introduction &mdash; VERY IMPORTANT; 
read me!</a></li>
+    <ul>
+        <li><a href="#PAGINATION_NOTE">An important note on pagination</a></li>
+    </ul>
+    <li><a href="#DESCRIPTION_GENERAL">General description of 
headers/footers</a></li>
+    <li><a href="#HEADER_STYLE">Default specs for headers/footers</a></li>
+    <li><a href="#VERTICAL_SPACING">Vertical placement and spacing of 
headers/footers</a></li>
+    <li><a href="#HEADFOOT_MANAGEMENT">Managing headers/footers</a> &mdash; 
see also <a href="#HEADFOOT_TOC">Control macros for headers/footers</a></li>
+    <ul>
+        <li><a href="#HEADERS">HEADERS</a> &mdash; on or off</li>
+        <li><a href="#FOOTERS">FOOTERS</a> &mdash; on or off</li>
+        <li><a href="#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a></li>
+        <li><a href="#USERDEF_HDRFTR">User-defined, single string recto/verso 
headers/footers</a></li>
+        <ul>
+            <li><a href="#USERDEF_HDRFTR_INTRO">Introduction</a></li>
+            <li><a href="#HDRFTR_RECTOVERSO">HEADER_RECTO, 
HEADER_VERSO</a></li>
+            <li><a href="#RESERVED_STRINGS">Using mom's &quot;reserved&quot; 
strings in header/footer definitions</a>
+                (title, author, etc.)
+            </li>
+        </ul>
+        <li><a href="#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>
+            &mdash; putting both headers and footers on document pages
+        </li>
+    </ul>
+    <a name="HEADFOOT_TOC"></a>
+    <li><a href="#HEADFOOT_CONTROL">Control macros for headers/footers</a></li>
+    <ul>
+        <li><a href="#HDRFTR_STRINGS">Header/footer strings</a></li>
+        <ul>
+            <li><a href="#RESERVED_STRINGS">Using mom's &quot;reserved&quot; 
strings in header/footer definitions</a>
+                (title, author, etc.)
+            </li>
+        </ul>
+        <li><a href="#HDRFTR_STYLE">Header/footer style</a></li>
+        <ul>
+            <li><a href="#HDRFTR_STYLE_GLOBAL">Global style control</a></li>
+            <li><a href="#HDRFTR_STYLE_PART">Part-by-part style 
control</a></li>
+        </ul>
+        <li><a href="#HDRFTR_VERTICAL">Vertical placement and spacing of 
headers/footers</a></li>
+        <ul>
+            <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a></li>
+            <li><a href="#HDRFTR_GAP">HEADER_GAP</a></li>
+        </ul>
+        <li><a href="#HDRFTR_SEPARATOR">The header/footer separator 
rule</a></li>
+        <ul>
+            <li><a href="#HDRFTR_RULE">HEADER_RULE</a> &mdash; on or off</li>
+            <li><a href="#HDRFTR_RULE_WEIGHT">HEADER_RULE_WEIGHT</a> &mdash; 
weight of the rule</li>
+            <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> &mdash; 
distance of rule from header/footer</li>
+            <li><a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a> &mdash; 
colour of the header/footer rule</li>
+        </ul>
+    </ul>
+    <li><a href="#PAGINATION">Pagination</a></li>
+    <ul>
+        <li><a href="#INDEX_PAGINATION">Pagination control macros</a></li>
+    </ul>
+</ul>
+
+<a name="HEADFOOTPAGE_INTRO"><h2><u>Introduction</u></h2></a>
+
+<p>
+<a href="definitions.html#TERMS_HEADER">Headers</a>
+and
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+as defined in the section
+<a href="definitions.html#TERMS_MOM">Mom's Document Processing Terms</a>,
+are those parts of a document that contain information about the document
+itself which appear in the margins either above or below
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+They are, in all respects but two, identical.  The differences are:
+
+<ol>
+    <li>headers appear in the margin <em>above</em> running text while
+        footers appear in the margin <em>beneath</em> running text;
+    </li>
+    <li>the (optional) rule that separates headers from running
+        text appears <em>below</em> the header while
+        the (optional) rule that separates footers from running
+        text appears <em>above</em> the footer.
+    </li>
+</ol>
+</p>
+
+<a name="HEADERFOOTER"></a>
+
+<p>
+Because headers and footers are virtually identical, this
+documentation addresses itself only to headers.  In all cases,
+unless otherwise noted, descriptions of headers describe footers
+as well.
+</p>
+
+<p>
+Furthermore, any
+<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>
+that begins with <strong>HEADER_</strong> may be used to control
+footers, simply by replacing <strong>HEADER_</strong> with
+<strong>FOOTER_</strong>.
+</p>
+
+<p>
+<strong>Author's note:</strong> Left to their own devices (i.e. if
+you're happy with the way <strong>mom</strong> does things by default),
+headers are something you never have to worry about.  You can skip
+reading this section entirely.  But if you want to change them, be
+advised that headers have more macros to control their appearance than
+any other document element.  The text of this documentation becomes
+correspondingly dense at this point.
+</p>
+
+<a name="PAGINATION_NOTE"></a>
+
+<p>
+<strong>NOTE:</strong> While the single page number that
+<strong>mom</strong> generates in either the top or bottom margin
+above or below running text is technically a kind of header/footer,
+<strong>mom</strong> and this documentation treat it as a
+separate page element.
+</p>
+
+<a name="DESCRIPTION_GENERAL"><h3><u>General description of 
headers/footers</u></h3></a>
+
+<p>
+Headers comprise three distinct parts: a left part, a centre part,
+and a right part.  Each part contains text (a &quot;string&quot;)
+that identifies some aspect of the document as a whole.
+</p>
+
+<p>
+The left part (&quot;header left&quot;) lines up with the document's
+left margin.  The centre part (&quot;header centre&quot;) is
+centred on the document's line length.  The right part (&quot;header
+right&quot;) lines up with the document's right margin.  Not all parts
+need contain a string, and if you don't want headers at all, you can
+turn them off completely.
+</p>
+
+<p>
+<strong>A note to groff experts:</strong> Although
+<strong>mom</strong>'s headers resemble the three-part titles
+generated by <kbd>.tl</kbd>, they're in no way related to
+it, nor based upon it. <kbd>.tl</kbd> is not used at all in
+<strong>mom</strong>.
+</p>
+
+<p>
+Normally, <strong>mom</strong> fills headers with strings appropriate
+to the document type selected with
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.
+You can, however, supply whatever strings you like &mdash; including
+page numbers &mdash; to go in any part of headers.  What's more,
+you can set the family, font, size, colour and capitalization style
+(caps or caps/lower-case) for each header part individually.
+</p>
+
+<p>
+By default, <strong>mom</strong> prints a horizontal rule beneath
+headers to separate them visually from running text.  In the case of
+footers, the rule is <em>above</em> running text.  You can increase
+or decrease the space between the header and the rule if you like
+(with
+<a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a>),
+or remove it completely.
+</p>
+
+<a name="HEADER_STYLE"><h3><u>Default specs for headers/footers</u></h3></a>
+
+<p>
+<strong>Mom</strong> makes small type adjustments to each part of
+the header (left, centre, right) to achieve an aesthetically
+pleasing result.  The defaults are listed below.  (The strings
+<strong>mom</strong> puts by default in each part are explained in
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.)
+</p>
+
+<p>
+<strong>NOTE:</strong> Except for capitalization (all caps or
+caps/lower-case), these defaults apply only to
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>.
+</p>
+
+<pre>
+TYPE SPEC    HEADER LEFT         HEADER CENTER       HEADER RIGHT
+---------    -----------         -------------       ------------
+Family       document default    document default    document default
+Font         roman               italic              roman
+Colour       (black)             (black)             (black)
+All caps     no                  no                  yes
+Size*        -.5 (points)        -.5 (points)        -2 (points)
+            (-2 if all caps)    (-2 if all caps)    (-.5 if not all caps)
+
+*Relative to the point size of type in paragraphs
+</pre>
+
+<p>
+You can, of course, change any of the defaults using the appropriate
+control macros.  And should you wish to design headers from the
+ground up, <strong>mom</strong> has a special macro,
+<a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>,
+that removes all type adjustments to headers.  The straightforward
+type specs for paragraphs are used instead, providing a simple
+reference point for any alterations you want to make to the family,
+font, size and capitalization style of any header part.
+</p>
+
+<a name="VERTICAL_SPACING"><h3><u>Vertical placement and spacing of 
headers/footers</u></h3></a>
+
+<p>
+As explained in the section on
+<a href="typemacdoc.html">typesetting macros in document processing</a>,
+the top and bottom margins of a <strong>mom</strong> document
+are the vertical start and end positions of
+<a href="definitions.html#TERMS_RUNNING">running text</a>,
+not the vertical positions of headers or footers, which, by definition,
+appear in the margins <em>above</em> (or below) running text.
+</p>
+
+<p>
+The vertical placement of headers
+is controlled by the macro
+<a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>,
+which establishes the
+<a href="definitions.html">baseline</a>
+position of headers relative to the <em>top</em> edge of the page.
+The header rule, whose position is relative to the header itself,
+is controlled by a separate macro.
+<strong>FOOTER_MARGIN</strong> establishes the baseline position of
+footers relative to the <em>bottom</em> edge of the page.
+</p>
+
+<p>
+<a href="#HDRFTR_GAP">HEADER_GAP</a>
+establishes the distance between headers and the <em>start</em>
+of running text (effectively making <strong>HEADER_MARGIN +
+HEADER_GAP</strong> the top margin of running text unless you give
+<strong>mom</strong> a literal top margin (with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>),
+in which case she ignores <strong>HEADER_GAP</strong> and starts
+running text at whatever top margin you gave.
+<strong>FOOTER_GAP</strong> and
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
+work similarly, except they determine where running text
+<em>ends</em> on the page.  (See
+<a href="#FOOTER_MARGIN">FOOTER MARGIN AND BOTTOM MARGIN &mdash; VERY 
IMPORTANT!</a>
+for a warning about possible conflicts between the footer margin and
+the bottom margin.)
+</p>
+
+<p>
+Confused?  <strong>Mom</strong> apologizes.  It's really quite
+simple.  By default, <strong>mom</strong> sets headers 4-1/2
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+down from the top of the page and starts running text 3 picas (the
+<strong>HEADER_GAP</strong>) beneath that, which means the effective
+top margin of running text is 7-1/2 picas (visually approx. 1 inch).
+If you give <strong>mom</strong> a literal top margin (with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>),
+she ignores the <strong>HEADER_GAP</strong> and starts running
+text at whatever top margin you gave.
+</p>
+
+<p>
+Footers are treated the same way, the only difference being the
+default distances. <strong>Mom</strong> sets footers 3 picas up from
+the bottom of the page, and interrupts the processing of running
+text 3 picas (the <strong>FOOTER_GAP</strong>) above that (again,
+visually approx. 1 inch).  If you give <strong>mom</strong> a
+literal bottom margin (with
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>),
+she ignores the <strong>FOOTER_GAP</strong> and interrupts the
+processing of running text at whatever bottom margin you gave.
+</p>
+
+<p>
+If <strong>mom</strong> is paginating your document (she
+does, by default, at the bottom of each page), the vertical
+spacing and placement of page numbers, whether at the top
+or the bottom of the page, is managed exactly as if the
+page numbers were headers (or footers), and are controlled
+by the same macros.  See
+<a href="#PAGINATION">Pagination control</a>.
+</p>
+
+<hr/>
+
+<!-- ======================================================================== 
-->
+
+<a name="HEADFOOT_MANAGEMENT"><h2><u>Managing headers/footers</u></h2></a>
+
+<h3><u>Macro list</u></h3>
+
+<ul>
+    <li><a href="#HEADERS">HEADERS</a> &mdash; on or off</li>
+    <li><a href="#FOOTERS">FOOTERS</a> &mdash; on or off</li>
+    <li><a href="#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a></li>
+    <li><a href="#USERDEF_HDRFTR">User-defined, single string recto/verso 
headers/footers</a></li>
+    <ul>
+        <li><a href="#USERDEF_HDRFTR_INTRO">Introduction</a></li>
+        <li><a href="#HDRFTR_RECTOVERSO">HEADER_RECTO, HEADER_VERSO</a></li>
+        <li><a href="#RESERVED_STRINGS">Using mom's &quot;reserved&quot; 
strings in header/footer definitions</a>
+            (title, author, etc.)
+        </li>
+    </ul>
+    <li><a href="#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>
+        &mdash; putting both headers and footers on document pages
+    </li>
+    <li><a href="#HEADFOOT_CONTROL">Header and footer control macros</a></li>
+</ul>
+
+<p>
+The following are the basic macros for turning
+<a href="definitions.html#TERMS_HEADER">headers</a>
+or
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+on or off.  They should be invoked prior to
+<a href="docprocessing.html#START">START</a>.
+</p>
+
+<p>
+By default, <strong>mom</strong> prints page headers.  If you turn
+them off, she will begin
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+on each page with a default top margin of 6
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+unless you have requested a different top margin (with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>)
+prior to
+<a href="docprocessing.html#START">START</a>.
+</p>
+
+<p>
+Please note that
+<a href="#HEADERS">HEADERS</a>
+and
+<a href="#FOOTERS">FOOTERS</a>
+are mutually exclusive.  If headers are on, footers (but NOT
+bottom-of-page numbering) are automatically turned off.  Equally,
+if footers are on, headers (but NOT top-of-page numbering) are
+automatically turned off.  Thus, if you'd prefer footers in a
+document, you need only invoke
+<a href="#FOOTERS"><kbd>.FOOTERS</kbd></a>;
+there's no need to turn headers off first.
+</p>
+
+<p>
+If you need both headers and footers, there's a special macro,
+<a href="#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>,
+that allows you to set this up.
+</p>
+
+<!-- -HEADERS- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HEADERS"></a>
+
+<p>
+<nobr>Macro: <strong>HEADERS</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+<a href="definitions.html#TERMS_HEADER">Page headers</a>
+are on by default.  If you don't want them, turn them off by
+invoking <kbd>.HEADERS</kbd> with any argument (<strong>OFF, QUIT,
+END, X...</strong>), e.g.
+
+<pre>
+    .HEADERS OFF
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>HEADERS</strong> automatically
+disables 
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+(you can't have both), but not the page numbers that normally
+appear at the bottom of the page.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> If <strong>HEADERS</strong>
+are <strong>OFF</strong>, <strong>mom</strong>'s normal top
+margin for
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+(7.5
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>)
+changes to 6 picas (visually approx. 1 inch).  This does NOT apply
+to the situation where footers have been explicitly turned on
+(with
+<a href="#FOOTERS">FOOTERS</a>).
+Explicitly invoking footers moves page numbering to the
+top of the page, where its placement and spacing are the same as
+for headers.  (I.e. the top margin of running text remains 7.5
+picas.)
+</p>
+
+<!-- -FOOTERS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FOOTERS"></a>
+
+<p>
+<nobr>Macro: <strong>FOOTERS</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+<a href="definitions.html#TERMS_FOOTER">Page footers</a>
+are off by default.  If you want them instead of
+<a href="definitions.html#TERMS_HEADER">headers</a>
+(you can't have both), turn them on by invoking
+<kbd>.FOOTERS</kbd> without an argument, e.g.
+
+<pre>
+    .FOOTERS
+</pre>
+</p>
+
+<p>
+<strong>FOOTERS</strong> automatically disables headers, and
+<strong>mom</strong> shifts the placement of page numbers from their
+normal position at page bottom to the top of the page.
+</p>
+
+<p>
+<strong>NOTE:</strong> By default, when footers are on,
+<strong>mom</strong> does not print a page number on the first
+page of a document, nor on first pages after
+<a href="rectoverso.html#COLLATE">COLLATE</a>.
+If you don't want this behaviour, you can change it with
+<a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a>.
+</p>
+
+<!-- -FOOTER_ON_FIRST_PAGE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FOOTER_ON_FIRST_PAGE"></a>
+
+<p>
+<nobr>Macro: <strong>FOOTER_ON_FIRST_PAGE</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+If you invoke
+<a href="#FOOTERS"><kbd>.FOOTERS</kbd></a>,
+<strong>mom</strong>, by default, does not print a footer on the
+first page of the document.  (The
+<a href="definitions.html">docheader</a>
+on page 1 makes it redundant.)  However, should you wish a footer on
+page 1, invoke <kbd>.FOOTER_ON_FIRST_PAGE</kbd> without any argument.
+</p>
+
+<hr/>
+
+<!-- -USERDEF_HDRFTR- -->
+
+<a name="USERDEF_HDRFTR"><h2><u>User-defined, single string recto/verso 
headers/footers</u></h2></a>
+
+<a name="USERDEF_HDRFTR_INTRO"><h3><u>Introduction</u></h3></a>
+
+<p>
+Sometimes, you'll find you can't get <strong>mom</strong>'s handling
+of 3-part headers or footers to do exactly what you want in the
+order you want.  This is most likely happen when you want the
+information contained in the headers/footers split over two pages,
+as is often the case with recto/verso documents.
+</p>
+
+<p>
+Say, for example, you want recto page headers to contain a
+document's author, centred, and verso page headers to contain the
+document's title, also centred, like this:
+
+<pre>
+    +------------------------+   +------------------------+     
+    |         Author         |   |         Title          |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    +------------------------+   +------------------------+     
+</pre>
+</p>
+
+<p>
+With <strong>mom</strong>'s standard 3-part headers, this isn't
+possible, even when
+<a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>
+is enabled.  <strong>RECTO_VERSO</strong> switches the left and
+right parts of headers on alternate pages, but the centre
+part remains unchanged.
+</p>
+
+<p>
+Any time you need distinctly different headers on alternate
+pages, <strong>mom</strong> has macros that let you manually
+design and determine what goes into headers on recto pages, and
+what goes into headers on verso pages.  The macros are
+<a href="#HDRFTR_RECTOVERSO">HEADER_RECTO</a>
+and
+<a href="#HDRFTR_RECTOVERSO">HEADER_VERSO</a>.
+Both allow you to state whether the header is flush left, centred,
+or flush right, and both take a single
+<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>
+with which, by combining text and
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+you can make the headers come out just about any way you want.
+Use of the <kbd>\*[PAGE#]</kbd> escape is permitted in the string
+argument (see
+<a href="#PAGE_NUMBER_INCL">Including the page number in header-left, -centre 
or -right</a>),
+and as an added bonus, <strong>mom</strong> provides a special
+mechanism whereby it's possible to &quot;pad&quot; the string as
+well.
+</p>
+
+<!-- -HDRFTR_RECTOVERSO- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_RECTOVERSO"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_RECTO</strong> <kbd>LEFT | CENTER | RIGHT 
&quot;&lt;header recto string&gt;&quot;</kbd></nobr>
+<br/>
+
+<nobr>Macro: <strong>HEADER_VERSO</strong> <kbd>LEFT | CENTER | RIGHT 
&quot;&lt;header verso string&gt;&quot;</kbd></nobr>
+<br/>
+</p>
+
+<p>
+<strong>HEADER_RECTO</strong> and <strong>HEADER_VERSO</strong>
+behave identically, hence all references to
+<strong>HEADER_RECTO</strong> in this section also
+refer to <strong>HEADER_VERSO</strong>.  Furthermore,
+<strong>FOOTER_</strong> can be used instead of
+<strong>HEADER_</strong> to set up recto/verso footers.
+</p>
+
+<p>
+The first argument to <strong>HEADER_RECTO</strong> is the
+direction in which you want the header
+<a href="definitions.html#TERMS_QUAD">quadded</a>.
+<kbd>L, C</kbd> and <kbd>R</kbd> may be used in place of <kbd>LEFT,
+CENTER</kbd> and <kbd>RIGHT</kbd>.  The second argument is a string,
+surrounded by double-quotes, containing what you want in the header.
+<strong>HEADER_RECTO</strong> disables <strong>mom</strong>'s normal
+3-part headers, therefore anything you want in the headers must be
+entered by hand in the string, including colours (via the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<a href="color.html#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a>).
+</p>
+
+<p>
+By default, <strong>HEADER_RECTO</strong> is set at the same
+size, and in the same family and font, as paragraph text.  The
+control macros
+<a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>
+and
+<a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>
+may be used to change the default family and size.  Changes to
+the font(s) within the string must be accomplished with the
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+<kbd>\*[ROM], \*[IT], \*[BD], \*[BDI]</kbd> and
+<kbd>\*[PREV]</kbd> (see
+<a href="inlines.html#INLINE_FONTS_MOM">Changing fonts</a>).
+Additional refinements to the style of the header-recto string,
+including horizontal spacing and/or positioning, can also be made
+with inline escapes.
+</p>
+
+<p>
+To include the current page number in the string, use the
+<kbd>\*[PAGE#]</kbd> inline.
+</p>
+
+<a name="PADDING_HDRFTR"><h4>*<u>Padding the HEADER_RECTO/HEADER_VERSO 
string</u></h4></a>
+
+<p>
+You can &quot;pad&quot; the header-recto string, a convenience
+you'll appreciate in circumstances such as the following.
+
+<pre>
+               VERSO                       RECTO 
+    +------------------------+   +------------------------+     
+    | Author          Page#  |   | Page#            Title |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    |                        |   |                        |     
+    +------------------------+   +------------------------+     
+</pre>
+</p>
+
+<p>
+To pad the string argument passed to <strong>HEADER_RECTO</strong>,
+begin and end the string (inside the double-quotes) with the caret
+character (<kbd>^</kbd>).  Enter the pound sign (<kbd>#</kbd>)
+at any point in the string where you want an equalized amount of
+whitespace inserted.  (If you're unsure what padding is, see
+<a href="goodies.html#PAD">Insert space into lines</a>.)
+Note that if you're padding the string, it doesn't matter what quad
+direction you give <strong>HEADER_RECTO</strong> since padding, by
+its nature, justifies text to the left and right margins.
+</p>
+
+<p>
+The situation depicted above is accomplished like this:
+
+<pre>
+    .HEADER_RECTO LEFT "^\*[PAGE#]#\E*[$TITLE]^"
+    .HEADER_VERSO LEFT "^\E*[$AUTHOR]#\*[PAGE#]^"
+</pre>
+</p>
+
+<p>
+Note that <strong>mom</strong> does not interpret the <kbd>#</kbd>
+in <kbd>\*[PAGE#]</kbd> as a padding marker (i.e. as a place to
+insert whitespace).
+</p>
+
+<p>
+Also, notice that the argument, <kbd>LEFT</kbd>, is used in both
+cases.  When padding a header, it doesn't matter whether you use
+<kbd>LEFT, CENTER</kbd> or <kbd>RIGHT</kbd> as the argument.
+</p>
+
+<p>
+Furthermore, should you need a user-defined header of
+the sort provided by <strong>HEADER_RECTO</strong> and
+<strong>HEADER_VERSO</strong> but aren't actually printing
+recto/verso, you can use <strong>HEADER_RECTO</strong> to design the
+header that appears at the top of every page.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> The
+<a href="goodies.html#PAD_MARKER">PAD_MARKER</a>
+macro, which changes the default pad marker (<kbd>#</kbd>) used by
+<a href="goodies.html#PAD">PAD</a>,
+has no effect on the pad marker used in the
+<strong>HEADER_RECTO</strong> string.  If you absolutely must
+have a literal pound sign in your <strong>HEADER_RECTO</strong>
+string, use the escape sequence for the pound sign
+<nobr>( <kbd>\[sh]</kbd> )</nobr> where you want the pound sign
+to go.
+</p>
+
+<!-- -HDRFTR_RECTOVERSO- -->
+
+<hr width="33%" align="left"/>
+
+<a name="HEADERS_AND_FOOTERS"></a>
+
+<p>
+<nobr>Macro: <strong>HEADERS_AND_FOOTERS </strong></nobr>
+<br/>
+
+Invocation:
+<pre>
+    .HEADERS_AND_FOOTERS \
+    &lt;L | C | R&gt; "&lt;recto header string&gt;" \
+    &lt;L | C | R&gt; "&lt;recto footer string&gt;" \
+    &lt;L | C | R&gt; "&lt;verso header string&gt;" \
+    &lt;L | C | R&gt; "&lt;verso footer string&gt;"
+
+or
+
+    .HEADERS_AND_FOOTERS &lt;anything&gt;
+</pre>
+</p>
+
+<p>
+<strong>HEADERS_AND_FOOTERS</strong> allows you to have both
+headers and footers on the same page.
+</p>
+
+<p>
+Unlike the macros,
+<a href="#HEADERS">HEADERS</a>
+and
+<a href="#FOOTERS">FOOTERS</a>,
+<strong>HEADERS_AND_FOOTERS</strong> requires that you supply
+the information you want in the headers and footers yourself.
+<strong>Mom</strong> does no automatic generation of things like
+the title and the author in headers and footers when you're using
+<strong>HEADERS_AND_FOOTERS</strong>.  Furthermore, style
+changes &mdash; family, font, pointsize, colour, capitalization, etc
+&mdash; are entirely your responsibility and must be made with
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+in the arguments passed to <kbd>&quot;&lt;recto
+header string&gt;&quot;</kbd>, <kbd>&quot;&lt;recto
+footer string&gt;&quot;</kbd>, etc.  By default,
+<strong>mom</strong> sets the headers and footers created with
+<strong>HEADERS_AND_FOOTERS</strong> in the same family, font,
+point size, capitalization style and colour as
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+</p>
+
+<p>
+The manner of entering what you want is identical to the way you
+input
+<a href="#USERDEF_HDRFTR">single string headers and footers</a>.
+I suggest reading up on them, as well as looking at the entries,
+<a href="#HDRFTR_RECTOVERSO">HEADER_RECTO</a>
+and
+<a href="#RESERVED_STRINGS">Using mom's &quot;reserved&quot; strings in 
header/footer definitions</a>.
+</p>
+
+<p>
+The same
+<a href="#PADDING_HDRFTR">padding mechanism</a>
+used in <strong>HEADER_RECTO</strong> and
+<strong>HEADER_VERSO</strong> is available in the
+<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>
+passed to
+<strong>HEADERS_AND_FOOTERS</strong>, allowing you to simulate
+two- and three-part headers and footers.
+</p>
+
+<p>
+<nobr><kbd>L | C | R</kbd></nobr> in the arguments to
+<strong>HEADERS_AND_FOOTERS</strong> refers to whether you
+want the specific header or footer set flush left, centered,
+or flush right.  (You can also use the longer forms,
+<kbd>LEFT</kbd>, <kbd>CENTER</kbd> and <kbd>RIGHT</kbd>.)  The
+string you give afterwards is whatever text you want, including
+<strong>mom</strong>'s
+<a href="#RESERVED_STRINGS">&quot;reserved&quot; strings</a>,
+and whatever
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+you need to change things like family and font, pointsize, colour,
+etc. as you go along.
+</p>
+
+<p>
+Note the backslashes in the invocation, above.  Every set of
+arguments given this way to <strong>HEADERS_AND_FOOTERS</strong>
+<strong><em>except the last one</em></strong> requires a backslash
+after it.  The use of backslashes isn't required if you want to put
+the entire argument list on the same (very long!) line as the macro
+itself; I recommend sticking to the style shown above to keep things
+manageable.
+</p>
+
+<p>
+If you want to disable having both headers and footers
+on the same page, invoke <kbd>.HEADERS_AND_FOOTERS</kbd>
+with any argument you want (e.g. <strong>OFF, QUIT, END,
+X...</strong>). <strong>Mom</strong> will restore her default
+behaviour of setting automatically generated page headers,
+with the page number, centered, at the bottom of the page.  If
+you would prefer footers instead of headers after turning
+<strong>HEADERS_AND_FOOTERS</strong> off, just invoke
+<a href="#FOOTERS"><kbd>.FOOTERS</kbd></a>
+afterwards.
+</p>
+
+<h4><u>Some examples</u></h4>
+
+<h5><u>Example 1</u></h5>
+
+<p>
+If you want the same header and footer on every page, here's how
+you'd do it.
+
+<pre>
+    .HEADERS_AND_FOOTERS \          +-----------------------+
+    C "\E*[$TITLE]" \               |         Title         |
+    L "^\E*[$AUTHOR]#\*[PAGE#]^"    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    |                       |
+                                    | Author          Pg. # |
+                                    +-----------------------+
+</pre>
+</p>
+
+<p>
+<kbd>\E*[$TITLE]</kbd> and <kbd>\E*[$AUTHOR]</kbd> will print the
+strings you pass to
+<a href="docprocessing.html#TITLE">TITLE</a>
+and
+<a href="docprocessing.html#AUTHOR">AUTHOR</a>;
+<kbd>\*[PAGE#]</kbd> is how you include the page number in a header
+or footer string.  (For a list of special strings you can use in
+headers and footers, see
+<a href="#RESERVED_STRINGS">here</a>.)
+</p>
+
+<p>
+You don't have to use these special strings.  You can type in
+anything you like.  I've only used them here to show that they're
+available.
+</p>
+
+<h5><u>Example 2</u></h5>
+
+<p>
+If you want different headers and footers on recto/verso pages,
+here's a recipe:
+
+<pre>
+    .HEADERS_AND_FOOTERS \
+    C "BOOK TITLE" \
+    L "^\*[PAGE#]#\E*[$AUTHOR]^" \
+    C "Story Title" \
+    L "^\E*[$AUTHOR]#\*[PAGE#]^"
+
+    +-----------------------+     +------------------------+
+    |      BOOK TITLE       |     |       Story Title      |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    |                       |     |                        |
+    | Pg. #          Author |     | Author            Pg.# |
+    +-----------------------+     +------------------------+
+</pre>
+</p>
+
+<hr/>
+
+<a name="HEADFOOT_CONTROL"><h2><u>Control macros for 
headers/footers</u></h2></a>
+
+<p>
+Virtually every part of headers (see the paragraph on how
+<a href="#HEADERFOOTER">&quot;headers&quot; means &quot;footers&quot;</a>
+in the
+<a href="#HEADFOOTPAGE_INTRO">introduction to headers/footers</a>)
+can be designed to your own specifications.
+</p>
+
+<a name="INDEX_REFERENCE"><h3><u>Header/footer control macros</u></h3></a>
+
+<ul>
+
+    <a name="STRINGS"></a>
+
+    <li><a href="#HDRFTR_STRINGS"><strong>STRINGS</strong></a></li>
+    <ul>
+        <li><a href="#HDRFTR_LEFT">HEADER_LEFT</a></li>
+        <li><a href="#HDRFTR_CENTER">HEADER_CENTER</a></li>
+        <ul>
+            <li><a href="#HDRFTR_CENTER_PAD">HEADER_CENTER_PAD</a> &mdash; 
stick some space left or right of the centre string</li>
+        </ul>
+        <li><a href="#HDRFTR_RIGHT">HEADER_RIGHT</a></li>
+        <li><a href="#RESERVED_STRINGS">Using mom's &quot;reserved&quot; 
strings in header/footer definitions</a>
+            (e.g. <kbd>\E*[$TITLE]</kbd> when you want the title,
+            <kbd>\E*[$AUTHOR]</kbd> when you want the author, etc.)
+        </li>
+        <li><a href="#PAGE_NUMBER_SYMBOL">Replacing header left, centre or 
right with the page number</a></li>
+        <li><a href="#PAGE_NUMBER_INCL">Including the  page number in header 
left, centre or right</a></li>
+    </ul>
+
+    <a name="STYLE"></a>
+
+    <li><a href="#HDRFTR_STYLE"><strong>STYLE</strong></a></li>
+    <ul>
+
+    <a name="GLOBAL"></a>
+
+        <li><a href="#HDRFTR_STYLE_GLOBAL"><strong>Global 
changes</strong></a></li>
+        <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a>&nbsp;&mdash; 
family for entire header</li>
+        <li><a 
href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>&nbsp;&nbsp;&nbsp;&mdash; size for 
entire header</li>
+        <li><a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>&nbsp;&nbsp;&mdash; 
disable default adjustments to header parts</li>
+        <li><a href="#HDRFTR_COLOR">HEADER_COLOR</a>&nbsp;&nbsp;&mdash; 
colourize the header</li>
+    </ul>
+    <ul>
+
+    <a name="PART_BY_PART"></a>
+
+        <li><a href="#HDRFTR_STYLE_PART"><strong>Part-by-part 
changes</strong></a></li>
+        <li><a href="#_FAMILY">_FAMILY</a>&nbsp;&mdash; left, centre or right 
family</li>
+        <li><a href="#_FONT">_FONT</a>&nbsp;&nbsp;&nbsp;&mdash; left, centre 
or right font</li>
+        <li><a href="#_SIZE">_SIZE</a>&nbsp;&nbsp;&nbsp;&mdash; left, centre 
or right size</li>
+        <li><a href="#_CAPS">_CAPS</a>&nbsp;&nbsp;&nbsp;&mdash; left, centre 
or right all caps</li>
+        <li><a href="#_COLOR">_COLOR</a>&nbsp;&nbsp;&mdash; left, centre or 
right colour</li>
+    </ul>
+
+    <a name="VERTICAL"></a>
+
+    <li><a href="#HDRFTR_VERTICAL"><strong>VERTICAL PLACEMENT AND 
SPACING</strong></a></li>
+    <ul>
+        <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a></li>
+        <li><a href="#HDRFTR_GAP">HEADER_GAP</a></li>
+    </ul>
+
+    <a name="SEPARATOR_RULE"></a>
+
+    <li><a href="#HDRFTR_SEPARATOR"><strong>SEPARATOR RULE</strong></a></li>
+    <ul>
+        <li><a href="#HDRFTR_RULE">HEADER_RULE</a></li>
+        <li><a href="#HDRFTR_RULE_WEIGHT">HEADER_RULE_WEIGHT</a></li>
+        <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a></li>
+        <li><a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a></li>
+    </ul>
+</ul>
+
+<!-- -HDRFTR_STRINGS- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_STRINGS"><h3><u>Header/footer strings</u></h3></a>
+
+<a name="HDRFTR_LEFT"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_LEFT</strong> <kbd>&quot;&lt;text of header 
left&gt;&quot; | #</kbd></nobr>
+<br/>
+
+<a name="HDRFTR_CENTER"></a>
+
+<nobr>Macro: <strong>HEADER_CENTER</strong> <kbd>&quot;&lt;text of header 
centre&gt;&quot; | #</kbd></nobr>
+<br/>
+
+<a name="HDRFTR_RIGHT"></a>
+
+<nobr>Macro: <strong>HEADER_RIGHT</strong> <kbd>&quot;&lt;text of header 
right&gt;&quot; | #</kbd></nobr>
+</p>
+
+<p>
+To change the text (the &quot;string&quot;) of the left, centre, or
+right part of headers, invoke the appropriate macro above with the
+string you want.  For example, <strong>mom</strong>, by default,
+prints the document's author in the header-left position.  If your
+document has, say, two authors, and you want both their names to
+appear header-left, change <strong>HEADER_LEFT</strong> like this:
+
+<pre>
+    .HEADER_LEFT "R. Stallman, E. Raymond"
+</pre>
+</p>
+
+<p>
+Because the arguments to <strong>HEADER_LEFT, _CENTER,</strong>
+and <strong>_RIGHT</strong> are
+<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>,
+they must be enclosed in double-quotes.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the strings in footers.
+
+<a name="HDRFTR_CENTER_PAD"><h4>*<u>Padding the header/footer centre 
string</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_CENTER_PAD</strong> <kbd>LEFT | RIGHT &lt;amount 
of space by which to pad centre string left or right&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+By default, <strong>mom</strong> centres the header centre string
+literally on the line length in effect for page headers.  In some
+cases, notably when the header left or header right strings are
+particularly long, the effect isn't pretty.  The offendingly long
+header left or right crowds, or even overprints, the header centre.
+That's where <strong>HEADER_CENTER_PAD</strong> comes in.  With a
+bit of experimentation (yes, you have to preview the document), you
+can use <strong>HEADER_CENTER_PAD</strong> to move the header
+centre string left or right until it looks acceptably centred
+between the two other strings.
+</p>
+
+<p>
+For example, say your document is an outline for a novel called "By
+the Shores of Lake Attica."  You've told <strong>mom</strong>
+you want
+<br/><br/>
+
+<nobr>&nbsp;&nbsp;&nbsp;&nbsp;<a 
href="docprocessing.html#DOCTYPE">.DOCTYPE</a> <strong>NAMED</strong> 
"Outline"</nobr>
+<br/><br/>
+
+but when you preview your work, you see that &quot;Outline&quot;, in
+the centre of the page header, is uncomfortably close to the title,
+which is to the right of it.  By invoking
+
+<pre>
+    .HEADER_CENTER_PAD RIGHT 3P
+</pre>
+</p>
+
+you can scoot the word "Outline" over three
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>
+to the left (the padding's added to the right of the string)
+so that your head looks nicely spaced out.  Invoking
+<kbd>.HEADER_CENTER_PAD</kbd> with the <kbd>LEFT</kbd> argument
+obviously puts the padding on the left side of the string.
+</p>
+
+<p>
+Most reassuring of all is that if you use
+<strong>HEADER_CENTER_PAD</strong> conjunction with
+<a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>,
+<strong>mom</strong> will pad the centre string appropriately left
+OR right, depending on which page you're on, without you having to
+tell her to do so.
+</p>
+
+<a name="RESERVED_STRINGS"><h4>*<u>Using mom's &quot;reserved&quot; strings in 
header/footer definitions</u></h4></a>
+
+<p>
+As pointed out in the author's note in the introduction to
+headers/footers, headers and footers are something you don't
+normally have to worry much about. <strong>Mom</strong> usually
+knows what to do.
+</p>
+
+<p>
+However, situations do arise where you need to manipulate what goes
+in the header/footer strings, setting and resetting them as you go
+along.  A case where you might want to do this would be if you want
+to output endnotes at the end of each document in a series of
+<a href="rectoverso.html#COLLATE">collated</a>
+documents, and you want the word "Endnotes" to go in the header
+centre position of the endnotes, but want, say, the
+<a href="docprocessing.html#TITLE">TITLE</a>
+to go back into the centre position for the next output document.
+</p>
+
+<p>
+In scenarios like the above, <strong>mom</strong> has a number of
+&quot;reserved&quot; strings that you can plug into the
+<strong>HEADER_LEFT, _CENTER</strong> and <strong>_RIGHT</strong>
+macros.  They are:
+
+<pre>
+    \E*[$TITLE]          &mdash; the current argument passed to .TITLE
+    \E*[$DOCTITLE]       &mdash; the current argument passed to .DOCTITLE
+    \E*[$AUTHOR]         &mdash; the current first argument passed to .AUTHOR
+    \E*[$AUTHOR_1...9]   &mdash; the current arguments passed to .AUTHOR
+    \E*[$AUTHORS]        &mdash; a comma-separated concatenated string
+                           of all the current arguments passed to .AUTHOR
+                           (i.e. a list of authors)
+    \E*[$CHAPTER_STRING] &mdash; the current argument passed to 
.CHAPTER_STRING,
+                           if invoked, otherwise, "Chapter"
+    \E*[$CHAPTER]        &mdash; the current argument (typically a number) 
passed
+                           to .CHAPTER
+    \E*[$CHAPTER_TITLE]  &mdash; the current argument passed to .CHAPTER_TITLE
+</pre>
+</p>
+
+<p>
+Returning to the scenario above, first, you'd define a centre
+string for the endnotes page:
+
+<pre>
+    .HEADER_CENTER "Endnotes"
+</pre>
+
+Then, you'd output the endnotes:
+
+<pre>
+    .ENDNOTES
+</pre>
+
+Then, you'd prepare <strong>mom</strong> for the next document:
+
+<pre>
+    .COLLATE
+    .TITLE "New Doc Title"
+    .AUTHOR "Josephine Blough"
+</pre>
+
+Then, you'd redefine the header centre string using the reserved
+string <kbd>\E*[$TITLE]</kbd>, like this:
+
+<pre>
+    .HEADER_CENTER "\E*[$TITLE]"
+</pre>
+</p>
+
+<p>
+And last, you'd do:
+
+<pre>
+    .START
+</pre>
+</p>
+
+<p>
+Voilà!  Any argument you pass to <strong>TITLE</strong> from here
+on in (say, for subsequent documents) is back in the header centre
+position.  Here's the whole routine again:
+
+<pre>
+    .HEADER_CENTER "Endnotes"
+    .ENDNOTES
+    .COLLATE
+    .TITLE         "New Doc Title"
+    .AUTHOR        "Josephine Blough"
+    .HEADER_CENTER "\E*[$TITLE]"
+    .START
+</pre>
+</p>
+
+<p>
+If need be, you can concatenate the strings, as in the following
+example.
+
+<pre>
+    .HEADER_CENTER "\E*[$CHAPTER_STRING] \E*[$CHAPTER]"
+</pre>
+
+which, assuming a <kbd>.CHAPTER_STRING</kbd> of
+<kbd>&quot;Chapter&quot;</kbd> and a <kbd>.CHAPTER</kbd> of
+<kbd>&quot;2&quot;,</kbd> would put &quot;Chapter 2&quot; in the
+header centre position.
+</p>
+
+<a name="PAGE_NUMBER_SYMBOL"><h4>*<u>Replacing header-left, -CENTER or -right 
with the page number</u></h4></a>
+
+<p>
+If you would like to have the current page number to appear 
+header-left, -center, or -right <em>instead</em> of a text
+string, invoke the appropriate macro, above, with the single
+argument <kbd>#</kbd> (the &quot;number&quot; or
+&quot;pound&quot; sign).  Do <strong>NOT</strong> use
+double-quotes.  For example,
+
+<pre>
+    .HEADER_CENTER #
+</pre> 
+
+will print the current page number in the CENTER part of
+headers.
+</p>
+
+<a name="PAGE_NUMBER_INCL"><h4>*<u>Including the page number in header-left, 
-CENTER or -right</u></h4></a>
+
+<p>
+If you would like to <em>include</em> the current page number in
+the string you pass to <strong>HEADER_LEFT, _CENTER,</strong> or
+<strong>_RIGHT</strong>, use the special
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[PAGE#]</kbd> in the string argument.
+</p>
+
+<p>
+For example, say you have a document that's ten pages long, and
+you want header-right to say "page &lt;whichever&gt; of 10",
+invoke <kbd>.HEADER_RIGHT</kbd> as follows:
+
+<pre>
+    .HEADER_RIGHT "page \*[PAGE#] of 10"
+</pre>
+</p>
+
+<p>
+Header-right of page two will read &quot;page 2 of 10&quot;,
+header-right of page three will read &quot;page 3 of 10&quot;,
+and so on.
+</p>
+
+<!-- -HDRFTR_STYLE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_STYLE"><h3><u>Header/footer style</u></h3></a>
+
+<a name="HDRFTR_STYLE_GLOBAL"><h4><u>Global changes</u></h4></a>
+
+<p>
+The following macros allow you to make changes that affect all
+parts of the header at once.
+</p>
+
+<p>
+Please note that <strong>HEADER_FAMILY</strong> and
+<strong>HEADER_FONT</strong> have no effect on
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.
+</p>
+
+<ul>
+    <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a></li>
+    <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a></li>
+    <li><a href="#HDRFTR_PLAIN">HEADER_PLAIN</a></li>
+    <li><a href="#HDRFTR_COLOR">HEADER_COLOR</a></li>
+</ul>
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_GLOBAL_FAMILY"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_FAMILY</strong> <kbd>&lt;family&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> uses the default document family
+for headers.  If you would like her to use another
+<a href="definitions.html#TERMS_FAMILY">family</a>
+in headers, invoke <kbd>.HEADER_FAMILY</kbd> with the identifier
+for the family you want.  The argument is the same as for the
+typesetting macro
+<a href="typesetting.html#FAMILY">FAMILY</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the footer family.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="HDRFTR_GLOBAL_SIZE"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_SIZE</strong> &lt;+|-number of points&gt;</nobr>
+<br/>
+
+<em>*Argument is relative to the point size of type in paragraphs</em>
+</p>
+
+<p>
+By default, <strong>mom</strong> makes small adjustments to the size
+of each part of a header to achieve an aesthetically pleasing result.
+If you'd like her to continue to do so, but would like the overall
+appearance of headers to be a little smaller or a little larger,
+invoke <kbd>.HEADER_SIZE</kbd> with + or - the number of
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+(fractions allowed) by which you want her to in/decrease the size
+of headers.  For example,
+
+<pre>
+    .HEADER_SIZE +.75
+</pre>
+
+increases the size of every part of a header by 3/4 of a point while
+respecting <strong>mom</strong>'s own little size changes.
+</p>
+
+<p>
+See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control 
macros</a>
+for an explanation of how control macros ending in
+<strong>_SIZE</strong> work.
+</p>
+
+<a name="FOOTER_GLOBAL_SIZE"></a>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the footer size.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Normally, macros that control headers have no
+effect on
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.
+<strong>HEADER_SIZE</strong> is an exception.  While all parts of a
+header in <strong>PRINTSTYLE TYPEWRITE</strong> are always the same
+size, you can use <strong>HEADER_SIZE</strong> with <strong>PRINTSTYLE
+TYPEWRITE</strong> to reduce the header's overall point size.
+You'll most likely require this when the
+<a href="docprocessing.html#COPYSTYLE">COPYSTYLE</a>
+is <strong>DRAFT</strong>, since portions of the header may overprint
+if, say, the title of your document is very long.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="HDRFTR_PLAIN"></a>
+
+<p>
+Macro: <strong>HEADER_PLAIN</strong>
+</p>
+
+<p>
+By default, <strong>mom</strong> makes adjustments to the
+font, size, and capitalization style of each part of headers
+to achieve an aesthetically pleasing look.  Should you wish to
+design your own headers from the ground up without worrying how
+changes to the various elements of header style interact with
+<strong>mom</strong>'s defaults, invoke <kbd>.HEADER_PLAIN</kbd>
+by itself, with no argument. <strong>Mom</strong> will disable her
+default behaviour for headers, and reset all elements of header
+style to the same family, font, and point size as she uses in
+paragraphs.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, with
+<strong>FOOTER_</strong> to disable <strong>mom</strong>'s default
+behaviour for the various elements of footer style.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="HDRFTR_COLOR"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_COLOR</strong> <kbd>&lt;colorname&gt;</kbd></nobr>
+</p>
+
+<p>
+If you want your headers in a colour different from the document
+default (usually black), invoke <kbd>.HEADER_COLOR</kbd> with the
+name of a colour pre-defined (or &quot;initialized&quot;) with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+</p>
+
+<p>
+<strong>HEADER_COLOR</strong> will set all the parts of the header
+AND the header rule in the colour you give it as an argument.  If
+you wish finer control over colour in headers, you can use
+<a href="#_COLOR">HEADER_&lt;POSITION&gt;_COLOR</a>
+to colourize each part of the header separately, as well as
+<a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a>
+to change the colour of the header rule.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to colourize footers.
+</p>
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_STYLE_PART"><h4><u>Part by part changes</u></h4></a>
+
+<p>
+<strong>NOTE:</strong> When using the following control
+macros, replace &quot;&lt;POSITION&gt;&quot; by <strong>LEFT,
+CENTER,</strong> or <strong>RIGHT</strong> as appropriate.
+</p>
+
+<ul>
+    <li><a href="#_FAMILY">HEADER_&lt;POSITION&gt;_FAMILY</a></li>
+    <li><a href="#_FONT">HEADER_&lt;POSITION&gt;_FONT</a></li>
+    <li><a href="#_SIZE">HEADER_&lt;POSITION&gt;_SIZE</a></li>
+    <li><a href="#_CAPS">HEADER_&lt;POSITION&gt;_CAPS</a></li>
+    <li><a href="#_COLOR">HEADER_&lt;POSITION&gt;_COLOR</a></li>
+</ul>
+
+<hr width="66%" align="left"/>
+
+<a name="_FAMILY"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_&lt;POSITION&gt;_FAMILY</strong> 
<kbd>&lt;family&gt;</kbd></nobr>
+</p>
+
+<p>
+Use <strong>HEADER_&lt;POSITION&gt;_FAMILY</strong> to change the
+<a href="definitions.html#TERMS_FAMILY">family</a>
+of any part of headers.  See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control 
macros</a>
+for an explanation of how control macros ending in
+<strong>_FAMILY</strong> work.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's family.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="_FONT"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_&lt;POSITION&gt;_FONT</strong> 
<kbd>&lt;font&gt;</kbd></nobr>
+</p>
+
+<p>
+Use <strong>HEADER_&lt;POSITION&gt;_FONT</strong> to change the
+<a href="definitions.html#TERMS_FONT">font</a>
+of any part of headers.  See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control 
macros</a>
+for an explanation of how control macros ending in
+<strong>_FONT</strong> work.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's font.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="_SIZE"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_&lt;POSITION&gt;_SIZE</strong> <kbd>&lt;+|-number 
of points&gt;</kbd></nobr>
+</p>
+
+<p>
+Use <strong>HEADER_&lt;POSITION&gt;_SIZE</strong> to change the
+size of any part of headers (relative to the point size of type in
+paragraphs).  See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control 
macros</a>
+for an explanation of how control macros ending in
+<strong>_SIZE</strong> work.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's size.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="_CAPS"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_&lt;POSITION&gt;_CAPS</strong> 
<kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+<strong>HEADER_&lt;POSITION&gt;_CAPS</strong> is a
+<a href="definitions.html#TERMS_TOGGLE">toggle macro</a>.
+If you want any part of headers to be set in all caps,
+regardless of the capitalization of that part's string as given
+to the
+<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>
+or as defined by you with the
+<a href="#HDRFTR_STRINGS">header string control macros</a>,
+simply invoke this macro (using the appropriate position) with no
+argument.  If you wish to turn capitalization off (say, for the
+header-right string that <strong>mom</strong> capitalizes by
+default), invoke the macro with any argument (e.g. <strong>OFF,
+QUIT, END, X...</strong>).
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change a footer part's
+capitalization style.
+</p>
+
+<hr width="33%" align="left"/>
+
+<a name="_COLOR"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_&lt;POSITION&gt;_COLOR</strong> 
<kbd>&lt;colorname&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>HEADER_&lt;POSITION&gt;_COLOR</strong> allows you to set a
+colour for each of the three possible parts of a page header
+separately.  For example, say you want the right part of the header
+(by default, the document title) in red, this is how you'd get it:
+
+<pre>
+    .HEADER_RIGHT_COLOR red
+</pre>
+</p>
+
+<p>
+The other parts of the header will be in the default header colour
+(usually black, but that can be changed with
+<a href="#HDRFTR_COLOR">HEADER_COLOR</a>).
+</p>
+
+<p>
+Remember that you have to define (or &quot;initialize&quot;) a
+colour with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>
+before you can use the colour.
+</p>
+
+<p>
+If you create a
+<a href="#USERDEF_HDRFTR">user-defined header</a>
+with
+<a href="#HDRFTR_RECTOVERSO">HEADER_RECTO</a>
+or
+<a href="#HDRFTR_RECTOVERSO">HEADER_VERSO</a>,
+and you want various elements within the header to be colourized,
+embed the colours in the string passed to <strong>HEADER_RECTO</strong>
+or <strong>HEADER_VERSO</strong> with the
+<a href="color.html#COLOR_INLINE"><kbd>\*[&lt;colorname&gt;]</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to set the colours for the various
+elements of footers.
+</p>
+
+<hr/>
+
+<!-- -HDRFTR_VERTICAL- -->
+
+<a name="HDRFTR_VERTICAL"><h2><u>Header/footer vertical placement and 
spacing</u></h2></a>
+
+<p>
+See
+<a href="#VERTICAL_SPACING">Vertical placement and spacing of 
headers/footers</a>
+for an explanation of how <strong>mom</strong> deals with
+headers, footers, and top/bottom page margins.
+</p>
+
+<!-- -HDRFTR_MARGIN- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_MARGIN"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_MARGIN</strong> <kbd>&lt;distance to baseline of 
header&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+Use <strong>HEADER_MARGIN</strong> to set the distance from the
+top edge of the page to the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of type in headers.  A unit of measure is required, and decimal
+fractions are allowed.
+</p>
+
+<p>
+<strong>Mom</strong>'s default header margin is 4-1/2
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
+but if you want a different margin, say, 1/2-inch, do
+
+<pre>
+    .HEADER_MARGIN .5i
+</pre>
+</p>
+
+<p>
+If your document uses
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+replace <strong>HEADER_</strong>, above, with
+<strong>FOOTER_</strong>.  The argument to
+<strong>FOOTER_MARGIN</strong> is the distance from the bottom edge
+of the page to the baseline of type in footers.
+</p>
+
+<p>
+<strong>Mom</strong>'s default footer margin is 3 
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>.
+</p>
+
+<a name="FOOTER_MARGIN"></a>
+
+<h4><u>FOOTER MARGIN AND BOTTOM MARGIN &mdash; VERY IMPORTANT!</u></h4> 
+
+<p>
+<strong>Mom</strong> requires a footer margin for proper operation,
+hence she sets one, even if you don't.  (As stated above, her default
+footer margin is 3-picas).
+</p>
+
+<p>
+If you set a bottom margin for your document (with
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>,
+prior to
+<a href="docprocessing.html#START">START</a>)
+and the margin's too close to <strong>mom</strong>'s default
+footer margin (or a footer margin you set yourself
+with <strong>FOOTER_MARGIN</strong>), <strong>mom</strong> will
+not print your footers; additionally, she'll give you a warning
+and some advice on standard error.  When this happens, you must
+reset either <strong>B_MARGIN</strong> or
+<strong>FOOTER_MARGIN</strong> so there's an adequate amount of
+space for <strong>mom</strong> to print the bottom line of running
+text and the footer.
+</p>
+
+<p>
+If you see the warning even when footers and/or bottom-of-page page
+numbering are disabled, set a nominal footer margin of 0 prior to
+<a href="docprocessing.html#START">START</a>,
+as in these examples.
+</p>
+
+<h5><u>Example 1</u></h5>
+
+<pre>
+    &lt;reference macros, etc&gt;
+    .PAGINATION    OFF
+    .B_MARGIN      .25i
+    .FOOTER_MARGIN O
+    .START
+</pre>
+
+<h5><u>Example 2</u></h5>
+
+<pre>
+    &lt;reference macros, etc&gt;
+    .HEADERS       OFF
+    .PAGENUM_POS   TOP RIGHT
+    .B_MARGIN      .25i
+    .FOOTER_MARGIN O
+    .START
+</pre>
+
+<h4><u>A note on header/footer margins and page numbering</u></h4>
+
+<p>
+<strong>Mom</strong> uses <strong>HEADER_MARGIN</strong> and
+<strong>FOOTER_MARGIN</strong> to establish the baseline
+position of page numbers in addition to the baseline position of
+headers and footers.
+</p>
+
+<p>
+By default, page numbers appear at the bottom of the page, therefore
+if you want the default position (bottom), but want to change the
+baseline placement, use <strong>FOOTER_MARGIN</strong>.  Conversely,
+if page numbers are at the top of the page, either because you turned
+<a href="#FOOTERS">FOOTERS</a>
+on or because you instructed <strong>mom</strong> to put them
+there with
+<a href="#PAGENUM_POS">PAGENUM_POS</a>,
+you'd use <strong>HEADER_MARGIN</strong> to change their
+baseline placement.
+</p>
+
+<!-- -HDRFTR_GAP- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_GAP"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_GAP</strong> <kbd>&lt;distance from header to 
start of running text&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+Use <strong>HEADER_GAP</strong> to set the distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of type in headers to the start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>.
+A unit of measure is required, and decimal fractions are allowed.
+</p>
+
+<p>
+As explained in
+<a href="#VERTICAL_SPACING">Vertical placement and spacing of 
headers/footers</a>,
+<strong>HEADER_MARGIN + HEADER_GAP</strong> determine the default
+vertical starting position of running text on the page UNLESS you
+have given <strong>mom</strong> your own top margin (with
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>).  If you give
+a top margin, <strong>mom</strong> ignores
+<strong>HEADER_GAP</strong>; running text starts at your stated top
+margin.
+</p>
+
+<p>
+<strong>Mom</strong>'s default header gap is 3
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>,
+but if you want a different gap, say, 2 centimetres, do
+
+<pre>
+    .HEADER_GAP 2c
+</pre>
+</p>
+
+<p>
+If your document uses
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+replace <strong>HEADER_</strong>, above, with
+<strong>FOOTER_</strong>.  The argument to
+<strong>FOOTER_GAP</strong> is the distance from the baseline of
+type in footers to the last baseline of running text on the page.
+</p>
+
+<p>
+As explained in
+<a href="#VERTICAL_SPACING">Vertical placement and spacing of 
headers/footers</a>,
+<strong>FOOTER_MARGIN + FOOTER_GAP</strong> determine the default
+vertical end position of running text on the page UNLESS you have
+given <strong>mom</strong> a bottom margin (with
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>).  If you give
+a bottom margin, <strong>mom</strong> ignores
+<strong>FOOTER_GAP</strong>; running text ends at your stated bottom
+margin.
+</p>
+
+<p>
+<strong>Mom</strong>'s default footer gap is 3 
+<a href="definitions.html#TERMS_PICASPOINTS">picas</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>Mom</strong> uses
+<strong>HEADER_GAP</strong> and
+<strong>FOOTER_GAP</strong> to establish the start and end baseline
+positions of running text with respect to both headers and footers
+AND page numbers.  If you wish to change the gap between
+the last line of running text and a bottom page number, use
+<strong>FOOTER_GAP</strong>.  If page numbers are at the top of the
+page, change the gap between the number and the first line of running
+text with <strong>HEADER_GAP</strong>.
+</p>
+
+<hr/>
+
+<!-- -HDRFTR_SEPARATOR- -->
+
+<a name="HDRFTR_SEPARATOR"><h2><u>Header/footer separator rule</u></h2></a>
+
+<p>
+The header/footer separator rule is a modest horizontal rule,
+set slightly below the header (or above the footer), that runs
+the length of the
+<a href="definitions.html#TERMS_HEADER">header</a>
+and helps separate it visually from
+<a href="definitions.html#TERMS_RUNNING">running text</a>.  If
+you don't want the rule, you can turn it off.  If you want it,
+but at a different vertical position relative to the header (or
+footer), you can alter its placement.
+</p>
+
+<ul>
+    <li><a href="#HDRFTR_RULE">HEADER_RULE</a> &mdash; on or off</li>
+    <li><a href="#HDRFTR_RULE_WEIGHT">HEADER_RULE_WEIGHT</a> &mdash; weight of 
the rule</li>
+    <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> &mdash; distance of 
rule from header</li>
+    <li><a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a> &mdash; color of 
rule header</li>
+</ul>
+
+<!-- -HDRFTR_RULE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HDRFTR_RULE"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_RULE</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> prints a header separator rule
+underneath headers (or above footers). If you don't want the
+rule, turn it off by invoking <kbd>.HEADER_RULE</kbd> with any
+argument (<strong>OFF, QUIT, END, X...</strong>), e.g.
+
+<pre>
+    .HEADER_RULE OFF
+</pre>
+</p>
+
+<p>
+To turn the rule (back) on, invoke <kbd>.HEADER_RULE</kbd>
+without any argument.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to enable/disable the printing of
+the footer separator rule.  (Most likely, if you're using
+<a href="#FOOTERS">FOOTERS</a>, you'll want it off.)
+</p>
+
+<!-- -HDRFTR_RULE_WEIGHT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="HDRFTR_RULE_WEIGHT"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_RULE_WEIGHT</strong> <kbd>&lt;weight in 
points&gt;</kbd></nobr>
+<br/>
+
+<em>*Argument must</em> NOT <em>have a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> appended</em>
+</p>
+
+<p>
+<strong>HEADER_RULE_WEIGHT</strong> controls the weight
+(&quot;thickness&quot;) of the header rule.  Like
+<a href="inlines.html#RULE_WEIGHT">RULE_WEIGHT</a>,
+it takes a single argument: the weight of the header rule expressed
+in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+but <em>without</em> the unit of measure, <kbd>p</kbd>, appended.
+The argument to <strong>HEADER_RULE_WEIGHT</strong> must be
+greater than 0 and less than 100; decimal fractions are allowed.
+</p>
+
+<p>
+Say, for example, you want a really strong header separator rule.  
+
+<pre>
+    .HEADER_RULE_WEIGHT 4
+</pre>
+
+which sets the separator rule weight to 4 points, is how you'd do
+it.
+</p>
+
+<p>
+<strong>Mom</strong>'s default header rule weight is 1/2 point.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, with
+<strong>FOOTER_</strong> to set the weight of the footer separator
+rule.
+</p>
+
+<!-- -HDRFTR_RULE_GAP- -->
+
+<hr width="33%" align="left"/>
+
+<a name="HDRFTR_RULE_GAP"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_RULE_GAP</strong> <kbd>&lt;distance of rule 
beneath header&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>HEADER_RULE_GAP</strong> is the distance from the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of type in headers to the top edge of the rule underneath.  (If
+<strong>FOOTER_RULE_GAP</strong>, the gap is the distance from the
+top of the highest
+<a href="definitions.html#TERMS_ASCENDER">ascender</a>
+to the bottom edge of the rule.)  A unit of measure is
+required, and decimal fractions are allowed.  Please note that
+<strong>HEADER_RULE_GAP</strong> has no effect on
+<a href="#HDRFTR_GAP">HEADER_GAP</a>
+(i.e. <strong>HEADER_RULE_GAP</strong> is NOT added to
+<strong>HEADER_GAP</strong> when <strong>mom</strong> calculates the
+space between headers and the start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>).
+</p>
+
+<p>
+By default, the header rule gap is 4
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>.
+If you'd like to change it to, say, 1/4
+<a href="definitions.html#TERMS_EM">em</a>, do
+
+<pre>
+    .HEADER_RULE_GAP .25m
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> if you're using
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+and want to change the separator rule gap.  In footers, the gap
+is measured from the top of the tallest
+<a href="definitions.html#TERMS_ASCENDER">ascender</a>
+in the footer.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> When using
+<a href="#HDRFTR_RECTOVERSO">FOOTER_RECTO</a>
+and
+<a href="#HDRFTR_RECTOVERSO">FOOTER_VERSO</a>,
+make sure that the default size for footers
+(<a href="#FOOTER_GLOBAL_SIZE">FOOTER_SIZE</a>)
+is set to the largest size of type that will be used in the footer
+or <strong>mom</strong> may not get the rule gap right.  Inline
+changes to the size of type in <strong>FOOTER_RECTO</strong> and
+<strong>FOOTER_VERSO</strong> should always be negative (smaller)
+than the default.
+</p>
+
+<!-- -HDRFTR_RULE_COLOR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="HDRFTR_RULE_COLOR"></a>
+
+<p>
+<nobr>Macro: <strong>HEADER_RULE_COLOR</strong> 
<kbd>&lt;colorname&gt;</kbd></nobr>
+</p>
+
+<p>
+If you wish to change the colour of the header rule, invoke
+<kbd>.HEADER_RULE_COLOR</kbd> with the name of a colour
+pre-defined (or &quot;initialized&quot;) with
+<a href="color.html#NEWCOLOR">NEWCOLOR</a>
+or
+<a href="color.html#XCOLOR">XCOLOR</a>.
+</p>
+
+<p>
+Please note that <strong>HEADER_RULE_COLOR</strong> overrides the
+colour set with
+<a href="#HDRFTR_COLOR">HDRFTR_COLOR</a>,
+so that it's possible to have the heads entirely in, say, blue (set
+with <strong>HEADER_COLOR</strong>), and the header rule in, say,
+red.
+</p>
+
+<p>
+<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above,
+with <strong>FOOTER_</strong> to change the colour of the footer
+rule.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="PAGINATION"><h2><u>Pagination</u></h2></a>
+
+<p>
+By default, <strong>mom</strong> paginates documents.  Page numbers
+appear in the bottom margin of the page, centred between two hyphens.
+As with all elements of <strong>mom</strong>'s document processing,
+most aspects of pagination style can be altered to suit your taste
+with control macros.
+</p>
+
+<a name="INDEX_PAGINATION"><h3><u>Pagination macros list</u></h3></a>
+
+<ul>
+    <li><a href="#PAGINATE">PAGINATE</a> &mdash; pagination on or off</li>
+    <li><a href="#PAGENUMBER">PAGENUMBER</a> &mdash; user-defined (starting) 
page number</li>
+    <li><a href="#PAGENUM_STYLE">PAGENUM_STYLE</a> &mdash; digits, roman 
numerals, etc</li>
+    <li><a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a> &mdash; 
applies only when footers are enabled</li>
+    <li><a href="#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> &mdash; 
attach draft/revision information to page numbers</li>
+    <li><a href="#PAGINATE_CONTROL">Control macros</a></li>
+</ul>
+
+<!-- -PAGINATE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="PAGINATE"></a>
+
+<p>
+<nobr>Macro: <strong>PAGINATE</strong> <kbd>toggle</kbd></nobr>
+<br/>
+
+Alias: <strong>PAGINATION</strong>
+</p>
+
+<p>
+By default, <strong>mom</strong> paginates documents (in the bottom
+margin).  If you'd prefer she not paginate, turn pagination off
+by invoking <kbd>.PAGINATE</kbd> with any argument (<strong>OFF,
+NO, QUIT, END, X...</strong>), e.g.
+
+<pre>
+    .PAGINATE NO 
+</pre>
+</p>
+
+<p>
+To (re)start pagination, invoke <kbd>.PAGINATE</kbd> without any
+argument.
+</p>
+
+<!-- -PAGENUMBER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAGENUMBER"></a>
+
+<p>
+<nobr>Macro: <strong>PAGENUMBER</strong> <kbd>&lt;number&gt;</kbd></nobr>
+</p>
+
+<p>
+As is to be expected, pagination of documents begins at page 1.  If
+you'd prefer that <strong>mom</strong> begin with a different number
+on the first page of a document, invoke <kbd>.PAGENUMBER</kbd> with
+the number you want.
+</p>
+
+<p>
+<strong>PAGENUMBER</strong> need not be used only to give
+<strong>mom</strong> a "first page" number.  It can be used at any
+time to tell <strong>mom</strong> what number you want a page to
+have.  Subsequent page numbers will, of course, be incremented by 1
+from that number.
+</p>
+
+<!-- -PAGENUM_STYLE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAGENUM_STYLE"></a>
+
+<p>
+<nobr>Macro: <strong>PAGENUM_STYLE</strong> <kbd>DIGIT | ROMAN | roman | ALPHA 
| alpha</kbd></nobr>
+</p>
+
+<p>
+<strong>PAGENUM_STYLE</strong> lets you tell
+<strong>mom</strong> what kind of page numbering you want.
+</p>
+
+<pre>
+    DIGIT   Arabic digits (1, 2, 3...)
+    ROMAN   upper case roman numerals (I, II, III...)
+    roman   lower case roman numerals (i, ii, iii...)
+    ALPHA   upper case letters (A, B, C...)
+    alpha   lower case letters (a, b, c...)
+</pre>
+
+<!-- -PAGENUM_ON_FIRST_PAGE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAGENUM_ON_FIRST_PAGE"></a>
+
+<p>
+<nobr>Macro: <strong>PAGENUM_ON_FIRST_PAGE</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+This macro applies only if you've enabled
+<a href="#FOOTERS">FOOTERS</a>.
+If <strong>FOOTERS</strong> are on, <strong>mom</strong>
+automatically places page numbers at the tops of pages except on the
+first page of a document (or on first pages after
+<a href="rectoverso.html#COLLATE">COLLATE</a>).
+If you'd like the page number to appear on &quot;first&quot; pages
+when footers are on, invoke <kbd>.PAGENUM_ON_FIRST_PAGE</kbd> with
+no argument.  Any other argument turns the feature off (<strong>OFF,
+QUIT, END, X...</strong>).
+</p>
+
+<p>
+As with most of the
+<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>,
+<strong>PAGENUM_ON_FIRST_PAGE</strong> can be invoked at any time,
+meaning that if you don't want a page number on the very first
+page of a document, but do want one on pages that appear after
+<strong>COLLATE</strong>, omit it before the first
+<a href="docprocessing.html#START">START</a>
+of the document, then invoke it either just before or after your
+first <strong>COLLATE</strong>.
+</p>
+
+<!-- -DRAFT_WITH_PAGENUMBER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="DRAFT_WITH_PAGENUMBER"></a>
+
+<p>
+<nobr>Macro: <strong>DRAFT_WITH_PAGENUMBER</strong></nobr>
+</p>
+
+<p>
+Sometimes, in
+<a href="docprocessing.html#COPYSTYLE">COPYSTYLE DRAFT</a>,
+the CENTER part of page headers gets overcrowded because of
+the draft and revision information that go there by default.
+<strong>DRAFT_WITH_PAGENUMBER</strong> is one way to fix the
+problem.
+</p>
+
+<p>
+Invoked without an argument, <kbd>.DRAFT_WITH_PAGENUMBER</kbd>
+removes draft/revision information from the page headers and
+attaches it instead to the document's page numbering, in the form
+
+<pre>
+    Draft #, Rev. # / &lt;pagenumber&gt;
+</pre>
+</p>
+
+<p>
+If you have not supplied <strong>mom</strong> with a draft number
+(with
+<a href="docprocessing.html#DRAFT">DRAFT</a>)
+<strong>DRAFT_WITH_PAGENUMBER</strong> will assume &quot;Draft
+1&quot;, and will print it before the page number.
+</p>
+
+<p>
+See the note in
+<a href="docprocessing.html#COPYSTYLE_NOTE">COPYSTYLE DRAFT</a>
+for other ways of dealing with crowded page headers when formatting
+draft-style copy.
+</p>
+
+<hr width="66%" align="left"/>
+
+<!-- -PAGINATE_CONTROL- -->
+
+<a name="PAGINATE_CONTROL"><h3><u>Pagination control macros</u></h3></a>
+
+<ol>
+    <li><a href="#PAGINATE_GENERAL">Family/font/size/colour</a></li>
+    <li><a href="#PAGENUM_POS">Page number position (vertical and 
horizontal)</a></li>
+    <li><a href="#PAGENUM_HYPHENS">Enclose page numbers with hyphens (on or 
off)</a></li>
+</ol>
+
+<a name="PAGINATE_GENERAL"><h4><u>1. Page number 
family/font/size/colour</u></h4></a>
+
+<p>
+See
+<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control 
macros</a>.
+</p>
+
+<pre>
+.PAGENUM_FAMILY default = prevailing document family; default is Times Roman
+.PAGENUM_FONT   default = roman
+.PAGENUM_SIZE   default = 0 (i.e. same size as paragraph text)
+.PAGENUM_COLOR  default= black
+</pre>
+
+<a name="PAGENUM_POS"><h4><u>2. Page number position</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>PAGENUM_POS</strong> <kbd>TOP | BOTTOM&nbsp;&nbsp;LEFT | 
CENTER | RIGHT</kbd></nobr>
+</p>
+
+<p>
+Use <strong>PAGENUM_POS</strong> to change the default position of
+automatic page numbering. <strong>PAGENUM_POS</strong> requires
+<em>two</em> arguments: a vertical position (TOP or BOTTOM) and a
+horizontal position (LEFT or CENTER or RIGHT).
+</p>
+
+<p>
+For example, if you turn both
+<a href="definitions.html#TERMS_HEADER">headers</a>
+and
+<a href="definitions.html#TERMS_FOOTER">footers</a> 
+off (with <nobr><kbd>.HEADERS OFF</kbd></nobr> and
+<nobr><kbd>.FOOTERS OFF</kbd>)</nobr> and you want
+<strong>mom</strong> to number your pages at the top right position,
+enter
+
+<pre>
+    .PAGENUM_POS TOP RIGHT
+</pre>
+</p>
+
+<a name="PAGENUM_HYPHENS"><h4><u>3. Enclose page numbers with hyphens (on or 
off)</u></h4></a>
+
+<p>
+By default, <strong>mom</strong> encloses page numbers between
+hyphens.  If you don't want this behaviour, invoke the macro
+<strong>PAGENUM_HYPHENS</strong> with any argument (<strong>OFF,
+QUIT, END, X...</strong>), like this:
+
+<pre>
+    .PAGENUM_HYPHENS OFF
+</pre>
+</p>
+
+<p>
+If, for some reason, you want to turn page number hyphens back
+on, invoke the macro without an argument.
+</p>
+
+<hr/>
+
+<p>
+<a href="rectoverso.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docelement.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: inlines.html
===================================================================
RCS file: inlines.html
diff -N inlines.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ inlines.html        1 Aug 2006 01:14:08 -0000       1.17
@@ -0,0 +1,1048 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Inline escapes</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="color.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="goodies.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="INLINE_ESCAPES"><h1 align="center"><u>Inline escapes</u></h1></a>
+
+<p>
+<a href="#INTRO_INLINE_ESCAPES">Introduction to inline escapes</a>
+<br/>
+
+<a href="#INDEX_INLINES">Index of inline escapes</a>
+</p>
+
+<a name="INTRO_INLINE_ESCAPES"><h2><u>Introduction to inline 
escapes</u></h2></a>
+
+<p>
+Inline escapes, as described in the
+<a href="definitions.html#TERMS_INLINES">groff terms</a>
+section of this manual, are typesetting commands that appear in text
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>,
+as opposed to macros and other
+<a href="definitions.html#TERMS_CONTROLLINES">control lines</a>
+that must appear on lines by themselves.
+</p>
+
+<p>
+Aside from altering type parameters within a line, inlines also tell
+groff about special characters &mdash; em-dashes, bullets,
+<a href="definitions.html#TERMS_FIGURESPACE">figure/digit-width spaces</a>,
+and so on.  It is beyond the scope of this manual to provide a
+complete list of groff's inline functions and special characters.  I
+recommend having a look at the
+<a href="intro.html#CANONICAL">canonical reference materials</a>
+should you need more information than is contained herein.
+</p>
+
+<p>
+In groff, the escape character is the backslash <nobr>(<kbd>\</kbd>)</nobr>.
+Groff interprets everything following the backslash as instructions,
+not literal text, until the escape sequence is complete.  Should
+you need the actual backslash character as part of a line of text,
+simply enter it twice <nobr>(<kbd>\\</kbd>)</nobr>.  Groff
+understands that this means "please print a backslash character."
+(You can also use <kbd>\e</kbd> to print a literal backslash.)
+</p>
+
+<p>
+Groff has a number of ways of recognizing what constitutes a
+complete escape sequence.  This is both a boon and a curse; some
+escape sequences have no terminating delimiter and consequently
+become difficult to distinguish from real input text.  Others
+require the use of an opening parenthesis with no corresponding
+closing parenthesis.  Still others need to be enclosed in square
+brackets.
+</p>
+
+<p>
+<strong>Mom</strong> recognizes that certain escapes get used more
+often than others.  For these, she has a consistent input style that
+takes the form <kbd>\*[...]</kbd>, which makes them stand out well
+from the text of your documents.  These escapes are the ones listed
+under
+<a href="#INLINES_MOM">Mom's personal inlines</a>.
+</p>
+
+<p>
+Despite <strong>mom</strong>'s best intentions, there are still
+a number of typesetting functions that can only be accomplished
+with groff's native inline escapes.  I've listed the ones that
+strike me as essential, but there are many others.  If you want
+to know what they are, please read the
+<a href="intro.html#CANONICAL">canonical reference materials</a>
+pertaining to groff.
+</p>
+
+<p>
+<strong>HELPFUL BIT OF INFORMATION:</strong> Inline escapes can be used
+in
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+that take
+<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>.
+</p>
+
+<a name="INDEX_INLINES"><h3><u>Inlines index</u></h3></a>
+
+<ul>
+    <li><a name="INLINES_MOM"><strong>Mom's personal inlines</strong></a></li>
+    <ul>
+        <li><a href="#INLINE_FONTS_MOM">Changing fonts</a></li>
+        <li><a href="#INLINE_SIZE_MOM">Changing point size</a></li>
+        <li><a href="#UC_LC">Capitalise a section of type</a></li>
+        <li><a href="#INLINE_KERNING_MOM">Pairwise kerning</a></li>
+        <li><a href="#INLINE_HORIZONTAL_MOM">Horizontal movement</a></li>
+        <li><a href="#INLINE_VERTICAL_MOM">Vertical movement</a></li>
+        <li><a href="#B">Terminate a line without advancing on the 
page</a></li>
+        <li><a href="#TB+">Call the next sequential tab without advancing on 
the page</a></li>
+        <li><a href="#INLINE_RULE_MOM">Full measure rules</a></li>
+    </ul>
+    <li><a name="INLINES_GROFF"><strong>Groff inline escapes</strong></a></li>
+    <ul>
+        <li><a href="#INLINE_FONTS_GROFF">Font control</a> <kbd>\f</kbd></li>
+        <li><a href="#INLINE_HORIZONTAL_GROFF">Inline horizontal motions</a> 
<kbd>\h</kbd></li>
+        <li><a href="#INLINE_VERTICAL_GROFF">Inline vertical motions</a> 
<kbd>\v</kbd></li>
+        <li><a href="#INLINE_STRINGWIDTH_GROFF">String width function</a> 
<kbd>\w</kbd></li>
+        <li><a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing 
function</a> <kbd>\l</kbd></li>
+        <li><a href="#INLINE_CHARACTERS_GROFF">Special characters</a></li>
+    </ul>
+</ul>
+
+<hr/>
+
+<!-- -INLINE_FONTS_MOM- -->
+
+<h2><u>Mom's personal inlines</u></h2>
+
+<a name="INLINE_FONTS_MOM"><h3><u>Changing fonts</u></h3></a>
+
+<p>
+<strong>Mom</strong> provides five escapes for changing fonts
+inline:
+
+<pre>
+    \*[ROM]   Change to the medium roman font
+    \*[IT]    Change to the medium italic font
+    \*[BD]    Change to the bold roman font
+    \*[BDI]   Change to the bold italic font
+    \*[PREV]  Revert to the previous font (once only)*
+
+    *Note: \*[PREV] does not operate "stack style".  It returns
+    to the previous font once only, and afterwards has no effect.
+    In other words, in the case of \*[PREV]\*[PREV], only the first
+    \*[PREV] is respected; the second one is silently ignored.
+</pre>
+</p>
+
+<p>
+These escapes are provided for merely for convenience, legibility,
+and consistency when typesetting with <strong>mom</strong>.  For
+more complete and flexible inline font control, please see
+<a href="#INLINE_FONTS_GROFF">font control with <kbd>\f</kbd></a>.
+</p>
+
+<p>
+<strong>NOTE CONCERNING DOCUMENT PROCESSING:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
+inline font changes remain in effect only for the duration of the
+current document element tag.
+</p>
+
+<p>
+Additionally, if you're designing your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS or FOOTERS</a>
+and want to use <strong>mom</strong>'s inline escapes
+for changing fonts <em>inside</em> the left, centre and/or right
+strings, or in the strings for
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">recto</a>
+and/or
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">verso</a>
+HEADERS or FOOTERS, or in the strings passed to
+<a href="headfootpage.html#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>,
+you must enter the inlines beginning with <kbd>\*E</kbd>
+rather than just <kbd>\*</kbd>.
+</p>
+
+<!-- -INLINE_SIZE_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_SIZE_MOM"><h3><u>Changing point size</u></h3></a>
+
+<p>
+<strong>Mom</strong> has two inline escapes for changing point
+size:
+
+<pre>
+    \*[SIZE &lt;size&gt;]
+</pre>
+
+and
+
+<pre>
+    \*[S&lt;size&gt;]
+</pre>
+
+where &quot;size&quot; is the new size you want.  You can use
+either; they behave exactly the same way.  For example, to change
+the point size of type inline to 12 points, you could enter either
+
+<pre>
+    \*[SIZE 12]
+</pre>
+
+or
+
+<pre>
+    \*S[12]
+</pre>
+</p>
+
+<p>
+The advantage of the first form is that it's easy to remember, and
+follows <strong>mom</strong>'s usual inline syntax.  The advantage
+of the second is that it's more concise.
+</p>
+
+<p>
+Notice that in both cases, the new size does not require a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>;
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+is assumed.  However, a unit of measure may be appended to the size
+if that's what you wish.  Fractional sizes are, of course, allowed.
+</p>
+
+<p>
+The size given to <kbd>\*[SIZE&nbsp;&lt;size&gt;]</kbd> or
+<kbd>\*S[&lt;size&gt;]</kbd> may be expressed in plus or minus
+terms, which can be very useful.  In the following examples, the
+word &quot;mom&quot; will be output 2 points larger than the point
+size of the rest of the line.
+
+<pre>
+    While she isn't perfect, \*S[+2]mom\*S[-2] isn't half bad.
+    While she isn't perfect, \*[SIZE +2]mom\*[SIZE -2] isn't half bad.
+</pre>
+</p>
+
+<p>
+<strong>NOTE CONCERNING DOCUMENT PROCESSING:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+and wish to design your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS or FOOTERS</a>
+using <strong>mom</strong>'s inline escape
+for changing point size <em>inside</em> the left, centre and/or right
+strings, or in the strings for
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">recto</a>
+and/or
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">verso</a>
+HEADERS or FOOTERS, or in the strings passed to
+<a href="headfootpage.html#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>,
+you must enter the inline beginning with <kbd>\*E</kbd>
+rather than just <kbd>\*</kbd>.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> If you're accustomed to groff's usual way
+of handling inline size requests <kbd>(\sN, \s±N, \s(NN, \s±(NN,
+\s[NNN], \s±[NNN]),</kbd> feel free to continue with your old habits.
+<strong>Mom</strong> doesn't care.
+</p>
+
+<!-- -CAPITALISATION- -->
+
+<hr width="33%" align="left"/>
+
+<a name="UC_LC"><h3><u>Capitalise a section of type</u></h3></a>
+
+<p>
+If you need to capitalise a region of type inline, bracket the
+region of type with the inline escapes, <kbd>\*[UC]</kbd> (Upper Case)
+and <kbd>\*[LC]</kbd> (Lower Case), like this:
+
+<pre>
+    All work \*[UC]and\*[LC] no play makes Jack a dull boy.
+</pre>
+
+The above produces, on output
+
+<pre>
+    All work AND no play makes Jack a dull boy.
+</pre>
+</p>
+
+<p>
+Most of the time, when you need type in all caps (upper case), you
+simply enter it that way in your input files.  The chief use of
+<kbd>\*[UC]...\*[LC]</kbd> is for capitalizing
+<strong>mom</strong>'s
+<a href="headfootpage.html#RESERVED_STRINGS">reserved strings</a>
+when designing your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS or FOOTERS</a>
+during document processing.  If you are using
+<kbd>\*[UC]...\*[LC]</kbd> for this purpose, you must enter both
+inlines beginning with <kbd>\*E</kbd> rather than just <kbd>\*</kbd>.
+</p>
+
+<!-- -INLINE_KERNING_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_KERNING_MOM"><h3><u>Pairwise kerning</u></h3></a>
+
+<p>
+Pairwise kerning means moving specific letter pairs closer
+together or further apart (see
+<a href="definitions.html#TERMS_KERN">Typesetting terms, kerning</a>
+for more details).
+</p>
+
+<p>
+<strong>Mom</strong> permits inline pairwise
+kerning through the use of the inline escapes
+
+<pre>
+    \*[BU &lt;n&gt;]  Closes the space between letters (<strong>B</strong>ack 
<strong>U</strong>nits).
+    \*[FU &lt;n&gt;]   Opens the space between letters 
(<strong>F</strong>orward <strong>U</strong>nits).
+</pre>
+
+&quot;<strong>&lt;n&gt;</strong>&quot; is the number of
+<a href="definitions.html#TERMS_KERNUNIT">kern units</a>
+by which to close or open the space between letters.
+</p>
+
+<p>
+For example,
+
+<pre>
+    THE HUMAN COST OF COMMODIF\*[FU 1]YING FRESH W\*[BU 4]A\*[BU 5]TER
+</pre>
+
+moves the letter <strong>Y</strong> in &quot;COMMODIFYING&quot;
+1 kern unit away from the letter <strong>F</strong>, and the
+letter <strong>A</strong> in &quot;WATER&quot; 4 kern units closer
+to the letter <strong>W</strong>.  Additionally, the letter
+<strong>T</strong> in "WATER" is moved 5 kern units closer to the
+letter <strong>A</strong>.
+</p>
+
+<p>
+For backward compatibility, the forms
+
+<pre>
+    \*[BU1]...\*[BU36]   Move backward 1...36 <a 
href="definitions.html#TERMS_KERNUNIT">kern units</a>
+    \*[FU1]...\*[FU36]    Move forward 1...36 <a 
href="definitions.html#TERMS_KERNUNIT">kern units</a>
+</pre>
+
+also exist (i.e. with no space before the number of kern units desired,
+up to a limit of 36).
+</p>
+
+<p>
+<strong>NOTE CONCERNING DOCUMENT PROCESSING:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+and wish to design your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS or FOOTERS</a>
+using <strong>mom</strong>'s inline escapes
+for kerning <em>inside</em> the left, centre and/or right
+strings, or in the strings for
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">recto</a>
+and/or
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">verso</a>
+HEADERS or FOOTERS, or in the strings passed to
+<a href="headfootpage.html#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>,
+you must enter the inline beginning with <kbd>\*E</kbd>
+rather than just <kbd>\*</kbd>.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Using <strong>BU</strong> or 
<strong>FU</strong>
+between characters pairs that are already automatically kerned
+disables the automatic kerning and uses the value you give to
+<strong>BU</strong> or <strong>FU</strong> instead.
+</p>
+
+<!-- -INLINE_HORIZONTAL_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_HORIZONTAL_MOM"><h3><u>Horizontal inline movement</u></h3></a>
+
+<p>
+Sometimes, you may need to insert a specified amount amount of white
+space into an
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>,
+or &mdash; occasionally &mdash; back up to a
+previous position on an
+<a href="definitions.html#TERMS_INPUTLINE">output</a>
+line in order to create special typographic effects.
+</p>
+
+<p>
+<strong>Mom</strong>'s inline escapes for these horizontal movements are
+
+<pre>
+    <a name="BCK">\*[BCK &lt;n unit&gt;]</a>   Move backward inline the 
specified number of
+                       <a href="definitions.html#TERMS_UNITOFMEASURE">units of 
measure</a>; decimal fractions are allowed.
+
+    <a name="FWD">\*[FWD &lt;n unit&gt;]</a>    Move forward inline the 
specified number of
+                       <a href="definitions.html#TERMS_UNITOFMEASURE">units of 
measure</a>; decimal fractions are allowed.
+</pre>
+</p>
+
+<p>
+For example,
+
+<pre>
+    1.\*[FWD 12p]The Free Trade Play-Offs: WalMart 100, Mexico 0
+</pre>
+
+puts 12 points of space between <strong>1.</strong> and
+<strong>The</strong>.
+</p>
+
+<p>
+<strong>NOTE:</strong> For backward compatibility, the forms
+
+<pre>
+    \*[BP.25]...\*[BP12.75]   Move backward .25...12.75 points
+    \*[FP.25]...\*[FP12.75]    Move forward .25...12.75 points
+</pre>
+
+also exist (i.e. with no space before the digit and points being
+the unit of measure, hence no unit of measure required).  Both
+accept quarter points, so it's possible to do, for example,
+<kbd>\*[FP.5]</kbd> or <kbd>\*[BP1.25]</kbd> up to a limit
+of 12.75 points.
+</p>
+
+<p>
+<strong>NOTE CONCERNING DOCUMENT PROCESSING:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+and wish to design your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS or FOOTERS</a>
+using <strong>mom</strong>'s inline escapes for horizontal movements
+<em>inside</em> the left, centre and/or right strings, or in the
+strings for
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">recto</a>
+and/or
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">verso</a>
+HEADERS or FOOTERS, or in the strings passed to
+<a href="headfootpage.html#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>,
+you must enter the inline beginning with <kbd>\*E</kbd>
+rather than just <kbd>\*</kbd>.
+</p>
+
+<!-- -INLINE_VERTICAL_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_VERTICAL_MOM"><h3><u>Vertical inline movement</u></h3></a>
+
+<p>
+If you need to move portions of type up or down on a line,
+<strong>mom</strong> provides the following inline escapes:
+
+<pre>
+    <a name="DOWN">\*[DOWN &lt;n unit&gt;]</a>   Move down inline the 
specified number of
+                        <a href="definitions.html#TERMS_UNITOFMEASURE">units 
of measure</a>
+
+    <a name="UP">\*[UP &lt;n unit&gt;]</a>     Move up inline the specified 
number of
+                        <a href="definitions.html#TERMS_UNITOFMEASURE">units 
of measure</a>
+</pre>
+</p>
+
+<p>
+For example,
+
+<pre>
+    Tel: 905\*[UP 1p]-\*[DOWN 1p]4072
+</pre>
+
+moves the hyphen in the telephone number up by 1 point, then
+moves back down by the same amount.
+</p>
+
+<p>
+<strong>NOTE:</strong> <kbd>\*[UP]</kbd> and <kbd>\*[DOWN]</kbd> do
+not work with the inline escape,
+<kbd><a href="#INLINE_RULE_MOM">\*[RULE]</a></kbd>.
+See
+<a href="#RULE_EXCEPTION">here</a>
+for details.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> For backward compatibility, the
+following are also available:
+
+<pre>
+    \*[ALD.25]...\*[ALD12.75]   Advance lead .25...12.75 points (move downward)
+    \*[RLD.25]...\*[RLD12.75]   Reverse lead .25...12.75 points (move upward)
+</pre>
+</p>
+
+<p>
+Both <kbd>\*[ALD]</kbd> and <kbd>\*[RLD]</kbd> work in points, hence
+you mustn't use a unit of measure.
+</p>
+
+<p>
+<strong>NOTE CONCERNING DOCUMENT PROCESSING:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+and wish to design your own
+<a href="headfootpage.html#HEADFOOTPAGE_INTRO">HEADERS or FOOTERS</a>
+using <strong>mom</strong>'s inline escapes for vertical movements
+<em>inside</em> the left, centre and/or right strings, or in the
+strings for
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">recto</a>
+and/or
+<a href="headfootpage.html#HDRFTR_RECTOVERSO">verso</a>
+HEADERS or FOOTERS, or in the strings passed to
+<a href="headfootpage.html#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a>,
+you must enter the inline beginning with <kbd>\*E</kbd>
+rather than just <kbd>\*</kbd>.
+</p>
+
+<!-- -INLINE_B_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="B"><h3><u>Terminate a line without advancing on the page</u></h3></a>
+
+<p>
+Sometimes, you want <strong>mom</strong> to break a line but not
+advance on the page.  See
+<a href="typesetting.html#EL_EXAMPLE">here</a>
+for an example of when you might want to do this.
+</p>
+
+<p>
+In versions of <strong>mom</strong> prior to 1.2-f, this was
+accomplished through the use of the
+<a href="typesetting.html#EL">EL</a>
+macro.  As of 1.2-f, you can, if you prefer, accomplish the same
+thing by using the inline escape, <kbd>\*[B]</kbd>.  Simply attach
+the escape to the end of any input line.  Using the example
+given in the document entry for <strong>EL</strong>, you'd use
+<kbd>\*[B]</kbd> like this:
+
+<pre>
+    .LEFT
+    .LS 12.5
+    A line of text.\*[B]
+    .ALD 24p
+    The next line of text.
+</pre>
+
+<kbd>\*[B]</kbd> works reliably regardless of the current
+<a href="definitions.html#TERMS_FILLED">fill mode</a>.
+</p>
+
+<!-- -INLINE_TB+_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TB+"><h3><u>Call the next sequential tab without advancing on the 
page</u></h3></a>
+
+<p>
+Sometimes, you want <strong>mom</strong> to move to the next tab in
+sequence (e.g. from TAB 1 to TAB 2, or TAB 8 to TAB 9) without
+<strong>mom</strong> advancing on the page.  (See the NOTE
+<a href="typesetting.html#NOTE_TN">here</a>
+if you're not clear how <strong>mom</strong> manages tabs and
+linebreaks.)
+</p>
+
+<p>
+In versions of <strong>mom</strong> prior to 1.2-f, this was
+accomplished through the use of
+<a href="typesetting.html#TN">TN</a>.
+As of 1.2-f, you can, if you prefer, accomplish the same thing by
+using the inline escape, <kbd>\*[TB+]</kbd>.  Simply attach the
+escape to the end of any input line in a tab, like this:
+
+<pre>
+    .TAB 1
+    Some text\*[TB+]    \" This line is in tab 1
+    Some more text      \" This line is in tab 2, on the same baseline as tab 1
+</pre>
+
+<kbd>\*[TB+]</kbd> works reliably regardless of the current
+<a href="definitions.html#TERMS_FILLED">fill mode</a>.
+</p>
+
+<!-- -INLINE_RULE_MOM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_RULE_MOM"><h3><u>Full measure rules</u></h3></a>
+
+<p>
+I find I often need rules drawn to the full measure of the current line
+or tab length.  The official way to do this is <kbd>\l'\n(.lu'</kbd>,
+which is annoying to type, and doesn't mean a whole heck of a lot if
+you're new to groff.  The inline, <kbd>\*[RULE]</kbd>, is a simple
+replacement for <kbd>\l'\n(.lu'</kbd>.  Use it whenever you need
+a rule drawn to the full measure of the current line or tab length, for
+example:
+
+<pre>
+    .LL 6P
+    \*[RULE]
+</pre>
+
+The above draws a rule the full measure of the 6-pica line length.
+For another way to draw full measure rules, see the macro,
+<a href="graphical.html#DRH">DRH</a>.
+</p>
+
+<p>
+<kbd>\*[RULE]</kbd> must appear on an
+<a href="definitions.html#TERMS_INPUTLINE">input line</a>
+by itself, and always causes a break when entered after a normal
+input line of text.  It does not, however, deposit a break when
+used immediately after a macro.
+</p>
+
+<p>
+The weight of the rule drawn with <kbd>\*[RULE]</kbd> is controlled
+with the macro
+<a href="#RULE_WEIGHT">RULE_WEIGHT</a>.  <strong>Mom</strong>'s
+default is 1/2 point.
+</p>
+
+<p>
+Please note that <kbd>\*[RULE]</kbd> draws the rule to the full
+measure, hence it <em>cannot</em> be used to fill the remainder of a
+partial line with a rule in this way:
+
+<pre>
+    Signature__________________________________________
+</pre>
+</p>
+
+<p>
+If you wish to accomplish this effect, you have to use
+<kbd>\*[RULE]</kbd> in conjunction with the
+<a href="goodies.html#PAD">PAD</a>
+macro and
+<a href="typesetting.html#STRING_TABS">string tabs</a>.
+(See the
+<a href="goodies.html#PAD_EXAMPLE">example</a>
+provided with <strong>PAD</strong>.)
+<a name="RULE_EXCEPTION"></a>
+</p>
+
+<p>
+Please also note that the inline escapes
+<a href="#UP"><kbd>\*[UP]</kbd></a>
+and
+<a href="#DOWN"><kbd>\*[DOWN]</kbd></a>
+cannot be used in conjunction with <kbd>\*[RULE]</kbd>.  This
+<em>doesn't</em> work:
+
+<pre>
+    \*[DOWN 2p]\*[RULE]\*[UP 2p]
+</pre>
+</p>
+
+<p>
+This does:
+
+<pre>
+    .ALD 2p
+    \*[RULE]
+    .RLD 2p
+</pre>
+</p>
+
+<p>
+See groff's
+<a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a>
+for more information on drawing horizontal rules.
+</p>
+
+<!-- -RULE_WEIGHT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="RULE_WEIGHT"></a>
+
+<p>
+<nobr>Macro: <strong>RULE_WEIGHT</strong> <kbd>&lt;weight in 
points&gt;</kbd></nobr>
+<br/>
+
+<em>*Argument must be greater than 0 and less than 100; decimal
+fractions are allowed</em>
+<br/>
+
+<em>*Must </em>not<em> have a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> appended</em>
+</p>
+
+<p>
+<strong>RULE_WEIGHT</strong> allows you to tell <strong>mom</strong>
+how heavy (in other words, how &quot;thick&quot;) you want the rules
+drawn with the inline escape,
+<a href="#INLINE_RULE_MOM"><kbd>\*[RULE]</kbd></a>.
+It takes a single argument: the weight of the rule in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+<em>but without the</em>
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+<strong><kbd>p</kbd></strong> <em>attached</em>.  Thus, to set the weight of 
rules
+drawm with <kbd>\*[RULE]</kbd> to 1-1/4 points, you'd do
+
+<pre>
+    .RULE_WEIGHT 1.25
+</pre>
+</p>
+
+<p>
+<strong>RULE_WEIGHT</strong> also sets the weight of rules drawn
+with
+<a href="graphical.html#DRH"><kbd>.DRH</kbd></a>
+when <strong>DRH</strong> is not given any arguments.
+</p>
+
+<hr/>
+
+<!-- -INLINE_FONT_GROFF- -->
+
+<h2><u>Groff inline escapes</u></h2>
+
+<a name="INLINE_FONTS_GROFF"><h3><u>Font control</u> (<kbd>\f</kbd>)</h3></a>
+
+<p>
+Groff's basic mechanism for inline font control is the escape
+<kbd>\f[&lt;font&gt;]</kbd>. 
+</p>
+
+<pre>
+    \f[R]   Change to the medium roman font  (equivalent to mom's \*[ROM])
+    \f[I]   Change to the medium italic font (equivalent to mom's \*[IT])
+    \f[B]   Change to the bold roman font    (equivalent to mom's \*[BD])
+    \f[BI]  Change to the bold italic font   (equivalent to mom's \*[BDI])
+    \f[P]   Revert to the previous font      (equivalent to mom's \*[PREV])
+</pre>
+
+<p>
+<kbd>\f[&lt;font&gt;]</kbd> can be used with any valid
+<a href="definitions.html#TERMS_FONT">font style</a>
+registered with groff.  (See
+<a href="appendices.html#STYLE_EXTENSIONS">here</a>
+for a list of pre-registered font styles provided by
+<strong>mom</strong>).
+</p>
+
+<p>
+<kbd>\f[&lt;font&gt;]</kbd> can also take a complete valid
+family+font name combo.  This is especially useful should you
+need to change both family and font inline.  For example, if your
+prevailing family and font are Times Roman and you want a few words
+in Courier Bold Italic, you could do this:
+
+<pre>
+    .FAM T
+    .FT  R
+    The command \f[CBI]ls -l\f[P] gives a &quot;long&quot; directory listing.
+</pre>
+
+The Unix command <kbd><strong>ls -l</strong></kbd> will appear in
+Courier Bold Italic in a line that is otherwise in Times Roman.
+</p>
+
+<!-- -INLINE_HORIZONTAL_GROFF- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_HORIZONTAL_GROFF"><h3><u>Inline horizontal motions</u> 
(<kbd>\h</kbd>)</h3></a>
+
+<p>
+Whenever you need to move forward or backward on a line, use
+the inline
+
+<pre>
+    \h'&lt;distance&gt;'
+</pre>
+</p>
+
+<p>
+In order to avoid unpleasant surprises, always append a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to <kbd>&lt;distance&gt;</kbd>.  For example,
+
+<pre>
+    \h'1.25i'
+</pre>
+
+moves you 1.25 inches to the right (forward) of the horizontal
+position on the current
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
+<kbd>\h'&lt;distance&gt;'</kbd> is exactly equivalent to
+<a href="#FWD"><kbd>\*[FWD n&lt;unit&gt;]</kbd></a>.
+</p>
+
+<p>
+To move backwards by the same amount, do
+
+<pre>
+    \h'-1.25i'
+</pre>
+
+<kbd>\h'-&lt;distance&gt;'</kbd> is exactly equivalent to
+<a href="#BCK"><kbd>\*[BCK n&lt;unit&gt;]</kbd></a>.
+</p>
+
+<!-- -INLINE_VERTICAL_GROFF- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_VERTICAL_GROFF"><h3><u>Inline vertical motions</u> 
(<kbd>\v</kbd>)</h3></a>
+
+<p>
+If you need to raise or lower type on a line (say, for sub- or
+superscripts, or any other special effect), use
+
+<pre>
+    \v'&lt;distance&gt;'
+</pre>
+</p>
+
+<p>
+In order to avoid unpleasant surprises, always append a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+to &quot;distance&quot;.  For example, 
+
+<pre>
+    \v'.6m'
+</pre>
+
+moves you (approx.) 2/3 of an
+<a href="definitions.html#TERMS_EM">em</a>
+downward on the current
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
+<kbd>\v'&lt;distance&gt;'</kbd> is exactly equivalent to
+<a href="#DOWN"><kbd>\*[DOWN n&lt;unit&gt;]</kbd></a>.
+</p>
+
+<p>
+To move upward an equivalent amount, do
+
+<pre>
+    \v'-.6m'
+</pre>
+</p>
+
+<p>
+<kbd>\v'&lt;-distance&gt;'</kbd> is exactly equivalent to <a
+href="#UP"><kbd>\*[UP n&lt;unit&gt;]</kbd></a>.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> The vertical motion of <kbd>\v</kbd>
+affects ONLY type on the current
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
+When groff breaks the output line, the effect of
+<kbd>\v</kbd> is cancelled; the baseline of the next output line
+is where it would be if you hadn't used <kbd>\v</kbd>.
+</p>
+
+<p>
+<strong>TIP:</strong> When using <kbd>\v</kbd> for
+occasional effects on a line, don't forget to reverse it when you've
+done what you want to do.  Otherwise, the remaining type will be set
+too high (if you used <kbd>\v</kbd> with the minus sign) or too low
+(if you used <kbd>\v</kbd> without the minus sign).
+</p>
+
+<!-- -INLINE_STRINGWIDTHL_GROFF- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_STRINGWIDTH_GROFF"><h3><u>String width function</u> 
(<kbd>\w</kbd>)</h3></a>
+
+
+<p>
+In the context of <strong>mom</strong>, the string width inline
+<kbd>\w'string'</kbd> primarily serves to let you establish the
+horizontal measure of something (e.g. indents) based on the length
+of a bit of text.  For example, if you want a left indent the length
+of the word &quot;Examples:&quot; plus a space, you can set it with
+the <kbd>\w</kbd> inline escape:
+
+<pre>
+    .IL "\w'Examples: '"
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> Whenever you pass <kbd>\w'string'</kbd>
+to a macro that normally requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+<em>do <strong>NOT</strong> add a unit of measure to the</em>
+<kbd>\w'string'</kbd> <em>argument.</em>
+</p>
+
+<p>
+Furthermore, if the string is composed of several words separated
+by spaces, you MUST surround the whole escape with double quotes,
+as in the example above.
+</p>
+
+<!-- -INLINE_LINEDRAWING_GROFF- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_LINEDRAWING_GROFF"><h3><u>Horizontal line drawing function</u> 
(<kbd>\l</kbd>)</h3></a>
+
+<p>
+The <kbd>\l'distance'</kbd> inline allows you to draw a
+horizontal rule of the specified distance.  You must supply a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+Therefore, to set a 3-pica rule into a line of text, you'd do
+
+<pre>
+    A line of text with a superfluous \l'3P' 3-pica rule in it.
+</pre>
+</p>
+
+<p>
+<kbd>\l'3P'</kbd> above not only draws the rule, but advances 3
+picas horizontally as well, just as you'd expect.
+</p>
+
+<p>
+For an easy way of drawing rules to the full measure of the current
+line or tab length, see
+<a href="#INLINE_RULE_MOM">Full measure rules</a>.
+</p>
+
+<p>
+The weight (thickness) of rules varies according to the point
+size in effect when you invoke <kbd>\l</kbd>, but you can't fix
+the weight with any real precision.  A point size of 12 produces
+a tastefully moderate rule weight of between one-half and one
+point (depending on your printer).
+</p>
+
+<p>
+<strong>NOTE:</strong> Besides <kbd>\l</kbd>, <strong>groff</strong>
+provides a number of more sophisticated &quot;drawing&quot;
+escapes.  It is well beyond the scope of this documentation
+to demonstrate their usage; see
+<nobr><kbd>info groff =&gt; Escape index =&gt; \D</kbd></nobr>
+for directions concerning their use.  The drawing escapes
+can be a bit unwieldy, so <strong>mom</strong> provides
+&quot;user-friendly&quot; macros for the
+<a href="graphical.html#TOP">graphical objects</a>
+most commonly enountered in typesetting: horizontal and vertical
+rules, boxes, and circles (ellipses).
+</p>
+
+<p>
+Additionally, <strong>groff</strong> comes with two
+&quot;preprocessors&quot; that let you create ruled tables and
+vector diagrams (line drawings): <strong>tbl</strong> and
+<strong>pic</strong>.  The documentation
+for <strong>tbl</strong> can be downloaded from
+
+<pre>
+    <a 
href="http://cm.bell-labs.com/cm/cs/doc/76/tbl.ps.gz";>http://cm.bell-labs.com/cm/cs/doc/76/tbl.ps.gz</a>;
+</pre>
+
+<strong>pic</strong> from
+
+<pre>
+    <a 
href="http://www.kohala.com/start/troff/gpic.raymond.ps";>http://www.kohala.com/start/troff/gpic.raymond.ps</a>.
+</pre>
+
+Both are powerful tools, but they can be nasty to learn &mdash;
+at first, anyway.  You may prefer to use a vector drawing program
+to create diagrams and tables; inserting the results into a
+document is easy enough with <kbd>.PSPIC</kbd> (consult <kbd>man
+groff_tmac</kbd> for information on this indispensable and
+easy-to-use macro).
+</p>
+
+<!-- -INLINE_CHARACTERS_GROFF- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_CHARACTERS_GROFF"><h3><u>Special characters and 
symbols</u></h3></a>
+
+<p>
+Here follows a short list of commonly-used special characters available
+via inline escapes.  If you're not sure of the meaning of some of
+these characters, consult the
+<a href="definitions.html#TERMS">Definitions of Terms</a>.
+</p>
+
+<p>
+For a complete list of special characters and glyphs (i.e. just
+about anything you'd ever want to appear on the printed page,
+including mathematical symbols, accented characters, unusual
+ligatures and letters unique to various European languages), consult
+<kbd>man groff_char</kbd>.
+
+<pre>
+    CHARACTER                   ESCAPE SEQUENCE
+    ---------                   ---------------
+
+    Comment line                \#
+    Fixed-width space           \&lt;space&gt;  i.e. backslash followed by a 
space
+    Unbreakable space           \~
+    Digit-width (figure) space  \0
+    Zero-width character        \&amp;
+    Discretionary hyphen        \%
+    Backslash                   \\ or \e
+    Plus&#47;minus (arithmetic)     \(+-
+    Subtract (arithmetic)       \(mi
+    Multiply (arithmetic)       \(mu
+    Divide (arithmetic)         \(di
+    Em-dash                     \(em
+    En-dash                     \(en
+    Left double-quote           \(lq
+    Right double-quote          \(rq
+    Bullet                      \(bu
+    Ballot box                  \(sq
+    One-quarter                 \(14
+    One-half                    \(12
+    Three-quarters              \(34
+    Degree sign                 \(de
+    Dagger                      \(dg
+    Foot mark                   \(fm
+    Cent sign                   \(ct
+    Registered trademark        \(rg
+    Copyright                   \(co
+    Section symbol              \(se
+</pre>
+</p>
+
+<hr/>
+
+<p>
+<a href="color.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="goodies.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: intro.html
===================================================================
RCS file: intro.html
diff -N intro.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ intro.html  1 Aug 2006 01:14:08 -0000       1.14
@@ -0,0 +1,502 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>What is mom?</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="definitions.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<p>
+<a name="INTRO"><h1 align="center"><u>What is mom?</u></h1></a>
+
+<a href="#INTRO_INTRO">Who is mom meant for?</a>
+<br/>
+
+<a href="#INTRO_TYPESETTING">Typesetting with mom</a>
+<br/>
+
+<a href="#INTRO_DOCPROCESSING">Document processing with mom</a>
+<br/>
+
+<a href="#INTRO_PHILOSOPHY">Mom's philosophy</a>
+<br/>
+
+<a href="#INTRO_DOCUMENTATION">A note on mom's documentation</a>
+<br/>
+
+<a href="#CANONICAL">Canonical reference materials</a>
+<br/>
+
+<a href="#MACRO_ARGS">How to read macro arguments</a>
+</p>
+
+<a name="INTRO_INTRO"><h2><u>Who is mom meant for?</u></h2></a>
+
+<p>
+<strong>Mom</strong> (&quot;my own macros&quot;, &quot;my other
+macros&quot;, &quot;maximum overdrive macros&quot;...) is a macro set for
+groff, designed to format documents for PostScript output.
+She's aimed at three kinds of users:
+</p>
+
+<ol>
+    <li>typesetters who suspect groff might be &quot;the right
+        tool for the job&quot; but who are
+        frustrated/intimidated by groff's terse, geeky,
+        not-always-typographically-intuitive
+        <a href="definitions.html#TERMS_PRIMITIVES">primitives</a>;
+    </li>
+    <li>non-scientific writers (novelists, short story writers,
+        journalists, students) who just want their work to
+        look good;
+    </li>
+    <li>newbies to computer typesetting, document processing, or
+        groff who need a well-documented macro set to help them get
+        started.
+    </li>
+</ol>
+
+<p>
+As might be inferred from the above, <strong>mom</strong> is two macro
+packages in one: a set of typesetting macros, and a set of document
+formatting macros.  The typesetting macros govern the physical
+aspects of page layout and provide sane, comprehensible control over
+typographic refinements.  The document formatting macros let you focus
+on a document's content and logical structure without worrying about
+typesetting or page layout at all.
+</p>
+
+<p>
+Because <strong>mom</strong> provides both typesetting and document
+formatting macros, it's safe to say she blurs the distinction between
+document processing and document design.  While her basic document style
+come with pretty spiffy defaults (okay &mdash; change &quot;spiffy&quot;
+to &quot;typographically professional&quot;), you can easily control
+how all the various document elements look: titles, page headers and
+footers, page numbering, heads, subheads, footnotes and so on can be
+made to come out exactly the way you want.  And should you need precise
+typographic control over elements in a document that fall outside the
+range of <strong>mom</strong>'s document element tags, you don't have to
+read up on groff
+<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>
+in order to accomplish what you want; the typesetting macros take
+care of that.
+</p>
+
+<a name="INTRO_TYPESETTING"><h2><u>Typesetting with mom</u></h2></a>
+
+<p>
+<strong>Mom</strong>'s typesetting macros control the basic parameters
+of type: margins, line length, type family, font, point size,
+linespacing, and so on.  In addition, they allow you to move around
+on the page horizontally and vertically, and to set up tabs, indents,
+and columns.  Finally, they let you adjust such typographic details as
+justification style, letter spacing, word spacing, hyphenation, and
+kerning.
+</p>
+
+<p>
+In terms of typographic control, these macros resemble the
+commands used on dedicated typesetting computers like Compugraphics and
+Linotronics.  Most of them simply give access to groff's typesetting
+primitives in a way that's consistent and easy to use.  A few of
+them (tabs and indents, for example) handle fundamental typesetting
+requirements in ways radically different from groff primitives.
+</p>
+
+<p>
+With <strong>mom</strong>'s typesetting macros, you can, if you wish,
+create individual output pages that you design from the ground up.
+Provided you have not signalled to <strong>mom</strong> that you
+want document processing (via the
+<a href="docprocessing.html#START">START</a>
+macro; see below), every macro is a literal command that remains in
+effect until you modify it or turn it off.  This means that if you
+want to create flyers, surveys, tabulated forms, curricula vitae and
+so on, you may do so in the good old-fashioned way: one step at a
+time with complete control over every element on the page.
+</p>
+
+<p>
+Years of reading various mailing lists dealing with computer
+typesetting (groff, TeX, and friends) have convinced me that no program
+can ever replace the human eye and human input when it comes to high
+quality typesetting.  As of this writing, a thread on the subject of
+&quot;micro typography&quot; in groff has been going on for nearly a
+month.  The reason for the lengthy thread is obvious; words and
+punctuation on the printed page are too variable, too fluid, to be
+rendered flawlessly by any algorithm, no matter how clever.  (For
+whatever it's worth, a similar problem exists with engraving musical
+scores by computer.)
+</p>
+
+<p>
+<strong>Mom</strong> does not try to solve the problems posed
+by things like hanging punctuation, left-margin adjustments for
+upper case letters like T and W, and so on.  She merely tries to
+provide tools that allow knowledgeable typesetters to come up with
+solutions to these problems in ways that are easier and more
+intuitive than manipulating groff at the
+<a href="definitions.html#TERMS_PRIMITIVES">primitive</a>
+level.  As a professional typesetter of more than two decades, and a
+writer, I have encountered few situations that cannot be handled by
+<strong>mom</strong>'s typesetting macros.
+</p>
+
+<p>
+<strong>Author's note:</strong> One area where groff itself needs
+serious rethinking is in the matter of an algorithm that takes into
+account both word and letter spacing when
+<a href="definitions.html#TERMS_JUST">justifying</a>
+lines.  At present, only word spacing is adjusted, requiring what I
+consider an unnecessary amount of user intervention whenever
+letter spacing is required.
+</p>
+
+<a name="INTRO_DOCPROCESSING"><h2><u>Document processing with mom</u></h2></a>
+
+<p>
+<strong>Mom</strong>'s document processing macros let you format
+documents without having to worry about the typographic details.
+In this respect, <strong>mom</strong> is similar to other groff macro
+packages, as well as to html and LaTeX.  Where <strong>mom</strong>
+differs is in the degree of control you have over the look and
+placement of the various elements of a document.  For example, if you
+don't want your heads underlined, or you want them bigger/smaller,
+or you'd prefer them to be in a different font, or you'd rather they
+were flush left instead of centred, you can make the changes easily
+and have them apply to the whole document.  Temporary and one-off
+changes are easy, too.
+</p>
+
+<p>
+<strong>Mom</strong> has some nifty features other macro sets
+don't provide.  For example, you can switch between draft-style and
+final-copy output.  If you regularly make submissions to publishers
+and editors who insist on "typewritten, double-spaced," there's a
+special macro &mdash;
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>
+&mdash; that changes typeset documents into ones that would make
+your high-school typing teacher proud.  Footnotes, endnotes, tables
+of contents, multiple columns, nested lists, recto/verso printing
+and user designable headers and footers are also part of the fun.
+</p>
+
+<a name="INTRO_PHILOSOPHY"><h2><u>Mom's philosophy</u></h2></a>
+
+<p>
+Formatting documents should be easy, from soup to nuts.  Writers need
+to focus on what they're writing, not on how it looks.  From the
+moment you fire up an editor to the moment you add "FINIS"
+to your opus, nothing should interfere with the flow of your words.
+The commands needed to format your work should be easy to remember,
+comprehensible, and stand out well from the text.  There shouldn't
+be too much clutter.  Your documents should be as readable inside a
+text editor as they are on the printed page.
+</p>
+
+<p>
+Unfortunately, in computerland, &quot;easy,&quot;
+&quot;comprehensible,&quot; and &quot;readable&quot; often mean
+&quot;you're stuck with what you get.&quot; No document formatting
+system can give you exactly what you want all the time, every time.
+Documents, it seems, always need to be tweaked, either to satisfy a
+typographic whim or to clarify some aspect of their content.
+</p>
+
+<p>
+Groff has traditionally solved the problem of formatting vs. tweaking
+by requiring users of the common macro packages (mm, ms, me and their
+offspring) to resort to groff
+<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>
+and
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+for their special typesetting needs.  Not to put too fine a point on
+it, groff primitives tend toward the abstruse, and most inline escapes
+are about as readable in-line as an encrypted password.  This does
+not make for happy-camper writers, who either find themselves stuck
+with a document formatting style they don't really like, or are
+forced to learn groff from the ground up &mdash; a daunting task, to
+say the least.
+</p>
+
+<p>
+<strong>Mom</strong> aims to make creating documents a simple matter,
+but with no corresponding loss of user control.  The document
+processing macros provide an excellent set of defaults, but if
+something is not to your liking, you can change it.  And in combination
+with the typesetting macros, you have all the tools you need to
+massage passages and tweak pages until they look utterly professional.
+</p>
+
+<p>
+One rarely hears the word &quot;user interface&quot; in conjunction
+with document processing.  Since the user formatting takes place
+inside a text editor, little thought is given to the look and feel
+of the formatting commands.  <strong>Mom</strong> attempts to rectify
+this by providing users with a consistent, readable &quot;coding&quot;
+style.  Most of the macros (especially in the document processing set)
+have humanly-readable names.  Not only does this speed up learning
+the macros, it makes the sense of what's going on in a document,
+typographically and structurally, easier to decipher.
+</p>
+
+<p>
+<strong>Mom</strong> does not try to be all things to all people.
+In contrast to the normal groff philosophy, she does not try to
+produce output that looks good no matter where it's displayed.
+She's designed for printed output, although with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>
+she produces acceptable terminal copy.  She makes no attempt to be
+compatible with older versions of troff.
+</p>
+
+<p>
+One special feature in <strong>mom</strong>'s design is the attention
+she pays to aligning the bottom margins of every page.  Nothing screams
+&quot;shoddy&quot; in typeset documents louder than bottom margins
+that wander, or, in typesetter jargon, &quot;hang.&quot; There are,
+of course, situations where whitespace at the bottom of a page may
+be desirable (for example, you wouldn't want a head to appear at the
+bottom of the page without some text underneath it), but in all cases
+where hanging bottom margins can be avoided, <strong>mom</strong> does
+avoid them, by clever adjustments to leading (&quot;line spacing&quot;)
+and the spacing between different elements on the page.
+</p>
+
+<a name="INTRO_DOCUMENTATION"><h2><u>A note on mom's documentation</u></h2></a>
+
+<p>
+Writing documentation is tough, no doubt about it.  One is never
+quite sure of the user's level of expertise.  Is s/he new to the
+application, new to its underlying protocols and programs, new to
+the operating system, new to computers?  At some point, one has to
+decide who the documentation is for.  Making the wrong decision can
+mean the difference between a program that gets used and a program
+that gets tossed.
+</p>
+
+<p>
+<strong>Mom</strong>'s documentation assumes users know their
+way around their own operating system (basic file management,
+how to invoke commands, how to use a text editor, etc).  I use
+GNU/Linux, and while the documentation may exhibit a GNU/Linux bias,
+<strong>mom</strong> and groff can, in fact, be used on a variety of
+other popular operating systems, including the one from Redmond,
+Virginia, USA.
+</p>
+
+<p>
+The documentation further assumes they at least know what groff is,
+even if they don't know much about it.  Lastly, it assumes that
+everyone &mdash; groff newbies and experts alike &mdash; learns
+faster from a few well-placed examples than from manpage-style
+reference docs.  What <strong>mom</strong>'s documentation doesn't
+assume is that you know everything--not about groff, not about
+typesetting, not about document processing.  Even experts have odd
+lacunae in their knowledge base.  Therefore, whenever I suspect
+that a term or procedure will cause head scratching, I offer an
+explanation.  And when explanations aren't enough, I offer examples.
+</p>
+
+<a name="CANONICAL"><h3><u>Canonical reference materials</u></h3></a>
+
+<p>
+The canonical reference materials for groff are
+<strong>cstr54</strong> (a downloadable PostScript copy of which is
+available
+<a href="http://www.kohala.com/start/troff/";>here</a>)
+and the <strong>troff</strong> and <strong>groff_diff</strong>
+manpages.  Another excellent source of information (maybe the best)
+is the groff <strong>info</strong> pages, available by typing
+
+<pre>
+    info groff
+</pre>
+
+at the command line (assuming you have the <strong>TeXinfo
+standalone browser</strong> installed on your system, which is
+standard for most GNU/Linux distributions).  And for
+inputting special characters, see <strong>man groff_char.</strong>
+</p>
+
+<p>
+I've tried to avoid reiterating the information contained in these
+documents; however, in a few places, this has proved impossible.
+But be forewarned: I have no qualms about sidestepping excruciating
+completeness concerning groff usage; I'm more interested in getting
+<strong>mom</strong> users up and running. <em>Mea culpa.</em>
+</p>
+
+<p>
+<strong>Note:</strong> <strong>Mom</strong>'s macro file
+(om.tmac) is heavily commented.  Each macro is preceded by a
+description of its arguments, function and usage, which may
+give you information in addition to what's contained in this
+documentation.
+</p>
+
+<p>
+<strong>Addendum:</strong> As of version 1.4-a, the main macro
+file, om.tmac, is now stripped of comments when groff is built
+from sources.  om.tmac in the sources themselves still contains
+the comments, as do the tarballs posted on <strong>mom</strong>'s
+homepage.
+</p>
+
+<hr/>
+
+<a name="MACRO_ARGS"><h2><u>How to read macro arguments</u></h2></a>
+
+<p>
+The concise descriptions of macros in this documentation typically
+look like this:
+
+<blockquote>
+    <nobr>Macro: <strong>NAME</strong> <kbd>arguments</kbd></nobr>
+</blockquote>
+</p>
+
+<p>
+<kbd>arguments</kbd> lists the macro's arguments using conventions that
+should be familiar to anyone who has ever read a manpage.  Briefly:
+
+<ol>
+    <li>Macro arguments are separated from each other by spaces.
+    </li>
+    <li>If an argument is surrounded by chevrons
+        (<kbd>&lt;&nbsp;&gt;</kbd>), it's a description
+        of the argument, not the argument itself.
+    </li>
+    <li>If an argument begins with or is surrounded by double-quotes, the
+        double quotes MUST be included in the argument.
+    </li>
+    <li>If the user has a choice between several arguments, each of the
+        choices is separated by the pipe character
+        (<kbd>|</kbd>), which means &quot;or.&quot;
+    </li>
+    <li>Arguments that are optional are surrounded by square brackets.
+    </li>
+    <li><kbd>&lt;off&gt;</kbd> in an argument list means that any
+        argument other than those in the argument list turns the
+        macro off.
+    </li>
+</ol>
+</p>
+
+<a name="TOGGLE_MACRO"><h3><u>Toggle macros</u></h3></a>
+
+<p>
+Some macros don't require an argument.  They simply start something.
+When you need to turn them off, the same macro with <em>any</em>
+argument will do the trick.  That's right: ANY argument.  This permits
+choosing whatever works for you: OFF, END, QUIT, DONE, Q, X...  Hell,
+it could even be I_LOVE_MOM.
+</p>
+
+<p>
+Since these macros toggle things on and off, the argument list
+simply reads
+
+<blockquote>
+    <kbd>toggle</kbd>
+</blockquote>
+</p>
+
+<h4><u>Example 1: An argument requiring double-quotes</u></h4>
+
+<blockquote>
+    <nobr>Macro: <strong>TITLE</strong> <kbd>&quot;&lt;title of 
document&gt;&quot;</kbd></nobr>
+</blockquote>
+
+<p>
+The required argument to <strong>TITLE</strong> is the title of your
+document.  Since it's surrounded by double-quotes, you must
+include them in the argument, like this:
+
+<pre>
+    .TITLE "My Pulitzer Novel"
+</pre>
+</p>
+
+<h4><u>Example 2: A macro with required and optional arguments</u></h4>
+
+<blockquote>
+    <nobr>Macro: <strong>TAB_SET</strong> <kbd>&lt;tab #&gt;  &lt;indent&gt;  
&lt;length&gt;  [ L | R | C | J [ QUAD ] ]</kbd></nobr>
+</blockquote>
+
+<p>
+The first required argument is a number that identifies the tab (say,
+"3").  The second required argument is an indent from the left margin
+(say, 6 picas).  The third required argument is the length of the tab
+(say, 3 picas).  Therefore, at a minimum, when using this macro,
+you would enter:
+
+<pre>
+    .TAB_SET 3 6P 3P
+</pre>
+</p>
+
+<p>
+The remaining two arguments are optional.  The first is a single
+letter, either <kbd>L, R, C</kbd> or <kbd>J</kbd>.  The second,
+which is itself optional after <kbd>L, R, C</kbd> or <kbd>J</kbd>,
+is the word <kbd>QUAD</kbd>.  Therefore, depending on what
+additional information you wish to pass to the macro, you could
+enter:
+
+<pre>
+    .TAB_SET 3 6P 3P L
+        or
+    .TAB_SET 3 6P 3P L QUAD
+</pre>
+</p>
+
+<a name="TOGGLE_EXAMPLE"><h4><u>Example 3: A sample toggle macro:</u></h4></a>
+
+<blockquote>
+    <nobr>Macro: <strong>QUOTE</strong> <kbd>toggle</kbd></nobr>
+</blockquote>
+
+<p>
+<strong>QUOTE</strong> begins a section of quoted text in a document
+and doesn't require an argument.  When the quote's finished,
+you have to tell <strong>mom</strong> it's done.
+
+<pre>
+    .QUOTE
+    So runs my dream, but what am I?
+    An infant crying in the night
+    An infant crying for the light
+    And with no language but a cry.
+    .QUOTE OFF
+</pre>
+</p>
+
+<p>
+Alternatively, you could have turned the quote off with
+<kbd>END</kbd>, or <kbd>X</kbd>, or something else.
+</p>
+
+<hr/>
+
+<p>
+<a href="definitions.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Table of Contents</a>
+</p>
+
+</body>
+</html>
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: letters.html
===================================================================
RCS file: letters.html
diff -N letters.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ letters.html        1 Aug 2006 01:14:08 -0000       1.10
@@ -0,0 +1,547 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Document Processing, Writing Letters</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="macrolist.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="refer.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="LETTERS"><h1 align="center"><u>Writing letters with mom</u></h1></a>
+
+<a name="LETTERS_INTRO"><h2><u>Introduction</u></h2></a>
+
+<p>
+<strong>Mom</strong>'s simple but effective letter-writing
+macros are a subset of the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
+designed to ease the creation of correspondence.
+</p>
+
+<p>
+Because the letter macros are a subset of the document
+processing macros, you can use
+<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
+to design correspondence to your own specifications.  However,
+<strong>mom</strong> makes no pretence of providing complete design
+flexibility in the matter of letters, which are, after all, simple
+communicative documents whose only real style requirements are that
+they be neat and professional-looking.
+</p>
+
+<hr width="66%" align="left"/>
+
+<p>
+<a name="TUTORIAL"><h2><u>Tutorial on writing letters</u></h2></a>
+</p>
+
+<p>
+<strong>Mom</strong> letters begin, like all
+<strong>mom</strong>-processed documents, with a
+<a href="docprocessing.html#REFERENCE_MACROS">reference macro</a>
+(in this case,
+<a href="docprocessing.html#AUTHOR">AUTHOR</a>),
+a
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
+(<strong>LETTER</strong>, obviously), the essential
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
+macro, and
+<a href="docprocessing.html#START">START</a>,
+like this:
+
+<pre>
+    .AUTHOR    "Yannick P. Guique"
+    .DOCTYPE    LETTER
+    .PRINTSTYLE TYPESET
+    .START
+</pre>
+</p>
+
+<p>
+<strong>PRINTSTYLE</strong>, above, could also be
+<strong>TYPEWRITE</strong>. <strong>Mom</strong> has no objection to
+creating letters that look like they were typed on an Underwood by a
+shapely secretary with 1940s gams.
+</p>
+
+<p>
+After the <strong>START</strong> macro, you enter headers pertinent
+to your letter: the date, the addressee (in business correspondence,
+typically both name and address), the addresser (that's you; in
+business correspondence, typically both name and address), and a
+greeting (in full, e.g. &quot;Dear Mr. Smith,&quot; or &quot;Dear
+Mr. Smith:&quot;).
+</p>
+
+<p>
+The macros for entering the headers are simple (they're not even
+<a href="definitions.html#TERMS_TOGGLE">toggles</a>):
+
+<pre>
+    .DATE
+    .TO
+    .FROM
+    .GREETING
+</pre>
+</p>
+
+<p>
+You may enter them in any order you like, except for
+<strong>GREETING</strong>, which must come last.
+<strong>Mom</strong> ignores any headers you omit and spaces the
+letter's opening according to what you do include.  See
+<a href="#LETTERS_DEFAULTS">Default for letters</a>
+to find out how <strong>mom</strong> formats the headers.
+</p>
+
+<p>
+(In pre 1.1.7-a releases of <strong>mom</strong>, the order
+of entry was fixed at the above.  This has been changed, although
+if you do follow the above order, <strong>mom</strong> will
+continue to behave exactly as she did in pre 1.1.7-a.)
+</p>
+
+<p>
+Once you've filled in what you need to get a letter started, simply
+type the letter, introducing each and every paragraph, including
+the first, with the
+<a href="docelement.html#PP">PP</a>
+macro.
+</p>
+
+<p>
+At the end of the letter, should you wish an indented closing
+(&quot;Yours truly,&quot; &quot;Sincerely,&quot; &quot;Hugs and
+kisses&quot;), invoke the macro, <kbd>.CLOSING</kbd>, on a
+line by itself and follow it with the text of the closing.  
+<strong>N.B.</strong> Don't put your name here; <strong>mom</strong>
+supplies it automatically from <strong>AUTHOR</strong> with
+enough space to leave room for your signature.
+</p>
+
+<p>
+Assuming our tutorial letter is for business correspondence,
+here's what the complete letter looks like.
+</p>
+
+<pre>
+    .AUTHOR    "Yannick P. Guique"
+    .DOCTYPE    LETTER
+    .PRINTSTYLE TYPESET
+    .START
+    .DATE
+    August 25, 2004
+    .TO
+    GUILLAUME BARRIÈRES
+    Minidoux Corporation
+    5000 Pannes Drive
+    Redmond, Virginia
+    .FROM
+    Y.P. GUIQUE
+    022 Umask Road
+    St-Sauveur-en-dehors-de-la-mappe, Québec
+    .GREETING
+    Dear Mr. Barrières,
+    .PP
+    It has come to my attention that you have been lobbying the
+    US government to prohibit the use of open source software by
+    endeavouring to outlaw so-called &quot;warranty free&quot;
+    applications.
+    .PP
+    I feel it is my duty to inform you that the success of your
+    operating system with its embedded web browser relies heavily
+    on open source programs and protocols, most notably TCP/IP.
+    .PP
+    Therefore, in the interests of your corporation's fiscal health,
+    I strongly advise that you withdraw support for any US
+    legislation that would cripple or render illegal open source
+    development.
+    .CLOSING
+    Sincerely,
+</pre>
+
+<p>
+This produces a letter with headers that follow the North American
+standard for business correspondence.  If you'd prefer another style
+of correspondence, for example, British, you'd set up the same
+letter like this:
+
+<pre>
+    .AUTHOR    "Yannick P. Guique"
+    .DOCTYPE    LETTER
+    .PRINTSTYLE TYPESET
+    .START
+    .FROM
+    .RIGHT
+    Y.P. GUIQUE
+    022 Umask Road
+    St-Sauveur-en-dehors-de-la-mappe, Québec
+    .TO
+    GUILLAUME BARRIÈRES
+    Minidoux Corporation
+    5000 Pannes Drive
+    Redmond, Virginia
+    .DATE
+    .RIGHT
+    August 25, 2004
+    .GREETING
+    Dear Mr. Barrières,
+</pre>
+</p>
+
+<p>
+Notice the use of <kbd>.RIGHT</kbd> after <kbd>.FROM</kbd> and
+<kbd>.DATE</kbd> in this example, used to change the default quad
+for these macros.
+</p>
+
+<hr width="66%" align="left"/>
+
+<a name="LETTERS_DEFAULTS"><h2><u>Defaults for letters</u></h2></a>
+
+<p>
+In letters, if the order of header macros is
+
+<pre>
+    .DATE
+    .TO
+    .FROM
+    .GREETING
+</pre>
+
+<strong>mom</strong> sets
+
+<ol>
+    <li>the date flush right, page right, at the top of page one,
+        with a gap of two linespaces underneath
+    </li>
+    <li>the addressee in a block flush left, page left, with a gap of
+        one linespace underneath
+    </li>
+    <li>the addresser in a block flush left, page left, with a gap of
+        one linespace underneath
+    </li>
+    <li>the greeting flush left, with a gap of one linespace
+        underneath
+    </li>
+</ol>
+</p>
+
+<p>
+which is the standard for North American business correspondence.
+</p>
+
+<p>
+If you switch the order of <kbd>.DATE</kbd>, <kbd>.TO</kbd> and/or
+<kbd>.FROM</kbd>, <strong>mom</strong> sets all the headers
+flush left, with a gap of one linespace underneath each.  (The
+default left quad of any header can be changed by invoking the
+<kbd>.RIGHT</kbd> macro, on a line by itself, immediately before
+inputting the text of the header.)
+</p>
+
+<p>
+Following the headers, <strong>mom</strong> sets
+
+<ul>
+    <li>the body of the letter justified</li>
+    <li>in multi-page letters:</li>
+    <ul>
+        <li>a footer indicating there's a next page (of the form 
<nobr><kbd>.../#</kbd>)</nobr></li>
+        <li>the page number at the top of every page after page one</li>
+    </ul>
+    <li>the closing/signature line flush left, indented halfway across the 
page</li>
+</ul>
+</p>
+
+<p>
+Other important style defaults are listed below, and may be changed
+via the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+or the document processing
+<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
+prior to
+<a href="docprocessing.html#START">START</a>.  Assume that any
+style parameter not listed below is the same as for
+<a href="docprocessing.html#TYPESET_DEFAULTS">PRINTSTYLE TYPESET</a>
+or
+<a href="docprocessing.html#TYPEWRITE_DEFAULTS">PRINTSTYLE TYPEWRITE</a>.
+</p>
+
+<pre>
+PARAMETER             PRINTSTYLE TYPESET   PRINTSTYLE TYPEWRITE
+---------             ------------------   --------------------
+
+Paper size            8.5 x 11 inches      8.5 x 11 inches
+Left/right margins    1.125 inches         1.125 inches
+Header margin         3.5 picas            3.5 picas
+ (for page numbers)
+Header gap            3 picas              3 picas
+ (for page numbers)
+Family                Times Roman          Courier
+Font                  roman                roman
+Point size            12                   12
+Line space            13.5                 12 (i.e. singlespaced)
+Paragraph indent      3 ems                3 picas
+Spaced paragraphs     yes                  no
+Footers*              yes                  yes
+Footer margin         3 picas              3 picas
+Footer gap            3 picas              3 picas
+Page numbers          top, centred         top, centred
+
+*Footers contain a &quot;next page&quot; number of the form .../#
+</pre>
+
+<hr/>
+
+<a name="LETTERS_MACROS"><h2><u>The letter macros</u></h2></a>
+
+<p>
+All letter macros must come after
+<a href="docprocessing.html#START">START</a>,
+except <strong>NO_SUITE</strong>.
+</p>
+
+<ul>
+    <li><a href="#DATE">DATE</a></li>
+    <li><a href="#TO">TO</a></li>
+    <li><a href="#FROM">FROM</a></li>
+    <li><a href="#GREETING">GREETING</a></li>
+    <li><a href="#CLOSING">CLOSING</a></li>
+    <li><a href="#NO_SUITE">NO_SUITE</a> &mdash; &quot;next page&quot; number 
off</li>
+</ul>
+
+<!-- -DATE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="DATE"></a>
+
+<p>
+Macro: <strong>DATE</strong>
+</p>
+
+<p>
+Invoke <kbd>.DATE</kbd> on a line by itself, with the date
+underneath, like this:
+
+<pre>
+    .DATE
+    October 31, 2002
+</pre>
+</p>
+
+<p>
+If you wish to change the default quad direction for the date,
+enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself,
+immediately after <kbd>.DATE</kbd>.
+</p>
+
+<p>
+If you wish to insert additional space between the date and any
+letter header that comes after it, do so after inputting the date,
+not at the top of the next header macro, like this:
+
+<pre>
+    .DATE
+    October 31, 2002
+    .SPACE     \"Or, more simply, .SP
+</pre>
+</p>
+
+<p>
+If you wish to remove the default space,
+
+<pre>
+    .SPACE -1v \"Or, more simply, .SP -1v
+</pre>
+
+will do the trick.
+</p>
+
+<!-- -TO- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TO"></a>
+
+<p>
+Macro: <strong>TO</strong>
+</p>
+
+<p>
+Invoke <kbd>.TO</kbd> on a line by itself, with the name
+and address of the addressee underneath, like this:
+
+<pre>
+    .TO
+    JOHN SMITH
+    10 Roberts Crescent
+    Bramladesh, Ont.
+</pre>
+</p>
+
+<p>
+If you wish to change the default quad direction for the address,
+enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself,
+immediately after <kbd>.TO</kbd>.
+</p>
+
+<p>
+If you wish to insert additional space between the address and
+any letter header that comes after it, do so after inputting the
+address, not at the top of the next header macro, like this:
+
+<pre>
+    .TO
+    JOHN SMITH
+    10 Roberts Crescent
+    Bramladesh, Ont.
+    .SPACE     \"Or, more simply, .SP
+</pre>
+</p>
+
+<p>
+If you wish to remove the default space,
+
+<pre>
+    .SPACE -1v \"Or, more simply, .SP -1v
+</pre>
+
+will do the trick.
+</p>
+
+<!-- -FROM- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FROM"></a>
+
+<p>
+Macro: <strong>FROM</strong>
+</p>
+
+<p>
+Invoke <kbd>.FROM</kbd> on a line by itself, with the name
+and address of the addresser underneath, like this:
+
+<pre>
+    .FROM
+    JOE BLOW
+    15 Brunette Road
+    Ste-Vieille-Andouille, Québec
+</pre>
+</p>
+
+<p>
+If you wish to change the default quad direction for the address,
+enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself,
+immediately after <kbd>.FROM</kbd>.
+</p>
+
+<p>
+If you wish to insert additional space between the address and
+any letter header that comes after it, do so after inputting the
+address, not at the top of the next header macro, like this:
+
+<pre>
+    .FROM
+    JOE BLOW
+    15 Brunette Road
+    Ste-Vieille-Andouille, Québec
+    .SPACE     \"Or, more simply, .SP
+</pre>
+</p>
+
+<p>
+If you wish to remove the default space,
+
+<pre>
+    .SPACE -1v \"Or, more simply, .SP -1v
+</pre>
+
+will do the trick.
+</p>
+
+<!-- -GREETING- -->
+
+<hr width="33%" align="left"/>
+
+<a name="GREETING"></a>
+
+<p>
+Macro: <strong>GREETING</strong>
+</p>
+
+<p>
+Invoke <kbd>.GREETING</kbd> on a line by itself, with the
+full salutation you want for the letter, like this:
+
+<pre>
+    .GREETING
+    Dear Mr. Smith,
+</pre>
+</p>
+
+<!-- -CLOSING- -->
+
+<hr width="33%" align="left"/>
+
+<a name="CLOSING"></a>
+
+<p>
+Macro: <strong>CLOSING</strong>
+</p>
+
+<p>
+Invoke <kbd>.CLOSING</kbd> on a line by itself after the body of the
+letter, with the closing you'd like (e.g. &quot;Yours truly,&quot;),
+like this:
+
+<pre>
+    .CLOSING
+    Yours truly,
+</pre>
+</p>
+
+<!-- -NO_SUITE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="NO_SUITE"></a>
+
+<p>
+Macro: <strong>NO_SUITE</strong>
+</p>
+
+<p>
+If you don't want <strong>mom</strong> to print a &quot;next
+page&quot; number at the bottom of multi-page letters, invoke
+<kbd>.NO_SUITE</kbd>, on a line by itself, prior to
+<a href="docprocessing.html#START">START</a>.
+</p>
+
+<hr/>
+
+<p>
+<a href="macrolist.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="refer.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: macrolist.html
===================================================================
RCS file: macrolist.html
diff -N macrolist.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ macrolist.html      1 Aug 2006 01:14:08 -0000       1.9
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Quick reference guide</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="appendices.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="typemacdoc.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<h1 align="center"><a name="QUICK"><u>Quick reference guide to mom</u></a></h1>
+
+<p>
+Once you know your way around <strong>mom</strong>, you may find
+this guide preferable to using the Table of Contents.  It lists
+<strong>mom</strong>'s major user-space macros.  The links point to
+references found elsewhere in the documentation.
+</p>
+
+<h2 align="center"><u>Index to the quick reference guide</u></h2>
+
+<pre>
+TYPESETTING MACROS                     DOCUMENT PROCESSING MACROS
+==================                     ==========================
+<a href="#1">Paper size, margins, line length</a>       <a 
href="#18">Reference macros</a>
+<a href="#2">Family, font, point size</a>               <a href="#19">General 
document formatting directives</a>
+<a href="#3">Font modifications</a>                     <a href="#20">Line 
numbering</a>
+<a href="#4">Linespacing (leading)</a>                  <a href="#21">Set 
documents in columns</a>
+<a href="#5">Justification, quad, breaking lines</a>    <a 
href="#22">TYPEWRITE control macros</a>
+<a href="#6">Hyphenation</a>                            <a href="#23">Initiate 
document processing</a>
+<a href="#7">Word and sentence spacing</a>              <a 
href="#24">Epigraphs</a>
+<a href="#8">Kerning, ligatures, smartquotes</a>        <a href="#25">Main 
heads</a>
+<a href="#9">Horizontal/vertical motions, columns</a>   <a 
href="#26">Subheads</a>
+<a href="#10">Indents</a>                                <a 
href="#27">Paragraph heads</a>
+<a href="#11">Tabs</a>                                   <a 
href="#28">Paragraphs</a>
+<a href="#12">Underscoring, underlining</a>              <a href="#29">Quotes 
(line by line verbatim quotes)</a> 
+<a href="#13">Superscipts</a>                            <a 
href="#30">Blockquotes (cited passages of text)</a>
+<a href="#14">Nested lists</a>                           <a href="#32">Author 
linebreaks (section breaks)</a>
+<a href="#15">Colour</a>                                 <a 
href="#33">Document termination string</a>
+<a href="#16">Dropcaps</a>                               <a 
href="#34">Footnotes</a>
+<a href="#17">Utilities</a>                              <a 
href="#35">Endnotes</a>
+                                       <a href="#36">Margin notes</a>
+                                       <a href="#37">Bibliographic 
references</a>
+                                       <a href="#                   38">Tables 
of contents</a>
+                                       <a href="#39">Letter (correspondence) 
macros</a>
+                                       <a href="#40">Changing global print 
style parameters after START</a>
+                                       <a href="#41">Managing a document's 
first-page header</a>
+                                       <a href="#42">Managing page headers and 
footers</a>
+                                       <a href="#43">Recto/verso page headers 
and footers</a>
+                                       <a href="#44">Pagination</a>
+                                       <a href="#45">Document and section 
cover (title) pages</a>
+                                       <a href="#46">Utilities</a>
+</pre>
+
+<hr/>
+
+<h2 align="center"><u>The Quick Reference Guide</u></h2>
+
+<pre>
+TYPESETTING MACROS
+==================
+
+<a name="1">+++ Paper size, margins, line length</a>
+    <a href="typesetting.htmlPAPER">PAPER</a>      -- set common paper sizes 
(letter, A4, etc)
+    <a href="typesetting.htmlPAGEWIDTH">PAGEWIDTH</a>  -- set a custom page 
width
+    <a href="typesetting.htmlPAGELENGTH">PAGELENGTH</a> -- set a custom page 
length
+    <a href="typesetting.htmlPAGE">PAGE</a>       -- set explicit page 
dimensions and margins
+    <a href="typesetting.htmlT_MARGIN">T_MARGIN</a>   -- set a top margin
+    <a href="typesetting.htmlB_MARGIN">B_MARGIN</a>   -- set a bottom margin
+    <a href="typesetting.htmlL_MARGIN">L_MARGIN</a>   -- set a left margin 
(page offset)
+    <a href="typesetting.htmlR_MARGIN">R_MARGIN</a>   -- set a right margin
+    <a href="typesetting.htmlLINELENGTH">LL</a>         -- set a line length
+
+<a name="2">+++ Family, font, point size</a>
+    <a href="typesetting.htmlFAMILY">FAMILY</a>        -- set the family of 
type
+    <a href="typesetting.htmlFONT">FT</a>            -- set the font style 
(roman, italic, etc)
+    <a href="typesetting.htmlFALLBACK_FONT">FALLBACK_FONT</a> -- establish a 
fallback font (for missing fonts)
+    <a href="typesetting.htmlPS">PT_SIZE</a>       -- set the point size
+    <a href="inlines.htmlINLINE_SIZE_MOM">\*[SIZE n]</a>    -- change the 
point size inline
+
+<a name="3">+++ Font modifications</a>
+    * Pseudo italic
+      <a href="typesetting.htmlSETSLANT">SETSLANT</a>   -- set the degree of 
slant
+      <a href="typesetting.htmlSLANT_INLINE">\*[SLANT]</a>  -- invoke pseudo 
italic inline
+      <a href="typesetting.htmlSLANT_INLINE">\*[SLANTX]</a> -- turn off pseudo 
italic inline
+
+    * Pseudo bold
+      <a href="typesetting.htmlSETBOLDER">SETBOLDER</a>   -- set the amount of 
emboldening
+      <a href="typesetting.htmlBOLDER_INLINE">\*[BOLDER]</a>  -- invoke pseudo 
bold inline
+      <a href="typesetting.htmlBOLDER_INLINE">\*[BOLDERX]</a> -- turn off 
pseudo bold inline
+
+    * Pseudo condensed 
+      <a href="typesetting.htmlCONDENSE">CONDENSE</a>  -- set the amount to 
pseudo condense
+      <a href="typesetting.htmlCOND_INLINE">\*[COND]</a>  -- invoke pseudo 
condensing inline
+      <a href="typesetting.htmlCOND_INLINE">\*[CONDX]</a> -- turn off pseudo 
condensing inlines
+
+    * Pseudo extended
+      <a href="typesetting.htmlEXTEND">EXTEND</a>   -- set the amount to 
pseudo extend
+      <a href="typesetting.htmlEXT_INLINE">\*[EXT]</a>  -- invoke pseudo 
extending inline
+      <a href="typesetting.htmlEXT_INLINE">\*[EXTX]</a> -- turn off pseudo 
condensing inlinee
+
+<a name="4">+++ Linespacing (leading)</a>
+    <a href="typesetting.htmlLEADING">LS</a>       -- set the linespacing 
(leading)
+    <a href="typesetting.htmlAUTOLEAD">AUTOLEAD</a> -- set the linespacing 
relative to the point size
+
+<a name="5">+++ Justification, quad direction, line-by-line setting, breaking 
lines</a>
+    <a href="typesetting.htmlJUSTIFY">JUSTIFY</a> -- justify text to both 
margins
+    <a href="typesetting.htmlQUAD">QUAD</a>    -- "justify" text left, centre, 
or right
+    <a href="typesetting.htmlLRC">LEFT</a>    -- set line-by-line quad left
+    <a href="typesetting.htmlLRC">CENTER</a>  -- set line-by-line quad centre
+    <a href="typesetting.htmlLRC">RIGHT</a>   -- set line-by-line quad right
+    <a href="typesetting.htmlBR">BR</a>      -- break a justified line
+    <a href="typesetting.htmlSPREAD">SPREAD</a>  -- force justify a line
+    <a href="typesetting.htmlEL">EL</a>      -- break a line without advancing 
on the page
+
+<a name="6">+++ Hyphenation</a>
+    <a href="typesetting.htmlHY">HY</a>     -- turn automatic hyphenation on 
or off
+    <a href="typesetting.htmlHY_SET">HY_SET</a> -- set automatic hyphenation 
parameters
+
+<a name="7">+++ Word and sentence spacing</a>
+    <a href="typesetting.htmlWS">WS</a> -- set the minimum word space size
+    <a href="typesetting.htmlSS">SS</a> -- set the sentence space size
+
+<a name="8">+++ Kerning, ligatures, smartquotes</a>
+    <a href="typesetting.htmlKERN">KERN</a>            -- turn automatic 
character pair kerning on or off
+    <a href="inlines.htmlINLINE_KERNING_MOM">\*[BU n]</a>        -- move 
characters pairs closer together inline
+    <a href="inlines.htmlINLINE_KERNING_MOM">\*[FU n]</a>        -- move 
character pairs further apart inline
+    <a href="typesetting.htmlRW">RW</a>              -- uniformly reduce space 
between characters (tighten)
+    <a href="typesetting.htmlEW">EW</a>              -- uniformly increase 
space between characters (loosen)
+    <a href="typesetting.htmlBR_AT_LINE_KERN">BR_AT_LINE_KERN</a> -- break 
previous line every time RW or EW is invoked
+    <a href="typesetting.htmlLIGATURES">LIGATURES</a>       -- turn automatic 
generation of ligatures on or off
+    <a href="goodies.htmlSMARTQUOTES">SMARTQUOTES</a>     -- turn smartquoting 
on or off
+
+<a name="9">+++ Horizontal and vertical movements, columnar setting</a>
+    <a href="typesetting.htmlALD">ALD</a>        -- move downards on the page
+    <a href="typesetting.htmlRLD">RLD</a>        -- move upwards on the page
+    <a href="typesetting.htmlSPACE">SPACE</a>      -- insert space between 
lines on a page
+    <a href="inlines.htmlDOWN">\*[DOWN n]</a> -- temporarily move downwards in 
a line
+    <a href="inlines.htmlUP">\*[UP n]</a>   -- temporarily move upwards in a 
line
+    <a href="inlines.htmlFWD">\*[FWD n]</a>  -- move forward in a line
+    <a href="inlines.htmlBCK">\*[BCK n]</a>  -- move backwards in a line
+    <a href="typesetting.htmlMCO">MCO</a>        -- turn multiple columns on
+    <a href="typesetting.htmlMCR">MCR</a>        -- return to vertical 
position of column start
+    <a href="typesetting.htmlMCX">MCX</a>        -- turn multiple columns off, 
advance past longest column
+
+<a name="10">+++ Indents</a>
+    <a href="typesetting.htmlIL">IL</a>  -- set and turn on a left indent
+    <a href="typesetting.htmlIR">IR</a>  -- set and turn on a right indent
+    <a href="typesetting.htmlIB">IB</a>  -- set and turn on indents both left 
and right
+    <a href="typesetting.htmlIQ">IQ</a>  -- quit (exit) all indents
+    <a href="typesetting.htmlTI">TI</a>  -- set and turn on a temporary (one 
line) indent
+    <a href="typesetting.htmlHI">HI</a>  -- set and turn on a hanging indent
+    <a href="typesetting.htmlIQ">ILX</a> -- turn left indents off
+    <a href="typesetting.htmlIQ">IRX</a> -- turn right indents off
+    <a href="typesetting.htmlIQ">IBX</a> -- turn both left and right indents 
off
+
+<a name="11">+++ Tabs</a>
+    <a href="typesetting.htmlTAB_SET">TAB_SET</a>            -- set up a 
typesetting tab
+    <a href="typesetting.htmlTAB">TAB &lt;n&gt;</a>            -- call tab 
&lt;n&gt;
+    <a href="typesetting.htmlTQ">TQ</a>                 -- quit (exit) tabs
+    <a href="typesetting.htmlINLINE_ST">\*[STn]...\*[STnX]</a> -- mark off tab 
positions inline
+    <a href="typesetting.htmlTN">TN</a>                 -- move to tab 
&lt;n+1&gt; without advancing on the page
+    <a href="typesetting.htmlST">ST</a>                 -- set up tabs whose 
positions were marked inline
+
+<a name="12">+++ Underscoring, underlining</a>
+    <a href="goodies.htmlUNDERSCORE">UNDERSCORE</a>       -- underscore type
+    <a href="goodies.htmlUNDERSCORE2">UNDERSCORE2</a>      -- double 
underscore type
+    <a href="goodies.htmlUNDERLINE">UNDERLINE</a>        -- underline type 
(fixed width fonts only)
+    <a href="goodies.htmlUL">\*[UL]...\*[ULX]</a> -- invoke underling inline 
(fixed width fonts only)
+
+<a name="13">+++ Superscipts</a>
+    <a href="goodies.htmlSUP">\*[SUP]...\*[SUPX]</a>         -- set characters 
superscript (inline)
+    <a href="goodies.htmlSUP">\*[CONDSUP]...\*[CONDSUPX]</a> -- set pseudo 
condensed characters superscript (inline)
+    <a href="goodies.htmlSUP">\*[EXTSUP]...\*[EXTSUPX]</a>   -- set pseudo 
extended characters superscript (inline)
+
+<a name="14">+++ Nested lists</a>
+    <a href="docelement.htmlLIST">LIST</a>            -- initiate a nested list
+    <a href="docelement.htmlITEM">ITEM</a>            -- begin an item in a 
list
+    <a href="docelement.htmlSHIFT_LIST">SHIFT_LIST</a>      -- change the 
indent of a list
+    <a href="docelement.html#RESET_LIST">RESET_LIST</a>      -- clear and 
reset a list's enumerator
+    <a href="docelement.htmlPAD_LIST_DIGITS">PAD_LIST_DIGITS</a> -- space to 
leave for digits in a digit-enumerated list
+
+<a name="15">+++ Colour</a>
+    <a href="color.htmlNEWCOLOR">NEWCOLOR</a>        -- initialize (define) a 
colour
+    <a href="color.htmlCOLOR">COLOR</a>           -- begin using an 
initialized colour
+    <a href="color.htmlXCOLOR">XCOLOR</a>          -- initialize a 
&quot;named&quot; X colour
+    <a href="color.htmlCOLOR_INLINE">\*[&lt;colorname&gt;]</a> -- being using 
an initialized colour inline
+
+<a name="16">+++ Dropcaps</a>
+    <a href="goodies.htmlDROPCAP">DROPCAP</a>        -- set a dropcap
+    <a href="goodies.htmlDROPCAP_FAMILY">DROPCAP_FAMILY</a> -- set a dropcap's 
family
+    <a href="goodies.htmlDROPCAP_FONT">DROPCAP_FONT</a>   -- set a dropcap's 
font style
+    <a href="goodies.htmlDROPCAP_COLOR">DROPCAP_COLOR</a>  -- set a dropcap's 
colour
+    <a href="goodies.htmlDROPCAP_ADJUST">DROPCAP_ADJUST</a> -- adjust size of 
a dropcap
+    <a href="goodies.htmlDROPCAP_GUTTER">DROPCAP_GUTTER</a> -- adjust space 
between a dropcap and regular text
+
+<a name="17">+++ Utilities</a>
+    <a href="goodies.htmlCAPS">CAPS</a>             -- set type all caps
+    <a href="goodies.htmlSILENT">COMMENT</a>          -- silently embed 
comments in a document
+    <a href="goodies.htmlESC_CHAR">ESC_CHAR</a>         -- change the default 
escape character
+    <a href="goodies.htmlLEADER">\*[LEADER]</a>       -- insert leaders at the 
end of a line
+    <a href="goodies.htmlLEADER_CHARACTER">LEADER_CHARACTER</a> -- change the 
character used for leaders
+    <a href="typesetting.htmlNEWPAGE">NEWPAGE</a>          -- break to a new 
page
+    <a href="goodies.htmlPAD">PAD</a>              -- insert equalized regions 
of whitespace into a line
+    <a href="goodies.htmlPAD_MARKER">PAD_MARKER</a>       -- change the 
character that identifes padding locations
+    <a href="inlines.htmlINLINE_RULE_MOM">\*[RULE]</a>         -- draw a full 
measure rule
+    <a href="goodies.htmlSILENT">SILENT</a>           -- turn output 
processing off or on
+    <a href="goodies.html#TRAP">TRAP</a>             -- enable or disable page 
position traps
+</pre>
+
+<hr width="66%" align="left"/>
+
+<pre>
+DOCUMENT PROCESSING MACROS
+==========================
+
+<a name="18">+++ Reference macros</a>
+    <a href="docprocessing.html#TITLE">TITLE</a>           -- document title
+    <a href="docprocessing.html#DOCTITLE">DOCTITLE</a>        -- overall 
document title (if different from TITLE)
+    <a href="docelement.html#ENDNOTE_TITLE">ENDNOTE_TITLE</a>   -- 
document/chapter identification string for endnotes
+    <a href="docprocessing.html#CHAPTER">CHAPTER</a>         -- chapter number
+    <a href="docprocessing.html#CHAPTER">CHAPTER_TITLE</a>   -- chapter title
+    <a href="docprocessing.html#DRAFT_STRING">CHAPTER_STRING</a>  -- what to 
use in place of &quot;Chapter&quot;
+    <a href="docprocessing.html#SUBTITLE">SUBTITLE</a>        -- document 
subtitle
+    <a href="docprocessing.html#AUTHOR">AUTHOR</a>          -- document 
author(s)
+    <a href="docprocessing.html#COVERTITLE">DOC_COVERTITLE</a>  -- document 
title cover
+    <a href="docprocessing.html#COVERTITLE">COVERTITLE</a>      -- section 
cover title
+    <a href="docprocessing.html#COVERTITLE">COPYRIGHT</a>       -- copyright
+    <a href="docprocessing.html#COVERTITLE">MISC</a>            -- 
miscellaneous cover information
+    <a href="docprocessing.html#DRAFT">DRAFT</a>           -- document's draft 
number
+    <a href="docprocessing.html#DRAFT_STRING">DRAFT_STRING</a>    -- what to 
use in place of &quot;Draft&quot;
+    <a href="docprocessing.html#REVISION">REVISION</a>        -- document's 
revision number
+    <a href="docprocessing.html#REVISION_STRING">REVISION_STRING</a> -- what 
to use in place of &quot;Revision&quot;
+
+<a name="19">+++ General document formatting directives</a>
+    <a href="docprocessing.html#DOCTYPE">DOCTYPE</a>    -- general document 
type
+    <a href="docprocessing.html#COPYSTYLE">COPYSTYLE</a>  -- draft or final 
copy
+    <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> -- typeset or 
&quot;typewritten&quot;
+
+<a name="20">+++ Line numbering</a>
+    <a href="docelement.html#NUMBER_LINES">NUMBER_LINES</a>              -- 
turn automatic line numbering on or off
+     <a href="docelement.html#NUMBER_LINES_CONTROL">Control macros</a>
+      <a href="docelement.html#NUMBER_QUOTE_LINES">NUMBER_QUOTE_LINES</a>      
-- turn numbering of lines inside QUOTE on or off
+      <a 
href="docelement.html#NUMBER_BLOCKQUOTE_LINES">NUMBER_BLOCKQUOTE_LINES</a> -- 
turn numbering of lines inside BLOCKQUOTE on or off
+
+<a name="21">+++ Set documents in columns</a>
+    <a href="docprocessing.html#COLUMNS">COLUMNS</a>
+    <a href="docprocessing.html#COL_NEXT">COL_NEXT</a>
+    <a href="docprocessing.html#COL_BREAK">COL_BREAK</a>
+
+<a name="22">+++ TYPEWRITE control macros</a>
+    <a href="docprocessing.html#TYPEWRITE_CONTROL">UNDERLINE_ITALIC</a>    -- 
turn underlining of italics on
+    <a href="docprocessing.html#UNDERLINE_QUOTES">UNDERLINE_QUOTES</a>    -- 
turn underlining of line for line quotes on or off
+    <a href="docprocessing.html#TYPEWRITE_CONTROL">ITALIC_MEANS_ITALIC</a> -- 
turn underlining of italics off (use italics)
+    <a href="docprocessing.html#TYPEWRITE_CONTROL">UNDERLINE_SLANT</a>     -- 
turn underlining of pseudo italics on
+    <a href="docprocessing.html#TYPEWRITE_CONTROL">SLANT_MEANS_SLANT</a>   -- 
turn underlining of pseudo italics off (use pseudo italics)
+
+<a name="23">+++ Initiate document processing</a>
+    <a href="docprocessing.html#START">START</a> -- begin document processing
+
+<a name="24">+++ Epigraphs</a>
+    <a href="docelement.html#EPIGRAPH">EPIGRAPH</a>        -- set an epigraph 
underneath the docheader
+     <a href="docelement.html#EPIGRAPH_CONTROL">Control macros</a> -- change 
default style of epigraphs
+
+<a name="25">+++ Main heads</a>
+    <a href="docelement.html#HEAD">HEAD</a>                    -- set a main 
head
+     <a href="docelement.html#HEAD_GENERAL">Control macros</a>         -- 
change default style of heads
+      <a href="docelement.html#HEAD_SPACE">HEAD_SPACE</a>            -- 
control spacing around heads
+      <a href="docelement.html#NUMBER_HEADS">NUMBER_HEADS</a>          -- 
number heads
+      <a 
href="docelement.html#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a> -- 
prefix chapter number to head numbering scheme
+      <a href="docelement.html#RESET_HEAD_NUMBER">RESET_HEAD_NUMBER</a>     -- 
reset head number to &quot;1&quot;
+
+<a name="26">+++ Subheads</a>
+    <a href="docelement.html#SUBHEAD">SUBHEAD</a>                 -- set a 
subhead
+     <a href="docelement.html#SUBHEAD_GENERAL">Control macros</a>         -- 
change default style of subheads
+      <a href="docelement.html#NUMBER_SUBHEADS">NUMBER_SUBHEADS</a>       -- 
number subheads
+      <a 
href="docelement.html#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a> -- 
prefix chapter number to subhead numbering scheme
+      <a href="docelement.html#RESET_SUBHEAD_NUMBER">RESET_SUBHEAD_NUMBER</a>  
-- reset subhead number to &quot;1&quot;
+
+<a name="27">+++ Paragraph heads</a>
+    <a href="docelement.html#PARAHEAD">PARAHEAD</a>                -- set a 
paragraph head (joined to body of paragraph)
+     <a href="docelement.html#PARAHEAD_GENERAL">Control macros</a>         -- 
change default style of paraheads
+      <a href="docelement.html#NUMBER_PARAHEADS">NUMBER_PARAHEADS</a>      -- 
number paraheads
+      <a 
href="docelement.html#PREFIX_CHAPTER_NUMBER">PREFIX_CHAPTER_NUMBER</a> -- 
prefix chapter number to parahead numbering scheme
+      <a 
href="docelement.html#RESET_PARAHEAD_NUMBER">RESET_PARAHEAD_NUMBER</a> -- reset 
parahead number to &quot;1&quot;
+
+<a name="28">+++ Paragraphs</a>
+    <a href="docelement.html#PP">PP</a>                   -- set a paragraph
+     <a href="docelement.html#PP_CONTROL">Paragraph style</a>     -- managing 
paragraph style concerns
+      <a href="docelement.html#PP_FONT">PP_FONT</a>            -- globally 
change the font used in regular paragraphs
+      <a href="docelement.html#PARA_INDENT">PARA_INDENT</a>        -- set the 
paragraph first-line indent
+      <a href="docelement.html#INDENT_FIRST_PARAS">INDENT_FIRST_PARAS</a> -- 
indenting of paragraph first-lines on or off
+      <a href="docelement.html#PP_SPACE">PARA_SPACE</a>         -- spacing of 
paragraphs (single blank line) on or off
+
+<a name="29">+++ Quotes (line by line verbatim quotes)</a>
+    <a href="docelement.html#QUOTE">QUOTE</a>                     -- set cited 
text line by line 
+     <a href="docelement.html#QUOTE_GENERAL">Control macros</a>           -- 
change default style of quotes
+      <a 
href="docelement.html#ALWAYS_FULLSPACE_QUOTES">ALWAYS_FULLSPACE_QUOTES</a> -- 
control spacing around quotes
+    <a href="docelement.html#BREAK_QUOTE">BREAK_QUOTE</a>               -- 
deprecated
+
+<a name="30">+++ Blockquotes (cited passages of text)</a>
+    <a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a>                -- set 
longer passages of cited text
+     <a href="docelement.html#BLOCKQUOTE_GENERAL">Control macros</a>           
-- change default style of blockquotes
+      <a 
href="docelement.html#ALWAYS_FULLSPACE_QUOTES">ALWAYS_FULLSPACE_QUOTES</a> -- 
control spacing around quotes
+    <a href="docelement.html#BREAK_QUOTE">BREAK_BLOCKQUOTE</a>          -- 
deprecated
+
+<a name="31">+++ Code snippets</a>
+    <a href="docelement.html#CODE">CODE</a> -- set a code snippet
+
+<a name="32">+++ Author linebreaks (section breaks)</a>
+    <a href="docelement.html#LINEBREAK">LINEBREAK</a>       -- insert an 
author linebreak (section break)
+    <a href="docelement.html#LINEBREAK_CHAR">LINEBREAK_CHAR</a>  -- character 
to use for author linebreaks
+    <a href="docelement.html#LINEBREAK_COLOR">LINEBREAK_COLOR</a> -- colour of 
author linebreak character
+
+<a name="33">+++ Document termination string</a>
+    <a href="docelement.html#FINIS">FINIS</a>        -- insert a document 
termination string (e.g. --END--)
+    <a href="docelement.html#FINIS_STRING">FINIS_STRING</a> -- set the 
document termination string
+    <a href="docelement.html#FINIS_COLOR">FINIS_COLOR</a>  -- set the document 
termination string colour
+
+<a name="34">+++ Footnotes</a>
+    <a href="docelement.html#FOOTNOTE">FOOTNOTE</a>                -- set a 
footnote
+     <a href="docelement.html#FOOTNOTE_GENERAL">Control macros</a>         -- 
change default style of footnotes
+      <a href="docelement.html#FOOTNOTE_MARKERS">FOOTNOTE_MARKERS</a>      -- 
turn footnote markers on or off
+      <a 
href="docelement.html#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> -- type 
of footnote marker to use
+      <a 
href="docelement.html#RESET_FOOTNOTE_NUMBER">RESET_FOOTNOTE_NUMBER</a> -- reset 
footnote numbering
+      <a href="docelement.html#FOOTNOTE_RULE">FOOTNOTE_RULE</a>         -- 
turn footnote separator rule on or off
+      <a href="docelement.html#FOOTNOTE_RULE_ADJ">FOOTNOTE_RULE_ADJ</a>     -- 
adjust vertical position of footnote rule
+      <a href="docelement.html#FOOTNOTE_RULE_LENGTH">FOOTNOTE_RULE_LENGTH</a>  
-- adjust length of footnote rule
+      <a href="docelement.html#FOOTNOTES_RUN_ON">FOOTNOTES_RUN_ON</a>      -- 
instruct footnotes to be continuous (i.e. not to
+                               begin on a new line; only for use with footnotes
+                               identified by document line number)
+
+<a name="35">+++ Endnotes</a>
+    <a href="docelement.html#ENDNOTE">ENDNOTE</a>                        -- 
set an endnote
+    <a href="docelement.html#EN-MARK">\*[EN-MARK]</a>                    -- 
mark initial line of a range of line numbers
+                                     (for use with line numbered endnotes)
+    <a href="docelement.html#ENDNOTES">ENDNOTES</a>                       -- 
output endnotes pages
+     <a href="docelement.html#ENDNOTE_CONTROL">Control macros</a>              
  -- change just about anything to do with endnotes
+      <a href="docelement.html#ENDNOTES_GENERAL">Endnotes pages general style 
control</a>
+      <a href="docelement.html#ENDNOTES_HEADER_CONTROL">Endotes pages 
header/footer control</a>
+      <a href="docelement.html#ENDNOTES_MAIN_TITLE">Endnotes pages main title 
control</a>
+      <a href="docelement.html#ENDNOTES_MAIN_TITLE">Endnotes pages 
document/section identification control</a>
+      <a href="docelement.html#ENDNOTES_NUMBERING">Endnote identification 
style</a>
+
+<a name="36">+++ Margin notes</a>
+    <a href="docelement.html#MN_INIT">MN_INIT</a> -- initialize margin notes
+    <a href="docelement.html#MN">MN</a>      -- set a margin note
+
+<a name="37">+++ Bibliographic references</a>
+    <a href="refer.html#REF">REF</a>                 -- begin a bibliographic 
reference
+    <a href="refer.html#FOOTNOTE_REFS">FOOTNOTE_REFS</a>       -- place 
bibliographic references in footnotes
+    <a href="refer.html#ENDNOTE_REFS">ENDNOTE_REFS</a>        -- place 
bibliographic references in endnotes
+    <a href="refer.html#BRACKET_REFS">REF( / REF)</a>         -- put 
parentheses around embedded bibliographic references
+    <a href="refer.html#BRACKET_REFS">REF[ / REF]</a>         -- put square 
brackets around embedded bibliographic references
+    <a href="refer.html#BRACKET_REFS">REF{ / REF}</a>         -- put curly 
braces around mbedded bibliographic references
+    <a href="refer.html#BIBLIOGRAPHY">BIBLIOGRAPHY</a>        -- output a 
bibliography
+     <a href="refer.html#BIBLIO_CONTROL">Control macros</a>     -- change just 
about anything to do with bibliography pages
+      <a href="refer.html#BIBLIOGRAPHY_TYPE">BIBLIOGRAPHY_TYPE</a> -- 
&quot;plain&quot; or enumerated list bibliography
+      <a href="refer.html#BIBLIO_GENERAL">Bibliography pages general style 
control</a>
+      <a href="refer.html#BIBLIO_HEADER_CONTROL">Bibliography pages 
header/footer control</a>
+      <a href="refer.html#BIBLIO_MAIN_TITLE">Bibliography pages main head 
control</a>
+
+<a name="38">+++ Tables of contents</a>
+    <a href="docelement.html#TOC">TOC</a>
+     <a href="docelement.html#TOC_CONTROL">Control macros</a> -- change just 
about anything to do with table of contents pages
+      <a href="docelement.html#TOC_GENERAL">Table of contents general style 
control</a>
+      <a href="docelement.html#TOC_PAGENUMBERING">Table of contents page 
numbering</a>
+      <a href="docelement.html#TOC_HEADER">Table of contents main title 
control</a>
+      <a href="docelement.html#TOC_STYLE">Changing the style of the different 
table of contents entry types</a>
+      <a href="docelement.html#TOC_ADDITIONAL">Additional table of contents 
control macros</a>
+
+<a name="39">+++ Letter (correspondence) macros</a>
+    <a href="letters.html#DATE">DATE</a>     -- letter's date
+    <a href="letters.html#FROM">FROM</a>     -- letter's addresser
+    <a href="letters.html#TO">TO</a>       -- letter's addressee
+    <a href="letters.html#GREETING">GREETING</a> -- letter's salutation
+    <a href="letters.html#CLOSING">CLOSING</a>  -- letter's closing salutation
+    <a href="letters.html#NO_SUITE">NO_SUITE</a> -- turn printing of 
&quot;next page number&quot; off or on
+
+<a name="40">+++ Changing global print style parameters after START</a>
+    <a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>  -- left 
margin of everything on the page
+    <a href="docprocessing.html#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a> -- 
right margin of everything on the page
+    <a href="docprocessing.html#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a>  -- 
document's base line length
+    <a href="docprocessing.html#DOC_FAMILY">DOC_FAMILY</a>       -- document's 
base family
+    <a href="docprocessing.html#DOC_PT_SIZE">DOC_PT_SIZE</a>      -- 
document's base point size
+    <a href="docprocessing.html#DOC_LEAD">DOC_LEAD</a>         -- document's 
base lead
+    <a href="docprocessing.html#DOC_QUAD">DOC_QUAD</a>         -- document's 
base quad directions
+
+<a name="41">+++ Managing a document's first-page header</a>
+    <a href="docprocessing.html#DOCHEADER">DOCHEADER</a>       -- document 
first-page header on or off
+     <a href="docprocessing.html#DOCHEADER_CONTROL_INDEX">Control macros</a> 
-- change default style of docheader elements
+
+<a name="42">+++ Managing page headers and footers</a>
+    <a href="headfootpage.html#HEADERS">HEADERS</a>             -- turn page 
headers on or off
+    <a href="headfootpage.html#FOOTERS">FOOTERS</a>             -- turn page 
footers on or off
+    <a href="headfootpage.html#HEADERS_AND_FOOTERS">HEADERS_AND_FOOTERS</a> -- 
enable or disable generation of both headers and footers
+     <a href="headfootpage.html#INDEX_REFERENCE">Header/footer control 
macros</a>
+      <a href="STRINGS">Strings</a>            -- left-right-center strings
+      <a href="STYLE">Style</a>              -- change style defaults for 
headers and/or footers
+      <a href="GLOBAL">Global</a>             -- global style changes
+      <a href="PART_BY_PART">Part-by-part</a>       -- part-by-part style 
changes
+      <a href="VERTICAL">Vertical placement</a> -- vertical location of 
headers and/or footers
+      <a href="SEPARATOR_RULE">Separator rule</a>     -- manage the 
header/footer separator rule
+
+<a name="43">+++ Recto/verso page headers and footers</a>
+    <a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>    -- turn 
recto/verso headers and/or footers on or off
+    <a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> -- switch recto 
or verso header
+    <a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_FOOTERS</a> -- switch recto 
or verso footer
+    <a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_RECTO</a>   -- string 
that constitutes a recto header
+    <a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_VERSO</a>   -- string 
that constitutes a verso header
+    <a href="headfootpage.html#HDRFTR_RECTOVERSO">FOOTER_RECTO</a>   -- string 
that constitutes a recto footer
+    <a href="headfootpage.html#HDRFTR_RECTOVERSO">FOOTER_VERSO</a>   -- string 
that constitutes a recto footer
+
+<a name="44">+++ Pagination</a>
+    <a href="headfootpage.html#PAGINATE">PAGINATE</a>                -- 
pagination on or off
+     <a href="headfootpage.html#PAGINATE_CONTROL">Control macros</a>         
-- change default style for pagination
+      <a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>            -- 
user-defined (starting) page number
+      <a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>         -- 
digits, roman numerals, etc
+      <a 
href="headfootpage.html#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a> -- 
when footers are enabled
+      <a 
href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- 
attach draft/revision information to page numbers
+
+<a name="45">+++ Document and section cover (title) pages</a>
+    <a href="cover.html#COVER">COVER</a>          -- information to include in 
a section cover
+    <a href="cover.html#COVER">DOC_COVER</a>      -- information to include in 
a document cover
+    <a href="cover.html#ON_OFF">COVERS</a>         -- turn printing of section 
covers on or off
+    <a href="cover.html#ON_OFF">DOC_COVERS</a>     -- turn printing of 
document covers on or off
+    <a href="cover.html#COVER_CONTROL_INDEX">Control macros</a> -- change 
style defaults for covers
+
+<a name="46">+++ Utilities</a>
+    <a href="docelement.html#BLANK_PAGE">BLANKPAGE</a>       -- output one or 
more blank pages
+    <a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> -- adjust 
document linespacing (lead) to fill pages
+    <a href="rectoverso.html#COLLATE">COLLATE</a>         -- join documents or 
chapters of a document together
+    <a href="docprocessing.html#SHIM">SHIM</a>            -- move vertical 
position to nearest next valid baseline
+</pre>
+
+<hr/>
+
+<p>
+<a href="appendices.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="typemacdoc.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: rectoverso.html
===================================================================
RCS file: rectoverso.html
diff -N rectoverso.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ rectoverso.html     1 Aug 2006 01:14:08 -0000       1.8
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Document Processing, Recto/verso printing</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="cover.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="headfootpage.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="RECTOVERSO"><h1 align="center"><u>Recto/verso printing, 
collating</u></h1></a>
+
+<a name="INDEX_RECTOVERSO"></a>
+
+<ul>
+    <li><a href="#RECTOVERSO_INTRO">Introduction to recto/verso</a></li>
+    <ul>
+        <li><a href="#RECTOVERSO_LIST">Macro list</a></li>
+    </ul>
+    <li><a href="#COLLATE_INTRO">Introduction to collating</a></li>
+    <ul>
+        <li><a href="#COLLATE">The COLLATE macro</a></li>
+    </ul>
+</ul>
+
+<a name="RECTOVERSO_INTRO"><h2><u>Introduction to recto/verso</u></h2></a>
+
+<p>
+Recto/verso printing allows you to set up a <strong>mom</strong>
+document in such a way that it can be printed on both sides of a
+printer sheet and subsequently bound.
+</p>
+
+<p>
+With recto/verso, <strong>mom</strong> automatically takes control
+of the following aspects of alternating page layout:
+</p>
+
+<ul>
+    <li>switching left and right margins (if they're not equal)</li>
+    <li>switching the left and right parts of the default 3-part
+        <a href="definitions.html#TERMS_HEADER">headers</a>
+        or
+        <a href="definitions.html#TERMS_FOOTER">footers</a>
+        (see the
+        <a href="headfootpage.html#DESCRIPTION_GENERAL">General description of 
headers</a>)
+    </li>
+    <li>switching
+        <a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_RECTO</a>
+        and
+        <a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_VERSO</a>
+        if user-defined, single string recto/verso headers
+        or footers are used in place of the default 3-part
+        headers or footers
+    </li>
+    <li>switching the page number position (if page numbers are not 
centred)</li>
+</ul>
+
+<p>
+It is beyond the scope of this documentation to cover the different
+ways in which you can make your printer print on both sides of a sheet.
+A simple but effective method for those of us with &quot;dumb&quot;
+printers is to open the document (after it's been processed into
+PostScript by groff &mdash; see
+<a href="using.html#USING_INVOKING">How to invoke groff with mom</a>)
+in <strong>gv</strong> (ghostview), click the &quot;odd pages&quot;
+icon, then click &quot;Print Marked&quot;.  After printing
+is complete, rearrange the sheets appropriately, put them
+back in your printer, and have <strong>gv</strong> print the
+&quot;even pages&quot;.  If you prefer to work from the command
+line, check out the man pages for <strong>pstops</strong> and
+<strong>psbook</strong>.  There are other programs out there as well
+to help with two-sided printing.
+</p>
+
+<a name="RECTOVERSO_LIST"><h3><u>Recto/verso macros list</u></h3></a>
+
+<ul>
+    <li><a href="#RECTO_VERSO">RECTO_VERSO</a></li>
+    <li><a href="#SWITCH_HDRFTR">SWITCH_HEADERS (also FOOTERS)</a>
+        &mdash; switch position of the header parts (left and right)
+    </li>
+</ul>
+
+<!-- -RECTO_VERSO- -->
+
+<hr align="left" width="66%"/>
+
+<a name="RECTO_VERSO"></a>
+
+<p>
+Macro: <strong>RECTO_VERSO</strong>
+</p>
+
+<p>
+If you want <strong>mom</strong> to set up alternating pages for
+recto/verso printing, simply invoke <strong>RECTO_VERSO</strong>
+with no argument.
+</p>
+
+<p>
+<strong>NOTE:</strong> Recto/verso always switches the left and
+right parts of
+<a href="definitions.html#TERMS_HEADER">headers</a>
+or
+<a href="definitions.html#TERMS_FOOTER">footers</a>
+on odd/even pages.  However, it only switches the left and right
+margins if the margins aren't equal.  Consequently, it is your
+responsibility to set the appropriate differing left and right
+margins with
+<a href="typesetting.html#L_MARGIN">L_MARGIN</a>
+and
+<a href="typesetting.html#R_MARGIN">R_MARGIN</a>
+(prior to
+<a href="docprocessing.html#START">START</a>)
+or with
+<a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
+and
+<a href="docprocessing.html#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
+(before or after <strong>START</strong>).
+</p>
+
+<p>
+Equally, recto/verso only switches the page number position if page
+numbers aren't centred, which means you have to set the page number
+position with
+<a href="headfootpage.html#PAGENUM_POS">PAGENUM_POS</a>
+(before or after <strong>START</strong>).
+</p>
+
+<!-- -SWITCH_HDRFTR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SWITCH_HDRFTR"></a>
+
+<p>
+Macro: <strong>SWITCH_HEADERS</strong>
+</p>
+
+<p>
+<strong>SWITCH_HEADERS</strong> switches the location of the
+header left string (by default, the author) and the header right
+string (by default, the document title).  If you don't like
+<strong>mom</strong>'s default placement of author and title, use
+<strong>SWITCH_HEADERS</strong> to reverse it.
+</p>
+
+<p>
+<strong>SWITCH_HEADERS</strong> can also be useful in conjunction
+with
+<a href="#RECTO_VERSO">RECTO_VERSO</a>.
+The assumption of <strong>RECTO_VERSO</strong> is that the first
+page of a document (recto/odd) represents the norm for header-left
+and header-right, meaning that the second (and all subsequent even)
+page(s) of the document exchange header-left and header-right.
+</p>
+
+<p>
+If <strong>mom</strong>'s behaviour in this matter is not what you
+want, simply invoke <strong>SWITCH_HEADERS</strong> on the first
+page of your recto/verso document to reverse her default treatment
+of header parts.  The remainder of your document (with respect to
+headers) will come out as you want.
+</p>
+
+<hr/>
+
+<!-- ===================================================================== -->
+
+<a name="COLLATE_INTRO"><h2><u>Introduction to collating</u></h2></a>
+
+<p>
+The macro <strong>COLLATE</strong> lets you join documents together.
+Primarily, it's a convenience for printing long documents that
+comprise several chapters, although it could be used for any
+document type (except <strong>LETTER</strong>).
+</p>
+
+<p>
+Personally, I prefer to keep chapters in separate files and print
+them out as needed.  However, that means keeping track of the correct
+starting page number for each chapter, a problem circumvented by the
+use of <strong>COLLATE</strong>.
+</p>
+
+<p>
+When collating chapters, you need only put <kbd>.COLLATE</kbd> at
+the end of a chapter, follow it with any
+<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>
+needed for the new chapter, e.g.
+<a href="docprocessing.html#CHAPTER">CHAPTER</a>
+or
+<a href="docprocessing.html#CHAPTER_STRING">CHAPTER_STRING</a>,
+make any pertinent style changes to the document (unlikely, but
+possible), and re-invoke the
+<a href="docprocessing.html#START">START</a>
+macro.  Your new chapter will begin on a fresh page and behave
+as expected.
+</p>
+
+<p>
+<strong>COLLATE</strong> assumes you are collating documents/files
+with similar type-style parameters hence there's no need for
+<strong>PRINTSTYLE</strong> to appear after <strong>COLLATE</strong>,
+although if you're collating documents that were created as separate
+files, chances are the <strong>PRINTSTYLE</strong>'s already there.
+</p>
+
+<a name="CAUTION"></a>
+
+<p>
+<strong><u>Two words of caution:</u></strong>
+
+<ol>
+    <li>Do not collate documents of differing
+        <strong>PRINTSTYLES</strong> (i.e. don't try to
+        collate a TYPESET document and TYPEWRITE document).
+    </li>
+    <li>Use <kbd>.DOC_FAMILY</kbd> instead of
+        <kbd>.FAMILY</kbd> if, for some reason, you want to
+        change the family of all the document elements after
+        <kbd>.COLLATE</kbd>. <kbd>.FAMILY</kbd>, by itself, will
+        change the family of paragraph text only.
+    </li>
+</ol>
+</p>
+
+<!-- -COLLATE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="COLLATE"></a>
+
+<p>
+Macro: <strong>COLLATE</strong>
+</p>
+
+<p>
+The most basic (and most likely) collating situation looks like
+this:
+
+<pre>
+    .COLLATE
+    .CHAPTER 17
+    .START
+</pre>
+</p>
+
+<p>
+A slightly more complex version of the same thing, for chapters
+that require their own titles, looks like this:
+
+<pre>
+    .COLLATE
+    .CHAPTER_TITLE "Geek Fatigue: Symptoms and Causes"
+    .START
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> See the
+<a href="#CAUTION">two words of caution</a>,
+above.
+</p>
+
+<hr/>
+
+<p>
+<a href="cover.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="headfootpage.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: refer.html
===================================================================
RCS file: refer.html
diff -N refer.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ refer.html  1 Aug 2006 01:14:08 -0000       1.4
@@ -0,0 +1,1801 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Bibliographies and References</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<a href="letters.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="cover.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+
+<h1 align="center"><a name="REF_INTRO"><u>Bibliographies and 
references</u></a></h1>
+
+<a href="#INTRO_REF">Introduction to bibliographies and references</a>
+<br/>
+
+<a href="#TUTORIAL_REF">Tutorial</a>
+
+<ul>
+    <li><a href="#DB_REF">Creating a <strong>refer</strong> database</a></li>
+    <li><a href="#RCOMMANDS_REF">Required <strong>refer</strong> 
commands</a></li>
+    <li><a href="#ACCESSING_REF">Accessing references</a></li>
+    <li><a href="#WHERE_REF">Telling mom where to put references</a></li>
+    <li><a href="#BIBLIO_REF">Creating bibliography pages</a></li>
+    <li><a href="#INVOKING_REF">Invoking <strong>groff</strong> with 
<strong>mom</strong> and <strong>refer</strong></a></li>
+</ul>
+
+<a href="#MACROS_REF">Index of bibliography and reference macros</a>
+<ul>
+    <li><a href="#BIBLIO_CONTROL">Bibliography page style control 
macros</a></li>
+</ul>
+
+<a name="INTRO_REF"><h2><u>Introduction to bibliographies and 
references</u></h2></a>
+
+<p>
+<strong>Mom</strong> provides the ability to automatically format
+and generate bibliography pages, as well as footnote or endnote
+bibliographic references, or references embedded in text.  She
+accomplishes this by working in conjunction with a special
+<strong>groff</strong> program called &quot;refer&quot;.
+</p>
+
+<p>
+<strong>refer</strong> is a <strong>groff</strong>
+&quot;pre-processor&quot;, which is to say that it scans your files
+looking for very specific commands (i.e. lines that begin with a
+period [dot], just like macros and document element tags).  If
+the commands aren't there, <strong>refer</strong> can't do it's
+job, and neither can <strong>mom</strong>.  The scanning is done
+<strong>before</strong> any actual <strong>mom</strong> processing
+occurs.
+</p>
+
+<p>
+<strong>refer</strong> is a program that's been around for
+a long time.  It's powerful and has many, many features.
+Unfortunately, the manpage <nobr>(<kbd>man refer</kbd>),</nobr>
+while complete and accurate, is dense and not a good introduction
+to <strong>refer</strong>.  (It's a classic manpage Catch-22: the
+documentation is useful only after you already understand it.)
+</p>
+
+<p>
+In order to get <strong>mom</strong> users up and running with
+<strong>refer</strong>, this section of <strong>mom</strong>'s
+documentation focuses exclusively, in a recipe-like manner, on
+what you need to know to use <strong>refer</strong> satisfactorily
+in conjunction with <strong>mom</strong>.  The information and
+instructions are <strong><em><u>not</u></em></strong> to be taken as
+a manual or tutorial on full <strong>refer</strong> usage.  Much has
+been left out, on purpose.
+</p>
+
+<p>
+It is tempting to provide two levels of documentation, one for
+users familiar with <strong>refer</strong> and one for newcomers
+to <strong>groff</strong> and <strong>mom</strong>, but such an
+approach may muddy the waters for newcomers. <strong>Mom</strong>'s
+allegiance, first and foremost, is to newcomers.  If you're already
+a <strong>refer</strong> user, the information herein will be useful
+for adapting your current <strong>refer</strong> usage to
+<strong>mom</strong>'s way of doing things.  If you've never used
+<strong>refer</strong>, the information is essential, and, in many
+cases, may be all you need.
+</p>
+
+<p>
+(For the benefit of old groff-hands: <strong>refer</strong>
+support in <strong>mom</strong> is heavily based on the
+<strong>refer</strong> module of the &quot;ms&quot; macros.  The
+choice was deliberate so that those wishing to play around with
+<strong>mom</strong>'s bibliography formatting style would be
+tinkering with the familiar.)
+</p>
+
+<p>
+<strong>refer</strong> requires first that you create a
+bibliographic database.  From the information contained in the
+database, <strong>mom</strong> formats and generates bibliographies
+and references in MLA (Modern Language Association) style.  MLA
+style is clean, contemporary and flexible, and is widely used in the
+humanities, where the range of material that has to be referenced
+can run from simple books to live interviews and film.
+</p>
+
+<p>
+Once you have created your database, you instruct
+<strong>refer</strong> (and <strong>mom</strong>) to access entries
+in it by supplying keywords from the entries.  Depending on what
+you've instructed <strong>mom</strong> to do, she will put the
+entries &mdash; fully and properly formatted with respect to order,
+punctuation and italicization &mdash; in footnotes, endnotes, or a
+full bibliography.
+</p>
+
+<p>
+I encourage anyone interested in what MLA style looks like &mdash;
+and, by extension, how your bibliographies and references will look
+after <strong>mom</strong> formats them &mdash; to check out
+
+<pre>
+    http://www.aresearchguide.com/12biblio.html
+</pre>
+
+or any other website or reference book on MLA style.
+</p>
+
+<p>
+<strong>NOTE:</strong> MLA style requires that second and subsequent
+lines of individual references be indented. <strong>Mom</strong>
+takes care of this for you with a default indent, which can be
+changed with the macro
+<a href="#INDENT_REFS">INDENT_REFS</a>.
+</p>
+
+<hr align="left" width="66%"/>
+
+<a name="TUTORIAL_REF"><h2><u>Tutorial</u></h2></a>
+
+<ol>
+    <li><a href="#DB_REF">Creating a refer database</a></li>
+    <li><a href="#RCOMMANDS_REF">Required "refer" commands</a></li>
+    <li><a href="#ACCESSING_REF">Accessing references</a></li>
+    <li><a href="#WHERE_REF">Telling mom where to put references</a></li>
+    <li><a href="#BIBLIO_REF">Creating bibliography pages</a></li>
+    <li><a href="#INVOKING_REF">Invoking groff with mom and refer</a></li>
+</ol>
+
+<a name="DB_REF"><h3><u>1. Creating a refer database</u></h3></a>
+
+<p>
+The first step in using <strong>refer</strong> with
+<strong>mom</strong> is setting up your bibliographic database.  The
+database is a file containing separate entries for each reference
+you want to access from your <strong>mom</strong> files.  The file
+is <em>not</em> a &quot; file&quot;; it is a separate database.  You
+may set up individual databases for individual documents, or create
+a large database that contains all the references you'll ever need.
+</p>
+
+<p>
+Entries (&quot;records&quot;) in the database file are separated
+from each other by a single, blank line.  The records themselves
+are composed of single lines (&quot;fields&quot;) with no blank
+lines between them.  Each field begins with a percent sign
+and a single letter (the &quot;field identifier&quot;) e.g.
+<kbd>%A</kbd> or <kbd>%T</kbd>.  The letter identifies what part
+of a bibliographic entry the field refers to: Author, Title,
+Publisher, Date, etc.  After the field identifier comes a single
+space, followed by the information appropriate to field.  No
+punctuation should go at the ends of fields; <strong>mom</strong>
+adds what's correct automatically.  Do note, however, that author(s)
+<nobr>(<kbd>%A</kbd>)</nobr> requires that you enter the author
+information exactly as you wish it to come out (minus the period),
+including the comma after the first author's last name.
+</p>
+
+<p>
+Here's a sample database containing two records so you can
+visualize what the above paragraph says:
+
+<pre>
+%A Schweitzer, Albert
+%A C.M. Widor
+%T J.S. Bach
+%l Ernest Newman
+%V Vol 2
+%C London
+%I Adam and Charles Black
+%D 1923
+%O 2 vols
+%K bach vol 2
+
+%A Schaffter, Peter
+%T The Schumann Proof
+%C Toronto
+%I RendezVous Press
+%D 2004
+%K schumann schaffter
+</pre>
+</p>
+
+<p>
+The order in which you enter fields doesn't matter.
+<strong>mom</strong> and <strong>refer</strong> will re-arrange them
+in the correct order for you.
+</p>
+
+<p>
+The meaning of the letters follows.  There are, with
+<strong>refer</strong>, quite a few &mdash; all uppercase
+&mdash; which have, over time, come to be &quot;standard&quot;.
+<strong>Mom</strong> respects these.  However, she adds to the list
+(mostly the lowercase letters).
+</p>
+
+<pre>
+    %A Author           &mdash; additional authors may be entered on separate 
%A
+                           lines as in first entry of the sample, above; mom 
+                           and refer will figure out what to do with multiple
+                           authors according to MLA rules
+    %T Title            &mdash; either the primary title (e.g. of a book), or 
the
+                           title of an article (e.g. within a book or
+                           journal or magazine)
+    %B Book title       &mdash; the title of a book when %T contains the title
+                           of an article; otherwise, use %T for book
+                           titles
+    %R Report number    &mdash; for technical reports
+    %J Journal name     &mdash; the name of a journal or magazine when %T
+                           contains the title of an article
+    %E Editor           &mdash; additional editors may be entered on separate 
%E
+                           lines (like authors); mom and refer will figure
+                           out what to do with them according to MLA rules
+    %e Edition          &mdash; the number of name of a specific edition
+                           (e.g. Second, 2nd, Collector's, etc.)
+    %V Volume           &mdash; volume number of a journal or series of books
+    %N Journal number   &mdash; journal or magazine number
+    %S Series           &mdash; series name for books or journals that are 
part of
+                           a series
+    %C City             &mdash; the city of publication
+    %I Publisher        &mdash; the publisher; %I stands for "Issuer"
+    %D Publication date
+    %P Page number(s)   &mdash; enter page ranges as, e.g., 22-25
+    %G Gov't.
+       ordering number  &mdash; for government publications
+    %O Other            &mdash; additional information or comments you want
+                           to appear at the end of the reference
+    %K Keywords         &mdash; any words that will clear up ambiguities
+                           resulting from database entries that
+                           contain, say, the same author or the
+                           same title
+    %d original
+       publication date &mdash; if different from the date
+                                       of publication
+    %a additions        &mdash; for books, any additions to the original work,
+                           such as the preface to a new edition or a new
+                           introduction
+    %t reprint title    &mdash; if different from a work's original title
+    %l translator       &mdash; if the translator is not the editor; if more
+                            than one translator, this field should contain
+                            all the names, with appropriate punctuation
+    %r translator
+       and editor       &mdash; if tr. and ed. are one in the same;
+    %s site name        &mdash; for web sites, the site name
+    %c content
+       of site          &mdash; for web sites, the content, if unclear
+                           (i.e. advertisement, cartoon, blog)
+    %o organization     &mdash; for web sites, the organization, group or
+                           sponsor of the site
+    %a access date      &mdash; for a website, the date you accessed it
+    %u URL              &mdash; for websites, the full URL of the site
+</pre>
+
+<a name="REF_DISC_HY"></a>
+
+<p>
+<strong>Tip:</strong> If you have hyphenation turned on in your
+document (you probably do), <strong>mom</strong> will hyphenate
+your references.  This can be a problem because references
+typically contain several proper names.  Proper names shouldn't be
+hyphenated.  The solution is to prepend to any proper name in the
+database the <strong>groff</strong>
+<a href="definitions.html#TERMS_DISCRETIONARYHYPHEN">discretionary hyphen</a>
+character, <kbd>\%</kbd>, like this:
+
+<pre>
+    %A Hill, \%Reginald
+</pre>
+</p>
+
+<p>
+Alternatively, you can turn hyphenation off entirely in
+references with the macro,
+<a href="#HYPHENATE_REFS">HYPHENATE_REFS</a> <kbd>OFF</kbd>.
+</p>
+
+<a name="RCOMMANDS_REF"><h3><u>2. Required &quot;refer&quot; 
commands</u></h3></a>
+
+<p>
+Having set up your database, you now need to put some
+<strong>refer</strong>-specific commands at the top of your
+<strong>mom</strong> file.  You cannot skip this step, nor can you
+&quot;source&quot; these commands with the <strong>groff</strong>
+<a href="definitions.html#TERMS_PRIMITIVES">primitive</a>,
+<kbd>.so</kbd> or the <strong>mom</strong> macro,
+<a href="docprocessing.html#INCLUDE">INCLUDE</a>.
+They <strong><em>must</em></strong> appear, exactly as shown, in
+every file requiring bibliographic references.
+</p>
+
+<p>
+<strong>refer</strong> commands are introduced with a single
+line containing <kbd>.R1</kbd>, and concluded with a single line
+containing <kbd>.R2</kbd>.  What you put between the <kbd>.R1</kbd>
+and <kbd>.R2</kbd> lines are the commands themselves.  The commands
+should be entered one per line, in lowercase letters, <em><u>with
+no initial period (dot)</u></em>.
+</p>
+
+<p>
+Here's an example:
+
+<pre>
+    .R1
+    no-label-in-text
+    no-label-in-reference
+    .R2
+</pre>
+</p>
+
+<p>
+There are an awful lot of <strong>refer</strong> commands.  We will
+focus only on those required to get <strong>mom</strong> cooperating
+with <strong>refer</strong>.  If you're interested, study the
+<strong>refer</strong> manpage to discover what other commands are
+available and how to manipulate them.
+</p>
+
+<p>
+At a minimum, all <strong>mom</strong> files accessing
+a bibliographic database must contain the following
+<strong>refer</strong> commands, exactly as shown:
+
+<a name="REFER_BLOCK1"></a>
+
+<pre>
+.R1
+no-label-in-text
+no-label-in-reference
+join-authors &quot;, and &quot; &quot;, &quot; &quot;, and &quot;
+database &lt;full path to the database&gt;
+.R2
+</pre>
+</p>
+
+<p>
+The first two commands tell <strong>refer</strong> to let
+<strong>mom</strong> handle everything associated with footnote
+and endnote markers, both in the body of the document, and in the
+footnotes/endnotes themselves.
+</p>
+
+<p>
+The third command is required for <strong>mom</strong> to handle
+multiple authors in proper, MLA style.
+</p>
+
+<p>
+The last command, <kbd>database</kbd>, assumes you have created
+your own database, and do not otherwise have a system-wide
+&quot;default&quot; database. &quot;...full path to the
+database&quot; means the full path <em>including</em> the database
+filename, e.g. <nobr><kbd>/home/user/refer/my_database.</kbd></nobr>
+</p>
+
+<p> If you're already a <strong>refer</strong> user, feel free to
+enter whatever <strong>refer</strong> commands are necessary to
+access the database(s) you want.
+</p>
+
+<p>
+With the above <strong>refer</strong> block, you can embed
+references directly into the text of your document, or have them
+output as footnotes or endnotes.  If you want to &quot;collect&quot;
+references for later output on a bibliography page, the block must
+read:
+
+<pre>
+.R1
+no-label-in-text
+no-label-in-reference
+join-authors ", and " ", " ", and "
+database &lt;full path to the database&gt;
+sort
+accumulate
+.R2
+</pre>
+</p>
+
+<a name="ACCESSING_REF"><h3><u>3. Accessing references</u></h3></a>
+
+<p>
+References are accessed by putting keywords, all on one line,
+between the <strong>refer</strong> commands <kbd>.[</kbd> and
+<kbd>.]</kbd>.  Both of these commands must appear on separate
+</p>
+
+<pre>
+    .[
+    keyword(s)
+    .]
+</pre>
+lines, by themselves, like this:
+
+<p>
+Keywords are any word, or set of words, that identify a database
+record (i.e. a reference) unambiguously. (<strong>refer</strong>
+doesn't like ambiguity.)
+</p>
+
+<p>
+If, for example, you want to reference a book by Ray Bradbury,
+and the database contains only one book by Bradbury, a suitable
+keyword would be "Bradbury".  If your database contains several
+books by Bradbury, say, <em>Fahrenheit 451</em> and <em>The Martian
+Chronicles</em>, you could reference them with the keywords, "451"
+and "Martian".  If, in addition to the two books by Bradbury, you
+also had one whose title was <em>The Martian Mission</em>, suitable
+keywords to reference <em>The Martian Chronicles</em> might be:
+
+<pre>
+    .[                or    .[                   or  .[
+    Bradbury Martian        Bradbury Chronicles      Martian Chronicles
+    .]                      .]                       .]
+</pre>
+</p>
+
+<p>
+The database field identifier, <kbd>%K</kbd>, lets you create
+special keywords for references.  This can be very handy if you need
+both a &quot;short&quot; and a &quot;long&quot; reference to the
+same work.  The short reference might be used in footnotes; the long
+one in a bibliography.  Consider the following:
+
+<pre>
+    %A Isherwood, Christopher      %A Isherwood
+    %T Mr. Norris Changes Trains   %T Mr. Norris Changes Trains
+    %d 1935                        %K Nor short
+    %t The Last of Mr. \%Norris
+    %a Intro. Tom Crawford
+    %C New York
+    %I New Directions
+    %D 1945
+    %K Norris
+</pre>
+</p>
+
+<p>
+To access the shorter reference, you'd do
+
+<pre>
+    .[
+    Nor short
+    .]
+</pre>
+</p>
+
+<p>
+To access the longer one, you'd do
+
+<pre>
+    .[
+    Norris
+    .]
+</pre>
+</p>
+
+<a name="WHERE_REF"><h3><u>4. Telling mom where to put references</u></h3></a>
+
+<p>
+<strong>Mom</strong> provides several mechanisms for outputting
+references where you want.
+</p>
+
+<h4><u>Embedding references in the document body</u></h4>
+
+<p>
+References may be embedded in the document body, surrounded by
+parentheses, square brackets, or braces.  Use whichever you prefer,
+following the recipes below.
+
+<pre>
+    Parentheses    Square brackets    Braces
+    -----------    ---------------    ------
+
+    .REF(          .REF[              .REF{
+    .[             .[                 .[
+    keyword(s)     keyword(s)         keyword(s)
+    .]             .]                 .]
+    .REF)          .REF]              .REF}
+</pre>
+</p>
+
+<h4><u>Footnote or endnote references</u></h4>
+
+<p>
+Most times, you'll probably want references in either footnotes or
+endnotes. <strong>Mom</strong> provides a simple mechanism whereby
+you can choose which, or even switch back and forth.  The primary
+tag is
+<a href="#REF">REF</a>, which is used like this:
+
+<pre>
+    .REF
+    .[
+    keyword(s)
+    .]
+    .REF
+</pre>
+</p>
+
+<p>
+<strong>REF</strong> collects references and outputs them
+where you say with the macros,
+<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a>
+or
+<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>.
+Neither <strong>FOOTNOTE_REFS</strong> nor
+<strong>ENDNOTE_REFS</strong> requires an argument.  All they do is
+tell <strong>REF</strong>, whenever it's invoked, where to put the
+references.
+</p>
+
+<p>
+A recipe for footnote references looks like this:
+<pre>
+    .FOOTNOTE_REFS
+    .REF
+    .[
+    keyword(s)
+    .]
+    .REF
+</pre>
+</p>
+
+<p>
+When <strong>FOOTNOTE_REFS</strong> are enabled,
+<strong>REF</strong> behaves identically to
+<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>,
+so please read the
+<a href="docelement.html#FOOTNOTE_NOTE">HYPER IMPORTANT NOTE</a>
+found in the document entry for <strong>FOOTNOTE</strong>.
+</p>
+
+<p>
+The reference between the first and second <strong>REF</strong>
+will be treated as a footnote, as will all subsequent
+<strong>REF</strong> pairs unless you invoke the macro,
+<kbd>.ENDNOTE_REFS</kbd>.
+</p>
+
+<p>
+A recipe for endnote references looks like this:
+
+<pre>
+    .ENDNOTE_REFS
+    .REF
+    .[
+    keyword(s)
+    .]
+    .REF
+</pre>
+</p>
+
+<p>
+The reference between the first and second <strong>REF</strong>
+will be treated as an endnote, as will all subsequent
+<strong>REF</strong> pairs unless you invoke the macro,
+<kbd>.FOOTNOTE_REFS</kbd>.
+</p>
+
+<p>
+When <strong>ENDNOTE_REFS</strong> are enabled, <strong>REF</strong>
+behaves identically to
+<a href="docelement.html#FOOTNOTE">ENDNOTE</a>,
+so please read the
+<a href="docelement.html#ENDNOTE_NOTE">HYPER IMPORTANT NOTE</a>
+found in the document entry for <strong>ENDNOTE</strong>.
+</p>
+
+<p>
+The innate flexibility of this scheme allows you to have both
+footnote references and endnote references in the same document.
+This would be desirable if, say, you wanted &quot;short&quot;
+references in footnotes, and complete references in endnotes.
+</p>
+
+<a name="COLLECTED_REF"><h4><u>Collected references</u></h4></a>
+
+<p>
+Sometimes, you may want to put references in input text near
+sections of text to which they pertain, but not actually want
+them output until later (typically, on a bibliography page).
+<strong>REF</strong> is used for this, too, but you have to make
+sure your <strong>refer</strong> commands block is set up properly.
+The recipe for this is:
+
+<a name="REFER_BLOCK2"></a>
+
+<pre>
+.R1
+no-label-in-text
+no-label-in-reference
+join-authors &quot;, and &quot; &quot;, &quot; &quot;, and &quot;
+database &lt;full path to the database&gt;
+sort
+accumulate
+.R2
+</pre>
+</p>
+
+<p>
+After this set up, and provided you don't issue a
+<kbd>.FOOTNOTE_REFS</kbd> or <kbd>.ENDNOTE_REFS</kbd> command, all
+reference between <strong>REF</strong> pairs will be collected for
+later output.
+</p>
+
+<p>
+As a precaution, <strong>mom</strong> will issue a message
+the first time you call <kbd>.REF</kbd> if neither
+<strong>FOOTNOTE_REFS</strong> nor <strong>ENDNOTE_REFS</strong>
+is in effect.  If collected references are what you want, and you
+have set up your <kbd>.R1 -.R2</kbd> block as above, you may safely
+ignore the message.
+</p>
+
+<p>
+<strong>LIMITATION:</strong> You cannot combine
+&quot;collected&quot; references (plain <strong>REF</strong>)
+with <strong>REF</strong>s that are instructed to go into
+footnotes (with <strong>FOOTNOTE_REFS</strong>) or endnotes (with
+<strong>ENDNOTE_REFS</strong>).  This is a limitation imposed by
+<strong>refer</strong>, not <strong>mom</strong>.
+</p>
+
+<a name="BIBLIO_REF"><h3><u>5. Creating bibliography pages</u></h3></a>
+
+<p>
+Bibliography pages are separate pages, like endnotes, on which
+complete bibliographies are output.  And, like endnotes pages, just
+about every element on them can be designed to your specifications
+with control macros.  (See
+<a href="#BIBLIO_CONTROL_MACROS">Control macros for bibliographies</a>.)
+A bibliography page that uses <strong>mom</strong>'s defaults
+begins with the macro,
+<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a>,
+like this:
+
+<pre>
+    .BIBLIOGRAPHY
+</pre>
+</p>
+
+<p>
+Following <strong>BIBLIOGRAPHY</strong>, you have three choices of
+how to proceed.
+</p>
+
+<p>
+If you have elected to have references collected from within the
+body of a document (see above,
+<a href="#COLLECTED_REF">Collected references</a>, 
+for instructions), which assumes you have a <strong>refer</strong>
+command block like the one
+<a href="#REFER_BLOCK2">here</a>
+at the top of your document, you need only do
+
+<pre>
+    .BIBLIOGRAPHY
+    .[
+    $LIST$
+    .]
+</pre>
+</p>
+
+<p>
+If you want to create the bibliography by hand (which may be the
+case if you've used footnote and/or endnote references throughout
+your document), follow this recipe, which assumes you already have a
+<strong>refer</strong> block like the one
+<a href="#REFER_BLOCK1">here</a>
+at the top of your document:
+
+<pre>
+    .BIBLIOGRAPHY
+    .R1
+    sort
+    accumulate
+    .R2
+    .[          -+
+    keyword(s)   |
+    .]           | &quot;keyword(s)&quot; are keywords identifying the
+    .[           | particular bibliographic reference you want
+    keyword(s)   | from your database.  Order doesn't matter here;
+    .]           | the refer command, sort, takes care of that.
+    .[           |
+    keyword(s)   |
+    .]          -+
+    .[
+    $LIST$
+    .]
+</pre>
+</p>
+
+<p>
+Your final choice is to output your whole database.  Again,
+assuming you have a <strong>refer</strong> block like the one
+<a href="#REFER_BLOCK1">here</a>
+at the top of your file, you need only do:
+
+<pre>
+    .BIBLIOGRAPHY
+    .R1
+    bibliography &lt;full path to database&gt;
+    .R2
+</pre>
+</p>
+
+<p>
+If you haven't put a <strong>refer</strong> block in
+your file already, you can put the whole thing after
+<strong>BIBLIOGRAPHY</strong>, like this:
+
+<pre>
+    .BIBLIOGRAPHY
+    .R1
+    no-label-in-text                       -+
+    no-label-in-reference                   | These are actually optional
+    database &lt;full path to the database&gt;   -+ 
+    join-authors &quot;, and &quot; &quot;, &quot; &quot;, and &quot;
+    bibliography &lt;full path to database&gt;
+    .R2
+</pre>
+</p>
+
+<p>
+Whichever option you choose, <strong>mom</strong> will output a full
+bibliography page, complete with a title (&quot;BIBLIOGRAPHY&quot;
+by default, but that can be changed).
+</p>
+
+<a name="INVOKING_REF"><h3><u>6. Invoking groff with mom and refer</u></h3></a>
+
+<p>
+So, now you've got a document, formatted properly to use references
+processed with <strong>refer</strong>, what do you do to output the
+document?
+</p>
+
+<p>
+It's simple.  Instead of invoking <strong>groff</strong> with just
+the <kbd>-mom</kbd> option, as explained
+<a href="using.html#USING_INVOKING">here</a>,
+invoke groff with the <kbd>-R</kbd> option as well, like this:
+
+<pre>
+    groff -R -mom filename
+</pre>
+</p>
+
+<hr align="left" width="66%"/>
+
+<a name="MACROS_REF"><h3><u>Index of bibliography and reference 
macros</u></h3></a>
+
+<ul>
+    <li><a href="#REF">Tag: REF</a> &mdash; collected, footnote or endnote 
references tag</li>
+    <li><a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a> &mdash; REFs go to 
footnotes</li>
+    <li><a href="#ENDNOTE_REFS">ENDNOTE_REFS</a> &mdash; REFs go to 
endnotes</li>
+    <li><a href="#BRACKET_REFS">REF(</a> &mdash; references embedded in text 
between parentheses</li>
+    <li><a href="#BRACKET_REFS">REF[</a> &mdash; references embedded in text 
between square brackets</li>
+    <li><a href="#BRACKET_REFS">REF{</a> &mdash; references embedded in text 
between braces</li>
+    <li><a href="#INDENT_REFS">INDENT_REFS</a> &mdash; manage the 2nd line 
indent of references</li>
+    <li><a href="#HYPHENATE_REFS">HYPHENATE_REFS</a> &mdash; en/disable 
hyphenation of references</li>
+    <li><a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a> &mdash; begin a bibliography 
page</li>
+    <li><a href="#BIBLIOGRAPHY_TYPE">BIBLIOGRAPHY_TYPE</a> &mdash; plain, or 
numbered list bibliography</li>
+    <li><a href="#BIBLIO_CONTROL">Bibliography page style control 
macros</a></li>
+</ul>
+
+<!-- -REF- -->
+
+<hr width="33%" align="left"/>
+
+<a name="REF"><h4><u>Marking off references for footnotes, endnotes, or 
collection</u></h4></a>
+
+<p>
+Tag: <strong>REF</strong>
+</p>
+
+<p>
+The macro, <strong>REF</strong>, tells <strong>mom</strong>
+that what follows is <strong>refer</strong>-specific, a
+keyword-identified reference from a <strong>refer</strong> database.
+Depending on whether you've issued a
+<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a>
+or
+<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>
+instruction, <strong>REF</strong> also tells <strong>mom</strong>
+where to place the reference.  If <strong>FOOTNOTE_REFS</strong>,
+the reference will be formatted and placed in a footnote.  If
+<strong>ENDNOTE_REFS</strong>, the reference will be collected for
+output as an endnote.  If you have issued neither instruction, the
+reference will be collected for later output, most likely on a
+<a href="#BIBLIOGRAPHY">bibliography page</a>.
+</p>
+
+<p>
+Before you use <strong>REF</strong>, you must create a
+<strong>refer</strong> block containing <strong>refer</strong>
+commands (see
+<a href="#RCOMMANDS_REF">Required refer commands</a>
+in the tutorial, above).
+</p>
+
+<p>
+<strong>REF</strong> usage always looks like this:
+
+<pre>
+    .REF
+    .[
+    keyword(s)
+    .]
+    .REF
+</pre>
+</p>
+
+<p>
+Notice that <strong>REF</strong> &quot;brackets&quot; the
+<strong>refer</strong> call, and never takes an argument.
+</p>
+
+<p>
+What <strong>REF</strong> really is is a convenience.  One could,
+for example, put a reference in a footnote by doing
+
+<pre>
+    .FOOTNOTE
+    .[
+    keyword(s)
+    .]
+    .FOOTNOTE OFF
+</pre>
+</p>
+
+<p>
+However, if you have a lot of references going into footnotes (or
+endnotes), it's much shorter to type <kbd>.REF/.REF</kbd> than
+<kbd>.FOOTNOTE/.FOOTNOTE OFF</kbd>.  It also helps you distinguish
+&mdash; visually, in your input file &mdash; between footnotes (or
+endnotes) which are references, and footnotes (or endnotes) which
+are explanatory, or expand on the text.
+</p>
+
+<p>
+<strong>Additional arguments:</strong> If you're using
+<strong>REF</strong> to put references in footnotes and your
+footnotes need to be indented, you may (indeed, should) pass
+<strong>REF</strong> the same arguments used to indent footnotes.
+See
+<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>.
+</p>
+
+<p>
+<strong>Note:</strong> When <strong>REF</strong> is used with
+<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a>,
+it behaves identically to
+<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>,
+so please read the
+<a href="docelement.html#FOOTNOTE_NOTE">HYPER IMPORTANT NOTE</a>
+found in the document entry for <strong>FOOTNOTE</strong>.
+</p>
+
+<p>
+When <strong>REF</strong> is used with
+<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>,
+it behaves identically to
+<a href="docelement.html#FOOTNOTE">ENDNOTE</a>,
+so please read the
+<a href="docelement.html#ENDNOTE_NOTE">HYPER IMPORTANT NOTE</a>
+found in the document entry for <strong>ENDNOTE</strong>.
+</p>
+
+<!-- -FOOTNOTE_REFS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FOOTNOTE_REFS"><h4><u>Instruct REF to put references in 
footnotes</u></h4></a>
+
+<p>
+Macro: <strong>FOOTNOTE_REFS</strong>
+</p>
+
+<p>
+<strong>FOOTNOTE_REFS</strong> is an instruction to
+<a href="#REF">REF</a>,
+saying, &quot;put all subsequent references bracketed by the
+<strong>REF</strong> macro into footnotes.&quot; You invoke it by
+itself, with no argument.
+</p>
+
+<p>
+When <strong>FOOTNOTE_REFS</strong> is in effect, regular footnotes,
+(i.e. those introduced with <kbd>.FOOTNOTE</kbd> and terminated with
+<kbd>.FOOTNOTE OFF</kbd>) continue to behave normally.
+</p>
+
+<p>
+You may switch between <strong>FOOTNOTE_REFS</strong> and
+<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>
+at any time.
+</p>
+
+<p>
+If you have a lot of footnote references, and are identifying
+footnotes by line number rather than by markers in the text, you may
+want to enable
+<a href="docelement.html#FOOTNOTES_RUN_ON">FOOTNOTES_RUN_ON</a>
+in conjunctions with <strong>FOOTNOTE_REFS</strong>.
+</p>
+
+<!-- -ENDNOTE_REFS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="ENDNOTE_REFS"><h4><u>Instruct REF to put references in 
endnotes</u></h4></a>
+
+<p>
+Macro: <strong>ENDNOTE_REFS</strong>
+</p>
+
+<p>
+<strong>ENDNOTE_REFS</strong> is an instruction to
+<a href="#REF">REF</a>,
+saying, &quot;add all subsequent references bracketed by the
+<strong>REF</strong> macro to endnotes.&quot; You invoke it by
+itself, with no argument.
+</p>
+
+<p>
+When <strong>ENDNOTE_REFS</strong> is in effect,
+<strong>mom</strong> continues to format regular endnotes, (i.e.
+those introduced with <kbd>.ENDNOTE</kbd> and terminated with
+<kbd>.ENDNOTE OFF</kbd>) in the normal way.
+</p>
+
+<p>
+You may switch between <strong>ENDNOTE_REFS</strong> and
+<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a>
+at any time.
+</p>
+
+<!-- -BRACKET_REFS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="BRACKET_REFS"><h4><u>References embedded in text</u></h4></a>
+
+<p>
+Macro pair: 
<strong>REF(</strong>&nbsp;&nbsp;...&nbsp;&nbsp;<strong>REF)</strong>
+<br/>
+
+Macro pair: 
<strong>REF[</strong>&nbsp;&nbsp;...&nbsp;&nbsp;<strong>REF]</strong>
+<br/>
+
+Macro pair: 
<strong>REF{</strong>&nbsp;&nbsp;...&nbsp;&nbsp;<strong>REF}</strong>
+</p>
+
+<p>
+You may sometimes want to embed references directly into the body
+of your documents, typically, but not always, inside parentheses.
+<strong>Mom</strong> makes this possible through the use of the
+<strong>REF&lt;bracket&nbsp;type&gt;</strong> macros.
+</p>
+
+<p>
+All three macro pairs, above, are invoked the same way, namely
+by introducing the reference with the first (&quot;open&quot;)
+macro of the <strong>REF&lt;bracket&nbsp;type&gt;</strong>
+pair, and terminating it with the second (&quot;close&quot;)
+<strong>REF&lt;bracket&nbsp;type&gt;</strong> of the pair.  For
+example
+
+<pre>
+    .REF(
+    .[
+    keyword(s)
+    .]
+    .REF)
+</pre>
+
+will embed a reference in the body of your document, surrounded by
+parentheses.  <strong>.REF[</strong>&nbsp;...&nbsp;<strong>.REF]</strong> will
+surround the reference with square brackets.
+<strong>.REF{</strong>&nbsp;...&nbsp;<strong>.REF}</strong> will surround it 
with
+curly braces.
+</p>
+
+<!-- -INDENT_REFS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INDENT_REFS"><h4><u>Manage the second-line indent of 
references</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>INDENT_REFS</strong> <kbd>FOOTNOTE | ENDNOTE | BIBLIO 
&lt;indent&gt; </kbd></nobr>
+<br/>
+
+<em>*&lt;indent&gt; requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+Proper MLA-style references should have their second, and subsequent
+lines, if any, indented.  Since <strong>mom</strong> formats
+references in MLA style, she automatically indents second lines.  By
+default, the indent for the second line of references, regardless
+of whether the references appear in footnotes, endnotes, or
+bibliographies, is 1.5
+<a href="definitions.html#TERMS_EM">ems</a>
+for
+<a href="docprocessing.html#PRINTSTYLE">PRINSTYLE</a>
+<strong>TYPESET</strong>
+and 2 ems for
+<a href="docprocessing.html#PRINTSTYLE">PRINSTYLE</a>
+<strong>TYPEWRITE</strong>.
+</p>
+
+<p>
+If you'd like to change the indent for footnotes, endnotes or
+bibliographies, just invoke <kbd>.INDENT_REFS</kbd> with a
+first argument telling <strong>mom</strong> for which you want the
+indent changed, and a second argument saying what you'd like the
+indent to be.  For example, if you want the second-line indent of
+references on a bibliography page to be 3
+<a href="definitions.html#TERMS_PICAS_POINTS">picas</a>,
+
+<pre>
+    .INDENT_REFS BIBLIO 3P
+</pre>
+
+is how you'd set it up.
+</p>
+
+<p>
+<strong>Tip:</strong> if you are identifying endnotes by line
+number
+<nobr>(<a href="docelement.html#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a> 
<kbd>LINE</kbd>)</nobr>
+and you have instructed <strong>mom</strong> to put references
+bracketed by
+<a href="#REF">REF</a>
+into endnotes (with
+<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>),
+you will probably want to adjust the second-line indent for
+references in endnotes, owing to the way <strong>mom</strong>
+formats line-numbered endnotes.  Study the output of such
+documents to see whether an indent adjustment is required.
+</p>
+
+<!-- -HYPHENATE_REFS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="HYPHENATE_REFS"><h4><u>Enable/disable hyphenation of 
references</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>HYPHENATE_REFS</strong> <kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+If you have hyphenation turned on for a document (see
+<a href="typesetting.html#HY">HY</a>),
+and in most cases you probably do, <strong>mom</strong> will
+hyphenate references bracketed by the
+<a href="#REF">REF</a>
+macro.  Since references typically contain quite a lot of proper
+names, which shouldn't be hyphenated, you may want to disable
+hyphenation for references.
+</p>
+
+<p>
+<strong>HYPHENATE_REFS</strong> is a toggle macro;
+invoking it by itself will turn automatic hyphenation of
+<strong>REF</strong>-bracketed references on (the default).
+Invoking it with any other argument (<strong>OFF</strong>,
+<strong>NO</strong>, <strong>X</strong>, etc.) will disable
+automatic hyphenation for references bracketed by
+<strong>REF</strong>.
+</p>
+
+<p>
+An alternative to turning reference hyphenation off is to prepend
+to selected proper names in your <strong>refer</strong> database
+the <strong>groff</strong>
+<a href="definitions.html#TERMS_DISCRETIONARYHYPHEN">discretionary hyphen</a>
+character, <kbd>\%</kbd>.  (See
+<a href="#REF_DISC_HY">here</a>
+in the tutorial for an example.)
+</p>
+
+<p>
+<strong>Note:</strong> references embedded in the body of a document
+with
+<a href="#BRACKET_REFS">REF</a><strong>&lt;bracket&nbsp;type&gt;</strong>
+are considered part of
+<a href="definitions.html#TERMS_RUNNING">running text</a>,
+and are hyphenated (or not) according to whether hyphenation
+is turned on or off for running text.  Therefore, if you want to
+disable hyphenation for such references, you must do so
+temporarily, with
+<a href="typesetting.html#HY">HY</a>,
+like this:
+
+<pre>
+    .HY OFF
+    .REF(
+    .[
+    keyword(s)
+    .]
+    .REF)
+    .HY
+</pre>
+</p>
+
+<p>
+Alternatively, sprinkle your database fields liberally with
+<kbd>\%</kbd>.
+</p>
+
+<!-- -BIBLIOGRAPHY- -->
+
+<hr width="33%" align="left"/>
+
+<a name="BIBLIOGRAPHY"><h4><u>Begin a bibliography page</u></h4></a>
+
+<p>
+Macro: <strong>BIBLIOGRAPHY</strong>
+</p>
+
+<p>
+If you want to append a bibliography to your document, all you need
+do is invoke <kbd>.BIBLIOGRAPHY</kbd> at the place you want
+it.  <strong>BIBLIOGRAPHY</strong> breaks to a new page, prints the
+title (BIBLIOGRAPHY by default, but that can be changed), and awaits
+<strong>refer</strong> instructions.  How to create bibliographies
+is covered in the tutorial section,
+<a href="#BIBLIO_REF">Creating bibliography pages</a>.
+</p>
+
+<p>
+See the
+<a href="#BIBLIO_CONTROL">Bibliography page style control macros</a>
+for macros to tweak, design and control the appearance of
+bibliography pages.
+</p>
+
+<!-- -BIBLIOGRAPHY_TYPE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="BIBLIOGRAPHY_TYPE"><h4><u>Plain, or numbered list 
bibliography</u></h4></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_TYPE</strong> <kbd>PLAIN | LIST [ &lt;list 
separator&gt; ] [ &lt;list prefix&gt; ]</kbd></nobr>
+</p>
+
+<p>
+<strong>Mom</strong> offers two styles of bibliography output:
+plain, or numbered list style.  With <kbd>PLAIN</kbd>, bibliography
+entries are output with no enumerators.  With <kbd>LIST</kbd>, each
+entry is numbered.
+</p>
+
+<p>
+Entering <kbd>.BIBLIOGRPHY_TYPE PLAIN</kbd> gives you a plain
+bibliography.
+</p>
+
+<p>
+Entering <kbd>.BIBLIOGRAPHY_TYPE LIST</kbd> gives
+you an enumerated bibliography.  The two optional
+arguments, <kbd>&lt;list&nbsp;separator&gt;</kbd> and
+<kbd>&lt;list&nbsp;prefix&gt;</kbd> have the same meaning as the
+equivalent arguments to
+<a href="docelement.html#LIST">LIST</a>
+(i.e. <kbd>&lt;separator&gt;</kbd> and <kbd>&lt;prefix&gt;</kbd>).
+</p>
+
+<p>
+You may enter <kbd>.BIBLIOGRAPHY_TYPE</kbd> either before or
+after <kbd>.BIBLIOGRAPHY</kbd>.  It must, however, always come
+before the <strong>refer</strong> command to output bibliographies.
+(See the tutorial section,
+<a href="#BIBLIO_REF">Creating bibliography pages</a>,
+for instructions on how to output bibliographies.)
+</p>
+
+<p>
+<strong>Mom</strong>'s default <strong>BIBLIOGRAPHY_TYPE</strong>
+is <strong>LIST</strong>, with a period (dot) as the separator, and
+no prefix.
+</p>
+
+<!-- -BIBLIO_CONTROL- -->
+
+<hr width="66%" align="left"/>
+
+<a name="BIBLIO_CONTROL"><h3><u>Bibliography pages style control</u></h3></a> 
+
+<p>
+<strong>Mom</strong> processes bibliography pages in a manner very
+similar to the way she processes endnotes pages.  The bibliography
+page control macros, therefore, behave in the same way as their
+endnotes pages equivalents.
+</p>
+
+<ol>
+    <li><a href="#BIBLIO_GENERAL"><strong>General bibliography pages style 
control</strong></a></li>
+    <ul>
+        <li><a href="#BIBLIO_STYLE">Base family/font/quad for 
bibliographies</a></li>
+        <li><a href="#BIBLIO_PT_SIZE">Base point size for 
bibliographies</a></li>
+        <li><a href="#BIBLIO_LEAD">Leading of bibliographies</a></li>
+        <li><a href="#SINGLESPACE_BIBLIO">Singlespace bibliographies (for 
TYPEWRITE only)</a></li>
+        <li><a href="#BIBLIO_NO_COLUMNS">Turning off column mode during 
bibliography output</a></li>
+        <li>Pagination of bibliographies:</li>
+        <ul>
+            <li><a href="#BIBLIO_PAGENUM_STYLE">Bibliography pages page 
numbering style</a></li>
+            <li><a href="#BIBLIO_FIRST_PAGENUMBER">Setting the first page 
number of bibliography pages</a></li>
+            <li><a href="#BIBLIO_NO_FIRST_PAGENUM">Omitting a page number on 
the first page of bibliographies</a></li>
+        </ul>
+        <li><a href="#SUSPEND_PAGINATION">Suspending pagination of 
bibliographies</a></li>
+    </ul>
+    <li><a href="#BIBLIO_HEADER_CONTROL"><strong>Bibliography pages 
header/footer control</strong></a></li>
+    <ul>
+        <li><a href="#BIBLIO_MODIFY_HDRFTR">Modifying what goes in the 
bibliography pages header/footer</a></li>
+        <li><a href="#BIBLIO_HDRFTR_CENTER">Enabling a header/footer centre 
when doctype is CHAPTER</a></li>
+        <li><a href="#BIBLIO_ALLOWS_HEADERS">Allow headers on bibliography 
pages</a></li>
+    </ul>
+    <li><a href="#BIBLIO_MAIN_TITLE"><strong>Bibliography page head (i.e. the 
title at the top) control</strong></a></li>
+    <ul>
+        <li><a href="#BIBLIO_STRING">Creating/modifying the bibliography page 
head</a></li>
+        <li><a href="#BIBLIO_STRING_CONTROL">Bibliography page head 
control</a></li>
+        <li><a href="#BIBLIO_STRING_UNDERLINE">Bibliography page head 
underlining</a></li>
+        <li><a href="#BIBLIO_STRING_CAPS">Bibliography page head 
capitalization</a></li>
+    </ul>
+</ol>
+
+<hr align="left" width="66%"/>
+
+<a name="BIBLIO_GENERAL"><h4><u>1. General bibliography page style 
control</u></h4></a>
+
+<a name="BIBLIO_STYLE"><h5>*<u>Bibliography family/font/quad</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.BIBLIOGRAPHY_FAMILY    default = prevailing document family; default is Times 
Roman
+.BIBLIOGRAPHY_FONT      default = roman
+.BIBLIOGRAPHY_QUAD*     default = justified
+
+*Note: BIBLIOGRAPHY_QUAD must be set to either L or J
+</pre>
+
+<!-- -BIBLIO_PT_SIZE- -->
+
+<a name="BIBLIO_PT_SIZE"><h5>*<u>Bibliography point size</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_PT_SIZE</strong> <kbd>&lt;base type size of 
bibliography&gt;</kbd></nobr>
+</p>
+
+<p>
+Unlike most other control macros that deal with size of document
+elements, <strong>BIBLIOGRAPHY_PT_SIZE</strong> takes as its
+argument an absolute value, relative to nothing.  Therefore, the
+argument represents the size of bibliography type in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
+unless you append an alternative
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example,
+
+<pre>
+    .BIBLIOGRAPHY_PT_SIZE 12
+</pre>
+
+sets the base point size of type on the bibliography page to 12
+points, whereas
+
+<pre>
+    .BIBLIOGRAPHY_PT_SIZE .6i
+</pre>
+
+sets the base point size of type on the bibliography page to 1/6 of an
+inch.
+</p>
+
+<p>
+The type size set with <strong>BIBLIOGRAPHY_PT_SIZE</strong> is the
+size of type used for the text of the bibliographies, and forms the
+basis from which the point size of other bibliography page elements
+is calculated.
+</p>
+
+<p>
+The default for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+is 12.5 points (the same default size used in the body of the document).
+</p>
+
+<!-- -BIBLIO_LEAD- -->
+
+<a name="BIBLIO_LEAD"><h5>*<u>Bibliography lead</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_LEAD</strong> <kbd>&lt;base leading of 
bibliographies&gt; [ ADJUST ]</kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>; points is assumed</em>
+</p>
+
+<p>
+Unlike most other control macros that deal with leading of document
+elements, <strong>BIBLIOGRAPHY_LEAD</strong> takes as its argument
+an absolute value, relative to nothing.  Therefore, the argument
+represents the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+of endnotes in
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+unless you append an alternative
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+For example,
+
+<pre>
+    .BIBLIOGRAPHY_LEAD 14
+</pre>
+
+sets the base leading of type on the bibliography page to 14
+points, whereas
+</p>
+
+<p>
+<pre>
+    .BIBLIOGRAPHY_LEAD .5i
+</pre>
+
+sets the base leading of type on the bibliography page to 1/2 inch.
+</p>
+
+<p>
+If you want the leading of bibliographies adjusted to fill the page,
+pass <strong>BIBLIOGRAPHY_LEAD</strong> the optional argument,
+<kbd>ADJUST</kbd>.  (See
+<a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a>
+for an explanation of leading adjustment.)
+</p>
+
+<p>
+The default for
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>
+is 14 points, adjusted.
+</p>
+
+<p>
+<strong>NOTE:</strong> Even if you give <strong>mom</strong>
+a <nobr><kbd>.DOC_LEAD_ADJUST OFF</kbd></nobr> command, she
+will still, by default, adjust bibliography leading.  You MUST enter
+<nobr><kbd>BIBLIOGRAPHY_LEAD &lt;lead&gt;</kbd></nobr> with no
+<kbd>ADJUST</kbd> argument to disable this default behaviour.
+</p>
+
+<!-- -SINGLESPACE_BIBLIO- -->
+
+<a name="SINGLESPACE_BIBLIO"><h5>*<u>Singlespace bibliographies (TYPEWRITE 
only)</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>SINGLESPACE_BIBLIOGRAPHY</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+If your 
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
+is <strong>TYPEWRITE</strong> and you use TYPEWRITE's default
+double-spacing, bibliographies are double-spaced.  If your document
+is single-spaced, bibliographies are single-spaced.
+</p>
+
+<p>
+If, for some reason, you'd prefer that bibliographies be single-spaced
+in an otherwise double-spaced document (including double-spaced
+<a href="rectoverso.html#COLLATE">collated</a>
+documents), invoke <kbd>.SINGLESPACE_BIBLIOGRAPHY</kbd> with with no
+argument.
+</p>
+
+<!-- -BIBLIO_SPACING- -->
+
+<a name="BIBLIO_SPACING"><h5>*<u>Adjusting the space between bibliography 
entries</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_SPACING</strong> <kbd>&lt;amount of 
space&gt; </kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+By default, <strong>mom</strong> inserts 1 linespaces between
+bibliography entries on bibliography pages.  If you'd prefer she
+add a different amount of space, instruct her to do so with the
+macro, <strong>BIBLIOGRAPHY_SPACING</strong>.  Say, for example,
+you'd prefer only 1/2 linespace.  That would be done with
+
+<pre>
+    .BIBLIOGRAPHY_SPACING .5v
+</pre>
+</p>
+
+<p>
+As with endnotes pages, owing to the space inserted between
+bibliography entries, bibliography pages may have hanging
+bottom margins.  Unlike endnotes pages, <strong>mom</strong>
+is sad to report that there's nothing you can do about
+this, except a) pray things work out, or b) set your
+<strong>BIBLIOGRAPHY_SPACING</strong> to zero.
+</p>
+
+<!-- -BIBLIO_NO_COLUMNS- -->
+
+<a name="BIBLIO_NO_COLUMNS"><h5>*<u>Turning off column mode during 
bibliography output</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_NO_COLUMNS</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, if your document is
+<a href="docprocessing.html#COLUMNS">set in columns</a>,
+<strong>mom</strong> sets the bibliographies in columns,
+too.  However, if your document is set in columns and
+you'd like the bibliographies not to be, just invoke
+<kbd>.BIBLIOGRAPHY_NO_COLUMNS</kbd> with no argument.  The
+bibliography pages will be set to the full page measure of your
+document.
+</p>
+
+<p>
+If you output bibliographies at the end of each document in a
+<a href="rectoverso.html#COLLATE">collated</a>
+document set in columns, column mode will automatically
+be reinstated for each document, even with
+<strong>BIBLIOGRAPHY_NO_COLUMNS</strong> turned on.
+</p>
+
+<!-- -BIBLIO_PAGENUM_STYLE- -->
+
+<a name="BIBLIO_PAGENUM_STYLE"><h5>*<u>Bibliography-page page numbering 
style</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_PAGENUM_STYLE</strong> <kbd>DIGIT | ROMAN | 
roman | ALPHA | alpha</kbd></nobr>
+</p>
+
+<p>
+Use this macro to set the page numbering style of bibliography
+pages.  The arguments are identical to those for
+<a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>.
+The default is <kbd>digit</kbd>.  You may want to change it to, say,
+<kbd>alpha</kbd>, which you would do with
+
+<pre>
+    .BIBLIOGRAPHY_PAGENUM_STYLE alpha
+</pre>
+</p>
+
+<!-- -BIBLIO_FIRST_PAGENUMBER- -->
+
+<a name="BIBLIO_FIRST_PAGENUMBER"><h5>*<u>Setting the first page number of 
bibliography pages</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBILOGRAPHY_FIRST_PAGENUMBER</strong> <kbd>&lt;page # 
that appears on page 1 of bibliographies&gt;</kbd></nobr>
+</p>
+
+<p>
+Use this macro with caution.  If all bibliographies for several
+<a href="rectoverso.html#COLLATE">collated</a>
+documents are to be output at once, i.e. not at the end of each
+separate doc, <strong>BIBLIOGRAPHY_FIRST_PAGENUMBER</strong> tells
+<strong>mom</strong> what page number to put on the first page of
+the bibliography.
+</p>
+
+<p>
+If you set <strong>BIBLIOGRAPHY_FIRST_PAGENUMBER</strong> in collated
+documents where the bibliographies are output after each separate doc,
+you have to reset every separate document's first page number after
+<a href="rectoverso.html#COLLATE">COLLATE</a>
+and before
+<a href="docprocessing.html#START">START</a>.
+</p>
+
+<!-- -BIBLIO_NO_FIRST_PAGENUN- -->
+
+<a name="BIBLIO_NO_FIRST_PAGENUM"><h5>*<u>Omitting a page number on the first 
page of bibliographies</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_NO_FIRST_PAGENUM</strong> 
<kbd>&lt;toggle&gt;</kbd></nobr>
+</p>
+
+<p>
+This macro is for use only if
+<a href="headfootpage.html#FOOTERS">FOOTERS</a>
+are on.  It tells
+<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a>
+not to print a page number on the first bibliography page.
+<strong>Mom</strong>'s default is to print the page number.
+</p>
+
+<!-- -SUSPEND_PAGINATION- -->
+
+<a name="SUSPEND_PAGINATION"><h5>*<u>Suspending pagination of bibliography 
pages</u></h5></a>
+
+<p>
+Macro: <strong>SUSPEND_PAGINATION</strong>
+<br/>
+
+Macro: <strong>RESTORE_PAGINATION</strong>
+</p>
+
+<p>
+<strong>SUSPEND_PAGINATION</strong> doesn't take an argument.
+Invoked immediately prior to
+<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a>,
+it turns off pagination for the duration of the bibliography.
+<strong>Mom</strong> continues, however to increment page numbers
+silently.
+</p>
+
+<p>
+To restore normal document pagination after bibliographies, invoke
+<kbd>.RESTORE_PAGINATION</kbd> (again, with no argument)
+immediately after you've finished with your bibliography.
+</p>
+
+<a name="BIBLIO_HEADER_CONTROL"><h4><u>2. Bibliography page header/footer 
control</u></h4></a>
+
+<a name="BIBLIO_MODIFY_HDRFTR"></a>
+
+<p>
+If you wish to modify what appears in the header/footer that appears
+on bibliography pages, make the changes before you invoke
+<a href="#BIBLIOGRAPHY"><kbd>.BIBLIOGRAPHY</kbd></a>,
+not afterwards.
+</p>
+
+<p>
+Except in the case of
+<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>,
+<strong>mom</strong> prints the same header or footer used throughout
+the document on bibliography pages.  Chapters get treated differently
+in that, by default, <strong>mom</strong> does not print the
+header/footer centre string (normally the chapter number or chapter
+title.)  In most cases, this is what you want.  However, should you
+<em>not</em> want <strong>mom</strong> to remove the centre string from
+the bibliography pages headers/footers, invoke
+<a 
href="#BIBLIOGRAPHY_HDRFTR_CENTER"><kbd>.BIBLIOGRAPHY_HEADER_CENTER</kbd></a>
+with no argument. 
+</p>
+
+<p>
+An important change you may want to make is to put the word
+&quot;Bibliography&quot; in the header/footer centre position.
+To do so, do
+
+<pre>
+    .HEADER_CENTER "Bibliography"
+               or
+    .FOOTER_CENTER "Bibliography"
+</pre>
+
+prior to invoking <kbd>.BIBLIOGRAPHY</kbd>.  If your
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
+is <kbd>CHAPTER</kbd>, you must also invoke
+<a 
href="#BIBLIOGRAPHY_HDRFTR_CENTER"><kbd>.BIBLIOGRAPHY_HEADER_CENTER</kbd></a>
+for the <strong>HEADER_CENTER</strong> to appear.
+</p>
+
+<a name="BIBLIO_HDRFTR_CENTER"><h5>*<u>Bibliography page header/footer centre 
string</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_HEADER_CENTER</strong> 
<kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+If your
+<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
+is <kbd>CHAPTER</kbd> and you want <strong>mom</strong> to include
+a centre string in the headers/footers that appear on bibliography
+pages, invoke <kbd>.BIBLIOGRAPHY_HEADER_CENTER</kbd> (or
+<kbd>.BIBLIOGRAPHY_FOOTER_CENTER</kbd>) with no argument.
+<strong>Mom</strong>'s default is NOT to print the centre string.
+</p>
+
+<p>
+If, for some reason, having enabled the header/footer centre string
+on bibliography pages, you wish to disable it, invoke the same macro
+with any argument (<strong>OFF, QUIT, Q, X</strong>...).
+</p>
+
+<a name="BIBLIO_ALLOWS_HEADERS"><h5>*<u>Allow headers on bibliography 
pages</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_ALLOWS_HEADERS</strong> <kbd>&lt;none&gt; | 
ALL</kbd></nobr>
+</p>
+
+<p>
+By default, if <strong>HEADERS</strong> are on, <strong>mom</strong>
+prints page headers on all bibliography pages except the first.  If you
+don't want her to print headers on bibliography pages, do
+
+<pre>
+    .BIBLIOGRAPHY_ALLOWS_HEADERS OFF
+</pre>
+</p>
+
+<p>
+If you want headers on every page <em>including the first</em>, do
+
+<pre>
+    .BIBLIOGRAPHY_ALLOWS_HEADERS ALL
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> If <strong>FOOTERS</strong> are on,
+<strong>mom</strong> prints footers on every bibliography page.  This is
+a style convention.  In <strong>mom</strong>, there is no such beast
+as <strong>BIBLIOGRAPHY_ALLOWS_FOOTERS OFF</strong>.
+</p>
+
+<a name="BIBLIO_MAIN_TITLE"><h4><u>3. Bibliography page first page head 
(title) control</u></h4></a>
+
+<!-- -BIBLIO_STRING- -->
+
+<a name="BIBLIO_STRING"><h5>*<u>Bibliography pages first page head (title) 
string</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_STRING</strong> <kbd>&quot;&lt;head to print 
at the top of bibliography pages&gt;&quot;</kbd></nobr>
+</p>
+
+<p>
+By default, <strong>mom</strong> prints the word
+&quot;BIBLIOGRAPHY&quot; as a head at the top of the first page
+of a bibliography.  If you want her to print something else,
+invoke <kbd>.BIBLIOGRAPHY_STRING</kbd> with the bibliography
+page head you want, surrounded by double-quotes.  If you don't
+want a head at the top of the first bibliography page, invoke
+<kbd>.BIBLIOGRAPHY_STRING</kbd> with a blank argument (either two
+double-quotes side by side &mdash; <kbd>&quot;&quot;</kbd> &mdash;
+or no argument at all).
+</p>
+
+<!-- -BIBLIO_STRING_CONTROL- -->
+
+<a name="BIBLIO_STRING_CONTROL"><h5>*<u>Bibliography page first page head 
(title) control</u></h5></a>
+
+<p>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+</p>
+
+<pre>
+.BIBLIOGRAPHY_STRING_FAMILY    default = prevailing document family; default 
is Times Roman
+.BIBLIOGRAPHY_STRING_FONT      default = bold
+.BIBLIOGRAPHY_STRING_SIZE*     default = +1
+.BIBLIOGRAPHY_STRING_QUAD      default = centred
+
+*Relative to the size of the bibliography text (set with BIBLIOGRAPHY_PT_SIZE)
+</pre>
+
+<!-- -BIBLIO_STRING_UNDERLINE- -->
+
+<a name="BIBLIO_STRING_UNDERLINE"><h5>*<u>Bibliography-page head (title) 
underlining</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_STRING_UNDERLINE</strong> <kbd>[DOUBLE] 
[&lt;underline weight&gt; [&lt;underline gap&gt; [&lt;distance between double 
rules]]] | &lt;none&gt; | &lt;anything&gt;</kbd></nobr>
+<br/>
+
+Alias: <strong>BIBLIOGRAPHY_STRING_UNDERSCORE</strong>
+<br/>
+
+<em>*The argument</em> <kbd>&lt;underline weight&gt;</kbd> <em>must</em> NOT 
<em>have the</em> <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a>, <kbd>p</kbd>, <em>appended to it</em>
+</p>
+
+<p>
+Invoked without an argument, <kbd>.BIBLIOGRAPHY_STRING_UNDERLINE</kbd>
+will place a single rule underneath the bibliography-page head.  Invoked
+with the argument <kbd>DOUBLE</kbd>,
+<strong>BIBLIOGRAPHY_STRING_UNDERLINE</strong> will double-underline
+the head.  Invoked with any other non-numeric argument, (e.g.
+<strong>OFF</strong>, <strong>NO</strong>, <strong>X</strong>, etc.)
+the macro disables underlining of the head.
+</p>
+
+<p>
+In addition, you can use <strong>BIBLIOGRAPHY_STRING_UNDERLINE</strong>
+to control the weight of the underline rule(s), the gap between the
+head and the underline, and, in the case of double-underlines, the
+distance between the two rules.
+</p>
+
+<p>
+Some examples:
+
+<pre>
+    .BIBLIOGRAPHY_STRING_UNDERLINE 1
+        - turn underlining on; set the rule weight to 1 point
+
+    .BIBLIOGRAPHY_STRING_UNDERLINE 1 3p
+        - turn underlining on; set the rule weight to 1 point; set
+          the gap between the string and the underline to 3 points
+    
+    .BIBLIOGRAPHY_STRING_UNDERLINE DOUBLE .75 3p
+        - turn double-underlining on; set the rule weight to 3 points
+    
+    .BIBLIOGRAPHY_STRING_UNDERLINE DOUBLE 1.5 1.5p 1.5p
+        - turn double-underlining on; set the rule weight to 1-1/2
+          points; set the gap between the string and the upper
+          underline to 1-1/2 points; set the gap between the upper
+          and the lower underline to 1-1/2 points
+</pre>
+
+Note, from the above, that in all instances, underlining (single or
+double) is enabled whenever <strong>BIBLIOGRAPHY_STRING_UNDERLINE</strong>
+is used in this way.
+</p>
+
+<p>
+<strong>Mom</strong>'s default is to double-underline the head
+with 1/2-point rules placed 2 points apart and 2 points below the
+baseline of the head.
+</p>
+
+<!-- -BIBLIO_STRING_CAPS- -->
+
+<a name="BIBLIO_STRING_CAPS"><h5>*<u>Bibliography-page head (title) automatic 
capitalization</u></h5></a>
+
+<p>
+<nobr>Macro: <strong>BIBLIOGRAPHY_STRING_CAPS</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+Invoked by itself, <kbd>.BIBLIOGRAPHY_STRING_CAPS</kbd> will
+automatically capitalize the bibliography page head.  Invoked with
+any other argument, the macro disables automatic capitalization of
+the head.
+</p>
+
+<p>
+If you're generating a table of contents, you may want the
+bibliography page head string in caps, but the toc entry in caps/lower
+case.  If the argument to
+<a href="#BIBLIOGRAPHY_STRING">BIBLIOGRAPHY_STRING</a>
+is in caps/lower case and <strong>BIBLIOGRAPHY_STRING_CAPS</strong> is
+on, this is exactly what will happen.
+</p>
+
+<p>
+<strong>Mom</strong>'s default is to capitalize the bibliography-page
+head string.
+</p>
+
+<hr/>
+
+<p>
+<a href="letters.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="cover.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: reserved.html
===================================================================
RCS file: reserved.html
diff -N reserved.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ reserved.html       1 Aug 2006 01:14:08 -0000       1.28
@@ -0,0 +1,2664 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- List of reserved words</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!--====================================================================-->
+
+<a name="TOP"></a>
+
+<p>
+<a href="appendices.html#TOP">Prev</a>&nbsp;&nbsp; <a href="toc.html">Back to 
Table of Contents</a>
+</p>
+
+<a name="RESERVED"><h1 align="center"><u>LIST OF RESERVED WORDS</u></h1></a>
+
+<p>
+The following is a list of &quot;reserved&quot; words used by
+<strong>mom</strong>.  Before changing the name of any macro or
+document element tag with
+<a href="goodies.html#ALIAS">ALIAS</a>,
+I strongly recommend doing a search of this page for your proposed
+new name.  If you find it in the left hand column, DON'T USE IT.
+Choose something else instead.
+</p>
+
+<p>
+Anyone interested in playing around inside <strong>mom</strong>'s macro
+file (om.tmac) will find this list useful as well since it lists all
+(I hope) the macros, strings, diversions and number registers
+<strong>mom</strong> uses, along with brief descriptions of their
+functions.
+</p>
+
+<pre>
+TYPESETTING
+===========
+
++++MACROS+++
+
+Page layout
+-----------
+PAGELENGTH  Page width
+PAGE        Page width/length; left, right, top, bottom margins
+PAGEWIDTH   Page width
+PAPER       Letter, legal, or A4
+
+B_MARGIN  Space to leave at page bottom
+L_MARGIN  Page offset
+R_MARGIN  Line length as a function of
+          pagewidth minus pageoffset minus rightmargin
+T_MARGIN  Advance lead from page top
+
+Page control
+------------
+DO_B_MARGIN  Margin at bottom of page; trap-invoked
+DO_T_MARGIN  Margin at top of page; trap-invoked
+
+Style
+-----
+COLOR          Change color of text to predefined value
+CONDENSE       Set percentage of pseudo-condense (alias of
+               CONDENSE_OR_EXTEND)
+EXTEND         Set percentage of pseudo-extend (alias of
+               CONDENSE_OR_EXTEND)
+FAMILY         Family
+FT             Font
+FALLBACK_FONT  Font to use whenever FAMILY or FT errors occur
+LL             Line length
+LS             Leading (.vs)
+NEWCOLOR       Define a text color
+PT_SIZE        Point size
+SETBOLDER      Set degree of emboldening (pseudo-bold) in units
+SETSLANT       Set degree of pseudo-italic
+XCOLOR         Initialize a color from rgb.txt
+
+Autolead
+--------
+AUTOLEAD  Always lead n points more than .PT_SIZE
+
+Flush
+-----
+JUSTIFY  Justified text
+QUAD     Filled text, left, right, or centre
+
+Quad
+----
+CENTER  Non-filled text, centre
+LEFT    Non-filled text, left
+RIGHT   Non-filled text, right
+
+Hyphenation
+-----------
+HY      Turn hyphenation on/off, or set LINES, MARGIN, SPACE
+HY_SET  Set LINES, MARGIN, SPACE in a single command
+
+Advanced style
+--------------
+KERN       Turn automatic kerning on or off
+LIGATURES  Turn ligatures on or off
+SS         Sentence space control
+WS         Word space control
+
+Line breaks
+-----------
+BR      Alias of br
+EL      Breaks line but doesn't advance
+SPACE   Alias of sp
+SPREAD  Alias of brp
+
+Ald/rld
+-------
+ALD  Advance lead
+RLD  Reverse lead
+
+Indents
+-------
+HI   Indent hang
+IB   Indent both
+IBX  Indent both off
+IL   Indent left
+ILX  Indent left off
+IQ   Indents off
+IR   Indent right
+IRX  Indent right off
+IX   Indents off -- deprecated
+TI   Indent temporary
+
+Tabs
+----
+ST       String tab
+TAB_SET  Tab Set
+TN       Tab Next
+TQ       Tab Quit
+
+MCO      Turn on multi-column mode
+MCR      Return to top of column
+MCX      Turn off multi-column mode
+
+Underscore
+----------
+UNDERSCORE   Underscores words or phrases
+UNDERSCORE2  Double underscores words or phrases
+
+Underline
+---------
+UNDERLINE  Underlines whole passages (Courier only)
+
+Smart Quotes
+------------
+SMARTQUOTES  Turns smart quotes on or off
+
+Graphical objects
+-----------------
+RULE_WEIGHT      Weight of rules drawn with \*[RULE]
+DBX              Draw box
+DCL              Draw circle (ellipse)
+DRH              Draw horizontal rule
+DRV              Draw vertical rule
+
+Misc + Support
+--------------
+BR_AT_LINE_KERN  Deposit a break before RW and WE
+CAPS             Convert u/lc to UC
+COMMENT          Don't print lines till COMMENT OFF (alias of SILENT)
+DROPCAP_ADJUST   Points (poss. fractional) to add/subtract
+                 from drop caps
+DROPCAP          Create drop cap
+DROPCAP_FAMILY   Drop cap family
+DROPCAP_FONT     Drop cap font
+DROPCAP_GUTTER   Drop cap gutter
+DROPCAP_OFF      Support only; restores .in if there was one
+ESC_CHAR         Alias for .ec
+EW               Extra white -- loosen overall line kern
+                 (character spacing)
+LEADER_CHARACTER Sets leader character
+PAD              Insert padding spaces at marked places
+PADMARKER        Sets character to use instead of # in PAD
+PRINT            Simply prints args passed to it; keeps my code
+                 indented nicely
+RW               Reduce white -- tighten overall line kern
+                 (character spacing)
+SILENT           Don't print lines till SILENT OFF
+SIZESPECS        Get cap-height, x-height and descender depth for
+                 current point size
+TRAP             Turn traps off or on
+
++++DIVERSIONS+++
+
+NO_FLASH    Diverts output of SILENT or COMMENT so they don't print
+NULL        Diverts SIZESPECS in PRINT_HDRFTR so it doesn't screw up
+            FOOTER and FOOTNOTE processing when FOOTERS are on
+PAD_STRING  Diverts $PAD_STRING for processing
+TYPESIZE    Diverts SIZESPECS routine so it doesn't print
+
++++NUMBER REGISTERS+++
+
+#ABORT_FT_ERRORS        Abort on FT errors? (boolean)
+#ALD                    ALD value
+#ARGS_TO_LIST           Tells LIST whether LIST was invoked with a valid
+                        arg; controls LIST OFF processing
+#ARGS_TO_SQ             Tells SMARTQUOTES whether it was invoked with a
+                        valid arg; controls SMARTQUOTES OFF
+                        processing
+#AUTOLEAD_FACTOR        Using FACTOR arg to AUTOLEAD? (boolean)
+#AUTO_LEAD              Using autolead? (boolean)
+#AUTOLEAD_VALUE         Auto leading value
+#BL_INDENT              Value of left indent when IB
+#B_MARGIN               Bottom margin
+#B_MARGIN_SET           Has a bottom margin been set with B_MARGIN? (boolean)
+#BOLDER_UNITS           Number of units to embolden type
+#BR_AT_LINE_KERN        Break when EW/RW are invoked? (boolean)
+#BR_INDENT              Value of right indent when IB
+#BX_SOLID               Draw box filled? (boolean)
+c                       column mark
+#CAPS_ON                Is CAPS enabled? (boolean)
+#CL_SOLID               Draw cirlce filled? (boolean)
+#CODE_FAM               Use different family from Courier for CODE? (boolean)
+#CONDENSE               Are we in pseudo-condense mode? (boolean)
+#CONDENSE_WAS_ON        For restoring \*[COND] in DROPCAP
+#COND_WIDTH             Width of pseudo-condensed type
+                        (pointsize x $COND_PERCENT)
+#CURRENT_HY             \\n[.hy] when ref*normal-print called
+#CURRENT_L_LENGTH       Current line length at first invocation of LIST;
+                        like #ORIG_L_LENGTH
+#CURRENT_TAB            Current tab number
+#DC_COLOR               Colorize dropcap? (boolean)
+#DC_GUT                 Width of dropcap gutter
+#DC_HEIGHT              Dropcap height
+#DC_LINES               Number of lines for dropcap
+#DEGREES                # of degrees slant for pseudo-italic
+#ENUMERATOR&lt;n&gt;          Number register enumerator for depth &lt;n&gt; 
in lists 
+#EXT_WIDTH              Width of pseudo-extended type
+                        (pointsize x $EXT_PERCENT)
+#EXTEND                 Are we in pseudo-extend mode? (boolean)
+#EXTEND_WAS_ON          For restoring \*[EXT] in DROPCAP
+#FILL_MODE              Which fill mode are we in? (\n(.j)
+#FILLED                 Are we in a fill mode? (boolean)
+#H_INDENT               Value of left indent when IH
+#HL_INDENT&lt;n&gt;           Hanging indent for LIST depth &lt;n&gt;
+#HL_INDENT              Value of the hang when IH
+#HY_SET                 Did we manually set hyphenation parameters?
+                        (boolean)
+#HYPHEN_ADJ             Amount by which to raise hyphens surrounding page 
numbers
+#HYPHENATE              Hyphenation on? (boolean)
+#IN_TAB                 Are we in a tab? (boolean)
+                        Set in macro TAB; used in ST to determine
+                        whether to add #ST_OFFSET to #ST&lt;n&gt;_OFFSET
+#INDENT_ACTIVE          Indicates whether an indent is active (boolean)
+#INDENT_BOTH_ACTIVE     Toggle
+#INDENT_LEFT_ACTIVE     Toggle
+#INDENT_RIGHT_ACTIVE    Toggle
+#INDENT_STYLE_BOTH      Indicates IB when #INDENT_ACTIVE=1 (boolean)
+#INDENT_STYLE_HANG      Indicates IH when #INDENT_ACTIVE=1 (boolean)
+#INDENT_STYLE_LEFT      Indicates IL when #INDENT_ACTIVE=1 (boolean)
+#INDENT_STYLE_RIGHT     Indicates IR when #INDENT_ACTIVE=1 (boolean)
+#INDENT_STYLE_TEMP      Indicates IT when #INDENT_ACTIVE=1 (boolean)
+#IGNORE_COLUMNS         Don't set document in columns (boolean)
+#IN_DIVER               Are we in a diversion? (boolean)
+#IX_WARN                Toggles to 1 the first time IX is user-invoked
+#JUSTIFY                In EW/RW, when BR_AT_LINE_KERN, whether to
+                        break or break-spread preceding line (boolean)
+#KERN                   Kern on? (boolean)
+#KERN_UNIT              Size of kern units (1/36 of current point size)
+#KERN_WAS_ON            Indicates kerning was on; used in list ITEMs (boolean)
+#LAST_TAB               Last tab number set in multi-columns
+#LAST_FN_COUNT_FOR_COLS #FN_COUNT_FOR_COLS at top of HEADER
+#LEAD                   Leading (alias)
+#LIGATURES              Ligatures on? (boolean)
+#LIST_INDENT&lt;n&gt;         Left indent of list &lt;n&gt;
+#L_INDENT               Value of left indent
+#L_LENGTH               Line length
+#L_MARGIN               Page offset if set with LMARGIN;
+                        if .po used, \n(.o returns page offset
+#LOOP                   In EPIGRAPH, #LOOP=1 if a while loop executes; 
otherwise 0.
+                        Elsewhere, an arbitrary incrementing register used to
+                        read in strings
+#MCX_ALD                Amount to advance past end of longest column
+#NEWPAGE                Was NEWPAGE just invoked? (boolean)
+#NEXT_DEPTH_BACK        Next list level back in lists
+#NEXT_TAB               Current tab number + 1 (used in TN)
+#NEXT_TAB               Next tab in an n+1 sequence
+#NOFILL                 Are we in a nofill mode? (boolean)
+#NOFILL_MODE            Nofill mode
+#OLD_LEAD               Lead in effect prior to changing it with .vs
+                        in .LS
+#OPEN_CLOSE             Manipulates character " to print `` or ''
+#ORIGINAL_L_LENGTH      Used in LIST for IB processing; holds \n(.l
+p                       Output line horiz position at end of
+                        $PAD_STRING
+#PAD_COUNT              Number of times # was included in arg to PAD
+#PAD_LIST_DIGITS        Pad list digits to the left? (boolean)
+#PAD_SPACE              Size of padding space
+#PAGE_LENGTH            Page length (alias)
+#PAGE_WIDTH             Page width
+#PP_ACTIVE              Are we in the context of a para? (boolean)
+#PRINT_FOOTER_ON_PAGE_1 (boolean)
+#PSEUDO_FILL            Signals that LEFT, RIGHT or CENTER is
+                        in effect (booleand off, i.e. to 0, when
+                        QUAD &lt;arg&gt; or JUSTIFY is called)
+#PT_SIZE                Point size (fractional) in units (alias)
+#PT_SIZE_SET            Was point size set with PT_SIZE? (boolean)
+#Q_AT_TOP               Does a quote start at the top of a new page?
+                        (boolean)
+#QUAD                   In autoquad mode? (boolean)
+#QUIT                   Tells LIST whether to exit lists completely
+                        (boolean)
+#REMOVE                 Used in LIST OFF cleanup
+#RESTORE_LEAD           Lead value in effect prior to AUTOLEAD
+#RESTORE_LINE_LENGTH    Restores actual line length in RULE
+#RESTORE_LN_NUMBER      Start linenumbering again with stored
+                        #NEXT_LN? (boolean)
+#RESTORE_PT_SIZE        Stores current point size (in units) prior
+                        to underscore
+#R_INDENT               Value of right indent
+#R_MARGIN               Right margin
+#RESTORE_PREV_INDENT    Tells LIST OFF what kind of indent was active
+                        prior to first invocation of LIST
+#RESTORE_SQ             Instructs SMARTQUOTES to restore smartquotes if
+                        SMARTQUOTES invoked without an arg
+#RLD                    RLD value
+#RULE_WEIGHT            Weight given to RULE_WEIGHT
+#RULE_WEIGHT_ADJ        RULE_WEIGHT/2
+#SHIFT_LIST&lt;n&gt;          Value to add to #LIST_INDENT&lt;n&gt; for 
shifted lists
+#SILENT                 Is silent on? (boolean)
+#SIZE_FOR_PAD           Used to ensure that the size in effect prior
+                        to PAD is restored at the start of every
+                        iteration of $PAD_STRING
+#SLANT_ON               Is SLANT on? (boolean)
+#SPACE_TO_END           Whitespace at end of string passed to PAD
+#SQ_WAS_ON              Instructs CODE OFF to restore smartquotes if they
+                        were on prior to CODE
+#ST&lt;n&gt;_LENGTH           Length of ST&lt;n&gt;; calculated during ST 
&lt;n&gt;
+#ST&lt;n&gt;_MARK             Page offset of autotab &lt;n&gt; at ST&lt;n&gt;X
+#ST_NUM                 Incrementing counter for autotab identification
+#ST&lt;n&gt;_OFFSET              Offset (from current tab) to add to 
#ST&lt;n&gt;_OFFSET
+                        when calculating string indents set from within
+                        tabs
+#ST&lt;n&gt;_OFFSET           Indent of autotab &lt;n&gt; (page offset)
+#STORED_L_INDENT        Current left indent at first invocation of LIST
+#STORED_R_INDENT        Current right indent at first invocation of LIST
+#STORED_BL_INDENT       Current "both, left" indent at first invocation
+                        of LIST
+#STORED_BR_INDENT       Current "both, right" indent at first invocation
+                        of LIST
+#STORED_HL_INDENT       Current hanging indent at first invocation
+                        of LIST
+#STORED_T_INDENT        Current temporary indent at first invocation
+                        of LIST
+#STR_LENGTH             Holds string length derived from .length request
+#T_INDENT               Value of temporary indent
+#T_MARGIN               Top margin
+#TAB_ACTIVE             Are we in a tab? (boolean)
+#TAB_NUMBER             Tab number given to TAB_SET
+#TAB_LENGTH             Tab length given to TAB_SET
+#TAB_OFFSET             Tab indent given to TAB_SET
+#TEXT_WIDTH             Width of string to underscore
+#TN                     Was TN (or \*[T+] called? (boolean)
+#TOP                    Set to 1 in T_MARGIN, DO_T_MARGIN and ALD; tells
+                        the first LS or AUTOLEAD on a page to maintain
+                        the baseline position prior to the LS call
+#TOP_BASELINE_ADJ       Amount by which to adjust the baseline position
+                        of the first line on the page if an LS or AUTOLEAD
+                        request differs from the lead current at the end of
+                        the previous page
+#TOTAL_LISTS            Total number of lists in a nest
+#UNDERSCORE_WEIGHT      Weight of underscores
+#UNDERSCORE_WEIGHT_ADJ  UNDERSCORE_WEIGHT/2
+#USER_SET_L_LENGTH      Did user invoke LL? (boolean)
+#USER_SET_TITLE_ITEM    Did user invoke TOC_TITLE_ENTRY?
+#WEIGHT                 Weight given to #RULE_WEIGHT
+#WEIGHT_ADJ             RULE_WEIGHT/2
+u                       Horiz position of start of underscore
+
++++STRINGS+++
+
+$ARG                 String holding substrings derived from .substring request
+$COND_PERCENT        Percentage by which to pseudo-condense type
+$COLOR_SCHEME        Color scheme used in NEWCOLOR
+$&lt;colorname&gt;_FILL    XCOLOR &quot;alias&quot; with _FILL attached; used 
to determine if
+                     the alias exists when the alias is passed to DBX SOLID
+                     or DCL SOLID
+$CURRENT_QUAD        Restores current quad value in RULE
+$CURRENT_TAB         Current tab number
+$DC_ADJUST           +|- # of points to subtract from dropcap
+$DC_FAM              Drop cap family
+$DC_FT               Drop cap font
+$DROPCAP             The dropcap letter
+$ENUMERATOR&lt;n&gt;       String enumerator for depth &lt;n&gt; in lists 
+$ENUMERATOR_TYPE&lt;n&gt;  Type of enumerator used in LIST&lt;n&gt;
+$EXT_PERCENT         Percentage by which to pseudo-extend type
+$FAMILY              Family
+$FAMILY_FOR_PAD      Used to ensure that the family in effect prior
+                     to PAD is restored at the start of every
+                     iteration of $PAD_STRING
+$FONT                Font
+$FONT_FOR_PAD        Used to ensure that the font in effect prior
+                     to PAD is restored at the start of every
+                     iteration of $PAD_STRING
+$PAD_MARKER          Character to mark off padding in PAD
+$PAD_STRING          Arg passed to PAD
+$PRE_CODE_FAM        Family in effect prior to CODE being invoked
+$PRE_CODE_FT         Font in effect prior to CODE being invoked
+$PREFIX&lt;n&gt;     Prefix for enumerator of LIST&lt;n&gt;
+$QUAD_VALUE          Quad value (left, right, centre, justify)
+$QUOTE0              Open quotation marks
+$QUOTE1              Close quotation marks
+$RESTORE_COND        Restores the pseudo-condense value in effect
+                     prior to DROPCAP
+$RESTORE_EXT         Restores the pseudo-extend value in effect
+                     prior to DROPCAP
+$RESTORE_FAM         Used to restore the family in effect
+                     prior to DROPCAP
+$RESTORE_FT          Used to restore the font/fontstyle in effect
+                     prior to DROPCAP
+$RESTORE_PT_SIZE     Used to restore the point size of normal
+                     running text after a dropcap
+$RESTORE_QUAD_VALUE  Quad value for use in restoring L, R, C, J
+                     (after tabs)
+$RESTORE_SQ          The smartquoting string last passed to SMARTQUOTES
+$RULE_GAP            Distance between underscore rules
+$SAVED_STYLE         Current style, if there is one (used in FAMILY)
+$SAVED_UNDERSCORE_GAP Temporarily holds string in $UNDERSCORE_GAP
+$SEPARATOR&lt;n&gt;        Separator for depth &lt;n&gt; in lists
+$SS_VAR              Holds + or - sentence space value
+$ST&lt;n&gt;_FILL          Always QUAD if QUAD passed to ST &lt;n&gt;
+ST\n[#LOOP]          Used to initialize string tab markers (1-19)
+ST\n[#LOOP]X         Used to initialize string tab markers (1-19)
+$ST&lt;n&gt;_QUAD_DIR      Quad direction supplied to ST for &lt;n&gt;
+$TAB_NUMBER          Argument passed to TAB macro to call TAB# macro
+                     created in TAB_SET
+$UNDERSCORE_GAP      Distance between text and underscore rule
+$WS_CONSTANT         12; used to hold groff default wordspace
+$WS                  Holds WS value; concatenation of WS_CONSTANT and
+                     WS_VAR
+$WS_VAR              + or - value to add to $WS_CONSTANT
+BLACK                Pre-defined black color
+black                Pre-defined black color
+WHITE                Pre-defined white color
+white                Pre-defined white color
+
++++ALIASES+++
+
+ALIAS         als
+ALIASN        aln
+BR            br
+CENTRE        CENTER
+COLOUR        COLOR
+COMMENT       SILENT
+CONDENSE      CONDENSE_OR_EXTEND
+EXTEND        CONDENSE_OR_EXTEND
+FAM           FAMILY
+FT            FONT
+HYPHENATE     HY
+HYPHENATION   HY
+INCLUDE       so
+LIG           LIGATURES
+LL            LINE_LENGTH
+MAC           de
+NEW_PAGE      bp
+NEWCOLOUR     NEWCOLOR
+NEWPAGE       NEW_PAGE
+PAGELENGTH    PAGE_LENGTH
+PAGE_LENGTH   pl
+PAGEWIDTH     PAGE_WIDTH
+SPREAD        brp
+SP            sp
+STRING        ds
+TABSET        TAB_SET
+TB            TAB
+TI            IT
+UNDERSCORE_2  UNDERSCORE2
+XCOLOUR       XCOLOR
+
++++ALIASES FOR NUMBER REGISTERS+++
+
+#DIVER_DEPTH    dn   -- diversion depth
+#DIVER_WIDTH    dl   -- diversion width
+#INDENT         .i   -- value of current indent
+#LEAD           .v   -- line space (.vs, not .ls)
+#L_LENGTH       .l   -- line length
+#NUM_ARGS       .$   -- number of arguments passed to a macro
+#PAGE_LENGTH    .p   -- page length
+#PT_SIZE        .ps  -- current point size (fractional) in units
+#TRAP_DISTANCE  .t   -- distance to next trap
+
++++INLINE ESCAPES+++
+
+ALD&lt;n&gt;       Move down inline by &lt;n&gt; (between .25 and 12.75)
+B            Inline equivalent to .EL
+BCK          Inline backward horizontal movement
+BD           Bold font
+BDI          Bold italic font
+BLACK        Color
+black        color
+BOLDER       Pseudo-bold on
+BOLDERX      Pseudo-bold off
+BP           Back points (horizontal movement)
+BP&lt;n&gt;        Back points by  &lt;n&gt; (between .25 and 12.75)
+BU           Back units (inline pairwise kerning)
+BU&lt;n&gt;        Back units by &lt;n&gt; (between 1 and 36)
+COND         Pseudo-condense type
+COND_FOR_SUP Pseudo-condense string for use with superscripts
+             (called with CONDSUP)
+COND_FOR_SUP Pseudo-extend string for use with superscripts (called
+             with EXTSUP)
+CONDSUP      Pseudo-condensed superscript (using value set with
+             CONDENSE)
+CONDSUPX     Pseudo-condensed superscript off
+CONDX        Pseudo-condense off
+DOWN         Inline downward vertical movement
+EN-MARK      Inline escape to indicate the beginning of a
+             range of lines used to identify an endnote
+EXT          Pseudo-extend type
+EXTX         Pseudo-extend off
+EXTSUP       Pseudo-extended superscript
+EXTSUPX      Pseudo-extended superscript off
+FN-MARK      Inline escape to indicate the beginning of a
+             range of lines used to identify a footnote
+FP&lt;n&gt;        Forward points by  &lt;n&gt; (between .25 and 12.75)
+FP           Forward points (horizontal movement)
+FU           Forward units (inline pairwise kerning)
+FU&lt;n&gt;        Forward units by &lt;n&gt; (between 1 and 36)
+FWD          Inline forward horizontal movement
+PREV         Return to previous font in effect
+RLD&lt;n&gt;       Move up, inline, by &lt;n&gt; (between .25 and 12.75)
+ROM          Roman (medium) font
+S            Same \s
+SLANT        Slant (pseudo-italic on
+SLANTX       Slant off
+ST&lt;n&gt;        String tab end marker
+ST&lt;n&gt;        String tab start marker
+SUP          Superscript
+SUPX         Superscript off
+TB+          Move to next tab number (n+1) without advancing on the page
+UP           Inline upward vertical movement
+WHITE        Color
+white        Color
+
++++SPECIAL CHARACTERS+++
+
+FOOT         The foot character \(fm
+INCH         The inch character \(fm\(fm
+LEADER       Deposit leader to end of current LL or TAB
+RULE         Draw a rule to the full measure of the current line or
+             tab length
+
+------------------------------------------------------------------------
+
+DOCUMENT PROCESSING
+===================
+
++++MACROS+++
+
+Document info
+-------------
+AUTHOR          Author
+CHAPTER         Chapter number
+CHAPTER_TITLE   Chapter title
+COPYRIGHT       Copyright info (covers only)
+DOCTITLE        Overall doc title (for collated docs)
+DRAFT           Draft number
+MISC            Misc info (covers only)
+REVISION        Revision number
+SUBTITLE        Doc subtitle
+TITLE           Doc title
+
+Covers
+------
+COVER               What goes on cover
+COVERS              Whether covers get printed (boolean)
+COVER_ADVANCE       Set vertical start position of cover material
+COVER_LEAD          Overall leading of covers
+COVERTITLE          User-defined cover title string
+DOC_COVER           What goes on doc cover
+DOC_COVERS          Whether doc covers get printed
+DOC_COVER_ADVANCE   Set vertical start position of doc cover material
+DOC_COVER_LEAD      Overall leading of doc covers
+DOC_COVERTITLE      User-defined doc cover title string
+
+Document style
+--------------
+COPYSTYLE     Output style (DRAFT or FINAL)
+DEFAULTS      In START, sets defaults
+DOCTYPE       Kind of doc (DEFAULT, CHAPTER, NAMED, LETTER)
+PAGENUMBER    Page number that appears on 1st page of doc
+PAPER         Paper size (LETTER, LEGAL, A4)
+PRINTSTYLE    Print style (TYPEWRITE or TYPESET)
+NUMBER_LINES  Number output lines in the left margin
+
+Document tags and macros
+------------------------
+ADD_SPACE               Special macro to add space to the top of a pages after
+                        page 1; must be preceded by NEWPAGE
+BIBLIOGRAPHY            Begin a bibliography page
+BIBLIOGRAPHY_TYPE       LIST or PLAIN
+BLOCKQUOTE              Block-indented, quoted text
+COL_BREAK               Breaks and spreads line before invocation; moves to
+                        next column on page or 1st col of next page.  An alias
+                        of COL_NEXT.
+COL_NEXT                Moves to next column on page or 1st col of next page
+ENDNOTE                 Endnote
+ENDNOTE_REFS            Send REFs to endnotes
+ENDNOTES                Output endnotes
+EPIGRAPH                Epigraph before 1st para 
+FINIS                   Prints --END--
+FOOTNOTE                Collects footnotes in text for printing at bottom of 
page
+FOOTNOTE_REFS           Send REFs to footnotes
+HEAD                    Section title (main heads)
+HYPHENATE_REFS          Turn on/off hyphenation of REF references
+ITEM                    Begin a list item
+LINEBREAK               Break between narrative sections
+LIST                    Initialize a list
+MN                      Margin note
+MN_INIT                 Initialize parameters for margin notes
+NUMBER_LINES            Number text lines
+NUMBER_BLOCKQUOTE_LINES Number blockquote lines
+NUMBER_QUOTE_LINES      Number quote lines
+PAD_LIST_DIGITS         Leave space for two-numeral digit enumerators
+                        in a list
+PARAHEAD                Paragraph head
+PP                      Paragraph
+QUOTE                   Poetic or line for line quotes
+REF                     Wrapper around FOOTNOTE or ENDNOTE, depending
+                        on FOOTNOTE_REFS or ENDNOTE_REFS
+REF(                    Begin embedded reference, parens
+REF)                    End embedded reference, parens
+REF[                    Begin embedded reference, square brackets
+REF]                    End embedded reference, square brackets
+REF{                    Begin embedded reference, braces
+REF}                    End embedded reference, braces
+REF_INDENT              Amount of 2nd line indent of references for
+                        footnote, endnote or bibliography refs
+RESET_LIST              Reset digit or alpha list enumerator
+SHIFT_LIST              Move a list over to the right
+START                   Sets doc defaults and prints info collected
+                        with doc info macros
+SUBHEAD                 Subheads
+
+Headers/footers
+---------------
+BREAK_QUOTE          Manually break a footnoted quote that crosses
+                     a page/column
+DO_FOOTER            Prints footer (after footnote processing, if any)
+FOOTER_ON_FIRST_PAGE Print footer on first page? (boolean)
+FOOTER               Trap-invoked footer macro
+HEADER               Trap-invoked header macro
+PAGINATE             Turns page numbering on or off (doc default=on)
+PAGINATE_TOC         Turns pagination of toc on or off (default=on)
+RECTO_VERSO          Enables switch HEADER_LEFT and HEADER_RIGHT on
+                     alternate pages
+
+Alter doc "look" and/or change defaults
+---------------------------------------
+***General***
+
+ALWAYS_FULLSPACE_QUOTES  Fullspace quotes instead of default
+                         1/2 spacing them.
+ATTRIBUTE_STRING         What to print before author (default is "by")
+CHAPTER_STRING           What to print whenever the word "chapter"
+                         is required
+COLUMNS                  Print in columns
+DOC_FAMILY               Overall doc family
+DOCHEADER                Print doc header?
+DOCHEADER_ADVANCE        Start position of docheader (relative to top
+                         of page)
+DOCHEADER_LEAD           +|- value applied to #DOC_LEAD to in/decrease
+                         leading of doc header
+DOC_LEAD_ADJUST          Adjust #DOC_LEAD to fill page to #B_MARGIN
+DOC_LEAD                 Overall doc leading
+DOC_LEFT_MARGIN          Doc left margin
+DOC_LINE_LENGTH          Doc line length
+DOC_PT_SIZE              Overall doc point size
+DOC_RIGHT_MARGIN         Doc right margin
+DOC_TITLE                Overall doc title that gets printed in
+                         headers/footers (mostly for use with collated
+                         docs where each doc is an article with a
+                         different title
+DRAFT_STRING             What to print whenever the word "draft" is
+                         required
+DRAFT_WITH_PAGENUMBER    Attach draft/revision info to page number
+                         (instead of putting it HEADER centre)
+REVISION_STRING          What to print whenever the word "revision"
+                         is required
+
+***Covers***
+
+COVER_ADVANCE            Vertical place on page to start outputting
+                         cover material
+COVER_LEAD               Lead in/decrease for cover pages
+COVERS_COUNT_PAGES       Whether to include cover pages in pagination scheme
+DOC_COVER_ADVANCE        Vertical place on page to start outputting
+                         doc cover material
+DOC_COVER_LEAD           Lead in/decrease for doc cover pages
+DOC_COVERS_COUNT_PAGES   Whether to include doc cover pages in pagination 
scheme
+
+***Epigraphs and finis***
+
+EPIGRAPH_AUTOLEAD        Autolead value for epigraphs
+EPIGRAPH_INDENT          Value by which to multiply PP_INDENT for
+                         block epigraphs
+FINIS_STRING             What to print when FINIS is invoked
+FINIS_STRING_CAPS        Whether to capitalize the finis string
+
+***Footnotes***
+
+FOOTNOTE_AUTOLEAD             Autolead to use in footnotes
+FOOTNOTE_LINENUMBER_BRACKETS  Brackets for footnote linenumbers
+FOOTNOTE_LINENUMBER_SEPARATOR Separator for footnote linenumbers
+FOOTNOTE_MARKERS              Turns footnote markers on or off
+FOOTNOTE_MARKER_STYLE         STAR or NUMBER; default=STAR
+FOOTNOTE_RULE_ADJ             # of points to raise footnote rule from its
+                              baseline
+FOOTNOTE_RULE_LENGTH          Length of footnote separator rule
+FOOTNOTE_RULE                 Turns printing of fn separator rule on or off;
+                              default is on
+FOOTNOTE_SPACING              Post footnote item spacing
+FOOTNOTES_RUN_ON              Run footnotes on (line numbering mode only)
+RESET_FOOTNOTE_NUMBER         Reset fn# to 1, or, if arg PAGE, reset
+                              automatically to 1 on every page
+RUNON_WARNING                 Utility macro; warns if FOOTNOTES_RUN_ON
+                              was called when fn marker style is STAR or NUMBER
+
+***Endnotes***
+
+ENDNOTE_LEAD                 Leading for endnotes page
+ENDNOTE_LINENUMBER_BRACKETS  Brackets around line numbers identifying
+                             endnotes and text
+ENDNOTE_LINENUMBER_GAP       Amount of space to leave between line
+ENDNOTE_LINENUMBER_SEPARATOR Separator between line numbers identifying
+                             endnotes and the endnote item text
+                             endnotes and text
+ENDNOTE_MARKER_STYLE         NUMBER or LINE
+ENDNOTE_NUMBERS_ALIGN_RIGHT  Hang endnote numbers and align right
+ENDNOTE_NUMBERS_ALIGN_LEFT   Don't hang endnote numbers and align left
+ENDNOTE_PARA_INDENT          First line indent of paras in multi-para
+                             endnotes
+ENDNOTE_PARA_SPACE           Whether to space paras in multi-para endnotes
+ENDNOTE_PT_SIZE              Base point size for endnotes page
+ENDNOTE_STRING               Endnotes page head
+ENDNOTE_STRING_CAPS          Capitalize the endnotes string
+ENDNOTE_STRING_UNDERLINE     Underscoring of endnotes page head
+ENDNOTE_TITLE                Endnotes identifying title
+ENDNOTE_TITLE_SPACE          Distance from top of page to endnotest title
+ENDNOTE_TITLE_UNDERLINE      Underscoring of endnotes identifying title
+ENDNOTES_ALLOWS_HEADERS      Page headers on endnotes pages? (boolean)
+ENDNOTES_FIRST_PAGENUMBER    Page number to appear on page 1 of endnotes
+                             pages
+ENDNOTES_HDRFTR_CENTER       Print header/footer centre string on endnotes
+                             pages?
+ENDNOTES_HEADER_CENTER       Print header centre string on endnotes pages?
+ENDNOTES_FOOTER_CENTER       Print footer centre string on endnotes pages?
+ENDNOTES_NO_COLUMNS          Turn columnar mode off for endnotes pages
+ENDNOTES_NO_FIRST_PAGENUM    Don't print a pagenumber on page 1 of
+                             endnotes.
+ENDNOTES_PAGENUM_STYLE       Set numbering style for endnotes pages page
+                             numbers
+SINGLESPACE_ENDNOTES         Single space TYPEWRITE endnotes
+
+***Bibliographies***
+
+BIBLIOGRAPHY_ALLOWS_HEADERS    Allow headers on bib pages
+BIBLIOGRAPHY_FIRST_PAGENUMBER  Starting page number for bibliographies
+BIBLIOGRAPHY_HDRFTR_CENTER     Header/footer center string for bib pages
+BIBLIOGRAPHY_LEAD              Base lead of bib pages
+BIBLIOGRAPHY_NO_COLUMNS        De-columnize bibliographies
+BIBLIOGRAPHY_NO_FIRST_PAGENUM  Don't print a page number on the first
+                               page of bibliographies
+BIBLIOGRAPHY_PAGENUM_STYLE     Format for bib pages page numbering
+BIBLIOGRAPHY_PT_SIZE           Base point size for bib pages
+BIBLIOGRAPHY_SPACING           Post bib entry space
+BIBLIOGRAPHY_STRING            String for bib title
+BIBLIOGRAPHY_STRING_CAPS       Capitalize bib title string
+BIBLIOGRAPHY_STRING_UNDERLINE  Underscore bib title string
+SINGLESPACE_BIBLIOGRAPHY       Singlespace bibs if PRINTSTYLE TYPEWRITE
+
+***Headers and footers***
+
+FOOTER_COLOR             Footer color
+FOOTER_GAP               Distance between running text and footer
+FOOTER_MARGIN            Distance from footer to bottom of page
+FOOTERS                  Turns footers on or off
+HDRFTR_CENTER            String to go in centre part of header/footer;
+                         default doctype 
+HDRFTR_CENTER_CAPS       Centre part of header/footer in caps? (boolean)
+HDRFTR_CENTER_PAD        Pad hdrftr CENTER left or right by specified
+                         amount
+HDRFTR_GAP               Distance from header/footer to running text
+HDRFTR_LEFT_CAPS         Left part of header/footer in caps? (boolean)
+HDRFTR_LEFT              String to go in left part of header/footer;
+                         default is AUTHOR_1
+HDRFTR_LEFT              The header/footer left string
+HDRFTR_MARGIN            Distance from top of page to header
+HDRFTR_PLAIN             Header/footer fam/ft/ps all same as running
+                         text
+HDRFTR_RECTO             User-defined, single string recto
+                         header/footer
+HDRFTR_RIGHT_CAPS        Right part of header/footer in caps? (boolean)
+HDRFTR_RIGHT             The header/footer right string
+HDRFTR_RULE_GAP          Space between header/footer and header/footer
+                         rule
+HDRFTR_RULE_INTERNAL     Prints the header/footer rule
+HDRFTR_RULE              Turns header/footer rule on or off
+                         When invoked internally, prints the rule.
+HDRFTR_VERSO             User-defined, single string verso
+                         header/footer
+HEADERS                  Turns headers on or off
+HEADERS_AND_FOOTERS      Enables and permits the creation of
+                         headers and footers that appear on the
+                         same page
+SWITCH_HDRFTR            Switch HDRFTR_LEFT and HDRFTR_RIGHT
+
+***Page numbering***
+
+PAGENUM_HYPHENS          Turns on/off hyphens surrounding page numbers
+PAGENUM_ON_FIRST_PAGE    Print page number on first page when footers
+                         are on (boolean)
+PAGENUM_POS              Controls placement of page numbers;
+                         default=bottom/centred
+PAGENUM_SIZE             How much to in/decrease point size of page
+                         numbers*
+PAGENUM_STYLE            Page # in roman, Arabic, or alphabetic
+RESTORE_PAGINATION       Restore pagination after outputting non-
+                         paginated endnotes.
+SUSPEND_PAGINATION       Suspend pagination prior to outputting
+                         endnotes
+
+***Heads***
+
+HEADER_GAP               Space between header and running text
+HEADER_MARGIN            Space from top of page to header
+HEAD_CAPS                Print section titles in caps? (boolean)
+HEAD_SPACE               Give HEADs 2 line-spaces before. If OFF,
+                         only 1.  Default is on.
+HEAD_UNDERLINE           Underline section titles? (boolean)
+NUMBER_HEADS             Print head numbers
+RESET_HEAD_NUMBER        Reset head number
+
+***Subheads***
+
+NUMBER_SUBHEADS          Print subhead numbers
+RESET_SUBHEAD_NUMBER     Reset subhead number
+
+***Para heads***
+
+NUMBER_PARAHEADS         Print parahead numbers
+PARAHEAD_INDENT          How much to indent paraheads
+RESET_PARAHEAD_NUMBER    Reset parahead number
+
+PREFIX_CH_NUM_WARNING    Macro to abort PREFIX_CHAPTER_NUMBER
+                         with a warning if the arg to CHAPTER isn't
+                         a digit, and user hasn't supplied a digit
+                         to PREFIX_CHAPTER_NUMBER
+PREFIX_CHAPTER_NUMBER    Prefix the chapter number to numbered
+                         heads, subheads and paraheads
+***Paragraphs***
+
+INDENT_FIRST_PARAS       Indent 1st paras? (doc default=not indented) 
+PARA_INDENT              Size of para indent
+PARA_SPACE               Put a line space before paras
+PP_FONT                  Overall doc font
+
+***Quotes***
+
+Q_FITS                  Utility macro for DO_QUOTE
+Q_NOFIT                 Utility macro for DO_QUOTE
+QUOTE_AUTOLEAD          Leading of (block)quotes
+
+***Line/section breaks***
+
+LINEBREAK_CHAR           Linebreak character, iterations and positioning
+
+***Printstyle TYPEWRITE***
+
+ITALIC_MEANS_ITALIC      For TYPEWRITE; render .FT I in italic.
+SLANT_MEANS_SLANT        In TYPEWRITE, render \*[SLANT] as slant
+UNDERLINE_ITALIC         In TYPEWRITE, render .FT I as underlined
+UNDERLINE_QUOTES         In TYPEWRITE, underline quotes? (boolean)
+UNDERLINE_SLANT          In TYPEWRITE, render \*[SLANT] as underlined
+
+***Table of contents***
+
+TOC_APPENDS_AUTHORS      Appends author(s) to toc doc title entries
+TOC_LEAD                 Leading of toc pages
+TOC_PADDING              Number of placeholders for toc entries page
+                         numbers
+TOC_HEAD_INDENT          Indent of toc head entries
+TOC_HEADER_STRING        TOC header string (default=Contents)
+TOC_PAGENUM_STYLE        Page numbering style (hdrftr nums) of
+                         toc pages
+TOC_RV_SWITCH            Switch L/R margins of toc pages
+TOC_PARAHEAD_INDENT      Indent of toc parahead entries
+TOC_SUBHEAD_INDENT       Indent of toc subhead entries
+TOC_TITLE_ENTRY          User supplied toc doc title entry
+TOC_TITLE_INDENT         Indent of toc doc title entries
+
+***Aliases for headers and footers***
+HEADER_SIZE           HDRFTR_SIZE
+HEADER_RIGHT_PS       HDRFTR_RIGHT_SIZE
+HEADER_RIGHT_SIZE     HDRFTR_RIGHT_SIZE
+HEADER_RIGHT_FAM      HDRFTR_RIGHT_FAMILY
+HEADER_RIGHT_FAMILY   HDRFTR_RIGHT_FAMILY
+HEADER_RIGHT_FONT     HDRFTR_RIGHT_FONT
+HEADER_RIGHT_FT       HDRFTR_RIGHT_FONT
+HEADER_LEFT_PS        HDRFTR_LEFT_SIZE
+HEADER_LEFT_SIZE      HDRFTR_LEFT_SIZE
+HEADER_LEFT_FAM       HDRFTR_LEFT_FAMILY
+HEADER_LEFT_FAMILY    HDRFTR_LEFT_FAMILY
+HEADER_LEFT_FONT      HDRFTR_LEFT_FONT
+HEADER_LEFT_FT        HDRFTR_LEFT_FONT
+HEADER_CENTRE_PS      HDRFTR_CENTER_SIZE
+HEADER_CENTRE_SIZE    HDRFTR_CENTER_SIZE
+HEADER_FAM            HDRFTR_FAMILY
+HEADER_FAMILY         HDRFTR_FAMILY
+HEADER_CENTRE_FAM     HDRFTR_CENTER_FAMILY
+HEADER_CENTRE_FAMILY  HDRFTR_CENTER_FAMILY
+HEADER_CENTRE_FONT    HDRFTR_CENTER_FONT
+HEADER_CENTRE_FT      HDRFTR_CENTER_FONT
+HEADER_CENTER_PS      HDRFTR_CENTER_SIZE
+HEADER_CENTER_SIZE    HDRFTR_CENTER_SIZE
+HEADER_CENTER_FAM     HDRFTR_CENTER_FAMILY
+HEADER_CENTER_FAMILY  HDRFTR_CENTER_FAMILY
+HEADER_CENTER_FONT    HDRFTR_CENTER_FONT
+HEADER_CENTER_FT      HDRFTR_CENTER_FONT
+FOOTER_SIZE           HDRFTR_SIZE
+FOOTER_RIGHT_PS       HDRFTR_RIGHT_SIZE
+FOOTER_RIGHT_SIZE     HDRFTR_RIGHT_SIZE
+FOOTER_RIGHT_FAM      HDRFTR_RIGHT_FAMILY
+FOOTER_RIGHT_FAMILY   HDRFTR_RIGHT_FAMILY
+FOOTER_RIGHT_FONT     HDRFTR_RIGHT_FONT
+FOOTER_RIGHT_FT       HDRFTR_RIGHT_FONT
+FOOTER_LEFT_PS        HDRFTR_LEFT_SIZE
+FOOTER_LEFT_SIZE      HDRFTR_LEFT_SIZE
+FOOTER_LEFT_FAM       HDRFTR_LEFT_FAMILY
+FOOTER_LEFT_FAMILY    HDRFTR_LEFT_FAMILY
+FOOTER_LEFT_FONT      HDRFTR_LEFT_FONT
+FOOTER_LEFT_FT        HDRFTR_LEFT_FONT
+FOOTER_CENTRE_PS      HDRFTR_CENTER_SIZE
+FOOTER_CENTRE_SIZE    HDRFTR_CENTER_SIZE
+FOOTER_FAM            HDRFTR_FAMILY
+FOOTER_FAMILY         HDRFTR_FAMILY
+FOOTER_CENTRE_FAM     HDRFTR_CENTER_FAMILY
+FOOTER_CENTRE_FAMILY  HDRFTR_CENTER_FAMILY
+FOOTER_CENTRE_FT      HDRFTR_CENTER_FONT
+FOOTER_CENTER_PS      HDRFTR_CENTER_SIZE
+FOOTER_CENTER_SIZE    HDRFTR_CENTER_SIZE
+FOOTER_CENTER_FAM     HDRFTR_CENTER_FAMILY
+FOOTER_CENTER_FAMILY  HDRFTR_CENTER_FAMILY
+FOOTER_CENTER_FONT    HDRFTR_CENTER_FONT
+FOOTER_CENTER_FT      HDRFTR_CENTER_FONT
+
+   *relative to #DOC_PT_SIZE
+  **relative to overall ps of headers as set by HEADER_SIZE
+ ***relative to overall ps of endnotes pages
+****relative to overall ps of toc pages
+
++++LETTER MACROS+++
+
+CLOSING      Closing (i.e. Yours truly,)
+DATE         Date for letters
+FROM         Addresser's name and address
+GREETING     Full salutation (e.g. Dear John Smith,)
+NO_SUITE     Remove suite page numbers from bottom of letter pages
+TO           Addressee's name and address
+ALL_DONE     .em (the "end macro") for letters
+
++++SUPPORT+++
+
+CHECK_INDENT         Applies indents to doc elements inside ev's
+                     (head, subhead, etc)
+CLEANUP_DEFAULTS     Removes selected rregisters and strings
+                     from DEFAULTS after START
+DO_COVER             Formats and outputs covers
+DO_DOC_COVER         Formats and outputs doc covers
+D0_QUOTE             Outputs quotes with space adjustments before
+                     and after
+DIVER_FN_1_PRE  -+     
+DIVER_FN_2_PRE   |   Manage footnotes called inside diversions
+                 |   QUOTE, BLOCKQUOTE and EPIGRAPH
+DIVER_FN_2_POST -+
+DIVERT_FN_LEFTOVER   Diverts excess fn stored in FN_OVERFLOW into
+                     FOOTNOTE
+DIVERT_FN_OVERFLOW   Diverts excess fn stored in FN_OVERFLOW when
+                     FN_DEFER into FOOTNOTE
+DO_EPIGRAPH          Outputs epigraphs with space adjustments before
+                     and after
+FN_OVERFLOW_TRAP     Fixed at B_MARGIN; if footnotes run longer than
+                     B_MARGIN, diverts excess into FN_OVERFLOW
+GET_ROMAN_INDENT     Figures out amount of space to reserve
+                     for roman numerals in lists
+HDRFTR_RULE          Prints rule under header or over footer
+MN_OVERFLOW_TRAP     Trap-invoked macro to collect margin note
+                     overflows
+NO_SHIM              Disable SHIM
+PRINT_FOOTNOTE_RULE  An alias of PRINT_FOOTNOTE; prints footnote
+                     separator rule
+PRINT_HDRFTR         Prints header/footer (trap invoked)
+PRINT_PAGE_NUMBER    Invoked in HEADER or FOOTER
+PRINT_USERDEF_HDRFTR Prints user defined, single string recto/verso
+                     header/footer
+PROCESS_SHIM         Calculates #SHIM when \n(.d is lower on the
+                     page than #T_MARGIN
+PROCESS_FN_IN_DIVER  Processes footnotes gathered in a diversion (called
+                     at page/column breaks)
+REMOVE_INDENT        Removes indents set with CHECK_INDENT
+Q_FITS               Handles spacing of quotes when quote fits on the page
+Q_NOFIT              Handles spacing of quotes when quote does not fit on
+                     the page
+QUIT_LISTS           Exit lists cleanly and completely
+SET_LIST_INDENT      Restore indent of a prev. level of list
+SHIM                 Advance to next "valid" baseline
+TERMINATE            .em that ensures deferred footnotes get output
+                     on final pages
+TRAPS                Sets hdrftr traps; optionally adjusts #DOC_LEAD
+                     to fill page to #B_MARGIN
+TYPEWRITER           Sets family (C), font (R) and point size (12)
+                     for PRINTSTYLE TYPEWRITE
+VFP_CHECK            Trap-sprung macro 1 valid baseline higher than
+                     where FOOTER will be sprung; checks whether
+                     there is, in fact, just enough room for
+                     another line of running text to be added to
+                     the page without jamming footnotes too close
+                     to running text.
+
++++DIVERSIONS+++
+
+B_QUOTE           Block (indented) quote text
+CLOSING           Closing (i.e. Yours truly,)
+EPI_TEXT          Epigraph text
+END_NOTES         Endnotes text
+FN_IN_DIVER       Footnotes gathered from inside a diversion
+FN_OVERFLOW       Excess footnotes when B_MARGIN is reached
+FOOTNOTES         Text of footnotes
+GREETING          Full salutation (e.g. Dear John Smith,)
+LETTERHEAD&lt;n&gt;     Date, addresser, addressee or greeting;
+                  &lt;n&gt; is from 1 to 4, supplied by #FIELD
+P_QUOTE           Line for line (poetic) quote text
+RUNON_FOOTNOTES   Special diversion for run-on footnotes
+RUNON_FN_IN_DIVER Special diversion for run-on footnotes inside
+                  (block)quotes
+TOC_ENTRIES       TOC entries
+
++++NUMBER REGISTERS+++
+
+#ADJ_BIB_LEAD              Adjust BIB_LEAD? (boolean)
+#ADJ_DOC_LEAD              Adjust DOC_LEAD? (boolean)
+#ADJ_EN_LEAD               Adjust EN_LEAD? (boolean)
+#ADJ_TOC_LEAD              Adjust TOC_LEAD? (boolean)
+#ADVANCE_FROM_TOP          Distance from page top to start of
+                           running text if no docheader
+#ARG_NUM                   Keeps track of number of args passed to a
+                           macro
+#ARGS_TO_LIST              Was LIST passed some args? (boolean)
+#ATTRIBUTE_COLOR           Colorize attribute string? (boolean)
+#AUTHOR_&lt;n&gt;                Strings passed to AUTHOR
+#AUTHOR_COLOR              Colorize author(s)? (boolean)
+#AUTHOR_COVER_NUM          Incrementing register used in definining
+                           $AUTHOR_COVER_&lt;n&gt; strings
+#AUTHOR_DOCCOVER_NUM       Incrementing register used in definining
+                           $AUTHOR_COVER_&lt;n&gt; strings
+#AUTHOR_NUM                Keeps track of user-defined string
+                           AUTHOR_&lt;n&gt; in AUTHOR
+#AUTHORS                   Equals final value of AUTHOR_NUM;
+                           used for authors in doc header
+#BASELINE_MARK             In PP, the vertical position on the page
+                           (when paragraph spacing is on) after a
+                           quote or blockquote has been output and
+                           the post-quote space has been added.
+#BMARG                     Position of unvarying bottom margin
+                           during doc processing; required for
+                           collecting footnotes inside diversions
+#BIB_ALLOWS_HEADERS        Put headers on bib pages? (boolean)
+#BIB_ALLOWS_HEADERS_ALL    Put headers on all bib pages? (boolean)
+#BIB_FIRST_PAGE            Tells PRINT_PAGE_NUMBER about bibliography
+                           first page number
+#BIB_FIRST_PN              Starting pagenumber for bibliographies
+#BIB_HDRFTR_CENTER         Put a center string in bib page headers?
+                           (boolean)
+#BIB_LEAD                  Bibliography lead, expressed in points
+#BIB_LIST                  Output bibs in list style? (boolean)
+#BIB_NO_COLS               De-columnize bibliographies? (boolean)
+#BIB_NO_FIRST_PN           Put a page number on the first page of
+                           bibliographies? (boolean)
+#BIB_SINGLESPACE           Single-space TYPEWRITE bibliographies? (boolean)
+#BIB_SPACE                 Post item space for bibliography pages
+#BIB_STRING_CAPS           Capitalize bib title? (boolean)
+#BIB_STRING_UNDERLINE      Underscore bib title? 0=no; 1=yes; 2=double
+#BIB_STRING_UNDERLINE_WEIGHT       Underline weight in units
+#BIB_STRING_UNDERLINE_WEIGHT_ADJ   Underline weight/2
+#BIB_PS                    Base point size for bibliography pages expressed
+                           in points
+#BIBLIOGRAPHY              Are we doing a bib page? (boolean)
+#BQ_AUTOLEAD               Register created by BLOCKQUOTE_AUTOLEAD
+#BQ_LEAD                   Leading of blockquotes
+#BQUOTE_COLOR              Colorize blockquotes? (boolean)
+#BQUOTE_LN                 Number blockquotes? (boolean)
+#BROKEN_QUOTE              Did we invoke BREAK_QUOTE? (boolean)
+#CAP_HEIGHT_ADJUST         Tallest cap height of strings LEFT, CENTER,
+                           and RIGHT in footers; used to place rule
+                           over footer
+#CAPS_WAS_ON               In HDRFTR, to re-enable running text CAPS
+                           (boolean)
+#CENTER_CAP_HEIGHT         Cap height of CENTER string in
+                           headers/footers
+#CH_NUM                    The chapter number obtained by PREFIX_CHAPTER_NUMBER
+#CHAPTER_CALLED            Has CHAPTER been invoked? (boolean); used
+                           by PREFIX_CHAPTER_NUMBER to see whether
+                           to try to get the chapter number from
+                           the arg passed to CHAPTER
+#CHAPTER_TITLE_NUM         Incrementing register used to define strings
+                           $CHAPTER_TITLE_&lt;n&gt;
+#CHAPTER_TITLE_COLOR       Colorize chapter title? (boolean)
+#CLOSING                   Is there a closing (for letters)? (boolean)
+#COL_L_LENGTH              Line length of columns
+#COL_&lt;n&gt;_L_MARGIN          Left margin of column &lt;n&gt;
+#COL_NEXT                  Was COL_NEXT invoked? (boolean; used in
+                           FOOTER)
+#COL_NUM                   Incrementing counter of num of columns;
+                           for use with #COL_&lt;n&gt;_L_MARGIN
+#COL_TOTAL                 #COL_L_LENGTH + #GUTTER; used to calculate
+                           #COL_&lt;n&gt;_L_MARGIN
+#COLLATE                   Are we performing a COLLATE? (boolean)
+#COLLATED_DOC              If 1, instructs TOC that this is a collated
+                           doc
+#COLUMNS                   Are columns turned on? (boolean)
+#COLUMNS_WERE_ON           Stores columnar state prior to outputting
+                           endnotes in no-columns mode
+#COPY_STYLE                1=draft, 2=final
+#COUNTERS_RESET            Tells FOOTNOTE if fn counters have
+                           been reset because of footnotes gathered
+                           inside a diversion
+#COVER                     Print a COVER? (boolean)
+#COVER_ATTRIBUTE_COLOR     Colorize cover attribution string? (boolean)
+#COVER_AUTHOR              Put AUTHOR(s) on COVER? (boolean)
+#COVER_AUTHOR_COLOR        Colorize cover author(s)? (boolean)
+#COVER_BLANKPAGE           Output blankpage after COVER? (boolean)
+#COVER_COLOR               Colorize COVER? (boolean)
+#COVER_COPYRIGHT           Put copyright on COVER? (boolean)
+#COVER_COPYRIGHT_COLOR     Colorize cover copyright line? (boolean)
+#COVER_DOCTYPE             Put doctype on COVER? (boolean)
+#COVER_DOCTYPE_COLOR       Colorize cover doctype? (boolean)
+#COVER_END                 Are we ending a COVER? (boolean)
+#COVER_LEAD                Cover leading
+#COVER_MISC                Put misc on COVER? (boolean)
+#COVER_MISC_COLOR          Colorize cover misc line? (boolean)
+#COVER_RULE_WEIGHT         Doctype underline weight on COVER
+#COVER_RULE_WEIGHT_ADJ     COVER_RULE_WEIGHT/2
+#COVER_START_POS           Vertical starting pos of cover material
+#COVER_SUBTITLE            Put subtitle on COVER? (boolean)
+#COVER_TITLE               Put title on COVER? (boolean)
+#COVER_TITLE_NUM           Number of cover title items
+#COVER_TITLE_COLOR         Colorize cover title? (boolean)
+#COVER_SUBTITLE_COLOR      Colorize cover subtitle? (boolean)
+#COVER_UNDERLINE           Underline doctype on COVER? (boolean)
+#COVER_UNDERLINE_WEIGHT       Doctype underline weight on COVER
+#COVER_UNDERLINE_WEIGHT_ADJ   COVER_UNDERLINE_WEIGHT/2
+#CURRENT_V_POS             \n(.d ; used in SHIM
+#COVERS                    Print covers? (boolean)
+#COVERS_COUNT              Include COVER in pagination scheme? (boolean)
+#COVERS_OFF                Don't print COVERs (boolean)
+#DATE_FIRST                Was .DATE invoked as first letter
+                           header after .START? (boolean)
+dc                         "mark" register for document columns
+#DIVER_FN                  Register that tells FOOTNOTE whether to
+                           "move" or "defer" a footnote collected
+                           inside a diversion
+#DEFER_BIB_SPACING         Tells DEFAULTS to do BIBLIOGRAPHY_SPACING
+                           if it was called before START
+#DEFER_PAGINATION          Tells COLLATE to restore pagination (from
+                           RESTORE_PAGINATION
+#DEFER_SPACE_ADDED         Was space added between two "first" footnotes that
+                           appear on the same page? (boolean)
+#DELAY_SHIM                Instructs DO_QUOTE to delay SHIM when quote
+                           falls at the top of a page
+#DEPTH                     LIST depth
+#DEPTH_1                   Doc header depth with lead adjustment
+                           (#DOCHEADER_LINES * #DOCHEADER_LEAD)
+#DEPTH_2                   Doc header depth without lead adjustment
+                           (#DOCHEADER_LINES * #DOC_LEAD)
+#DEPTH_TO_B_MARGIN         Page length minus #B_MARGIN
+#DIVERSIONS_HY_MARGIN      A reasonable value for .hym applied to
+                           QUOTE, BLOCKQUOTE and EPIGRAPH to
+                           avoid excessive hyphenation if these are
+                           set quad left
+#DIVERTED                  Set to 1 in DIVERT_FN_OVERFLOW; reset
+                           subsequently in FOOTNOTES when called by
+                           PROCESS_FN_LEFTOVER to 2 or 3 for use by
+                           FOOTER to decide whether to in/decrease
+                           #FN_DEPTH when outputting footnotes
+#DOC_COVER                 Are we doing a DOC_COVER? (boolean)
+#DOC_COVER_AUTHOR          Put AUTHOR(s) on DOC_COVER? (boolean)
+#DOCCOVER_BLANKPAGE        Output blank page after DOC_COVER? (boolean)
+#DOC_COVER_CHAPTER_TITLE_COLOR  Colorize CHAPTER_TITLE on DOC_COVER? (boolean)
+#DOC_COVER_COPYRIGHT       Put copyright on DOC_COVER? (boolean)
+#DOC_COVER_DOCTYPE         Put doctype on DOC_COVER? (boolean)
+#DOCCOVER_END              Are we finishing a DOC_COVER? (boolean)
+#DOC_COVER_LEAD            Doc cover leading
+#DOC_COVER_MISC            Put misc on DOC_COVER? (boolean)
+#DOC_COVER_START_POS       Vertical starting pos of doc cover material
+#DOC_COVER_COLOR           Colorize cover? (boolean)
+#DOC_COVER_START_POS       Vertical starting pos of cover material
+#DOC_COVER_TITLE_COLOR     Colorize doc cover title? (boolean)
+#DOC_COVER_SUBTITLE_COLOR  Colorize doc cover subtitle? (boolean)
+#DOC_COVER_ATTRIBUTE_COLOR Colorize doc cover attribution string? (boolean)
+#DOC_COVER_AUTHOR_COLOR    Colorize doc cover author(s)? (boolean)
+#DOC_COVER_DOCTYPE_COLOR   Colorize doc cover doctype? (boolean)
+#DOC_COVER_COPYRIGHT_COLOR Colorize doc cover copyright line? (boolean)
+#DOC_COVER_MISC_COLOR      Colorize doc cover misc line? (boolean)
+#DOC_COVER_SUBTITLE        Put subtitle on DOC_COVER? (boolean)
+#DOC_COVER_TITLE           Put title on DOC_COVER? (boolean)
+#DOC_COVER_TITLE_NUM       Number of doc cover title items
+#DOC_COVERS                Print doc covers? (boolean)
+#DOC_COVERS_OFF            Don't print DOC_COVERs (boolean)
+#DOCCOVER_RULE_WEIGHT      Doctype underline weight on DOC_COVER
+#DOCCOVER_RULE_WEIGHT_ADJ  DOCCOVER_RULE_WEIGHT/2
+#DOCCOVER_UNDERLINE        Underline doctype on DOC_COVER? (boolean)
+#DOCCOVER_UNDERLINE_WEIGHT      Doctype underline weight on DOC_COVER
+#DOCCOVER_UNDERLINE_WEIGHT_ADJ  DOCCOVER_UNDERLINE_WEIGHT/2
+#DOCCOVERS_COUNT           Include DOC_COVER in pagination scheme? (boolean)
+#DOC_HEADER                Whether to print a doc header (boolean)
+#DOC_LEAD_ADJ              Incrementing value (in units) added to
+                           #DOC_LEAD to fill page to #B_MARGIN
+#DOC_LEAD                  Leading used in body
+#DOC_L_LENGTH              Global L_LENGTH
+#DOC_L_MARGIN              Global L_MARGIN
+#DOC_LR_MARGIN_TMP         In HEADER, if RECTO_VERSO=1, temporarily
+                           holds DOC_L_MARGIN during page margin switch
+#DOC_PT_SIZE               Point size used for body text
+#DOC_R_MARGIN              Global R_MARGIN
+#DOC_TYPE                  1=default, 2=chapter, 3=named, 4=letter
+#DOCHEADER_ADVANCE         Distance from top-of-page to baseline of
+                           docheader
+#DOCHEADER_COLOR           Colorize docheader? (boolean)
+#DOCHEADER_DEPTH           Depth of docheader
+#DOCHEADER_LEAD            Lead of doc header
+                           (#DOC_LEAD + #DOCHEADER_LEAD_ADJ)
+#DOC_LEAD_ADJUST_OFF       Don't adjust DOC_LEAD (boolean)
+#DOCS                      Always 1 after START
+#DOCTITLE_NUM              Number of doctitle items
+#DOCTYPE_COLOR             Colorize doctype? (boolean)
+#DOCTYPE_RULE_WEIGHT       Doctype underline weight
+#DOCTYPE_RULE_WEIGHT_ADJ   DOCTYPE_RULE_WEIGHT/2
+#DOCTYPE_UNDERLINE         Underline doctype? (boolean)
+#DOCTYPE_UNDERLINE_WEIGHT       Weight of doctype underline
+#DOCTYPE_UNDERLINE_WEIGHT_ADJ   DOCTYPE_UNDERLINE_WEIGHT/2
+#DOING_COVER               Tells PRINT_AUTHORS that it's printing
+                           the authors for a cover or doc cover
+#DONE_ONCE                 Keeps track of how many times footnotes
+                           have been collected inside the same diversion
+#DONT_RULE_ME              Rule this (apparent) first footnote? (boolean)
+#DIVER_LN_OFF              Turn linenumbering off in (block)quotes?
+                           (boolean)
+#DRAFT_WITH_PAGENUM        Are we attaching draft/revision info to page
+                           number? (boolean)
+#EM_ADJUST                 Amount to raise \(em at END
+#EN_ALLOWS_HEADERS         Put page headers on endnotes pages? (boolean)
+#EN_ALLOWS_HEADERS_ALL     Put page headers on all endnotes pages?
+                           (boolean)
+#EN_BQ_AUTOLEAD            Register created by EN_BLOCKQUOTE_AUTOLEAD
+#EN_BQ_LEAD                Leading of blockquotes on endnotes pages
+#EN_FIGURE_SPACE           Width of \0, for use with formatting endnotes
+#EN_FIRST_PAGE             Tells PRINT_PAGE_NUMBER about endnotes
+                           first page number
+#EN_FIRST_PN               Page number that appears on page 1 of
+                           endnotes pages.
+#EN_HDRFTR_CENTER          Should we print centre string of
+                           headers/footers on endnotes pages? (boolean)
+#EN_LEAD                   Lead of endnotes
+#EN_LN_BRACKETS            Are we using brackets for line-numbered
+                           endnotes (boolean)
+#EN_LN_SEP                 Are we using a separator for line-numbered
+                           endnotes (boolean)
+#EN_MARK                   \n(ln when \*[EN-MARK] is called
+#EN_MARK_2                 \n(ln when ENDNOTE is called
+#EN_MARKER_STYLE           1=NUMBER; 2=LINE
+#EN_NO_COLS                Do not set endnotes in columns? (boolean)
+#EN_NO_FIRST_PN            Put pagenumber on 1st page of endnotes?
+                           (boolean)
+#EN_NUMBER                 Number of current endnote
+#EN_NUMBER_PLACEHOLDERS    Number of placeholders to reserver for endnotes 
numbers
+#EN_NUMBERS_ALIGN_RIGHT    Hang and align endnote numbers right?
+                           (boolean)
+#EN_NUMBERS_ALIGN_LEFT     Align endnote numbers with left margin?
+                           (boolean)
+#EN_NUMBERS_PLACEHOLDERS   Number of placeholders when endnote numbers
+                           hang and align right
+#EN_NUMBER_L_LENGTH        Line length for endnote numbers when they're
+                           right aligned
+#EN_PP_INDENT              First line indent of paras in multi-para
+                           endnotes
+#EN_PP_SPACE               Space multi-paras in endnotes? (boolean)
+#EN_PS                     ps of endnotes
+#EN_Q_AUTOLEAD             Register created by EN_QUOTE_AUTOLEAD
+#EN_Q_LEAD                 Leading of quotes on endnotes pages
+#EN_REF                    Put REFs in endnotes? (boolean)
+#EN_SINGLESPACE            Single space endnotes pages? (boolean)
+#EN_STRING_ADVANCE         Vertical position of "ENDNOTES" string (relative to
+                           the top edge of the page)
+#EN_STRING_CAPS            Should ENDNOTES capitalize the endnotes
+                           string? (boolean)
+#EN_STRING_UNDERLINE       Underscore endnotes page head? (boolean)
+#EN_STRING_UNDERLINE_WEIGHT       Weight of endnotes page title underscore
+#EN_STRING_UNDERLINE_WEIGHT_ADJ   EN_STRING_UNDERLINE_WEIGHT_ADJ/2
+#EN_TEXT_INDENT            Page offset for text of endnotes when
+                           numbers right align
+#EN_TITLE_UNDERLINE        Underscore endnotes document identifier?
+                           (boolean)
+#EN_TITLE_UNDERLINE_WEIGHT       Weight of endnotes document identification 
underscore
+#EN_TITLE_UNDERLINE_WEIGHT_ADJ   EN_STRING_UNDERLINE_WEIGHT_ADJ/2
+#END_QUOTE                 For PP=0 indenting; did we just end a quote?
+                           (boolean)
+#ENDNOTE                   Are we in an endnote? (boolean)
+#ENDNOTE_REFS              Are REFs going to endnotes? (boolean)
+#ENDNOTES                  Are we in an endnote (for FOOTERs; boolean)
+#EPI_ACTIVE                Are we in an epigraph? (boolean)
+#EPI_AUTOLEAD              Autolead value for epigraphs
+#EPI_COLOR                 Colorize epigraphs? (boolean)
+#EPI_DEPTH                 Depth of epigraph from first baseline to
+                           last
+#EPI_FITS                  Does epigraph fit on page/column? (boolean)
+#EPIGRAPH                  Did we have an epigraph? (boolean) 
+#EPI_LEAD_DIFF             Difference between #DOC_LEAD and #EPI_LEAD
+#EPI_LEAD                  Leading of epigraph; set by AUTOLEAD
+#EPI_LINES_EVEN            Even # of lines at end of epi crossing page in
+                           TYPEWRITE (d-spaced)?
+#EPI_LINES                 Number of lines in the epigraph
+#EPI_LINES_TO_END          Number of epigraph lines remaining after
+                           footer trap is sprung
+#EPI_LINES_TO_TRAP         Number of epigraph lines till footer trap is
+                           sprung
+#EPI_L_LENGTH              Epigraph line length
+#EPI_OFFSET                Left margin of epigraphs
+#EPI_OFFSET_VALUE          Epigraph indent as a function of page offset
+#EPI_ON                    Are we in an epigraph? (boolean)
+#EPI_WHITESPACE            Space after epigraph to compensate for
+                           epigraph leading
+#FIELD                     Incrementing register tacked onto LETTERHEAD
+#FINIS                     Was FINIS invoked? (boolean)
+#FINIS_STRING_CAPS         Capitalize finis string? (boolean)
+#FINIS_COLOR               Colorize FINIS? (boolean)
+#FIRST_DOC_TITLE_PN        Page number of 1st (collated) doc (for TOC)
+#FIRST_DOC_TOC_PN_PADDING  Padding for 1st page number of 1st (collated) doc 
(for TOC)
+#FN_AUTOLEAD               Autolead value of footnotes
+#FN_BL_INDENT              Left indent of INDENT BOTH in footnotes
+#FN_BR_INDENT              Right indent of INDENT BOTH in footnotes
+#FN_COUNT                  Which fn marker to print; also to
+                           tell mom to reserve space for and print
+                           the rule above footnotes
+#FN_COUNT_AT_FOOTER        The FN_COUNT after FOOTNOTES has been
+                           output in FOOTER
+#FN_COUNT_FOR_COLS         Holds a separate footnote count for columns
+                           (so they don't reset to 0 1 until page break)
+#FN_DEFER                  Defer footnote to next page/column? (boolean)
+                           If 0, don't defer.
+#FN_DEFER_SPACE            Whether to deposit space before
+                           footnote 1 because there's a deferred
+                           footnote on the page
+#FN_DEPTH                  Depth of footnote diversion(s)
+#FN_FOR_EPI                Signals to epigraph that a footnote is being
+                           processed
+#FN_GAP                    When there are footnotes on a page, the
+                           difference between where FOOTER will be
+                           sprung and the next valid baseline.
+                           Used in VFP_CHECK.
+#FN_LEAD                   Lead in footnotes after FN_AUTOLEAD is
+                           applied
+#FN_L_INDENT               Left indent of INDENT LEFT in footnotes
+#FN_LINES                  Number of lines in fn; used to calculate
+                           fn depth
+#FN_LN_BRACKETS            Are footnote linenumber brackets being used?
+                           (boolean)
+#FN_LN_SEP                 Is a footnote linenumber separator being used?
+                           (boolean)
+#FN_MARK                   \n(ln when \*[FN-MARK] is called
+#FN_MARK_2                 \n(nl when FOOTNOTE is called
+#FN_MARKER_STYLE           1=STAR; 2=NUMBER
+#FN_MARKERS                Print footnote markers? (boolean)
+#FN_NUMBER                 The footnote number attached to running text
+                           (and fns) when numbers instead of
+                           star/dagger is being used for footnootes
+                           numbers
+#FN_OVERFLOW_DEPTH         Depth of leftover from footnote processing
+#FN_OVERFLOW_TRAP_POS      The register that sets the position of
+                           trap FN_OVERFLOW_TRAP.
+#FN_R_INDENT               Right indent of INDENT RIGHT in footnotes
+#FN_REF                    Put REFs in footnotes? (boolean)
+#FN_RULE                   Print fn rule? (boolean)
+#FN_RULE_ADJ               # of points to raise footnote separator from
+                           its baseline
+#FN_RULE_LENGTH            Length of footnote separator rule
+#FN_RULE_WEIGHT            Weight of the footnote separator rule
+#FN_RULE_WEIGHT_ADJ        FN_RULE_WEIGHT/2
+#FN_SPACE                  Post footnote space
+#FN_WAS_DEFERED            Tells HEADER about a deferred footnote
+#FOOTER_DIFF               In TRAPS, the difference between the
+                           original #B_MARGIN and #VISUAL_B_MARGIN
+#FOOTER_GAP                Amount of space between end of text and
+                           page #
+#FOOTER_MARGIN             Amount of space between page # and bottom
+                           of page
+#FOOTER_POS                Position of footer trap (required for
+                           collecting footnotes inside a diversion)
+#FOOTER_RULE               Print footer rule? (boolean)
+#FOOTER_RULE_GAP           Gap between footer and separator rule above
+#FOOTER_RULE_WEIGHT        Weight of footer rule
+#FOOTER_RULE_WEIGHT_ADJ    #FOOTER_RULE_WEIGHT/2
+#FOOTERS_ON                Are we using footers? (boolean)
+#FOOTERS_WERE_ON           Were footers on? - used in FINIS and BLANKPAGE
+                           (boolean)
+#FOOTNOTE_COLOR            Colorize footnotes? (boolean)
+#FROM_BIB_STRING           Tells UNDERSCORE it's underscoring $BIB_STRING
+#FROM_COVER                Tells UNDERSCORE it's underscoring on a cover
+#FROM_DOC_COVER            Tells UNDERSCORE it's underscoring on a doccover
+#FROM_DOCTYPE              Tells UNDERSCORE it's underscoring the doctype
+#FROM_EN_STRING            Tells UNDERSCORE it's underscoring $EN_STRING
+#FROM_EN_TITLE             Tells UNDERSCORE it's underscoring $EN_TITLE
+#FROM_HEAD                 Tells UNDERSCORE it's underscoring a head
+#FROM_DIVERT_FN            Signals to FOOTNOTE, when run from
+                           within DIVERT_FN_LEFTOVER, to set #SPACE_REMAINING
+                           to the total area allowable for running text
+#FROM_FOOTER               In col to col footnote processing, tells
+                           FOOTNOTE that FOOTNOTES was output from
+                           FOOTER.
+#FROM_HEADER               In col to col footnote processing, tells
+                           FOOTNOTE that FOOTNOTES was output from
+                           HEADER.
+#FULLSPACE_QUOTES          Should we fullspace quotes? (boolean)
+#GET_DC_HEIGHT             Used in routine to get the correct point size for 
dropcaps
+#GET_DEPTH                 Signals to FOOTNOTE that it should
+                           measure the depth of current footnotes
+                           plus the most recently added one, except
+                           where the footnote is to be deferred to
+                           the next page or column
+#GUTTER                    Width of gutter between columns
+#HDRFTR_BOTH               Are we setting both headers and footers?  (boolean)
+#HDRFTR_CENTER_CAPS        CENTER part of header/footer in caps?
+                           (boolean; default=off)
+#HDRFTR_CENTER_COLOR       Colorize header/footer center? (boolean)
+#HDRFTR_COLOR              Colorize headers/footers? (boolean)
+#HDRFTR_CTR_PAD_LEFT       Amount of hdrftr CENTER padding on the left
+#HDRFTR_CTR_PAD_RIGHT      Amount of hdrftr CENTER padding on the right
+#HDRFTR_CTR_PAD_TMP        Temp storage of left hdrftr CENTER padding
+                           (for recto/verso switch)
+#HDRFTR_HEIGHT             Cap height of $HDRFTR_RECTO/$HDRFTR_VERSO
+                           strings
+#HDRFTR_LEFT_CAPS          Left part of header/footer in caps?
+                           (boolean; default=off)
+#HDRFTR_LEFT_COLOR         Colorize header/footer left? (boolean)
+#HDRFTR_PT_SIZE            Initial point size of headers/footers
+#HDRFTR_RIGHT_CAPS         Right part of header/footer in caps?
+                           (boolean; default=on)
+#HDRFTR_RIGHT_COLOR        Colorize header/footer right? (boolean)
+#HDRFTR_RULE               Print head/footer rule? (boolean)
+#HDRFTR_RULE_COLOR         Colorize header/footer rule? (boolean)
+#HDRFTR_RULE_GAP           Space between header/footer and
+                           header/footer rule
+#HDRFTR_RULE_WEIGHT        Weight of header/footer rule
+#HDRFTR_RULE_WEIGHT_ADJ    HDRFTR_RULE_WEIGHT/2
+#HDRFTR_TMP_CAPS_SWITCH    Temporarily holds HDRFTR_LEFT_CAPS value if
+                           #SWITCH_HDRFTR=1
+#HEAD                      1=main/section head 2=subhead
+#HEAD_CAPS                 Print section titles in caps? (boolean)
+#HEAD_COLOR                Colorize heads? (boolean)
+#HEADER_GAP                Distance from header to running text
+#HEAD_NUM                  Head number
+#HEAD_SPACE                2 line spaces before heads? (boolean)
+#HEAD_UNDERLINE            Underline heads? (boolean)
+#HEAD_UNDERLINE_WEIGHT     Head underline weight
+#HEAD_UNDERLINE_WEIGHT_ADJ HEAD_UNDERLINE_WEIGHT/2
+#HEADER_MARGIN             Distance from top of page to header
+#HEADER_RULE               Print header rule? (boolean)
+#HEADER_RULE_GAP           Gap between header and header rule
+#HEADER_RULE_WEIGHT        Header rule weight
+#HEADER_RULE_WEIGHT_ADJ    HEADER_RULE_WEIGHT/2
+#HEADERS_ON                Headers on? (boolean)
+#HEADER_STATE              Saves header state in COLLATE for use in
+                           START after COLLATE
+#HEADERS_WERE_ON           Were headers on? - used in BLANKPAGE (boolean)
+#HF_OFF                    Has HEADERS_AND_FOOTERS been turned off? (boolean)
+#HORIZ_MARK                Horizontal 
+#HOW_MANY                  Number of blank pages to output
+#IGNORE                    Should we ignore this macro? Set to 1 in
+                           TYPEWRITE.
+#IN_BIB_LIST               Tells ITEM we're doing a bibliography in
+                           list style
+#INDENT_FIRST_PARAS        Indent first paras? (boolean)
+#INDENT_FIRSTS             Tells footnotes to leave INDENT_FIRST_PARAS
+                           alone if it's on for running text.
+#ITALIC_MEANS_ITALIC       For TYPEWRITE. (boolean)
+#ITEM                      Counter for removing _1, _2, _3... strings
+                           in TITLE, CHAPTER_TITLE, etc.
+#L_LENGTH_FOR_EPI          Stores line length at top of doc for use
+                           with EPIGRAPH when columns are on
+#L_MARGIN_DIFF             Difference between DOC_L_MARGIN and
+                           L_MARGIN
+#LEFT_CAP_HEIGHT           Cap height of left string in headers/footers
+#VALID_BASELINE            Calculates vert. position of next valid
+                           baseline in SHIM
+#LETTER_STYLE              1=BUSINESS 2=PERSONAL
+#LINEBREAK                 Did we have a linebreak? (boolean)
+#LINEBREAK_COLOR           Colorize linebreak? (boolean)
+#LINENUMBER_COLOR          Colorize linenumbers? (boolean)
+#LINENUMBERS               Holds various states of line-numbering when
+                           line numbering is enabled
+#LINES_PER_PAGE            # of lines (at DOC_LEAD) that fit on
+                           page after #B_MARGIN is set
+#LN                        Are line numbers on? (boolean)
+MN-active                  Are we doing a margin note? (boolean)
+MN-curr                    Current margin note
+MN-div-&lt;n&gt;-depth           Depth of margin note &lt;n&gt;
+MN-hy                      Hyphenation flag of margin notes
+#MNinit                    Have margin notes been initialized? (boolean)
+#MNinit_DEFERRED           Did we have to defer a margin note? (boolean)
+MN-last-pos                Baseline of previous margin note
+MN-lead-adj                Difference between the current DOC_LEAD and the
+                           leading used in margin notes
+MN-left                    Number of current left margin note
+MN-left-start              Horizontal start position of left margin note
+MN-left-width              Width of left margin note
+MN-right                   Number of current right margin note
+MN-right-start             Horizontal start position of right margin note
+MN-right-width             Width of right margin note
+MN-sep                     Gutter between margin notes and running text
+MN-shifted                 Did we have to shift a margin note down? (boolean)
+MN-size                    Point size of margin notes
+MN-spacing                 Leading of margin notes
+#MISC_&lt;n&gt;            Used to print "next" misc lines in DO_COVER
+#MISC_COVER_NUM            Number of cover misc items
+#MISC_DOCCOVER_NUM         Number od doc cover misc items
+#MISC_NUM                  Number of MISC items
+#MISCS                     =#MISC_NUM in DO_COVER
+#MN_OVERFLOW_LEFT          If 1, left margin note text overflows
+#MN_OVERFLOW_RIGHT         If 1, right margin note text overflows
+#n%_AT_PAGENUM_SET         Page # from n% when PAGENUMBER invoked
+#NEEDS_SPACE               Instruct FOOTNOTE, when called by
+                           PROCESS_FN_IN_DIVER, that if the footnote
+                           had to be deferred, the VFP must be
+                           raised by 1v (set in DIVER_FN_2_PRE)
+#NEITHER                   Should we print no covers? (boolean)
+#NEXT_AUTHOR               Supplies correct digit to AUTHOR_&lt;n&gt;
+                           when printing authors in doc header
+#NEXT_LN                   Next linenumber when \n(ln has to be stored
+                           because linenumbering suspended
+#NEXT_MISC                 Incrementing counter for misc lines in
+                           DO_COVER
+#NEXT_SUBTITLE             Incrementing register used to print subtitles
+#no-repeat-MN-left         Don't repeat left margin note (boolean)
+#no-repeat-MN-right        Don't repeat right margin note (boolean)
+#NO_BACK_UP                Instructs FN_OVERFLOW_TRAP not to
+                           subtract 1 line of footnote lead from
+                           FN_OVERFLOW in a PREV_FN_DEFERRED
+                           situation.
+#NO_BREAK                  Set to 1 in COLLATE if last line of
+                           text before COLLATE falls at the bottom
+                           of the page; instructs NEWPAGE to use
+                           'br instead of .br
+#NO_COLUMNS                Don't print document in columns (boolean)
+#NO_FN_MARKER              Don't print footnote markers (boolean)
+#NO_SHIM                   Should SHIM shim? (boolean)
+#NO_SPACE                  When para spacing is active, instructs
+                           PP not to add space after a quote or blockquote.
+#NO_TRAP_RESET             Should we reset page traps? (boolean)
+#NOT_YET_ADJUSTED          Line on which a footnote was called has not yet
+                           been adjusted by groff (boolean)
+#NUM_AUTHORS               # of authors mod 2 to test if odd or even
+                           # of authors
+#NUM_MISCS                 Number of args passed to MISC
+#NUM_MISCS_COVER           Number of args passed to MISC COVER
+#NUM_MISCS_DOCCOVER        Number of args passed to MISC DOC_COVER
+#NUMBER_HEAD               Are heads numbered? (boolean)
+#NUMBER_PH                 Are paraheads numbered? (boolean)
+#NUMBER_SH                 Are subheads numbered? (boolean)
+#NUM_COLS                  Number of columns per page
+#NUMBERED                  If set to 1, lets PARAHEAD know that
+                           main- and subhead numbers have already been prefixed
+                           to the parahead string
+#NUM_FIELDS                Incrementing register used to match
+                           #TOTAL_FIELDS
+#OK_PROCESS_LEAD           Initial processing of TOC and endnote
+                           leading is deferred until OK_PROCESS_LEAD=1
+#ORIGINAL_B_MARGIN         The value for #B_MARGIN as set by the
+                           macro B_MARGIN
+#ORIG_DOC_LEAD             DOC_LEAD before endnotes, bibliographies, tocs
+#ORIG_L_LENGTH             \\n(.l before starting LISTs
+#ORIGINAL_DOC_LEAD         The lead for PRINT_STYLE 1 as set in
+                           PRINTSTYLE; required so that PRINT_STYLE 1
+                           footnotes have an unadjusted lead of
+                           12 points
+#OVERFLOW                  Signals to FOOTNOTE that some of the
+                           footnote text won't fit on the page
+#OVERFLOW_LEFT             Does left margin note overflow? (boolean)
+#OVERFLOW_RIGHT            Does right margin note overflow? (boolean)  
+#P                         Page number for margin notes
+#PAD_LIST_DIGITS&lt;n&gt;        Pad LIST digits for LIST &lt;n&gt;? (boolean)
+#PAGE_NUM_ADJ              What to add to n% to get #PAGENUMBER
+#PAGE_NUM_H_POS            1=left 2=CENTER 3=right; default=2
+#PAGE_NUM_COLOR            Colorize pagenumbers? (boolean)
+#PAGE_NUM_HYPHENS          Print hyphens surrounding page numbers?
+                           (boolean)
+#PAGE_NUM_HYPHENS_SET      Did user set (or unset) hyphens around page
+                           numbers? (boolean)
+#PAGE_NUM_POS_SET          Did user set page number position? (boolean)
+#PAGE_NUM_SET              Test if PAGE_1_NUM was used to set 1st page
+                           number
+#PAGE_NUM_V_POS            1=top 2=bottom; default=2
+#PAGE_NUMS                 Print page numbers? (boolean)
+#PAGE_POS                  Exact position on page during a diversion
+                           (required for collecting footnotes inside
+                           a diversion)
+#PAGE_TOP                  \n(nl after HEADER completes itself
+#PAGENUM_STYLE_SET         Did we set pagenumber style? (boolean)
+#PAGENUMBER                The page number
+#PAGES                     Number of blank pages to output
+#PAGINATE                  Are we paginating? (boolean)
+#PAGINATE_TOC              Is toc pagination on? (boolean)
+#PAGINATE_WAS_ON           Keeps track of pagination state while
+                           outputting blank pages
+#PAGINATION_STATE          Saves pagination state in COLLATE for use in
+                           START after a COLLATE
+#PAGINATION_WAS_ON         Was pagination on? - used in FINIS (boolean)
+#PH_COLOR                  Colorize paraheads? (boolean)
+#PH_INDENT                 Size of parahead indent
+#PH_NUM                    Parahead number
+#PP                        0 at first para; auto-increments
+#PP_AT_PAGE_BREAK          # of last (incl. partial) para on page
+#PP_INDENT                 How much to indent paras
+#PP_SPACE                  Put space before paras? (boolean)
+#PP_SPACE_SUSPEND          Suspend para spacing for blockquotes and
+                           epigraphs
+#PP_STYLE_PREV             In footnotes, stores PP style in effect
+                           prior to invoking FOOTNOTE
+#PP_STYLE                  Regular para=1; quote or epi para=2
+#PRE_COLLATE               Set to 1 in COLLATE; prevents FAMILY
+                           from clobbering a user-set DOC_FAMILY
+#PREFIX_CH_NUM             Prefix the chapter number to numbered
+                           heads, subheads and/or paraheads? (boolean)
+#PREV_FN_DEFERRED          Was previous footnote deferred? (boolean)
+#PRINT_PAGENUM_ON_PAGE_1   Should we print the page number on first
+                           page of doc when footers are on? (boolean)
+#PRINT_STYLE               Typewrite=1, typeset=2
+#PT_SIZE_IN_UNITS          Stored value of \n[.ps] from last time
+                           PT_SIZE was called
+#Q_AUTOLEAD                Register created by QUOTE_AUTOLEAD
+#Q_DEPTH                   Depth of quote
+#Q_FITS                    Does this quote fit on one page/column?
+                           (boolean)
+#Q_LEAD                    Leading of quotes
+#Q_LEAD_DIFF               Difference between leading of running text
+                           and the leading used in quotes/blockquotes
+#Q_LEAD_REAL               Leading of quotes and blockquotes saved at the
+                           ends of their respective diversions
+#Q_L_LENGTH                Line length of quotes
+#Q_OFFSET                  Page offset for quotes
+#Q_OFFSET_VALUE            Factor by which to multiply PP_INDENT to
+                           offset quotes
+#Q_PARTIAL_DEPTH           The amount of a quote/blockquote that fits at
+                           the bottom of a page when a quote/blockquote
+                           spans pages
+#Q_PP                      In PP, stores para # in QUOTE.  Removed in
+                           ENDQUOTE.
+#Q_SPACE_ADJ               The flexible amount of whitespace to add before
+                           and after a quote/blockquote
+#Q_TOP                     Vertical place on page that a quote starts
+#QUOTE                     1=PQUOTE, 2=BQUOTE
+#QUOTE_COLOR               Colorize quotes (poetic)? (boolean)
+#QUOTE_LN                  Linenumber quotes? (boolean)
+#RECTO_VERSO               Switch HEADER_LEFT and HEADER_RIGHT on
+                           alternate pages? (boolean)
+ref*suppress-period        Suppress period at end of ref field? (boolean)
+ref*type                   Kind of reference we're building
+#REF                       Was REF called? (boolean)
+#REF_HY                    Hyphenate REFs? (boolean)
+#REF_WARNING               Have we issued a ref warning? (boolean)
+#REPEAT                    Number of times to repeat linebreak
+                           character
+#RERUN_TRAPS               Should we invoke TRAPS? (boolean)
+#RESERVED_SPACE            Just enough room to put 1 more line of
+                           footnotes on the page
+#RESET_EN_PP               Holds value of register #EN_PP_INDENT
+#RESET_EN_PP_INDENT        Holds value of register #EN_PP_INDENT
+#RESET_FN_COUNTERS         1 = "moved" footnote collected in a diversion
+                           2 = "deferred" fn collected in a diversion
+#RESET_FN_NUMBER           Should fn# start at 1 on every page?
+                           (boolean)
+#RESET_L_LENGTH            Stores current line length when necessary
+#RESET_PARA_SPACE          Holds current value of boolean register
+                           #PP_SPACE
+#RESET_PP_INDENT           Stores value of PP_INDENT when needed
+#RESET_QUOTE_SPACING       Stores value of boolean register
+                           #FULLSPACE_QUOTES (used in endnotes)
+#RESTORE_ADJ_DOC_LEAD      Stores value of #ADJ_DOC_LEAD whenever needed
+#RESTORE_B_MARGIN          Stores #B_MARGIN whenever needed
+#RESTORE_DOC_LEAD          Stores value of current doc lead (used in
+                           endnotes)
+#RESTORE_HY                Restore hyphenation after .][? (boolean)
+#RESTORE_INDENT            Store \n(.i whenever needed
+#RESTORE_L_LENGTH          Stores \n(.l whenever needed
+#RESTORE_LN_NUM            Should we restore line numbering? (boolean)
+#RESTORE_OFFSET            Page offset at moment footer trap is sprung;
+                           not currently used
+#RESTORE_TOC_PN_PADDING    Saves #TOC_PN_PADDING in TOC prior to
+                           processing $FIRST_DOC_TITLE
+#RESTORE_UNDERLINE         Instructs CODE OFF to restore underlining of italics
+                           (TYPEWRITE) if underlining was formerly on 
+#RIGHT_CAP_HEIGHT          Cap height of right string in
+                           headers/footers
+#RULED                     Tells FOOTNOTE if a rule (or space has been
+                           put above the first footnote on the page
+#RUNON_FN_IN_DIVER         If #LN=1, if we're in a (block)quote, instructs
+                           FOOTNOTE to unformat diversion RUNON_FN_IN_DIVER
+#RUNON_FOOTNOTES           If #LN=1, instructs FOOTNOTE to unformat
+                           diversion RUNON_FOOTNOTES
+#RUN_ON                    Are we using run-on footnotes? (boolean)
+#SAVED_DIVER_FN_COUNT      In the case of a footnote inside a
+                           diversion that should be treated as a
+                           "normal" footnote, FOOTNOTE needs to
+                           distinguish between a "normal" deferred
+                           footnote (always the 1st footnote on the
+                           page) and one that only looks as if
+                           it should be deferred, when, in fact,
+                           it's an overflow; this register lets
+                           FOOTNOTE know whether the diversion
+                           footnote is, in fact, the first on the
+                           page.
+#SAVED_DOC_LEAD            Stored value of #DOC_LEAD (used in DEFAULTS after a 
COLLATE)
+#SAVED_FN_COUNT            #FN_COUNT+1 prior to +#FN_COUNT; used
+                           in FOOTNOTES while gathering fns inside
+                           diversions
+#SAVED_FN_COUNT_FOR_COLS   #FN_COUNT_FOR_COLS+1 prior to
+                           +#FN_COUNT_FOR_COLS; used in FOOTNOTES
+                           while gathering fns inside diversions
+#SAVED_FN_DEPTH_1          Footnote depth prior to adding footnote
+                           diversion depth to FN_DEPTH; used when
+                           footnote text will overflow
+#SAVED_FN_DEPTH_2          Footnote depth after to adding footnote
+                           diversion depth to FN_DEPTH; used when
+                           footnote text will overflow
+#SAVED_FN_NUMBER           Stores current FN_NUMBER whenever needed
+#SAVED_FOOTER_POS          Position of FOOTER in DO_QUOTE (hack)
+#SAVED_LEAD                In FOOTER and DO_FOOTER, stores the
+                           lead in effect prior to outputting
+                           FOOTNOTES or performing either
+                           PROCESS_FN_LEFTOVER or
+                           PROCESS_FN_IN_DIVERSION; both the
+                           diversion FOOTNOTES and the two macros
+                           have, for PRINT_STYLE 2, an AUTOLEAD
+                           call, which requires that an LS be
+                           performed with the #SAVED_LEAD in
+                           order to remove register #AUTO_LEAD or
+                           #AUTO_LEAD_FACTOR.
+#SAVED_UNDERSCORE_WEIGHT       Stores underscore weight whenever needed
+#SAVED_UNDERSCORE_WEIGHT_ADJ   SAVED_UNDERSCORE_WEIGHT/2
+#SAVED_VFP                 Store variable footer position whenever needed
+#SAVED_WEIGHT              Stores weight given to RULE_WEIGHT whenever needed
+#SAVED_WEIGHT_ADJ          SAVED_UNDERSCORE_WEIGHT/2
+#SEP_TYPE                  Set to 1 if LIST separator is ( or [ or {
+#SH_COLOR                  Colorize subheads? (boolean)
+#SH_LEAD_ADJUST            #DOC_LEAD/8 (TYPESET) or /2 (TYPEWRITE)
+                           (used for subhead spacing)
+#SH_NUM                    Subhead number
+#SHIM                      Amount of lead required to advance to
+                           next valid baseline
+#SILENT_BQUOTE_LN          "Silently" linenumber blockquotes? (boolean)
+#SILENT_QUOTE_LN           "Silently" linenumber quotes? (boolean)
+#SINGLE_SPACE              Is TYPEWRITE in single space mode? (boolean)
+#SKIP_FOOTER               If 1, instructs DO_FOOTER to do nothing
+                           if B_MARGIN falls below FOOTER_MARGIN
+#SLANT_MEANS_SLANT         For TYPEWRITE. (boolean)
+#SLANT_WAS_ON              Keeps track of SLANT when it needs to go off
+                           for a while
+#SPACE_REMAINING           Space remaining to footer trap; used to
+                           decide whether or not to defer a footnote
+#SPACE_TO_FOOTER           Distance to FOOTER trap; used to calculate
+                           available space when FOOTNOTE is called inside
+                           a diversion
+#SR_ADJ_FACTOR             An adjustment factor that compensates
+                           for the fact that #SPACE_REMAINING
+                           sometimes reports a fractionally larger
+                           space than is actually available for
+                           footnote text.
+#START                     If 1, signals completion of START
+#START_FOR_FOOTERS         Toggle set in START; signals to
+                           PRINT_HDRFTR that START has been invoked,
+                           allowing PRINT_HDRFTR to decide whether or
+                           not to print a footer on page 1
+#START_FOR_MNinit          If 1, defer processing MN_INIT until #START
+#STORED_PP_INDENT          Temporarily holds value of #PP_INDENT
+#SUBTITLE_COLOR            Colorize subtitle? (boolean)
+#SUBTITLE_COVER_NUM        Incrementing register used to define strings
+                           $SUBTITLE_COVER_&lt;n&gt;
+#SUBTITLE_DOCCOVER_NUM     Incrementing register used to define strings
+                           $SUBTITLE_DOCCOVER_&lt;n&gt;
+#SUBTITLE_NUM              Incrementing register used to define strings
+                           $SUBTITLE_&lt;n&gt;
+#SUBTITLES                 Holds number of subtitle items
+#SUITE                     Current page number (for letters)
+#SUP_PT_SIZE               Point size of superscript
+#SUSPEND_PAGINATION        Suspend pagination prior to endnotes?
+#SWITCH_HDRFTR             Switch HDRFTR_LEFT and HDRFTR_RIGHT?
+                           (boolean)
+#T_MARGIN_LEAD_ADJ         \n(.v-12000; ensures critically accurate
+                           placement of first lines on pages when
+                           doc processing is not being used and
+                           a T_MARGIN has been set
+#TAB_OFFSET#               "#" at the end is from $CURRENT_TAB
+#TERMINATE                 Has TERMINATE been called? (boolean)
+#TITLE_COLOR               Colorize title? (boolean)
+#TITLE_NUM                 Number of title items
+#TOC_AUTHORS               Whether to append author(s) to toc doc
+                           title entries (boolean)
+#TOC_ENTRY_PN              Current page number when a toc entry is
+                           collected
+#TOC_FIRST_PAGE            If 1, tells PRINT_PAGE_NUMBER that this
+                           is the first page of the toc
+#TOC_LEAD                  Leading of toc pages
+#TOC_PN_PADDING            Max. # of placeholders for toc entries
+                           page numbers
+#TOC_PS                    Point size of toc pages
+#TOC_RV_SWITCH             Switch L/R margins of toc pages
+#TOC_HEAD_INDENT           Indent of toc head entries
+#TOC_HEAD_SIZE_CHANGE      ps in/decrease of toc head entries****
+#TOC_PH_INDENT             Indent of toc parahead entries
+#TOC_PH_SIZE_CHANGE        ps in/decrease of toc parahead entries****
+#TOC_SH_INDENT             Indent of toc subhead entries
+#TOC_SH_SIZE_CHANGE        ps in/decrease of toc subhead entries****
+#TOC_TITLE_INDENT          Indent of toc doc title entries
+#TOC_TITLE_SIZE_CHANGE     ps in/decrease of toc doc title entries****
+#TOTAL_FIELDS              Total number of letter header fields
+#TRAP                      \n(.t-1 (used in DO_QUOTE)
+#UNDERLINE_ITALIC          For TYPEWRITE. (boolean)
+#UNDERLINE_ON              Was UNDERLINE called? (boolean)
+#UNDERLINE_QUOTES          Was UNDERLINE_QUOTES called? (boolean)
+#UNDERLINE_QUOTE           Underline pquotes? (boolean)
+#UNDERLINE_SLANT           For TYPEWRITE. (boolean)
+#UNDERLINE_WAS_ON          In HEADER to re-enable running text
+                           UNDERLINE (boolean)
+#USER_DEF_HDRFTR_CENTER    Has user defined hdrftr center? (boolean)
+#USER_DEF_HDRFTR_LEFT      Has user defined hdrftr left? (boolean)
+#USER_DEF_HDRFTR_RIGHT     Has user defined hdrftr right? (boolean)
+#USER_DEF_HEADER_CENTER    User defined CENTER title? (boolean);
+                           used in COPYSTYLE
+#USER_DEF_HEADER_LEFT      User defined CENTER title? (boolean);
+                           used in COPYSTYLE
+#USER_DEF_HEADER_RIGHT     User defined CENTER title? (boolean)
+                           used in COPYSTYLE
+#USERDEF_HDRFTR            User defined single string recto/verso
+                           header/footer? (boolean)
+#USERDEF_HDRFTR_RECTO_QUAD 1=left, 2=CENTER, 3=right
+#USERDEF_HDRFTR_VERSO_QUAD 1=left, 2=CENTER, 3=right
+#VARIABLE_FOOTER_POS       Wandering trap position for processing
+                           footnotes and footers; pos depends on number of
+                           footnotes
+#VISUAL_B_MARGIN           Set in TRAPS, what \n(nl would report
+                           on the last line of running text before
+                           FOOTER is sprung.
+#VFP_DIFF                  #FN_DEPTH minus #SAVED_FN_DEPTH; the
+                           number of footnote lines that will fit
+                           on the page when there will be over, and
+                           therefore the amount by which to raise
+                           the VFP for footnotes with overflow after
+                           the 1st footnote.
+y                          Vertical position stored with mk in hdrftrs.
+ 
++++STRINGS+++
+
+$1ST_LETTER                      First letter of first arg to LIST
+$ADJUST_BIB_LEAD                 2nd arg to BIBLIOGRAPHY_LEAD; if not blank
+                                 adjust bib leading
+$ADJUST_EN_LEAD                  2nd arg to ENDNOTE_LEAD; if not blank adjust
+                                 endnote leading
+$ADJUST_TOC_LEAD                 2nd arg to TOC_LEAD; if not blank adjust
+                                 toc leading
+$ATTRIBUTE_COLOR                 Attribution string color
+$ATTRIBUTE_STRING                Attribution string in doc header
+$ATTRIBUTE_STRING_COVER          Attribution string on cover
+$ATTRIBUTE_STRING_DOCCOVER       Attribution string on doc cover
+$AUTHOR_&lt;n&gt;                      Document author(s)
+$AUTHOR                          The author, or the first argument
+                                 passed to .AUTHOR ($AUTHOR_1)
+$AUTHOR_COLOR                    Author color
+$AUTHOR_COVER_&lt;n&gt;                Author(s) on cover
+$AUTHOR_DOCCOVER_&lt;n&gt;             Author(s) on doc cover
+$AUTHOR_FAM                      Family to use for author in doc header
+$AUTHOR_FT                       Font to use for author in doc header
+$AUTHOR_SIZE_CHANGE              ps in/decrease of author in doc header*
+$AUTHOR_PT_SIZE                  Absolute ps of authors
+$AUTHORS                         Comma-separated concatenated
+                                 string of all args passed to .AUTHOR
+$BIB_FAM                         Bibliography page family
+$BIB_FT                          Bibliography page font
+$BIB_LEAD                        Base leading for bibliographies
+$BIB_LIST_SEPARATOR              Separator between enumerator and text
+                                 when outputting bibliographies in LIST style
+$BIB_LIST_PREFIX                 Prefix before enumerator when outputting
+                                 bibliographies in LIST style
+$BIB_PN_STYLE                    Format of bibliography page numbers
+$BIB_QUAD
+$BIB_SPACE                       Post entry space for bibliographies
+$BIB_STRING                      Bibliography title string
+$BIB_STRING_FAM                  Bib title family
+$BIB_STRING_FT                   Bib title font
+$BIB_STRING_QUAD                 Bib title quad
+$BIB_STRING_RULE_GAP             Distance between the underscores when 
BIB_STRING
+                                 (bib first-page header) is double-underlined
+$BIB_STRING_SIZE_CHANGE          Bib title size (+ or -)
+$BIB_STRING_UNDERLINE_GAP        Distance between BIB_STRING text and (first)
+                                 underline rule
+$BQ_LN_GUTTER                    Gutter between line numbers and bquotes in
+                                 bquotes
+$BQUOTE_COLOR                    Blockquote color
+$BQUOTE_FAM                      Family to use for blockquotes
+$BQUOTE_FT                       Font to use for blockquotes
+$BQUOTE_QUAD                     Quad value for blockquotes
+$BQUOTE_SIZE_CHANGE              ps in/decrease of blockquotes*
+$BX_COLOR                        Box color
+$BX_DEPTH                        Box depth
+$BX_INDENT                       Box left margin starting position
+$BX_WEIGHT                       Box rule weight
+$BX_WIDTH                        Box width
+$CENTER_TITLE                    What to put in the middle of header
+                                 title
+$CH_NUM                          Chapter number (as a string)
+$CHAPTER                         The chapter number
+$CHAPTER_STRING                  What to print whenever the word
+                                 "chapter" is required
+$CHAPTER_TITLE                   Concatenated args passed to CHAPTER_TITLE
+$CHAPTER_TITLE_&lt;n&gt;               Chapter title items
+$CHAPTER_TITLE_FAM               Family of chapter title
+$CHAPTER_TITLE_FT                Font of chapter title
+$CHAPTER_TITLE_SIZE_CHANGE       ps in/decrease of chapter title*
+$CHAPTER_TITLE_PT_SIZE           Absolute ps of chapter title
+$CHAPTER_TITLE_COLOR             Color of chapter title
+$CL_COLOR                        Circle (ellipse) color
+$CL_DEPTH                        Circle (ellipse) depth
+$CL_INDENT                       Circle (ellipse) left margin starting position
+$CL_WEIGHT                       Circle (ellipse) rule weight
+$CL_WIDTH                        Circle (ellipse) width
+$CODE_FAM                        Family to use with CODE
+$COLOR_SCHEME                    Color scheme arg passed to NEWCOLOR
+$COPY_STYLE                      DRAFT or FINAL
+$COPYRIGHT                       Copyright info
+$COPYRIGHT_COVER                 Copyright info for cover
+$COPYRIGHT_DOCCOVER              Copyright info for doc cover
+$COPYRIGHT_FAM                   Copyright line family
+$COPYRIGHT_FT                    Copyright line font
+$COPYRIGHT_PT_SIZE               Base string to which $COPYRIGHT_SIZE_CHANGE
+                                 is appended
+$COPYRIGHT_SIZE_CHANGE           Copyright line size*
+$COPYRIGHT_COLOR                 Copyright line color
+$COPYRIGHT_QUAD                  Copyright line quad direction
+$COVER_ATTRIBUTE_COLOR           Cover attribution string color
+$COVER_AUTHOR_COLOR              Cover author(s) color
+$COVER_AUTHOR_FAM                Cover author(s) family
+$COVER_AUTHOR_FT                 Cover author(s) font
+$COVER_AUTHOR_PT_SIZE            Author point size on cover
+$COVER_AUTHOR_SIZE_CHANGE        Cover author(s) size*
+$COVER_CHAPTER_TITLE_COLOR       Color of chapter title on cover
+$COVER_CHAPTER_TITLE_PT_SIZE     Size of chapter title on cover
+$COVER_COLOR                     Overall cover color
+$COVER_COPYRIGHT_PT_SIZE         Size of copyright info on cover
+$COVER_DOCTYPE_PT_SIZE           Size of doctype on cover
+$COVER_FAM                       Overall cover family
+$COVER_LEAD_ADJ                  String appended to DOC_LEAD to arrive at
+                                 base leading of covers
+$COVER_SUBTITLE_PT_SIZE          Size of subtitle on cover
+$COVER_TITLE_PT_SIZE             Size of title on cover
+$COVER_TITLE                     User-defined cover title string
+$COVER_TITLE_&lt;n&gt;                 Cover title items
+$COVER_TITLE_FAM                 Cover title family
+$COVER_TITLE_FT                  Cover title font
+$COVER_TITLE_SIZE_CHANGE         Cover title size*
+$COVER_TITLE_COLOR               Cover title color
+$COVER_UNDERLINE_GAP             Distance between baseline of the doctype on 
covers
+                                 and the underline
+$COVER_SUBTITLE_FAM              Cover subtitle family
+$COVER_SUBTITLE_FT               Cover subtitle font
+$COVER_SUBTITLE_SIZE_CHANGE      Cover subtitle size*
+$COVER_SUBTITLE_COLOR            Cover subtitle color
+$COVER_DOCTYPE_FAM               Cover doctype family
+$COVER_DOCTYPE_FT                Cover doctype font
+$COVER_DOCTYPE_SIZE_CHANGE       Cover doctype size*
+$COVER_DOCTYPE_COLOR             Cover doctype color
+$COVER_COPYRIGHT_FAM             Cover copyright family
+$COVER_COPYRIGHT_FT              Cover copyright font
+$COVER_COPYRIGHT_SIZE_CHANGE     Cover copyright size*
+$COVER_COPYRIGHT_COLOR           Cover copyright color
+$COVER_MISC_FAM                  Cover misc family
+$COVER_MISC_FT                   Cover misc font
+$COVER_MISC_SIZE_CHANGE          Cover misc size*
+$COVER_MISC_COLOR                Cover misc color
+$CURRENT_EV                      \n[.ev] at REF_BRACKETS_START
+$DC_COLOR                        Dropcap color
+$DOC_COVER_ATTRIBUTE_COLOR       Doc cover attribution string color
+$DOC_COVER_AUTHOR_COLOR          Doc cover author(s) color
+$DOC_COVER_AUTHOR_FAM            Doc cover author(s) family
+$DOC_COVER_AUTHOR_FT             Doc cover author(s) font
+$DOC_COVER_AUTHOR_PT_SIZE        Size of author on doc cover
+$DOC_COVER_AUTHOR_SIZE_CHANGE    Doc cover author(s) size*
+$DOC_COVER_CHAPTER_TITLE_COLOR   Color of chapter title on doc cover
+$DOC_COVER_CHAPTER_TITLE_PT_SIZE Size of chapter title on doc cover
+$DOC_COVER_COLOR                 Overall doc cover color
+$DOC_COVER_COPYRIGHT_COLOR       Doc cover copyright color
+$DOC_COVER_COPYRIGHT_FAM         Doc cover copyright family
+$DOC_COVER_COPYRIGHT_FT          Doc cover copyright font
+$DOC_COVER_COPYRIGHT_PT_SIZE     Size of copyright info on doc cover
+$DOC_COVER_COPYRIGHT_SIZE_CHANGE Doc cover copyright size*
+$DOC_COVER_DOCTYPE_COLOR         Doc cover doctype color
+$DOC_COVER_DOCTYPE_FAM           Doc cover doctype family
+$DOC_COVER_DOCTYPE_FT            Doc cover doctype font
+$DOC_COVER_DOCTYPE_PT_SIZE       Size of doctype on doc cover
+$DOC_COVER_DOCTYPE_SIZE_CHANGE   Doc cover doctype size*
+$DOC_COVER_MISC_COLOR            Doc cover misc color
+$DOC_COVER_MISC_FAM              Doc cover misc family
+$DOC_COVER_MISC_FT               Doc cover misc font
+$DOC_COVER_MISC_SIZE_CHANGE      Doc cover misc size*
+$DOC_COVER_FAM                   Overall doc cover family
+$DOC_COVER_LEAD_ADJ              String appended to DOC_LEAD to arrive at base
+                                 leading of doc covers
+$DOC_COVER_SUBTITLE_FAM          Doc cover subtitle family
+$DOC_COVER_SUBTITLE_FT           Doc cover subtitle font
+$DOC_COVER_SUBTITLE_PT_SIZE      Size of subtitle on doc cover
+$DOC_COVER_SUBTITLE_SIZE_CHANGE  Doc cover subtitle size*
+$DOC_COVER_SUBTITLE_COLOR        Doc cover subtitle color
+$DOC_COVER_TITLE                 User-defined doc cover title string
+$DOC_COVER_TITLE_&lt;n&gt;             Doc cover title items
+$DOC_COVER_TITLE_COLOR           Doc cover title color
+$DOC_COVER_TITLE_FAM             Doc cover title family
+$DOC_COVER_TITLE_FT              Doc cover title font
+$DOC_COVER_TITLE_PT_SIZE         Size of title on doc cover
+$DOC_COVER_TITLE_SIZE_CHANGE     Doc cover title size*
+$DOC_FAM                         Predominant font family used in the
+                                 document
+$DOC_QUAD                        Quad used for body text (justified or
+                                 left) 
+$DOC_TITLE                       Concatenated args passed to DOCTITLE
+$DOC_TITLE_&lt;n&gt;             DOCTITLE items
+$DOC_TYPE                        Document type (default, chapter, named,
+                                 letter)
+$DOCCOVER_UNDERLINE_GAP          Distance between baseline of doctype and the
+                                 underline on covers
+$DOCHEADER_COLOR                 Color of docheader
+$DOCHEADER_FAM                   Family used for all parts of the docheader
+$DOCHEADER_LEAD_ADJ              +|- value applied to #DOC_LEAD to
+                                 in/decrease leading of doc header
+$DOCTYPE_COLOR                   Color of DOCTYPE string in doc header
+$DOCTYPE_FAM                     Family to use for DOCTYPE string in
+                                 doc header
+$DOCTYPE_FT                      Font to use for DOCTYPE string in
+                                 doc header
+$DOCTYPE_SIZE_CHANGE             ps in/decrease of DOCTYPE string in
+                                 doc header*
+$DOCTYPE_PT_SIZE                 Absolute ps of DOCTYPE
+$DOCTYPE_UNDERLINE_GAP           Distance between baseline of DOCTYPE and the
+                                 underline in doc header
+$DRAFT                           The draft number (string valued)
+$DRAFT_STRING                    What to print whenever the word "draft"
+                                 is required
+EN_MARK                          Inline, gets #EN_MARK (\(ln)
+$EN_CLOSE_BRACKET                Close bracket for line-number enumerated
+                                 endnotes
+$EN_FAMILY                       Family for endnotes
+$EN_FT                           Font for endnotes
+$EN_LEAD                         Leading of endnotes pages
+$EN_LINENUMBER                   String to print for line-number enumerators
+                                 in line-numbered endnotes
+$EN_LN_FAM                       Family for line-numbers in line-number
+                                 identified endnotes
+$EN_LN_FT                        Font for line-numbers in line-number
+                                 identified endnotes
+$EN_LN_GAP                       Gap to leave in initial endnote lines
+                                 between line-number identifies and text
+$EN_LN_SEP                       User-defined separator to use between line 
number(s)
+                                 and endnotes when endnotes are identified by 
line
+                                 number
+$EN_OPEN_BRACKET                 Open bracket for line-number enumerated
+                                 endnotes
+$EN_LN_SIZE_CHANGE               Size change (+ or -) for line-numbers in
+                                 line-number identified endnotes
+$EN_PN_STYLE                     Pagenumbering style for endnotes pages
+$EN_QUAD                         Quad for endnotes
+$EN_STRING                       Endnotes page head
+$EN_STRING_FAM                   Endnotes page head family
+$EN_STRING_FT                    Endnotes page head font
+$EN_STRING_QUAD                  Endnotes page head quad direction
+$EN_STRING_RULE_GAP              Distance between rules when EN_STRING is
+                                 double-underlined
+$EN_STRING_UNDERLINE_GAP         Distance between baseline of EN_STRING and
+                                 underline rule
+$EN_STRING_SIZE_CHANGE           Endnotes page head size***
+$EN_TITLE                        Endnote document identifier
+$EN_TITLE_FAM                    Endnote document identifier family
+$EN_TITLE_FT                     Endnote document identifier font
+$EN_TITLE_QUAD                   Endnote document identifier quad
+                                 direction
+$EN_TITLE_SIZE_CHANGE            Endnote document identifier size***
+$EN_TITLE_UNDERLINE_GAP          Distance between baseline of EN_TITLE and 
underline
+                                 rule
+$EN_NUMBER_FAM                   Endnote numbering family
+$EN_NUMBER_FT                    Endnote numbering font
+$EN_NUMBER_SIZE_CHANGE           Endnote numbering size***
+$EPI_AUTOLEAD                    Autolead value (decimals ok) of
+                                 epigraphs
+$EPI_COLOR                       Color of epigraphs
+$EPI_FAM                         Family to use in epigraphs
+$EPI_FT                          Font to use in epigraphs
+$EPI_OFFSET_VALUE                Arg passed to EPIGRAPH_INDENT if the
+                                 arg has a unit of measure appended to it
+$EPI_QUAD                        Quad in block-style epigraphs
+                                 (justified or left)
+$EPI_SIZE_CHANGE                 ps in/decrease of epigraphs*
+$EVAL_BIB_SPACE                  Temporary string to find out if the
+                                 arg to BIBLIOGRAPHY_SPACING ended in "v"
+$EVAL_EI_ARG                     Temporary string to find out whether
+                                 the arg to EPIGRAPH_INDENT ended with
+                                 a unit of measure
+$EVAL_QI_ARG                     Temporary string to find out whether
+                                 the arg to QUOTE_INDENT ended with
+                                 a unit of measure
+eval*[B                          Used to get substring of \*([B
+eval*[S                          Used to get substring of \*([S
+eval*[s                          Used to get substring of \*([s
+$FINIS_COLOR                     Color of FINIS string
+$FINIS_STRING                    What to print when FINIS macro is
+                                 invoked
+$FIRST_DOC_TITLE                 1st doc's title captured in COLLATE
+FN_MARK                          Inline, gets #FN_MARK (\n(ln)
+$FN_CLOSE_BRACKET                Close bracket for line-number identified
+                                 footnotes
+$FN_FAM                          Family used in footnotes
+$FN_FT                           Font used in footnotes
+$FN_LINENUMBER                   String to print before footnotes when
+                                 line-numbering enabled for footnotes
+$FN_LN_SEP                       Separator after line-number identified
+                                 footnotes
+$FN_OPEN_BRACKET                 Open bracket for line-number identified
+                                 footnotes
+$FN_QUAD                         Quad used in footnotes
+$FN_SIZE_CHANGE                  ps in/decrease of footnotes*
+$FOOTNOTE_COLOR                  Footnote color
+$FTR_RECTO_QUAD                  Quad direction of footer recto
+$FTR_RECTO_STRING                String for footer recto
+$FTR_VERSO_QUAD                  Quad direction of footer verso
+$FTR_VERSO_STRING                String for footer verso
+$HDR_RECTO_QUAD                  Quad of header recto
+$HDR_RECTO_STRING                String for header recto
+$HDR_VERSO_QUAD                  Quad of header verso
+$HDR_VERSO_STRING                String for header verso
+**Note: &quot;header&quot;, in the descriptions below, means either headers or 
footers**
+
+$HDRFTR_CENTER                   What to put in CENTER part of headers;
+                                 default doctype
+$HDRFTR_CENTER_COLOR             Color of CENTER part of headers
+$HDRFTR_CENTER_FAM               Family of CENTER part of headers
+$HDRFTR_CENTER_FT                Font of centre part of headers
+$HDRFTR_CENTER_NEW               HDRFTR_CENTER after the start of TOC;
+                                 defined in HDRFTR_CENTER if
+                                 HDRFTR_CENTER is called as
+                                 FOOTER_CENTER
+$HDRFTR_CENTER_OLD               HDRFTR_CENTER just prior to start of
+                                 TOC; defined in HDRFTR_CENTER if
+                                 HDRFTR_CENTER is called as
+                                 FOOTER_CENTER
+$HDRFTR_CENTER_SIZE_CHANGE       ps in/decrease of centre title in
+                                 headers**
+$HDRFTR_COLOR                    Color of headers/footers
+$HDRFTR_FAM                      Family to use in headers
+$HDRFTR_LEFT_COLOR               Color of LEFT part of headers
+$HDRFTR_LEFT_FAM                 Family of left part of headers
+$HDRFTR_LEFT_FT                  Font of left part of headers
+$HDRFTR_LEFT_SIZE_CHANGE         ps in/decrease of author in headers**
+$HDRFTR_LEFT                     What to put in left part of headers;
+                                 default author
+$HDRFTR_RIGHT_COLOR              Color of RIGHT part of headers
+$HDRFTR_RIGHT_FAM                Family of right part of headers
+$HDRFTR_RIGHT_FT                 Font of right part of headers
+$HDRFTR_RIGHT_SIZE_CHANGE        ps in/decrease of right part of
+                                 headers**
+$HDRFTR_RIGHT                    What to put in right part of headers;
+                                 default title
+$HDRFTR_RULE_COLOR               Color of header rule
+$HDRFTR_SIZE_CHANGE              ps in/decrease of headers*
+$HDRFTR_TMP_SIZE_CHANGE_SWITCH   Temporarily holds
+                                 HDRFTR_LEFT_SIZE_CHANGE if
+                                 #SWITCH_HDRFTRS=1
+$HDRFTR_TMP_SWITCH               Temporarily holds HDRFTR_LEFT if
+                                 #SWITCH_HDRFTRS=1
+$HDRFTR_TMP_COLOR_SWITCH         Temporarily holds HDRFTR_LEFT_COLOR if
+                                 #SWITCH_HDRFTRS=1
+$HEAD_COLOR                      Head color
+$HEAD_FAM                        Family to use for section titles
+$HEAD_FT                         Font to use for section titles
+$HEAD_QUAD                       Quad value of section titles
+$HEAD_SIZE_CHANGE                ps in/decrease of section titles*
+$HEAD_UNDERLINE_GAP              Distance between a head and the underline
+$HYPHEN                          Vertically adjusted hyphen used around page 
numbers
+$LHS                             Holds digits on the left side of the decimal 
in
+                                 weight arg passed to RULE_WEIGHT
+$LINEBREAK_CHAR                  Character that marks line breaks
+$LINEBREAK_CHAR_V_ADJ            +|- amount by which to raise/lower
+                                 linebreak character
+$LAST_CHAR                       Temporary string used to discover whether
+                                 user has remembered to put a digit after
+                                 ROMAN or roman in arg to LIST
+$LINEBREAK_COLOR                 Linebreak color
+$LIST_ARG_1                      The first arg to LIST (minus digits if
+                                 ROMAN or roman
+$LN_COLOR                        Linenumber color
+$LN_FAMILY                       Linenumber family
+$LN_FONT                         Linenumber font
+$LN_GUTTER                       Gutter to leave between line numbers
+                                 and text
+$LN_INC                          2nd arg to NUMBER_LINES as a string
+$LN_NUM                          1st arg to NUMBER_LINES as a string
+$LN_SIZE_CHANGE                  ps in/decrease of linenumbers
+$MISC_&lt;n&gt;
+$MISC_COLOR                      Misc olor
+$MISC_COVER_&lt;n&gt;            Misc items for cover
+$MISC_DOCCOVER_&lt;n&gt;         Misc items for doc cover
+$MISC_QUAD                       Misc quad direction
+$MN-arg&lt;n&gt;                 Sequentially numbered args passed to MNinit
+MN-color                         Color of margin note
+MN-curr                          Number of current margin note
+MN-dir                           Left or right margin note
+MN-font                          Font of margin note
+MN-left-ad                       Fill mode of margin note
+PAGE#                            For use in hdrftr strings where page #
+                                 is needed; \*[PAGE]
+$PAGENUM_COLOR                   Page number color
+$PAGENUM_STYLE                   String passed to PAGENUM_STYLE
+$PAGE_NUM_FAM                    Family of page numbers
+$PAGE_NUM_FT                     Font of page numbers
+$PAGE_NUM_SIZE_CHANGE            ps in/decrease of page numbers
+$PAPER                           Paper size (LETTER, A4, LEGAL);
+                                 default=LETTER
+$PH_COLOR                        Parahead color
+$PP_FT                           Font used in paragraphs
+$RESTORE_PAGENUM_STYLE           Hold previous page numbering style
+$ROMAN_WIDTH&lt;n&gt;                     The digit(s) appended by user to 
ROMAN or
+                                 roman when LIST is invoked
+$Q_LN_GUTTER                     Gutter between linenumbers and quotes
+                                 in quotes
+$Q_OFFSET_VALUE                  Arg passed to QUOTE_INDENT if the
+                                 arg has a unit of measure appended to it
+$QUOTE_COLOR                     Quote (poetic) color
+$QUOTE_FAM                       Family to use for pquotes
+$QUOTE_FT                        Font to use for pquotes
+$QUOTE_SIZE_CHANGE               ps in/decrease of pquotes*
+ref*post-punct                   Final punctuation mark of references
+ref*spec!&lt;n&gt;                     Holds fields required by differing 
reference types
+ref*string                       The data passed to a reference
+$REF_BIB_INDENT                  2nd line indent value for references in
+                                 bibliographies
+$REF_EN_INDENT                   2nd line indent value for references in
+                                 endnotes
+$REF_FN_INDENT                   2nd line indent value for references in
+                                 footnotes
+$RESTORE_SS_VAR                  Saves \*[$SS_VAR] for use with ref*build
+#REVISION                        The revision number (string valued)
+$REVISION_STRING                 What to print whenever the word
+                                 "revision" is required
+$RHS                             Holds digits on the right side of the decimal 
in
+                                 weight arg passed to RULE_WEIGHT
+$RL_COLOR                        Rule color (DRH/DRV)
+$RL_DEPTH                        Rule depth (DRH/DRV)
+$RL_INDENT                       Left start position of rule (DRH/DRV)
+$RL_LENGTH                       Rule length (DRH/DRV)
+$RL_WEIGHT                       Rule weight (DRH/DRV)
+$SAVED_COPYRIGHT                 Temporarily holds string in $COPYRIGHT
+$SAVED_RULE_GAP                  Temporarily holds string in $RULE_GAP
+$SAVED_PP_FT                     $PP_FT in effect at start of
+                                 .COLLATE; tested for and removed
+                                 in .PP
+$SH_FAM                          Family to use in subheads
+$SH_FT                           Font to use in subheads
+$SH_SIZE_CHANGE                  ps in/decrease of subheads*
+$SH_COLOR                        Subhead color
+$SUBTITLE                        Concatenated args passed to SUBTITLE
+$SUBTITLE_&lt;n&gt;              Subtitle items for doc header
+$SUBTITLE_COLOR                  Color of subtitle
+$SUBTITLE_COVER_&lt;n&gt;        Subtitle items for cover
+$SUBTITLE_DOCCOVER_&lt;n&gt;     Subtitle items for doc cover
+$SUBTITLE_FAM                    Family to use for subtitle in doc
+                                 header
+$SUBTITLE_FT                     Font to use for subtitle in doc header
+$SUBTITLE_SIZE_CHANGE            ps in/decrease of subtitle*
+$SUBTITLE_PT_SIZE                Absolute ps of subtitle
+$SUITE                           The #SUITE number register
+$TITLE                           Concatenated args pass to TITLE
+$TITLE_&lt;n&gt;                 Title items
+$TITLE_COLOR                     Color of title
+$TITLE_FAM                       Family to use for title in doc header
+$TITLE_FT                        Font to use for title in doc header
+$TITLE_PT_SIZE                   Absolute point size of title in docheader
+$TITLE_SIZE_CHANGE               ps in/decrease of title in doc header*
+$TOC_AUTHORS                     What to print after toc doc title entry
+                                 if #TOC_AUTHORS=1
+$TOC_FAM                         Family to use on toc pages
+$TOC_HEAD_FAM                    Family of toc head entries
+$TOC_HEAD_FT                     Font of toc head entries
+$TOC_HEAD_ITEM                   A head as collected for TOC_ENTRIES
+$TOC_HEADER_FAM                  Family to use for "Contents"
+$TOC_HEADER_FT                   Font to use for "Contents"
+$TOC_HEADER_QUAD                 Quad direction of "Contents"
+$TOC_HEADER_SIZE                 ps in/decrease of "Contents"****
+$TOC_HEADER_STRING               Header string of first toc page
+$TOC_LEAD                        Leading of toc pages
+$TOC_PH_ITEM                     Toc parahead entry
+$TOC_PN                          Sets up toc leaders + entry pn
+                                 (typeset)
+$TOC_PN_FAM                      Family for toc entries page numbers
+$TOC_PN_FT                       Font for toc entries page numbers
+$TOC_PN_SIZE_CHANGE              ps in/decrease of toc entries page
+                                 numbers
+$TOC_PN_STYLE                    Page-numbering style of toc pages
+$TOC_PN_TYPEWRITE                Sets up toc leaders + entry pn
+                                 (typewrite)
+$TOC_PH_FAM                      Family of toc parahead entries
+$TOC_PH_FT                       Font of toc parahead entries
+$TOC_PARAHEAD_ITEM               A parahead collected for TOC_ENTRIES
+$TOC_SH_FAM                      Family of toc subhead entries
+$TOC_SH_FT                       Font of toc subhead entries
+$TOC_SH_ITEM                     A subhead collected for TOC_ENTRIES
+$TOC_TITLE_FAM                   Family of toc doc title entries
+$TOC_TITLE_FT                    Font of toc doc title entries
+$TOC_TITLE_ITEM                  Toc document title item
+$USER_SET_TITLE_ITEM             User defined toc doc title entry as
+                                 set by TOC_TITLE_ENTRY
+$UR_PAGINATION_STYLE             Pagination style prior to endnotes
+$USERDEF_HDRFTR_RECTO            User defined header/footer recto string
+$USERDEF_HDRFTR_VERSO            User defined header/footer verso string
+
+   *relative to #DOC_PT_SIZE
+  **relative to overall ps of headers as set by HEADER_SIZE
+ ***relative to overall ps of endnotes
+****relative to overall ps of toc pages
+
++++PREPROCESSOR KEYWORDS+++
+
+(eqn)
+EQ
+EN
+
+(grn)
+GS
+GE
+GF
+
+(pic)
+PS
+PE
+
+(refer)
+R1
+R2
+[
+]
+
+(tbl)
+TS
+TE
+TH
+
+(grap)
+G1
+G2
+
+(ideal)
+IS
+IE
+
+(chem)
+cstart
+cend
+
++++ALIASES+++
+
+Please note:
+
+Prior to version 1.1.9, all macros that included the word COLOR had
+aliases that used COLOUR instead.  This convenience has now been
+removed, in an effort to reduce the size of the om.tmac file.
+
+Furthermore, if you want the convenience, you'll have to edit the
+om.tmac file.  Simply aliasing, say, HEAD_COLOR as HEAD_COLOUR will
+not work, owing to significant changes in the handling of
+docelement control macros that end in _COLOR.
+
++++The following are for convenience, and header/footer management+++
+
+BIBLIOGRAPHY_STRING_UNDERSCORE    BIBLIOGRAPHY_STRING_UNDERLINE
+BREAK_BLOCKQUOTE                  BREAK_QUOTE
+BREAK_CITATION                    BREAK_QUOTE
+BREAK_CITE                        BREAK_QUOTE
+CITATION                          BLOCKQUOTE
+CITE                              BLOCKQUOTE
+COL_BREAK                         COL_NEXT
+DOC_FAM                           DOC_FAMILY
+DOC_LLENGTH                       DOC_LINE_LENGTH
+DOC_L_LENGTH                      DOC_LINE_LENGTH
+DOC_L_MARGIN                      DOC_LEFT_MARGIN
+DOC_LMARGIN                       DOC_LEFT_MARGIN
+DOC_LS                            DOC_LEAD
+DOC_PS                            DOC_PT_SIZE
+DOC_R_MARGIN                      DOC_RIGHT_MARGIN
+DOC_RMARGIN                       DOC_RIGHT_MARGIN
+ENDNOTE_STRING_UNDERSCORE         ENDNOTE_STRING_UNDERLINE
+ENDNOTE_TITLE_UNDERSCORE          ENDNOTE_TITLE_UNDERLINE
+FOOTER_CENTER_CAPS                HDRFTR_CENTER_CAPS
+FOOTER_CENTER                     HDRFTR_CENTER
+FOOTER_CENTRE_CAPS                HDRFTR_CENTER_CAPS
+FOOTER_CENTRE                     HDRFTR_CENTER
+FOOTER_LEFT_CAPS                  HDRFTR_LEFT_CAPS
+FOOTER_LEFT                       HDRFTR_LEFT
+FOOTER_PLAIN                      HDRFTR_PLAIN
+FOOTER_RECTO                      HDRFTR_RECTO
+FOOTER_RIGHT_CAPS                 HDRFTR_RIGHT_CAPS
+FOOTER_RIGHT                      HDRFTR_RIGHT
+FOOTER_RULE_GAP                   HDRFTR_RULE_GAP
+FOOTER_RULE                       HDRFTR_RULE
+FOOTER_VERSO                      HDRFTR_VERSO
+HDRFTR_RULE_INTERNAL              HDRFTR_RULE
+HEADER_CENTER_CAPS                HDRFTR_CENTER_CAPS
+HEADER_CENTER                     HDRFTR_CENTER
+HEADER_CENTRE_CAPS                HDRFTR_CENTER_CAPS
+HEADER_CENTRE                     HDRFTR_CENTER
+HEADER_LEFT_CAPS                  HDRFTR_LEFT_CAPS
+HEADER_LEFT                       HDRFTR_LEFT
+HEADER_PLAIN                      HDRFTR_PLAIN
+HEADER_RECTO                      HDRFTR_RECTO
+HEADER_RIGHT_CAPS                 HDRFTR_RIGHT_CAPS
+HEADER_RIGHT                      HDRFTR_RIGHT
+HEADER_RULE_GAP                   HDRFTR_RULE_GAP
+HEADER_RULE                       HDRFTR_RULE
+HEADER_VERSO                      HDRFTR_VERSO
+PAGENUM                           PAGENUMBER
+PAGINATION                        PAGINATE
+PP_FT                             PP_FONT
+PRINT_FOOTNOTE_RULE               FOOTNOTE_RULE
+SWITCH_FOOTERS                    SWITCH_HDRFTR
+SWITCH_HEADERS                    SWITCH_HDRFTR
+TOC_LS                            TOC_LEAD
+TOC_PS                            TOC_PT_SIZE
+
++++The following are used for docelement type-style control+++
+
+AUTHOR_FAMILY                 _FAMILY
+AUTHOR_FONT                   _FONT
+AUTHOR_SIZE                   _SIZE
+BIBLIOGRAPHY_FAMILY           _FAMILY
+BIBLIOGRAPHY_FONT             _FONT
+BIBLIOGRAPHY_FOOTER_CENTER    BIBLIOGRAPHY_HDRFTR_CENTER
+BIBLIOGRAPHY_FOOTER_CENTRE    BIBLIOGRAPHY_HDRFTR_CENTRE
+BIBLIOGRAPHY_HEADER_CENTER    BIBLIOGRAPHY_HDRFTR_CENTER
+BIBLIOGRAPHY_HEADER_CENTRE    BIBLIOGRAPHY_HDRFTR_CENTRE
+BIBLIOGRAPHY_QUAD             _QUAD
+BIBLIOGRAPHY_STRING_FAMILY    _FAMILY
+BIBLIOGRAPHY_STRING_FONT      _FONT
+BIBLIOGRAPHY_STRING_QUAD      _QUAD
+BIBLIOGRAPHY_STRING_SIZE      _SIZE
+BLOCKQUOTE_AUTOLEAD           Q_AUTOLEAD
+BLOCKQUOTE_AUTOLEAD           QUOTE_AUTOLEAD
+BLOCKQUOTE_COLOR              _COLOR
+BLOCKQUOTE_FAMILY             _FAMILY
+BLOCKQUOTE_FONT               _FONT
+BLOCKQUOTE_QUAD               _QUAD
+BLOCKQUOTE_SIZE               _SIZE
+CHAPTER_TITLE_COLOR           _COLOR
+CHAPTER_TITLE_FAMILY          _FAMILY
+CHAPTER_TITLE_FONT            _FONT
+CHAPTER_TITLE_SIZE            _SIZE
+COVER_ATTRIBUTE_COLOR         _COLOR
+COVER_AUTHOR_COLOR            _COLOR
+COVER_AUTHOR_FAMILY           _FAMILY
+COVER_AUTHOR_FONT             _FONT
+COVER_AUTHOR_SIZE             _SIZE
+COVER_COLOR                   _COLOR
+COVER_COPYRIGHT_COLOR         _COLOR
+COVER_COPYRIGHT_FAMILY        _FAMILY
+COVER_COPYRIGHT_FONT          _FONT
+COVER_COPYRIGHT_QUAD          _QUAD
+COVER_COPYRIGHT_SIZE          _SIZE
+COVER_DOCTYPE_COLOR           _COLOR
+COVER_DOCTYPE_FAMILY          _FAMILY
+COVER_DOCTYPE_FONT            _FONT
+COVER_DOCTYPE_SIZE            _SIZE
+COVER_FAMILY                  _FAMILY
+COVER_MISC_COLOR              _COLOR
+COVER_MISC_QUAD               _QUAD
+COVER_SUBTITLE_COLOR          _COLOR
+COVER_SUBTITLE_FAMILY         _FAMILY
+COVER_SUBTITLE_FONT           _FONT
+COVER_SUBTITLE_SIZE           _SIZE
+COVER_TITLE_COLOR             _COLOR
+COVER_TITLE_FAMILY            _FAMILY
+COVER_TITLE_FONT              _FONT
+COVER_TITLE_SIZE              _SIZE
+DOC_COVER_ATTRIBUTE_COLOR     _COLOR
+DOC_COVER_AUTHOR_COLOR        _COLOR
+DOC_COVER_AUTHOR_FAMILY       _FAMILY
+DOC_COVER_AUTHOR_FONT         _FONT
+DOC_COVER_AUTHOR_SIZE         _SIZE
+DOC_COVER_COLOR               _COLOR
+DOC_COVER_COPYRIGHT_COLOR     _COLOR
+DOC_COVER_COPYRIGHT_FAMILY    _FAMILY
+DOC_COVER_COPYRIGHT_FONT      _FONT
+DOC_COVER_COPYRIGHT_QUAD      _QUAD
+DOC_COVER_COPYRIGHT_SIZE      _SIZE
+DOC_COVER_DOCTYPE_COLOR       _COLOR
+DOC_COVER_DOCTYPE_FAMILY      _FAMILY
+DOC_COVER_DOCTYPE_FONT        _FONT
+DOC_COVER_DOCTYPE_SIZE        _SIZE
+DOC_COVER_FAMILY              _FAMILY
+DOC_COVER_MISC_COLOR          _COLOR
+DOC_COVER_MISC_QUAD           _QUAD
+DOC_COVER_SUBTITLE_COLOR      _COLOR
+DOC_COVER_SUBTITLE_FAMILY     _FAMILY
+DOC_COVER_SUBTITLE_FONT       _FONT
+DOC_COVER_SUBTITLE_SIZE       _SIZE
+DOC_COVER_TITLE_COLOR         _COLOR
+DOC_COVER_TITLE_FAMILY        _FAMILY
+DOC_COVER_TITLE_FONT          _FONT
+DOC_COVER_TITLE_SIZE          _SIZE
+DOCHEADER_COLOR               _COLOR
+DOCHEADER_FAMILY              _FAMILY
+DOC_QUAD                      _QUAD
+DOCTYPE_FAMILY                _FAMILY
+DOCTYPE_FONT                  _FONT
+DOCTYPE_SIZE                  _SIZE
+ENDNOTE_BLOCKQUOTE_AUTOLEAD   Q_AUTOLEAD
+ENDNOTE_BLOCKQUOTE_AUTOLEAD   QUOTE_AUTOLEAD
+ENDNOTE_FAMILY                _FAMILY
+ENDNOTE_FONT                  _FONT
+ENDNOTE_LINENUMBER_FAMILY     _FAMILY
+ENDNOTE_LINENUMBER_FONT       _FONT
+ENDNOTE_LINENUMBER_SIZE       _SIZE
+ENDNOTE_NUMBER_FAMILY         _FAMILY
+ENDNOTE_NUMBER_FONT           _FONT
+ENDNOTE_NUMBER_SIZE           _SIZE
+ENDNOTE_QUAD                  _QUAD
+ENDNOTE_QUOTE_AUTLOEAD        Q_AUTOLEAD
+ENDNOTE_QUOTE_AUTOLEAD        QUOTE_AUTOLEAD
+ENDNOTE_STRING_FAMILY         _FAMILY
+ENDNOTE_STRING_FONT           _FONT
+ENDNOTE_STRING_QUAD           _QUAD
+ENDNOTE_STRING_SIZE           _SIZE
+ENDNOTE_TITLE_FAMILY          _FAMILY
+ENDNOTE_TITLE_FONT            _FONT
+ENDNOTE_TITLE_QUAD            _QUAD
+ENDNOTE_TITLE_SIZE            _SIZE
+EPIGRAPH_COLOR                _COLOR
+EPIGRAPH_FAMILY               _FAMILY
+EPIGRAPH_FONT                 _FONT
+EPIGRAPH_QUAD                 _QUAD
+EPIGRAPH_SIZE                 _SIZE
+FINIS_COLOR                   _COLOR
+FOOTNOTE_COLOR                _COLOR
+FOOTNOTE_FAMILY               _FAMILY
+FOOTNOTE_FONT                 _FONT
+FOOTNOTE_QUAD                 _QUAD
+FOOTNOTE_SIZE                 _SIZE
+HDRFTR_CENTER_FAMILY          _FAMILY
+HDRFTR_CENTER_FONT            _FONT
+HDRFTR_CENTER_SIZE            _SIZE
+HDRFTR_COLOR                  _COLOR
+HDRFTR_FAMILY                 _FAMILY
+HDRFTR_LEFT_FAMILY            _FAMILY
+HDRFTR_LEFT_FONT              _FONT
+HDRFTR_LEFT_SIZE              _SIZE
+HDRFTR_RIGHT_FAMILY           _FAMILY
+HDRFTR_RIGHT_FONT             _FONT
+HDRFTR_RIGHT_SIZE             _SIZE
+HDRFTR_RULE_COLOR             _COLOR
+HDRFTR_SIZE                   _SIZE
+HEAD_COLOR                    _COLOR
+HEAD_FAMILY                   _FAMILY
+HEAD_FONT                     _FONT
+HEAD_QUAD                     _QUAD
+HEAD_SIZE                     _SIZE
+LINEBREAK_COLOR               _COLOR
+LINENUMBER_FAMILY             _COLOR
+LINENUMBER_FONT               _COLOR
+LINENUMBER_SIZE               _COLOR
+LINENUMBER_COLOR              _COLOR
+MISC_COLOR                    _COLOR
+MISC_QUAD                     _QUAD
+PAGENUM_COLOR                 _COLOR
+PAGENUM_FAMILY                _FAMILY
+PAGENUM_FONT                  _FONT
+PARAHEAD_COLOR                _COLOR
+PARAHEAD_FAMILY               _FAMILY
+PARAHEAD_FONT                 _FONT
+PARAHEAD_SIZE                 _SIZE
+QUOTE_COLOR                   _COLOR
+QUOTE_FAMILY                  _FAMILY
+QUOTE_FONT                    _FONT
+QUOTE_INDENT                  _INDENT
+QUOTE_SIZE                    _SIZE
+REF_INDENT                    INDENT_REFS
+REF)                          REF_BRACKETS_END
+REF]                          REF_BRACKETS_END
+REF}                          REF_BRACKETS_END
+REF(                          REF_BRACKETS_START
+REF[                          REF_BRACKETS_START
+REF{                          REF_BRACKETS_START
+SUBHEAD_COLOR                 _COLOR
+SUBHEAD_FAMILY                _FAMILY
+SUBHEAD_FONT                  _FONT
+SUBHEAD_SIZE                  _SIZE
+SUBTITLE_COLOR                _COLOR
+SUBTITLE_FAMILY               _FAMILY
+SUBTITLE_FONT                 _FONT
+SUBTITLE_SIZE                 _SIZE
+TITLE_COLOR                   _COLOR
+TITLE_FAMILY                  _FAMILY
+TITLE_FONT                    _FONT
+TITLE_SIZE                    _SIZE
+TOC_FAM                       _FAMILY
+TOC_FAMILY                    _FAMILY
+TOC_HEADER_FAMILY             _FAMILY
+TOC_HEADER_FONT               _FONT
+TOC_HEADER_QUAD               _QUAD
+TOC_HEADER_SIZE               _SIZE
+TOC_HEAD_FAMILY               _FAMILY
+TOC_HEAD_FONT                 _FONT
+TOC_HEAD_SIZE                 _SIZE
+TOC_PARAHEAD_FAMILY           _FAMILY
+TOC_PARAHEAD_FONT             _FONT
+TOC_PARAHEAD_SIZE             _SIZE
+TOC_PN_FAMILY                 _FAMILY
+TOC_PN_FONT                   _FONT
+TOC_PN_SIZE                   _SIZE
+TOC_PT_SIZE                   _SIZE
+TOC_SUBHEAD_FAMILY            _FAMILY
+TOC_SUBHEAD_FONT              _FONT
+TOC_SUBHEAD_SIZE              _SIZE
+TOC_TITLE_FAMILY              _FAMILY
+TOC_TITLE_FONT                _FONT
+TOC_TITLE_SIZE                _SIZE
+
++++The following are used to control underlining/underscoring weights+++
+
+UNDERSCORE_WEIGHT                     RULE_WEIGHT
+HEAD_UNDERLINE_WEIGHT                 RULE_WEIGHT
+HEADER_RULE_WEIGHT                    RULE_WEIGHT
+FOOTER_RULE_WEIGHT                    RULE_WEIGHT
+FOOTNOTE_RULE_WEIGHT                  RULE_WEIGHT
+COVER_UNDERLINE_WEIGHT                RULE_WEIGHT
+DOC_COVER_UNDERLINE_WEIGHT            RULE_WEIGHT
+ENDNOTE_STRING UNDERLINE_WEIGHT       RULE_WEIGHT
+ENDNOTE_TITLE UNDERLINE_WEIGHT        RULE_WEIGHT
+BIBLIOGRAPHY_STRING UNDERLINE_WEIGHT  RULE_WEIGHT
+</pre>
+
+<hr/>
+<a href="appendices.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</body>
+</html>
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: toc.html
===================================================================
RCS file: toc.html
diff -N toc.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ toc.html    1 Aug 2006 01:14:08 -0000       1.25
@@ -0,0 +1,447 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom, version 1.5 -- Table of Contents</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<h1 align="center"><u>Table of Contents for mom, version 1.5</u></h1>
+
+<p>
+The table of contents has grown quite large.  If you've been using
+<strong>mom</strong> for a while, you might prefer the
+<a href="macrolist.html#TOP"><strong>Quick Reference Guide</strong></a>.
+</p>
+
+<p>
+If you're new to <strong>mom</strong>, click on any link in the
+<a href="#QUICK_TOC"><strong>Quick Table of Contents</strong></a>
+to go to the
+appropriate section of the <strong>Full Table of Contents</strong>.
+</p>
+
+<p>
+Alternatively, go directly to the
+<a href="#TOC_PROP"><strong>Full Table of Contents</strong></a>.
+</p>
+
+<hr/>
+
+<!-- -QUICK TABLE OF CONTENTS- -->
+
+<a name="QUICK_TOC"><h2><u>Quick Table of Contents</u></h2></a>
+
+<a href="#WHAT"><strong>INTRODUCTORY STUFF</strong></a>
+
+<ul>
+    <li><a href="#WHAT">What is mom?</a></li>
+    <li><a href="#DEFS">Definitions of terms used in this manual</a></li>
+    <li><a href="#USING">Using mom</a></li>
+</ul>
+
+<a href="#TYPESET"><strong>TYPESETTING WITH MOM</strong></a>
+
+<ul>
+    <li><a href="#TYPE_INTRO">Intro to typesetting macros</a></li>
+    <li><a href="#PAGE">Page setup</a></li>
+    <li><a href="#PARAM">Basic typesetting parameters</a></li>
+    <li><a href="#JUST">Justifying, quadding, etc.</a></li>
+    <li><a href="#REFINE">Refinements</a></li>
+    <li><a href="#MOD">Modifying type</a></li>
+    <li><a href="#VERT">Vertical movements</a></li>
+    <li><a href="#TAB">Tabs</a></li>
+    <li><a href="#COL">Multiple columns</a></li>
+    <li><a href="#IND">Indents</a></li>
+    <li><a href="#GOODIES">Goodies</a></li>
+    <li><a href="#ESCAPES">Inline escapes</a></li>
+    <li><a href="#COLOR">Coloured text</a></li>
+    <li><a href="#GRAPHICAL">Graphical objects</a></li>
+</ul>
+
+<a href="#DOCPROC"><strong>DOCUMENT PROCESSING WITH MOM</strong></a>
+
+<ul>
+    <li><a href="#DOCPROC">Introduction to document processing</a></li>
+    <li><a href="#PRELIM">Preliminary document setup</a></li>
+    <li><a href="#TAGS">The document element tags</a> &mdash; heads, subheads, 
footnotes, etc.</li>
+    <li><a href="#IMAGES">Inserting images into a document</a></li>
+    <li><a href="#HDRFTR">Page headers and footers</a></li>
+    <li><a href="#PAGINATE">Pagination</a></li>
+    <li><a href="#RV">Recto/verso printing and collating</a></li>
+    <li><a href="#COVER">Cover pages</a></li>
+    <li><a href="#REF">Bibliographies and references</a></li>
+    <li><a href="#LETTER">Writing letters</a></li>
+    <li><a href="#TYPEMACDOC">Using typesetting macros during document 
processing</a></li>
+    <li><a href="#QUICK">Quick reference guide to mom</a></li>
+    <li><a href="#APP">Appendices</a></li>
+</ul>
+
+<hr/>
+
+<!-- -FULL TABLE OF CONTENTS- -->
+
+<a name="TOC_PROP"><h2><u>Full Table of Contents</u></h2></a>
+
+<a name="WHAT"></a>
+<a href="intro.html#INTRO"><strong>1. WHAT IS MOM?</strong></a>
+
+<ul>
+    <li><a href="intro.html#INTRO_INTRO">1.1 Who is mom meant for?</a></li>
+    <li><a href="intro.html#INTRO_TYPESETTING">1.2 Typesetting with 
mom</a></li>
+    <li><a href="intro.html#INTRO_DOCPROCESSING">1.3 Document processing with 
mom</a></li>
+    <li><a href="intro.html#INTRO_PHILOSOPHY">1.4 Mom's philosophy</a></li>
+    <li><a href="intro.html#INTRO_DOCUMENTATION">1.5 A note on mom's 
documentation</a></li>
+
+    <ul>
+        <li><a href="intro.html#MACRO_ARGS">1.5.1 How to read macro 
arguments</a></li>
+        <li><a href="intro.html#TOGGLE_MACRO">1.5.2 &quot;Toggle&quot; 
macros</a></li>
+    </ul>
+
+</ul>
+
+<a name="DEFS"></a>
+<a href="definitions.html#TERMS"><strong>2. DEFINITIONS OF TERMS USED IN THIS 
MANUAL</strong></a>
+
+<ul>
+    <li><a href="definitions.html#TERMS_TYPESETTING">2.1 Typesetting 
terms</a></li>
+    <li><a href="definitions.html#TERMS_GROFF">2.2 Groff terms</a></li>
+    <li><a href="definitions.html#TERMS_MOM">2.3 Mom's document processing 
terms</a></li>
+</ul>
+
+<a name="USING"></a>
+<a href="using.html#USING"><strong>3. USING MOM</strong></a>
+
+<ul>
+    <li><a href="using.html#USING_INTRO">3.1 Introduction</a></li>
+    <li><a href="using.html#USING_MACROS">3.2 How to input mom's 
macros</a></li>
+    <li><a href="using.html#USING_INVOKING">3.3 Printing &mdash; invoking 
groff with mom</a></li>
+    <li><a href="using.html#USING_PREVIEWING">3.4 How to preview 
documents</a></li>
+</ul>
+
+<!-- -TYPESETTING MACROS- -->
+
+<a name="TYPESET"></a>
+<a href="typesetting.html#MACROS_TYPESETTING"><strong>4. THE TYPESETTING 
MACROS</strong></a>
+
+<ul>
+    <a name="TYPE_INTRO"></a>
+    <li><a href="typesetting.html#INTRO_MACROS_TYPESETTING"><strong>4.1 
Introduction to the typesetting macros</strong></a></li>
+
+    <a name="PAGE"></a>
+    <li><a href="typesetting.html#PAGE_MARGINS"><strong>4.2 Page 
Setup</strong></a> &mdash; paper size and page margins</li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_SETUP">4.2.1 Macro list</a></li>
+    </ul>
+
+    <a name="PARAM"></a>
+    <li><a href="typesetting.html#BASIC_PARAMS"><strong>4.3 Basic 
Parameters</strong></a> &mdash; family, font, fallback font, point size, line 
space, line length, autolead</li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_BASIC">4.3.1 Macro list</a></li>
+    </ul>
+
+    <a name="JUST"></a>
+    <li><a href="typesetting.html#JUST_QUAD_FILL"><strong>4.4 Justifying, 
Quadding, Filling and Breaking Lines</strong></a></li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_JUST">4.4.1 Macro list</a></li>
+    </ul>
+    
+    <a name="REFINE"></a>
+    <li><a href="typesetting.html#REFINEMENTS"><strong>4.5 
Refinements</strong></a> &mdash; word space, sentence space, letter spacing 
(track kerning), hyphenation, kerning, ligatures</li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_REFINEMENTS">4.5.1 Macro 
list</a></li>
+    </ul>
+
+    <a name="MOD"></a>
+    <li><a href="typesetting.html#MODIFICATIONS"><strong>4.6 Modifying 
Type</strong></a> &mdash; pseudo-italic, -bold, -condensed, and -extended</li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_MODIFICATIONS">4.6.1 Macro 
list</a></li>
+    </ul>
+
+    <a name="VERT"></a>
+    <li><a href="typesetting.html#ALDRLD"><strong>4.7 Vertical 
Movements</strong></a> &mdash; moving up and down on the page</li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_ALDRLD">4.7.1 Macro list</a></li>
+    </ul>
+
+    <a name="TAB"></a>
+    <li><a href="typesetting.html#TABS"><strong>4.8 Tabs</strong></a></li>
+
+    <ul>
+        <li><a href="typesetting.html#TYPESETTING_TABS">4.8.1 Typesetting 
tabs</a></li>
+
+        <ul>
+            <li><a href="typesetting.html#TYPESETTING_TABS_TUT">4.8.1.1 
Quickie tutorial</a></li>
+        </ul>
+
+        <li><a href="typesetting.html#STRING_TABS">4.8.2 String tabs 
(autotabs)</a></li>
+
+        <ul>
+            <li><a href="typesetting.html#STRING_TABS_TUT">4.8.2.1 Quickie 
tutorial</a></li>
+        </ul>
+
+        <li><a href="typesetting.html#INDEX_TABS">4.8.3 Macro list</a></li>
+    </ul>
+
+    <a name="COL"></a>
+    <li><a href="typesetting.html#MULTI_COLUMNS"><strong>4.9 
Multi-columns</strong></a></li>
+
+    <ul>
+        <li><a href="typesetting.html#INDEX_MULTI_COLUMNS">4.9.1 Macro 
list</a></li>
+    </ul>
+
+    <a name="IND"></a>
+    <li><a href="typesetting.html#INDENTS"><strong>4.10 
Indents</strong></a></li>
+
+    <ul>
+        <li><a href="typesetting.html#INDENTS_TUT">4.10.1 A brief explanation 
of how mom handles indents</a></li>
+        <li><a href="typesetting.html#INDEX_INDENTS">4.10.2 Macro list</a></li>
+    </ul>
+
+    <a name="GOODIES"></a>
+    <li><a href="goodies.html#GOODIES"><strong>4.11 Goodies</strong></a>
+        &mdash; aliases, transparent lines, smartquotes, caps,
+        underscoring/underlining, padding lines, leaders, drop
+        caps, superscripts, (nested) lists, user-definable strings,
+        changing the escape character</li>
+
+    <ul>
+        <li><a href="goodies.html#INDEX_GOODIES">4.11.1 Macro list</a></li>
+    </ul>
+
+    <a name="ESCAPES"></a>
+    <li><a href="inlines.html#INLINE_ESCAPES"><strong>4.12 Inline 
Escapes</strong></a></li>
+
+    <ul>
+        <li><a href="inlines.html#INTRO_INLINE_ESCAPES">4.12.1 Introduction to 
inline escapes</a></li>
+        <li><a href="inlines.html#INLINES_MOM">4.12.2 Mom's personal 
inlines</a></li>
+        <li><a href="inlines.html#INLINES_GROFF">4.12.3 Groff inlines</a></li>
+        <li><a href="inlines.html#INLINE_CHARACTERS_GROFF">4.12.3.1 Inlines 
for special characters and symbols</a></li>
+    </ul>
+
+    <a name="COLOR"></a>
+    <li><a href="color.html#TOP"><strong>4.13 Coloured text</strong></a></li>
+
+    <ul>
+        <li><a href="color.html#INTRO_COLOR">4.13.1 Introduction to coloured 
text</a></li>
+        <li><a href="color.html#MACROS_COLOR">4.13.2 Macro list</a></li>
+    </ul>
+
+    <a name="GRAPHICAL"></a>
+    <li><a href="graphical.html#TOP"><strong>4.14 Graphical 
objects</strong></a>
+        &mdash; horizontal and vertical rules, boxes, ellipses (circles)</li>
+
+    <ul>
+        <li><a href="graphical.html#INTRO_GRAPHICAL">4.14.1 Introduction to 
graphical objects</a></li>
+        <li><a href="graphical.html#MACROS_GRAPHICAL">4.13.2 Macro 
list</a></li>
+    </ul>
+
+</ul>
+
+<!-- -DOCUMENT PROCESSING MACORS- -->
+
+<a name="DOCPROC"></a>
+<a href="docprocessing.html#DOCPROCESSING"><strong>5. DOCUMENT PROCESSING WITH 
MOM</strong></a>
+
+<ul>
+    <li><a href="docprocessing.html#INTRO_MACROS_DOCPROCESSING"><strong>5.1 
Introduction to document processing</strong></a></li>
+    <li><a href="docprocessing.html#DEFAULTS"><strong>5.2 Some document 
defaults</strong></a></li>
+
+    <ul>
+        <li><a href="docprocessing.html#LEADING_NOTE">IMPORTANT NOTE on 
leading/spacing and bottom margins</a></li>
+        <li><a href="docprocessing.html#SHIM">The SHIM macro</a> &mdash; to 
get document leading back on track</li>
+    </ul>
+
+    <a name="PRELIM"></a>
+    <li><a href="docprocessing.html#SETUP"><strong>5.3 PRELIMINARY DOCUMENT 
SETUP</strong></a></li>
+
+    <ul>
+        <li><a href="docprocessing.html#DOCPROCESSING_TUT">5.3.1 Tutorial</a> 
&mdash; setting up a mom document</li>
+        <li><a href="docprocessing.html#REFERENCE_MACROS"><strong>5.3.2 The 
Reference Macros</strong></a> &mdash; giving <strong>mom</strong> the 
information she needs to do her job</li>
+
+        <ul>
+            <li><a href="docprocessing.html#TITLE">5.3.2.1 TITLE</a></li>
+            <li><a href="docprocessing.html#DOC_TITLE">5.3.2.2 
DOCTITLE</a></li>
+            <li><a href="docprocessing.html#SUBTITLE">5.3.2.3 SUBTITLE</a></li>
+            <li><a href="docprocessing.html#AUTHOR">5.3.2.4 AUTHOR</a></li>
+            <li><a href="docprocessing.html#CHAPTER">5.3.2.5 CHAPTER</a></li>
+            <li><a href="docprocessing.html#CHAPTER_TITLE">5.3.2.6 
CHAPTER_TITLE</a></li>
+            <li><a href="docprocessing.html#DRAFT">5.3.2.7 DRAFT</a></li>
+            <li><a href="docprocessing.html#REVISION">5.3.2.8 REVISION</a></li>
+            <li><a href="docprocessing.html#COPYRIGHT">5.3.2.9 
COPYRIGHT</a></li>
+            <li><a href="docprocessing.html#MISC">5.3.2.10 MISC</a></li>
+            <li><a href="docprocessing.html#COVERTITLE">5.3.2.11 
COVER_TITLE</a></li>
+            <li><a href="docprocessing.html#COVERTITLE">5.3.2.12 
DOC_COVER_TITLE</a></li>
+        </ul>
+
+        <li><a href="docprocessing.html#DOCSTYLE_MACROS"><strong>5.3.3 The 
Docstyle Macros</strong></a> &mdash; telling <strong>mom</strong> what kind of 
document you're creating and how you want it to look overall</li>
+
+        <ul>
+            <li><a href="docprocessing.html#DOCTYPE">5.3.3.1 DOCTYPE</a> 
&mdash; kind of document</li>
+            <li><a href="docprocessing.html#PRINTSTYLE">5.3.3.2 PRINTSTYLE</a> 
&mdash; typeset or typewrite</li>
+            <li><a href="docprocessing.html#COPYSTYLE">5.3.3.3 COPYSTYLE</a> 
&mdash; draft or final</li>
+        </ul>
+
+        <li><a href="docprocessing.html#START_MACRO"><strong>5.3.4 Initiate 
document processing</strong></a></li>
+
+        <ul>
+            <li><a href="docprocessing.html#START">5.3.4.1 START</a> &mdash; 
the required macro to initiate document processing</li>
+        </ul>
+
+        <li><a href="docprocessing.html#STYLE_BEFORE_START"><strong>5.3.5 
Changing global typesetting and formatting parameters <em>before</em> 
START</strong></a></li>
+
+        <ul>
+            <li><a href="docprocessing.html#TYPE_BEFORE_START">5.3.5.1 Using 
the typesetting macros before START</a></li>
+
+            <ul>
+                <li><a href="docprocessing.html#INCLUDE">Including (sourcing) 
style sheets and files</a></li>
+                <li><a href="docprocessing.html#COLOR">Initializing 
colours</a></li>
+            </ul>
+
+            <li><a href="docprocessing.html#DOC_LEAD_ADJUST">5.3.5.2  
DOC_LEAD_ADJUST</a> &mdash; adjust a document's
+                <a href="definitions.html#TERMS_LEADING">leading</a>
+                (line spacing) to fill pages</li>
+            <li><a href="docprocessing.html#DOCHEADER">5.3.5.3 DOCHEADER</a> 
&mdash; managing the
+                <a href="definitions.html#TERMS_DOCHEADER">document 
header</a></li>
+            <li><a href="docprocessing.html#COLUMNS_INTRO">5.3.5.4 COLUMNS</a> 
&mdash; setting documents in columns</li>
+        </ul>
+
+        <li><a href="docprocessing.html#DOC_PARAM_MACROS"><strong>5.3.6 
Changing global style parameters <em>after</em> START</strong></a></li>
+
+        <ul>
+            <li><a href="docprocessing.html#INDEX_DOC_PARAM">5.3.6.1 Macro 
list</a></li>
+        </ul>
+
+        <a name="TYPEMACDOC"></a>
+        <li><a href="typemacdoc.html#TYPESETTING"><strong>5.3.7 Using the 
typesetting macros during document processing</strong></a></li>
+    </ul>
+
+    <a name="TAGS"></a>
+    <li><a href="docelement.html#DOCELEMENT"><strong>5.4 THE DOCUMENT ELEMENT 
TAGS</strong></a></li>
+
+    <ul>
+        <li><a href="docelement.html#DOCELEMENT_INTRO">5.4.1 Introduction to 
the document element tags</a></li>
+
+        <ul>
+            <li><a href="docelement.html#DOCELEMENT_CONTROL">Control 
macros</a> &mdash; changing style defaults for document element tags</li>
+            <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the 
control macros</a></li>
+        </ul>
+
+        <li><a href="docelement.html#EPIGRAPH_INTRO">5.4.2 Epigraphs</a></li>
+        <li><a href="docelement.html#PP_INTRO">5.4.3 Paragraphs</a></li>
+        <li><a href="docelement.html#HEAD_INTRO">5.4.4 Main heads</a></li>
+        <li><a href="docelement.html#SUBHEAD_INTRO">5.4.5 Subheads</a></li>
+        <li><a href="docelement.html#PARAHEAD_INTRO">5.4.6 Paragraph 
heads</a></li>
+        <li><a href="docelement.html#LINEBREAK_INTRO">5.4.7 Linebreaks</a> 
&mdash; author linebreaks (section breaks)</li>
+        <li><a href="docelement.html#QUOTE_INTRO">5.4.8 Quotes</a> &mdash; 
line for line poetic quotes or unformatted, verbatim text (e.g. code 
snippets)</li>
+        <li><a href="docelement.html#BLOCKQUOTE_INTRO">5.4.9 Blockquotes</a> 
&mdash; cited material</li>
+        <li><a href="docelement.html#CODE">5.4.10 Code</a> &mdash; inserting 
code snippets into documents</li>
+        <li><a href="docelement.html#LIST_INTRO">5.4.11 Lists</a> &mdash; 
(nested) lists</li>
+        <li><a href="docelement.html#NUMBER_LINES_INTRO">5.4.12 Line 
numbering</a></li>
+        <li><a href="docelement.html#FOOTNOTE_INTRO">5.4.13 Footnotes</a></li>
+        <li><a href="docelement.html#ENDNOTE_INTRO">5.4.14 Endnotes</a></li>
+        <li><a href="docelement.html#MARGIN_NOTES_INTRO">5.4.15 Margin 
notes</a></li>
+        <li><a href="docelement.html#BLANK_PAGE_TITLE">5.4.16 Blank 
pages</a></li>
+        <li><a href="docelement.html#FINIS_INTRO">5.4.17 Document termination 
string</a> &mdash; FINIS</li>
+        <li><a href="docelement.html#TOC_INTRO">5.4.18 Tables of 
contents</a></li>
+    </ul>
+
+    <a name="IMAGES"></a>
+    <li><a href="docelement.html#PSPIC"><strong>5.5 INSERTING IMAGES INTO A 
DOCUMENT</strong></a></li>
+
+    <a name="HDRFTR"></a>
+    <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>5.6 PAGE HEADERS AND 
FOOTERS</strong></a></li>
+
+    <ul>
+        <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">5.6.1 
Introduction</a></li>
+        <li><a href="headfootpage.html#DESCRIPTION_GENERAL">5.6.2 General 
description of headers/footers</a></li>
+        <li><a href="headfootpage.html#HEADER_STYLE">5.6.3 Default specs for 
headers/footers</a></li>
+        <li><a href="headfootpage.html#VERTICAL_SPACING">5.6.4 Vertical 
placement and spacing of headers/footers</a></li>
+        <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">5.6.5 Managing 
headers/footers</a></li>
+
+        <ul>
+            <li><a href="headfootpage.html#USERDEF_HDRFTR">5.6.5.1 
User-defined, single string recto/verso headers/footers</a></li>
+        </ul>
+
+        <li><a href="headfootpage.html#HEADFOOT_CONTROL">5.6.6 Control macros 
for headers/footers</a></li>
+    </ul>
+
+    <a name="PAGINATE"></a>
+    <li><a href="headfootpage.html#PAGINATION"><strong>5.7 
PAGINATION</strong></a></li>
+
+    <ul>
+        <li><a href="headfootpage.html#PAGINATION">Introduction</a></li>
+        <li><a href="headfootpage.html#INDEX_PAGINATION">Pagination macros 
list</a></li>
+    </ul>
+
+    <a name="RV"></a>
+    <li><a href="rectoverso.html#RECTOVERSO"><strong>5.8 RECTO/VERSO PRINTING, 
COLLATING</strong></a></li>
+
+    <ul>
+        <li><a href="rectoverso.html#RECTOVERSO_INTRO">5.8.1 Introduction to 
recto/verso</a></li>
+
+        <ul>
+            <li><a href="rectoverso.html#RECTOVERSO_LIST">5.8.1.1 Macro 
list</a></li>
+        </ul>
+
+        <li><a href="rectoverso.html#COLLATE_INTRO">5.8.2 Introduction to 
collating</a></li>
+
+        <ul>
+            <li><a href="rectoverso.html#COLLATE">5.8.2.1 The COLLATE 
macro</a></li>
+        </ul>
+
+    </ul>
+
+    <a name="COVER"></a>
+    <li><a href="cover.html#COVER_TOP"><strong>5.9 CREATING COVER 
PAGES</strong></a></li>
+
+    <a name="REF"></a>
+    <li><a href="refer.html#REF_INTRO"><strong>5.10 BIBLIOGRAPHIES AND 
REFERENCES</strong></a></li>
+
+    <a name="LETTER"></a>
+    <li><a href="letters.html#LETTERS"><strong>5.11 WRITING 
LETTERS</strong></a></li>
+
+    <ul>
+        <li><a href="letters.html#LETTERS_INTRO">5.11.1 Introduction to 
writing letters</a></li>
+        <li><a href="letters.html#TUTORIAL">5.11.2 Tutorial on writing 
letters</a></li>
+        <li><a href="letters.html#LETTERS_DEFAULTS">5.11.3 Default style for 
letters</a></li>
+        <li><a href="letters.html#LETTERS_MACROS">5.11.4 The letter 
macros</a></li>
+    </ul>
+
+</ul>
+
+<a name="QUICK"></a>
+<a href="macrolist.html#QUICK"><strong>6. QUICK REFERENCE GUIDE TO 
MOM</strong></a>
+<br/>
+
+<a name="APP"></a>
+<a href="appendices.html#APPENDICES"><strong>7. APPENDICES</strong></a>
+
+<ul>
+    <li><a href="appendices.html#MOREDOC">7.1 Further notes on this 
documentation</a></li>
+    <li><a href="appendices.html#FONTS">7.2 Adding PostScript fonts to 
groff</a></li>
+
+    <ul>
+        <li><a href="appendices.html#HOWTO">7.2.1 How to create a PostScript 
font for use with groff</a></li>
+    </ul>
+
+    <li><a href="appendices.html#CODENOTES">7.3 Some reflections on 
mom</a></li>
+    <li><a href="reserved.html#RESERVED">7.5 List of reserved words</a>
+        &mdash; complete list of macros, registers, strings, aliases and 
diversions</li>
+    <li><a href="appendices.html#CONTACT">7.5 Contact the author</a></li>
+</ul>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: typemacdoc.html
===================================================================
RCS file: typemacdoc.html
diff -N typemacdoc.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ typemacdoc.html     1 Aug 2006 01:14:08 -0000       1.11
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Typesetting macros in document processing</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="docelement.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docprocessing.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="TYPESETTING"><h1 align="center"><u>Using the typesetting macros 
during document processing</u></h1></a>
+
+<p>
+<a href="#BEHAVIOUR">Typesetting macro behaviour</a>
+<br/>
+
+<a href="#TB_MARGINS">Top and bottom margins in document processing</a>
+<br/>
+
+<a href="#SPACE">Inserting space at the top of a page</a>
+<br/>
+
+&nbsp;&nbsp;&nbsp;&nbsp;* <a href="#ADD_SPACE">ADD_SPACE</a>
+</p>
+
+<a name="BEHAVIOUR"><h2><u>Typesetting macro behaviour</u></h2></a>
+
+<p>
+During document processing, most of the
+<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
+affect type in the document globally.  For example, if you turn
+kerning off, pairwise kerning is disabled not only in paragraphs,
+but also in headers, footers, quotes, and so on.
+</p>
+
+<p>
+Typesetting macros that alter margins and line lengths affect
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+globally (or at least try to), but leave headers/footers and
+footnotes alone.  (To indent footnotes, see the full explanation of
+the
+<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
+macro.)
+</p>
+
+<p>
+<strong>Mom</strong>'s tabs
+(both
+<a href="typesetting.html#TYPESETTING_TABS">typesetting tabs</a>
+and
+<a href="typesetting.html#STRING_TABS">string tabs</a>)
+behave as expected in running text during document processing.  Tab
+structures that do not exceed the line length of running text are
+preserved sensibly from page to page, and, if
+<a href="docprocessing.html#COLUMNS">COLUMNS</a>
+are enabled, from column to column.
+</p>
+
+<p>
+Some typesetting macros, however, when used during document
+processing, behave in special ways.  These are the macros that deal
+with the basic parameters of type style: horizontal and vertical
+margins, line length,
+<a href="definitions.html#TERMS_FAMILY">family</a>,
+<a href="definitions.html#TERMS_FONT">font</a>,
+<a href="definitions.html#TERMS_PS">point size</a>,
+<a href="definitions.html#TERMS_LEADING">leading</a>,
+and
+<a href="definitions.html#TERMS_QUAD">quad</a>.
+</p>
+
+<p>
+<strong>Mom</strong> assumes that any changes to these parameters
+stem from a temporary need to set type in a style different from
+that provided by <strong>mom</strong>'s
+<a href="docelement.html#INDEX_DOCELEMENT">document element tags</a>.
+In other words, you need to do a bit of creative typesetting in the
+middle of a document.
+</p>
+
+<p>
+The following lists those typesetting macros whose behaviour during
+document processing requires some explanation.
+(Please refer to
+<a href="#TB_MARGINS">Top and bottom margins in document processing</a>
+for information on how <strong>mom</strong> interprets
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>
+and
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
+in document processing.  Additionally, see
+<a href="#ADD_SPACE">ADD_SPACE</a>
+if you encounter the problem of trying to get <strong>mom</strong>
+to put space at the tops of pages after the first.)
+</p>
+
+<pre>
+MACRO           EFFECT DURING DOCUMENT PROCESSING
+-----           ---------------------------------
+
+L_MARGIN        *The left margin of all running text
+                 assumes the new value.
+
+                *The line length remains unaltered.
+
+                *The header and footer left margin
+                 remain at the current document default.
+
+                (You won't use this often by itself.  Most
+                 likely, you'll use it in combination with
+                 R_MARGIN or LL.)
+
+R_MARGIN        *The right margin of all running text
+                 assumes the new value.  In other words,
+                 the line length is altered.
+
+                *The header and footer right margin
+                 remain at the current document default.
+
+LL              *The line length of all running text
+                 is set to the new value.
+
+                *The header and footer line length remain
+                 at the current document default.
+
+FAMILY          *Changes family for the duration of the
+                 current tag only.  As soon as another document
+                 element tag is invoked, the family reverts to
+                 the current default for the new tag.
+
+FT              *Changes font for the duration of the
+                 current tag only.  As soon as another document
+                 element tag is entered, the font reverts
+                 to the current default for the new tag.
+
+                 N.B. &mdash; \*[SLANT] and \*[BOLDER] affect
+                 paragraph text, and remain in effect for all
+                 paragraphs until turned off.  If you want to
+                 use them in a macro that takes a string
+                 argument, include the escape in the string.
+                 \*[COND] and \*[EXT] behave similarly.
+
+PT_SIZE         *Changes point size for the duration of the
+                 current tag only.  As soon as another document
+                 element tag is entered, the point size reverts
+                 to the current document default for the new
+                 tag.
+
+LS              *Changes line space for the duration of the
+                 current tag only.  As soon as another document
+                 element tag is entered, the line space reverts to
+                 the current document default for the new
+                 tag.
+
+                 Using LS to temporarily change leading within a
+                 document will almost certainly result in a bottom
+                 margin that doesn't align with the bottom margin
+                 of subsequent pages.  You'll need to use the SHIM
+                 macro to get mom back on track when you're ready
+                 to return to the document's default leading.
+
+QUAD            *Changes quad for the duration of the
+                 current tag only.  As soon as another document
+                 element tag is entered, the quad reverts to
+                 the current document default for the new
+                 tag.
+
+                 N.B. &mdash; Line-for-line quadding macros
+                 (LEFT, CENTER, RIGHT) are also temporary,
+                 overridden by the QUAD value of any subsequent
+                 document element tag.
+</pre>
+
+<hr/>
+
+<!-- ===================================================================== -->
+
+<a name="TB_MARGINS"><h2><u>Top and bottom margins in document 
processing</u></h2></a>
+
+<p>
+Normally, <strong>mom</strong> establishes the top and bottom
+margins of
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+in documents from the values of <strong>HEADER_MARGIN +
+HEADER_GAP</strong> and <strong>FOOTER_MARGIN + FOOTER_GAP</strong>
+respectively.  However, if you invoke
+<a href="typesetting.html#T_MARGIN">T_MARGIN</a>
+or
+<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
+either before or after
+<a href="docelement.html#START">START</a>,
+they set the top and bottom margins of running text irrespective of
+<strong>HEADER_GAP</strong> and <strong>FOOTER_GAP</strong>.
+</p>
+
+<p>
+Put another way, in document processing, <strong>T_MARGIN</strong>
+and <strong>B_MARGIN</strong> set the top and bottom margins of
+running text, but have no effect on the placement of
+<a href="definitions.html#TERMS_HEADER">headers</a>,
+<a href="definitions.html#TERMS_FOOTER">footers</a>,
+or page numbers.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="SPACE"><h2><u>Inserting space at the top of a page</u></h2></a>
+
+<p>
+Occasionally, you may want to insert space before the start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+on pages after the first.
+</p>
+
+<p>
+You might have tried using
+<a href="typesetting.html#ALD">ALD</a>
+or
+<a href="typesetting.html#SPACE">SPACE</a>
+and found it did nothing.  This is because <strong>mom</strong>
+normally inhibits any extra space before the start of running text
+on pages after the first.
+</p>
+
+<p>
+If you need the space, you must use the macro,
+<strong>ADD_SPACE</strong>, in conjuction with
+<a href="typesetting.html#NEWPAGE">NEWPAGE</a>.
+</p>
+
+<!-- -ADD_SPACE- -->
+
+<hr width="66%" align="left"/>
+
+<a name="ADD_SPACE"></a>
+
+<p>
+<nobr>Macro: <strong>ADD_SPACE</strong> <kbd>&lt;amount of 
space&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>ADD_SPACE</strong> takes as its single argument the distance
+you want <strong>mom</strong> to advance from the normal baseline
+position at the top of the page.  A
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+is required.
+</p>
+
+<p>
+For example, say you wanted to insert 2 inches of space before the
+start of
+<a href="definitions.html#TERMS_RUNNING">running text</a>
+on a page other than the first.  You'd accomplish it with
+
+<pre>
+    .NEWPAGE
+    .ADD_SPACE 2i
+</pre>
+
+which would terminate your current page, break to a new page,
+print the header (assuming headers are on) and insert 2 inches of
+space before the start of running text.
+</p>
+
+<p>
+Since adding space in this way is almost sure to disrupt
+<strong>mom</strong>'s ability to guarantee perfectly flush bottom
+margins, I highly recommend using the
+<a href="docprocessing.html#SHIM">SHIM</a>
+macro immediately after <strong>ADD_SPACE</strong>.
+</p>
+
+<hr/>
+
+<p>
+<a href="docelement.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="docprocessing.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: typesetting.html
===================================================================
RCS file: typesetting.html
diff -N typesetting.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ typesetting.html    1 Aug 2006 01:14:08 -0000       1.19
@@ -0,0 +1,5084 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Mom -- Typesetting Macros</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="goodies.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="definitions.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="MACROS_TYPESETTING"><h1 align="center"><u>The typesetting 
macros</u></h1></a>
+
+<ul>
+    <li><a href="#INTRO_MACROS_TYPESETTING"><strong>Introduction to the 
typesetting macros</strong></a></li>
+    <br/>
+
+    <li><strong>PAGE SETUP</strong></li>
+    <ul>
+        <li><a href="#INTRO_SETUP">Introduction to Page Setup</a></li>
+        <li><a href="#INDEX_SETUP">List of macros</a></li>
+    </ul>
+    <li><strong>BASIC TYPESETTING PARAMETERS</strong></li>
+    <ul>
+        <li><a href="#INTRO_BASIC_PARAMS">Introduction to Basic 
Parameters</a></li>
+        <li><a href="#INDEX_BASIC">List of macros</a></li>
+    </ul>
+    <li><strong>JUSTIFYING, QUADDING, FILLING, BREAKING and JOINING 
LINES</strong></li>
+    <ul>
+        <li><a href="#JUST_QUAD_FILL">Introduction to justify, quad, fill, 
break</a></li>
+        <li><a href="#INDEX_JUST">List of macros</a></li>
+    </ul>
+    <li><strong>TYPOGRAPHIC REFINEMENTS</strong></li>
+    <ul>
+        <li><a href="#INTRO_REFINEMENTS">Introduction to typographic 
refinements</a></li>
+        <li><a href="#INDEX_REFINEMENTS">List of macros</a></li>
+    </ul>
+    <li><strong>TYPE MODIFICATIONS &mdash; pseudo italic, bold, condense, 
extend</strong></li>
+    <ul>
+        <li><a href="#MODIFICATIONS">Introduction to type 
modifications</a></li>
+        <li><a href="#INDEX_MODIFICATIONS">List of macros</a></li>
+    </ul>
+    <li><strong>VERTICAL MOVEMENTS</strong></li>
+    <ul>
+        <li><a href="#ALDRLD">Introduction to vertical movements</a></li>
+        <li><a href="#INDEX_ALDRLD">List of macros</a></li>
+    </ul>
+    <li><strong>TABS</strong></li>
+    <ul>
+        <li><a href="#TABS">Introduction to tabs</a></li>
+        <li><a href="#TYPESETTING_TABS">Typesetting tabs</a></li>
+        <ul>
+            <li><a href="#TYPESETTING_TABS_TUT">Quickie tutorial</a></li>
+        </ul>
+        <li><a href="#STRING_TABS">String tabs</a></li>
+        <ul>
+            <li><a href="#STRING_TABS_TUT">Quickie tutorial</a></li>
+        </ul>
+        <li><a href="#INDEX_TABS">List of macros</a></li>
+    </ul>
+    <li><strong>MULTI-COLUMNS</strong></li>
+    <ul>
+        <li><a href="#MULTI_COLUMNS">Introduction to multi-columns</a></li>
+        <li><a href="#INDEX_MULTI_COLUMNS">List of macros</a></li>
+    </ul>
+    <li><strong>INDENTS</strong></li>
+    <ul>
+        <li><a href="#INDENTS">Introduction to indents</a></li>
+        <li><a href="#INDEX_INDENTS">List of macros</a></li>
+    </ul>
+    <li><strong>GOODIES</strong></li>
+    <ul>
+        <li><a href="goodies.html#GOODIES">Introduction to goodies</a></li>
+        <li><a href="goodies.html#INDEX_GOODIES">List of macros</a></li>
+    </ul>
+    <li><strong>INLINE ESCAPES</strong></li>
+    <ul>
+        <li><a href="inlines.html#INTRO_INLINE_ESCAPES">Introduction to inline 
escapes</a></li>
+        <li><a href="inlines.html#INDEX_INLINES">List of inline 
escapes</a></li>
+    </ul>
+    <li><strong>COLOURED TEXT</strong></li>
+    <ul>
+        <li><a href="color.html#INTRO_COLOR">Introduction to coloured 
text</a></li>
+        <li><a href="color.html#MACROS_COLOR">Macro list</a></li>
+    </ul>
+</ul>
+
+<hr/>
+
+<h2><a name="INTRO_MACROS_TYPESETTING"><u>Introduction to the typesetting 
macros</u></a></h2>
+
+<p>
+<strong>Mom</strong>'s typesetting macros provide access to groff's
+typesetting capabilities.  Aside from controlling basic type
+parameters (family, font, line length, point size, leading),
+<strong>mom</strong>'s macros fine-tune wordspacing, letterspacing,
+kerning, hyphenation, and so on.  In addition, <strong>mom</strong>
+has true typesetting tabs, string tabs, multiple indent styles, line
+padding, and a batch of other goodies.
+</p>
+
+<p>
+In some cases, <strong>mom</strong>'s typesetting macros merely
+imitate groff primitives.  In others, they approach typesetting
+concerns in conceptually new ways (for groff, at least).  This
+should present no problem for newcomers to groff who are learning
+<strong>mom</strong>.  Old groff hands should be careful.  Just
+because it looks like a duck and walks like a duck does not, in this
+instance, mean that it is a duck.  When using <strong>mom</strong>,
+stay away from groff primitives if <strong>mom</strong> provides a
+macro that accomplishes the same thing.
+</p>
+
+<p>
+<strong>Mom</strong>'s typesetting macros can be used as a
+standalone package, independent of the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+With them, you can typeset on-the-fly.  Book covers, your best
+friend's résumé, a poster for a lost dog &mdash; none of these requires
+structured document processing (page headers, paragraphs, heads,
+footnotes, etc).  What they do demand is precise control over every
+element on the page.  The typesetting macros give you that control.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="INTRO_SETUP"></a>
+
+<a name="PAGE_MARGINS"><h2><u>Page setup: paper size and page 
margins</u></h2></a>
+
+<p>
+The page setup macros establish the physical dimensions of your page
+and the margins you want it to have. <strong>Groff</strong> has
+defaults for these, but I recommend setting them at the top of your
+files anyway unless you're using <strong>mom</strong>'s
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+and are content with her defaults.
+</p>
+
+<p>
+The
+<a href="#PAPER">PAPER</a>
+macro provides a shortcut for setting the page to the correct
+dimensions for a number of well-known, established paper sizes.  The
+<a href="#PAGE">PAGE</a>
+macro provides a convenient way of setting the page dimensions and
+some or all of the page margins with a single macro.
+</p>
+
+<a name="DIMENSIONS_NOTE"><h3><u>Important note on page dimensions and 
papersize</u></h3></a>
+
+<p>
+<strong>Mom</strong>'s macros for setting up the desired size of
+printer sheets (the &quot;papersize&quot;) tell <strong>mom</strong>
+and <strong>groff</strong> about the page dimensions, but not the
+driver responsible for generating the final PostScript file.  You
+<em><strong>must</strong></em> take care of this yourself.
+</p>
+
+<p>
+If you routinely print documents on the same size paper (you
+probably do), the easiest way to make sure the PostScript driver
+knows about your papersize is to edit the file
+
+<pre>
+    &lt;path to groff&gt;/font/devps/DESC
+</pre>
+
+In it, you will see a line that reads
+
+<pre>
+    papersize &lt;papersize&gt;
+</pre>
+
+Change <kbd>&lt;papersize&gt;</kbd> to either the name of your
+papersize (e.g. a4, letter, legal, etc.; a full list of valid named
+papersizes that can be used in DESC is found in
+<nobr><kbd>man papersize</kbd></nobr>.  If your routine papersize is
+non-standard (i.e. doesn't have a &quot;name&quot;) you can give
+the dimensions for your papersize, separated by a comma.  The
+dimensions <em><strong>must</strong></em> have a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+appended.  Valid units of measure for papersize are
+inches <nobr>(<kbd>i</kbd>),</nobr>
+centimeters <nobr>(<kbd>c</kbd>),</nobr>
+picas <nobr>(<kbd>P</kbd>)</nobr> and
+points <nobr>(<kbd>p</kbd>).</nobr>
+</p>
+
+<p>
+For example, to set up a routine papersize of 8 inches by 10 inches,
+the line would look like this:
+
+<pre>
+    papersize 8i,10i
+</pre>
+</p>
+
+<p>
+Having set up your routine papersize, if you occasionally need
+to print on sheets that do not conform to its dimensions,
+you <em><strong>must</strong></em>, in addition to setting
+the page dimensions in your <strong>mom</strong> file,
+invoke <strong>groff</strong> on the command line with the
+<kbd>-P-p&lt;papersize&gt;</kbd> option.
+</p>
+
+<p>
+For example, suppose your routine papersize is &quot;letter&quot;,
+and you need to print something on a &quot;legal&quot;-sized sheet.
+After telling <strong>mom</strong> about the legal-size sheet (with
+either
+<a href="#PAGELENGTH">PAGELENGTH</a>
+and
+<a href="#PAGEWIDTH">PAGEWIDTH</a>,
+or
+<a href="#PAPER">PAPER</a>,
+or
+<a href="#PAGE">PAGE</a>,
+in your <strong>mom</strong> file, when you invoke
+<strong>groff</strong> to process the file, the command would look
+like this:
+
+<pre>
+    groff -mom -P-plegal
+</pre>
+</p>
+
+<p>
+Consult <nobr><kbd>man groff</kbd></nobr>,
+<nobr><kbd>man grops</kbd></nobr> and
+<nobr><kbd>man groff_font</kbd></nobr> for additional information
+concerning papersizes, as well as information on printing in
+&quot;landscape&quot; orientation.
+</p>
+
+<a name="INDEX_SETUP"><h3><u>Page setup macros list</u></h3></a>
+
+<ul>
+    <li><a href="#PAGEWIDTH">PAGEWIDTH</a> (page width)</li>
+    <li><a href="#PAGELENGTH">PAGELENGTH</a> (page length)</li>
+    <li><a href="#PAPER">PAPER</a> (common paper sizes)</li>
+    <li><a href="#L_MARGIN">L_MARGIN</a> (left margin)</li>
+    <li><a href="#R_MARGIN">R_MARGIN</a> (right margin)</li>
+    <li><a href="#T_MARGIN">T_MARGIN</a> (top margin)</li>
+    <li><a href="#B_MARGIN">B_MARGIN</a> (bottom margin)</li>
+    <li><a href="#PAGE">PAGE</a> (page dimensions and margins all in one fell 
swoop)</li>
+    <li><a href="#NEWPAGE">NEWPAGE</a> (start a new page)</li>
+</ul>
+
+<!-- -PAGEWIDTH- -->
+
+<hr width="66%" align="left"/>
+
+<a name="PAGEWIDTH"><h3><u>Page width</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PAGEWIDTH</strong> <kbd>&lt;width of printer 
sheet&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+The argument to <strong>PAGEWIDTH</strong> is the width of your
+printer sheet.  <strong>PAGEWIDTH</strong> requires a unit of measure.
+Decimal fractions are allowed.  Hence, to tell <strong>mom</strong>
+the width of your printer sheet is 8-1/2 inches, you enter
+
+<pre>
+    .PAGEWIDTH 8.5i
+</pre>
+</p>
+
+<p>
+Please read the
+<a href="#DIMENSIONS_NOTE">Important note on page dimensions and papersize</a>
+for information on ensuring <strong>groff</strong> respects your
+<strong>PAGEWIDTH</strong>.
+</p>
+
+<!-- -PAGELENGTH- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAGELENGTH"><h3><u>Page length</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PAGELENGTH</strong> <kbd>&lt;length of printer 
sheet&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>PAGELENGTH</strong> tells <strong>mom</strong> how long your
+printer sheet is.  It works just like
+<strong>PAGEWIDTH</strong>.  Therefore, to tell
+<strong>mom</strong> your printer sheet is 11 inches long, you
+enter
+
+<pre>
+    .PAGELENGTH 11i
+</pre>
+</p>
+
+<p>
+Please read the
+<a href="#DIMENSIONS_NOTE">Important note on page dimensions and papersize</a>
+for information on ensuring <strong>groff</strong> respects your
+<strong>PAGELENGTH</strong>.
+</p>
+
+<!-- -PAPER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAPER"><h3><u>Paper</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PAPER</strong> <kbd>&lt;paper type&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>PAPER</strong> provides a convenient way to set the page
+dimensions for some common printer sheet sizes.  <nobr>&lt;paper
+type&gt; can be one of:</nobr>
+
+<pre>
+    LETTER
+    LEGAL
+    STATEMENT
+    TABLOID
+    LEDGER
+    FOLIO
+    QUARTO
+    10x14
+    EXECUTIVE
+    A3
+    A4
+    A5
+    B4
+    B5 
+</pre>
+</p>
+
+<p>
+Say, for example, you have A4-sized sheets in your printer.  It's
+shorter (and easier) to enter
+
+<pre>
+    .PAPER A4
+</pre>
+
+than to remember the correct dimensions and enter
+
+<pre>
+    .PAGEWIDTH  595p
+    .PAGELENGTH 842p
+</pre>
+</p>
+
+<p>
+Please read the
+<a href="#DIMENSIONS_NOTE">Important note on page dimensions and papersize</a>
+for information on ensuring <strong>groff</strong> respects your
+<strong>PAPER</strong> size.
+</p>
+
+<!-- -L_MARGIN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="L_MARGIN"><h3><u>Left margin</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>L_MARGIN</strong> <kbd>&lt;left margin&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>L_MARGIN</strong> establishes the distance from the left edge
+of the printer sheet at which you want your type to start.  It may
+be used any time, and remains in effect until you enter a new value.
+</p>
+
+<p>
+<a href="#IL">Left indents</a>
+and
+<a href="#TABS">tabs</a>
+are calculated from the value you pass to <strong>L_MARGIN</strong>,
+hence it's always a good idea to invoke it before starting any
+serious typesetting.  A unit of measure is required.  Decimal
+fractions are allowed.  Therefore, to set the left margin at 3 picas
+(1/2 inch), you'd enter either
+
+<pre>
+    .L_MARGIN 3P
+    &nbsp;&nbsp;or
+    .L_MARGIN .5i
+</pre>
+</p>
+
+<p>
+If you use the macros
+<a href="#PAGE">PAGE</a>,
+<a href="#PAGEWIDTH">PAGEWIDTH</a>
+or
+<a href="#PAPER">PAPER</a>
+without invoking <strong>L_MARGIN</strong> (either before
+or afterwards), <strong>mom</strong> automatically sets
+<strong>L_MARGIN</strong> to 1 inch.
+</p>
+
+<p>
+<strong>NOTE: L_MARGIN</strong> behaves in a special way when you're
+using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+See
+<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document 
Processing</a>
+for an explanation.
+</p>
+
+<!-- -R_MARGIN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="R_MARGIN"><h3><u>Right margin</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>R_MARGIN</strong> <kbd>&lt;right margin&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>R_MARGIN</strong> establishes the amount of space you
+want between the end of typeset lines and the right hand edge
+of the printer sheet.  In other words, it sets the line length.
+<strong>R_MARGIN</strong> requires a unit of measure.  Decimal
+fractions are allowed.
+</p>
+
+<p>
+The
+<a href="#LINELENGTH">line length macro</a>,
+(<strong>LL</strong>), can be used in place of
+<strong>R_MARGIN</strong>.  In either case, the last one invoked
+sets the line length.  The choice of which to use is up to you.  In
+some instances, you may find it easier to think of a section of type
+as having a right margin.  In others, giving a line length may make
+more sense.
+</p>
+
+<p>
+For example, if you're setting a page of type you know should have
+6-pica margins left and right, it makes sense to enter a left and
+right margin, like this:
+
+<pre>
+    .L_MARGIN 6P
+    .R_MARGIN 6P
+</pre>
+
+That way, you don't have to worry about calculating the line
+length.  On the other hand, if you know the line length for a
+patch of type should be 17 picas and 3 points, entering the line
+length with <strong>LL</strong> is much easier than calculating the
+right margin, e.g.
+
+<pre>
+    .LL 17P+3p
+</pre>
+</p>
+
+<p>
+If you use the macros
+<a href="#PAGE">PAGE</a>,
+<a href="#PAGEWIDTH">PAGEWIDTH</a>
+or
+<a href="#PAPER">PAPER</a>
+without invoking <kbd>.R_MARGIN</kbd> afterwards,
+<strong>mom</strong> automatically sets <strong>R_MARGIN</strong> to
+1 inch.  If you set a line length after these macros (with
+<a href="#LINELENGTH">LL</a>),
+the line length calculated by <strong>R_MARGIN</strong> is, of course,
+overridden.
+</p>
+
+<p>
+<strong>IMPORTANT: R_MARGIN</strong>, if used, MUST come after
+<a href="#PAPER">PAPER</a>,
+<a href="#PAGEWIDTH">PAGEWIDTH</a>,
+<a href="#L_MARGIN">L_MARGIN</a>
+and/or
+<a href="#PAGE">PAGE</a>
+(if a right margin isn't given to <strong>PAGE</strong>).  The
+reason is that <strong>R_MARGIN</strong> calculates line length from
+the overall page dimensions and the left margin.  Obviously, it
+can't make the calculation if it doesn't know the page width and the
+left margin.
+</p>
+
+<p>
+<strong>NOTE: R_MARGIN</strong> behaves in a special way when you're
+using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+See
+<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document 
Processing</a>
+for an explanation.
+</p>
+
+<!-- -T_MARGIN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="T_MARGIN"><h3><u>Top margin</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>T_MARGIN</strong> <kbd>&lt;top margin&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>T_MARGIN</strong> establishes the distance from the top of
+the printer sheet at which you want your type to start.  It requires
+a unit of measure, and decimal fractions are allowed.  To set a top
+margin of 2-1/2 centimetres, you'd enter
+
+<pre>
+    .T_MARGIN 2.5c
+</pre>
+</p>
+
+<p>
+<strong>T_MARGIN</strong> calculates the vertical position of the
+first line of type on a page by treating the top edge of the printer
+sheet as a <a href="definitions.html#TERMS_BASELINE">baseline</a>.  Therefore,
+
+<pre>
+    .T_MARGIN 1.5i
+</pre>
+
+puts the baseline of the first line of type 1-1/2 inches beneath
+the top of the page.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> <strong>T_MARGIN</strong> does two
+things: it establishes the top margin for pages that come after
+it AND it moves to that position on the current page.  Therefore,
+<strong>T_MARGIN</strong> should only be used at the top of a file
+(prior to entering text) or after
+<a href="#NEWPAGE">NEWPAGE</a>,
+like this:
+
+<pre>
+    .NEWPAGE
+    .T_MARGIN 6P
+    &lt;text&gt;
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> <strong>T_MARGIN</strong> means something
+slightly different when you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+See
+<a href="typemacdoc.html#TB_MARGINS">Top and bottom margins in document 
processing</a>
+for an explanation.
+</p>
+
+<!-- -B_MARGIN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="B_MARGIN"><h3><u>Bottom margin</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>B_MARGIN</strong> <kbd>&lt;bottom margin&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>B_MARGIN</strong> sets a nominal position at the bottom
+of the page beyond which you don't want your type to go.  When the
+bottom margin is reached, <strong>mom</strong> starts a new page.
+<strong>B_MARGIN</strong> requires a unit of measure.  Decimal
+fractions are allowed.  To set a nominal bottom margin of 3/4 inch,
+enter
+
+<pre>
+    .B_MARGIN .75i
+</pre>
+</p>
+
+<p>
+Obviously, if you haven't spaced the type on your pages so that
+the last lines fall perfectly at the bottom margin, the margin will
+vary from page to page.  Usually, but not always, the last line of
+type that fits on a page <em>before</em> the bottom margin causes
+<strong>mom</strong> to start a new page.
+</p>
+
+<p>
+Occasionally, owing to a peculiarity in <strong>groff</strong>,
+an extra line will fall below the nominal bottom margin.  If you're
+using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
+this is unlikely to happen; the document processing macros are very
+hard-nosed about aligning bottom margins.
+</p>
+
+<p>
+<strong>NOTE:</strong> The meaning of <strong>B_MARGIN</strong> is
+slightly different when you're using the document processing macros.
+See
+<a href="typemacdoc.html#TB_MARGINS">Top and bottom margins in document 
processing</a>
+for an explanation.
+</p>
+
+<!-- -PAGE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PAGE"><h3><u>Page</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PAGE</strong> <kbd>&lt;width&gt;&nbsp;[ &lt;length&gt; [ 
&lt;lm&gt; [ &lt;rm&gt; [ &lt;tm&gt; [ &lt;bm&gt; ] ] ] ] ]</kbd></nobr>
+<br/>
+
+<em>*All arguments require a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+<strong>PAGE</strong> lets you establish paper dimensions
+and page margins with a single macro.  The only required
+argument is page width.  The rest are optional, <strong>but
+they must appear in order and you can't skip over any.</strong>
+<nobr><kbd>&lt;lm&gt;, &lt;rm&gt;, &lt;tm&gt;</kbd></nobr> and
+<nobr><kbd>&lt;bm&gt;</kbd></nobr> refer to the left, right, top and
+bottom margins respectively.
+</p>
+
+<p>
+Assuming your page dimensions are 11 inches by 17 inches, and that's
+all you want to set, enter
+
+<pre>
+    .PAGE 11i 17i
+</pre>
+</p>
+
+<p>
+If you want to set the left margin as well, say, at 1 inch,
+<strong>PAGE</strong> would look like this:
+
+<pre>
+    .PAGE 11i 17i 1i
+</pre>
+</p>
+
+<p>
+Now suppose you also want to set the top margin, say, at 1-1/2
+inches. <nobr>&lt;tm&gt;</nobr> comes after <nobr>&lt;rm&gt;</nobr>
+in the optional arguments, but you can't skip over any arguments,
+therefore to set the top margin, you must also give a right margin.
+The <strong>PAGE</strong> macro would look like this:
+
+<pre>
+    .PAGE 11i 17i 1i 1i 1.5i
+                     |   |
+    required right___|   |___top margin
+            margin
+</pre>
+</p>
+
+<p>
+Clearly, <strong>PAGE</strong> is best used when you want a
+convenient way to tell <strong>mom</strong> just the dimensions of
+your printer sheet (width and length), or when you want to tell her
+everything about the page (dimensions and all the margins), for
+example
+</p>
+
+<pre>
+    .PAGE 8.5i 11i 45p 45p 45p 45p
+</pre>
+
+<p>
+This sets up an 8-1/2 by 11 inch page with margins of 45 points
+(5/8-inch) all around.
+</p>
+
+<p>
+<strong>NOTE:</strong> Only use <strong>PAGE</strong> at the start
+of a document, before entering any text.  And remember, when you're
+using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
+top margin and bottom margin mean something slightly different than
+when you're  using just the typesetting macros (see
+<a href="typemacdoc.html#TB_MARGINS">Top and bottom margins in document 
processing</a>).
+</p>
+
+<p>
+Additionally, if you invoke <kbd>.PAGE</kbd> with a top margin
+argument, any macros you invoke after <kbd>.PAGE</kbd> will almost
+certainly move the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of the first line of text down by one linespace.  To compensate, do
+
+<pre>
+    .RLD 1v
+</pre>
+
+immediately before entering any text, or, if it's feasible, make
+<strong>PAGE</strong> the last macro you invoke prior to entering text.
+</p>
+
+<p>
+Please read the
+<a href="#DIMENSIONS_NOTE">Important note on page dimensions and papersize</a>
+for information on ensuring <strong>groff</strong> respects your
+<strong>PAGE</strong> dimensions and margins.
+</p>
+
+<!-- -NEWPAGE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="NEWPAGE"><h3><u>Start a new page</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>NEWPAGE</strong></nobr>
+</p>
+
+<p>
+Whenever you want to start a new page, use <strong>NEWPAGE</strong>,
+by itself with no argument. <strong>Mom</strong> will finish up
+processing the current page and move you to the top of a new one
+(subject to the top margin set with
+<a href="#T_MARGIN">T_MARGIN</a>.
+</p>
+
+<p>
+<strong>Experts:</strong> Prior to version 1.1.9,
+<strong>NEWPAGE</strong> was simply an alias of <kbd>.bp</kbd>.  As
+of 1.1.9, <strong>NEWPAGE</strong>, is its own <strong>mom</strong>
+macro.  While the new macro should be backwardly compatible with
+documents created using pre-1.1.9 <strong>mom</strong>s, I suggest
+that from this version onward, if you were in the habit of using
+<kbd>.bp</kbd> whenever you wanted to break to a new page, you now
+begin to use <strong>NEWPAGE</strong> instead.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="INTRO_BASIC_PARAMS"></a>
+
+<a name="BASIC_PARAMS"><h2><u>Basic typesetting parameters</u></h2></a>
+
+<p>
+Basic parameter macros deal with the fundamental requirements
+for setting type: family, font, point size, leading and line length.
+</p>
+
+<p>
+If you're using the typesetting macros only, the arguments passed to
+the basic parameter macros remain in effect until you change them.
+The document processing macros handle things differently.  See
+<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document 
Processing</a>
+for an explanation.
+</p>
+
+<a name="INDEX_BASIC"><h3><u>Basic parameter macros list</u></h3></a>
+
+<ul>
+    <li><a href="#FAMILY">FAMILY</a> (type family)</li>
+    <li><a href="#FONT">FONT</a> (font)</li>
+    <li><a href="#FALLBACK_FONT">FALLBACK_FONT</a> (for invalid fonts)</li>
+    <li><a href="#PS">PT_SIZE</a> (point size of type)</li>
+    <li><a href="#LEADING">LS</a> (line spacing/leading)</li>
+    <li><a href="#AUTOLEAD">AUTOLEAD</a> (automatic line spacing)</li>
+    <li><a href="#LINELENGTH">LL</a> (line length)</li>
+</ul>
+
+<!-- -FAMILY- -->
+
+<hr width="66%" align="left"/>
+
+<a name="FAMILY"><h3><u>Type family</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>FAMILY</strong> <kbd>&lt;family&gt;</kbd></nobr>
+<br/>
+
+Alias: <strong>FAM</strong>
+</p>
+
+<p>
+<strong>FAMILY</strong> takes one argument: the name of the
+<a href="definitions.html#TERMS_FAMILY">family</a>
+you want.  Groff comes with a number of PostScript families, each
+identified by a 1-, 2-or 3-letter mnemonic.  The standard families
+are:
+
+<pre>
+    A   = Avant Garde
+    BM  = Bookman
+    H   = Helvetica
+    HN  = Helvetica Narrow
+    N   = New Century Schoolbook
+    P   = Palatino
+    T   = Times Roman
+    ZCM = Zapf Chancery
+</pre>
+</p>
+
+<p>
+The argument you pass to <strong>FAMILY</strong> is the identifier at
+left, above.  For example, if you want Helvetica, enter
+
+<pre>
+    .FAMILY H
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> The
+<a href="#FONT">font macro</a>
+(<strong>FT</strong>) lets you specify both the type family
+and the desired font with a single macro.  While this saves a few
+keystrokes, I recommend using <strong>FAMILY</strong> for family,
+and <strong>FT</strong> for font, except where doing so is genuinely
+inconvenient. <strong>ZCM</strong>, for example, only exists in one
+style: Italic (<strong>I</strong>).  Therefore, <kbd>.FT ZCMI</kbd>
+makes more sense than setting the family to &quot;ZCM&quot;, then
+setting the font to &quot;I&quot;.
+</p>
+
+<a name="FAM_ADD_NOTE"></a>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> As of <strong>mom, version
+1.1.9-a</strong>, if you are running a version of groff lower
+than 1.19.2, you <em>MUST</em> follow all <strong>FAMILY</strong>
+requests with a <strong>FT</strong> request, otherwise
+<strong>mom</strong> will set all type up to the next
+<strong>FT</strong> request in the
+<a href="#FALLBACK_FONT">fallback font</a>.
+</p>
+
+<p>
+If you are running a version of groff greater than or equal
+to 1.19.2, when you invoke the <strong>FAMILY</strong> macro,
+<strong>mom</strong> &quot;remembers&quot; the font style (Roman,
+Italic, etc) currently in use (if the font style exists in the new
+family) and will continue to use the same font style in the new
+family.  For example:
+
+<pre>
+    .FAMILY BM   \" Bookman family
+    .FT     I    \" Medium Italic
+    &lt;some text&gt;  \" Bookman Medium Italic
+    .FAMILY H    \" Helvetica family
+    &lt;more text&gt;  \" Helvetica Medium Italic
+</pre>
+</p>
+
+<p>
+However, if the font style does not exist in the new family,
+<strong>mom</strong> will set all subsequent type in the
+<a href="#FALLBACK_FONT">fallback font</a>
+(by default, Courier Medium Roman) until she encounters a
+<a href="#FONT">.FT</a>
+request that's valid for the family.  For example, assuming
+you don't have the font &quot;Medium Condensed Roman&quot;
+(<strong>mom</strong> extension &quot;<strong>CD</strong>&quot;)
+in the Helvetica family:
+
+<pre>
+    .FAMILY UN    \" Univers family
+    .FT     CD    \" Medium Condensed
+    &lt;some text&gt;   \" Univers Medium Condensed
+    .FAMILY H     \" Helvetica family
+    &lt;more text&gt;   \" Courier Medium Roman!
+</pre>
+</p>
+
+<p>
+In the above example, you must follow <kbd>.FAMILY H</kbd> with a
+<strong>FT</strong> request that's valid for Helvetica.
+</p>
+
+<p>
+<strong>Experts:</strong> If you add other PostScript families to
+groff's /font/devps directory, I recommend following the groff
+standard for naming families and fonts.  For example, if you add the
+Garamond family, name the font files
+
+<pre>
+    GARAMONDR
+    GARAMONDI
+    GARAMONDB
+    GARAMONDBI
+</pre>
+
+GARAMOND then becomes a valid family name you can pass to
+<strong>FAMILY</strong>.  (You could, of course, shorten GARAMOND to just
+G, or GD.)  R, I, B, and BI after GARAMOND are the roman, italic,
+bold and bold-italic fonts respectively.
+</p>
+
+<p>
+Please see the Appendices,
+<a href="appendices.html#FONTS">Adding PostScript fonts to groff</a>,
+for information on adding fonts and families to groff, as well as
+to see a list of the extensions <strong>mom</strong> provides to
+groff's basic <strong>R, I, B, BI</strong> styles.
+</p>
+
+<!-- -FT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FONT"><h3><u>Font</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>FT</strong> <kbd>R | I | B | BI | &lt;any other valid 
font style&gt;</kbd></nobr>
+</p>
+
+<p>
+By default, groff permits <strong>FT</strong> to take one of four
+possible arguments specifying the desired font:
+
+<pre>
+    R  = (Medium) Roman
+    I  = (Medium) Italic
+    B  = Bold (Roman)
+    BI = Bold Italic
+</pre>
+</p>
+
+<p>
+For example, if your
+<a href="definitions.html#TERMS_FAMILY">family</a>
+is Helvetica, entering
+
+<pre>
+    .FT B
+</pre>
+
+will give you the Helvetica bold
+<a href="definitions.html#TERMS_FONT">font</a>.
+If your family were Palatino, you'd get the Palatino bold font.
+</p>
+
+<p>
+(As of <strong>mom, version 1.1.9-a,</strong> the range of arguments
+that can be passed to <strong>FT</strong> has been considerably
+extended, allowing access to a greater variety of font
+<a href="definitions.html#TERMS_WEIGHT">weights</a>
+and
+<a href="definitions.html#TERMS_SHAPE">shapes</a>.
+Please see the
+<a href="#FONT_NOTE">NOTE</a>,
+below.)
+</p>
+
+<p>
+How <strong>mom</strong> reacts to an invalid argument to
+<strong>FT</strong> depends on which version of groff you're
+using.  If your groff version is greater than or equal to 1.19.2,
+<strong>mom</strong> will issue a warning and, depending on how
+you've set up the
+<a href="#FALLBACK_FONT">fallback font</a>,
+either continue processing using the fallback font, or abort
+(allowing you to correct the problem).  If your groff version is
+less than 1.19.2, <strong>mom</strong> will silently continue
+processing, using either the fallback font or the font that was in
+effect prior to the invalid <strong>FT</strong> call.
+</p>
+
+<p>
+<strong>FT</strong> will also accept, as an argument, a full
+family+font name.  For example,
+
+<pre>
+    .FT HB
+</pre>
+
+will set subsequent type in Helvetica Bold.  However, I strongly
+recommend keeping family and font separate except where doing so is
+genuinely inconvenient.
+</p>
+
+<p>
+For inline control of fonts, see
+<a href="inlines.html#INLINE_FONTS_MOM">Inline Escapes, font control</a>.
+</p>
+
+<a name="FONT_NOTE"></a>
+
+<p>
+<strong>NOTE: mom, versions 1.1.9-a</strong> and higher,
+considerably extends the range of arguments you can pass to
+<strong>FT</strong>, making it more convenient to add and access
+fonts of differing
+<a href="definitions.html#TERMS_WEIGHT">weights</a>
+and
+<a href="definitions.html#TERMS_SHAPE">shapes</a>
+within the same family.  Have a look
+<a href="appendices.html#STYLE_EXTENSIONS">here</a>
+for a list of the weight/style arguments <strong>mom</strong>
+allows.
+</p>
+
+<p>
+Be aware, though, that you must have the fonts, correctly
+installed and named, in order to use the arguments.  (See
+<a href="appendices.html#HOWTO">How to create a PostScript font for use with 
groff</a>
+for how to add fonts to groff.)  Please also read the
+<a href="#FAM_ADD_NOTE">ADDITIONAL NOTE</a>
+found in the description of the <strong>FAMILY</strong> macro.
+</p>
+
+<!-- -FALLBACK_FONT- -->
+
+<hr width="33%" align="left"/>
+
+<a name="FALLBACK_FONT"><h3><u>Fallback font</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>FALLBACK_FONT</strong> <kbd>&lt;fallback font&gt; [ ABORT 
| WARN ] | ABORT | WARN</kbd></nobr>
+</p>
+
+<p>
+In the event that you pass an invalid argument to
+<a href="#FONT">.FAMILY</a>
+(i.e. a non-existent family), <strong>mom</strong>, by default, uses
+the fallback font, Courier Medium Roman (CR), in order to continue
+processing your file.
+</p>
+
+<p>
+If you'd prefer another fallback font, pass
+<strong>FALLBACK_FONT</strong> the <strong>full family+font
+name</strong> of the font you'd like.  For example, if you'd rather
+the fallback font were Times Roman Medium Roman,
+
+<pre>
+    .FALLBACK_FONT TR
+</pre>
+
+would do the trick.
+</p>
+
+<p>
+Additionally, if your version of groff accepts accepts &quot;<kbd>.if
+F</kbd>&quot; and &quot;<kbd>.if S</kbd>&quot; (see
+<a href="#FAM_ADD_NOTE">above</a>),
+<strong>mom</strong> issues a warning whenever a
+<strong>font style</strong> set with
+<a href="#FONT">FT</a>
+does not exist, either because you haven't registered the style
+(see
+<a href="appendices.html#REGISTER_STYLE">here</a>
+for instructions on registering styles), or because the font style
+does not exist in the current family set with
+<a href="#FAMILY">FAMILY</a>.
+By default, <strong>mom</strong> then aborts, which allows you to
+correct the problem.
+</p>
+
+<p>
+If you'd prefer that <strong>mom</strong> not abort on non-existent
+fonts, but rather continue processing using a fallback font, you can
+pass <strong>FALLBACK_FONT</strong> the argument <kbd>WARN</kbd>,
+either by itself, or in conjunction with your chosen fallback font.
+</p>
+
+<p>
+<strong>Some examples of invoking FALLBACK_FONT:</strong>
+</p>
+
+<ul>
+    <li><kbd>.FALLBACK_FONT WARN</kbd>
+        <br/>
+
+        <strong>mom</strong> will issue a warning whenever you try
+        to access a non-existent font but will continue processing
+        your file with the default fallback font, Courier Medium Roman.
+    </li>
+    <li><kbd>.FALLBACK_FONT TR WARN</kbd>
+        <br/>
+
+        <strong>mom</strong> will issue a warning whenever you try
+        to access a non-existent font but will continue processing
+        your file with a fallback font of Times Roman Medium Roman;
+        additionally, &quot;TR&quot; will be the fallback font whenever
+        you try to access a <strong>family</strong> that does not exist.
+    </li>
+    <li><kbd>.FALLBACK_FONT TR ABORT</kbd>
+        <br/>
+
+        <strong>mom</strong> will abort whenever you try to access a
+        non-existent font, and will use the fallback font
+        &quot;TR&quot; whenever you try to access a <strong>family</strong>
+        that does not exist.
+    </li>
+</ul>
+
+<p>
+If, for some reason, you want to revert to ABORT, just enter
+<kbd>.FALLBACK_FONT ABORT</kbd> and <strong>mom</strong> will once
+again abort on font errors.
+</p>
+
+<!-- -PT_SIZE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="PS"><h3><u>Point size of type</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>PT_SIZE</strong> <kbd>&lt;size of type in 
points&gt;</kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>PT_SIZE</strong> (Point Size) takes one argument: the size
+of type in points.  Unlike most other macros that establish the size
+or measure of something, <strong>PT_SIZE</strong> does not require
+that you supply a unit of measure since it's a near universal
+convention that type size is measured in points.  Therefore, to
+change the type size to, say, 11 points, enter
+
+<pre>
+    .PT_SIZE 11
+</pre>
+</p>
+
+<p>
+Point sizes may be fractional (e.g.  10.25 or 12.5).
+</p>
+
+<p>
+You can prepend a plus or a minus sign to the argument to
+<strong>PT_SIZE</strong>, in which case the point size will be changed by +
+or - the original value.  For example, if the point size is 12,
+and you want 14, you can do
+
+<pre>
+    .PT_SIZE +2
+</pre>
+
+then later reset it to 12 with
+
+<pre>
+    .PT_SIZE -2
+</pre>
+</p>
+
+<p>
+The size of type can also be changed inline.  See
+<a href="inlines.html#INLINE_SIZE_MOM">Inline Escapes, changing point size</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> It is unfortunate that the <kbd>pic</kbd>
+pre-processor uses <strong>PS</strong>, and thus
+<strong>mom</strong>'s macro for setting point sizes can't use it.
+However, if you aren't using <kbd>pic</kbd>, you might want to
+<a href="goodies.html#ALIAS">alias</a>
+<strong>PT_SIZE</strong> as <strong>PS</strong>, since there'd be no
+conflict.  For example
+
+<pre>
+    .ALIAS PS PT_SIZE
+</pre>
+
+would allow you to set point sizes with <kbd>.PS</kbd>.
+</p>
+
+<!-- -LS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="LEADING"><h3><u>Line spacing/leading</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>LS</strong> <kbd>&lt;distance between 
lines&gt;</kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>LS</strong> (Line Space) takes one argument: the distance you want, 
typically
+in points, from baseline to baseline of type.  The argument may
+be fractional (e.g. 12.25 or 14.5).  Like <strong>PT_SIZE</strong>,
+<strong>LS</strong> does not require a unit of measure, since
+<a href="definitions.html#TERMS_LEADING">leading</a>
+is most often given in points.  Therefore, to set the linespace to
+14 points, you would enter
+
+<pre>
+    .LS 14
+</pre>
+</p>
+
+<p>
+However, if you wish, you may specify a unit of measure by appending
+it directly to the argument passed to <strong>LS</strong>.  For
+example, if you want a linespace of 1/4 of an inch, enter
+
+<pre>
+    .LS .25i
+</pre>
+</p>
+
+<p>
+You can prepend a plus or a minus sign to the argument to
+<strong>LS</strong>, in which case the line spacing will be changed
+by + or - the original value.  For example, if the line spacing is
+14 points, and you want 17 points, you can do
+
+<pre>
+    .LS +3
+</pre>
+
+then later reset it to 14 points with
+
+<pre>
+    .LS -3
+</pre>
+</p>
+
+<p>
+<strong>Experts: LS</strong> should not be confused with
+the groff primitive <kbd>.ls</kbd>. <strong>LS</strong> acts
+like <kbd>.vs</kbd>.  <strong>mom</strong> does not provide a
+macro analogous to <kbd>.ls</kbd>.
+</p>
+
+<!-- -AUTOLEAD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="AUTOLEAD"><h3><u>Automatic line spacing</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>AUTOLEAD</strong> <kbd>&lt;amount of automatic 
leading&gt; [FACTOR]</kbd></nobr>
+<br/>
+
+<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+Without the <kbd>FACTOR</kbd> argument, <strong>AUTOLEAD</strong>
+calculates the linespace for you by adding its argument to the
+current point size of type. All subsequent
+<a href="#PS">PT_SIZE</a>
+requests automatically update the linespacing by the autolead amount.
+</p>
+
+<p>
+Used in this way, <strong>AUTOLEAD</strong> does not require a unit
+of measure; points is assumed.  However, you may use an alternate
+unit of measure by appending it to the argument.  The argument may
+be a decimal fraction (e.g. .5 or 2.75).
+</p>
+
+<p>
+As an example, if your current point size of type is 12, entering
+
+<pre>
+    .AUTOLEAD 2
+</pre>
+
+changes the linespace to 14 points, regardless any linespacing
+already in effect.  From here on, every change to the size of type
+(with <strong>PT_SIZE</strong>, not
+<a href="definitions.html#TERMS_INLINES">inline</a>)
+changes the linespace as well.  If you decrease the type size to 9
+points, the leading decreases to 11 points.  If you increase the
+type size to 16 points, the leading increases to 18 points.
+</p>
+
+<p>
+Automatic updating of the linespacing continues until you enter a
+&quot;manual&quot; line space value with
+<a href="#LEADING">LS</a>.
+</p>
+
+<p>
+If you give <strong>AUTOLEAD</strong> the optional
+<strong>FACTOR</strong> argument, <strong>AUTOLEAD</strong>
+calculates the line space as a factor of the
+<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>
+you gave <strong>AUTOLEAD</strong>.  For example, if your point size
+is 12,
+
+<pre>
+    .AUTOLEAD 1.125 FACTOR
+</pre>
+
+sets the leading at 13.5 points.  If you change the point size
+to 14, the leading automatically changes to 15.75 (14 x 1.125).
+</p>
+
+<p>
+<strong>NOTE:</strong> There's no need to prepend a plus sign
+(<kbd>+</kbd>)
+to <strong>AUTOLEAD</strong>'s argument, although you may do so if you
+wish.
+</p>
+
+<!-- -LL- -->
+
+<hr width="33%" align="left"/>
+
+<a name="LINELENGTH"><h3><u>Line length</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>LL</strong> <kbd>&lt;line length&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>LL</strong> (Line Length) takes one argument: the distance from the
+left margin of the page to the maximum allowable point on the
+right at which groff should place type.  The line length, in
+other words, as the macro suggests.
+</p>
+
+<p>
+<strong>LL</strong> requires a unit of measure.  Therefore, to set the line
+length to 39 picas, you would enter
+
+<pre>
+    .LL 39P
+</pre>
+</p>
+
+<p>
+As with other macros that require a unit of measure, the argument to
+<strong>LL</strong> may be fractional.  For example,
+
+<pre>
+    .LL 4.5i
+</pre>
+
+sets the line length to 4-1/2 inches.
+</p>
+
+<p>
+Additionally, you may express a new line length relative to the
+current line length by prepending a plus or minus sign to the
+argument.  Thus, if you wanted to increase the line length by 3
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>, you could
+do
+
+<pre>
+    .LL +3p
+</pre>
+
+This is especially handy when you want to &quot;hang&quot;
+punctuation outside the right margin since you can pass groff's
+<a href="inlines.html#INLINE_STRINGWIDTH_GROFF"><kbd>\w</kbd></a>
+escape as the argument to <strong>LL</strong>, like this:
+
+<pre>
+    .LL +\w'.'u
+</pre>
+</p>
+
+<p>
+The above example increases the current line length by the width of
+a period.  Notice that you must append the
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+<strong>u</strong>, to the escape since <strong>LL</strong> requires
+a unit of measure.
+</p>
+
+<p>
+<strong>NOTE:</strong> The
+<a href="#R_MARGIN">right margin macro</a>,
+(<strong>R_MARGIN</strong>), can also be used to set line length.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="JUST_QUAD_FILL"><h2><u>Justifying, quadding, filling and breaking 
lines</u></h2></a>
+
+<p>
+The justification and quadding macros deal with how type aligns
+along the left and right margins.  In a nutshell, type either aligns
+at the left margin, at the right margin, at both margins, or at
+neither margin (centred).
+</p>
+
+<p>
+These macros also determine whether or not
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+are joined and
+<a href="definitions.html#TERMS_FILLED">filled</a>
+during output.
+</p>
+
+<p>
+Additionally, macros that deal with how to break
+<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a>
+are covered in this section, as is the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+for joining input lines.
+</p>
+
+<p>
+You may encounter some words here that are unfamiliar.  Refer to
+<a href="definitions.html#TERMS_TYPESETTING">Typesetting terms</a>
+and
+<a href="definitions.html#TERMS_GROFF">Groff terms</a>
+for an explanation.
+</p>
+
+<a name="INDEX_JUST"><h3><u>Justification, quad, fill, and break macro 
list</u></h3></a>
+
+<ul>
+    <li><strong>Fill modes</strong></li>
+    <ul>
+        <li><a href="#JUSTIFY">JUSTIFY</a> (set lines justified)</li>
+        <li><a href="#QUAD">QUAD</a> (set filled lines flush left, right or 
centred)</li>
+    </ul>
+    <li><strong>Nofill modes</strong></li>
+    <ul>
+        <li><a href="#LRC">LEFT</a> (set non-filled lines flush left)</li>
+        <li><a href="#LRC">RIGHT</a> (set non-filled lines flush right)</li>
+        <li><a href="#LRC">CENTER</a> (set non-filled lines centred)</li>
+    </ul>
+    <li><strong>Breaking lines</strong></li>
+    <ul>
+        <li><a href="#BR">BR</a> (manually break an output line)</li>
+        <li><a href="#EL">EL</a> (break a line without advancing to the next 
output line)</li>
+        <li><a href="#SPACE">SPACE</a> (break a line and add space before the 
next output line)</li>
+        <li><a href="#SPREAD">SPREAD</a> (break and force-justify an output 
line)</li>
+    </ul>
+    <li><strong>Joining input lines in <a 
href="definitions.html#TERMS_NOFILL">nofill mode</a></strong></li>
+    <ul>
+        <li><a href="#JOIN">\c</a> inline escape</li>
+    </ul>
+</ul>
+
+<!-- -JUSTIFY- -->
+
+<hr width="66%" align="left"/>
+
+<a name="JUSTIFY"><h3><u>Justify lines</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>JUSTIFY</strong></nobr>
+<br/>
+
+(See
+<a href="definitions.html#TERMS_FILLED">fill mode</a>
+for a definition of the difference between &quot;fill&quot; and
+&quot;no-fill&quot; modes.)
+</p>
+
+<p>
+<strong>JUSTIFY</strong> doesn't take an argument. 
+<a href="definitions.html#TERMS_INPUTLINE">Input lines</a>
+after <strong>JUSTIFY</strong> are
+<a href="definitions.html#TERMS_FILLED">filled</a>
+and
+<a href="definitions.html#TERMS_JUST">justified</a>
+upon output.
+</p>
+
+<p>
+To break lines and prevent them from being filled and justified,
+use the
+<a href="#BR">BR</a>
+macro.
+</p>
+
+<!-- -QUAD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="QUAD"><h3><u>Quad lines left, right, or centre</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>QUAD</strong> <kbd>L | LEFT | R | RIGHT | C | CENTER | J 
| JUSTIFY</kbd></nobr>
+<br/>
+
+Alias: <strong>FILL</strong>
+<br/>
+
+(See
+<a href="definitions.html#TERMS_FILLED">fill mode</a>
+for a definition of the difference between &quot;fill&quot; and
+&quot;no-fill&quot; modes.)
+</p>
+
+<p>
+<strong>QUAD</strong> takes one argument: the direction in which lines
+should be
+<a href="definitions.html#TERMS_QUAD">quadded</a>.
+<a href="definitions.html#TERMS_INPUTLINE">Input lines</a>
+after <strong>QUAD</strong> are 
+<a href="definitions.html#TERMS_FILLED">filled</a>
+upon output.
+</p>
+
+<p>
+If <kbd>L</kbd> or <kbd>LEFT</kbd>, type is set flush along the left
+margin.
+</p>
+
+<p>
+If <kbd>R</kbd> or <kbd>RIGHT</kbd>, type is set flush along the
+right margin.
+</p>
+
+<p>
+If <kbd>C</kbd> or <kbd>CENTER</kbd> type is set centred on the
+current line length.
+</p>
+
+<p>
+<kbd>J</kbd> and <kbd>JUSTIFY</kbd> justify text, and are included
+as a convenience only.  Obviously, if text is justified, it isn't
+quadded. <kbd>.QUAD J</kbd> and <kbd>.QUAD JUSTIFY</kbd> have
+exactly the same effect as
+<a href="#JUSTIFY">JUSTIFY</a>.
+</p>
+
+<p>
+To break lines and prevent them from being filled, use the
+<a href="#BR">BR</a>
+macro.
+</p>
+
+<!-- -LEFT, RIGHT, CENTER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="LRC"><h3><u>Set lines flush left, right, or centred in no-fill 
mode</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>LEFT</strong></nobr>
+<br/>
+<nobr>Macro: <strong>RIGHT</strong></nobr>
+<br/>
+<nobr>Macro: <strong>CENTER</strong> &nbsp;(alias 
<strong>CENTRE</strong>)</nobr>
+<br/>
+
+(See
+<a href="definitions.html#TERMS_NOFILL">no-fill mode</a>
+for a definition of the difference between &quot;fill&quot; and
+&quot;no-fill&quot; modes.)
+</p>
+
+<p>
+<strong>LEFT</strong>, <strong>RIGHT</strong> and
+<strong>CENTER</strong> let you enter text on a line for line basis
+without having to use the
+<a href="#BR">BR</a>
+macro after each line.  Consider the following:
+
+<pre>
+    .QUAD LEFT
+    So runs my dream, but what am I?
+    .BR
+    An infant crying in the night
+    .BR
+    An infant crying for the light
+    .BR
+    And with no language but a cry.
+    .BR
+</pre>
+</p>
+
+<p>
+Because text after <kbd>.QUAD LEFT</kbd> is
+<a href="definitions.html#TERMS_FILLED">filled</a>,
+you have to use the
+<a href="#BR">BR</a>
+macro to prevent the lines from running together.  Not only is this
+annoying to type, it's awkward to read in a text editor.  Much better
+to do
+
+<pre>
+    .LEFT
+    So runs my dream, but what am I?
+    An infant crying in the night
+    An infant crying for the light
+    And with no language but a cry.
+</pre>
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> Because <strong>LEFT</strong>,
+<strong>RIGHT</strong> and <strong>CENTER</strong> are nofill
+modes, groff does not always respect the current line length.
+<a href="definitions.html#TERMS_INPUTLINE">Input lines</a>
+that run long may exceed it, or get broken in undesirable ways.
+Therefore, when using these three macros, you should preview your
+work to ensure that all lines fit as expected.
+</p>
+
+<!-- -BR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="BR"><h3><u>Manually break lines</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>BR</strong></nobr>
+</p>
+
+<p>
+When using
+<a href="#JUSTIFY">JUSTIFY</a>
+or
+<a href="#QUAD">QUAD</a>,
+<strong>BR</strong> tells <strong>mom</strong> about partial lines
+that you want broken (as opposed to
+<a href="definitions.html#TERMS_FILLED">filled</a>).
+Any partial
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
+that immediately precedes <strong>BR</strong> will be
+<a href="definitions.html#TERMS_QUAD">quadded</a>
+in the direction of the current quad, or set flush left if text is
+<a href="definitions.html#TERMS_JUST">justified</a>.
+</p>
+
+<p>
+Most of the time, you won't need the <strong>BR</strong> macro.
+In fill modes, <strong>mom</strong> tries to be sensible about
+where breaks are needed.  If the nature of a macro is such that under
+most circumstances you'd expect a break, <strong>mom</strong> puts
+it in herself.  Equally, in macros where a break isn't normally
+desirable, no break occurs.  This means text files don't get cluttered
+with annoying <strong>BR</strong>'s.
+</p>
+
+<p>
+<strong>NOTE:</strong> Lines of text in
+<a href="definitions.html#TERMS_NOFILL">nofill mode</a>
+never require a <strong>BR</strong>.  Furthermore, in nofill mode,
+ALL macros cause a break.  If a break is not desired, use the
+<a href="#JOIN"><kbd>\c</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>.
+</p>
+
+<p>
+<strong>Experts: BR</strong> is an alias for <kbd>.br</kbd>.
+You can use either, or mix 'n' match with impunity.
+</p>
+
+<!-- -EL- -->
+
+<hr width="33%" align="left"/>
+
+<a name="EL"><h3><u>Manually break a line without advancing on the 
page</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>EL</strong></nobr>
+<br/>
+
+<em>*In nofill modes
+(</em><a href="#LEFT">LEFT</a>,
+<a href="#RIGHT">RIGHT</a>,
+<a href="#CENTER">CENTER</a>><em>),
+you must terminate the line input preceding</em> <strong>EL</strong>
+<em>with the </em><kbd>\c</kbd> <em>inline escape.  See</em>
+<a href="#EL_NOTES">NOTES</a>,
+<em>below.
+<br/>
+
+&nbsp;&nbsp;If you find remembering whether to put in the
+</em><kbd>\c</kbd> <em>bothersome, you may prefer to use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+alternative to </em><strong>EL</strong>,
+<a href="inlines.html#B"><kbd>\*[B]</kbd></a>,
+<em>which works consistently regardless of the fill mode.</em>
+<strong>EL</strong> <em>does not work after the</em>
+<a href="goodies.html#PAD">PAD</a>
+<em>macro.  See</em>
+<a href="goodies.html#NOBREAK"><kbd>.PAD NOBREAK</kbd></a>
+<em>for the way around this</em>.
+</p>
+
+<p>
+The mnemonic &quot;EL&quot; is borrowed from old Compugraphic
+typesetting systems, where it stood for "End Line."  Conceptually,
+<strong>EL</strong> is equivalent to the notion of a carriage return
+with no linefeed.
+</p>
+
+<p>
+<em>Note to groff jocks:</em> <strong>EL</strong> is unrelated to
+groff's <kbd>.el</kbd>.  If you find the similarity confusing,
+you may want to alias <strong>EL</strong> as something else (but
+don't use <strong>EOL</strong>; <strong>mom</strong> uses it
+internally.)
+</p>
+
+<p>
+<strong>EL</strong>'s function is simple: it breaks a line without
+advancing on the page.
+
+<a name="EL_EXAMPLE"></a>
+
+As an example of where you might use it, imagine that you're working
+from marked-up copy.  The markup indicates 24 points of space
+between two given lines, but the prevailing line spacing is 12.5
+points.  You may find it more convenient to break the first line
+with <strong>EL</strong> and instruct <strong>mom</strong> to
+advance 24 points to the next line instead of calculating the lead
+that needs to be added to 12.5 to get 24.  To demonstrate:
+
+<pre>
+    .LEFT
+    .LS 12.5
+    A line of text.\c
+    .EL
+    .ALD 24p
+    The next line of text.
+</pre>
+
+may be more intuitive than
+
+<pre>
+    .LEFT
+    .LS 12.5
+    A line of text.
+    .ALD 11.5p
+    The next line of text.
+</pre>
+</p>
+
+<p>
+The first example has the further advantage that should you wish
+to change the prevailing line space but keep the 24 points lead,
+you don't have to recalculate the extra space.
+</p>
+
+<p>
+"ALD" in the above examples stands for "<strong>A</strong>dvance
+<strong>L</strong>ea<strong>D</strong>" (another mnemonic borrowed
+from Compugraphic), which is covered in the section
+<a href="#ALDRLD">Vertical movement</a>.
+</p>
+
+<a name="EL_NOTES"><h4><u>NOTES:</u></h4></a>
+
+<p>
+In versions of mom prior to 1.1.9, <strong>EL</strong> did not
+always work as advertised on the last
+<a name="TERMS_OUTPUTLINE">output line</a>
+of pages that contained a footer trap (e.g. one set with
+<a href="#B_MARGIN">B_MARGIN</a>
+or in  documents formatted using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>).
+</p>
+
+<p>
+<strong>EL</strong> has been re-written so that this should no longer be the
+case.  However, in order for it to work in the
+<a href="definitions.html#TERMS_NOFILL">nofill</a>
+modes
+(<a href="#LRC">LEFT</a>,
+<a href="#LRC">RIGHT</a>
+or
+<a href="#LRC">CENTER</a>),
+you must always &quot;join&quot; <kbd>.EL</kbd> to the line before
+it using the
+<a href="#JOIN"><kbd>\c</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+like this:
+
+<pre>
+    .LEFT
+    A line I don't want to advance\c
+    .EL
+</pre>
+</p>
+
+<p>
+Conversely, in
+<a href="definitions.html#TERMS_FILLED">fill modes</a>
+(<a href="#QUAD">QUAD LEFT</a>,
+<a href="#QUAD">QUAD RIGHT</a>,
+<a href="#QUAD">QUAD CENTER</a>
+or
+<a href="#JUSTIFY">JUSTIFY</a>),
+the <kbd>\c</kbd> must not be used.
+</p>
+
+<p>
+If <strong>EL</strong> is used after most macros or groff
+<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>
+(see the exception, below), you don't have to worry about this,
+regardless of the fill mode.  Just type <kbd>.EL</kbd>
+</p>
+
+<!-- -SP- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SPACE"><h3><u>Break lines and add space between</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SPACE</strong> <kbd>&lt;space to add between 
lines&gt;</kbd></nobr>
+<br/>
+
+Alias: <strong>SP</strong>
+</p>
+
+<p>
+<strong>SPACE</strong> breaks a line, just like
+<a href="#BR">BR</a>,
+then adds space after the line.  With no argument, it adds an extra
+line space of a value equal to the current
+<a href="definitions.html#TERMS_LEADING">leading</a>.
+If you pass it a numeric argument without supplying a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
+it advances that number of extra line spaces.  For example:
+
+<pre>
+    .SPACE
+</pre>
+
+breaks the line then adds an extra linespace, whereas
+
+<pre>
+    .SPACE 2
+</pre>
+
+breaks the line and adds two extra linespaces.
+</p>
+
+<p>
+If you supply a unit of measure, <strong>SPACE</strong> breaks the
+line then advances one linespace (at the current
+<a href="definitions.html#TERMS_LEADING">leading</a>)
+PLUS the specified amount of extra space given to
+<strong>SPACE</strong>, as in
+
+<pre>
+    .SPACE 6p
+</pre>
+
+which breaks the line and advances one full linespace plus six
+points.
+</p>
+
+<p>
+<strong>SUGGESTION: SPACE</strong> and
+<a href="#ALD">ALD</a>
+can be used interchangeably (<kbd>.SPACE&nbsp;6p</kbd> and
+<kbd>.ALD&nbsp;6p</kbd> are equivalent).  However,
+<strong>ALD</strong> without an argument does nothing, whereas
+<strong>SPACE</strong> without an argument adds an extra line
+space.  I recommend using <strong>SPACE</strong> when you
+want an extra line space (or multiple thereof), and
+<strong>ALD</strong> whenever you want some other value of space
+after a line.
+</p>
+
+<p>
+<strong>Experts: SPACE</strong> is an alias of <kbd>.sp</kbd>.  You
+can use either, or mix 'n' match with impunity.
+</p>
+
+<!-- -SPREAD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SPREAD"><h3><u>Break and force justify (spread) lines</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SPREAD</strong></nobr>
+</p>
+
+<p>
+Sometimes, you need to break a line of
+<a href="definitions.html#TERMS_JUST">justified</a>
+text and have it come out fully justified, not
+<a href="definitions.html#TERMS_QUAD">quadded</a>
+left the way it would be with the
+<a href="#BR">BR</a>
+macro.  An example of where you'd do this would be when you want
+to prevent a word at the end of a line from being hyphenated (say,
+a proper name). <strong>SPREAD</strong> is the macro that lets you
+break the line and have it came out fully justified.
+</p>
+
+<p>
+<strong>Experts: SPREAD</strong> is an alias for <kbd>.brp</kbd>
+You can use either, or mix 'n' match with impunity.
+</p>
+
+<!-- -JOIN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="JOIN"><h3><u>Join input lines</u></h3></a>
+
+<p>
+Inline: <kbd>\c</kbd>
+</p>
+
+<p>
+Sometimes, especially when in one of the
+<a href="definitions.html#TERMS_NOFILL">nofill modes</a>,
+a macro will cause a break where you don't want one.  In order to
+prevent this from happening (in other words, to join
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+together, forming one
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>),
+use the groff
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\c</kbd> at the end of each input line to be joined to another,
+like this:
+
+<pre>
+    .LEFT
+    .FAMILY T
+    .FT R
+    Some lines of text to be \c
+    .FAMILY H
+    .FT B
+    joined \c
+    .FAMILY T
+    .FT R
+    together.
+</pre>
+</p>
+
+<p>
+Upon output, the lines will be joined together to read
+
+<pre>
+    Some lines of text to be joined together.
+</pre>
+
+with the word &quot;joined&quot; in Helvetica bold.  Note the space
+before <kbd>\c</kbd>.  Without it, the last three words of the
+output line would read
+
+<pre>
+    bejoinedtogether
+</pre>
+</p>
+
+<p>
+Please also note that had the example been in one of the
+<a href="definitions.html#TERMS_FILLED">fill modes</a>,
+there'd have been no need for the <kbd>\c</kbd>.  
+</p>
+
+<p>
+<strong>Addendum:</strong> The example, above, is designed to
+demonstrate the use of <kbd>\c</kbd>.  However, an easier and more
+intuitive way to accomplish the family/font change in the example
+would be with the groff
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+<a href="inlines.html#INLINE_FONTS_GROFF">\f</a>,
+like this:
+
+<pre>
+    Some lines of text to be \f[HB]joined\*[PREV] together.
+</pre>
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="INTRO_REFINEMENTS"></a>
+
+<a name="REFINEMENTS"><h2><u>Typographic refinements</u></h2></a>
+
+<p>
+The macros in this section help you tweak groff's behaviour,
+ensuring that your documents look typographically professional.
+</p>
+
+<a name="INDEX_REFINEMENTS"><h3><u>Typographic refinements macro 
list</u></h3></a>
+
+<ul>
+    <li><strong>Word and sentence spacing</strong></li>
+    <ul>
+        <li><a href="#WS">WS</a> (word spacing)</li>
+        <li><a href="#SS">SS</a> (sentence space)</li>
+    </ul>
+    <li><strong>Letter spacing (track kerning)</strong></li>
+    <ul>
+        <li><a href="#RW">RW</a> (reduce whitespace)</li>
+        <li><a href="#EW">EW</a> (expand whitespace)</li>
+        <li><a href="#BR_AT_LINE_KERN">BR_AT_LINE_KERN</a></li>
+    </ul>
+    <li><strong>Hyphenation</strong></li>
+    <ul>
+        <li><a href="#HY">HY</a> (turn auto hyphenation on/off, or set 
specific hyphenation parameters)</li>
+        <li><a href="#HY_SET">HY_SET</a> (set all hyphenation parameters)</li>
+    </ul>
+    <li><strong>Automatic kerning and ligatures</strong></li>
+    <ul>
+        <li><a href="#KERN">KERN</a> (turn automatic pairwise kerning on or 
off)</li>
+        <li><a href="#LIGATURES">LIGATURES</a> (turn automatic generation of 
ligatures on or off)</li>
+    </ul>
+</ul>
+
+<!-- -WS- -->
+
+<hr width="66%" align="left"/>
+
+<a name="WS"><h3><u>Word spacing</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>WS</strong> <kbd>&lt;+|-wordspace&gt; | 
DEFAULT</kbd></nobr>
+</p>
+
+<p>
+<strong>WS</strong> (Word Space) increases or decreases the amount
+of space between words.  In
+<a href="definitions.html#TERMS_NOFILL">nofill modes</a>,
+or if
+<a href="#QUAD">QUAD</a>
+is in effect, the space between words is fixed.  Therefore, if you
+change the word spacing with <strong>WS</strong>, the change applies
+uniformly to the space between every word on every line.  However,
+when text is
+<a href="definitions.html#TERMS_JUST">justified</a>,
+the space between words varies from line to line (in order to
+justify the text).  Consequently, the change you make with
+<strong>WS</strong> represents the minimum (and ideal) space groff
+will try to put between words before deciding whether to hyphenate a
+final word or to stretch the word spacing.
+</p>
+
+<p>
+Word space is relative to type size.  Knowing how it's calculated is
+unimportant. What matters is having a sense of how the value passed
+to <strong>WS</strong> affects the look of your type.  Generally,
+in/decreasing the word space by a value of 1 or 2 produces a difference
+that in many cases is scarcely visible; in/decreasing by a value of 5
+or so produces a subtle but noticeable difference; and in/decreasing
+by a value greater than 10 is always apparent.  You should preview
+your work to assess the effect of <strong>WS</strong>.
+</p>
+
+<a name="WS_USAGE"></a>
+
+<p>
+<strong>WS</strong> takes as its argument a whole number preceded
+by a plus or minus sign.  Therefore, to decrease the word space
+slightly, you might enter
+
+<pre>
+    .WS -4
+</pre>
+</p>
+
+<p>
+To increase it by a noticeable amount, you might enter
+
+<pre>
+    .WS +12
+</pre>
+</p>
+
+<p>
+You can reset the word spacing to its previous value by switching
+the plus or minus sign, like this:
+
+<pre>
+    .WS +4
+    A line of text
+    .WS -4
+</pre>
+</p>
+
+<p>
+The <kbd>.WS -4</kbd> undoes the effect of <kbd>.WS +4</kbd>.  You
+can also reset <strong>WS</strong> to its groff default by entering
+
+<pre>
+    .WS DEFAULT
+</pre>
+</p>
+
+<p>
+This can be particularly useful if you've been playing around
+with plus and minus values, and can't remember by how much you
+have to in/decrease the word space to get it back to normal.
+</p>
+
+<!-- -SS- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SS"><h3><u>Sentence space</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SS</strong> <kbd>&lt;+sentence space&gt; | 0 | 
DEFAULT</kbd></nobr>
+</p>
+
+<p>
+<strong>SS</strong> (Sentence Space) tells groff how to treat double
+spaces it encounters between sentences in
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>.
+If you use <strong>SS</strong>, input sentences with two spaces
+after them AND input sentences that fall at the end of input lines
+all receive a normal word space plus an additional amount of space
+whose size is determined by the + value passed as an argument to
+<strong>SS</strong>.  Thus,
+
+<pre>
+    .SS +2
+</pre>
+
+means that input sentences with two spaces after them receive a normal
+word space PLUS the +2 value passed to <strong>SS</strong>.
+</p>
+
+<p>
+Like
+<a href="#WS">WS</a>,
+increasing the sentence space by a value of 1 or 2 produces a
+difference that in many cases is scarcely visible; increasing by a
+value of 5 or so produces a subtle but noticeable difference (i.e.
+the space between double-spaced input sentences will be slightly but
+visibly greater than the space between words); and increasing by a
+value greater than 10 is always apparent.  You should preview your
+work to assess the effect of <strong>SS</strong>.
+</p>
+
+<p>
+There's an additional argument you can pass <strong>SS</strong>:
+the number zero (without the + sign).  It's the argument you'll
+use most often.  Typeset copy should never have two spaces between
+sentences, and the "zero" argument tells groff to give the extra
+spaces no space at all (effectively removing them).  Therefore,
+if you double-space your sentences (as you should when writing in a
+text editor), get in the habit of putting
+
+<pre>
+    .SS 0
+</pre>
+
+at the top of your files.
+</p>
+
+<p>
+If you do use <strong>SS</strong> for something other than ensuring
+that you don't get unwanted sentence spaces in output copy, you can
+set or reset the sentence space to the groff default (the same width
+as a word space, i.e. double-spaced input sentences will appear
+double-spaced on output as well) with
+
+<pre>
+    .SS DEFAULT
+</pre>
+</p>
+
+<p>
+If you're using the
+<a href="docprocessing.html">document processing macros</a>
+and your
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
+is <strong>TYPEWRITE</strong>, <kbd>.SS DEFAULT</kbd> is
+the default, because you <em>do</em> want double spaces between
+sentences in copy that imitates the look of a typewritten document.
+</p>
+
+<p>
+<strong>IMPORTANT: SS</strong> with an argument other than
+&quot;0&quot; should only be used if you're of the old (and wise)
+school of typists that puts two spaces between sentences.  If you
+ignore this advice and use <strong>SS</strong> when you habitually
+put only one space between sentences, you risk producing output
+where the space between sentences is not equal.
+</p>
+
+<!-- -HY- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HY"><h3><u>Automatic hyphenation control</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>HY</strong> <kbd>toggle</kbd></nobr>
+<br/>
+<nobr>Macro: <strong>HY</strong> <kbd>LINES &lt;max. number of consecutive 
hyphenated lines&gt;</kbd></nobr>
+<br/>
+<nobr>Macro: <strong>HY</strong> <kbd>MARGIN &lt;size of hyphenation 
margin&gt;</kbd></nobr>
+<br/>
+<nobr>Macro: <strong>HY</strong> <kbd>SPACE &lt;extra interword spacing to 
prevent hyphenation&gt;</kbd></nobr>
+<br/>
+<nobr>Macro: <strong>HY</strong> <kbd>DEFAULT</kbd></nobr>
+<br/>
+Aliases: <strong>HYPHENATE, HYPHENATION</strong>
+</p>
+
+<p>
+<strong>HY</strong>, as you can see, can be invoked with a number of
+arguments.  In all cases, the aliases <strong>HYPHENATE</strong>
+or <strong>HYPHENATION</strong> can be used in place of
+<strong>HY</strong>.  To aid in understanding the various arguments
+you can pass to <strong>HY</strong>, I've broken them down into
+separate sections.
+</p>
+
+<h4><u>1. HY</u></h4>
+
+<p>
+<strong>HY</strong> by itself (i.e. with no argument) simply turns
+automatic hyphenation on.  Any argument other than <strong>LINES,
+MARGIN, SPACE</strong> or <strong>DEFAULT</strong>, turns
+automatic hyphenation off.  For example, as explained in <a
+href="intro.html#MACRO_ARGS">How to read macro arguments</a>, you
+could turn <strong>HY</strong> off by entering
+
+<pre>
+    .HY OFF
+       or
+    .HY X
+       or
+    .HY END
+</pre>
+</p>
+
+<p>
+<strong>HY</strong> observes the following default hyphenation rules:
+
+<ol>
+    <li>Last lines (i.e. ones that will spring a trap &mdash; typically
+        the last line on a page) will not be hyphenated.
+    </li>
+    <li>The first and last two characters of a word are never
+        split off.
+    </li>
+</ol>
+</p>
+
+<h4><u>2. HY LINES</u></h4>
+
+<p>
+<strong>HY LINES</strong> sets the maximum number of consecutive
+hyphenated lines that will appear in output copy.  2 is a very
+good choice, and you'd set it with
+
+<pre>
+    .HY LINES 2
+</pre>
+</p>
+
+<p>
+By default, when you turn automatic hyphenation on, there is no
+limit to the number of consecutive hyphenated lines.
+</p>
+
+<p>
+<strong>NOTE:</strong>
+<a href="definitions.html#TERMS_DISCRETIONARYHYPHEN">Discretionary hyphens</a>
+count when groff is figuring out how many lines to hyphenate;
+explicit hyphens do not.
+</p>
+
+<h4><u>3. HY MARGIN</u></h4>
+
+<p>
+<strong>HY MARGIN</strong> sets the amount of room allowed at
+the end of a line before hyphenation is tripped (e.g. if there's
+only 6 points left at the end of a line, groff won't try to hyphenate
+the next word).  <strong>HY MARGIN</strong> only applies if you're
+using
+<a href="#QUAD">QUAD</a>, and is really only useful if you're
+using <strong>QUAD LEFT</strong>.
+</p>
+
+<p>
+As an example, if you don't want groff to hyphenate words when there's
+only 18 points of space left at the end of a left-quadded line,
+you'd enter
+
+<pre>
+    .HY MARGIN 18p
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> The numeric argument after <strong>HY
+MARGIN</strong> requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+</p>
+
+<h4><u>4. HY SPACE</u></h4>
+
+<p>
+<strong>HY SPACE</strong> sets an amount of extra interword
+space that groff will <em>try</em> to put between words on a
+line in order to PREVENT hyphenation.  <strong>HY SPACE</strong>
+applies only to
+<a href="definitions.html#TERMS_JUST">justified lines</a>.
+Generally speaking, you'll want this value to be quite small, since
+too big a value will result in lines with gaping holes between the
+words.  A reasonable value might be half a point, or one point,
+which you'd set with
+
+<pre>
+    .HY SPACE .5p
+        or
+    .HY SPACE 1p
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> The numeric argument after <strong>HY
+SPACE</strong> requires a
+<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
+</p>
+
+<h4><u>5. HY DEFAULT</u></h4>
+
+<p>
+<strong>HY DEFAULT</strong> resets automatic hyphenation
+to its default behaviour, cancelling any changes made with
+<strong>HY</strong> <kbd>LINES</kbd>, <strong>HY</strong>
+<kbd>MARGIN</kbd>, and/or <strong>HY</strong> <kbd>SPACE</kbd>.
+</p>
+
+<h4><u>A note on hyphenation in general</u></h4>
+
+<p>
+Hyphenation is a necessary evil.  If it can be avoided, it should be.
+If it can't be, it should occur infrequently.  That's the reason for
+the number of parameters you can set with <strong>HY</strong>.
+</p>
+
+<p>
+Furthermore, hyphenation in
+<a href="definitions.html#TERMS_RAG">rag</a>
+copy requires a great deal of attention.  At best, it should be
+avoided completely by individually adjusting the number of words
+on consecutive lines to achieve a pleasing, natural-looking rag.
+Since such adjustments are often too fussy for document processing,
+I recommend playing around with <strong>HY MARGIN</strong> a bit if
+your copy looks hyphen-heavy.
+</p>
+
+<!-- -HY_SET- -->
+
+<hr width="33%" align="left"/>
+
+<a name="HY_SET"><h3><u>Set hyphenation parameters all at once</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>HY_SET</strong> <kbd>&lt;lines&gt; [ &lt;margin&gt; [ 
&lt;space&gt; ] ]</kbd></nobr>
+<br/>
+
+Alias: <strong>HYSET</strong>
+</p>
+
+<p>
+<strong>HY_SET</strong> lets you set the parameters for hyphenation
+with a single macro. <kbd><nobr>&lt;lines&gt;,</nobr></kbd>
+<kbd><nobr>&lt;margin&gt;</nobr></kbd> and
+<kbd><nobr>&lt;space&gt;</nobr></kbd> correspond to the numeric
+values required by <kbd>LINES</kbd>,
+<kbd>MARGIN</kbd> and <kbd>SPACE</kbd> as described
+<a href="#HY">above</a>.
+</p>
+
+<p>
+To set just the maximum number of consecutive hyphenated lines,
+you'd enter
+
+<pre>
+    .HY_SET 2
+</pre>
+</p>
+
+<p>
+If you wanted the same number of maximum consecutive hyphenated lines
+and a hyphenation margin for use with
+<a href="definitions.html#TERMS_RAG">rag</a>
+copy,
+
+<pre>
+    .HY_SET 2 36p
+</pre>
+
+would set the hyphenation margin to 36 points.
+</p>
+
+<p>
+If you wanted the same number of maximum consecutive hyphenated
+lines and a hyphenation space of 2 points for use with
+<a href="definitions.html#TERMS_JUST">justified</a>
+copy, 
+
+<pre>
+    .HYSET 2 0 2p
+</pre>
+
+is how you'd do it.
+</p>
+
+<!-- -RW- -->
+
+<hr width="33%" align="left"/>
+
+<a name="RW"><h3><u>Reduce whitespace</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>RW</strong> <kbd>&lt;amount of whitespace reduction 
between letters&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>RW</strong> (Reduce Whitespace) and its corresponding macro,
+<strong>EW</strong> (Expand Whitespace), allow you to tighten
+(or loosen)
+<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a>
+by uniformly reducing or expanding the space between characters.
+This is particularly useful when you want to squeeze or stretch
+lines on a narrow measure.
+</p>
+
+<p>
+The value passed to <strong>RW</strong> may be a whole number or a
+decimal fraction.  Since a value of 1 produces a noticeable reduction
+in the space between letters at text sizes, you'll most likely use
+small decimal values when tightening lines.  For example,
+
+<pre>
+    .RW .1
+      or
+    .RW .2
+</pre>
+
+may be just enough to squeeze an extra character or two on a
+line without the change in letter spacing being obvious.  I
+highly recommend previewing your work to assess the effect of
+<strong>RW</strong>.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> In versions prior to 1.1.9-a,
+<strong>RW</strong> affected all
+<a href="definitions.html#TERMS_FONT">fonts</a>
+in the
+<a href="definitions.html#TERMS_FAMILY">family</a>
+current at the time it was invoked.  As of 1.1.9-a, this behaviour
+has been changed. <strong>RW</strong> affects only the font current
+at the time it's invoked, and remains in effect for that font every
+time the font is called, hence must be reset to zero to cancel its
+effect (<kbd>.RW 0</kbd>) on that font.
+</p>
+
+<p>
+<strong>NOTE:</strong> By default, <strong>RW</strong> does not deposit a 
+<a href="#BR">break</a>
+when it's invoked if you're in one of the
+<a href="definitions.html#TERMS_FILL">fill</a>
+modes (i.e.
+<a href="#QUAD">QUAD</a>
+<strong>L, R, C, J</strong> or
+<a href="#JUSTIFY">JUSTIFY</a>).
+If you want
+<strong>RW</strong> to break at the ends of the previous
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+while you're in a fill mode, tell <strong>mom</strong>
+that's what you want by invoking the
+<a href="#BR_AT_LINE_KERN"><kbd>.BR_AT_LINE_KERN</kbd></a>
+toggle macro.
+</p>
+
+<!-- -EW- -->
+
+<hr width="33%" align="left"/>
+
+<a name="EW"><h3><u>Expand whitespace</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>EW</strong> <kbd>&lt;amount of whitespace expansion 
between letters&gt;</kbd></nobr>
+</p>
+
+<p>
+<strong>EW</strong> (Expand Whitespace) expands the amount of
+whitespace between letters, effectively &quot;loosening&quot; lines
+of type.
+</p>
+
+<p>
+The value passed to <strong>EW</strong> may be a whole number or a
+decimal fraction.  Since a value of 1 produces a noticeable
+expansion in the space between letters at text sizes, you'll most likely use
+small decimal values when loosening lines.  For example,
+
+<pre>
+    .EW .1
+      or
+    .EW .2
+</pre>
+
+may be just enough to open up a line without the change in letter
+spacing being obvious.  I highly recommend previewing your work to
+assess the effect of <strong>EW</strong>.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> In versions prior to 1.1.9-a,
+<strong>EW</strong> affected all
+<a href="definitions.html#TERMS_FONT">fonts</a>
+in the
+<a href="definitions.html#TERMS_FAMILY">family</a>
+current at the time it was invoked.  As of 1.1.9-a, this behaviour
+has been changed.  <strong>EW</strong> affects only the font
+current at the time it's invoked, and remains in effect for that
+font every time the font is called, hence must be reset to zero to
+cancel its effect (<kbd>.EW 0</kbd>) on that font.
+</p>
+
+<p>
+<strong>NOTE:</strong> By default, <strong>EW</strong> does not deposit a 
+<a href="#BR">break</a>
+when it's invoked if you're in one of the
+<a href="definitions.html#TERMS_FILL">fill</a>
+modes (i.e.
+<a href="#QUAD">QUAD</a>
+<strong>L, R, C, J</strong> or
+<a href="#JUSTIFY">JUSTIFY</a>).
+If you want
+<strong>EW</strong> to break at the ends of the previous
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+while you're in a fill mode, tell <strong>mom</strong>
+that's what you want by invoking the
+<a href="#BR_AT_LINE_KERN"><kbd>.BR_AT_LINE_KERN</kbd></a>
+toggle macro.
+</p>
+
+<!-- -BR_AT_LINE_KERN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="BR_AT_LINE_KERN"><h3><u>Break before line kerning</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>BR_AT_LINE_KERN</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+By default, in
+<a href="definitions.html#TERMS_FILLED">fill</a>
+modes (i.e.
+<a href="#QUAD">QUAD</a>
+<strong>L, R, C, J</strong> or
+<a href="#JUSTIFY">JUSTIFY</a>)
+<strong>mom</strong> does not break
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+when you invoke
+<a href="#RW">RW</a>
+or
+<a href="#EW">EW</a>.
+If you'd like her to break input lines prior to <strong>RW</strong>
+or <strong>EW</strong>, invoke <kbd>.BR_AT_INPUT_LINE</kbd>
+without any argument.  To disable the breaks, invoke
+<kbd>.BR_AT_INPUT_LINE</kbd> with any argument (<strong>OFF, QUIT,
+Q, X</strong>...), like this
+
+<pre>
+    .BR_AT_LINE_KERN OFF
+        or
+    .BR_AT_LINE_KERN X
+</pre>
+</p>
+
+<p>
+With <strong>QUAD L, R</strong> or <strong>C</strong>,
+<strong>mom</strong> simply breaks the line.  With <strong>QUAD
+J</strong> (or just <strong>JUSTIFY</strong>, which is the same
+thing), she breaks and
+<a href="definitions.html#TERMS_FORCE">force justifies</a>
+the line prior to <kbd>.EW</kbd> or <kbd>.RW</kbd>.
+</p>
+
+<!-- -KERN- -->
+
+<hr width="33%" align="left"/>
+
+<a name="KERN"><h3><u>Automatic kerning</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>KERN</strong> <kbd>toggle</kbd></nobr>
+</p>
+
+<p>
+By itself (i.e. with no argument), <strong>KERN</strong> turns
+automatic pairwise
+<a href="definitions.html#TERMS_KERN">kerning</a>
+on.  With any argument (e.g. OFF, Q, X), pairwise kerning is turned
+off.
+</p>
+
+<p>
+Kerning of individual character pairs can be controlled with
+the <a href="definitions.html#TERMS_INLINES">inline escapes</a>
+<kbd><nobr>\*[BU &lt;n&gt;]</nobr></kbd> and
+<kbd><nobr>\*[FU &lt;n&gt;]</nobr></kbd>.  See
+<a href="inlines.html#INLINE_KERNING_MOM">Inline Escapes, kerning</a>.
+</p>
+
+<!-- -LIGATURES- -->
+
+<hr width="33%" align="left"/>
+
+<a name="LIGATURES"><h3><u>Automatic ligature generation</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>LIGATURES</strong> <kbd>toggle</kbd></nobr>
+<br/>
+
+Alias: <strong>LIG</strong>
+</p>
+
+<p>
+Provided your current font has
+<a href="definitions.html#TERMS_LIGATURES">ligatures</a>,
+<strong>LIGATURES</strong>, by itself, turns on automatic
+generation of ligatures.  When automatic ligature generation is
+on, simply typing the letters of a ligature combination will
+produce the correct ligature upon output.  For example, if you
+type the word &quot;finally&quot;, the fi combination will be
+output as an fi ligature.  Generally speaking, ligatures are A
+Good Thing, hence <strong>mom</strong> has them on by default.
+</p>
+
+<p>
+<strong>LIGATURES</strong> with any argument turns automatic
+ligature generation off.
+</p>
+
+<p>
+<strong>NOTE:</strong> Not all fonts support ligatures.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="MODIFICATIONS"><h2><u>Type modifications:
+<br/>
+
+pseudo-italic, -bold, -condensed, -extended</u></h2></a>
+
+<p>
+It sometimes happens that a PostScript 
+<a href="definitions.html#TERMS_FAMILY">family</a>
+doesn't contain all the fonts you need.  You might, for example, be
+missing an italic font, or a bold font.  Or you might not be able to
+get your hands on a condensed family.  That's where these macros and
+inline escapes come in.  With them, you can fake the fonts you're
+missing.  A word of caution, though: &quot;faked&quot; fonts are
+just that &mdash; faked.  You should only use them as a last resort, and
+then only sparingly.  A word or two or a line or two in a faked font
+will pass unnoticed; large patches of type in a faked font look
+typographically cheap.
+</p>
+
+<a name="INDEX_MODIFICATIONS"><h3><u>Type modifications macro list</u></h3></a>
+
+<ul>
+    <li><strong>Pseudo italic</strong></li>
+    <ul>
+        <li><a href="#SETSLANT">SETSLANT</a> &mdash; degree of 
pseudo-italicizing</li>
+        <li><a href="#SLANT_INLINE">\*[SLANT]</a> &mdash; inline escape for 
pseudo-italicizing type</li>
+    </ul>
+    <li><strong>Pseudo bold</strong></li>
+    <ul>
+        <li><a href="#SETBOLDER">SETBOLDER</a> &mdash; amount of 
emboldening</li>
+        <li><a href="#BOLDER_INLINE">\*[BOLDER]</a> &mdash; inline escape for 
emboldening type</li>
+    </ul>
+    <li><strong>Pseudo condensed</strong></li>
+    <ul>
+        <li><a href="#CONDENSE">CONDENSE</a> &mdash; percentage for 
pseudo-condensed type</li>
+        <li><a href="#COND_INLINE">\*[COND]</a> &mdash; inline escape for 
pseudo-condensed type</li>
+    </ul>
+    <li><strong>Pseudo extended</strong></li>
+    <ul>
+        <li><a href="#EXTEND">EXTEND</a> &mdash; percentage for 
pseudo-extended type</li>
+        <li><a href="#EXT_INLINE">\*[EXT]</a> &mdash; inline escape for 
pseudo-extending</li>
+    </ul>
+</ul>
+
+<!-- -SETSLANT- -->
+
+<hr width="66%" align="left"/>
+
+<a name="SETSLANT"><h3><u>Set degree of slant for 
pseudo-italicizing</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SETSLANT</strong> <kbd>&lt;degrees to slant type&gt; | 
RESET</kbd></nobr>
+</p>
+
+<p>
+Pseudo-italicizing of type is accomplished by slanting a roman font
+a certain number of degrees to the right. <strong>SETSLANT</strong>
+lets you fix the number of degrees. <strong>Mom</strong>'s default
+is 15, which produces an acceptable approximation of an italic font.
+If you want another value &mdash; say, 13 degrees &mdash; you'd set
+it by entering
+
+<pre>
+    .SETSLANT 13
+</pre>
+</p>
+
+<p>
+If you change the degree of slant and later want to set it back
+to the <strong>mom</strong> default, do
+
+<pre>
+    .SETSLANT RESET
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> By itself, <strong>SETSLANT</strong> will not
+start pseudo-italicizing type; it merely tells <strong>mom</strong>
+what degree of slant you want.  To start pseudo-italicizing, use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[SLANT]</kbd>.
+</p>
+
+<!-- -\*[SLANT]- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SLANT_INLINE"><h3><u>Pseudo italic on/off</u></h3></a>
+
+<p>
+Inline: <kbd>\*[SLANT] &mdash; turn pseudo-italic on</kbd>
+<br/>
+
+Inline: <kbd>\*[SLANTX] &mdash; turn pseudo-italic off</kbd>
+</p>
+
+<p>
+<kbd>\*[SLANT]</kbd> begins pseudo-italicizing type.
+<kbd>\*[SLANTX]</kbd> turns the feature off.  Both are
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+therefore they should not appear as separate lines, but rather be
+embedded in text lines, like this:
+
+<pre>
+    Not \*[SLANT]everything\*[SLANTX] is as it seems.
+</pre>
+</p>
+
+<p>
+Alternatively, if you wanted the whole line pseudo-italicized,
+you'd do
+
+<pre>
+    \*[SLANT]Not everything is as it seems.\*[SLANTX]
+</pre>
+</p>
+
+<p>
+Once <kbd>\*[SLANT]</kbd> is invoked, it remains in effect until
+turned off.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<strong>mom</strong> underlines pseudo-italics by default.  To
+change this behaviour, use the special macro
+<a href="docprocessing.html#TYPEWRITE_CONTROL">SLANT_MEANS_SLANT</a>.
+</p>
+
+<!-- -SETBOLDER- -->
+
+<hr width="33%" align="left"/>
+
+<a name="SETBOLDER"><h3><u>Set amount of emboldening</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>SETBOLDER</strong> <kbd>&lt;amount of emboldening, in 
machine units&gt; | RESET</kbd></nobr>
+</p>
+
+<p>
+Emboldening of type is accomplished by printing characters
+twice; the second printing is slightly offset from the first,
+effectively &quot;thickening&quot; the character.
+<strong>SETBOLDER</strong> lets you set the number of
+<a href="definitions.html#TERMS_UNITS">machine units</a>
+for the offset.  <strong>Mom</strong>'s default is 700 units, which
+produces an acceptable approximation of a bold font.  If you want
+another value &mdash; say, 500 units &mdash; you'd set it by entering
+
+<pre>
+    .SETBOLDER 500
+</pre>
+</p>
+
+<p>
+If you change the emboldening offset and later want to set it back
+to the <strong>mom</strong> default, do
+
+<pre>
+    .SETBOLDER RESET
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> By itself, <strong>SETBOLDER</strong>
+will not start emboldening type; it merely tells
+<strong>mom</strong> what you want the emboldening offset to be.
+To start emboldening, use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[BOLDER]</kbd>.
+</p>
+
+<!-- -\*[BOLDER]- -->
+
+<hr width="66%" align="left"/>
+
+<a name="BOLDER_INLINE"><h3><u>Emboldening on/off</u></h3></a>
+
+<p>
+Inline: <kbd>\*[BOLDER] &mdash; turn emboldening on</kbd>
+<br/>
+
+Inline: <kbd>\*[BOLDERX] &mdash; turn emboldening off</kbd>
+</p>
+
+<p>
+<kbd>\*[BOLDER]</kbd> begins emboldening type.
+<kbd>\*[BOLDERX]</kbd> turns the feature off.  Both are
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+therefore they should not appear as separate lines, but rather
+be embedded in text lines, like this:
+
+<pre>
+    Not \*[BOLDER]everything\*[BOLDERX] is as it seems.
+</pre>
+</p>
+
+<p>
+Alternatively, if you wanted the whole line emboldened,
+you'd do
+
+<pre>
+    \*[BOLDER]Not everything is as it seems.\*[BOLDERX]
+</pre>
+</p>
+
+<p>
+Once <kbd>\*[BOLDER]</kbd> is invoked, it remains in effect
+until turned off.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<strong>mom</strong> ignores <kbd>\*[BOLDER]</kbd> requests.
+</p>
+
+<!-- -CONDENSE- -->
+
+<hr width="33%" align="left"/>
+
+<a name="CONDENSE"><h3><u>Set percentage for pseudo-condensed type</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>CONDENSE</strong> <kbd>&lt;pseudo-condense 
percentage&gt;</kbd></nobr>
+</p>
+
+<p>
+Pseudo-condensing of type is accomplished by reducing the width of
+characters at a given point size without reducing their height,
+effectively narrowing them so they look like condensed type.
+<strong>CONDENSE</strong> tells <strong>mom</strong> what
+percentage of the normal character width you want the characters
+to be condensed.
+</p>
+
+<p>
+<strong>Mom</strong> has no default value for
+<strong>CONDENSE</strong>, therefore you must set it before using
+the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<a href="#COND_INLINE"><kbd>\*[COND]</kbd></a>.
+80 percent of the normal character width is a good value, and you'd
+set it like this:
+
+<pre>
+    .CONDENSE 80
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> By itself, <strong>CONDENSE</strong> will not
+start pseudo-condensing type; it merely tells <strong>mom</strong>
+what percentage of the normal character width you want characters to
+be condensed.  To start pseudo-condensing, use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[COND]</kbd>.
+</p>
+
+<p>
+<strong>Additional note:</strong> Make sure that pseudo-condensing
+is off (with
+<a href="#COND_INLINE"><kbd>\*[CONDX]</kbd></a>)
+before before making any changes to the pseudo-condense percentage
+with <strong>CONDENSE</strong>.
+</p>
+
+<!-- -\*[COND]- -->
+
+<hr width="33%" align="left"/>
+
+<a name="COND_INLINE"><h3><u>Pseudo-condensing on/off</u></h3></a>
+
+<p>
+Inline: <kbd>\*[COND] &mdash; turn pseudo-condensing on</kbd>
+<br/>
+
+Inline: <kbd>\*[CONDX] &mdash; turn pseudo-condensing off</kbd>
+</p>
+
+<p>
+<kbd>\*[COND]</kbd> begins pseudo-condensing type.
+<kbd>\*[CONDX]</kbd> turns the feature off.  Both are
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+therefore they should not appear as separate lines, but rather
+be embedded in text lines, like this:
+
+<pre>
+    \*[COND]Not everything is as it seems.\*[CONDX]
+</pre>
+</p>
+
+<p>
+<kbd>\*[COND]</kbd> remains in effect until you turn it
+off with <kbd>\*[CONDX]</kbd>.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> You MUST turn <kbd>\*[COND]</kbd>
+off before making any changes to the point size of your type, either
+via the
+<a href="#PS">PT_SIZE</a>
+macro or with the <kbd>\s</kbd> inline escape.  If you wish
+the new point size to be pseudo-condensed, simply reinvoke
+<kbd>\*[COND]</kbd> afterwards.  Equally, <kbd>\*[COND]</kbd> must
+be turned off before changing the condense percentage with
+<a href="#CONDENSE">CONDENSE</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<strong>mom</strong> ignores <kbd>\*[COND]</kbd> requests.
+</p>
+
+<!-- -EXTEND- -->
+
+<hr width="33%" align="left"/>
+
+<a name="EXTEND"><h3><u>Set percentage for pseudo-extended type</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>EXTEND</strong> <kbd>&lt;pseudo-extend 
percentage&gt;</kbd></nobr>
+</p>
+
+<p>
+Pseudo-extending of type is accomplished by increasing the width
+of characters at a given point size without increasing their
+height, effectively widening them so they look like extended
+type. <strong>EXTEND</strong> tells <strong>mom</strong> what
+percentage of the normal character width you want the characters to
+be extended.
+</p>
+
+<p>
+<strong>Mom</strong> has no default value for
+<strong>EXTEND</strong>, therefore you must set it before
+using the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<a href="#EXT_INLINE"><kbd>\*[EXT]</kbd></a>.
+120% of the normal character width is a good value, and you'd set it
+like this:
+
+<pre>
+    .EXTEND 120
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> By itself, <strong>EXTEND</strong> will not
+start pseudo-extending type; it merely tells <strong>mom</strong>
+what percentage of the normal character width you want characters to
+be extended.  To start pseudo-extending, use the
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<kbd>\*[EXT]</kbd>.
+</p>
+
+<p>
+<strong>Additional note:</strong> Make sure that pseudo-extending is
+off (with
+<a href="#EXT_INLINE"><kbd>\*[EXTX]</kbd></a>)
+before before making any changes to the pseudo-extend percentage
+with <strong>EXTEND</strong>.
+</p>
+
+<!-- -\*[EXT]- -->
+
+<hr width="33%" align="left"/>
+
+<a name="EXT_INLINE"><h3><u>Pseudo-extending on/off</u></h3></a>
+
+<p>
+Inline: <kbd>\*[EXT] &mdash; turn pseudo-extending on</kbd>
+<br/>
+
+Inline: <kbd>\*[EXTX] &mdash; turn pseudo-extending off</kbd>
+</p>
+
+<p>
+<kbd>\*[EXT]</kbd> begins pseudo-extending type.
+<kbd>\*[EXTX]</kbd> turns the feature off.  Both are
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
+therefore they should not appear as separate lines, but rather
+be embedded in text lines, like this:
+
+<pre>
+    \*[EXT]Not everything is as it seems.\*[EXTX]
+</pre>
+</p>
+
+<p>
+<kbd>\*[EXT]</kbd> remains in effect until you turn it off with
+<kbd>\*[EXTX]</kbd>.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> You MUST turn <kbd>\*[EXT]</kbd> off
+before making any changes to the point size of your type, either via
+the
+<a href="#PS">PT_SIZE</a>
+macro or with the <kbd>\s</kbd> inline escape.  If you wish the new
+point size to be pseudo-extended, simply reinvoke <kbd>\*[EXT]</kbd>
+afterwards.  Equally, <kbd>\*[EXT]</kbd> must be turned off before
+changing the extend percentage with
+<a href="#EXTEND">EXTEND</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you're using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
+with
+<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
+<strong>mom</strong> ignores <kbd>\*[EXT]</kbd> requests.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="ALDRLD"><h2><u>Vertical movement</u></h2></a>
+
+The two macros in this section allow you to move down or up on the
+page relative to the current
+<a href="definitions.html#TERMS_BASELINE">baseline</a>.
+
+<a name="INDEX_ALDRLD"><h3><u>Vertical movement macro list</u></h3></a>
+
+<ul>
+    <li><a href="#ALD">ALD</a> &mdash; Advance Lead</li>
+    <li><a href="#RLD">RLD</a> &mdash; Reverse Lead</li>
+</ul>
+
+<!-- -ALD- -->
+
+<hr width="66%" align="left"/>
+
+<a name="ALD"><h3><u>Advance Lead (move downward)</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>ALD</strong> <kbd>&lt;distance to move 
downward&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>ALD</strong> takes one argument: the distance to move downward
+on the page relative to the current vertical position.
+</p>
+
+<p>
+Used by itself, or preceded by
+<a href="#BR">BR</a>,
+<strong>ALD</strong> will advance by one line space plus the
+distance you specify.  Preceded by
+<a href="#EL">EL</a>,
+it will advance by exactly the distance you specify.
+</p>
+
+<p>
+<strong>ALD</strong> requires a unit of measure.  Decimal fractions
+are allowed, and values may be combined.  Therefore, to move down
+on the page by 1/4 of an inch, you could enter either
+
+<pre>
+    .ALD .25i
+        or
+    .ALD 1P+6p
+</pre>
+</p>
+
+<p>
+As the mnemonic (<strong>A</strong>dvance
+<strong>L</strong>ea<strong>D</strong>) suggests, you'll most often
+use <strong>ALD</strong> with
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+of lead.
+</p>
+
+<p>
+<strong>NOTE:</strong> if you want to use <strong>ALD</strong>
+at the top of a page (i.e. to advance to the starting position
+of type on a page), combine the value you want with -1v (minus
+one line space), like this:
+
+<pre>
+    .ALD 1i-1v
+</pre>
+</p>
+
+<p>
+At the top of a page, this will advance one inch from the
+top edge of the paper.  Without the -1v, the same command would
+advance one inch from the top of the page plus the distance of
+one line space.
+</p>
+
+<!-- -RLD- -->
+
+<hr width="33%" align="left"/>
+
+<a name="RLD"><h3><u>Reverse Lead (move upward)</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>RLD</strong> <kbd>&lt;distance to move 
upward&gt;</kbd></nobr>
+<br/>
+
+<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>RLD</strong> takes one argument: the distance to move
+upward on the page relative to the current vertical position.
+</p>
+
+<p>
+Used by itself, or preceded by
+<a href="#BR">BR</a>,
+<strong>RLD</strong> will advance by one line space, then
+reverse by the distance you specify.  Preceded by
+<a href="#EL">EL</a>,
+it will reverse by exactly the distance you specify.
+</p>
+
+<p>
+<strong>RLD</strong> requires a unit of measure.  Decimal fractions
+are allowed, and values may be combined.  Therefore, to move up
+on the page by 1/4 of an inch, you could enter either
+
+<pre>
+    .RLD .25i
+        or
+    .RLD 1P+6p
+</pre>
+</p>
+
+<p>
+As the mnemonic (<strong>R</strong>everse
+<strong>L</strong>ea<strong>D</strong>) suggests, you'll most often
+use <strong>RLD</strong> with
+<a href="definitions.html#TERMS_PICASPOINTS">points</a>
+of lead.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="TABS"><h2><u>Tabs</u></h2></a>
+
+<p>
+<strong>Mom</strong> provides two different kinds of tab setup:
+typesetting tabs and string tabs.  Neither one has anything to do
+with the tab key on your keyboard, and both are utterly divorced
+from groff's notion of tabs.  I recommend reading this section
+carefully in order to understand how <strong>mom</strong> handles
+tabs.
+</p>
+
+<p>
+<strong>NOTE:</strong> see the section
+<a href="typemacdoc.html#TYPESETTING">Using typesetting macros during document 
processing</a>
+for re-assuring information on the use of tabs during
+<a href="docprocessing.html#DOCPROCESSING">document processing</a>.
+</p>
+
+<a name="TYPESETTING_TABS"><h3><u>Typesetting tabs</u></h3></a>
+
+<p>
+Typesetting tabs are defined by both an indent from the left margin and
+a line length.  This is quite different from typewriter-style tab stops
+(the groff norm) that only define the left indent.  In conjunction
+with the
+<a href="#MULTI_COLUMNS">multi-column macros</a>,
+typesetting tabs significantly facilitate
+tabular and columnar work.
+</p>
+
+<p>
+Typesetting tabs are created with the
+<a href="#TAB_SET">TAB_SET</a>
+macro. <strong>TAB_SET</strong> identifies the tab (by number),
+establishes its left indent and line length, and optionally sets a
+quad direction and fill mode.  After tabs have been created with
+<strong>TAB_SET</strong>, they can be called at any time with the
+<a href="#TAB">TAB</a>
+macro.
+</p>
+
+<a name="TYPESETTING_TABS_TUT"><h3><u>Quickie tutorial on typesetting 
tabs</u></h3></a>
+
+<p>
+Say you want to set up three tabs to produce an employee evaluation
+that looks something like this:
+
+<a name="TYPSETTING_TABS_SAMPLE"></a>
+<pre>
+    CRITERION       EVALUATION     COMMENTS
+
+    Service           Good         Many clients specifically request
+                                   support from Joe by name.
+
+    Punctuality    Satisfactory    Tends to arrive after 8:00am, but
+                                   often works through lunch hour.
+
+    Team spirit     Needs work     Persistently gives higher priority
+                                   to helping clients than respecting
+                                   organizational hierarchy.
+</pre>
+</p>
+
+<p>
+You want the first tab (&quot;CRITERION&quot;)
+
+<ul>
+    <li>to begin at the left margin of the page (i.e. no indent)</li>
+    <li>to have a line length of 5 picas</li>
+    <li>to be set flush left</li>
+</ul>
+</p>
+
+<p>
+Tabs must be numbered, and each has to be set up with a separate
+<a href="#TAB_SET">TAB_SET</a>
+line.  Therefore, to set up tab 1, you enter
+
+<pre>
+   .TAB_SET  1  0  5P  L
+             |  |  |   |
+      tab #__|  |  |   |__direction
+                |  |
+        indent__|  |__length
+</pre>
+</p>
+
+<p>
+You want the second tab (&quot;EVALUATION&quot;)
+
+<ul>
+    <li>to begin 8 picas from the left margin</li>
+    <li>to have a length of 9 picas</li>
+    <li>to be set centred.</li>
+</ul>
+</p>
+
+<p>
+You set it up like this:
+
+<pre>
+   .TAB_SET  2  8P  9P  C
+             |  |   |   |
+      tab #__|  |   |   |__direction
+                |   |
+        indent__|   |__length
+</pre>
+</p>
+
+<p>
+You want the third tab (&quot;COMMENTS&quot;)
+
+<ul>
+    <li>to begin 19 picas from the left margin</li>
+    <li>to have a length of 17 picas</li>
+    <li>to be set flush left, <a 
href="definitions.html#TERMS_FILLED">filled</a></li>
+</ul>
+</p>
+
+<p>
+The setup looks like this:
+
+<pre>
+   .TAB_SET  3  19P  17P  L  QUAD
+             |   |    |   |    |
+             |   |    |   |    |__fill output lines
+             |   |    |   |
+      tab #__|   |    |   |__direction
+                 |    |
+         indent__|    |__length
+</pre>
+</p>
+
+<p>
+Once the tabs are set up, you can call them in one of two ways:
+
+<ul>
+    <li><a href="#TAB">TAB</a> (with the tab
+        number as an argument) breaks the current line,
+        advances one linespace, and calls the tab.</li>
+    <li><a href="#TN">TN</a> (Tab Next) keeps
+        you on the current line and moves over to the next
+        tab in sequence (i.e. from 1 to 2, 2 to 3, etc.).</li>
+</ul>
+</p>
+
+<p>
+To exit from tabs and restore your original left margin, line length,
+quad direction and fill mode,  use
+<a href="#TQ">TQ</a>
+(Tab Quit).
+</p>
+
+<p>
+Here's how the input for our sample employee evaluation looks
+(with some introductory parameters):
+
+<pre>
+    .PAGE 8.5i 11i 1i 1i 1i
+    .FAMILY  T
+    .FT      R
+    .PT_SIZE 14
+    .LS      16
+    .QUAD    LEFT
+    .KERN
+    .HY OFF
+    .SS 0
+    .TAB_SET 1 0   5P  L
+    .TAB_SET 2 8P  9P  C
+    .TAB_SET 3 19P 17P L QUAD
+    .TAB 1
+    CRITERION
+    .TN
+    EVALUATION
+    .TN
+    COMMENTS
+    .SP
+    .TAB 1
+    Service
+    .TN
+    Good
+    .TN
+    Many clients specifically request support from Joe by name.
+    .SP
+    .TAB 1
+    Punctuality
+    .TN
+    Satisfactory
+    .TN
+    Tends to arrive after 8:00am, but often works through lunch hour.
+    .SP
+    .TAB 1
+    Team spirit
+    .TN
+    Needs work
+    .TN
+    Persistently gives higher priority to helping clients
+    than respecting organizational hierarchy.
+    .TQ
+</pre>
+</p>
+
+<p>
+Try setting this up and previewing it with
+
+<pre>
+    groff -mom -X &lt;filename&gt;
+</pre>
+</p>
+
+<p>
+Notice how <kbd>.TN</kbd> simply moves over to the next tab,
+while the combination <kbd>.SP/.TAB 1</kbd> breaks the
+line, advances by one extra linespace, and calls the first tab.
+</p>
+
+<p>
+Notice, too, how the <kbd>QUAD</kbd> argument passed to
+tab 3 means you don't have to worry about the length of
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>;
+<strong>mom</strong>
+<a href="definitions.html#TERMS_FILLED">fills</a>
+the tab and sets the type flush left.
+</p>
+
+<a name="STRING_TABS"><h3><u>String tabs (autotabs)</u></h3></a>
+
+<p>
+String tabs let you mark off tab positions with
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+embedded in
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>.
+Left indents and line lengths are calculated from the beginning and
+end positions of the marks.  This is especially useful when tab
+indents and lengths need to be determined from the text that goes in
+each tab.
+</p>
+
+<p>
+Setting up string tabs is a two-step procedure.  First, you enter an
+input line in which you mark off where you want tabs to begin and
+end.  (This is often best done in conjunction with the
+<a href="goodies.html#SILENT">SILENT</a>
+macro.)
+</p>
+
+<p>
+Next, you invoke the
+<a href="#ST">ST</a>
+macro for every string tab you defined, and optionally pass quad and
+fill information to it.  That done, string tabs are called with the
+<a href="#TAB">TAB</a>
+macro, just like typesetting tabs.
+</p>
+
+<p>
+In combination with the
+<a href="goodies.html#PAD">PAD</a>
+macro and the groff inline escape
+<a href="inlines.html#INLINE_HORIZONTAL_GROFF"><kbd>\h</kbd></a>
+(move horizontally across the page) or <strong>mom</strong>'s
+<a href="inlines.html#INLINE_HORIZONTAL_MOM"><kbd><nobr>\*[FWD 
&lt;distance&gt;]</nobr></kbd></a>
+(move forward) inline, string tabs provide
+tremendous flexibility in setting up complex tab structures.
+</p>
+
+<a name="STRING_TABS_TUT"><h3><u>Quickie tutorial on string tabs</u></h3></a>
+
+<p>
+Say you want to set up tabs for the
+<a href="#TYPSETTING_TABS_SAMPLE">employee evaluation form</a>
+used as an example in the
+<a href="#TYPESETTING_TABS_TUT">typesetting tabs tutorial</a>.
+This time, though, you want to play around with the point size of
+type, so you can't know exactly how long the tabs will be or where
+they should start.  All you know is
+
+<ul>
+    <li>CRITERION is the longest line in tab 1</li>
+    <li>EVALUATION is the longest line in tab 2</li>
+    <li>tab 3 should extend to the current right margin</li>
+    <li>you want a 1 pica gutter between each tab</li>
+</ul>
+</p>
+
+<p>
+This is an ideal job for string tabs.
+</p>
+
+<p>
+The first thing you need for string tabs is an
+<a href="definitions.html#TERMS_INPUTLINE">input line</a>
+with tab positions marked on it.  Tabs are marked with the
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+<a href="#INLINE_ST"><kbd><nobr>\*[ST&lt;n&gt;]</nobr></kbd></a>
+and
+<a href="#INLINE_ST"><kbd><nobr>\*[ST&lt;n&gt;X]</nobr></kbd></a>,
+where <kbd>&lt;n&gt;</kbd>
+is the number you want the tab to have.  (In this example, we
+enclose the input line with the
+<a href="goodies.html#SILENT">SILENT</a>
+macro so the line doesn't print.  We also use the
+<a href="goodies.html#PAD">PAD</a>
+macro to permit defining tab 3 as simply &quot;the amount of
+space remaining on the input line.&quot;)
+</p>
+
+<p>
+The setup looks like this:
+
+<pre>
+    .SILENT
+    .PAD "\*[ST1]CRITERION\*[ST1X]\*[FWD 12p]\*[ST2]EVALUATION\*[ST2X]\*[FWD 
12p]\*[ST3]#\*[ST3X]"
+    .SILENT OFF
+</pre>
+</p>
+
+<p>
+The long line after <kbd>.PAD</kbd> looks scary, but it isn't.
+Here's what it means when broken down into its component parts:
+
+<ul>
+    <li>The longest line in tab 1 is &quot;CRITERION&quot;, so we
+        enclose CRITERION with begin/end markers for string tab 1:
+
+        <pre>
+    \*[ST1]CRITERION\*[ST1X]
+        </pre>
+
+    </li>
+    <li>We want a 1 pica (12 points) gutter between tab 1 and 2,
+        so we insert 12 points of space with \*[FWD 12p]
+        (<strong>F</strong>or<strong>W</strong>ar<strong>D</strong> 12 points):
+
+        <pre>
+    \*[FWD 12p]
+        </pre>
+
+    </li>
+    <li>The longest line in tab 2 is &quot;EVALUATION&quot;, so
+        we enclose EVALUATION with begin/end markers for string
+        tab 2:
+
+        <pre>
+    \*[ST2]EVALUATION\*[ST2X]
+        </pre>
+
+    </li>
+    <li>We want 1 pica (12 points) between tab 2 and 3, so we
+        insert 12 points of space with another <kbd><nobr>\*[FWD 
12p]</nobr></kbd>
+
+        <pre>
+    \*[FWD 12p]
+        </pre>
+
+    </li>
+    <li>We want tab 3 to be as long as whatever space remains on
+        the current line length, so we enclose the
+        <a href="goodies.html#PAD_MARKER">pad marker</a>
+        (#) with begin/end markers for string tab 3:
+
+        <pre>
+    \*[ST3]#\*[ST3X]
+        </pre>
+
+     </li>
+</ul>
+</p>
+
+<p>
+The tabs are now defined, but they require
+<a href="definitions.html#TERMS_QUAD">quad direction</a>
+and
+<a href="definitions.html#TERMS_FILLED">fill</a>
+information.  For each string tab defined above, enter a
+separate
+<a href="#ST">ST</a>
+line, like this:
+
+<pre>
+    .ST  1  L
+    .ST  2  L
+    .ST  3  L  QUAD
+         |  |   |
+         |  |   |__fill output lines
+         |  |
+    tab__|  |__direction
+    number
+</pre>
+</p>
+
+<p>
+From here on in, you call the tabs with
+<a href="#TAB">TAB</a>
+and
+<a href="#TN">TN</a>
+just like typesetting tabs (see
+<a href="#TYPESETTING_TABS_TUT">typesetting tabs tutorial</a>).
+</p>
+
+<p>
+Here's the complete setup and entry for the sample employee
+evaluation form utilizing string tabs.
+
+<pre>
+    .PAGE 8.5i 11i 1i 1i 1i
+    .FAMILY  T
+    .FT      R
+    .PT_SIZE 14
+    .LS      16
+    .QUAD    LEFT
+    .KERN
+    .HY OFF
+    .SS 0
+    .SILENT
+    .PAD "\*[ST1]CRITERION\*[ST1X]\*[FWD 12p]\*[ST2]EVALUATION\*[ST2X]\*[FWD 
12p]\*[ST3]#\*[ST3X]"
+    .SILENT OFF
+    .ST  1  L
+    .ST  2  L
+    .ST  3  L  QUAD
+    .TAB 1
+    CRITERION
+    .TN
+    EVALUATION
+    .TN
+    COMMENTS
+    .SP
+    .TAB 1
+    Service
+    .TN
+    Good
+    .TN
+    Many clients specifically request support from Joe by name.
+    .SP
+    .TAB 1
+    Punctuality
+    .TN
+    Satisfactory
+    .TN
+    Tends to arrive after 8:00am, but often works through lunch hour.
+    .SP
+    .TAB 1
+    Team spirit
+    .TN
+    Needs work
+    .TN
+    Persistently gives higher priority to helping clients
+    than respecting organizational hierarchy.
+    .TQ
+</pre>
+</p>
+
+<p>
+Try setting this up and previewing it with
+
+<pre>
+    groff -mom -X &lt;filename&gt;
+</pre>
+</p>
+
+<p>
+Now, change the point size of the above sample to 12 and preview
+it again.  You'll see that the tab structure remains identical (tab
+1=CRITERION, tab 2=EVALUATION, tab 3=space remaining, and the gutter
+between tabs is still 1 pica), while the position and length 
+of the tabs have altered because of the new point size.
+</p>
+
+<p>
+Now try increasing the gutters to 2 picas (<kbd>\*[FWD 24p]</kbd> or
+<kbd>\*[FWD 2P]</kbd> instead of <kbd>\*[FWD 12p]</kbd>).  Preview the
+file again, and notice how the tab structure remains the same, but
+the gutters are wider.
+</p>
+
+<a name="INDEX_TABS"><h3><u>Tabs macro list</u></h3></a>
+
+<ul>
+    <li><a href="#TAB_SET">TAB_SET</a> (create typesetting tabs)</li>
+    <li><a href="#INLINE_ST">\*[ST]...\*[STX]</a> (inline escapes for marking 
String Tabs)</li>
+    <li><a href="#ST">ST</a> (set String Tabs)</li>
+    <li><a href="#TAB">TAB</a> (call tabs)</li>
+    <li><a href="#TN">TN</a> (Tab Next; call next tab in a sequence)</li>
+    <li><a href="#TQ">TQ</a> (Tab Quit)</li>
+</ul>
+
+<!-- -TAB_SET- -->
+
+<hr width="66%" align="left"/>
+
+<a name="TAB_SET"><h3><u>Set up typesetting tabs</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>TAB_SET</strong> <kbd>&lt;tab number&gt; &lt;indent&gt; 
&lt;length&gt;  L | R | C | J [ QUAD ]</kbd></nobr>
+<br/>
+
+<em>*</em><kbd>&lt;indent&gt;</kbd> <em>and</em> <kbd>&lt;length&gt;</kbd> 
<em>require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of 
measure</a></em>
+</p>
+
+<p>
+<strong>TAB_SET</strong> creates typesetting tabs that later can be
+called with
+<a href="#TAB">TAB</a>.
+Typesetting tabs are numbered, and defined by an indent, a length,
+and a &quot;direction&quot;, hence <strong>TAB_SET</strong> has four
+required arguments:
+
+<ul>
+    <li>a tab number</li>
+    <li>an indent (measured from the left margin of the page,
+    or, if you're already in a tab, from the left margin of the tab)</li>
+    <li>a length</li>
+    <li>a direction</li>
+</ul>
+
+To set up a centred tab 6 picas long and 9 points from the left
+margin, you'd enter
+
+<pre>
+    .TAB_SET 1 9p 6P C
+</pre>
+</p>
+
+<p>
+The tab number in the above (&quot;1&quot;) is simply an
+identifier.  It could have been 4, or 17, or 296.  There's no
+need to set up tabs in numerical sequence.
+</p>
+
+<p>
+By default, tabs are in
+<a href="definitions.html#TERMS_NOFILL">nofill</a>
+mode, meaning you can enter text in tabs on a line-for-line basis
+without having to use the
+<a href="#BR">BR</a>
+macro.  If you want a tab to be
+<a href="definitions.html#TERMS_FILLED">filled</a>,
+pass the optional argument <kbd>QUAD</kbd>, which will make the tab
+behave as if you'd entered <kbd><nobr>.QUAD L | R | C</nobr></kbd>.
+</p>
+
+<p>
+For
+<a href="definitions.html#TERMS_JUST">justified</a>
+tabs, simply pass the argument <strong>J</strong> (without the
+<strong>QUAD</strong> argument), like this:
+
+<pre>
+    .TAB 1 9p 6P J
+</pre>
+</p>
+
+<p>
+Once tabs are set, they can be called at any time with the
+<a href="#TAB"><nobr>TAB &lt;n&gt;</nobr></a>
+macro, where &lt;n&gt; is the number of the desired tab.
+</p>
+
+<p>
+You can set up any number of typesetting tabs.  However, be aware
+that
+<a href="#STRING_TABS">string tabs</a>
+are also called with <strong><nobr>TAB &lt;n&gt;</nobr></strong>,
+so be careful that you don't set up a typesetting tab numbered,
+say, 4, when you already have a string tab numbered 4.  Every tab,
+typesetting or string, must have a unique numeric identifier.
+</p>
+
+<p>
+<strong>NOTE:</strong> If you use <strong>TAB_SET</strong> while
+you're currently inside a tab, the indent argument is the distance from
+the tab's left margin, not the left margin of the page.  Therefore,
+you should exit tabs (with
+<a href="#TQ">TQ</a>)
+before creating new tabs (unless, of course, you want to set
+up a tab structure within the confines of an existing tab).
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> Turn all indents off (see
+<a href="#INDENTS">Indents</a>)
+before setting up tabs with <strong>TAB_SET</strong>, or
+<strong>mom</strong> may get confused.
+</p>
+
+<!-- -INLINE_ST- -->
+
+<hr width="33%" align="left"/>
+
+<a name="INLINE_ST"><h3><u>Mark positions of string tabs</u></h3></a>
+
+<p>
+Inlines: <kbd>\*[ST&lt;number&gt;]...\*[ST&lt;number&gt;X]</kbd>
+<br/>
+
+<em>*The <a href="definitions.html#TERMS_QUAD">Quad</a>
+direction must be</em> LEFT <em>or</em> JUSTIFY <em>(see</em>
+<a href="#QUAD">QUAD</a>
+<em>and</em>
+<a href="#JUSTIFY">JUSTIFY</a>)
+<em>or the
+<a name="definitions.html#TERMS_NOFILL">no-fill mode</a>
+set to</em>
+<a href="#LRC">LEFT</a>
+<em>in order for these inlines to function properly.  Please see</em>
+<a href="#IMPORTANT">IMPORTANT</a>,
+<em>below.</em>
+</p>
+
+<p>
+String tabs need to be marked off with
+<a href="definitions.html#TERMS_INLINES">inline escapes</a>
+before being set up with the
+<a href="#ST">ST</a>
+macro.  Any input line may contain string tab markers.
+<kbd>&lt;number&gt;</kbd>, above, means the numeric identifier of the
+tab.  The following shows a sample input line with string tab
+markers.
+
+<pre>
+    \*[ST1]Now is the time\*[ST1X] for all \*[ST2]good men\*ST2X] to come to 
the aid of the party.
+</pre>
+</p>
+
+<p>
+String tab 1 begins at the start of the line and ends after the word
+&quot;time&quot;.  String tab 2 starts at &quot;good&quot; and ends
+after &quot;men&quot;.  Inline escapes (e.g. font or point size
+changes, or horizontal movements, including
+<a href="goodies.html#PAD">padding</a>)
+are taken into account when <strong>mom</strong> determines the
+position and length of string tabs.
+</p>
+
+<p>
+Up to nineteen string tabs may be marked (not necessarily all on
+the same line, of course), and they must be numbered between 1
+and 19.
+</p>
+
+<p>
+Once string tabs have been marked in input lines, they have to
+be &quot;set&quot; with
+<a href="#ST">ST</a>,
+after which they may be called, by number, with
+<a href="#TAB">TAB</a>.
+</p>
+
+<p>
+<strong>NOTE:</strong> Lines with string tabs marked off in them are
+normal input lines, i.e. they get printed, just like any input line.
+If you want to set up string tabs without the line printing, use the
+<a href="goodies.html#SILENT">SILENT</a>
+macro.
+</p>
+
+<p>
+<a name="IMPORTANT"><strong>IMPORTANT:</strong></a>
+Owing to the way groff processes
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
+and turns them into
+<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a>,
+it is not possible for <strong>mom</strong> to &quot;guess&quot; the
+correct starting position of string tabs marked off in lines that
+are centered or set flush right.
+</p>
+
+<p>
+Equally, she cannot guess the starting position if a line is fully
+justified and broken with
+<a href="#SPREAD">SPREAD</a>.
+</p>
+
+<p>
+In other words, in order to use string tabs,
+<a href="#LRC">LEFT</a>
+must be active, or, if
+<a href="#QUAD">QUAD LEFT</a>
+or
+<a href="#JUSTIFY">JUSTIFY</a>
+are active, the line on which the string tabs are marked must be
+broken &quot;manually&quot; with
+<a href="#BR">BR</a>
+(but not
+<a href="#SPREAD">SPREAD</a>).
+</p>
+
+<p>
+To circumvent this behaviour, I recommend using the
+<a href="goodies.html#PAD">PAD</a>
+to set up string tabs in centered or flush right lines.  Say, for
+example, you want to use a string tab to underscore the text of a
+centered line with a rule.  Rather than this,
+
+<pre>
+    .CENTER
+    \*[ST1]A line of text\*[ST1X]\c
+    .EL
+    .ST 1
+    .TAB 1
+    .PT_SIZE 24
+    .ALD 3p
+    \*[RULE]
+    .RLD 3p
+    .TQ
+</pre>
+
+you should do:
+
+<pre>
+    .QUAD CENTER
+    .PAD "#\*[ST1]A line of text\*[ST1X]#"
+    .EL
+    .ST 1
+    .TAB 1
+    .PT_SIZE 24
+    .ALD 3p
+    \*[RULE] \" Note that you can't use \*[UP ] or \*[DOWN] with \*[RULE]
+    .RLD 3p
+    .TQ
+</pre>
+</p>
+
+<!-- -ST- -->
+
+<hr width="33%" align="left"/>
+
+<a name="ST"><h3><u>Set string tabs</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>ST</strong> <kbd>&lt;tab number&gt;  L | R | C | J [ QUAD 
]</kbd></nobr>
+</p>
+
+<p>
+After string tabs have been marked off on an input line (see
+<a href="#INLINE_ST"><kbd>\*[ST]...\*[STX]</kbd></a>),
+you need to &quot;set&quot; them by giving them a direction
+and, optionally, the <kbd>QUAD</kbd> argument.  In this
+respect, <strong>ST</strong> is like
+<a href="#TAB_SET">TAB_SET</a>
+except that you don't have to give <strong>ST</strong> an indent
+or a line length (that's already taken care of, inline, by
+<kbd>\*[ST]...\*[STX]</kbd>).  If you want string tab 1 to be left,
+enter
+
+<pre>
+    .ST 1 L
+</pre>
+</p>
+
+<p>
+If you want it to be left and
+<a href="definitions.html#TERMS_FILLED">filled</a>, enter
+
+<pre>
+    .ST 1 L QUAD
+</pre>
+</p>
+
+<p>
+If you want it to be justified, enter
+
+<pre>
+    .ST 1 J
+</pre>
+</p>
+
+<p>
+See the
+<a href="#STRING_TABS_TUT">Quickie tutorial on string tabs</a>
+for a full explanation of setting up string tabs.
+</p>
+
+<!-- -TAB- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TAB"><h3><u>Call tabs</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>TAB</strong> <kbd>&lt;tab number&gt;</kbd></nobr>
+<br/>
+
+Alias: <strong>TB</strong>
+</p>
+
+<p>
+After tabs have been defined (either with
+<a href="#TAB_SET">TAB_SET</a>
+or
+<a href="#ST">ST</a>),
+<strong>TAB</strong> moves to whatever tab number you pass it as
+an argument.  For example,
+
+<pre>
+    .TAB 3
+</pre>
+
+moves you to tab 3.
+</p>
+
+<a name="NOTE_TN"></a>
+
+<p>
+<strong>NOTE:</strong> <strong>TAB</strong> breaks the line preceding
+it and advances 1 linespace.  Hence,
+
+<pre>
+    .TAB 1
+    A line of text in tab 1.
+    .TAB 2
+    A line of text in tab 2.
+</pre>
+
+produces, on output
+
+<pre>
+    A line of text in tab 1.
+                               A line of text in tab 2.
+</pre>
+</p>
+
+<p>
+If you want the tabs to line up, use
+<a href="#TN">TN</a>
+(Tab Next), like this:
+
+<pre>
+    .TAB 1
+    A line of text in tab 1.
+    .TN
+    A line of text in tab 2.
+</pre>
+
+which produces
+
+<pre>
+    A line of text in tab 1.   A line of text in tab 2.
+</pre>
+</p>
+
+<p>
+If the text in your tabs runs to several lines, and you want the
+first lines of each tab to align, you must use the
+<a href="#MULTI_COLUMNS">multi-column</a> macros.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Any indents in effect prior to
+calling a tab are automatically turned off by <strong>TAB</strong>.
+If you were happily zipping down the page with a left indent of 2
+picas turned on, and you call a tab whose indent from the left margin
+is 6 picas, your new distance from the left margin will be 6 picas,
+not 6 picas plus the 2 pica indent.
+</p>
+
+<!-- -TN- -->
+
+<hr width="66%" align="left"/>
+
+<a name="TN"><h3><u>Tab Next</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>TN</strong></nobr>
+<br/>
+
+<em>*In tabs that aren't given the</em> <kbd>QUAD</kbd> <em>argument
+when they're set up with</em>
+<a href="#TAB_SET">TAB_SET</a>
+<em>or</em>
+<a href="#ST">ST</a>,
+<em>you must terminate the line preceding</em> <kbd>.TN</kbd>
+<em>with the</em> <kbd>\c</kbd> <em>inline escape.  See the</em>
+<a href="#TN_NOTE">ADDITIONAL NOTE</a>.
+<em>If you find remembering
+whether to put in the <kbd>\c</kbd> bothersome, you may prefer to
+use the</em>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+<em>alternative to</em>
+<kbd>.TN</kbd>,
+<a href="inlines.html#TB+"><kbd>\*[TB+]</kbd></a>,
+<em>which works consistently regardless of the fill mode.</em>
+</p>
+
+<p>
+<strong>TN</strong> moves over to the next tab in numeric
+sequence (tab n+1) without advancing on the page.  See the
+<a href="#NOTE_TN">NOTE</a>
+in the description of the <strong>TAB</strong> macro for an
+example of how <strong>TN</strong> works.
+</p>
+
+<p>
+<strong>NOTE:</strong> You <em>must</em> put text in the
+<a href="definitions.html#TERMS_INPUTLINE">input line</a>
+immediately after <strong>TN</strong>. &quot;Stacking&quot; of
+<strong>TN</strong>'s is not allowed.  In other words, you cannot
+do
+
+<pre>
+    .TAB 1
+    Some text
+    .TN
+    Some more text
+    .TN
+    .TN
+    Yet more text
+</pre>
+</p>
+
+<p>
+The above example, assuming tabs numbered from 1 to 4, should be entered
+
+<pre>
+    .TAB 1
+    Some text
+    .TN
+    Some more text
+    .TAB 4
+    Yet more text
+</pre>
+</p>
+
+<p>
+<a name="TN_NOTE"><strong>ADDITIONAL NOTE:</strong></a>
+In versions of mom prior to 1.1.9, <strong>TN</strong> did not
+always work as advertised on the last
+<a name="TERMS_OUTPUTLINE">output line</a>
+of pages that contained a footer trap (e.g. one set with
+<a href="#B_MARGIN">B_MARGIN</a>
+or in  documents formatted using the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>).
+</p>
+
+<p>
+<strong>TN</strong> has been re-written so that this should no longer be the
+case.  However, in order for it to work in tabs that have not been
+given a <kbd>QUAD</kbd> argument (see
+<a href="#TAB_SET">TAB_SET</a>
+and
+<a href="#ST">ST</a>)
+you must always &quot;join&quot; <strong>.TN</strong> to the line
+before it using the
+<a href="#JOIN"><kbd>\c</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>,
+as in the following example:
+
+<pre>
+    .TAB_SET 1 0  1P  L
+    .TAB_SET 2 1P 20P L
+    .TAB 1
+    1.\c
+    .TN
+    The first rule of survival is &quot;make and keep good friends.&quot;
+</pre>
+</p>
+
+<p>
+When output, the example will look like this:
+
+<pre>
+    1.  The first rule of survival is &quot;make and keep good friends.&quot;
+</pre>
+</p>
+
+<p>
+Conversely, if you did give a <kbd>QUAD</kbd> argument
+to <strong>TAB_SET</strong> or <strong>ST</strong>, the
+<kbd>\c</kbd> must not be used.
+</p>
+
+<!-- -TQ- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TQ"><h3><u>Tab Quit</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>TQ</strong></nobr>
+</p>
+
+<p>
+<strong>TQ</strong> takes you out of whatever tab you were in,
+advances 1 linespace, and restores the left margin, line length,
+quad direction and
+<a href="definitions.html#TERMS_FILLED">fill mode</a>
+that were in effect prior to invoking any tabs.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="MULTI_COLUMNS"><h2><u>Multi-Columns</u></h2></a>
+
+<p>
+Tabs are not by nature columnar, which is to say that if the text
+inside a tab runs to several lines, calling another tab does not
+automatically move to the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of the first line in the previous tab.  To demonstrate:
+
+<pre>
+    .TAB 1
+    Carrots
+    Potatoes
+    Broccoli
+    .TAB 2
+    $1.99/5 lbs
+    $0.25/lb
+    $0.99/bunch
+</pre>
+
+produces, on output
+
+<pre>
+    Carrots
+    Potatoes
+    Broccoli
+               $1.99/5 lbs
+               $0.25/lb
+               $0.99/bunch
+</pre>
+
+<p>
+The multi-column macros allow you to set tabs in columnar
+fashion, rather than line by line.  When you invoke multi-column
+mode (with
+<a href="#MCO">MCO</a>),
+<strong>mom</strong> saves the position of the current baseline.
+<a href="#MCR">MCR</a>
+(Multi-column return) at any point while multi-columns are on
+returns you to the saved position.  Exiting multi-columns
+(<a href="#MCX">MCX</a>)
+quits the current tab (if you're in one) and moves you to the
+bottom of the longest column.  (Note that you do not have to use
+multi-columns in conjunction with tabs.)
+</p>
+
+<p>
+Using our example above, but setting it in multi-column mode,
+
+<pre>
+    .MCO
+    .TAB 1
+    Carrots
+    Potatoes
+    Broccoli
+    .MCR
+    .TAB 2
+    $1.99/5 lbs
+    $0.25/lb
+    $0.99/bunch
+    .MCX
+</pre>
+
+produces
+</p>
+
+<pre>
+    Carrots   $1.99/5 lbs
+    Potatoes  $0.25/lb
+    Broccoli  $0.99/bunch
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> Do not confuse <strong>MCO</strong> with
+the
+<a href="docprocessing.html#COLUMNS">COLUMNS</a>
+macro in the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+</p>
+
+<a name="INDEX_MULTI_COLUMNS"><h3><u>Columns macro list</u></h3></a>
+
+<ul>
+    <li><a href="#MCO">MCO (begin multi-column setting)</a></li>
+    <li><a href="#MCR">MCR (return to top of column)</a></li>
+    <li><a href="#MCX">MCX (exit multi-columns)</a></li>
+</ul>
+
+<!-- -MCO- -->
+
+<hr width="66%" align="left"/>
+
+<a name="MCO"><h3><u>Begin multi-column setting</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>MCO</strong></nobr>
+</p>
+
+<p>
+<strong>MCO</strong> (<strong>M</strong>ulti-<strong>C</strong>olumn
+<strong>O</strong>n) is the macro you use to begin multi-column
+setting.  It marks the current
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+as the top of your columns, for use later with
+<a href="#MCR">MCR</a>.  See the
+<a href="#MULTI_COLUMNS">introduction to columns</a>
+for an explanation of multi-columns and some sample
+input.
+</p>
+
+<p>
+<strong>NOTE:</strong> Do not confuse <strong>MCO</strong> with
+the
+<a href="docprocessing.html#COLUMNS">COLUMNS</a>
+macro in the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+</p>
+
+<!-- -MCR- -->
+
+<hr width="66%" align="left"/>
+
+<a name="MCR"><h3><u>Return to top of column</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>MCR</strong></nobr>
+</p>
+
+<p>
+Once you've turned multi-columns on (with
+<a href="#MCO">MCO</a>),
+<strong>MCR</strong>, at any time, returns you to the top of
+your columns.
+</p>
+
+<!-- -MCX- -->
+
+<hr width="33%" align="left"/>
+
+<a name="MCX"><h3><u>Exit multi-columns</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>MCX</strong> <kbd>[ &lt;distance to advance below longest 
column&gt; ]</kbd></nobr>
+<br/>
+
+<em>*Optional argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+<strong>MCX</strong> takes you out of any tab you were in (by
+silently invoking
+<a href="#TQ">TQ</a>) and advances to the bottom of the longest
+column.
+</p>
+
+<p>
+Without an argument, <strong>MCX</strong> advances 1 linespace
+below the longest column.  Linespace, in this instance, is the
+<a href="definitions.html#TERMS_LEADING">leading</a>
+in effect <em>at the moment <strong>MCX</strong> is
+invoked.</em>
+</p>
+
+<p>
+If you pass the <kbd><nobr>&lt;distance&gt;</nobr></kbd> argument to
+<strong>MCX</strong>, it advances 1 linespace below the longest
+column (see above) PLUS the distance specified by the argument.
+The argument requires a unit of measure; therefore, to advance
+an extra 6 points below where <strong>MCX</strong> would
+normally place you, you'd enter
+
+<pre>
+    .MCX 6p
+</pre>
+</p>
+
+<p>
+<strong>NOTE:</strong> If you wish to advance a precise distance
+below the
+<a href="definitions.html#TERMS_BASELINE">baseline</a>
+of the longest column, use <strong>MCX</strong> with an
+argument of 0 (zero; no unit of measure required) in conjunction
+with the
+<a href="#ALD">ALD</a>
+macro, like this:
+
+<pre>
+    .MCX 0
+    .ALD 24p
+</pre>
+</p>
+
+<p>
+The above advances to precisely 24 points below the baseline
+of the longest column.
+</p>
+
+<hr/>
+
+<!-- ==================================================================== -->
+
+<a name="INDENTS"><h2><u>Indents</u></h2></a>
+
+<p> With <strong>mom</strong>'s indents, you can indent from the
+left, the right, or both margins.  In addition, <strong>mom</strong>
+provides temporary left indents (i.e. only one line is indented, as
+at the start of a paragraph) and &quot;hanging&quot; left indents
+(the reverse of a temporary indent; the first line isn't indented,
+subsequent lines are).
+</p>
+
+<a name="INDENTS_TUT"><h3><u>A brief explanation of how mom handles 
indents</u></h3></a>
+
+<p>
+<strong>Mom</strong> provides five kinds of indents: left, right,
+both, temporary, and hanging.  Each is invoked by its own name:
+
+<ul>
+    <li><strong>IL</strong> (<strong>I</strong>ndent 
<strong>L</strong>eft)</li>
+    <li><strong>IR</strong> (<strong>I</strong>ndent 
<strong>R</strong>ight)</li>
+    <li><strong>IB</strong> (<strong>I</strong>ndent 
<strong>B</strong>oth)</li>
+    <li><strong>HI</strong> (<strong>H</strong>anging 
<strong>I</strong>ndent)</li>
+    <li><strong>TI</strong> (<strong>T</strong>emporary 
<strong>I</strong>ndent)</li>
+</ul>
+</p>
+
+<p>
+In addition, there are four macros to control exiting from
+indents:
+
+<ul>
+    <li><strong>IQ</strong> (quit all active indents)</li>
+    <li><strong>ILX</strong> (exit indent style left)</li>
+    <li><strong>IRX</strong> (exit indent style right)</li>
+    <li><strong>IBX</strong> (exit indent style both)</li>
+</ul>
+</p>
+
+<p>
+This section deals exclusively with <strong>IL, IR</strong> and
+<strong>IB</strong>.  For an explanation of hanging and temporary
+indents &mdash; how they work and how to use them &mdash; see
+<a href="#HI">Hanging indents</a>
+and
+<a href="#TI">Temporary indents</a>.
+</p>
+
+<p>
+The first time you invoke any of <strong>mom</strong>'s indents,
+you must supply a measure.  For example,
+
+<pre>
+    .IL 2P
+</pre>
+
+indents text 2 picas from the left margin (or current tab
+indent).
+</p>
+
+<p>
+When you want to exit the above indent, use either
+
+<pre>
+    .IQ
+     or
+    .ILX
+</pre>
+</p>
+
+<p>
+The next time you want the same indent, invoke it without the
+argument, like this:
+
+<pre>
+    .IL
+</pre>
+</p>
+
+<p>
+As you can see, once you've supplied a measure to an indent macro
+<strong>mom</strong> stores the value, obviating the need to repeat
+it on subsequent invocations.  And <strong>mom</strong> doesn't just
+store the measure &mdash; she hangs on to it tenaciously.  Arguments
+passed to <strong>IL, IR</strong> and <strong>IB</strong> are
+additive.  Consider the following:
+
+<pre>
+    .LL 20P
+    .IR 2P    \"Indent right by 2 picas
+    A first block of text...
+    ...
+    ...
+    .IQ       \"Turn indent off
+    A second block of text...
+    ...
+    ...
+    .IR 2P    \"Indent right by an additional 2 picas (i.e. 4 picas)
+    A third block of text...
+    ...
+    ...
+</pre>
+</p>
+
+<p>
+The first block of text is right indented by 2 picas (i.e. the line
+length is shortened by 2 picas to 18 picas).  The second block of
+text, after <strong>IQ</strong>, is, as you'd expect, set to the
+full measure.  The third block of text &mdash; the one to pay attention
+to &mdash; is not right indented by 2 picas, but rather by 4 picas.
+<strong>Mom</strong> adds the value of arguments to <strong>IL,
+IR</strong> and <strong>IB</strong> to whatever value is already in
+effect.
+</p>
+
+<p>
+If you wanted the third block of text in the example above to be
+right indented by just 2 picas (the original measure given to
+<strong>IR</strong>), you would enter <kbd>.IR</kbd> without an
+argument.
+</p>
+
+<p>
+Because indent arguments are additive, putting a minus sign in front
+of the argument can be used to subtract from the current value.
+In the following example, the first line is indented 18 points,
+the second is indented 36 points (18+18), and the third is again
+indented 18 points (36-18).
+
+<pre>
+    .IL 18p     \"Indent left by 18 points      = 18 points
+    Now is the time
+    .IL 18p     \"Indent left by 18 points more = 36 points
+    for all good men to come
+    .IL -18p    \"Indent left by 18 points less = 18 points
+    to the aid of the party.
+</pre>
+</p>
+
+<p>
+Sometimes, you may want to clear out the stored indent values
+&mdash; let <strong>mom</strong> start indenting with a clean slate,
+as it were.  Giving the optional argument <kbd>CLEAR</kbd> to any of
+the &quot;indent quit&quot; macros resets them to zero.
+
+<ul>
+    <li><strong>IQ CLEAR</strong> (quit and clear all indents)</li>
+    <li><strong>ILX CLEAR</strong> (quit and clear indent style left)</li>
+    <li><strong>IRX CLEAR</strong> (quit and clear indent style right)</li>
+    <li><strong>IBX CLEAR</strong> (quit and clear indent style both)</li>
+</ul>
+</p>
+
+<p>
+Indent styles may be combined and manipulated separately.  You could,
+for example, have a left indent of 4 picas and a right indent of 6
+picas and control each separately, as in the following example.
+
+<pre>
+    .IL 4P     \"Indent left 4 picas
+    .IR 6P     \"Indent right 6 picas
+    Some text
+    .IRX       \"Turn off the right indent only
+    More text  \"Text is still indented 4 picas left
+</pre>
+</p>
+
+<p>
+If, at <kbd>.IRX</kbd>, you wanted the text afterwards to have no
+indents (either left or right), you would enter <kbd>.IQ</kbd>,
+which exits all indent styles at once.
+</p>
+
+<p>
+<strong>A word of advice:</strong> Indents are best used only
+when you have a compelling reason not to change the current left
+margin or line length.  In many instances where indents might
+seem expedient, it's better to use tabs, or actually change the
+left margin or the line length. <strong>Mom</strong>'s indenting
+macros are flexible and powerful, but easy to get tangled up
+in.  Personally, I don't use them much, except for cutarounds and
+multi-level lists à la html, at which they excel.
+</p>
+
+<p>
+<strong>NOTE:</strong> see the section
+<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document 
Processing</a>
+for information and advice on using indents with the
+<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
+</p>
+
+<a name="INDEX_INDENTS"><h3><u>Indents macro list</u></h3></a>
+
+<ul>
+    <li><a href="#IL">IL</a> (Indent left)</li>
+    <li><a href="#IR">IR</a> (Indent right)</li>
+    <li><a href="#IB">IB</a> (Indent both)</li>
+    <li><a href="#TI">TI</a> (Temporary indent, left)</li>
+    <li><a href="#HI">HI</a> (Hanging Indent)</li>
+    <ul>
+        <li><a href="#NUM_LISTS">A recipe for numbered lists</a></li>
+    </ul>
+    <li><a href="#IQ">IQ</a> (Quit indents, all)</li>
+    <li><a href="#IQ">ILX</a> (Exit indent style left)</li>
+    <li><a href="#IQ">IRX</a> (Exit indent style right)</li>
+    <li><a href="#IQ">IBX</a> (Exit indent style both)</li>
+</ul>
+
+<!-- -IL- -->
+
+<hr width="66%" align="left"/>
+
+<a name="IL"><h3><u>Indent left</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>IL</strong> <kbd>[ &lt;measure&gt; ]</kbd></nobr>
+
+<br/>
+<em>*The optional argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+<strong>IL</strong> indents text from the left margin of the
+page, or if you're in a tab, from the left edge of the tab.  Once
+<strong>IL</strong> is on, the left indent is applied uniformly to
+every subsequent line of text, even if you change the line length.
+</p>
+
+<p>
+The first time you invoke <kbd>.IL</kbd>, you must give it a
+measure.  Subsequent invocations with a measure add to the previous
+measure.  A minus sign may be prepended to the argument to subtract
+from the current measure.  The
+<a href="inlines.html#INLINE_STRINGWIDTH_GROFF"><kbd>\w</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+may be used to specify a text-dependent measure, in which case
+no unit of measure is required.  For example,
+
+<pre>
+    .IL \w'margarine'
+</pre>
+
+indents text by the width of the word &quot;margarine&quot;.
+</p>
+
+<p>
+With no argument, <strong>IL</strong> indents by its last
+active value.  See the
+<a href="#INDENTS_TUT">brief explanation of how mom handles indents</a>
+for more details.
+</p>
+
+<p>
+<strong>NOTE:</strong> Calling a tab (with
+<a href="#TAB">TAB</a>)
+automatically cancels any active indents.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Invoking <strong>IL</strong>
+automatically turns off <strong>IB</strong>.
+</p>
+
+<!-- -IR- -->
+
+<hr width="33%" align="left"/>
+
+<a name="IR"><h3><u>Indent right</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>IR</strong> <kbd>[ &lt;measure&gt; ]</kbd></nobr>
+<br/>
+
+<em>*The optional argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+<strong>IR</strong> indents text from the right margin of the
+page, or if you're in a tab, from the end of the tab.
+</p>
+
+<p>
+The first time you invoke <kbd>.IR</kbd>, you must give it a
+measure.  Subsequent invocations with a measure add to the previous
+indent measure.  A minus sign may be prepended to the argument to
+subtract from the current indent measure.  The
+<a href="inlines.html#INLINE_STRINGWIDTH_GROFF"><kbd>\w</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+may be used to specify a text-dependent measure, in which case
+no unit of measure is required.  For example,
+
+<pre>
+    .IR \w'jello'
+</pre>
+
+indents text by the width of the word &quot;jello&quot;.
+</p>
+
+<p>
+With no argument, <strong>IR</strong> indents by its last
+active value.  See the
+<a href="#INDENTS_TUT">brief explanation of how mom handles indents</a>
+for more details.
+</p>
+
+<p>
+<strong>NOTE:</strong> Calling a tab (with
+<a href="#TAB">TAB</a>)
+automatically cancels any active indents.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Invoking <strong>IR</strong>
+automatically turns off <strong>IB</strong>.
+</p>
+
+<!-- -IB- -->
+
+<hr width="33%" align="left"/>
+
+<a name="IB"><h3><u>Indent both</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>IB</strong> <kbd>[ &lt;left measure&gt; &lt;right 
measure&gt; ]</kbd></nobr>
+<br/>
+
+<em>*The optional arguments require a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+<strong>IB</strong> allows you to set or invoke a left and a right
+indent at the same time.
+</p>
+
+<p>
+At its first invocation, you must supply a measure for both
+indents; at subsequent invocations when you wish to supply a
+measure, both must be given again.  As with <strong>IL</strong> and
+<strong>IR</strong>, the measures are added to the values previously
+passed to the macro.  Hence, if you wish to change just one of the
+values, you must give an argument of zero to the other.
+</p>
+
+<p>
+<strong>A word of advice:</strong> If you need to manipulate
+left and right indents separately, use a combination of
+<strong>IL</strong> and <strong>IR</strong> instead of
+<strong>IB</strong>.  You'll save yourself a lot of grief.
+</p>
+
+<p>
+A minus sign may be prepended to the arguments to subtract from
+their current values.  The
+<a href="inlines.html#INLINE_STRINGWIDTH_GROFF"><kbd>\w</kbd></a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
+may be used to specify text-dependent measures, in which case
+no unit of measure is required.  For example,
+
+<pre>
+    .IB \w'margarine' \w'jello'
+</pre>
+
+left indents text by the width of the word &quot;margarine&quot;
+and right indents by the width of &quot;jello&quot;.
+</p>
+
+<p>
+Like <strong>IL</strong> and <strong>IR</strong>, <strong>IB</strong>
+with no argument indents by its last active values.  See the
+<a href="#INDENTS_TUT">brief explanation of how mom handles indents</a>
+for more details.
+</p>
+
+<p>
+<strong>NOTE:</strong> Calling a tab (with
+<a href="#TAB">TAB</a>)
+automatically cancels any active indents.
+</p>
+
+<p>
+<strong>ADDITIONAL NOTE:</strong> Invoking <strong>IB</strong>
+automatically turns off <strong>IL</strong> and
+<strong>IR</strong>.
+</p>
+
+<!-- -TI- -->
+
+<hr width="33%" align="left"/>
+
+<a name="TI"><h3><u>Temporary (left) indent</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>TI</strong> <kbd>[ &lt;measure&gt; ]</kbd></nobr>
+<br/>
+
+<em>*The optional argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+A temporary indent is one that applies only to the first line of
+text that comes after it.  Its chief use is indenting the first
+line of paragraphs.  (<strong>Mom</strong>'s
+<a href="docelement.html#PP">PP</a>
+macro, for example, uses a temporary indent.)
+</p>
+
+<p>
+The first time you invoke <kbd>.TI</kbd>, you must give it
+a measure.  If you want to indent the first line of a
+paragraph by, say, 2
+<a href="definitions.html#TERMS_EM">ems</a>,
+do
+
+<pre>
+    .TI 2m
+</pre>
+</p>
+
+<p>
+Subsequent invocations of <strong>TI</strong> do not require you
+to supply a measure; <strong>mom</strong> keeps track of the
+last measure you gave it.
+</p>
+
+<p>
+Because temporary indents are temporary, there's no need to turn
+them off.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> Unlike <strong>IL, IR</strong> and
+<strong>IB</strong>, measures given to <strong>TI</strong>
+are NOT additive.  In the following example, the second <kbd>.TI
+2P</kbd> is exactly 2 picas.
+
+<pre>
+    .TI 1P
+    The beginning of a paragraph...
+    .TI 2P
+    The beginning of another paragraph...
+</pre>
+</p>
+
+<!-- -HI- -->
+
+<hr width="66%" align="left"/>
+
+<a name="HI"><h3><u>Hanging indent</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>HI</strong> <kbd>[ &lt;measure&gt; ]</kbd></nobr>
+<br/>
+
+<em>*The optional argument requires a <a 
href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
+</p>
+
+<p>
+A hanging indent looks like this:
+
+<pre>
+    The thousand injuries of Fortunato I had borne as best I
+        could, but when he ventured upon insult, I vowed
+        revenge.  You who so well know the nature of my soul
+        will not suppose, however, that I gave utterance to a
+        threat, at length I would be avenged...
+</pre>
+</p>
+
+<p>
+The first line of text &quot;hangs&quot; outside the left
+margin.
+</p>
+
+<p>
+In order to use hanging indents, you must first have a left indent
+active (set with either
+<a href="#IL">IL</a>
+or
+<a href="#IB">IB</a>).
+<strong>Mom</strong> will not hang text outside the left margin set with
+<a href="#L_MARGIN">L_MARGIN</a>
+or outside the left margin of a tab.
+</p>
+
+<p>
+The first time you invoke <kbd>.HI</kbd>, you must give it
+a measure.  If you want the first line of a paragraph to hang by,
+say, 1 pica, do
+
+<pre>
+    .IL 1P
+    .HI 1P
+</pre>
+</p>
+
+<p>
+Subsequent invocations of <strong>HI</strong> do not require you
+to supply a measure; <strong>mom</strong> keeps track of the
+last measure you gave it.
+</p>
+
+<p>
+Generally speaking, you should invoke <strong>HI</strong>
+immediately prior to the line you want hung (i.e. without any
+intervening
+<a href="definitions.html#TERMS_CONTROLLINES">control lines</a>).
+And because hanging indents affect only one line, there's no need to
+turn them off.
+</p>
+
+<a name="NUM_LISTS"><h4><u>A recipe for numbered lists</u></h4></a>
+
+<p>
+<strong>PLEASE NOTE: mom</strong> now has macros for setting lists (see
+<a href="docelement.html#LIST_INTRO">Nested lists</a>),
+making this recipe superfluous.  It remains here in the hope that
+it will clarify the use of hanging indents generally, if no longer
+specifically.
+</p>
+
+<p>
+Consider the following example:
+
+<pre>
+    .PAGE 8.5i 11i 1i 1i 1i 1i
+    .FAMILY  T
+    .FT      R
+    .PT_SIZE 12
+    .LS      14
+    .JUSTIFY
+    .KERN
+    .SS 0
+    .IL \w'\0\0.'    \"Indent left by 2 figure spaces and a period
+    .HI \w'\0\0.'    \"Hang first line of text back by 2 figure spaces and a 
period
+    1.\0The most important point to be considered is whether the
+    answer to the meaning of life, the universe, and everything
+    really is 42.  We have no-one's word on the subject except
+    Mr. Adams'.
+    .HI
+    2.\0If the answer to the meaning of life, the universe,
+    and everything is indeed 42, what impact does this have on
+    the politics of representation?  42 is, after all not a
+    prime number.  Are we to infer that prime numbers don't
+    deserve equal rights and equal access in the universe?
+    .HI
+    3.\0If 42 is deemed non-exclusionary, how do we present it
+    as the answer and, at the same time, forestall debate on its
+    exclusionary implications?
+</pre>
+</p>
+
+<p>
+First, we invoke a left indent with a measure equal to the width
+of 2
+<a href="definitions.html#TERMS_FIGURESPACE">figures spaces</a>
+plus a period (using the
+<a href="inlines.html#INLINE_STRINGWIDTH_GROFF"><kbd>\w</kbd></a>
+inline escape).  At this point, the left indent is active; text
+afterwards would normally be indented.  However, we invoke a hanging
+indent of exactly the same width, which hangs the first line (and
+first line only!) to the left of the indent by the same distance (in
+this case, that means &quot;out to the left margin&quot;).  Because
+we begin the first line with a number, a period, and a figure space,
+the actual text (&quot;The most important point...&quot;) starts at
+exactly the same spot as the indented lines that follow.
+</p>
+
+<p>
+Notice that subsequent invocations of <kbd>.HI</kbd> without a
+measure produce exactly the same effect.
+</p>
+
+<p>
+Paste the example above into a file and preview it with <kbd>groff
+- mom -X &lt;filename&gt;</kbd> to see hanging indents in action.
+</p>
+
+<p>
+<strong>IMPORTANT:</strong> Unlike <strong>IL, IR</strong> and
+<strong>IB</strong>, measures given to <strong>HI</strong>
+are NOT additive.  Each time you pass a measure to
+<strong>HI</strong>, the measure is treated literally.
+</p>
+
+<!-- -IX- -->
+
+<hr width="33%" align="left"/>
+
+<a name="IQ"><h3><u>Quitting indents</u></h3></a>
+
+<p>
+<nobr>Macro: <strong>IQ</strong> <kbd>[ CLEAR ]</kbd> (quit any/all indents 
&mdash; see <strong>IMPORTANT NOTE</strong>)</nobr>
+<br/>
+
+<nobr>Macro: <strong>ILX</strong> <kbd>[ CLEAR ]</kbd> (exit 
<strong>I</strong>ndent <strong>L</strong>eft)</nobr>
+<br/>
+
+<nobr>Macro: <strong>IRX</strong> <kbd>[ CLEAR ]</kbd> (exit 
<strong>I</strong>ndent <strong>R</strong>ight)</nobr>
+<br/>
+
+<nobr>Macro: <strong>IBX</strong> <kbd>[ CLEAR ]</kbd> (exit 
<strong>I</strong>ndent <strong>B</strong>oth)</nobr>
+</p>
+
+<p>
+<strong>*IMPORTANT NOTE:</strong> <em>Formerly, the macro for
+quitting all indents was</em> <strong>IX</strong><em>.  This usage
+is now deprecated, in favour of</em> <strong>IQ</strong><em>.</em>
+<strong>IX</strong> <em>will continue to behave as before, but</em>
+<strong>mom</strong> <em>will issue a warning to stderr indicating
+that you should update your documents.</em>
+</p>
+
+<p>
+<em>As a consequence of this change,</em> <strong>ILX, IRX</strong>
+<em>and</em> <strong>IBX</strong> <em>may now also be
+invoked as</em> <strong>ILQ, IRQ</strong> <em>and</em>
+<strong>IBQ</strong><em>.  Both forms are acceptable.</em>
+</p>
+
+<p>
+Without an argument, the macros to quit indents merely restore your
+original margins and line length.  The measures stored in the indent
+macros themselves are saved so you can call them again without
+having to supply a measure.
+</p>
+
+<p>
+If you pass these macros the optional argument <kbd>CLEAR</kbd>,
+they not only restore your original left margin and line length, but
+also clear any values associated with a particular indent style.
+The next time you need an indent of the same style, you have to
+supply a measure again.
+</p>
+
+<p>
+<kbd>.IQ CLEAR</kbd>, as you'd suspect, quits and clears the values
+for all indent styles at once.
+</p>
+
+<hr/>
+
+<p>
+<a href="goodies.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="definitions.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+
+<!-- vim: fileencoding=latin1: nomodified:
+-->

Index: using.html
===================================================================
RCS file: using.html
diff -N using.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ using.html  1 Aug 2006 01:14:08 -0000       1.9
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+<title>Using mom</title>
+</head>
+<body bgcolor="#dfdfdf">
+
+<!-- ==================================================================== -->
+
+<a name="TOP"></a>
+
+<p>
+<a href="typesetting.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="definitions.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+<a name="USING"><h1 align="center"><u>Using mom</u></h1></a>
+
+<p>
+<a href="#USING_INTRO">Introduction</a>
+<br/>
+<a href="#USING_MACROS">Inputting macros</a>
+<br/>
+<a href="#USING_INVOKING">Invoking groff</a>
+<br/>
+<a href="#USING_PREVIEWING">Previewing documents</a>
+</p>
+
+<hr/>
+
+<h2><a name="USING_INTRO"><u>Introduction</u></a></h2>
+
+<p>
+As explained in the section
+<a href="intro.html#INTRO">What is mom?</a>,
+<strong>mom</strong> can be used in two ways: for straight
+typesetting or for document processing.  The difference between
+the two is that in straight typesetting, every macro is a literal
+typesetting instruction that determines precisely how text
+following it will look.  Document processing, on the other hand,
+uses markup &quot;tags&quot; (e.g. <kbd>.PP</kbd> for paragraphs,
+<kbd>.HEAD</kbd> for heads, <kbd>.FOOTNOTE</kbd> for footnotes,
+etc.) that make a lot of typesetting decisions automatically.
+</p>
+
+<p>
+You tell <strong>mom</strong> that you want to use the document
+processing macros with the
+<a href="docprocessing.html#START">START</a>
+macro, explained below.  After <strong>START</strong>,
+<strong>mom</strong> determines the appearance of text following
+the markup tags automatically, although you, the user, can easily
+change how <strong>mom</strong> interprets the tags.  This gives you
+nearly complete control over document design.  In addition, the
+typesetting macros, in combination with document processing, let you
+meet all sorts of typesetting needs that just can't be covered by
+&quot;one macro fits all&quot; markup tags.
+</p>
+
+<a name="USING_MACROS"><h2><u>How to input mom's macros</u></h2></a>
+
+<p>
+Regardless of which way you use <strong>mom</strong>, the
+following apply.
+</p>
+
+<ol>
+    <li>
+    You need a good text editor for inputting
+    <strong>mom</strong> files.
+
+    <p>
+    I cannot recommend highly enough that you use an
+    editor that lets you write syntax highlighting
+    rules for <strong>mom</strong>'s macros and
+    <a href="definitions.html#TERMS_INLINES">inline escapes</a>.
+    I use the vi clone called elvis, and find it a pure
+    joy in this regard.  Simply colourizing macros and
+    inlines to half-intensity can be enough to make text stand
+    out clearly from formatting commands.
+    </p>
+
+    </li>
+
+    <li>
+    All <strong>mom</strong>'s macros begin with a period
+    (dot) and must be entered in upper case (capital)
+    letters.
+    </li>
+
+    <li>
+    Macro
+    <a href="definitions.html#TERMS_ARGUMENTS">arguments</a>
+    are separated from the macro itself by spaces.  Multiple
+    arguments to the same macro are separated from each
+    other by spaces.  Any number of spaces may be used.  All
+    arguments to a macro must appear on the same line as the
+    macro.
+    </li>
+
+    <li>
+    Any argument (except a
+    <a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>)
+    that is not a digit must be entered in upper case
+    (capital) letters.
+    </li>
+
+    <li>
+    Any argument that requires a plus or minus sign must
+    have the plus or minus sign prepended to the argument
+    with no intervening space (e.g. <kbd>+2, -4</kbd>).
+    </li>
+
+    <li>
+    Any argument that requires a
+    <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
+    must have the unit appended directly to the argument, with
+    no intervening space (e.g. <kbd>4P, .5i, 2v</kbd>).
+    </li>
+
+    <li>
+    <a href="definitions.html#TERMS_STRINGARGUMENT">String arguments</a>,
+    in the sense that the term is used in this manual, must
+    be surrounded by double-quotes (&quot;text of
+    string&quot;).  Multiple string arguments are separated
+    from each other by spaces (each argument surrounded by
+    double-quotes, of course).
+    </li>
+
+    <li>
+    If a string argument, as entered in your text editor,
+    becomes uncomfortably long (i.e. runs longer than the
+    visible portion of your screen or window), you may break
+    it into two or more lines by placing the backslash
+    character (<kbd>\</kbd>) at the ends of lines to break
+    them up, like this:
+
+    <pre>
+    .SUBTITLE "An In-Depth Consideration of the \
+    Implications of Forty-Two as the Meaning of Life, \
+    The Universe, and Everything"
+    </pre>
+    </li>
+</ol>
+
+<p>
+It's important that formatted documents be easy to read/interpret
+when you're looking at them in a text editor.  One way to achieve
+this is to group macros that serve a similar purpose together, and
+separate them from other groups of macros with a blank comment
+line.  In groff, that's done with <kbd>\#</kbd> on a line by itself.
+Consider the following, which is a template for starting the chapter
+of a book.
+
+<pre>
+    .TITLE   "My Pulitzer Novel"
+    .AUTHOR  "Joe Blow"
+    .CHAPTER  1
+    \#
+    .DOCTYPE    CHAPTER
+    .PRINTSTYLE TYPESET
+    \#
+    .FAM     P
+    .PT_SIZE 10
+    .LS      12
+    \#
+    .START
+</pre>
+</p>
+
+<a name="USING_INVOKING"><h2><u>Printing &mdash; invoking groff with 
mom</u></h2></a>
+
+<p>
+After you've finished your document, naturally you will want to
+print it.  This involves invoking groff from the command line.  In
+all likelihood, you already know how to do this, but in case you
+don't, here are two common ways to do it.
+
+<pre>
+    groff -mom -l &lt;filename&gt;
+    groff -mom &lt;filename&gt; | lpr
+</pre>
+</p>
+
+<p>
+In the first, the <kbd>-l</kbd> option to groff tells groff to
+send the output to your printer.  In the second, you're doing the
+same thing, except you're telling groff to pipe the output to your
+printer.  Basically, they're the same thing.  The only advantage to
+the second is that your system may be set up to use something other
+than <strong>lpr</strong> as your print command, in which case, you
+can replace <kbd>lpr</kbd> with whatever is appropriate to your box.
+</p>
+
+<p>
+Sadly, it is well beyond the scope of this manual to tell you
+how to set up a printing system.  See the README file for
+minimum requirements to run groff with <strong>mom</strong>.
+</p>
+
+<p>
+<strong>NOTE FOR ADVANCED USERS:</strong> I've sporadically
+had groff choke on perfectly innocent sourced files within
+<strong>mom</strong> documents.  You'll know you have this problem
+when groff complains that it can't find the sourced file even when
+you can plainly see that the file exists, and that you've given
+<kbd>.so</kbd> the right path and name.  Should this happen, pass
+groff the <kbd>-U</kbd> (unsafe mode) option along with the other
+options you require.  Theoretically, you only need <kbd>-U</kbd>
+with <kbd>.open, .opena, .pso, .sy,</kbd> and <kbd>.pi</kbd>,
+however reality seems, at times, to dictate otherwise.
+</p>
+
+<a name="USING_PREVIEWING"><h2><u>How to preview documents</u></h2></a>
+
+<p>
+Other than printing out hard copy, there are two well-established
+methods for previewing your work.  Both assume you have a working
+X server.
+</p>
+
+<p>
+Groff itself comes with a quick and dirty previewer called
+gxditview. Invoke it with
+
+<pre>
+    groff -X -mom filename
+</pre>
+
+It's not particularly pretty, doesn't have many navigation
+options, requires a lot of work if you want to use other than
+the &quot;standard&quot; groff PostScript fonts, and occasionally
+has difficulty accurately reproducing some of
+<strong>mom</strong>'s macro effects
+(<a href="goodies.html#SMARTQUOTES">smartquotes</a>
+and
+<a href="goodies.html#LEADER">leaders</a>
+come to mind).  What it does have going for it is that it's fast and
+doesn't gobble up system resources.
+</p>
+
+<p>
+A surer way to preview documents is with <strong>gv</strong>
+(ghostview).  This involves processing documents with groff,
+and directing the output to a PostScript file, like this,
+
+<pre>
+    groff -mom filename &gt; filename.ps
+</pre>
+
+then opening the .ps file in <strong>gv</strong>.
+</p>
+
+<p>
+While that may sound like a lot of work, I've set up my editor
+(elvis) to do it for me.  Whenever I'm working on a document that
+needs previewing/checking, I fire up <strong>gv</strong> with the
+&quot;Watch File&quot; option turned on.  To look at the file, I
+tell elvis to process it (with groff) and send it to a temporary
+file (<kbd>groff -mom filename &gt; filename.ps</kbd>), then open
+the file inside <strong>gv</strong>.  Ever after, when I want to
+look at any changes I make, I simply tell elvis to work his magic
+again.  The Watch File option in <strong>gv</strong> registers that
+the file has changed, and automatically loads the new version.
+Voilà! &mdash; instant previewing.
+</p>
+
+<hr/>
+
+<p>
+<a href="typesetting.html#TOP">Next</a>&nbsp;&nbsp;
+<a href="definitions.html#TOP">Prev</a>&nbsp;&nbsp;
+<a href="#TOP">Top</a>&nbsp;&nbsp;
+<a href="toc.html">Back to Table of Contents</a>
+</p>
+
+</body>
+</html>
+<!-- vim: fileencoding=latin1: nomodified:
+-->




reply via email to

[Prev in Thread] Current Thread [Next in Thread]