Bibliographies and references
Introduction to bibliographies and references
Mom provides the ability to format and generate bibliographies, as
well as footnote or endnote references, in MLA (Modern Language
Association) style. She accomplishes this by working in conjunction
with a special groff program called refer.
Refer requires first that you create a database of works
that will be cited in your documents. Once that’s done, special
macros let you briefly key in references to entries in the database
and have mom format them with respect to order, punctuation and
italicization in footnotes, endnotes, or a full bibliography.
Refer has been around for a long time. It’s
powerful and has many, many features. Unfortunately, the manpage
(man refer), while complete and accurate, is
dense and not a good introduction. (It’s a classic manpage
Catch-22: the manpage is useful only after you know how to use the
program.)
In order to get mom users up and running with refer,
this section of mom’s documentation focuses exclusively, in a
recipe-like manner, on what you need to know to use refer
satisfactorily in conjunction with mom. The instructions are not to
be taken as a manual on full refer usage.
If you’re already a refer user, the information
herein will be useful for adapting your current refer
usage to mom’s way of doing things. If you’ve never
used refer, the information is essential, and, in many
cases, may be all you need.
I encourage anyone interested in what MLA style looks
like—and, by extension, how your bibliographies and references
will look after mom formats them—to check out
http://www.aresearchguide.com/12biblio.html
or any other website or reference book on MLA style.
Tutorial on refer usage with mom
- Create a refer database
- Insert a refer block
- Tell mom where you want your references (if footnotes or endnotes)
- Accessing references in the database
- Entering footnote/endnote references
- Parenthetical insertions
- Generating a bibliography from parenthetical insertions
- Generating a comprehensive bibliography
- Invoking groff with mom and refer
1. Create a refer database
The first step in using refer with mom is creating a
database. The database is a text file containing entries for the
works you will be citing. You may set up separate databases for
individual documents, or create a large database that can be
accessed by many documents.
Entries (“records” in refer-speak) in the database
are separated from each other by a single, blank line. The records
themselves are composed of single lines (“fields”) with
no blank lines between them. Each field begins with a percent
sign and a single letter (the "field identifier")
e.g., %A or %T. 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.
Here’s an example database containing two records so you can
visualize what the above paragraph says.
Example refer database
%A Terry Pratchett
%A Neil Gaiman
%T Good Omens
%C London
%I Gollancz
%D 1990
%A Peter Schaffter
%T The Schumann Proof
%C Toronto
%I RendezVous Press
%D 2004
The order in which you enter fields doesn’t matter.
Refer will re-arrange them for you.
2. Insert a refer block
Having set up your database, you now need to put some
refer-specific commands in your mom file.
Refer commands are introduced by a single line
containing .R1, and concluded with a single line
containing .R2. What goes between the .R1
and .R2 lines is called a “refer block”.
Refer commands in a refer block should be entered one per
line, in lowercase letters, with no initial period (dot).
The actual commands depend on whether you want your references
- in footnotes/endnotes
- parenthetically inserted (in abbreviated form) into running text,
referring to a works-cited list (bibliography)
- to generate a comprehensive bibliography (a reading list)
Refer block for footnotes/endnotes
If you want footnote or endnote references, place this block at
the top of your mom file.
.R1
no-label-in-text
no-label-in-reference
join-authors " and " ", " ", and "
database <full path to database>
.R2
<full path to the database>
means the full path including the filename, e.g.,
/home/user/refer/my-database-file.
Refer block for parenthetical insertions into running text
If you want short, parenthetical insertions into running text,
referring to works cited in a bibliography, place this block at
the top of your mom file.
.R1
label "(A.n|Q)"
bracket-label " (" ")" ", "
join-authors ", and " ", " ", and "
move-punctuation
reverse A1
sort A1Q1T1B1E1
database <full path to database>
.R2
<full path to the database>
means the full path including the filename, e.g.,
/home/user/refer/my-database-file.
Refer block for comprehensive bibliographies
If you want to output an entire refer database, or
generate a comprehensive bibliography (a reading list) from a
database, place this block at the bottom of your mom file,
either prior to or immediately after invoking
BIBLIOGRAPHY.
.R1
no-label-in-text
no-label-in-reference
join-authors ", and " ", " ", and "
sort A1Q1T1B1E1
reverse A1
database <full path to database>
.R2
<full path to the database>
means the full path including the filename, e.g.,
/home/user/refer/my-database.
3. Tell mom where you want your references
If you want references in footnotes, issue the instruction
.FOOTNOTE_REFS
anywhere before the first citation in your file. Footnote markers
will be inserted into the text, and the bibliographic information
for the citation will appear as a footnote.
If you want references in endnotes, issue the instruction
.ENDNOTE_REFS
anywhere before the first citation in your file. Endnote markers
will be inserted into the text, and the bibliographic information
for the citation will appear as an endnote entry.
Note that if you want references parenthetically inserted
into running text, referring to entries in a works-cited list
(bibliography) that mom and refer assemble
automatically, no special instructions are required. See
Generating a bibliography from parenthetical insertions
for how to output the collected references.
For outputting an entire refer database, or
generating a comprehensive reading list from a database, see the
macro
BIBLIOGRAPHY.
4. Accessing references in the database
References are accessed by putting keywords from the desired database
record between two special refer commands:
.[
and
.]
Keywords are any word, or set of words, that identify a database
record unambiguously. Thus, if you have only one database record for
the author Ray Bradbury,
.[
bradbury
.]
is sufficient. However, if your database contains several records
for books by Bradbury, say, Fahrenheit 451 and The
Martian Chronicles,
“bradbury 451” and
“bradbury martian” would identify the two records unambiguously.
A special database field identifier, %K, lets you create
unique keywords for database records to help clear up any ambiguity.
Notice that you don’t have to worry about capitalization when
entering keywords.
5. Entering footnote/endnote references
Depending on which you have issued, a
.FOOTNOTE_REFS
or an
.ENDNOTE_REFS
command, entering references is done like this:
.REF
.[
keyword(s)
.]
.REF
If FOOTNOTE_REFS is in effect, the reference between the first
and second .REF will be treated as a footnote. If
ENDNOTE_REFS, it will be treated as an endnote. Endnote references
must be explicitly output with
ENDNOTES
at the end of your file, before
TOC.
Important:
REF behaves identically to
FOOTNOTE
and
ENDNOTE
with respect to the use of the \c inline escape. Please
read the
HYPER IMPORTANT NOTE
found in the document entry for FOOTNOTE (which also applies to
ENDNOTE).
6. Parenthetical insertions
See
Inserting parenthetical references into
text.
7. Generating a bibliography from parenthetical insertions
To generate a bibliography from works cited by parenthetical
insertions in the text, put this at the end of your document, before
.TOC.
.BIBLIOGRAPHY
.[
$LIST$
.]
.BIBLIOGRAPHY OFF
8. Generating a comprehensive bibliography
You can also generate a comprehensive bibliography, which is to say a
bibliography containing more works than are actually cited (a
“reading list”), by placing references between
.BIBLIOGRAPHY
and
.BIBLIOGRAPHY OFF.
Once you have input the desired references, insert
.[
$LIST$
.]
and follow it with .BIBLIOGRAPHY OFF. Study the
example below if you’re having trouble visualizing this.
Example bibliography
.BIBLIOGRAPHY
.R1
no-label-in-text
no-label-in-reference
join-authors ", and " ", " ", and "
sort A1Q1T1B1E1
reverse A1
database <full path to database>
.R2
.[
bradbury
.]
.[
pratchett
.]
.[
$LIST$
.]
.BIBLIOGRAPHY OFF
Alternatively, you can output an entire database as a
bibliography. Do the following at the end of your document, before
.TOC.
.BIBLIOGRAPHY
.R1
no-label-in-text
no-label-in-reference
join-authors ", and " ", " ", and "
sort A1Q1T1B1E1
reverse A1
bibliography <full path to database>
.R2
.BIBLIOGRAPHY OFF
9. Invoking groff with mom and refer
So, now you’ve got a document formatted properly to use
references processed with refer, what do you do to output
the document?
It’s simple. Instead of invoking groff with just the
-mom option, as explained
here,
invoke groff with the -R option as well, like this:
groff -R -mom <filename> ...
MLA (Modern Language Association) style
Types of references (endnote, footnote, or embedded in text)
MLA allows for three types of references, or referencing styles:
- short, parenthetical references in the text, linked to a
works-cited list (bibliography) at the end of the document
- footnote references
- endnote references
There are significant differences between the way footnote/endnote
references should be formatted, and the formatting style of
bibliographies. One example is that footnote/endnote references
should have their first lines indented, whereas bibliographic
references should have their second lines indented. Fortunately,
with mom, there’s no need to concern yourself with the differences;
they’re taken care of automatically.
In terms of inserting references into your documents,
footnote/endnote references are input in a manner similar to
entering any other kind of
footnote
or
endnote.
Parenthetical references, however, need to be handled differently.
See the next section.
Inserting parenthetical references into the text
MLA style prefers restricting the information in parenthetical
references to the barest minimum needed to identify works
in the works-cited list (the bibliography). Typically, a
parenthetical insertion is just the author’s last name
followed by the page number of the cited work (if only one work by
that author is cited), or by the author, a shortened title of the
work, and the page number (if more than one work is cited).
This necessitates a slightly fiddly way of entering parenthetical
references, though not by any means difficult or hard to make sense
of.
The refer block suggested
here
for parenthetical references prints only the author’s
last name from the database record identified by your keywords
(the label command), surrounded by parentheses (the
bracket-label command). Therefore, assuming you are
citing Ray Bradbury’s The Martian Chronicles, and it is
the only work by Bradbury mentioned in the text,
...end of sentence.
.[
martian chronicles
.]
A new sentence...
will insert “...end of sentence (Bradbury). A new sentence...” into the text.
The Martian Chronicles will be added
to the works-cited list generated at the end of the document if it
is not already present as the result of an earlier reference.
If you need a page number to identify where in The Martian
Chronicles to find a specific quote
"...aluminum roaches and iron crickets."
.[
[ martian chronicles
.] 168)
A new sentence...
results in ““...aluminum roaches and iron crickets.” (Bradbury 168) A new sentence...”
(which is excruciatingly correct MLA style). The
“[” before martian chronicles tells
refer to print the opening parenthesis; any text immediately
following the “.]”, including spaces,
replaces the closing parenthesis. (Notice that you have to
add the closing parenthesis yourself after the page number.)
If your document cites more than one work by Bradbury and you need
a title and page number in addition to the author's name in the
inline reference,
"...aluminum roaches and iron crickets."
.[
[ bradbury martian
.], \fIChronicles\fP 168)
A new sentence...
will produce ““...aluminum roaches and iron crickets.” (Bradbury, Chronicles 168) A new sentence...”.
The ‘label’ and ‘bracket-label’ commands
The label and bracket-label commands in
the refer block allow you to customize what information goes
into parenthetical references, and how they should be formatted.
label dictates which fields from the database record
to print and how to punctuate them. bracket-label
controls the bracketing style. Users are encouraged to consult
man refer for usage.
Here’s an example of how to set up APA-style references, which
require the author and date of publication, optionally with a page
number or range of pages.
.R1
label "(A.n|Q) ', ' D.y"
bracket-label " (" ")" ", "
join-authors ", and " ", " ", and "
move-punctuation
reverse A1
sort A1Q1T1B1E1
database /home/peter/Groff-mom/Testing/Refer/refer-database
.R2
Assuming a reference to a work by Ursula Leguin published in 1980
.[
leguin
.]
produces
(Leguin, 1980)
.
If a page number is also required
.[
[ leguin
.], p. 73)
produces
(Leguin, 1980, p. 73).
The refer database
Introduction
The heart and soul of refer is the bibliographic
database. Knowing how to create records (ie. the entries for works
cited in a document) is largely a question matching data (author,
title, publisher, etc) with the correct field identifier. For
example, if you’re citing from a scholarly journal, you need to know
that %J is the field identifier for journal names and
%N is the field identifier for the journal number. Use
the
Quick list of field identifiers
as your guide.
The rules
Entering the data correctly is also important. Fortunately, there
are very few rules, and those there are make sense. In a nutshell:
- enter the data in each field in natural order; author John Smith is
“John Smith”, editor Jane Doe is “Jane Doe”
- capitalize all proper nouns and words in titles as you expect
to see them; otherwise, use lowercase
- use no terminating punctuation unless required; typically,
required punctuation is the period after a shortform
(“ed.” or “eds.”, “Jr.”,
etc) or a question mark or exclamation mark at the end of a
title
- if part of a field needs to be set off in single-quotes, use
\[oq] and \[cq] (openquote, closequote) rather than the
single-quote (or apostrophe) character on your keyboard
- if part of a field needs to be forced into italics, use the
escapes \*[IT] and \*[PREV]; if the italicized
portion concludes the field, omit \*[PREV]
- if you require characters with accents, ligatures or special
symbols, use groff’s “named” glyphs (e.g.,
\['e] for é); a full list can be found in
man groff_char
Quick guide to field identifiers (click on any that are links for more information)
%A author – records may contain multiple authors,
one per line
%Q non-human author – corporate author, e.g., National Geographic;
may also be used for exceptional reference types
%m multiple authors – whenever "et al." is desirable
%i idem – multiple works by the same author
%p post-author – post-author information (e.g., appendix,
foreword, letter)
%T title – primary title (of a book) or the
title of an article (within a scholarly
journal or a magazine)
%B book title – when %T contains the title of an article;
%q force quote – force a title into double-quotes
%t reprint title – if different from a work's original title
%b main author – when citing a preface, foreword,
introduction, or afterword, the author of
the complete original work
%E editor – records may contain multiple editors,
one per line
%l translator – if more than one translator, all the
names
%r translator – if tr. and ed. are one in the same
and editor
%M magazine or – when %T contains the title of an article
newspaper
%J journal – when %T contains the title of an article
%e edition – number or name of an edition
(e.g., Second, 2nd, Collector's, etc.)
%S series – series name of books or journals
%V volume – volume number (of books)
%N journal number – journal or magazine number
%R report number – technical report number
%G gov’t. – government ordering number
%O other – information for which there is no appropriate
field letter
%C city – city of publication
%I publisher – publisher
%D date – publication date
%d original
publication date – if different from date of publication
%P page(s) – page number or range
%n annotation – annotation to the reference
%s site name – for internet references, the website name
%c content – for internet references, the source of
the material (e.g., Web or Email); for websites,
the content, if unclear
%o organization – for internet sites, the organization, group
or sponsor of the site
%a access date – for internet sites, the date of access
%u URL – for internet sites, the full URL
%K keywords – words that help clear up ambiguities in
the database
Field identifiers: specifics, usage and examples
%A – author field
For multiple authors, enter each in a separate %A
field in the order in which they should appear. If the author on
the title page is the editor (say, a book of short stories edited by
Ray Bradbury), add , ed. to the end of the
%A field, like this:
%A Ray Bradbury, ed.
Do not use the %E field in these instances. If the work
has several such editors, enter each in a separate %A
field, as for multiple authors, and add , eds. to the
last one, like this:
%A Jane Dearborne
%A Bill Parsons, eds.
%Q – exceptional entries
Sometimes, a work has no author or title information, for example a
book review in a newspaper. In such cases, use %Q, like
this:
%Q Rev. of \*[IT]Mean Streets Omnibus\*[PREV], ed. Raymond Hammett
%M Times Literary Supplement
%D 7 July 1972
%m – multiple authors (et al.)
Whenever it’s desirable to abbreviate a list of authors with
“et al.” enter it in the %m field, like this:
%A Paul Lauter
%A Doug Scofield
%m et al.
%i – idem
Whenever there are several works by the same author, fill out the
%A field with the author’s name and follow it with the
%i idem, like this:
%A Jonathon Schmidt
%i idem
Per MLA style, the author’s name will be replaced by a long dash.
If it’s necessary to state the role the author served (say,
editor or translator), fill out the %i field with the
information minus idem, like this:
%A Ray Bradbury
%i ed.
%T Timeless Stories for Today and Tomorrow
%p – post-author information
When citing from a preface, foreword, introduction, afterword or
appendix, MLA requires that the information come between the
author’s name and the work’s title, like this:
%A Martin Packham, Jr.
%p appendix
%T Why the West was Won
Do not capitalize the first word in the %p field unless
it is a proper noun.
%q – force title into double-quotes
Occasionally, you may not be able to use %T for the
title because doing so will cause it to come out in italics when
double-quotes are called for. An example of this is when citing
from a dissertation. Use %q to get around the problem,
like this:
%A Carol Sakala
%q Maternity Care Policy in the United States
%O diss., Boston U, 1993
%E – editor
Use this only if the author and the editor are not one in the same,
e.g.,
%A Geoffrey Chaucer
%T The Works of Geoffrey Chaucer
%E F. W. Robinson
%l – translator
If there is more than one translator, enter all the names, with
appropriate conjunctions and punctuation, like this:
%A Feodor Dostoevsky
%T Crime and Punishment
%l Jessie Coulson, Marjorie Benton, and George Bigian
%O – other
Occasionally, MLA requires additional information after the title
but before the publication data (city/publisher/date), for instance,
the number of volumes in a series, or the fact that the work cited
is a dissertation. Here are two examples:
%A Arthur M. Schlesinger
%T History of U.S. Political Parties
%O 4 vols.
%C New York
%I Chelsea
%D 1973
%A Carol Sakala
%q Maternity Care Policy in the United States
%O diss., Boston U, 1993
Do not capitalize the first word of the %O field unless
it is a proper noun.
Generally, consider %O a catch-all for information that
does not match the criterion of any existing field identifier.
%C – city
Normally, %C takes the name of the city of publication,
and that’s all. In the case of a republished book, if new material
has been added, put such information in the %C
field, like this:
%A Theodore Dreiser
%T Sister Carrie
%d 1900
%C Introd. E. L. Doctorow, New York
%d – original date of publication
Normally, all that is required in the %d field is the
original date of publication. However, if supplementary original
publication data is desired, include it in the field, like this:
%A Kazuo Ishiguro
%T The Remains of the Day
%d London: Faber, 1989
%C New York
%I Knopf
%D 1990
%K – keywords
Refer hates ambiguity, and complains when encountering
it. Ambiguities result from the duplication of any word in more
than one database record when that word is used to identify a
reference in your input file. Use %K to create unique
keywords found nowhere else in the database.
Imagine, for example, that your database contains records for
Ray Bradbury’s The Illustrated Man, another record for
The Illustrated Bradbury and a third for Bradbury,
Illustrated. %K can be used to clear up any
ambiguities by assigning a unique word to each record, for example
%K ill-man for the first, %K ill-brad for the
second, and %K brad-ill for the third.
%P – pages
When citing page numbers, which is often the case with footnotes
and endnotes, it is not necessary to put the numbers in the database
records. The %P field can be added underneath the
keyword(s) in the .[ / .] entries in your
input file, allowing you to recycle database records. For example,
%A Frye
%T Anatomy
%K frye-anat
could be your short record for Northrop Frye’s The Anatomy of
Criticism. Any time you wanted to cite a particular page or
range of pages from that work in a footnote or endnote, you can
put
.REF
.[
frye-anat
%P 67-8
.]
.REF
in your input file, and have it show up with the correct page(s).
%n – annotations
Annotations come at the very end of references. Capitalize all
words that require it, including, for bibliographic references (but not
for footnotes/endnotes) the first.
The bibliography and reference macros
Begin/end a reference that goes in a footnote or endnote
Macro: REF
The macro REF tells mom that what follows is
refer-specific, a keyword-identified reference to a
refer database record. Depending on whether you’ve issued
a
.FOOTNOTE_REFS
or
.ENDNOTE_REFS
instruction, the reference will be formatted and placed in a
footnote, or collected for output in the endnotes. Parenthetical
insertion of references into the text do not require
.REF (see
Inserting parenthetical references into the text.)
Before you use REF, you must create a refer block
containing refer commands (see
Required refer commands
in the tutorial, above).
REF usage always looks like this:
.REF
.[
keyword(s)
.]
.REF
Notice that REF “brackets” the refer instructions,
and never takes an argument.
What REF really is is a convenience. One could, for example, put a
reference in a footnote by doing
.FOOTNOTE
.[
keyword(s)
.]
.FOOTNOTE OFF
However, if you have a lot of references going into footnotes (or
endnotes), it’s much shorter to type .REF/.REF
than .FOOTNOTE/.FOOTNOTE OFF. It also helps you
distinguish—visually, in your input file—between
footnotes (or endnotes) which are references, and footnotes (or
endnotes) which are explanatory, or expand on the text.
Note:
If you’re using REF to put references in footnotes and your
footnotes need to be indented, you may (indeed, should) pass REF the
same arguments used to indent footnotes. See
FOOTNOTE.
Additional note:
REF behaves identically to
FOOTNOTE
or
ENDNOTE,
so please read the HYPER IMPORTANT NOTE found in the document entry
for
FOOTNOTE
and/or
ENDNOTE
for instructions on correct entry of text preceding and following REF.
Macro: FOOTNOTE_REFS
FOOTNOTE_REFS is an instruction to
REF,
saying, “put all subsequent references bracketed by the REF
macro into footnotes.” You invoke it by itself, with no
argument.
When FOOTNOTE_REFS is in effect, regular footnotes, (ie
those introduced with .FOOTNOTE and terminated with
.FOOTNOTE OFF) continue to behave normally.
You may switch between FOOTNOTE_REFS and
ENDNOTE_REFS
at any time.
By default, FOOTNOTE_REFS sets the
FOOTNOTE_MARKER_STYLE
to NUMBER (ie superscript numbers). You may change
change that if you wish by invoking FOOTNOTE_MARKER_STYLE, with the
argument you want after FOOTNOTE_REFS.
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
FOOTNOTES_RUN_ON
in conjunctions with FOOTNOTE_REFS.
Instruct mom to put references in endnotes
Macro: ENDNOTE_REFS
ENDNOTE_REFS is an instruction to
REF,
saying, “add all subsequent references bracketed by the REF
macro to endnotes.” You invoke it by itself, with no argument.
When ENDNOTE_REFS is in effect, mom continues to format regular
endnotes, (ie those introduced with .ENDNOTE and
terminated with .ENDNOTE OFF) in the normal way.
You may switch between ENDNOTE_REFS and
FOOTNOTE_REFS
at any time.
Manage indenting of references, per MLA standards
Macro: INDENT_REFS FOOTNOTE | ENDNOTE | BIBLIO <indent>
• <indent> requires a unit of measure
MLA-style requires that footnote or endnote references should
have their first lines indented, whereas bibliographic references
should have their second and subsequent lines indented. Thus, if
you invoke INDENT_REFS with a first argument of FOOTNOTE
or ENDNOTE, the value you give to
<indent> sets the indent of the first line for
those types of references; if you invoke it with BIBLIO,
the value you give <indent> sets the indent of
second and subsequent lines in bibliographies.
By default, the indent for all three types of references is 1/2-inch
for
PRINTSTYLE TYPEWRITE
and 2
ems
for
PRINTSTYLE TYPESET.
If you’d like to change the indent for footnote, endnote or
bibliography references, just invoke .INDENT_REFS with
a first argument saying which one you want the indent changed for, 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
picas,
.INDENT_REFS BIBLIO 3P
is how you’d set it up.
Tip:
If you are identifying endnotes by line number
(ENDNOTE_MARKER_STYLE LINE)
and have instructed mom to put references bracketed by
.REF
into endnotes (with
ENDNOTE_REFS),
you will almost certainly want to adjust the second-line indent for
references in endnotes, owing to the way mom formats line-numbered
endnotes. Study the output of such documents to see whether an
indent adjustment is required.
The same advice applies to references in endnotes when you have enabled
.ENDNOTE_NUMBERS_ALIGN_LEFT
in favour of mom’s default, which is to align them right.
Study the output to determine what size of second-line indent works
best.
(Frankly, endnote references formatted in MLA-style combined with
left-aligned endnote numbers is a no-win situation, and so is best
avoided. Wherever you set the indent, you’ll end up with the
endnote numbers appearing to hang into the left margin, so you might
as well have them hang, as is the case with
.ENDNOTE_NUMBERS_ALIGN_RIGHT. – Ed.)
Enable/disable hyphenation of references
Macro: HYPHENATE_REFS <toggle>
If you have hyphenation turned on for a document (see
HY),
and in most cases you probably do, mom will hyphenate references
bracketed by the
REF
macro. Since references typically contain quite a lot of proper
names, which shouldn’t be hyphenated, you may want to disable
hyphenation for references.
HYPHENATE_REFS is a toggle macro; invoking it by itself will turn
automatic hyphenation of REF-bracketed references on (the default).
Invoking it with any other argument (OFF, NO, X, etc.)
will disable automatic hyphenation for references bracketed by REF.
An alternative to turning reference hyphenation off is to prepend
to selected proper names in your refer database
the groff
discretionary hyphen
character, \%. (See
here
in the tutorial for an example.)
Note:
References embedded in the body of a document are considered part of
running text,
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
HY,
like this:
.HY OFF
.[
keyword(s)
.]
.HY
Alternatively, sprinkle your database fields liberally with
\%.
Begin a bibliography
Macro: BIBLIOGRAPHY toggle
To append a bibliography to your document, whether of references
inserted parenthetically into text or a comprehensive reading list
derived from a large refer database, all you need
do is invoke .BIBLIOGRAPHY. .BIBLIOGRAPHY
breaks to a new page, prints the title (BIBLIOGRAPHY by default, but
that can be changed), and awaits refer instructions. How
to create bibliographies is covered in the tutorial section,
Generating a bibliography from parenthetical insertions
and
Generating a comprehensive bibliography.
When all the required data has been entered, type
.BIBLIOGRAPHY OFF
to complete the bibliography.
See the
Bibliography control macros and defaults
for macros to tweak, design and control the appearance of
bibliography pages.
Plain, or numbered list bibliography
Macro: BIBLIOGRAPHY_TYPE PLAIN | LIST [ <list separator> ] [ <list prefix> ]
Mom offers two styles of bibliography output: plain, or numbered
list style. With the argument, PLAIN, bibliography entries are output
with no enumerators. With the argument, LIST, each entry is numbered.
The two optional arguments, <list separator>
and <list prefix> have the same meaning as the
equivalent arguments to
LIST
(ie <separator> and <prefix>).
You may enter the BIBLIOGRAPHY_TYPE either before or after
.BIBLIOGRAPHY. It must, however, always come before the
any refer commands. See
Generating a bibliography from parenthetical insertions
and
Generating a comprehensive bibliography.
Mom’s default BIBLIOGRAPHY_TYPE is PLAIN.
1. General bibliography page style control
• Base family/font/quad
See
Arguments to the control macros.
.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 (LEFT) or J (JUSTIFIED);
R (RIGHT) and C (CENTER) will not work.
• Base point size
Macro: BIBLIOGRAPHY_PT_SIZE <base type size of bibliography>
Unlike most other control macros that deal with size of document
elements, BIBLIOGRAPHY_PT_SIZE takes as its argument an absolute
value, relative to nothing. Therefore, the argument represents the
size of bibliography type in
points,
unless you append an alternative
unit of measure.
For example,
.BIBLIOGRAPHY_PT_SIZE 12
sets the base point size of type on the bibliography page to 12
points, whereas
.BIBLIOGRAPHY_PT_SIZE .6i
sets the base point size of type on the bibliography page to 1/6 of an
inch.
The type size set with BIBLIOGRAPHY_PT_SIZE 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.
The default for
PRINTSTYLE TYPESET
is 12.5 points (the same default size used in the body of the
document).
• Leading
Macro: BIBLIOGRAPHY_LEAD <base leading of bibliographies> [ ADJUST ]
• Does not require a unit of measure; points is assumed
Unlike most other control macros that deal with leading of document
elements, BIBLIOGRAPHY_LEAD takes as its argument an absolute value,
relative to nothing. Therefore, the argument represents the
leading
of bibliographies in
points
unless you append an alternative
unit of measure.
For example,
.BIBLIOGRAPHY_LEAD 14
sets the base leading of type on the bibliography page to 14
points, whereas
.BIBLIOGRAPHY_LEAD .5i
sets the base leading of type on the bibliography page to 1/2 inch.
If you want the leading of bibliographies adjusted to fill the page,
pass BIBLIOGRAPHY_LEAD the optional argument,
ADJUST. (See
DOC_LEAD_ADJUST
for an explanation of leading adjustment.)
The default for
PRINTSTYLE TYPESET
is the prevailing document lead (16 by default), adjusted.
Note:
Even if you give mom a .DOC_LEAD_ADJUST OFF command,
she will still, by default, adjust bibliography leading. You
must enter BIBLIOGRAPHY_LEAD <lead>
with no ADJUST argument to disable this default
behaviour.
• Adjust the space between bibliography entries
Macro: BIBLIOGRAPHY_SPACING <amount of space>
• Requires a unit of measure
By default, mom inserts no space between bibliography entries.
If you’d prefer she add some, instruct her to do so with
BIBLIOGRAPHY_SPACING. Say, for example, you want a half a linespace
between entries,
.BIBLIOGRAPHY_SPACING .5v
would do the trick.
Note:
As with endnotes pages, inserting space between bibliography entries
will most likely result in hanging bottom margins.
• Singlespace bibliography (TYPEWRITE only)
Macro: SINGLESPACE_BIBLIOGRAPHY <toggle>
If your
PRINTSTYLE
is TYPEWRITE and you use TYPEWRITE’s default
double-spacing, bibliographies are double-spaced. If your document
is single-spaced, bibliographies are single-spaced.
If, for some reason, you’d prefer that bibliographies be
single-spaced in an otherwise double-spaced document (including
double-spaced
collated
documents), invoke .SINGLESPACE_BIBLIOGRAPHY with with no
argument.
• Turning off column mode during bibliography output
Macro: BIBLIOGRAPHY_NO_COLUMNS <toggle>
By default, if your document is set in
columns,
mom 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 .BIBLIOGRAPHY_NO_COLUMNS with
no argument. The bibliography pages will be set to the full page
measure of your document.
If you output bibliographies at the end of each document in a
collated
document set in columns, column mode will automatically be
reinstated for each document, even with BIBLIOGRAPHY_NO_COLUMNS
turned on. In such circumstances, you must re-enable
BIBLIOGRAPHY_NO_COLUMNS for each separate collated document.
• Page numbering style
Macro: BIBLIOGRAPHY_PAGENUM_STYLE DIGIT | ROMAN | roman | ALPHA | alpha
Use this macro to set the page numbering style of bibliography
pages. The arguments are identical to those for
PAGENUM_STYLE.
The default is digit. You may want to change it to, say,
alpha, which you would do with
.BIBLIOGRAPHY_PAGENUM_STYLE alpha
• Setting the first page number of bibliographies
Macro: BIBILOGRAPHY_FIRST_PAGENUMBER <page # that appears on page 1 of bibliographies>
Use this macro with caution. If the bibliography for a
collated
document is to be output at the document’s end,
BIBLIOGRAPHY_FIRST_PAGENUMBER tells mom what page number to put on
the first page of the bibliography.
However, if you’re outputting a bibliography at the end of each
section (chapter, article, etc) of a collated document,
you have to reset every section’s first page number after
COLLATE
and before
START.
• Omitting a page number on the first page of bibliographies
Macro: BIBLIOGRAPHY_NO_FIRST_PAGENUM <toggle>
This macro is for use only if
FOOTERS
are on. It tells
BIBLIOGRAPHY
not to print a page number on the first bibliography page.
Mom’s default is to print the page number.
Macro: SUSPEND_PAGINATION
Macro: RESTORE_PAGINATION
SUSPEND_PAGINATION doesn’t take an argument. Invoked
immediately prior to
BIBLIOGRAPHY,
it turns off pagination for the duration of the bibliography. Mom
continues, however to increment page numbers silently.
To restore normal document pagination after bibliographies, invoke
.RESTORE_PAGINATION (again, with no argument) immediately
after you’ve finished with your bibliography.
• Modifying what goes in the bibliography header/footer
If you wish to modify what appears in the header/footer that appears
on bibliography pages, make the changes before you invoke
.BIBLIOGRAPHY,
not afterwards.
Except in the case of
DOCTYPE CHAPTER,
mom prints the same header or footer used throughout the document
on bibliography pages. Chapters get treated differently in that,
by default, mom 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 not want mom to remove the
centre string from the bibliography pages headers/footers, or you
would like her to add one in cases where there hasn't been one
before (e.g. DOCTYPE DEFAULT) invoke
.BIBLIOGRAPHY_HEADER_CENTER
with no argument.
An important change you may want to make is to put the word
“Bibliography” in the header/footer centre position. To
do so, invoke
.BIBLIOGRAPHY_HEADER_CENTER
.HEADER_CENTER "Bibliography"
or
.BIBLIOGRAPHY_FOOTER_CENTER
.FOOTER_CENTER "Bibliography"
prior to invoking .BIBLIOGRAPHY.
• Header/footer centre string when doctype is CHAPTER
Macro: BIBLIOGRAPHY_HEADER_CENTER toggle
If your
DOCTYPE
is CHAPTER and you want mom to include a centre
string in the headers/footers that appear on bibliography
pages, or if you do not have a running header/footer
centre string in the body of the document, invoke
.BIBLIOGRAPHY_HEADER_CENTER (or
.BIBLIOGRAPHY_FOOTER_CENTER) with no argument before
defining the centre string . Mom’s default is NOT to print the
centre string.
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 (OFF, QUIT, Q, X...).
Macro: BIBLIOGRAPHY_ALLOWS_HEADERS <none> | ALL
By default, if HEADERS are on, mom prints page headers on all
bibliography pages except the first. If you don’t want her to
print headers on bibliography pages, do
.BIBLIOGRAPHY_ALLOWS_HEADERS OFF
If you want headers on every page including the first, do
.BIBLIOGRAPHY_ALLOWS_HEADERS ALL
Note:
If FOOTERS are on, mom prints footers on every bibliography page.
This is a style convention. In mom, there is no such beast as
BIBLIOGRAPHY_ALLOWS_FOOTERS OFF.
4. Bibliography first-page title control
• Title string
Macro: BIBLIOGRAPHY_STRING "<title to print at the top of bibliography pages>"
Alias: BIBLIOGRAPHY_HEADER
By default, mom prints the word “BIBLIOGRAPHY” as a title
at the top of the first page of a bibliography. If you want her to
print something else, invoke .BIBLIOGRAPHY_STRING with
the title you want, surrounded by double-quotes.
If you don’t want a title at the top of the first bibliography
page, invoke .BIBLIOGRAPHY_STRING with a blank argument
(either two double-quotes side by
side—""—or no argument at all).
• Title string control macros and defaults
See
Arguments to the control macros.
.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)
• Title string placement
Macro: BIBLIOGRAPHY_STRING_ADVANCE <distance from top of page>
• Argument requires a unit of measure
By default, mom places the title (the docheader, as it were) of
bibliographies (typically "BIBLIOGRAPHY") on the same
baseline
that is used for the start of
running text.
If you’d prefer another location, higher or lower on the page
(thereby also raising or lowering the starting position of the
bibliography itself), invoke .BIBLIOGRAPHY_STRING_ADVANCE
with an argument stating the distance from the top edge of the page
at which you’d like the title placed.
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
mom about it like this:
.BIBLIOGRAPHY_STRING_ADVANCE 1.5i
• Title string underscoring
Macro: BIBLIOGRAPHY_STRING_UNDERSCORE [DOUBLE] [<underline weight> [<underline gap> [<distance between double rules]]] | <none> | <anything>
Alias: BIBLIOGRAPHY_STRING_UNDERLINE
• The argument
<underscore weight>
must not have the
unit of measure,
p, appended to it
Invoked without an argument,
.BIBLIOGRAPHY_STRING_UNDERSCORE will place a single rule
underneath the bibliography’s first-page title. Invoked with the
argument, DOUBLE, BIBLIOGRAPHY_STRING_UNDERSCORE will
double-underscore the title. Invoked with any other non-numeric
argument, (e.g., OFF, NO, X, etc.) the macro disables
underlining of the title.
In addition, you can use BIBLIOGRAPHY_STRING_UNDERSCORE to control
the weight of the underscore rule(s), the gap between the title and
the underscore, and, in the case of double-underscores, the distance
between the two rules.
Some examples:
.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/4 of
a point; set the gap between the string and the upper
underline to 3 points; leave the gap between the upper
and the lower underline at the default
.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
Note, from the above, that in all instances, underscoring (single or
double) is enabled whenever BIBLIOGRAPHY_STRING_UNDERSCORE is used
in this way.
By default, mom double-underscores the title if your
PRINTSTYLE
is TYPEWRITE.
• Title string capitalization
Macro: BIBLIOGRAPHY_STRING_CAPS toggle
Invoked by itself, .BIBLIOGRAPHY_STRING_CAPS will
automatically capitalize the bibliography first-page title. Invoked
with any other argument, the macro disables automatic capitalization
of the title.
If you’re generating a table of contents, you may want the
bibliography first-page title to be in caps, but the toc entry in
caps/lower case. If the argument to
BIBLIOGRAPHY_STRING
is in caps/lower case and BIBLIOGRAPHY_STRING_CAPS is
on, this is exactly what will happen.
Mom’s default is to capitalize the bibliography first-page
title.