DEFINITIONS OF TERMS USED IN THIS MANUAL
Typesetting Terms
Groff Terms
Mom Document Processing Terms
I use a number of typesetting-specific and groff-specific terms throughout this documentation, as well as a few terms that apply to mom 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.
\%(backslash followed by a percent).
\0(backslash followed by a zero).
\<space>where <space> means "hit the spacebar on your keyboard."
Experts:
A kern unit has nothing to do with groff
machine units.
In case you're interested... In previous centuries, lines of type were separated by thin strips of--you guessed it--lead. Lines of type that had no lead between them were said to be "set solid." Once you began separating them with strips of lead, they were said to be "leaded", and the spacing was expressed in terms of the number of points of lead. For this reason, "leading" and "line spacing" 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.
Foreword............... 2 Chapter 1.............. 5 Chapter 2.............. 38 Chapter 3.............. 60
Some typical shapes are:
\~(backslash followed by a tilde).
.PT_SIZE 12"12" is the argument. In the macro
.QUAD LEFTLEFT is the argument. Arguments are separated from macros by spaces. Some macros require several arguments; each is separated by a space.
\#When processing output, groff silently ignores everything on a line that begins with the comment character.
Nofill mode (non-filled text) means that groff respects the ends of lines as they appear in your text editor.
A line of text with the word T\*[BU 2]oronto in itcontains the inline escape \*[BU 2] (which means "move the letter 'o' 2 kern units closer to the letter 'T'").
Mom's inline escapes always take the form \*[ESCAPE], where ESCAPE is composed of capital letters, sometimes followed immediately by a digit, sometimes followed by a space and a numeric argument. Groff's escapes begin with the backslash character but typically have no star and are in lower case. For example, the mom escapes to move forward 6 points on a line are either
\*[FP6] or \*[FWD 6p]while the groff escape for the same thing is
\h'6p'
.ALD 1i-1vNOTE: 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 mom's macros is slim.
.TITLE "My Pulitzer Novel""My Pulitzer Novel" is a string argument.
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 inline escapes \(lq and \(rq (leftquote and rightquote respectively) in place of the double-quote character (").
i | = | inches |
p | = | points |
P | = | picas |
c | = | centimetres |
m | = | ems |
n | = | ens |
v | = | the current leading (line space) |
.ALD 2v .LL 39P .IL 1iThe above example advances 2 line spaces and sets the line length to 39 picas with a left indent of 1 inch.
IMPORTANT: Most mom macros that set the size or measure of something MUST be given a unit of measure. mom's macros do not have default units of measure. There are a couple of exceptions, the most notable of which are PT_SIZE and LS. Both use points as the default unit of measure, which means you don't have to append "p" to their argument.
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).
NOTE: 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.
\&(backslash followed by an ampersand).
Normally, groff interprets a period (or an apostrophe) at the beginning of an input line as meaning that what follows is a control line. In fill modes, groff treats a space at the beginning of an input line as meaning "start a new line and put a space at the beginning of it." 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.
NOTE: In terms of content and style, headers and footers 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.