using.html#TOP
Next
intro.html#TOP
Prev
toc.html
Back to Table of Contents
DEFINITIONS OF TERMS USED IN THIS MANUAL
#TERMS_TYPESETTING
Typesetting Terms
#TERMS_GROFF
Groff Terms
#TERMS_MOM
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.  Words in these definitions that
are defined elsewhere in this section are marked with asterisks.
Typesetting terms
#TERMS_ASCENDER
Ascender
#TERMS_BASELINE
Baseline
#TERMS_BALLOTBOX
Ballot box
#TERMS_BULLET
Bullet
#TERMS_CAPHEIGHT
Cap-height
#TERMS_DESCENDER
Descender
#TERMS_DISCRETIONARYHYPHEN
Discretionary hyphen
#TERMS_DROPCAP
Drop cap
#TERMS_EM
Em/en
#TERMS_FAMILY
Family
#TERMS_FIGURESPACE
Figure space/Digit space
#TERMS_FIXEDWIDTHSPACE
Fixed width space
#TERMS_FONT
Font
#TERMS_FORCE
Force justify
#TERMS_JUST
Justify/justification
#TERMS_GUTTER
Gutter
#TERMS_KERN
Kerning
#TERMS_KERNUNIT
Kern Units
#TERMS_LEADING
Lead/leading
#TERMS_LEADER
Leaders
#TERMS_LIGATURES
Ligature
#TERMS_PICASPOINTS
Picas/Points
#TERMS_PS
Point Size
#TERMS_QUAD
Quad
#TERMS_RAG
Rag
#TERMS_SOLID
Solid/set solid
#TERMS_TRACKKERNING
Track kerning/Line kerning
#TERMS_UNBREAKABLESPACE
Unbreakable space
#TERMS_WORDSPACE
Word space
#TERMS_XHEIGHT
x-height
Ascender
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.
Baseline
The imaginary line on which the bottoms of capital letters and the
bowls of lower case letters rest.
Ballot box
An unfilled square, usually
*cap-height
in size,
typically placed beside items in a checklist.
Bullet
A small, filled circle typically found beside items or points in
a list.
Cap-height
The height of the tallest capital letter in a given
*font
at the current
*point
size
.
Descender
The portion of a letter that extends beneath the
*baseline
(j, q, y are letters with descenders).
Discretionary hyphen
A symbol inserted between two syllables of a word that indicates to a
typesetting program the legal 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
\%
(backslash followed by a percent).
Drop cap
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 "drops" 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.
Em/en
A relative measurement equal to the width of the letter M at a
given
*point size
in a given
*font
.
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).
Family
The collective name by which a collection of
*fonts
are known, e.g.  Helvetica, Times Roman,
Garamond.
Figure space/Digit space
A
*fixed width space
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
\0
(backslash followed by a zero).
Fixed width space
Equal to
*word space
, but does not expand or
contract when text is
*justified
.  In groff, fixed
width space is entered with
\<space>
where <space> means "hit the spacebar on your keyboard."
Font
The specific style of type within a
*family
,
e.g. roman, italic.  Groff understands four fonts within any given
family: roman, italic, bold, and bold italic.
Force justify
Sometimes, in
*justified
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.
Gutter
The vertical whitespace separating columns of type.
Justify/justification
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
*quad
.
Kerning
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 morticed 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.
Kern Units
A relative distance equal to 1/36 of the current
*point size
.  Used between individual letters
for
*kerning
.  Different typesetting systems use
different values (1/54 is popular), and sometimes call kern units by
a different name.
Experts:
A kern unit has nothing to do with groff
machine units.
Lead/leading
The distance from the
*baseline
of one line of
type to the line of type immediately beneath it.  Pronounced "ledding."
Also called line spacing.  Usually measured in
*points
.
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.
Leaders
Single characters used to fill lines, usually to their end.
So called because they "lead" the eye from one element
of the page to another.  For example, in the following (brief)
Table of Contents, the periods (dots) are leaders.
Foreword............... 2
Chapter 1.............. 5
Chapter 2.............. 38
Chapter 3.............. 60
Ligature
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.
Picas/Points
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.
Point Size
The nominal size of type, measured in
*points
,
from the bottom of the longest
*descender
to the top
of the highest
*ascender
.  In reality, type is always
fractionally smaller than its point size.
Quad
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 center means neither the left
nor the right margin is flush; rather, lines of type are quadded on
both sides so that type appears centered on the page.
Rag
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
*quadded
left.
Solid/set solid
When no
*lead
is added between lines of type
(i.e. the
*point size
and linespacing are the
same), the lines are said to be "set solid."
Track kerning/Line kerning
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.
Unbreakable space
Equal to
*word space
, 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
should never be broken.  In groff, unbreakable space is entered with
\~
(backslash followed by a tilde).
Word space
The amount of whitespace between words.  When text is
*justified
, word space expands or contracts to make
the margins flush.
x-height
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.
Groff terms
#TERMS_ALIAS
Alias
#TERMS_ARGUMENTS
Arguments
#TERMS_COMMENTLINES
Comment lines
#TERMS_CONTROLLINES
Control Lines
#TERMS_FILLED
Filled lines
#TERMS_INLINES
Inline escapes
#TERMS_INPUTLINE
Input line
#TERMS_MACROS
Macros
#TERMS_UNITS
Machine units
#TERMS_NUMERICARGUMENT
Numeric argument
#TERMS_OUTPUTLINE
Output line
#TERMS_PRIMITIVES
Primitives
#TERMS_STRINGARGUMENT
String Argument
#TERMS_UNITOFMEASURE
Unit of measure
#TERMS_ZEROWIDTHCHARACTER
Zero-width character
Alias
A
*macro
invoked by a name different from its
"official" name.  For example, the official name of the
macro to change
*family
is
FAMILY
.
Its alias is
FAM
.  Aliases may be created for any
macro (via the
goodies.html#ALIAS
ALIAS
macro) provided the alias uses a name not already taken
by the
mom
macros or one of the groff
*primitives
.  For a complete list of alias names
you must not use, see the
reserved.html#RESERVED
list of reserved words
.
Arguments
Parameters or information needed by a
*macro
to do its job.  For example, in the macro
.PT_SIZE 12
"12" is the argument.  In the macro
.QUAD LEFT
LEFT is the argument.  Arguments are separated from macros by spaces.
Some macros require several arguments; each is separated by a space.
Comment Lines
*Input lines
introduced with the comment character
\#
When processing output, groff silently ignores everything on the
line after the comment character.
Control Lines
Instructions to groff that appear on a line by themselves,
which means that "control lines" are either
*macros
or
*groff primitives
.
Control lines begin with a period or, occasionally, an apostrophe.
Filled lines/fill mode
Automatic
*justification
or
*quadding
.  In fill mode, the ends of lines as they
appear in your text editor are ignored.  Instead, words from adjoining
*input lines
are added one at a time to the output
line until no more words fit.  Then, depending whether text is to
be
*justified
or
*quadded
(left,
right, or center), 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).
Nofill mode (non-filled text) means that groff respects the ends
of lines as they appear in your text editor.
Inline escapes
Instructions issued to groff that appear as part of an
*input line
(as opposed to
*macros
,
which must appear on a line by themselves).  Inline escapes are always
introduced by the backslash character.  For example,
A line of text with the word T\*[BU 2]oronto in it
contains 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'
Input line
A line of text as it appears in your text editor.
Macros
Instructions embedded in a document that determine how groff processes
the text for output.
mom
'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 -- behind
the scenes -- via groff
*primitives
.
Machine units
A machine unit is 1/1000 of a
*point
when the
groff device is ps.  ("ps" means "PostScript"  --
the default device for which groff prepares output, and the device for
which
mom
was specifically designed.)
Numeric argument
An
*argument
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
*unit of measure
,
a unit of measure must be appended to
every
digit in the
argument.  For example:
.ALD 1i-1v
NOTE:
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.
Output line
A line of text as it appears in output copy.
Primitives
The two-letter, lower case instructions groff uses as its
native command language, and out of which macros are built.
String Argument
Technically, any
*argument
that is not numeric.
In this documentation, string argument means an argument that requires
the user to input text.  For example, in the
*macro
.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 (").
Unit of measure
The single letter after a
*numeric argument
that tells
mom
what measurement scale the argument
should use.  Commonly valid units are:
i
=
inches
p
=
points
P
=
picas
c
=
centimeters
m
=
ems
n
=
ens
v
=
the current leading (line space)
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:
.ALD 2v
.LL  39P
.IL  1i
The 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.
Zero-width character
The
*inline escape
that allows you to print a
literal period, apostrophe and, if
*output lines
are
*filled
, a space that falls at the beginning of
an
*input line
.  It looks like this:
\&
(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 (ie. 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.
Mom's Document Processing Terms
#TERMS_BLOCKQUOTE
Blockquote
#TERMS_CONTROLMACRO
Control macro
#TERMS_DOCHEADER
Docheader
#TERMS_EPIGRAPH
Epigraph
#TERMS_FOOTER
Footer
#TERMS_HEAD
Head
#TERMS_HEADER
Header
#TERMS_LINEBREAK
Linebreak
#TERMS_PARAHEAD
Paragraph head
#TERMS_QUOTE
Quote
#TERMS_RUNNING
Running text
#TERMS_SUBHEAD
Subhead
#TERMS_TOGGLE
Toggle
Blockquote
Cited material other than
*quotes
.
Typically set at a smaller point size than paragraph text, indented
from the left and right margins.  Blockquotes are
*filled
.
Control macro
Macros used in
docprocessing.html#DOCPROCESSING
document processing
to control/alter the appearance of document elements (e.g. heads,
quotes, footnotes,
*headers
, etc.).
Document header/docheader
Document information (title, subtitle, author, etc) output
at the top of page one.
Epigraph
A short, usually cited passage that appears at the
beginning of a chapter, story, or other document.
Footer/page footer
Document information (frequently author and title) output in
the bottom margin of pages
after
page one.  Not to be
confused with footnotes, which are considered part of
*running text
.
Head
A title that introduces a major section of a document.
Header/page header
Document information (frequently author and title) output in
the top margin of pages
after
page one.
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.
Linebreak/author linebreak
A horizontal gap in
*running text
, 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).
Paragraph head
A title joined to the body of a paragraph; hierarchically one
level beneath
*subheads
.
Quote
A quote, to
mom
, 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
typesetting.html#BR
BR
with quotes.
Running text
In a document formatted with
mom
, running
text means text that forms the body of the document, including
elements such as heads and subheads.
*Docheaders,
*headers, *footers
and page numbers are NOT part of
running text.
Subhead
A title used to introduce secondary sections of a document;
hierarchically one level beneath sections introduced by
*heads
.
Toggle
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
intro.html#TOGGLE_EXAMPLE
Example 3
of the section
intro.html#MACRO_ARGS
How to read macro arguments
.
using.html#TOP
Next
intro.html#TOP
Prev
#TOP
Top
toc.html
Back to Table of Contents
