| Back to Table of Contents | Next: Quick reference guide | 
Mom’s simple but effective letter-writing macros are a subset of the document processing macros, designed to ease the creation of correspondence.
Because the letter macros are a subset of the document processing macros, you can use control macros to design correspondence to your own specifications. However, mom 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.
Mom letters begin, like all mom-processed documents, with
reference macros
(in this case,
AUTHOR),
a
DOCTYPE
(LETTER, obviously), the essential
PRINTSTYLE
macro, and
START,
like this:
  .AUTHOR    "Yannick P. Guique"
  .DOCTYPE    LETTER
  .PRINTSTYLE TYPESET
  .START
PRINTSTYLE, above, could also be TYPEWRITE. Mom has no
objection to creating letters that look like they were typed on an
Underwood by a shapely secretary with 1940s gams.
Please note that if you choose PRINTSTYLE TYPEWRITE, there’s no need to give the SINGLESPACE option, as this is the unalterable default for letters.
After the START 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. “Dear Mr. Smith,” or “Dear Mr. Smith:”).
The macros for entering the headers are simple (they’re not even
toggles):
  .DATE
  .TO
  .FROM
  .GREETING
You may enter them in any order you like, except for GREETING, which
must come last.  Mom ignores any headers you omit and spaces the
letter’s opening according to what you do include.  See
Default for letters
to find out how mom formats the headers.
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 PP macro.
At the end of the letter, should you wish a closing (“Yours truly,” “Sincerely,” “Hugs and kisses”), invoke the macro .CLOSING on a line by itself, and follow it with the text of the closing. N.B. Don’t put your name here; mom supplies it automatically from AUTHOR), with enough space to leave room for your signature. If you omit the closing, mom simply adds your name (from AUTHOR), again with enough space for your signature.
Assuming our tutorial letter is for business correspondence,
here’s what the complete letter looks like.
  .AUTHOR    "Yannick P. Guique"
  .DOCTYPE    LETTER
  .PRINTSTYLE TYPESET
  .START
  .DATE
  August 25, 2010
  .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 once again been
  lobbying the US government to prohibit the use of open source
  software by endeavouring to outlaw so-called "warranty
  free" applications.
  .PP
  I feel it is my duty to inform you that the success of your
  operating system relies heavily on open source programs and
  protocols, 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,
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:
  .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,
Notice the use of .RIGHT after .FROM and
.DATE in this example, used to change the default quad
for these macros.
In letters, if the order of header macros is
mom sets
which is the standard for North American business correspondence.
If you switch the order of .DATE, .TO and/or .FROM, mom 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 .RIGHT macro, on a line by itself, immediately before inputting the text of the header.)
Following the headers, mom sets
Other important style defaults are listed below, and may be changed via the typesetting macros or the document processing control macros prior to START. Assume that any style parameter not listed below is the same as for any document processed with PRINTSTYLE TYPESET or PRINTSTYLE TYPEWRITE.
All letter macros must come after START, except NO_SUITE, which must come after PRINTSTYLE and before START.
Invoke .DATE on a line by itself, with the date
underneath, like this:
  .DATE
  October 31, 2012
If you wish to change the default quad direction for the date,
enter .LEFT or .RIGHT, on a line by itself,
immediately after .DATE.
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:
  .DATE
  October 31, 2012
  .SPACE  \"Or, more simply, .SP
If you wish to remove the default space,
  .SPACE -1v  \"Or, more simply, .SP -1v
will do the trick.
Invoke .TO on a line by itself, with the name and address
of the addressee underneath, like this:
  .TO
  JOHN SMITH
  10 Roberts Crescent
  Bramladesh, Ont.
If you wish to change the default quad direction for the address,
enter .LEFT or .RIGHT, on a line by itself,
immediately after .TO.
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:
  .TO
  JOHN SMITH
  10 Roberts Crescent
  Bramladesh, Ont.
  .SPACE  \"Or, more simply, .SP
If you wish to remove the default space,
  .SPACE -1v  \"Or, more simply, .SP -1v
will do the trick.
Invoke .FROM on a line by itself, with the name and
address of the addresser underneath, like this:
  .FROM
  JOE BLOW
  15 Brunette Road
  Ste-Vieille-Andouille, Québec
If you wish to change the default quad direction for the address,
enter .LEFT or .RIGHT, on a line by itself,
immediately after .FROM.
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:
  .FROM
  JOE BLOW
  15 Brunette Road
  Ste-Vieille-Andouille, Québec
  .SPACE  \"Or, more simply, .SP
If you wish to remove the default space,
  .SPACE -1v  \"Or, more simply, .SP -1v
will do the trick.
Invoke .GREETING on a line by itself, with the full
salutation you want for the letter underneath, like this:
  .GREETING
  Dear Mr. Smith,
Invoke .CLOSING on a line by itself after the body of
the letter, with the closing you’d like (e.g. “Yours
truly,”) underneath, like this:
  .CLOSING
  Yours truly,
CLOSING control macros and defaults
Two macros control the behaviour of .CLOSING:
The first, CLOSING_INDENT, indicates the distance from the left
margin you’d like to have your closing indented.  It takes a
single
numeric argument
and must have a
unit of measure
appended to it, unless you want an indent of 0 (zero).  Mom’s
default is one half the width of the letter’s line length
(i.e. halfway across the page).  If you wanted, instead, an indent of
6
picas,
you’d do it like this:
  .CLOSING_INDENT 6P
Or, if you wanted to have no indent at all:
  .CLOSING_INDENT 0
The second, SIGNATURE_SPACE, controls how much room to leave for the
signature.  It takes a single
numeric argument
and must have a
unit of measure
appended to it.  Mom’s default is 3 line spaces, but if you
wanted to change that to, say, 2 line spaces, you’d do:
  .SIGNATURE_SPACE 2v
If you don’t want mom to print a “next page” number at the bottom of multi-page letters, invoke .NO_SUITE, on a line by itself, prior to START.
| Back to Table of Contents | Top | Next: Quick reference guide |