Mom -- Writing letters

Back to Table of Contents | Next: Quick reference guide

# Writing letters

- Introduction
- Tutorial
- Mom’s default letter style
- The letter macros

## Introduction

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.

### Tutorial – writing letters

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

Letters are concluded with the CLOSING macro. If you want a complimentary closing (“Yours truly,” “Sincerely,” “Hugs and kisses”), invoke CLOSING on a line by itself and follow it with the text of the closing. N.B. Don’t add your name; mom supplies it automatically (from AUTHOR), leaving room above it for your signature. If you'd prefer not to have a complimentary closing, place `\&` immediately underneath `.CLOSING`. Mom then just adds your name (from AUTHOR), again leaving room 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 .CC John Doe Jane Deere Joe Blough .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 .CC John Doe Jane Deere Joe Blough .DATE .RIGHT August 25, 2010 .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.

## Default letter style

In letters, if the order of header macros is

1. `.DATE`
2. `.TO` (the addressee)
3. `.FROM` (the addresser)
4. `.GREETING` (“Dear Whoever,” “To Whom It May Concern,” etc.)

Mom sets

- the date flush right, page right, at the top of page one, with a gap of two linespaces underneath
- the addressee (`.TO`) in a block flush left, page left, with a gap of one linespace underneath
- the addresser (`.FROM`) in a block flush left, page left, with a gap of one linespace underneath
- the greeting flush left, with a gap of one linespace underneath

which is the standard for North American business correspondence. The `.CC` macro, followed by a list of carbon copy recipients, may go anywhere before `.GREETING`

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

- the body of the letter justified
- in multi-page letters:
  - a footer indicating there’s a next page (of the form `.../#`)
  - the page number at the top of every page after page one
- the closing/signature lines flush left, indented halfway across the page

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

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 "next page" number of the form .../#

### The letter macros

All letter macros must come after START, except NO_SUITE, which must come after PRINTSTYLE and before START.

- DATE
- TO
- CC
- FROM
- GREETING
- CLOSING
  - CLOSING_INDENT
  - SIGNATURE_INDENT
- NO_SUITE – turn the “next page” footer off

Macro: DATE

Invoke `.DATE` on a line by itself, with the date underneath, like this:
.DATE October 31, 2024 You may also enter the date symbolically using groff’s .pso request and the system date command, like this:
.DATE .pso date "+%B %-e, %Y%n" Consult the date(1) manpage for details of date formatting. Note that you must pass pdfmom or groff the -U flag when you use the .pso request.

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

Macro: TO

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

Macro: CC

The `.CC` macro, invoked on a line by itself and followed by the names of carbon copy recipients, one to a line, creates a CC list that is set at the bottom of letters, underneath the signature line. If the list runs deep, mom shifts it to the next page.

Mom’s default is to introduce the list of CC recipients with `CC:`. The default can be changed with the CC_STRING macro, e.g.
.CC_STRING "Copies to:"

When setting up letter headers, the CC macro may go anywhere before GREETING.

Macro: FROM

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

Macro: GREETING

Invoke `.GREETING` on a line by itself, with the full salutation you want for the letter underneath, like this:
.GREETING Dear Mr. Smith,

Macro: CLOSING

Mom-formatted letters must end with `.CLOSING`. Follow it on the next line with your preferred complimentary closing (e.g. “Yours truly,”), like this:
.CLOSING Yours truly, If you’d rather not have a complimentary closing, follow `.CLOSING` with `\&` on a line by itself. Mom will still automatically supply the signature line, whose position you may want to adjust with SIGNATURE_SPACE.

CLOSING control macros and defaults
Two macros control the behaviour of `.CLOSING`:

- CLOSING_INDENT
- SIGNATURE_SPACE

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

Macro: NO_SUITE

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