1 <?xml version="1.0" encoding="utf-8"?>
3 This file is part of groff, the GNU roff type-setting system.
5 Copyright (C) 2004-2018 Free Software Foundation, Inc.
6 Written by Peter Schaffter (peter@schaffter.ca).
8 Permission is granted to copy, distribute and/or modify this document
9 under the terms of the GNU Free Documentation License, Version 1.3 or
10 any later version published by the Free Software Foundation; with no
11 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
14 A copy of the Free Documentation License is included as a file called
15 FDL in the main directory of the groff source package.
18 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
19 <html xmlns="http://www.w3.org/1999/xhtml">
22 <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
23 <title>Mom -- Document processing, element tags</title>
24 <link rel="stylesheet" type="text/css" href="stylesheet.css" />
27 <body style="background-color: #f5faff;">
29 <!-- ==================================================================== -->
31 <div id="top" class="page">
33 <!-- Navigation links -->
34 <table style="width: 100%;">
36 <td><a href="toc.html">Back to Table of Contents</a></td>
37 <td style="text-align: right;"><a href="images.html#top">Next: Graphics, floats, preprocessor support</a></td>
41 <h1 class="docs">The document element tags</h1>
43 <div style="width: 386px; margin: auto;">
44 <ul class="no-enumerator">
45 <li><a href="#docelement-intro">Introduction to the document element tags</a></li>
46 <li><a href="#docelement-control">Control macros – changing the tag defaults</a>
47 <ul style="margin-left: -.5em; list-style-type: disc;">
48 <li><a href="#control-macro-args">Arguments to the control macros</a>
49 <ul style="margin-left: -.5em; list-style-type: circle;">
50 <li><a href="#family-and-font">family and font</a></li>
51 <li><a href="#point-size">point size</a></li>
52 <li><a href="#color">colour</a></li>
53 <li><a href="#quad">quad/justification</a></li>
54 <li><a href="#underline">underline style, rule weight</a></li>
56 <li><a href="#grouping">Grouping control macros</a></li>
61 <div class="rule-medium"><hr/></div>
63 <h2 id="toc-doc-element" class="docs" style="text-align: center;">Document element tags table of contents</h2>
65 <div id="docelement-mini-toc" style="font-size: 100%; line-height: 150%; margin-top: .5em;">
66 <div class="mini-toc-col-1" style="margin-left: 0;">
67 <h3 class="toc toc-docproc-header" style="margin-top: 1em;"><a class="header-link" href="#epigraph-intro">Epigraphs</a></h3>
68 <ul class="toc-docproc" style="margin-top: .5em;">
69 <li><a href="#epigraph">EPIGRAPH</a></li>
70 <li><a href="#epigraph-control">Epigraph control</a></li>
72 <h3 class="toc toc-docproc-header"><a class="header-link" href="#pp-intro">Paragraphs</a></h3>
73 <ul class="toc-docproc" style="margin-top: .5em;">
74 <li><a href="#pp">PP</a></li>
75 <li><a href="#pp-control">Paragraph control</a></li>
77 <h3 class="toc toc-docproc-header"><a class="header-link" href="#heading-intro">Headings</a></h3>
78 <ul class="toc-docproc" style="margin-top: .5em;">
79 <li><a href="#heading">HEADING</a></li>
80 <li><a href="#heading-control">Heading control</a></li>
81 <li><a href="#oldstyle-headings-intro">Oldstyle headings</a></li>
83 <h3 class="toc toc-docproc-header"><a class="header-link" href="#linebreak-intro">Linebreaks (section breaks)</a></h3>
84 <ul class="toc-docproc" style="margin-top: .5em;">
85 <li><a href="#linebreak">LINEBREAK</a></li>
86 <li><a href="#linebreak-control">Linebreak control</a></li>
88 <h3 class="toc toc-docproc-header"><a class="header-link" href="#quote-intro">Quotes (line for line; poetry or code)</a></h3>
89 <ul class="toc-docproc" style="margin-top: .5em;">
90 <li><a href="#quote">QUOTE</a></li>
91 <li><a href="#quote-control">Quote control</a></li>
93 <h3 class="toc toc-docproc-header"><a class="header-link" href="#blockquote-intro">Blockquotes (cited material)</a></h3>
94 <ul class="toc-docproc" style="margin-top: .5em;">
95 <li><a href="#blockquote">BLOCKQUOTE</a></li>
96 <li><a href="#blockquote-control">Blockquote control</a></li>
98 <h3 class="toc toc-docproc-header"><a class="header-link" href="#code-intro">Inserting code snippets</a></h3>
99 <ul class="toc-docproc" style="margin-top: .5em;">
100 <li><a href="#code">CODE</a></li>
101 <li><a href="#code-control">Code control</a></li>
104 <div class="mini-toc-col-2" style="margin-top: 1.5em;">
105 <h3 class="toc toc-docproc-header"><a class="header-link" href="#list-intro">Nested lists</a></h3>
106 <ul class="toc-docproc" style="margin-top: .5em;">
107 <li><a href="#list">LIST</a></li>
108 <li><a href="#item">ITEM</a></li>
109 <li><a href="#list-control">List control</a></li>
111 <h3 class="toc toc-docproc-header"><a class="header-link" href="#number-lines-intro">Line numbering</a></h3>
112 <ul class="toc-docproc" style="margin-top: .5em;">
113 <li><a href="#number-lines">NUMBER_LINES</a></li>
114 <li><a href="#number-lines-control">Line numbering control</a></li>
116 <h3 class="toc toc-docproc-header"><a class="header-link" href="#footnote-intro">Footnotes</a></h3>
117 <ul class="toc-docproc" style="margin-top: .5em;">
118 <li><a href="#footnote">FOOTNOTE</a></li>
119 <li><a href="#footnote-control">Footnote control</a></li>
121 <h3 class="toc toc-docproc-header"><a class="header-link" href="#endnote-intro">Endnotes</a></h3>
122 <ul class="toc-docproc" style="margin-top: .5em;">
123 <li><a href="#endnote">ENDNOTE</a></li>
124 <li><a href="#endnote-control">Endnote control</a></li>
126 <h3 class="toc toc-docproc-header"><a class="header-link" href="#margin-notes-intro">Margin notes</a></h3>
127 <ul class="toc-docproc" style="margin-top: .5em;">
128 <li><a href="#mn-init">MN_INIT (set margin notes parameters)</a></li>
129 <li><a href="#mn">MN</a></li>
131 <h3 class="toc toc-docproc-header"><a class="header-link" href="#finis-intro">Document termination string</a></h3>
132 <ul class="toc-docproc" style="margin-top: .5em;">
133 <li><a href="#finis">FINIS</a></li>
134 <li><a href="#finis-control">Finis control</a></li>
139 <div class="rule-medium" style="clear: both;"><hr/></div>
141 <h2 id="docelement-intro" class="docs">Introduction to the document element tags</h2>
144 Once you’ve completed the setup for a document (see
145 <a href="docprocessing.html#docprocessing-tut">Setting up a mom document</a>),
146 formatting it is a snap. Simply invoke the appropriate tag for
147 each document element as you need it. The tags are macros that
148 tell mom: “This is a paragraph; this is a heading; this is a
149 footnote,” and so on.
153 Generally, for each tag, there are
154 <a href="definitions.html#controlmacro">control macros</a>
155 for the tag’s family, font and point size. Where appropriate,
156 there are macros to control leading, indents, quad and special
158 Mom has tasteful defaults for all the tags, hence you only use the
159 control macros when you want to change the way she does things.
160 This is usually done prior to
161 <a href="docprocessing.html#start">START</a>,
162 but can, in fact, be done at any time in the course of a document.
163 Any change to a tag’s style affects all subsequent invocations
167 <h2 id="docelement-control" class="docs">Control macros – changing the tag defaults</h2>
170 The control macros for document processing tags let you design the
171 look of all the parts of your documents—should you wish. At
172 a bare minimum, all tags have macros to change mom’s defaults
173 for family, font, point size and colour. Where appropriate, there
174 are macros to control leading, indents and quad as well.
178 In addition, many tags have special macros to control features that
179 are pertinent to those tags alone. Have a look at the section
180 dealing with any particular tag to find out what macros control the
181 tag, and what mom’s defaults for the tag are.
185 The control macros may be used at any time during the course of a
186 document (ie before or after
187 <a href="docprocessing.html#start">START</a>).
188 The changes you make alter all subsequent invocations of the
189 affected tag until you make another change, either by passing new
190 arguments to the tag’s control macro, or toggling a particular
191 feature of the tag on or off.
195 And don’t forget: the
196 <a href="typesetting.html#macros-typesetting">typesetting macros</a>
197 can be used at any time, including inside
198 <a href="definitions.html#toggle">toggle</a>
199 tags (affecting only that particular invocation of the tag).
201 <a href="definitions.html#inlines">inline escapes</a>
202 can be used in tags that take
203 <a href="definitions.html#stringargument">string arguments.</a>
206 <div class="box-tip">
208 <span class="tip">Tip:</span>
209 Get familiar with mom at her default settings before exploring the
210 control macros. Put her through her paces. See how she behaves.
211 Get to know what she feels like and how she looks, both in your
212 text editor and on the printed page. Then, if you don’t like
213 something, use this documentation to find the precise macro you need
214 to change it. There are tons of control macros. Reading up on them
215 and trying to remember them all might lead you to think that mom is
216 complex and unwieldy, which is not only untrue, but would offend her
221 <div class="box-important">
223 <span class="important">Important:</span>
224 The family, font, point size, colour and leading control macros have
226 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>,
227 except where noted throughout this documentation.
230 <p class="tip-bottom">
231 Please also note that the defaults listed with the control macros
233 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>
234 unless a default for <kbd>TYPEWRITE</kbd> is also given.
238 <h3 id="control-macro-args" class="docs">Arguments to the control macros</h3>
240 <h4 id="family-and-font" class="docs" style="margin-top: 1em; margin-bottom: -.75em;">Family and font</h4>
243 The arguments to the control macros that end in _FAMILY or _FONT are
245 <a href="typesetting.html#family">FAMILY</a>
247 <a href="typesetting.html#font">FT</a>.
250 <h4 id="point-size" class="docs" style="margin-top: -.5em; margin-bottom: -.75em;">Point size</h4>
253 Control macros that end in _SIZE always take
254 the form <kbd>+<n></kbd> or <kbd>-<n></kbd> where
255 <n> is the number of
256 <a href="definitions.html#picaspoints">points</a>
257 larger (+) or smaller (-) than the point size of paragraphs
258 you want the document element to be. For example, to set
259 blockquotes 2 points smaller than the type in paragraphs, do
261 <span class="pre-in-pp">
264 There’s no need for a
265 <a href="definitions.html#unitofmeasure">unit of measure</a>
266 with the _SIZE control macros; points is assumed.
269 <h4 id="color" class="docs" style="margin-top: -.5em; margin-bottom: -.75em;">Colour</h4>
272 Control macros that end in _COLOR take as their argument a colour
273 name pre-defined (or “initialized”) with
274 <a href="color.html#newcolor">NEWCOLOR</a>
276 <a href="color.html#xcolor">XCOLOR</a>.
277 For example, if you want your
278 <a href="#linebreak">author linebreaks</a>
279 to be red, once you’ve defined or initialized the colour, red,
281 <span class="pre-in-pp">
287 <h4 id="lead" class="docs" style="margin-top: -.5em; margin-bottom: -.75em;">Lead/linespacing</h4>
290 Control macros that end in _AUTOLEAD take the same argument as
291 <a href="typesetting.html#autolead">AUTOLEAD</a>,
292 <i>viz.</i> a digit that represents the number of points to add to
293 the tag’s point size to arrive at its
294 <a href="definitions.html#leading">leading</a>.
295 For example, to set footnotes
296 <a href="definitions.html#solid">solid</a>, do
298 <span class="pre-in-pp">
301 To set footnotes with a 1-point lead (ie with the line spacing
302 one point greater than the footnote’s point size), do
304 <span class="pre-in-pp">
309 <div class="box-tip" style="margin-top: -1.25em;">
311 <span class="note">Note:</span>
312 _AUTOLEAD control macros do not have a <kbd>FACTOR</kbd> argument.
317 <h4 id="control-indents" class="docs" style="margin-top: -.75em; margin-bottom: -.75em;">Indents</h4>
321 <a href="#para-indent">PARA_INDENT</a>,
322 the argument to control macros that end in _INDENT can take
323 either a single numeral (whole numbers only, no decimal fractions)
325 <a href="definitions.html#unitofmeasure">unit of measure</a>
326 appended to it, or a digit (including decimal fractions) <i>with</i>
327 a unit of measure appended.
331 A digit <i>without</i> a unit of measure appended represents by
332 how much you want your paragraph first-line indents (set with
333 PARA_INDENT) multiplied to achieve the correct indent for a
334 particular tag. For example,
336 <span class="pre-in-pp">
340 means that blockquotes will be indented from the left and right
341 margins by twice the size of the paragraph indent, or 4
342 <a href="definitions.html#em">ems</a>.
346 A digit <i>with</i> a unit of measure appended defines an absolute
347 indent, relative to nothing. In the following, blockquotes will be
349 <a href="definitions.html#picaspoints">picas</a>
351 <a href="definitions.html#picaspoints">points</a>,
352 regardless of the paragraph indent.
354 <span class="pre-in-pp">
356 .BLOCKQUOTE_INDENT 3P+6p
360 <h4 id="quad" class="docs" style="margin-top: -1em; margin-bottom: -.75em;">Quad/justification style</h4>
363 Control macros that end in _QUAD take the same arguments as
364 <a href="typesetting.html#quad">QUAD</a>.
367 <h4 id="underline" class="docs" style="margin-bottom: -.75em;">Underline style, rule weight</h4>
370 If mom gives the option to underline a document element, the weight
371 of the underline and its distance from the
372 <a href="definitions.html#baseline">baseline</a>
373 are controlled by macros that end in _UNDERSCORE or _UNDERLINE.
374 These macros take the following arguments:
376 <span class="pre-in-pp">
377 DOUBLE - double underscore
378 <weight> - the underscore weight (in points, no unit of measure required
379 <distance> - distance from baseline (unit of measure required)
380 <rule gap> - distance between double underscore rules (unit of measure required_
382 <kbd>DOUBLE</kbd> by itself will double-underscore the element. The
383 remaining arguments must be entered in the order given. You may not
384 skip over any of them, which means that if you only wish to change
385 <kbd><rule gap></kbd>, you must still enter a
386 <kbd><weight></kbd> and <kbd><distance></kbd> argument.
390 Page elements that are separated from
391 <a href="definitions.html#running">running text</a>
392 by a rule (ie page headers, page footers and footnotes) are
393 controlled by macros that end in _RULE_WEIGHT.
397 The weight argument to _UNDERLINE macros is the same as the argument
399 <a href="inlines.html#rule-weight">RULE_WEIGHT</a>,
400 as is the argument to _RULE_WEIGHT macros.
403 <h3 id="grouping" class="docs">Grouping control macros</h3>
406 As of version 2.1, it is possible to group control macros for a
407 particular tag into a single <kbd><element>_STYLE</kbd> macro.
408 For example, rather than setting the family, size, and indent of
409 <a href="#blockquote-intro">BLOCKQUOTES</a>
412 <span class="pre-in-pp">
415 .BLOCKQUOTE_INDENT 4P
417 you can enter the same style parameter changes with
419 <span class="pre-in-pp">
425 <kbd><element>_STYLE</kbd> macros use
426 “keyword/value” pairs (<kbd>FAMILY</kbd> is a keyword,
427 <kbd>H</kbd> is a value), and may be entered entirely on one line,
428 or, as the example shows, broken into several readable lines using
429 the backslash. The macro itself and all but the last keyword/value
430 pair require the backslash when this style is used.
434 Not all the control macros for a particular tag may be available
435 with an <kbd><element>_STYLE</kbd> macro. Generally speaking,
436 though, if a tag has control macros for
438 <span class="pre-in-pp">
446 those parameters may be used within an
447 <kbd><element>_STYLE</kbd> macro.
450 <div class="box-tip">
452 <span class="note">Note:</span>
453 If you need to reverse the sense of <kbd>CAPS</kbd>,
454 <kbd>SMALLCAPS</kbd> or <kbd>UNDERSCORE/UNDERLINE</kbd>, which
455 do not take a value after the keyword, use <kbd>NO_CAPS</kbd>,
456 <kbd>NO_SMALLCAPS</kbd> and <kbd>NO_UNDERSCORE/NO_UNDERLINE</kbd>.
460 <div class="rule-short"><hr/></div>
462 <!-- ==================================================================== -->
464 <h2 id="epigraph-intro" class="macro-group">Epigraphs</h2>
466 <ul style="margin-left: -.5em;">
467 <li><a href="#epigraph">Tag: EPIGRAPH</a></li>
468 <li><a href="#epigraph-control">Epigraph control macros and defaults</a></li>
472 <a href="definitions.html#epigraph">Epigraphs</a>
473 colour, flavour, or comment on the document they precede.
474 Typically, they are centred at the top of a document’s first page
475 (underneath the title) and set in a smaller point size than that of
480 By default, mom sets epigraphs centred and
481 <a href="definitions.html#filled">unfilled</a>;
482 this lets you input them on a line for line basis. This behaviour
483 can be changed to accomodate
484 <a href="definitions.html#filled">filled</a>
485 epigraph “blocks.”
490 <div class="macro-id-overline">
491 <h3 id="epigraph" class="macro-id">EPIGRAPH</h3>
494 <div class="box-macro-args">
495 Macro: <b>EPIGRAPH</b> <kbd class="macro-args"><toggle> | [ BLOCK ]</kbd>
499 EPIGRAPH is a toggle, used like this:
501 <span class="pre-in-pp">
503 <text of epigraph>
506 <kbd>OFF</kbd>, above, could be anything—say, <kbd>Q</kbd> or
507 <kbd>X</kbd>—since any argument other than <kbd>BLOCK</kbd>
512 If given the argument, <kbd>BLOCK</kbd>, EPIGRAPH sets epigraphs
513 <a href="definitions.html#filled">filled</a>,
514 justified or quadded in the same direction as paragraphs, indented
515 equally from both the left and right margins.
519 If a block-style epigraph runs to more than one paragraph (unlikely,
520 but conceivable), you must introduce every paragraph—including
521 the first—with the
526 <div class="box-tip">
528 <span class="note">Note:</span>
529 EPIGRAPH should only be used at the top of a document (ie just
531 <a href="docprocessing.html#start">START</a>)
532 or after headings. The latter is not especially recommended, but it
533 does work. In all other places where you want quotes or cited text,
535 <a href="#quote">QUOTE</a>
537 <a href="#blockquote">BLOCKQUOTE</a>.
541 <div class="box-tip">
543 <span class="tip">Tips on vertical spacing around epigraphs:</span>
544 If you wish to change the vertical position of an epigraph with
545 <a href="typesetting.html#space">SPACE</a>/
546 <a href="typesetting.html#ald">ALD</a>/
547 <a href="typesetting.html#rld">RLD</a>,
548 do so before invoking <kbd>.EPIGRAPH</kbd>, like this:
550 <span class="pre-in-pp">
556 If you’re setting a document in
557 <a href="docprocessing.html#columns">columns</a>
558 and you’d like to add or subtract space <i>after</i> the
559 epigraph, which is centred over the top of both columns, the place
560 to do it is inside the epigraph, like this:
562 <span class="pre-in-pp">
568 If you were to add the <kbd>.SP 1v</kbd> outside the epigraph, the
569 space would be added to the top of the leftmost column only,
570 resulting in unbalanced columns.
574 <div class="defaults-container" style="padding-bottom: 8px;">
575 <h3 id="epigraph-control" class="docs defaults" style="margin-top: -.25em;">EPIGRAPH control macros and defaults</h3>
579 <a href="#control-macro-args">Arguments to the control macros</a>.
581 The following EPIGRAPH control macros may also be
582 <a href="#grouping">grouped</a>
583 using EPIGRAPH_STYLE.
586 <span class="pre defaults">
587 .EPIGRAPH_FAMILY default = prevailing document family; default is Times Roman
588 .EPIGRAPH_FONT default = roman
589 .EPIGRAPH_SIZE default = -1.5 (points)
590 .EPIGRAPH_COLOR default = black
591 .EPIGRAPH_AUTOLEAD default = 2 points
592 (The next two apply to “block” style epigraphs only)
593 .EPIGRAPH_INDENT* (see Note on EPIGRAPH_INDENT, below)
595 *Indent here refers to the indent from both the left and right margins
596 that centres block style epigraphs on the page.
600 <div class="box-notes">
601 <h3 id="epigraph-indent" class="docs notes" style="margin-bottom: -.75em;">Note on EPIGRAPH_INDENT</h3>
603 <p style="margin-top: .5em;">
604 If you pass EPIGRAPH_INDENT an integer with no unit of measure
605 appended, the integer represents the amount by which to multiply
606 PARA_INDENT to arrive at an indent for block style epigraphs. If
607 you append a unit of measure to the argument, the indent will be
608 precisely the amount specified.
612 Please also note that if your PARA_INDENT is <kbd>0</kbd> (ie
613 no indenting of the first line of paragraphs), you must set an
614 EPIGRAPH_INDENT yourself, with a unit of measure appended to the
615 argument. Mom has no default for EPIGRAPH_INDENT if paragraph first
616 lines are not being indented.
619 <p class="tip-bottom">
620 The default value for EPIGRAPH_INDENT is <kbd>3</kbd> (for
621 <a href="docprocessing.html#printstyle">PRINTSTYLE TYPESET</a>)
622 and <kbd>2</kbd> (for
623 <a href="docprocessing.html#printstyle">PRINTSTYLE TYPEWRITE</a>).
627 <div class="rule-short"><hr/></div>
629 <!-- ==================================================================== -->
631 <h2 id="pp-intro" class="macro-group">Paragraphs</h2>
633 <ul style="margin-left: -.5em;">
634 <li><a href="#pp">Tag: PP</a></li>
635 <li><a href="#pp-control">Paragraph control macros and defaults</a></li>
639 The paragraph macro is the one you use most often. Consequently,
640 it’s one of most powerful, yet simplest to use—just the
641 letters PP. No arguments, nothing. Just <kbd>.PP</kbd> on a line
642 by itself any time, in any document element, tells mom you want to
643 start a new paragraph. The spacing and indent appropriate to where
644 you are in your document are taken care of automatically.
648 By default, mom does not indent the first paragraph of a document,
649 nor paragraphs that fall immediately after headings. The first
650 paragraphs of blockquotes and block-style epigraphs are also not
651 indented. This behaviour can be changed with the control macro
652 <kbd><a href="#para-indent-first">INDENT_FIRST_PARAS</a></kbd>.
656 Mom does not deposit a blank line between paragraphs. If you want
657 her to do so, use the control macro
658 <a href="#pp-space">PARA_SPACE</a>.
659 (I don’t recommend using this macro with
660 <a href="typesetting.html#printstyle">PRINTSTYLE TYPEWRITE</a>.)
664 Note that mom does not provide widow or orphan control for
665 paragraphs (ie even if only one line of a paragraph fits at the
666 bottom of a page, she will set it on that page). The reason for
667 this is that writers of fiction often have single-line paragraphs
668 (e.g., in dialogue). Groff’s simplistic orphan control will
669 break these one-liners—if they fall at the bottom of the
670 page—to a new page, which is not what you want.
673 <div class="box-tip">
675 <span class="tip">Tip:</span>
676 If you would prefer not to clutter up your files with
677 <kbd>.PP</kbd>s, you can use groff’s “blank line
678 macro” to instruct groff to interpret blank lines as
679 <kbd>.PP</kbd>’s, like this:
681 <span class="pre-in-pp">
689 <div class="macro-id-overline">
690 <h3 id="pp" class="macro-id">PP</h3>
693 <div class="box-macro-args">
697 <kbd>.PP</kbd> (on a line by itself, of course) tells mom to start a
699 <a href="#pp-intro">above</a>
700 for more details. In addition to regular text paragraphs, you can
702 <a href="#epigraph-intro">epigraphs</a>,
703 <a href="#blockquote-intro">blockquotes</a>,
704 <a href="#endnote-intro">endnotes</a>
706 <a href="#footnote-intro">footnotes</a>.
709 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
710 <h3 id="pp-control" class="docs defaults">PP control macros and defaults</h3>
713 The PP macro being so important, and representing, as it were, the
714 basis of everything that goes on in a document, its control is
715 managed in a manner somewhat different from other document element
716 tags. As a result, the control macros for PP may not be
717 <a href="#grouping">grouped</a>
718 within a <kbd>_STYLE</kbd> macro.
721 <ol style="margin-top: .5em; padding-bottom: .5em;">
722 <li><a href="#pp-family">Family control</a></li>
723 <li><a href="#pp-font">Font control</a></li>
724 <li><a href="#pp-color">Paragraph colour</a></li>
725 <li><a href="#pp-leading">Leading/linespacing control</a></li>
726 <li><a href="#pp-just-quad">Justification/quad control</a></li>
727 <li><a href="#para-indent">First-line indent control</a></li>
728 <li><a href="#para-indent-first">Initial paragraphs indent control</a></li>
729 <li><a href="#pp-space">Inter-paragraph spacing</a></li>
733 <h4 id="pp-family" class="docs" style="margin-top: -1.5em;">1. Family control</h4>
737 <a href="definitions.html#family">family</a>
739 <a href="typesetting.html#family">FAMILY</a>
741 <a href="docprocessing.html#start">START</a>,
743 <a href="docprocessing.html#doc-family">DOC_FAMILY</a>
744 afterwards. Please note that both globally affect the family of
745 every element in the document.
749 If you wish to change the family for regular text paragraphs only,
750 invoke <kbd>.FAMILY</kbd> immediately after <kbd>.PP</kbd> in every
751 paragraph whose family you wish to differ from the prevailing
752 document family. Alternatively, set the family and font for
753 paragraphs with PP_FONT, giving it a complete family+font name, e.g.,
755 <span class="pre-in-pp">
758 which would make the font used in paragraphs Times Roman Italic.
762 Mom’s default paragraph (and document) family is Times Roman.
765 <div class="box-tip">
767 <span class="note">Note:</span>
768 Neither FAMILY nor DOC_FAMILY has any effect when the PRINTSTYLE is
769 <kbd>TYPEWRITE</kbd>.
773 <h4 id="pp-font" class="docs" style="margin-top: -.25em;">2. Font control</h4>
777 <a href="definitions.html#font">font</a>
778 used in regular text paragraphs, use PP_FONT, which takes the same
780 <a href="typesetting.html#font">FT</a>.
781 PP_FONT may be used before or after
782 <a href="docprocessing.html#start">START</a>.
783 Only regular text paragraphs are affected; paragraphs in
784 <a href="#epigraph-intro">epigraphs</a>,
785 <a href="#blockquote-intro">blockquotes</a>,
786 <a href="#endnote-intro">endnotes</a>,
788 <a href="#footnote-intro">footnotes</a>
789 remain at their default setting (medium roman) unless you change
790 them with the appropriate control macros.
794 Mom’s default paragraph font is medium roman.
797 <div class="box-tip">
799 <span class="note">Note:</span>
800 PP_FONT has no effect when the PRINTSTYLE is <kbd>TYPEWRITE</kbd>.
801 If you wish to set whole typewritten paragraphs in italic, invoke
802 invoke <kbd>.FT I</kbd> immediately after <kbd>.PP</kbd>. Depending
804 <a href="docprocessing.html#printstyle-italics">UNDERLINE_ITALIC</a>
806 <a href="docprocessing.html#printstyle-italics">ITALIC_MEANS_ITALIC</a>
807 is currently enabled, the paragraph will be set underlined or in
808 italic. Neither persists past the end of the paragraph.
812 <h4 id="pp-color" class="docs" style="margin-top: -.25em;">3. Paragraph colour</h4>
815 Mom has no special control macro for colourizing paragraphs. If you
816 wish a colourized paragraph, you must use the macro
817 <a href="color.html#color">COLOR</a>
819 <a href="definitions.html#inline">inline escape</a>,
820 <a href="color.html#color-inline"><kbd>\*[<colourname>]</kbd></a>,
821 <i>after</i> <kbd>.PP</kbd>. The colour must be one pre-defined (or
822 “initialized”) with
823 <a href="color.html#newcolor">NEWCOLOR</a>
825 <a href="color.html#xcolor">XCOLOR</a>.
829 Please note that unless you change the colour back to it’s
830 default (usually black) at the end of the paragraph, all subsequent
831 paragraphs will be set in the new colour, although most other
832 elements of your document will continue to be set in the default
833 colour (usually black).
837 For example, assuming you have defined the colour, blue,
839 <span class="pre-in-pp">
842 <first paragraph>
843 .HEADING 1 "Monty Python"
844 .HEADING 2 "The Origins of Spam"
846 <second paragraph>
848 the first paragraph will be blue, the head and subhead will be in
849 the document’s default colour (usually black), and the second
850 paragraph will be in blue.
853 <h4 id="pp-leading" class="docs" style="margin-top: -.25em;">4. Leading</h4>
857 <a href="definitions.html#leading">leading</a>
859 <a href="typesetting.html#leading">LS</a>
861 <a href="docprocessing.html#start">START</a>,
863 <a href="docprocessing.html#doc-lead">DOC_LEAD</a>
864 afterwards. Please note that either method globally affects the
865 leading and spacing of every document element (except
866 <a href="definitions.html#header">headers</a>
868 <a href="definitions.html#footer">footers</a>).
872 If you wish to change the leading of regular text paragraphs only,
873 invoke <kbd>.LS</kbd> immediately after <kbd>.PP</kbd> in any
874 paragraph whose leading you wish to change.
877 <div class="box-tip">
879 <span class="note">Warning:</span>
880 Changing a paragraph’s leading will almost certaininly screw
881 up mom’s ability to balance the bottom margin of pages.
882 Should you absolutely require a change of paragraph’s leading and
883 need to get mom back on track leading-wise afterwards, use the
884 <a href="docprocessing.html#shim">SHIM</a>
886 <a href="docprocessing.html#shim">FLEX</a>
887 macro, depending on which
888 <a href="docprocessing.html#vertical-whitespace-management">vertical whitespace management</a>
889 strategy you are using.
894 Mom’s default paragraph leading (document leading)
895 is 16 points, adjusted to fill the page.
898 <h4 id="pp-just-quad" class="docs" style="margin-top: -.25em;">5. Justification/quad</h4>
901 The justification/quad-direction of regular text paragraphs (ie
902 <a href="definitions.html#just">justified</a>,
904 <a href="definitions.html#filled">filled</a>
906 <a href="definitions.html#quad">quadded</a>
907 left/right/centre) is set with
908 <a href="typesetting.html#justify">JUSTIFY</a>
910 <a href="typesetting.html#quad">QUAD</a>
912 <a href="docprocessing.html#start">START</a>,
914 <a href="docprocessing.html#doc-quad">DOC_QUAD</a>
919 Please note that either method of setting the paragraph
920 justification/quad-direction also affects
921 <a href="#epigraph-intro">epigraphs</a>,
922 <a href="#footnote-intro">footnotes</a>,
924 <a href="#endnote-intro">endnotes</a>,
926 <a href="#blockquote-intro">blockquotes</a>
927 (whose default is quad left unless you change it with
928 <a href="#blockquote">BLOCKQUOTE_QUAD</a>).
929 The justification/quad-direction of epigraphs and footnotes may be
930 changed with their own control macros.
934 If you wish to change the justification/quad-direction of individual
936 <a href="typesetting.html#justify"><kbd>.JUSTIFY</kbd></a>
938 <a href="typesetting.html#quad"><kbd>.QUAD</kbd></a>
939 on the line immediately after <kbd>.PP</kbd>. Only the paragraph
940 in question gets justified or quadded differently; subsequent
941 paragraphs remain unaffected.
945 Mom’s default justification/quad-direction for paragraphs
947 <a href="docprocessing.html#printstyle">PRINTSTYLE</a>
948 is <kbd>TYPESET</kbd> is justified; for PRINTSTYLE
949 <kbd>TYPEWRITE</kbd>, the default is quad left.
952 <h4 id="para-indent" class="docs" style="margin-top: -.25em;">6. First-line indent</h4>
955 The first-line indent of paragraphs is controlled by PARA_INDENT,
956 which takes one argument: the size of the indent. PARA_INDENT may be
958 <a href="docprocessing.html#start">START</a>.
960 <a href="definitions.html#unitofmeasure">unit of measure</a>
961 is required; fractional sizes are allowed. Thus, to set the
962 paragraph indent to 4-1/2
963 <a href="definitions.html#em">ems</a>, do
965 <span class="pre-in-pp">
968 In addition to establishing the basic first line-indent of
969 paragraphs, PARA_INDENT also affects
970 <a href="#epigraph-intro">epigraphs</a>,
971 <a href="#quote-intro">quotes</a>
973 <a href="#blockquote-intro">blockquotes</a>,
974 whose overall indenting from the left and (where applicable)
975 right margins is relative to PARA_INDENT if
976 the _INDENT control macro for these tags has
978 <a href="definitions.html#unitofmeasure">unit of measure</a>
979 appended to it. Furthermore, the first-line indent of paragraphs
980 within these document elements (as well as footnotes) is also
981 relative to PARA_INDENT (always 1/2 of PARA_INDENT), hence they are
986 Mom’s default PARA_INDENT is 2 ems for
987 <a href="docprocessing.html#printstyle">PRINTSTYLE</a>
988 <kbd>TYPESET</kbd> and 3 picas (1/2 inch) for
989 <a href="docprocessing.html#printstyle">PRINTSTYLE</a>
990 <kbd>TYPEWRITE</kbd>.
993 <h4 id="para-indent-first" class="docs" style="margin-top: -.25em;">7. Indenting initial paragraphs</h4>
996 By default, mom does not indent the first paragraph of a document,
997 nor the first paragraph after a heading or
998 <a href="#linebreak-intro">linebreak</a>,
999 nor the first paragraphs of
1000 <a href="#epigraph-intro">epigraphs</a>,
1001 <a href="#blockquote-intro">blockquotes</a>,
1002 <a href="#endnote-intro">endnotes</a>
1004 <a href="#footnote-intro">footnotes</a>
1005 that run to more than one paragraph.
1009 If you wish to have first paragraphs indented, invoke the macro
1010 <kbd>.INDENT_FIRST_PARAS</kbd> without an argument, either before or
1012 <a href="docprocessing.html#start">START</a>.
1013 INDENT_FIRST_PARAS is a toggle macro, therefore passing it any
1014 argument (<b>OFF, QUIT, Q, X</b>...) cancels its effect, meaning
1015 that first paragraphs will once again not be indented.
1018 <h4 id="pp-space" class="docs">8. Inter-paragraph spacing</h4>
1021 By default, mom does not insert a blank line between
1022 paragraphs. If you would like her to do so, invoke the macro
1023 <kbd>.PARA_SPACE</kbd> without an argument, either before or after
1024 <a href="docprocessing.html#start">START</a>.
1025 PARA_SPACE is a toggle macro, therefore passing it any argument
1026 (<b>OFF, QUIT, Q, X</b>...) cancels its effect, meaning that
1027 paragraphs will once again not be separated by a blank line.
1031 If you would like to space paragraphs by less than a full linespace,
1032 invoke PARA_SPACE with the amount of space you want as a numeric
1034 <a href="definitions.html#unitofmeasure">unit of measure</a>
1035 is required. For example, to space paragraphs by one-quarter
1037 <span class="pre-in-pp">
1040 is how you’d do it, or, if you want six points between
1042 <span class="pre-in-pp">
1047 <p style="margin-top: -1em" >
1049 <a href="docprocessing.html#flex-vs-shim">flex-spacing</a>
1050 is enabled, additional flexible vertical whitespace can be inserted
1051 between spaced paragraphs with the
1052 <a href="docprocessing.html#flex">FLEX</a>
1057 PARA_SPACE is not recommended for use with PRINTSTYLE TYPEWRITE
1058 unless you give PRINTSTYLE the <kbd>SINGLESPACE</kbd> option.
1061 <div class="box-tip">
1063 <span class="note">Note:</span>
1064 If PARA_SPACE is on, mom spaces only those paragraphs that come
1065 after an initial paragraph. Initial paragraphs are those that come
1066 immediately after the
1067 <a href="definitions.html#docheader">docheader</a>
1068 (ie the start of a document),
1069 <a href="#epigraph-intro">epigraphs</a>,
1070 <a href="#heading-intro">headings</a>,
1072 <a href="#linebreak-intro">linebreaks</a>.
1073 (The first paragraph after these document elements requires no
1074 blank line to separate it from other paragraphs.)
1077 <p class="tip-bottom">
1078 Sometimes, you can be fairly deep into a document before using PP
1079 for the first time, and when you do, because mom is still waiting
1080 for that initial paragraph, she doesn’t space it with a blank
1081 line, even though you expect her to. The simple workaround for this
1082 is to invoke <kbd>.PP</kbd> twice (in succession) at the point you
1083 expect the blank line to appear.
1087 <div class="rule-short"><hr/></div>
1089 <!-- ==================================================================== -->
1091 <h2 id="heading-intro" class="macro-group">Headings</h2>
1093 <ul style="margin-left: -.5em;">
1094 <li><a href="#heading">Tag: HEADING</a></li>
1095 <li><a href="#head-spacing-notes">Spacing of headings</a></li>
1096 <li><a href="#heading-control">Heading control macros and defaults</a></li>
1097 <li><a href="#prefix-chapter-number">Prefixing chapter numbers</a></li>
1098 <li><a href="#oldstyle-headings">Oldstyle headings</a>
1099 <ul style="list-style-type: circle; margin-left: -1.25em">
1100 <li><a href="#parahead">Important information about PARAHEAD</a>
1101 <ul style="list-style-type: square; margin-left: -1.25em">
1102 <li><a href="#parahead-usage">Correct usage of paraheads</a></li>
1108 Heads, subheads, and deeper levels of section headings are handled by
1109 a single macro HEADING to which you pass an argument stating the
1110 desired level. <kbd>.HEADING 1 "<text>"</kbd>, for
1111 example, would be a main head; <kbd>.HEADING 2
1112 "<text>"</kbd> would be a subhead; etc.
1116 In addition to printing headings in the body of your document,
1117 HEADING collects the heading as an entry for the Table of Contents,
1118 if the document is to have one, and the
1119 <a href="definitions.html#pdfoutline">PDF outline</a>.
1120 With the <kbd>NAMED</kbd> argument, it furthermore acts as a
1122 <a href="definitions.html#pdflink">PDF links</a>.
1126 Headings can also be numbered on a per-heading-level basis,
1127 hierarchically and concatenatively, e.g.,
1129 <span class="pre-in-pp">
1139 By default, a blank line precedes headings, regardless of the level.
1140 Mom initially sets up a very basic style for nine levels of heading,
1141 of which you can have an infinite number, although as has been said,
1142 if you need more than four levels of heading, you should consider
1143 re-organizing your material. The pared-down style of mom’s
1144 defaults is intentional; it is expected that you will design
1145 headings to your own specifications with the
1146 <a href="definitions.html#controlmacro">control macro</a>,
1147 <a href="#heading-style">HEADING_STYLE</a>.
1151 It is very good practice, and strongly recommended, that you respect
1152 the hierarchy of headings, using level-1 for main heads, level-2 for
1153 subheads, level-3 for subsubheads, etc. The ease of designing and
1154 re-designing the style for each level, plus mom’s very basic
1155 defaults, are meant, in part, to prevent the whimsical misuse of
1156 a particular heading level just because its style appeals to you.
1161 <div class="macro-id-overline">
1162 <h3 id="heading" class="macro-id">HEADING</h3>
1165 <div class="box-macro-args">
1166 Macro: <b>HEADING</b> <kbd class="macro-args"><level> [
1167 PARAHEAD ] [ NAMED <pdf-id> ] "<heading text>"
1171 The first argument to HEADING is the <kbd>level</kbd>. Level 1 is
1172 analogous to a main head; level 2 is analogous to a subhead; level 3
1173 is analogous to a subsubhead; etc.
1177 The second (optional) argument, <kbd>PARAHEAD</kbd>, instructs mom
1178 that the heading should be treated as a
1179 <a href="definitions.html#parahead">paragraph head</a>.
1180 If HEADING is being used to create a parahead, it must come after
1181 <a href="#pp">PP</a>,
1186 The indent applied to a parahead is the same as what would be
1187 expected from a paragraph without the parahead (see
1188 <a href="#para-indent-first">Indenting initial paragraphs</a>).
1189 If you wish that a paragraph introduced by a parahead not be
1191 <a href="#para-indent">PARA_INDENT</a>
1192 to set the paragraph indent to zero, then reset the indent for
1193 subsequent paragraphs.
1197 The optional third argument, <kbd>NAMED <id></kbd>, gives the
1198 heading a unique, non-printing identifier that allows it to
1199 referenced from anywhere in the final PDF document with the PDF_LINK
1200 macro, provided the mom file is processed with
1201 <a href="using.html#pdfmom" style="font-weight: bold">pdfmom</a>.
1202 PDF_LINK usage is explained in the manual,
1203 <a href="http://www.schaffter.ca/mom/pdf/mom-pdf.pdf"><span class="book-title">Producing PDFs with groff and mom</span></a>.
1207 The final argument is the text of the heading, surrounded by double
1208 quotes. Long headings that are likely to exceed the current
1209 line length should be broken into chunks, each surrounded by
1210 double-quotes, like this:
1212 <span class="pre-in-pp">
1213 .HEADING 1 "A needlessly long but instructive" "first level heading"
1217 <div class="box-tip">
1219 <span class="note">Note:</span>
1220 If a heading falls near the bottom of an output page and mom is
1221 unable to fit the heading plus at least one line of text underneath
1222 it, she will set the head at the top of the next page.
1226 <div class="box-tip">
1227 <h3 id="head-spacing-notes" class="docs" style="padding-top: 9px; font-size: 100%; text-transform: none">Spacing of headings</h3>
1230 As described above, mom inserts a blank line before each heading.
1231 If the leading of your document never changes, and you introduce no
1232 additional space into the text—as, for example, between
1233 paragraphs—this will result in perfectly equal whitespace before
1238 If, however, you disrupt the regular placement of text on
1240 <a href="definitions.html#baseline-grid">baseline grid</a>,
1241 HEADING adds extra whitespace to the blank line according to the
1242 <a href="docprocessing.html#vertical-whitespace-management">vertical whitespace management</a>
1243 strategy in effect. This, along with a similar strategy for
1244 whitespace around quotes, blockquotes, and
1245 <a href="definitions.html#float">floated</a>
1247 <a href="definitions.html#preprocessor">pre-processor material</a>
1248 is what allows mom to balance the bottom
1249 margins of pages effectively.
1253 It occasionally happens that the extra whitespace becomes
1254 noticeable. This typically occurs when the amount of whitespace
1255 adjustment approaches the value of the current leading. The result
1256 looks like two blank lines instead of one. When this happens, a
1257 simple but effective fix is to reduce the space before the heading
1258 by backing up one line, either with
1260 <span class="pre-in-pp">
1265 <span class="pre-in-pp">
1268 This results in slightly less whitespace than normal, but the
1269 difference is usually not apparent. Alternatively, you may pass the
1270 <kbd>NO_SHIM</kbd> or <kbd>NO_FLEX</kbd> argument to
1271 <a href="#heading-style">HEADING_STYLE</a>
1272 to prevent shimming or flex-spacing of any particlar heading level
1273 either globally or selectively. If shimming/flex-spacing is
1274 disabled selectively with
1276 <span class="pre-in-pp">
1277 .HEADING_STYLE <n> NO_SHIM | NO_FLEX
1279 it can be re-enabled for the heading level with
1281 <span class="pre-in-pp">
1282 .HEADING_STYLE <n> SHIM | FLEX
1287 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
1288 <h3 id="heading-control" class="defaults" style="margin-left: 6px; margin-bottom: -1em">HEADING control and defaults</h3>
1290 <div style="padding-left: 15px; padding-right: 15px">
1291 <p style="margin-bottom: 1em">
1292 By default, mom pre-initializes nine levels of headings to use
1293 the bold font of the prevailing document family, with a baseline
1294 adjustment of 1/10 of the current
1295 <a href="definitions.html#leading">leading</a>.
1296 In addition, level-1 headings are 3 points larger than running text,
1297 level-2 headings 2 points larger, and level 3-headings 1 point
1298 larger. The remaining 6 levels are the same size as running text.
1299 A single blank line precedes all levels of heading.
1302 <h4 id="heading-style" class="docs" style="margin-bottom: -.5em">The HEADING_STYLE macro</h4>
1305 Styling heads is accomplished with a single macro
1307 <span class="pre-in-pp">
1308 .HEADING_STYLE <level>
1310 where <kbd><level></kbd> is the numeric heading level to which
1315 HEADING_STYLE takes any or all of the following arguments,
1316 which may be given in any order:
1318 <span class="pre defaults">
1319 FAMILY <family> \
1321 SIZE <+|-size> \
1322 QUAD <direction> \
1323 COLOR <colour> \
1324 UNDERSCORE <weight> <gap> | NO_UNDERSCORE \
1325 UNDERSCORE2 <weight> <gap1> <gap2> | NO_UNDERSCORE2 \
1327 SMALLCAPS | NO_SMALLCAPS \
1328 BASELINE_ADJUST <amount to raise heading from the baseline> \
1329 NEEDS <lines of text required beneath the heading >
1330 SPACE_AFTER | NO_SPACE_AFTER \
1331 NUMBER | NO_NUMBER \
1338 You may enter your entire argument list on a single line, or, if it
1339 is very long, break it into shorter lines with the
1340 “line-continued” backslash {<kbd>\</kbd>), as shown
1344 <p class="defaults" style="margin-bottom: 1em">
1345 The arguments to <kbd>FAMILY</kbd>, <kbd>FONT</kbd>,
1346 <kbd>SIZE</kbd>, <kbd>QUAD</kbd>, and
1347 <kbd>COLOR</kbd> are the same as
1348 those you’d give to the
1349 <a href="#docelement-control">control macros</a>
1350 ending in _FAMILY, _FONT, _SIZE, _QUAD, or _COLOR. See
1351 <a href="#control-macro-args">Arguments to the control macros</a>.
1354 <p class="defaults" style="margin-bottom: 1em">
1355 <kbd>UNDERSCORE</kbd> and <kbd>UNDERSCORE2</kbd> require that a
1356 weight for the underscore be given, in points (decimal fractions
1357 allowed), but without the unit of measure <kbd>p</kbd> appended.
1358 They also require that the underscore's distance from the baseline
1359 be supplied; in the case of UNDERSCORE2, an additional gap argument
1360 representing the distance between the two underscores must be
1364 <p class="defaults" style="margin-bottom: 1em">
1365 The <kbd>CAPS</kbd> argument capitalizes the text of a heading
1366 level in the body of a document but not in the Table of
1367 Contents, where capitalization of entries is controlled by
1368 <a href="tables-of-contents.html#toc-entry-style">TOC_ENTRY_STYLE <n></a>.
1371 <p class="defaults" style="margin-bottom: 1em">
1372 <kbd>BASELINE_ADJUST</kbd> allows you to raise a heading slightly
1373 above the baseline on which it would otherwise sit. For aesthetic
1374 reasons, it is often desirable to introduce a small amount of space
1375 between a heading and the text following it. Since headings are
1376 preceded by a blank line, it is preferable to move the heading
1377 upward than to lower the text following it. The argument to
1378 BASELINE_ADJUST is the amount by which to raise the heading. It
1379 requires no <kbd>+</kbd> or <kbd>-</kbd> sign, and must have a
1380 <a href="definitions.html#unitofmeasure">unit of measure</a>
1384 <p class="defaults" style="margin-bottom: 1em">
1385 <kbd>NEEDS</kbd> lets you reserve the number of lines of text
1386 required beneath a heading, including fractions thereof (e.g.,
1387 “1.5” for one line of text plus half a linespace).
1388 If a heading falls near the bottom margin and there isn’t
1389 sufficient room for both the heading and the reserved space, mom
1390 will break to a new page for the heading. A
1391 <a href="definitions.html#unitofmeasure">unit of measure</a>
1392 should not be appended to the argument.
1395 <p class="defaults" style="margin-bottom: 1em">
1396 <kbd>SPACE_AFTER</kbd> inserts a blank line equal to the current
1397 <a href="definitions.html#leading">leading</a> after a HEADING.
1398 If you'd like a full linespace after a heading level, use
1399 <kbd>SPACE_AFTER</kbd>. If you'd like additional space before a
1400 heading level, you must introduce it yourself with
1401 <a href="typesetting.html#space">SPACE</a>
1403 <a href="typesetting.html#ald">ALD</a>.
1406 <p class="defaults" style="margin-bottom: 1em">
1407 <kbd>NUMBER</kbd> and <kbd>NO_NUMBER</kbd> allow you to determine
1408 whether mom prepends a hierarchic numbering scheme to a heading
1409 level in the body of a document. Numbering of Table of Contents
1410 entries is controlled separately with
1411 <a href="tables-of-contents.html#toc-entry-numbers">TOC_ENTRY_NUMBERS</a>.
1412 Mom also has a special macro to toggle whether to prefix a chapter
1413 number to numbered headings and Table of Contents entries,
1414 <a href="#prefix-chapter-number">PREFIX_CHAPTER_NUMBER</a>.
1417 <p class="defaults" style="margin-bottom: 1em">
1418 <kbd>SHIM</kbd> is not necessary if shimming is enabled
1419 globally, which it is by default; it exists to re-enable
1420 shimming for the heading level if you have previously passed
1421 HEADING_STYLE <kbd><n></kbd> a <kbd>NO_SHIM</kbd>
1422 argument. The <kbd>FLEX</kbd> and <kbd>NO_FLEX</kbd> arguments work
1423 the same way if flex-spacing is enabled.
1426 <p class="defaults" style="padding-bottom: .5em">
1427 The argument list is long, so you may want to break it into
1428 several lines by using the backslash character (<kbd>\</kbd>).
1429 Here's an example of how you might style a level 1 heading:
1431 <span class="pre defaults">
1436 BASELINE_ADJUST 3p \
1439 This creates a level-1 heading style that's bold, centred,
1440 underscored and numbered, raised by 3 points from the baseline.
1445 <!-- -PREFIX_CHAPTER_NUMBER- -->
1447 <div id="prefix-chapter-number" class="macro-id-overline" style="margin-top: -1em;">
1448 <h3 class="macro-id" style="text-transform: none; font-size: 105%;">Prefixing chapter numbers</h3>
1451 <div class="box-macro-args">
1452 Macro: <b>PREFIX_CHAPTER_NUMBER</b> <kbd class="macro-args"><none> | <chapter number as digit> | <anything></kbd>
1456 If you’ve requested numbering for any level of heading and
1457 you’d like mom, in addition, to prefix a chapter number to the
1458 numbering scheme, you can do so with PREFIX_CHAPTER_NUMBER.
1462 After you invoke <kbd>.PREFIX_CHAPTER_NUMBER</kbd>, mom will prepend
1463 the current chapter number to all headings you have requested be
1465 <a href="#heading-style"><kbd>.HEADING_STYLE <n> NUMBER</a>.
1466 Thus, assuming chapter number twelve (12):
1468 <span class="pre-in-pp">
1470 1.1. Level 2 heading
1474 <span class="pre-in-pp">
1475 12.1. LEVEL 1 HEADING
1476 12.1.1. Level 2 heading
1481 When you invoke <kbd>.PREFIX_CHAPTER_NUMBER</kbd> without an
1482 argument, mom checks to see whether the argument you passed to
1483 <a href="docprocessing.html#chapter">CHAPTER</a>
1484 is a digit. If it is, she immediately starts pre-pending the
1485 current chapter number to numbered head elements. If it isn’t
1486 (say you’ve called your chapter “One” instead
1487 of “1”), mom will abort with a request that you pass
1488 PREFIX_CHAPTER_NUMBER a digit representing the current chapter
1493 In collated documents, mom automatically increments
1494 the digit used by PREFIX_CHAPTER_NUMBER by one
1495 (current chapter digit + 1) every time you invoke <a
1496 href="rectoverso.html#collate"><kbd>.COLLATE</kbd></a>, even if
1497 you’ve (temporarily) turned off the prefixing of chapter
1498 numbers. Thus, even if you call your chapters “One”,
1499 “Two”, “Three” instead of “1”,
1500 “2”, “3”, mom will Do The Right Thing
1501 with respect to numbering head elements in all collated chapters
1502 following the first invocation of PREFIX_CHAPTER_NUMBER (assuming,
1503 of course, that the collated chapters are in incrementing order; if
1504 not, you must must put
1506 <span class="pre-in-pp">
1507 .PREFIX_CHAPTER_NUMBER <chapter number>
1509 somewhere after the invocation of COLLATE and before the first
1510 numbered head element of each collated document).
1514 PREFIX_CHAPTER_NUMBER can be disabled by passing it any argument
1515 other than a digit (e.g., <b>OFF, QUIT, END, X</b>, etc), although,
1516 as noted above, mom will keep, and—in the case of collated
1517 documents—increment the chapter number, allowing you to turn
1518 prefixing of chapter numbers to numbered head elements off and on
1519 according to your needs or whims.
1523 <span class="note">Note:</span>
1524 Because PREFIX_CHAPTER_NUMBER takes an (optional) digit representing
1525 the chapter number, it’s use need not be restricted to
1526 <a href="docprocessing.html#doctype">DOCTYPE <kbd>CHAPTER</kbd></a>.
1527 You can use it with any document type. Furthermore, even if
1528 your doctype isn’t <kbd>CHAPTER</kbd>, you can identify
1529 the document as a chapter for the purposes of numbering head
1530 elements by invoking the macro
1531 <a href="docprocessing.html#chapter"><kbd>.CHAPTER</kbd></a>
1533 <a href="definitions.html#numericargument">numeric argument</a>
1534 in your document setup.
1537 <div class="rule-short"><hr/></div>
1539 <!-- ==================================================================== -->
1541 <h2 id="oldstyle-headings-intro" class="macro-group">Oldstyle headings</h2>
1543 <ul style="margin-left: -.5em;">
1544 <li><a href="#oldstyle-headings">Macro: OLDSTYLE_HEADINGS</a></li>
1545 <li><a href="#head">Macro: HEAD</a></li>
1546 <li><a href="#subhead">Macro: SUBHEAD</a></li>
1547 <li><a href="#subsubhead">Macro: SUBSUBHEAD</a></li>
1551 In versions of mom prior to 2.0, headings were entered by their
1552 commonly used names, <i>viz.</i> HEAD, SUBHEAD, and SUBSUBHEAD. The
1554 <a href="#heading-intro">HEADING</a>
1555 scheme allows for greater flexibility, and permits seamless
1556 integration with PDF output.
1560 Documents created with pre-2.0 versions may still use the oldstyle
1561 heading names, as may new documents, however there are some
1562 differences in their behaviour.
1566 Whenever mom encounters an oldstyle heading, she loads the default
1567 style formerly associated with the oldstyle name. See below for a
1568 description of the default styles in the sections
1569 <a href="#head">HEAD</a> (now HEADING 1),
1570 <a href="#subhead">SUBHEAD</a> (now HEADING 2),
1572 <a href="#subsubhead">SUBSUBHEAD</a> (now HEADING 3).
1573 Mom also emits a message to stderr alerting you to what she's doing.
1577 The control macros formerly associated with oldstyle headings are no
1578 longer present in mom's macro file, which means that if you
1579 made changes to mom's default for those headings, you must recreate
1580 the changes with the
1581 <a href="#heading-style">HEADING_STYLE</a>
1582 macro. The entire style need not be recreated, only those
1583 parameters that differed from mom's defaults. Thus, if your HEADs
1584 were set flush left, instead of the oldstyle default, centred, but
1585 otherwise kept mom's settings, you need only do
1587 <span class="pre-in-pp">
1588 .HEADING_STYLE 1 QUAD L
1592 <div id="parahead" class="box-important">
1594 <span class="important">Important:</span>
1595 The macro PARAHEAD is no longer available. You must create paragraph
1597 <a href="#heading">HEADING</a>
1598 macro. Mom will abort with an informational message whenever she
1599 encounters PARAHEAD. Assuming a heading level of 3 for your
1600 paraheads, the former defaults for PARAHEAD can be set up like this:
1602 <span class="pre-in-pp">
1603 .HEADING STYLE 3 FONT BI SIZE -.25 \" For PRINTSTYLE TYPESET
1604 .HEADING STYLE 3 FONT I SIZE +0 \" For PRINTSTYLE TYPEWRITE
1606 Equally, the macro NUMBER_PARAHEADS is no longer available. You
1607 must enable numbering of the correct level for paraheads with
1608 HEADING_STYLE. Again assuming a heading level of 3 for paraheads,
1611 <span class="pre-in-pp">
1612 .HEADING_STYLE 3 NUMBER
1616 <h3 id="parahead-usage" class="docs" style="text-transform: none; margin-top: -1em">Correct usage of paraheads</h3>
1618 <p style="margin-top: .5em">
1619 It is tempting to choose an arbitrary heading level for paraheads,
1620 since they are sometimes needed out-of-sequence; for example,
1621 immediately after a main head (level-1) in a document that
1622 subsequently requires subheads (level-2). In such a circumstance,
1623 choosing level-3 for all your paraheads might seem to make sense,
1624 but in fact doesn’t, since it disrupts the hierarchy of
1625 both the Table of Contents (if your document has one) and the PDF
1630 Correct use of the <kbd>PARAHEAD</kbd> option to HEADING under such
1631 circumstances requires always assigning <kbd>PARAHEAD</kbd> to
1632 the next logical level in the heading hierarchy. For example, if
1633 there are no headings before the parahead, it should be assigned to
1634 level-1. If subsequently there is a main head to be followed by
1635 more paraheads, the main head should be level-1, and the paraheads
1636 level-2. This will almost certainly require assigning new style
1637 parameters to level-1 (with
1638 <a href="#heading-style">HEADING_STYLE</a>)
1639 and to the level now being used for paraheads. The following
1640 example demonstrates.
1642 <span class="pre-in-pp">
1643 .HEADING_STYLE 1 FONT BI SIZE +.25 \" parahead style, level-1
1645 .HEADING 1 PARAHEAD <parahead>
1646 <paragraph text>
1648 .HEADING 1 PARAHEAD <parahead>
1649 <paragraph text>
1650 \# main head style, level-1
1651 .HEADING_STYLE 1 FONT B SIZE +3 QUAD CENTER UNDERSCORE .5 2p
1652 .HEADING_STYLE 2 FONT BI SIZE +.25 \" parahead style, level-2
1653 .HEADING 1 <main head>
1655 <paragraph text>
1657 .HEADING 2 PARAHEAD <parahead>
1658 <paragraph text>
1663 <!-- -OLDSTYLE_HEADINGS - -->
1665 <div class="macro-id-overline">
1666 <h3 id="oldstyle-headings" class="macro-id">OLDSTYLE HEADINGS</h3>
1669 <div class="box-macro-args">
1670 Macro: <b>OLDSTYLE_HEADINGS</b>
1674 OLDSTYLE_HEADINGS requires no argument. It instructs mom to set the
1675 first three levels of heading to the parameters of her old defaults
1676 for HEAD, SUBHEAD, and SUBSUBHEAD. Use of OLDSTYLE_HEADINGS will
1677 also prevent mom from generating the message she issues the first
1678 time she encounters HEAD, SUBHEAD, and SUBSUBHEAD.
1683 <div id="head" class="box-macro-args">
1684 Macro: <b>HEAD</b> <kbd class="macro-args">[ NAMED <id> ] "<text of head>" "<another line>"...</kbd>
1688 When invoked for the first time, with or without
1689 <a href="oldstyle-headings">OLDSTYLE_HEADINGS</a>,
1690 HEAD sets the parameters for level-1 headings to mom’s old
1691 HEAD defaults, then prints the head as a level-1 heading.
1692 The <kbd>NAMED <id></kbd> optional argument is explained in
1694 <a href="#heading">HEADING</a>.
1698 If, prior to invoking HEAD, you have given any parameters to level-1
1700 <a href="#heading-style">HEADING STYLE</a>,
1701 they will be preserved; any you give afterwards will be respected.
1705 The former style defaults for HEAD were:
1707 <span class="pre-in-pp">
1708 FAMILY = prevailing document family
1709 FONT = bold (TYPESET); roman (TYPEWRITE)
1710 SIZE = +1 (TYPESET); +0 (TYPEWRITE)
1717 <div class="box-tip">
1719 <span class="note">Note:</span>
1720 The macro NUMBER_HEADS from pre-2.0 versions of mom, can still be
1721 used, though it is now a wrapper for
1723 <span class="pre-in-pp">
1724 .HEADING_STYLE 1 NUMBER
1726 Mom will alert you to this on stderr.
1732 <div id="subhead" class="box-macro-args">
1733 Macro: <b>SUBHEAD</b> <kbd class="macro-args">[ NAMED <id> ] "<text of head>" "<another line>"...</kbd>
1737 When invoked for the first time, with or without
1738 <a href="oldstyle-headings">OLDSTYLE_HEADINGS</a>,
1739 SUBHEAD sets the parameters for level-2 headings to mom’s old
1740 SUBHEAD defaults, then prints the subhead as a level-2 heading.
1741 The <kbd>NAMED <id></kbd> optional argument is explained in
1743 <a href="#heading">HEADING</a>.
1747 The former style defaults for SUBHEAD were:
1749 <span class="pre-in-pp">
1750 FAMILY = prevailing document family
1751 FONT = bold (TYPESET); italic, ie underlined (TYPEWRITE)
1752 SIZE = +.5 (TYPESET); +0 (TYPEWRITE)
1754 BASELINE_ADJUST = 1/8 the current leading
1758 <div class="box-tip">
1760 <span class="note">Note:</span>
1761 The macro NUMBER_SUBHEADS from pre-2.0 versions of mom, can still be
1762 used, though it is now a wrapper for
1764 <span class="pre-in-pp">
1765 .HEADING_STYLE 2 NUMBER
1767 Mom will alert you to this on stderr.
1771 <!-- -SUBSUBHEAD- -->
1773 <div id="subsubhead" class="box-macro-args">
1774 Macro: <b>SUBSUBHEAD</b> <kbd class="macro-args">[ NAMED <id> ] "<text of head>" "<another line>"...</kbd>
1779 When invoked for the first time, with or without
1780 <a href="oldstyle-headings">OLDSTYLE_HEADINGS</a>,
1781 SUBSUBHEAD sets the parameters for level-3 headings to mom’s old
1782 SUBSUBHEAD defaults, then prints the subsubhead as a level-3 heading.
1783 The <kbd>NAMED <id></kbd> optional argument is explained in
1785 <a href="#heading">HEADING</a>.
1789 The former style defaults for SUBSUBHEAD were:
1791 <span class="pre-in-pp">
1792 FAMILY = prevailing document family
1793 FONT = italic (TYPESET); roman (TYPEWRITE)
1794 SIZE = +.5 (TYPESET); +0 (TYPEWRITE)
1796 BASELINE_ADJUST = 1/8 the current leading
1800 <div class="box-tip">
1802 <span class="note">Note:</span>
1803 The macro NUMBER_SUBSUBHEADS from pre-2.0 versions of mom, can still be
1804 used, though it is now a wrapper for
1806 <span class="pre-in-pp">
1807 .HEADING_STYLE 3 NUMBER
1809 Mom will alert you to this on stderr.
1813 <div class="rule-short"><hr/></div>
1815 <!-- ==================================================================== -->
1817 <h2 id="linebreak-intro" class="macro-group">Linebreaks (section breaks)</h2>
1819 <ul style="margin-left: -.5em;">
1820 <li><a href="#linebreak">Tag: LINEBREAK</a></li>
1821 <li><a href="#linebreak-control">Linebreak control macros and defaults</a></li>
1825 Linebreaks (“author linebreaks”, “section
1826 breaks”) are gaps in the vertical flow of running text that
1827 indicate a shift in content (e.g., a scene change in story). They
1828 are frequently set off by typographic symbols, sometimes whimsical
1832 <!-- -LINEBREAK- -->
1834 <div class="macro-id-overline">
1835 <h3 id="linebreak" class="macro-id">LINEBREAK</h3>
1838 <div class="box-macro-args">
1839 Macro: <b>LINEBREAK</b>
1841 <p class="alias" style="margin-bottom: 0;">
1842 <i>Alias:</i> <b>SECTION</b>
1846 LINEBREAK takes no arguments. Simply invoke it (on a line by
1847 itself, of course) whenever you want to insert an author linebreak.
1850 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
1851 <h3 id="linebreak-control" class="docs defaults">LINEBREAK control macros and defaults</h3>
1853 <p class="defaults">
1854 By default, mom marks
1855 <a href="definitions.html#linebreak">author linebreaks</a>
1856 with three centred asterisks (stars) in the prevailing colour of the
1857 document (by default, black). You can alter this with the control
1860 <ol style="margin-top: .5em; padding-bottom: .5em;">
1861 <li><a href="#linebreak-char">LINEBREAK_CHAR</a></li>
1862 <li><a href="#linebreak-color">LINEBREAK_COLOR</a></li>
1866 <h4 id="linebreak-char" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Linebreak character</h4>
1867 <div class="box-macro-args">
1868 Macro: <b>LINEBREAK_CHAR</b> <kbd class="macro-args">[ <character> ] [ <iterations> [ <vertical adjustment> ] ]</kbd>
1871 <p class="alias" style="margin-bottom: 0;">
1872 <i>Alias:</i> <b>SECTION_CHAR</b>
1874 <p class="requires">
1875 • The third optional argument requires a
1876 <a href="definitions.html#unitofmeasure">unit of measure</a>.
1880 LINEBREAK_CHAR determines what mom prints when LINEBREAK is invoked.
1881 It takes 3 optional arguments: the character you want deposited at
1882 the line break, the number of times you want the character repeated,
1883 and a vertical adjustment factor.
1887 The first argument is any valid groff character (e.g., <kbd>*</kbd>
1888 [an asterisk], <kbd>\[dg]</kbd> [a dagger], <kbd>\f[ZD]\N'141\fP</kbd>
1889 [an arbitrary character from Zapf Dingbats], <kbd>\l'4P'</kbd> [a
1890 4-pica long rule]). Mom sets the character centred on the current
1891 line length. (See <kbd>man groff_char</kbd> for a list of all
1892 valid groff characters.)
1896 The second argument is the number of times to repeat the character.
1900 The third argument is a +|-value by which to raise (+) or lower (-)
1901 the character in order to make it appear visually centred between
1902 sections of text. This lets you make vertical adjustments to
1903 characters that don’t sit on the
1904 <a href="definitions.html#baseline">baseline</a>
1905 (such as asterisks). The argument must be preceded by a plus or
1906 minus sign, and must include a unit of measure.
1910 If you enter LINEBREAK_CHAR with no arguments, sections of
1911 text will be separated by two blank lines when you invoke
1912 <kbd>.LINEBREAK</kbd>.
1916 Mom’s default for LINEBREAK_CHAR is
1918 <span class="pre-in-pp">
1919 .LINEBREAK_CHAR * 3 -3p
1921 ie three asterisks, lowered 3 points from their normal vertical
1923 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>;
1924 the vertical adjustment is -2 points for
1925 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>).
1928 <h4 id="linebreak-color" class="docs" style="margin-top: -.25em; margin-bottom: .5em;">2. Linebreak colour</h4>
1930 <div class="box-macro-args">
1931 Macro: <b>LINEBREAK_COLOR</b> <kbd class="macro-args"><colourname></kbd>
1933 <p class="alias" style="margin-bottom: 0;">
1934 <i>Alias:</i> <b>SECTION_COLOR</b>
1938 To change the colour of the linebreak character(s), simply invoke
1939 <kbd>.LINEBREAK_COLOR</kbd> with the name of a colour pre-defined
1940 (or “initialized”) with
1941 <a href="color.html#newcolor">NEWCOLOR</a>
1943 <a href="color.html#xcolor">XCOLOR</a>.
1947 <div class="rule-short"><hr/></div>
1949 <!-- ==================================================================== -->
1951 <h2 id="quote-intro" class="macro-group">Quotes (line for line, poetry or code)</h2>
1953 <ul style="margin-left: -.5em;">
1954 <li><a href="#quote-description">Introduction</a>
1955 <ul style="margin-left: -1.25em">
1956 <li><a href="#quote-spacing">Quote spacing</a>
1957 <ul style="margin-left: -1.25em">
1958 <li><a href="#quote-spacing-notes">Notes on quote spacing</a></li>
1960 <li><a href="#no-shim">Disable shimming of quotes and blockquotes</a></li>
1961 <li><a href="#float-quote">Keeping quotes and blockquotes together as a block</a></li>
1962 <li><a href="#label-caption">Labelling/captioning quotes and blockquotes</a></li>
1964 <li><a href="#quote">Tag: QUOTE</a></li>
1965 <li><a href="#quote-control">Quote control macros and defaults</a></li>
1968 <p id="quote-decription">
1969 <a href="definitions.html#quote">Quotes</a>
1971 <a href="definitions.html#filled">nofill mode</a>,
1972 flush left. This permits entering quotes on a line for line basis
1973 in your text editor and have them come out the same way on output
1975 <a href="#blockquote-intro">Blockquotes</a>
1976 for how quotes, in the present sense, differ from longer passages of
1981 Since mom originally came into being to serve the needs of creative
1982 writers (ie novelists, short story writers, etc.—not
1983 to cast aspersions on the creativity of mathematicians and
1984 programmers), she sets quotes in italics
1985 <a href="docprocessing.html#printstyle">(PRINTSTYLE <kbd>TYPESET</kbd>)</a>
1987 <a href="docprocessing.html#printstyle">(PRINTSTYLE <kbd>TYPEWRITE</kbd>)</a>,
1988 indented from the left margin. Obviously, she’s thinking
1989 “quotes from poetry or song lyrics”, but with the
1990 <a href="#quote-control">QUOTE control macros</a>
1991 you can change her defaults so QUOTE serves other needs, e.g.,
1992 entering verbatim snippets of programming code, command-line
1993 instructions, and so on. (See the
1994 <a href="#code">CODE</a>
1995 for a convenience macro to assist in including code snippets in
1999 <h3 id="quote-spacing" class="docs">QUOTE spacing</h3>
2002 Besides indenting quotes, mom further sets them off from
2003 <a href="definitions.html#running">running text</a>
2004 with a small amount of vertical whitespace top and bottom. In
2005 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>,
2006 this is always one full linespace. In
2007 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>,
2008 it’s 1/2 of the prevailing
2009 <a href="definitions.html#leading">leading</a>
2010 if the quote fits fully on the page (ie with running text above
2011 and below it), otherwise it’s a full linespace either above
2012 or below as is necessary to balance the page to the bottom margin.
2013 This behaviour can be changed with the control macro
2014 <a href="#always-fullspace-quotes">ALWAYS_FULLSPACE_QUOTES</a>.
2017 <div class="box-tip">
2018 <h3 id="quote-spacing-notes" class="docs" style="padding-top: 9px; font-size: 95%;">Notes on quote spacing</h3>
2020 <p style="margin-top: .5em">
2021 If your quote (or blockquote) leading differs from the document
2022 leading, mom attempts to observe the same rules for vertical
2023 whitespace outlined above; however, she will also insert a small,
2024 flexible amount of extra whitespace
2025 (<a href="docprocessing.html#shim-vs-flex">shim or flex-spacing</a>)
2026 around the quotes to make sure the whitespace is equal, top and
2027 bottom. When shimming is enabled, this may result in multiple
2028 quotes or blockquotes on the same page being spaced slightly
2032 <h4 id="no-shim" class="docs">Disable shimming/flex-spacing of quotes and blockquotes</h4>
2034 <p class="tip-bottom">
2035 If you don’t want the behaviour
2036 described above (ie you don’t want mom putting additional shim
2037 or flex-spacing around quotes and
2038 blockquotes), put <kbd>.NO_SHIM</kbd> or/and <kbd>.NO_FLEX</kbd>
2039 in the style sheet section of your document (ie after PRINTSTYLE
2040 but before START), which will disable shimming or/and flex-spacing
2041 globally for all tags, or disable shimming/flex-spacing
2042 on a per-instance basis prior to <kbd>.QUOTE</kbd> or
2043 <kbd>.BLOCKQUOTE</kbd>, re-enabling it after the terminating
2044 <kbd>.QUOTE OFF</kbd> or <kbd>.BLOCKQUOTE OFF</kbd> with
2045 <kbd>.NO_SHIM OFF</kbd> or <kbd>.NO_FLEX OFF</kbd>.
2050 <h3 id="float-quote" class="docs">Keeping QUOTEs and BLOCKQUOTEs together as a block</h3>
2053 The text of quotes and blockquotes is output immediately, and may therefore
2054 start on one page and finish on the next. If you wish to keep the
2055 text together as a block, deferred to the following page if the
2056 block doesn’t all fit on one page, wrap
2057 (BLOCK)QUOTE / (BLOCK)QUOTE OFF
2059 <a href="images.html#floats-intro">float</a>. If you further wish to
2060 force a page break before the floated quote or blockquote (leaving
2061 whitespace at the bottom of the page, pass
2062 <a href="images.html#float">FLOAT</a>
2063 the <kbd>FORCE</kbd> argument.
2064 <span class="pre-in-pp">
2068 And let me play among the stars
2069 Let me see what life is like
2076 <h3 id="label-caption" class="docs">Labelling/captioning quotes and blockquotes</h3>
2079 Quotes and blockquotes may be labelled and/or captioned identically to
2080 <a href="images.html#floats-intro">floats</a>
2082 <a href="images.html#label">LABEL</a>
2084 <a href="images.html#caption">CAPTION</a>.
2089 <div class="macro-id-overline">
2090 <h3 id="quote" class="macro-id">QUOTE</h3>
2093 <div class="box-macro-args">
2094 Macro: <b>QUOTE</b> <kbd class="macro-args">[ ADJUST +|-<space> ] | <anything></kbd>
2096 <p class="requires">
2097 • The argument to <kbd style="font-style: normal">ADJUST</kbd> requires a
2098 <a href="definitions.html#unitofmeasure">unit of measure</a>
2102 QUOTE is a toggle macro. To begin a section of quoted text, invoke
2103 it with no argument, then type in your quote. When you’re
2104 finished, invoke <kbd>.QUOTE</kbd> with any argument (e.g., <kbd>OFF,
2105 END, X, Q</kbd>...) to turn it off. Example:
2107 <span class="pre-in-pp">
2110 Used a dynamite stick for a thrill
2111 They found her vagina
2113 And bits of her tits in Brazil.
2116 Mom does her best to equalize whitespace around quotes and make
2117 sure the line following it falls on a valid baseline. On occasion,
2118 you may need to tweak the quote placement slightly, which is done
2119 by passing <kbd>ADJUST</kbd> to QUOTE with a plus or minus value.
2120 The quote will be lowered (<kbd>+</kbd>) or raised (<kbd>-</kbd>)
2121 <i>within the space allotted for it</i> by the given amount. For
2122 example, to lower a quote slightly within the space allotted for it,
2125 <span class="pre-in-pp">
2127 There was a soprano named Golda
2128 Whose lovers grew colda and colda
2129 For during love-making
2130 She'd sing the earth-shaking
2131 Love theme from Tristan und Isolde.
2136 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
2138 <h3 id="quote-control" class="docs defaults">QUOTE control macros and defaults</h3>
2140 <ol style="margin-top: .5em; padding-bottom: .5em;">
2141 <li><a href="#quote-general">Family/font/size/leading/colour/indent</a></li>
2142 <li><a href="#always-fullspace-quotes">Spacing above and below quotes (typeset only)</a></li>
2143 <li><a href="#underline-quotes">Underlining quotes (typewrite only)</a></li>
2147 <h4 id="quote-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Family/font/size/colour/indent</h4>
2149 <div class="defaults-container" style="padding-bottom: 8px;">
2150 <p class="defaults" style="padding-top: 6px;">
2152 <a href="#control-macro-args">Arguments to the control macros</a>.
2154 The following QUOTE control macros may also be
2155 <a href="#grouping">grouped</a>
2156 using QUOTE_STYLE. If you do so, <kbd>QUOTE_LEFT</kbd>, <kbd>QUOTE_CENTER</kbd>,
2157 and <kbd>QUOTE_RIGHT</kbd> must be entered as:
2159 <kbd> QUAD LEFT</kbd><br/>
2160 <kbd> QUAD CENTER</kbd><br/>
2161 <kbd> QUAD RIGHT</kbd>
2164 <span class="pre defaults">
2165 .QUOTE_FAMILY default = prevailing document family; default is Times Roman
2166 .QUOTE_FONT default = italic; underlined in TYPEWRITE
2167 .QUOTE_SIZE default = +0 (ie same size as paragraph text)
2168 <a id="quote-autolead">.QUOTE_AUTOLEAD default = none; leading of quotes is the same as paragraphs </a>
2169 .QUOTE_COLOR default = black
2170 .QUOTE_INDENT (see below, "Quote indent")
2171 .QUOTE_LEFT -+ Quad direction of quote.
2172 .QUOTE_CENTER | LEFT observes QUOTE_INDENT;
2173 .QUOTE_RIGHT -+ CENTER and RIGHT do not
2177 <h4 id="quote-indent" class="docs" style="margin-top: -1.5em;">Quote indent</h4>
2180 <kbd>QUOTE_INDENT</kbd> takes one of two kinds of argument: an integer
2181 representing the amount by which to multiply the argument passed to
2182 <a href="#para-indent"><kbd>.PARA_INDENT</kbd></a>
2184 <a href="definitions.html#em">ems</a>
2186 <a href="definitions.html#picaspoints">picas</a>
2187 for TYPEWRITE) to arrive at the quote indent, or a distance with a
2188 <a href="definitions.html#unitofmesaure">unit of measure</a>
2189 appended. Both result in quotes being indented equally from the
2190 left and right margins.
2194 The default value for QUOTE_INDENT is 3 (for
2195 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>)
2197 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>).
2200 <div class="box-tip">
2202 <span class="note">Note:</span>
2203 If your PARA_INDENT is 0 (ie no indenting of the first line of
2204 paragraphs), you <i>must</i> set a QUOTE_INDENT yourself, with a
2205 unit of measure appended to the argument. Mom has no default for
2206 QUOTE_INDENT if paragraph first lines are not being indented.
2210 <h4 id="always-fullspace-quotes" class="docs" style="margin-top: -.25em;">2. Spacing above and below quotes (typeset only)</h4>
2213 If you’d like mom always to put a full linespace above and
2214 below quotes, invoke
2216 <span class="pre-in-pp">
2217 .ALWAYS_FULLSPACE_QUOTES
2219 with no argument. If you wish to restore mom’s
2220 default behaviour regarding the spacing of quotes (see
2221 <a href="#quote-spacing">Quote spacing</a>),
2222 invoke the macro with any argument (<kbd>OFF, QUIT, END, X</kbd>...)
2225 <div class="box-tip">
2227 <span class="note">Note:</span>
2228 This macro also sets mom’s spacing policy for
2229 <a href="#blockquote-intro">blockquotes</a>.
2233 <h4 id="underline-quotes" class="docs" style="margin-top: -.25em;">3. Underlining quotes (typewrite only)</h4>
2237 <a href="docprocessing.html#printstyle">PRINTSTYLE TYPEWRITE</a>,
2238 mom underlines quotes. If you’d rather she didn’t,
2239 invoke <kbd>.UNDERLINE_QUOTES</kbd> with any argument (<b>OFF,
2240 QUIT, END, X</b>...) to disable the feature. Invoke it without
2241 an argument to restore mom’s default underlining of
2246 If you not only wish that mom not underline quotes, but also that
2247 she set them in italic, you must follow each instance of QUOTE with
2248 the typesetting macro
2249 <a href="typesetting.html#font">FT I</a>.
2250 Furthermore, since mom underlines all instances of italics by
2251 default in <b>PRINTSTYLE TYPEWRITE</b>, you must also make sure that
2252 ITALIC_MEANS_ITALIC is enabled (see
2253 <a href="docprocessing.html#typewrite-control">PRINTSTYLE TYPEWRITE control macros</a>).
2256 <div class="rule-short"><hr/></div>
2258 <!-- ==================================================================== -->
2260 <h2 id="blockquote-intro" class="macro-group">Blockquotes (cited material)</h2>
2262 <ul style="margin-left: -.5em;">
2263 <li><a href="#blockquote-description">Introduction</a>
2264 <li><a href="#blockquote">Tag: BLOCKQUOTE</a></li>
2265 <li><a href="#blockquote-control">BLOCKQUOTE control macros</a></li>
2268 <p id="blockquote-description">
2269 <a href="definitions.html#blockquote">Blockquotes</a>
2270 are used to cite passages from another author’s work. So that
2271 they stand out well from
2272 <a href="definitions.html#running">running text</a>,
2273 mom indents them from both the left and right margins and sets them
2274 in a different point size
2275 (<a href="docprocessing.html#printstyle">PRINTSTYLE TYPESET</a>
2277 <a href="definitions.html#outputline">Output lines</a>
2279 <a href="definitions.html#filled">filled</a>,
2281 <a href="definitions.html#quad">quadded</a>
2286 Besides indenting blockquotes, mom further sets them off from
2287 running text with a small amount of vertical whitespace top and
2289 <a href="#quote-spacing">Quote spacing</a>
2290 for a complete explanation of how this is managed, and how
2295 Additional information concerning blockquotes, floats, and labelling
2296 blockquotes can be found in the sections
2297 <a href="#float-quote">Keeping quotes and blockquotes together as a block</a>,
2299 <a href="#label-caption">Labelling/captioning quotes and blockquotes</a>.
2302 <!-- -BLOCKQUOTE- -->
2304 <div class="macro-id-overline">
2305 <h3 id="blockquote" class="macro-id">BLOCKQUOTE</h3>
2308 <div class="box-macro-args">
2309 Macro: <b>BLOCKQUOTE</b> <kbd class="macro-args">[ ADJUST +|-<space> ] | <anything></kbd>
2312 <p class="alias" style="margin-bottom: 0;">
2313 <i>Aliases: </i> <b>CITE, CITATION</b>
2316 <p class="requires">
2317 • The argument to <kbd style="font-style: normal">ADJUST</kbd> requires a
2318 <a href="definitions.html#unitofmeasure">unit of measure</a>
2322 BLOCKQUOTE is a toggle macro. To begin a cited passage, invoke
2323 the tag with no argument, then type in your blockquote. When
2324 you’re finished, invoke <kbd>.BLOCKQUOTE</kbd> with any
2325 argument (e.g., <kbd>OFF, END, X, Q</kbd>...) to turn it off.
2328 <span class="pre-in-pp">
2330 Redefining the role of the United States from enablers to keep
2331 the peace to enablers to keep the peace from peacekeepers is
2332 going to be an assignment.
2337 If the cited passage runs to more than one paragraph, you must
2338 introduce each paragraph—including the first—with
2339 <kbd><a href="#pp">.PP</a></kbd>.
2343 Mom does her best to equalize whitespace around blockquotes and make
2344 sure the line following it falls on a valid baseline. On occasion,
2345 you may need to tweak the blockquote placement slightly, which is
2346 done by passing <kbd>ADJUST</kbd> to BLOCKQUOTE with a plus or minus
2347 value. The blockquote will be lowered (<kbd>+</kbd>) or raised
2348 (<kbd>-</kbd>) <i>within the space allotted for it</i> by the given
2349 amount. For example, to raise a blockquote slightly within the
2350 space allotted for it, you’d do
2352 <span class="pre-in-pp">
2353 .BLOCKQUOTE ADJUST -3p
2354 True! - nervous - very, very dreadfully nervous I had been and
2355 am; but why will you say that I am mad? The disease had sharpened
2356 my senses - not destroyed - not dulled them.
2358 \[em]Edgar Allen Poe, The Tell-Tale Heart
2363 <div class="box-tip">
2365 <span class="note">Note:</span>
2366 The aliases CITE and CITATION may be used in place of the BLOCKQUOTE
2367 tag, as well as in any of the control macros that begin or end with
2368 <kbd>BLOCKQUOTE_</kbd>.
2372 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
2373 <h3 id="blockquote-control" class="docs defaults">BLOCKQUOTE control macros and defaults</h3>
2375 <ol style="margin-top: .5em; padding-bottom: .5em;">
2376 <li><a href="#blockquote-general">Family/font/size/leading/colour/quad/indent</a></li>
2377 <li><a href="#bq-always-fullspace-quotes">Spacing above and below (typeset only)</a></li>
2381 <h4 id="blockquote-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Family/font/size/colour/quad/indent</h4>
2383 <div class="defaults-container" style="padding-bottom: 8px;">
2384 <p class="defaults" style="padding-top: 6px;">
2386 <a href="#control-macro-args">Arguments to the control macros</a>.
2388 The following BLOCKQUOTE control macros may also be
2389 <a href="#grouping">grouped</a>
2390 using BLOCKQUOTE_STYLE.
2392 <span class="pre defaults">
2393 .BLOCKQUOTE_FAMILY default = prevailing document family; default is Times Roman
2394 .BLOCKQUOTE_FONT default = roman
2395 .BLOCKQUOTE_SIZE default = -1 (point)
2396 <a id="blockquote-autolead">.BLOCKQUOTE_AUTOLEAD default = none; leading of blockquotes is the same as paragraphs</a>
2397 .BLOCKQUOTE_COLOR default = black
2398 .BLOCKQUOTE_QUAD default = left
2399 .BLOCKQUOTE_INDENT (see below)
2403 <h4 id="blockquote-indent" class="docs" style="margin-top: -1.5em;">Blockquote indent</h4>
2406 <kbd>BLOCKQUOTE_INDENT</kbd> takes one of two kinds of argument: an
2407 integer representing the amount by which to multiply the argument
2409 <a href="#para-indent"><kbd>.PARA_INDENT</kbd></a>
2411 <a href="definitions.html#em">ems</a>
2413 <a href="definitions.html#picaspoints">picas</a>
2414 for TYPEWRITE) to arrive at the blockquote indent, or a distance with a
2415 <a href="definitions.html#unitofmesaure">unit of measure</a>
2416 appended. Both result in blockquotes being indented equally from
2417 the left and right margins.
2421 The default value for BLOCKQUOTE_INDENT is 3 (for
2422 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>)
2424 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>).
2427 <div class="box-tip">
2429 <span class="note">Note:</span>
2430 If your PARA_INDENT is 0 (ie no indenting of the first line of
2431 paragraphs), you <i>must</i> set a BLOCKQUOTE_INDENT yourself, with
2432 a unit of measure appended to the argument. Mom has no default for
2433 BLOCKQUOTE_INDENT if paragraph first lines are not being indented.
2439 <h4 id="bq-always-fullspace-quotes" class="docs">2. Spacing above and below blockquotes (typeset only)</h4>
2442 If you’d like mom always to put a full linespace above and
2443 below blockquotes, invoke
2445 <span class="pre-in-pp">
2446 .ALWAYS_FULLSPACE_QUOTES
2448 with no argument. If you wish to restore mom’s default
2449 behaviour regarding the spacing of blockquotes (see
2450 <a href="#quote-spacing">Quote spacing</a>),
2451 invoke the macro with any argument (<b>OFF, QUIT, END,
2455 <div class="box-tip">
2457 <span class="note">Note:</span>
2458 This macro also sets mom’s spacing policy for
2459 <a href="#quote-intro">quotes</a>.
2463 <div class="rule-short"><hr/></div>
2465 <!-- ==================================================================== -->
2467 <h2 id="code-intro" class="macro-group">Inserting code into a document</h2>
2469 <ul style="margin-left: -.5em;">
2470 <li><a href="#code">Tag: CODE</a></li>
2471 <li><a href="#code-control">CODE control macros and defaults</a></li>
2475 CODE is a convenience macro that facilitates entering code blocks
2476 into documents. Its use is not restricted to documents created
2477 using mom’s document processing macros; it can be used for
2478 “manually” typeset documents as well.
2481 <div class="macro-id-overline">
2482 <h3 id="code" class="macro-id">CODE</h3>
2485 <div class="box-macro-args">
2486 Macro: <b>CODE</b> <kbd class="macro-args">[BR | BREAK | SPREAD] toggle</kbd>
2489 <p class="requires" style="font-style: normal">
2490 Inline escape: <b><kbd>\*[CODE]</kbd></b>
2494 When you invoke the macro <kbd>.CODE</kbd> or insert <kbd>\*[CODE]</kbd> into
2495 running text, mom switches to a
2496 <a href="definitions.html#fixedwidthfont">fixed-width font</a>
2497 (Courier, by default) and turns
2498 <a href="goodies.html#smartquotes">SMARTQUOTES</a>
2503 If your code includes the backslash character, which is
2504 groff’s escape character, you will have to change the
2505 escape character temporarily to something else with the macro
2506 <a href="goodies.html#esc-char">ESC_CHAR</a>.
2507 Mom has no way of knowing what special characters you’re going
2508 to use in code snippets, therefore she cannot automatically replace
2509 the escape character with something else.
2513 The correct order for changing the escape character inside
2515 <span class="pre-in-pp">
2522 Be aware that changing the escape character prevents subsequent
2523 macros, which require that the backslash be the escape character,
2524 from functioning correctly. Therefore, do not introduce any macros
2525 into your CODE block without first restoring the escape character to
2530 Alternatively, you can enter the backslash character as
2531 <kbd>\e</kbd> or <kbd>\\</kbd> (two backslashes), which tells groff
2532 to print a literal backslash.
2535 <div class="box-tip">
2537 <span class="tip">Note:</span>
2538 <kbd>.CODE</kbd> does not cause a line break when
2540 <a href="definitions.html#filled">fill mode</a>
2542 <a href="typesetting.html#justify">JUSTIFY</a>
2544 <a href="typesetting.html#quad">QUAD</a>
2545 <kbd>LEFT, CENTER,</kbd> or <kbd>RIGHT</kbd>).
2546 If you want CODE to deposit a break, invoke <kbd>.CODE</kbd> with
2547 the argument <kbd>BR</kbd> (or <kbd>BREAK</kbd>). If, in addition
2548 to having mom break the line before <kbd>.CODE</kbd>, you want her
2550 <a href="definitions.html#force">force justify</a>
2551 it as well, invoke <kbd>.CODE</kbd> with the argument,
2552 <kbd>SPREAD</kbd>. If, in addition to breaking the line before CODE
2553 you want a break afterwards, you must supply it manually with
2554 <a href="typesetting.html#br">BR</a>
2555 unless what follows immediately is a macro that automatically causes
2557 <a href="#pp">PP</a>).
2560 <p class="tip-bottom">
2561 In all likelihood, if you want the situation described above (ie a
2562 break before and after CODE), what you probably want is to use
2563 <a href="quote">QUOTE</a>
2564 in conjunction with CODE, like this:
2566 <span class="pre-in-pp">
2569 $ echo "Hello, world" | sed -e 's/Hello,/Goodbye, cruel/'
2572 QUOTE takes care of breaking both the text and the code, as well as
2573 indenting the code and offsetting it from
2574 <a href="definitions.html#running">running text</a>
2575 with vertical whitespace. Notice that <kbd>.CODE</kbd>, above, has
2576 no corresponding <kbd>.CODE OFF</kbd>. <kbd>.CODE</kbd> inside a QUOTE
2577 does not require a terminating <kbd>.CODE OFF</kbd>, which risks
2578 introducing unwanted vertical whitespace.
2583 Passing any argument other than <kbd>BR</kbd>, <kbd>BREAK</kbd> or
2584 <kbd>SPREAD</kbd> to CODE (e.g., <kbd>OFF, QUIT, END, X,</kbd> etc.)
2585 turns CODE off and returns the family, font, and smartquotes back to
2589 <h4 class="docs" style="font-size: 102%">Using <kbd>\*[CODE]</kbd> inline</h4>
2592 <kbd>\*[CODE]</kbd> invokes <kbd>.CODE</kbd>, allowing you to
2593 bracket code snippets inline. It does not accept the <kbd>BR</kbd>,
2594 <kbd>BREAK</kbd>, or <kbd>SPREAD</kbd> arguments. It is most useful
2595 for short snippets, as in the following example.
2597 <span class="pre-in-pp">
2598 \*[CODE]apropos\*[CODE OFF] and \*[CODE]man -k\*[CODE] are identical.
2603 <kbd>\*[CODE]</kbd> does not permit changing the escape character,
2604 so <kbd>\e</kbd> or a doubled backslash must be used. Furthermore,
2605 if your code starts with a period, you must enter it as
2606 “<kbd>\&.</kbd>”.
2608 <span class="pre-in-pp">
2609 Registers are created with the \*[CODE]\&.nr\*[CODE OFF] request.
2613 <h4 class="docs" style="font-size: 102%; margin-top: -1em">CODE and punctuation</h4>
2616 <kbd>.CODE OFF</kbd> automatically inserts a word space into
2617 running text. If your CODE block is to be followed by punctuation
2618 with the parameters of
2619 <a href="definitions.html#running">running text</a>,
2620 you must terminate the block with “<kbd>\c</kbd>” and
2621 enter the punctuation at the beginning of the next input line. If
2622 the punctuation mark is a period or an apostrophe, you must precede
2624 “<kbd>\&</kbd>”.
2626 <span class="pre-in-pp">
2629 echo "Hello, world" | sed -e 's/Hello,/Goodbye, cruel/'\c
2631 \&. As this demonstrates...
2633 Use of <kbd>\*[CODE]</kbd> inline does not require the
2634 <kbd>\c</kbd>, however periods and apostrophes after
2635 <kbd>\*[CODE OFF]</kbd> still need to be introduced with
2636 <kbd>\&</kbd>, as in this example:
2638 <span class="pre-in-pp">
2639 ...append the unit of measure \*[CODE]p\*[CODE OFF]\&. New sentence...
2644 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
2645 <h3 id="code-control" class="docs defaults">CODE control macros and defaults</h3>
2647 <ol style="margin-top: .5em; padding-bottom: .5em;">
2648 <li><a href="#code-general">Family/Font/Colour</a></li>
2649 <li><a href="#code-size">Size</a></li>
2653 <h4 id="code-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Family/font/colour</h4>
2655 <div class="defaults-container" style="padding-bottom: 8px;">
2656 <p class="defaults" style="padding-top: 6px;">
2658 <a href="#control-macro-args">Arguments to the control macros</a>.
2660 The following CODE control macros may also be
2661 <a href="#grouping">grouped</a>
2664 <span class="pre defaults">
2665 .CODE_FAMILY default = Courier
2666 .CODE_FONT default = roman; see Note
2667 .CODE_COLOR default = black
2669 Note: Unlike other control macros, CODE_FONT sets the code font for both
2670 PRINTSTYLE TYPESET and PRINTSTYLE TYPEWRITE.
2674 <h4 id="code-size" class="docs" style="margin-top: -1.25em;">2. Size</h4>
2677 CODE_SIZE works a little differently from the other _SIZE macros
2678 (see <a href="#control-macro-args">Arguments to the control
2679 macros</a>). The argument you pass it is a percentage of the
2680 prevailing document point size. It does not require a pre-pended
2681 plus (<kbd>+</kbd>) or minus (<kbd>-</kbd>) sign, nor an appended
2682 percent sign (<kbd>%</kbd>). Thus, is you want the point size of your CODE font to be
2683 90% of the prevailing document point size, you enter:
2685 <span class="pre-in-pp">
2688 Fixed-width fonts have notoriously whimsical
2689 <a href="definitions.html#xheight">x-heights</a>,
2690 meaning that they frequently look bigger (or, in some cases,
2691 smaller) than the type surrounding them, even if they're technically
2692 the same point size. CODE_SIZE lets you choose a percentage of the
2693 prevailing point size for your fixed-width CODE font so it doesn't look
2694 gangly or miniscule in relation to the type around it. All
2695 invocations of <kbd>.CODE</kbd> or <kbd>\*[CODE]</kbd> will use this
2696 size, so that if you decide to change the prevailing point size of your
2697 document, the CODE font will be scaled proportionally.
2700 <div class="rule-short"><hr/></div>
2702 <!-- ==================================================================== -->
2704 <h2 id="list-intro" class="macro-group">Nested lists</h2>
2706 <ul style="margin-left: -.5em;">
2707 <li><a href="#list">Tag: LIST</a></li>
2708 <li><a href="#item">Tag: ITEM</a></li>
2709 <li><a href="#list-control">LIST control macros and defaults</a></li>
2713 Lists are points or items of interest or importance that are
2715 <a href="definitions.html#running">running text</a>
2716 by enumerators. Some typical enumerators are
2717 <a href="definitions.html#em">en-dashes</a>,
2718 <a href="definitions.html#bullet">bullets</a>,
2723 Setting lists with mom is easy. First, you initialize a list with
2724 the LIST macro. Then, for every item in the list, you invoke
2725 the macro <kbd>.ITEM</kbd> followed by the text of the item.
2726 When a list is finished, you exit the list with
2727 <kbd>.LIST OFF</kbd> (or <kbd>QUIT, END, BACK,</kbd> etc.)
2731 By default mom starts each list with the enumerator flush with the
2732 left margin of running text that comes before it, like this:
2734 <span class="pre-in-pp">
2735 My daily schedule needs organizing. I can’t
2736 seem to get everything done I want.
2737 o an hour’s worth of exercise
2738 o time to prepare at least one healthy
2743 - changes from publisher
2745 o a couple of hours at the piano
2747 In other words, mom does not, by default, indent entire lists.
2748 Indenting a list is controlled by the macro
2749 <a href="#shift-list">SHIFT_LIST</a>.
2750 (This is a design decision; there are too many instances where a
2751 default indent is not desirable.) Equally, mom does not add any
2752 extra space above or below lists.
2756 Lists can be nested (as in the example above). In other words,
2757 you can set lists within lists, each with an enumerator (and
2758 possibly, indent) of your choosing. In nested lists, each
2759 invocation of <kbd>.LIST OFF</kbd> (you may prefer to use
2760 <kbd>.LIST BACK</kbd>) takes you back to the previous depth
2761 (or level) of list, with that list’s enumerator and indent
2762 intact. The final <kbd>.LIST OFF</kbd> exits lists completely
2763 and returns you to the left margin of running text.
2768 <kbd><a href="typesetting.html#quad">QUAD CENTER</a></kbd>
2769 is in effect when LIST is invoked, the list is set quad left but
2770 centred on the page as a block, based on the longest line of list
2771 text. Equally, if <kbd>QUAD RIGHT</kbd> in in effect, the list is
2772 set flush left but quadded right as a block. If you want a centred
2773 or right-quadded list in an otherwise left-quadded or justified
2774 document, simply invoke <kbd>.QUAD <direction></kbd>
2775 before the list and reset the quad afterwards. Do not use
2776 <kbd><a href="typesetting.html#lrc">CENTER</a></kbd>
2778 <kbd><a href="typesetting.html#lrc">RIGHT</a></kbd>.
2781 <div class="box-tip">
2783 <span class="note">Note:</span>
2784 Mom centres lists over the entire line length, disregarding
2785 <a href="typesetting.html#ib">IB</a>
2786 if it is in effect. If there are lines in the list that exceed
2787 the the margins of IB, they must be broken manually with
2788 <kbd>.BR</kbd> if you wish to keep them within the indented margins.
2793 Finally, lists can be used in documents created with either the
2794 <a href="docprocessing.html#top">document processing macros</a>
2796 <a href="typesetting.html#top">typesetting macros</a>.
2801 <div class="macro-id-overline">
2802 <h3 id="list" class="macro-id">LIST</h3>
2805 <div class="box-macro-args">
2806 Macro: <b>LIST</b> <kbd class="macro-args">[ BULLET | DASH | DIGIT | ALPHA | alpha | ROMAN<n> | roman<n> | USER <user-defined enumerator> | PLAIN | VARIABLE <character>] [ <separator> ] [ <prefix> ] [ <anything> ]</kbd>
2810 Invoked by itself (ie with no argument), LIST
2811 initializes a list with bullets as the default enumerator.
2812 Afterward,s each block of input text preceded by
2813 <kbd><a href="#item">.ITEM</a></kbd>,
2814 on a line by itself, is treated as a list item.
2817 <div class="box-tip">
2819 <span class="note">Note:</span>
2820 Every time you invoke <kbd>.LIST</kbd> to start a list (as opposed to
2821 <a href="#list-exit">exiting one</a>),
2822 you must supply an enumerator (and optionally, a separator) for the
2823 list, unless you want mom’s default enumerator, which is a
2824 bullet. Within nested lists, mom stores the enumerator, separator
2825 and indent for any list you return <i>backwards</i> to (ie with
2826 <kbd>.LIST OFF</kbd>), but does not store any information for lists
2827 you move <i>forward</i> to.
2832 There are a lot of arguments (be sure to side-scroll through them
2833 all, above), so I’ll discuss them one at a time here.
2835 <h3 class="docs">The first argument – enumerator style</h3>
2838 The optional arguments <kbd>BULLET</kbd>, <kbd>DASH</kbd>,
2839 <kbd>DIGIT</kbd> (for Arabic numerals), <kbd>ALPHA</kbd> (for
2840 uppercase letters), <kbd>alpha</kbd> (for lowercase letters),
2841 <kbd>ROMAN<n></kbd> (for uppercase roman numerals),
2842 <kbd>roman<n></kbd> (for lowercase roman numerals) tell
2843 <kbd>mom</kbd> what kind of enumerator to use for a given list.
2847 The arguments, <kbd>ROMAN<n></kbd> and
2848 <kbd>roman<n></kbd>, are special. You must append to them
2849 a digit (arabic, e.g., "1" or "9" or "17") saying how many items a
2850 particular roman-numeralled LIST is going to have. Mom requires this
2851 information in order to align roman numerals sensibly, and will
2852 abort—with a message — if you don’t provide it.
2853 (For setting roman numeral and digit lists with the enumerators
2854 aligned flush right—the default is flush left—see
2855 <a href="#pad-list-digits">PAD_LIST_DIGITS</a>.)
2859 A roman-numeralled list containing, say, five items, would be set
2862 <span class="pre-in-pp">
2863 .LIST roman5 producing i) Item 1.
2865 Item 1. iii) Item 3.
2878 The argument <kbd>VARIABLE <character></kbd> lets
2879 you choose different enumerators for the items in a list.
2880 <kbd><character></kbd> is the widest enumerator to
2881 be used. Thus, if you have a list enumerated by both bullets
2882 and em-dashes, you’d set it up with
2884 <span class="pre-in-pp">
2885 .LIST VARIABLE \[em]
2887 and select the enumerator you want with
2889 <span class="pre-in-pp">
2894 <span class="pre-in-pp">
2897 If your enumerator contains spaces, you must enclose the
2898 <kbd><character></kbd> argument in both LIST and ITEM in
2902 <span class="pre-in-pp">
2903 .LIST VARIABLE "\*[UP 1p]\[bu]\*[DOWN 1p]"
2904 .ITEM "\*[UP 1p]\[bu]\*[DOWN 1p]"
2909 The argument <kbd>USER</kbd> lets you make up your own enumerator,
2910 and must be followed by a second argument: what you’d like the
2911 enumerator to look like. For example, if you want a list enumerated
2912 with <kbd>=></kbd>,
2914 <span class="pre-in-pp">
2922 <span class="pre-in-pp">
2925 Some useful special groff characters you might want to pass to
2926 <kbd>USER</kbd> are:
2927 <span class="pre-in-pp">
2929 \[rh] - pointing hand
2930 \[->] - right arrow
2931 \[rA] - right double arrow
2934 The size and vertical positioning of special characters may be
2936 <a href="definitions.html#inlines">inline escapes</a>
2937 in the argument passed to USER. For example, to raise the position
2938 of <kbd>\[sq]</kbd> slightly, you might do
2939 <span class="pre-in-pp">
2940 .LIST USER "\*[UP .25p]\[sq]\*[DOWN .25p]"
2942 .LIST USER \v'-.25p'\[sq]\v'.25p'
2947 The argument <kbd>PLAIN</kbd> initializes a list with no enumerator.
2950 <div class="box-tip">
2952 <span class="note">Note:</span>
2953 If the argument to <kbd>USER</kbd> contains spaces, you must enclose
2954 the argument in double quotes.
2958 <h3 class="docs">The second argument – separator style</h3>
2961 If you choose <kbd>DIGIT</kbd>, <kbd>ALPHA</kbd>, <kbd>alpha</kbd>,
2962 <kbd>ROMAN<n></kbd>, or <kbd>roman<n></kbd>, you may
2963 enter the optional argument, <kbd>separator</kbd>, to say what kind
2964 of separator you want after the enumerator. The separator can be
2965 anything you like. The default for <kbd>DIGIT</kbd> is a period
2968 <span class="pre-in-pp">
2971 The default separator for <kbd>ALPHA</kbd>, <kbd>alpha</kbd>,
2972 <kbd>ROMAN<n></kbd> and <kbd>roman<n></kbd> is a right
2973 parenthesis, like this:
2975 <span class="pre-in-pp">
2976 a) An alpha-ed list item
2977 b) A second alpha-ed list item
2979 If you’d prefer, say, digits with right-parenthesis separators
2980 instead of the default period, you’d do
2982 <span class="pre-in-pp">
2985 A numbered list item
2989 <span class="pre-in-pp">
2990 1) A numbered list item
2994 <div class="box-tip">
2996 <span class="note">Note:</span>
2997 <kbd>BULLET</kbd>, <kbd>DASH</kbd> and <kbd>USER</kbd> do not take a
3002 <h3 class="docs">The third argument – prefix style</h3>
3005 Additionally, you may give a prefix (ie a character
3006 that comes <i>before</i> the enumerator) when your
3007 enumerator style for a particular list is <kbd>DIGIT</kbd>,
3008 <kbd>ALPHA</kbd>, <kbd>alpha</kbd>, <kbd>ROMAN<n></kbd> or
3009 <kbd>roman<n></kbd>. In the arguments to LIST, the prefix
3010 comes <i>after</i> the separator, which is counter-intuitive,
3011 so please be careful.
3015 A prefix can be anything you like. Most likely, you’ll want
3016 some kind of open-bracket, such as a left parenthesis. If, for
3017 example, you want a <kbd>DIGIT</kbd> list with the numbers enclosed
3018 in parentheses, you’d enter
3020 <span class="pre-in-pp">
3023 The first item on the list.
3025 The second item on the list.
3029 <span class="pre-in-pp">
3030 (1) The first item on the list.
3031 (2) The second item on the list.
3035 <div class="box-tip">
3037 <span class="note">Note:</span>
3038 <kbd>BULLET</kbd>, <kbd>DASH</kbd> and
3039 <kbd>USER</kbd> do not take a prefix.
3043 <h3 class="docs">Exiting lists – LIST OFF/BACK or QUIT_LISTS</h3>
3046 Any single argument to <kbd>LIST</kbd> other than
3047 <kbd>BULLET</kbd>, <kbd>DASH</kbd>, <kbd>DIGIT</kbd>,
3048 <kbd>ALPHA</kbd>, <kbd>alpha</kbd>, <kbd>ROMAN<n></kbd>,
3049 <kbd>roman<n></kbd> or <kbd>USER</kbd> (e.g.,
3050 <kbd>LIST OFF</kbd> or <kbd>LIST BACK</kbd>) takes you out
3051 of the current list.
3055 If you are at the first list-level (or list-depth), mom returns you
3056 to the left margin of running text. Any indents that were in effect
3057 prior to setting the list are fully restored.
3061 If you are in a nested list, mom moves you back one list-level
3062 (ie does not take you out of the list structure) and restores the
3063 enumerator, separator and indent appropriate to that level.
3067 Each invocation of <kbd>.LIST</kbd> should thus be be matched by
3068 a corresponding <kbd>.LIST OFF</kbd> in order to fully exit
3071 <span class="pre-in-pp">
3072 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3073 sed diam nonumy eirmod tempor invidunt ut labore.
3074 o List item in level 1
3075 o List item in level 1
3076 - List item in level 2
3077 - List item in level 2
3078 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3079 sed diam nonumy eirmod tempor invidunt ut labore.
3081 is created like this:
3083 <span class="pre-in-pp">
3084 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3085 sed diam nonumy eirmod tempor invidunt ut labore.
3088 List item in level 1
3090 List item in level 1
3093 List item in level 2
3095 List item in level 2
3096 .LIST OFF \" Turn level 2 list off
3097 .LIST OFF \" Turn level 1 list off
3098 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3099 sed diam nonumy eirmod tempor invidunt ut labore.
3101 Alternatively, you may use the single-purpose macro
3102 <kbd>.QUIT_LISTS</kbd>, to get yourself out of a list structure. In
3103 the example above, the two <kbd>.LIST OFF</kbd> lines could be
3104 replaced with a single <kbd>.QUIT_LISTS</kbd>.
3107 <div class="macro-id-overline">
3108 <h3 id="item" class="macro-id">ITEM</h3>
3111 <div class="box-macro-args">
3112 Macro: <b>ITEM</b> <kbd class="macro-args">[<enumerator>] [<space>]</kbd>
3114 <p class="requires">
3115 • The argument to <kbd style="font-style: normal"><space></kbd> requires a
3116 <a href="definitions.html#unitofmeasure">unit of measure</a>
3120 After you’ve initialized a list with
3121 <a href="#list">LIST</a>,
3122 precede each item you want in the list with <kbd>.ITEM</kbd>. Mom
3123 takes care of everything else with respect to setting the item
3124 appropriate to the list you’re in.
3128 If you’ve chosen the <kbd>VARIABLE</kbd> argument when
3129 invoking LIST, ITEM must be followed by an enumerator character.
3133 If you give ITEM a space argument, either by itself or after a
3134 variable enumerator character, the item will be spaced by the amount
3139 In document processing, it is valid to have list items that contain
3140 multiple paragraphs. Simply issue a
3141 <kbd><a href="#pp">.PP</a></kbd>
3142 request for each paragraph <i>following</i> the first item.
3143 I.e., don’t do this:
3145 <span class="pre-in-pp">
3150 A second paragraph of text
3154 <span class="pre-in-pp">
3158 A second paragraph of text
3162 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
3163 <h3 id="list-control" class="docs defaults">LIST control macros and defaults</h3>
3165 <p style="margin-top: 0; margin-left: .5em">
3166 LIST control macros may not be
3167 <a href="#grouping">grouped</a>.
3170 <ol style="margin-top: -.5em; padding-left: 1.5em; padding-bottom: .5em;">
3171 <li><a href="#shift-list">Indenting lists (SHIFT_LIST)</a></li>
3172 <li><a href="#reset-list">Resetting an initialized list’s enumerator (RESET_LIST)</a></li>
3173 <li><a href="#pad-list-digits">Padding digit enumerators (PAD_LIST_DIGITS)</a></li>
3177 <h4 id="shift-list" class="docs" style="margin-top: -1.5em;">1. Indenting lists – SHIFT_LIST</h4>
3180 If you want a list to be indented to the right of running text, or
3181 indented to the right of a current list, use the macro SHIFT_LIST
3183 <a href="#list">LIST</a>.
3184 SHIFT_LIST takes just one argument: the amount by which you want the
3185 list shifted to the right. The argument requires a
3186 <a href="definitions.html#unitofmeasure">unit of measure</a>.
3190 SHIFT_LIST applies only to the list you just initialized with LIST.
3191 It does not carry over from one invocation of LIST to the next.
3192 However, the indent remains in effect when you return to a list
3193 level in a nested list.
3197 For example, if you want a 2-level list, with each list indented to
3199 <a href="definitions.html#picaspoints">points</a>,
3201 <span class="pre-in-pp">
3202 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3203 sed diam nonumy eirmod tempor invidunt ut labore.
3205 .SHIFT_LIST 18p \" Indent 18 points right of running text
3210 .LIST DASH \" List 2
3211 .SHIFT_LIST 18p \" Indent 18 points right of list 1
3216 .LIST OFF \" Move back to list 1
3221 .LIST OFF \" Exit lists
3222 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3223 sed diam nonumy eirmod tempor invidunt ut labore.
3225 produces (approximately)
3227 <span class="pre-in-pp">
3228 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3229 sed diam nonumy eirmod tempor invidunt ut labore.
3236 Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
3237 sed diam nonumy eirmod tempor invidunt ut labore.
3241 <h4 id="reset-list" class="docs" style="margin-top: -.25em;">2. Resetting an initialized list’s enumerator – RESET_LIST</h4>
3244 In nested lists, if your choice of list enumerator for a given level
3245 of list is <kbd>DIGIT</kbd>, <kbd>ALPHA</kbd>, <kbd>alpha</kbd>,
3246 <kbd>ROMAN</kbd> or <kbd>roman</kbd>, you may sometimes want to
3247 reset the list’s enumerator when you return to that list.
3248 Consider the following:
3250 <span class="pre-in-pp">
3251 Things to do religiously each and every day:
3252 1. Take care of the dog
3254 b) brush once a week
3255 - trim around the eyes every fourth brushing
3256 - don’t forget to check nails
3258 a) soft food on Mon., Wed. and Fri.
3259 b) dry food on Tues., Thurs. and Sat.
3260 c) canned tuna on Sunday
3265 Normally, within a nested list, when you return to an
3266 incrementally-enumerated list, the enumerator continues incrementing
3267 from where it left off. That means, in the example above, the
3268 normal state of affairs for the alpha'ed list under
3270 <span class="pre-in-pp">
3273 would be d), e) and f). The solution, in such a case, is simply
3274 to reset the enumerator—before <kbd>.ITEM</kbd>—with
3275 the macro <kbd>.RESET_LIST</kbd>. By default, with no argument,
3276 <kbd>.RESET_LIST</kbd> resets the enumerator to 1, A, a, I or i
3277 depending on the style of enumerator. You may, if you wish, pass
3278 <kbd>.RESET_LIST</kbd> a
3279 <a href="definitions.html#numericargument">numeric argument</a>
3280 representing the starting enumerator for the reset (if different
3281 from "1"), although I can’t at present think of a use for this
3285 <h4 id="pad-list-digits" class="docs" style="margin-top: -.25em;">3. Padding digit enumerators – PAD_LIST_DIGITS</h4>
3287 <h5 class="docs" style="margin-top: 1em;">Arabic digits</h5>
3289 <p style="margin-top: .5em;">
3290 When your choice of enumerators is DIGIT and the number of items
3291 in the list exceeds nine (9), you have to make a design decision:
3292 should mom leave room for the extra numeral in two-numeral digits to
3293 the right or the left of the single-numeral digits?
3297 If you want the extra space to the right, invoke the macro
3298 <kbd>.PAD_LIST_DIGITS</kbd> (with no argument), after
3299 <kbd>.LIST</kbd> and before <kbd>.ITEM</kbd>. This will produce
3302 <span class="pre-in-pp">
3307 If you want the extra space to the left, invoke
3308 <kbd>.PAD_LIST_DIGITS</kbd> with the single argument,
3309 <kbd>LEFT</kbd>, which will produce
3311 <span class="pre-in-pp">
3319 Of course, if the number of items in the list is less than ten
3320 (10), there’s no need for PAD_LIST_DIGITS.
3323 <h5 class="docs" style="margin-top: -.5em;">Roman numerals</h5>
3325 <p style="margin-top: .5em;">
3326 By default, mom sets roman numerals in lists flush left. The
3327 <kbd><n></kbd> argument appended to <kbd>ROMAN<n></kbd>
3328 or <kbd>roman<n></kbd> allows her to calculate how much space
3329 to put after each numeral in order to ensure that the text of items
3334 If you’d like the roman numerals to line
3335 up flush right (ie be padded "left"), simply
3336 invoke <kbd>.PAD_LIST_DIGITS LEFT</kbd> after
3337 <kbd>.LIST ROMAN<n></kbd> or
3338 <kbd>.LIST roman<n></kbd> and before <kbd>.ITEM</kbd>.
3341 <div class="rule-short"><hr/></div>
3343 <!-- -LINE NUMBERING- -->
3345 <h2 id="number-lines-intro" class="macro-group">Line numbering – prepend numbers to output lines</h2>
3347 <ul style="margin-left: -.5em;">
3348 <li><a href="#number-lines">Macro: <b>NUMBER_LINES</b></a>
3349 <ul style="margin-left: -.5em;">
3350 <li><a href="#ln-control">Line numbering control (off/suspend, resume)</a></li>
3352 <li><a href="#number-lines-control">Control macros and defaults</a>
3353 <ul style="margin-left: -.5em;">
3354 <li><a href="#number-quote-lines">Line numbering control macros for quotes and blockquotes</a></li>
3358 <p style="margin-top: -.5em;">
3359 When you turn line-numbering on, mom, by default
3361 <ul style="margin-top: -.5em;">
3362 <li>numbers every line of paragraph text; line-numbering is
3363 suspended for all other document processing tags (like
3364 docheaders, epigraphs, headings, quotes, etc.) and special
3365 pages (covers, endotes, bibliographies, etc.); be aware,
3366 though, that if you turn
3367 <a href="definitions.html#docheader">docheaders</a>
3369 <a href="docprocessing.html#docheader">DOCHEADER</a> OFF)
3370 and create your own docheader, mom
3371 <i>will</i> line-number your custom docheader, so turn
3372 line numbering on afterwards
3374 <li>doesn’t touch your line length; line numbers are hung
3375 outside your current left margin (as set with
3376 <a href="typesetting.html#l-margin">L_MARGIN</a>,
3377 <a href="typesetting.html#page">PAGE</a>
3379 <a href="docprocessing.html#doc-left-margin">DOC_LEFT_MARGIN</a>),
3380 regardless of any indents that may be active
3382 <li>separates line numbers from running text by two
3383 <a href="definitions.html#figurespace">figure spaces</a>.
3389 <a href="#quote">QUOTE</a>s
3391 <a href="#blockquote">BLOCKQUOTE</a>s
3392 will not be line-numbered, however control macros are provided to
3393 enable line numbering for either.
3395 <a href="#number-quote-lines">Line numbering control macros for quotes and blockquotes</a>.
3398 <!-- -NUMBER_LINES- -->
3400 <div class="macro-id-overline">
3401 <h3 id="number-lines" class="macro-id">NUMBER_LINES</h3>
3404 <div class="box-macro-args">
3405 Macro: <b>NUMBER_LINES</b> <kbd class="macro-args"><start number> [ <which lines to number> [ <gutter> ] ]</kbd>
3408 <div class="box-macro-args" style="margin-top: 1em;">
3409 Macro: <b>NUMBER_LINES</b> <kbd class="macro-args"><anything> | RESUME</kbd>
3413 NUMBER_LINES does what it says: prints line numbers, to the left of
3414 <a href="definitions.html#outputline">output lines</a>
3415 of paragraph text. One of the chief reasons for wanting numbered
3416 lines is in order to identify footnotes or endnotes by line number
3417 instead of by a marker in the text. (See
3418 <a href="#footnotes-by-linenumber">Footnotes by linenumber</a>
3419 for instructions on line-numbered footnotes, and
3420 <a href="#endnote-marker-style">ENDNOTE_MARKER_STYLE LINE</a>
3421 for instructions on line-numbered endnotes.)
3424 <div class="box-tip">
3426 <span class="note">Note:</span>
3427 Do not use <kbd>NUMBER_LINES</kbd> inside
3428 <a href="#quote">QUOTE</a>
3430 <a href="#blockquote">BLOCKQUOTE</a>.
3431 By default, mom expects that quotes and blockquotes will not be
3432 line numbered. If you wish to enable line numbering for them, you
3434 <a href="#number-quote-lines">NUMBER_QUOTE_LINES</a>
3436 <a href="#number-quote-lines">NUMBER_BLOCKQUOTE_LINES</a>.
3442 The first time you invoke
3443 <a href="#number-lines">NUMBER_LINES</a>
3444 you must, at a minimum, tell it what line number you want the
3446 <a href="definitions.html#outputline">output line</a>
3447 to have. The optional arguments <kbd>which lines to number</kbd>
3448 and <kbd>gutter</kbd> allow you to state which lines should
3449 be numbered (e.g., every five or every ten lines), and the gutter to
3450 place between line numbers and
3451 <a href="definitions.html#running">running text</a>.
3455 For example, if you want mom to number output lines using her defaults,
3456 <span class="pre-in-pp">
3459 will prepend the number, 1, to the next output line and number all
3460 subsequent output lines sequentially.
3464 If you want only every five lines numbered, pass mom the optional
3465 <kbd>which lines to number</kbd> argument, like this:
3466 <span class="pre-in-pp">
3471 <div class="box-important">
3473 <span class="important">GOTCHA!</span>
3474 The argument to <kbd><which lines to number></kbd> instructs
3475 mom to number only those lines that are multiples of the argument.
3476 Hence, in the above example, line number <kbd>1</kbd> will
3477 <i>not</i> be numbered, since <kbd>1</kbd> is not a multiple of
3482 If you want line number <kbd>1</kbd> to be numbered, you have to
3483 invoke <kbd>.NUMBER_LINES 1 1</kbd> before the first output line
3484 you want numbered, then study your <i>output</i> copy and determine
3485 where best to insert the following in your <i>input</i> input text:
3487 <span class="pre-in-pp">
3488 .NUMBER_LINES \n[ln] 5
3490 (The escape, <kbd>\n[ln]</kbd>, ensures that NUMBER_LINES
3491 automatically supplies the correct value for the first argument,
3492 <kbd><start number></kbd>.)
3495 <p class="tip-bottom">
3496 Following this recipe, line number <kbd>1</kbd> will be numbered;
3497 subsequently, only line numbers that are multiples of 5 will be
3498 numbered. A little experimentation may be required to determine the
3499 best place for it in your input text.
3504 The optional argument, <kbd><gutter></kbd>, tells mom how much
3505 space to put between the line numbers and the running text.
3506 <kbd><gutter></kbd> does not require (or even accept) a
3507 <a href="definitions.html#unitofmeasure">unit of measure</a>.
3508 The argument you pass to it is the number of
3509 <a href="definitions.html#figurespace">figure spaces</a>
3510 you want between line numbers and running text.
3511 Mom’s default gutter is two figure spaces. If
3512 you’d like a wider gutter, say, four figures spaces, you’d do
3514 <span class="pre-in-pp">
3517 +-- Notice you *must* supply a value
3518 for the 2nd argument in order to supply
3519 a value for the 3rd.
3523 <div class="box-tip">
3525 <span class="note">Note:</span>
3526 When giving a value for <kbd><gutter></kbd>, you cannot skip
3527 the <kbd><which lines to number></kbd> argument. Either fill
3528 in the desired value, or use two double-quotes ( <kbd>""</kbd> ) to
3529 have mom use the value formerly in effect.
3533 <h3 id="ln-control" class="docs" style="margin-top: -.5em;">Off/suspend, resume</h3>
3535 <p style="margin-top: .5em;">
3536 After initializing line numbering, you can suspend it, with the
3537 option to resume, using
3539 <span class="pre-in-pp">
3540 .NUMBER_LINES OFF
3542 (or <kbd>END, QUIT, X,</kbd> etc).
3545 <p>To resume line numbering:
3547 <span class="pre-in-pp">
3548 .NUMBER_LINES RESUME
3550 When you resume, the line number will be the next in sequence
3551 from where you left off. If that is not what you want—say
3552 you want to reset the line number to <kbd>1</kbd>—re-invoke
3553 <kbd>.NUMBER_LINES</kbd> with whatever arguments are needed for the
3557 <div class="box-tip" style="margin-left: 6px;">
3559 <span class="note">Additional notes:</span>
3561 <ol style="margin-top: -1.25em; margin-left: -1.25em; padding-bottom: .5em;">
3562 <li>In document processing, you may invoke
3563 <kbd>.NUMBER_LINES</kbd> either before or after
3564 <kbd>.START</kbd>. Mom doesn’t care.
3566 <li style="margin-top: .25em;">If you’re collating documents with
3567 <a href="rectoverso.html#collate">COLLATE</a>,
3568 you should re-invoke, at a minimum,
3569 <kbd>.NUMBER_LINES 1</kbd> for each collated
3570 document, in order to ensure that each begins with the
3571 number, <kbd>1</kbd>, prepended to the first line.
3573 <li style="margin-top: .25em;">Occasionally, you may want to
3574 change the current gutter between line numbers and running
3575 text without knowing what the next output line number should
3576 be. Since NUMBER_LINES requires this number as its first
3577 argument, in such instances, pass NUMBER_LINES as its first
3581 <span style="display: block; margin-top: .5em;">For example, if you were numbering every 5 lines with a
3582 gutter of 2 (figure spaces) and you needed to change the
3583 gutter to 4 (figures spaces),
3585 <span class="pre-in-pp" style="margin-bottom: -2em;">
3586 .NUMBER_LINES \n[ln] 5 4
3591 <li style="margin-top: .25em;">If you’re using
3592 <a href="#mn-intro">margin notes</a>
3593 in a document, be sure to set the gutter for margin notes wide
3594 enough to allow room for the line numbers.
3596 <li style="margin-top: .25em;">Mom (groff, actually), only numbers
3597 lines <i>to the left</i> of running text. For aesthetic
3598 reason, therefore, the use of line numbering when setting a
3599 document in columns is discouraged. However, should you wish
3600 to number lines when setting in columns, make sure the
3601 <a href="definitions.html#gutter">gutter(s)</a>
3602 between columns is wide enough to leave room for the numbers.
3607 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
3608 <h3 id="number-lines-control" class="docs defaults">NUMBER_LINES control macros and defaults</h3>
3610 <ol style="margin-top: .5em; padding-bottom: .5em;">
3611 <li><a href="#number-lines-general">Family/font/size/colour</a></li>
3612 <li><a href="#number-lines-per-section">Reset line numbering after COLLATE</a></li>
3613 <li><a href="#number-quote-lines">Line numbering control for quotes and blockquotes</a>
3614 <ul style="padding-left: 1em">
3615 <li><a href="#number-quote-lines-global">Including QUOTEs and BLOCKQUOTEs in the line numbering scheme</a></li>
3616 <li><a href="#number-quote-lines-selective">Selectively enabling line numbering for QUOTEs and BLOCKQUOTEs</a></li>
3617 <li><a href="#number-quote-lines-gutter">Changing the line number gutter for QUOTEs and BLOCKQUOTEs</a></li>
3618 <li><a href="#number-quote-lines-silent">Silently increment line numbers during QUOTE and BLOCKQUOTE</a></li>
3623 <h4 id="number-lines-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Family/font/size/colour</h4>
3625 <div class="defaults-container" style="padding-bottom: 8px;">
3626 <p class="defaults" style="padding-top: 6px;">
3628 <a href="#control-macro-args">Arguments to the control macros</a>.
3630 The following NUMBER_LINES control macros may also be
3631 <a href="#grouping">grouped</a>
3632 using LINENUMBER_STYLE.
3634 <span class="pre defaults">
3635 .LINENUMBER_FAMILY default = prevailing family or document family; default is Times Roman
3636 .LINENUMBER_FONT default = prevailing font
3637 .LINENUMBER_SIZE default = +0
3638 .LINENUMBER_COLOR default = black
3642 <h4 id="number-lines-per-section" class="docs" style="margin-top: -1.75em;">2. Reset line numbering after COLLATE</h4>
3646 <a href="rectoverso.html#collate">COLLATE</a>,
3647 line numbering continues from where it left off. If you would like
3648 each chapter or major document section to begin its line numbering
3649 at “1”, invoke
3650 <span class="pre-in-pp">
3651 .NUMBER_LINES_PER_SECTION
3654 <a href="#number-lines"><kbd>.NUMBER_LINES</kbd></a>.
3657 <h4 id="number-quote-lines" class="docs" style="margin-top: 0em;">3. Line numbering control macros for QUOTE and BLOCKQUOTE</h4>
3659 <h5 id="number-quote-lines-global" class="docs" style="font-size: 87%">• Including QUOTEs and BLOCKQUOTEs in the line numbering scheme</h5>
3662 If you’d like mom to number lines in a
3663 <a href="#quote">QUOTE</a>
3665 <a href="#blockquote">BLOCKQUOTE</a>
3666 as part of the same order and sequence as paragraph text,
3668 <span class="pre-in-pp">
3672 <span class="pre-in-pp">
3673 .NUMBER_BLOCKQUOTE_LINES
3675 either before or after <kbd>NUMBER_LINES</kbd>. Both behave
3676 identically with respect to the affected macro (ie <kbd>QUOTE</kbd>
3677 or <kbd>BLOCKQUOTE</kbd>).
3680 <h5 id="number-quote-lines-selective" class="docs" style="font-size: 87%">• Selectively enabling line numbering for QUOTEs and BLOCKQUOTEs</h5>
3683 If you’d like to enable line numbering
3684 selectively for quotes and blockquotes <i>only</i>, enable
3685 <kbd>NUMBER_QUOTE_LINES</kbd> or <kbd>NUMBER_BLOCKQUOTE_LINES</kbd>
3686 first, followed by <kbd>NUMBER_LINES <n></kbd>, where
3687 <kbd><n></kbd> is the first line number of the quote
3688 or blockquote. Afterwards, enter your <kbd>QUOTE</kbd> or
3689 <kbd>BLOCKQUOTE</kbd>. When the quote or blockquote is finished (ie
3690 after <kbd>QUOTE OFF</kbd> or <kbd>BLOCKQUOTE OFF</kbd>),
3691 turn line numbering off. Each subsequent quote or blockquote you
3692 want line numbered requires only <kbd>NUMBER_LINES <n></kbd>
3693 (with a corresponding <kbd>NUMBER_LINES OFF</kbd>) until you turn
3694 <kbd>NUMBER_QUOTE_LINES</kbd> or <kbd>NUMBER_BLOCKQUOTE_LINES</kbd>
3699 Here’s a recipe where the first line number of quotes starts
3700 repeatedly at “1”.
3701 <span class="pre-in-pp">
3702 <running text>
3706 <text of quote>
3709 <further running text>
3712 <text of quote>
3715 <further running text>
3719 <h5 id="number-quote-lines-gutter" class="docs" style="font-size: 87%">• Changing the line number gutter for QUOTEs and BLOCKQUOTEs</h5>
3722 Owing to groff’s restriction on accepting only the figure
3723 space as the line number
3724 <a href="definitions.html#gutter">gutter</a>’s
3725 unit of measure, it is not possible for line numbers in quotes
3726 or blockquotes to hang outside a document’s overall left
3727 margin and be reliably flush with the line numbers of paragraph
3728 text. Conseqently, line numbers in quotes or blockquotes hang
3729 to the left of the quote, separated by the currently active
3730 gutter for <kbd>NUMBER_LINES</kbd>.
3734 If you’d like to change the line number gutter for
3735 quotes or blockquotes, invoke <kbd>NUMBER_QUOTE_LINES</kbd> or
3736 <kbd>NUMBER_BLOCKQUOTE_LINES</kbd> with a digit representing the
3738 <a href="definitions.html#figurespace">figure spaces</a>
3739 you’d like between the line numbers and the quoted text, like this:
3741 <span class="pre-in-pp">
3742 .NUMBER_QUOTE_LINES 3
3744 With the above, line numbers in quotes (and only quotes) will have
3745 a gutter of 3 figure spaces.
3748 <h5 id="number-quote-lines-silent" class="docs" style="font-size: 87%">• Silently increment line numbers during QUOTE and BLOCKQUOTE</h5>
3751 If you’ve asked mom not to line number quotes or blockquotes,
3752 but would like line numbering to continue while they’re
3753 being output (as opposed to mom’s default behaviour of
3754 <i>suspending</i> incrementing of line numbers during the output of
3755 quotes and blockquotes), invoke
3756 <span class="pre-in-pp">
3757 .NUMBER_QUOTE_LINES SILENT
3760 <span class="pre-in-pp">
3761 .NUMBER_BLOCKQUOTE_LINES SILENT
3763 With these, mom continues to increment line numbers while quotes
3764 or blockquotes are being output, but the line numbers won’t
3765 appear in the output copy.
3769 Once having turned <kbd>NUMBER_QUOTE_LINES</kbd> or
3770 <kbd>NUMBER_BLOCKQUOTE_LINES</kbd> on, you may disable them with
3771 <span class="pre-in-pp">
3772 .NUMBER_QUOTE_LINES OFF
3775 <span class="pre-in-pp">
3776 .NUMBER_BLOCKQUOTE_LINES OFF
3780 <div class="rule-short"><hr/></div>
3782 <!-- ==================================================================== -->
3784 <h2 id="footnote-intro" class="macro-group">Footnotes</h2>
3787 <li><a href="#footnote-behaviour">Footnote behaviour</a>
3788 <ul style="margin-left: -.5em;">
3789 <li><a href="#fn-and-punct">Footnote markers and punctuation in the running text</a></li>
3791 <li><a href="#footnote">Tag: FOOTNOTE</a></li>
3792 <li><a href="#footnote-control">Footnote control macros and defaults</a></li>
3796 For something so complex behind the scenes, footnotes are easy to use.
3797 You just type, for example,
3799 <span id="footnote-example" class="pre-in-pp">
3800 ...the doctrines of Identity as urged by Schelling\c
3802 <footnote about who the hell is Schelling>
3804 were generally the points of discussion presenting the most
3805 of beauty to the imaginative Morella.
3807 and be done with it.
3808 (Note the obligatory use of the <kbd>\c</kbd>
3809 <a href="definitions.html#inlines">inline escape</a>,
3810 required whenever your
3811 <a href="#footnote-marker-style">FOOTNOTE_MARKER_STYLE</a>
3812 is either <kbd>STAR</kbd> [star/dagger footnotes] or
3813 <kbd>NUMBER</kbd> [superscript numbers].)
3817 After you invoke <kbd>.FOOTNOTE</kbd>, mom takes care of everything:
3818 putting footnote markers in the body of the document, keeping track
3819 of how many footnotes are on the page, identifying the footnotes
3820 themselves appropriately, balancing them properly with the bottom
3821 margin, deferring footnotes that don’t fit on the page...
3822 Even if you’re using
3823 <a href="docprocessing.html#columns">COLUMNS</a>,
3824 mom knows what to do, and Does The Right Thing.
3827 <div class="box-tip">
3829 <span class="note">Note:</span>
3831 <a href="refer.html">refer.html</a>
3832 for information on using footnotes with the <kbd>refer</kbd>
3833 bibliographic database.
3837 <h3 id="footnote-behaviour" class="docs">Footnote behaviour</h3>
3840 Footnotes can be sly little beasts. If you’re writing a
3841 document that’s footnote-heavy, you might want to read the
3846 By default, mom marks footnotes with alternating stars (asterisks),
3847 daggers, and double-daggers. The first footnote gets a star, the
3848 second a dagger, the third a double-dagger, the fourth two stars,
3849 the fifth two daggers, etc. If you prefer numbered footnotes, rest
3850 assured mom is happy to oblige.
3854 A small amount of vertical whitespace and a short horizontal rule
3855 separate footnotes from the document body. When
3856 <a href="docprocessing.html#flex-vs-shim">shimming</a>
3857 is enabled, the amount of whitespace
3858 may vary slightly from page to page depending on the number of lines
3859 in the footnotes. Mom tries for a nice balance between too little
3860 whitespace and too much, but when push comes to shove, she’ll
3861 usually opt for ample over cramped. The last lines of footnotes are
3862 always flush with the document’s bottom margin.
3867 <a href="docprocessing.html#flex-vs-shim">flex-spacing</a>
3868 is enabled, the distance between the last line of text and the
3869 first footnote is always the same.
3873 If mom sees that a portion of a footnote cannot be fit on its page,
3874 she carries that portion over to the next page. If an entire
3875 footnote can’t be fit on its page (ie FOOTNOTE has been
3876 called too close to the bottom), she defers the footnote to the next
3877 page, but sets it with the appropriate marker from the previous
3882 When footnotes occur within cited text, for example a
3883 <a href="#quote">QUOTE</a>
3885 <a href="#blockquote">BLOCKQUOTE</a>,
3886 mom will usually opt for deferring the footnote over to the next
3887 page if it allows her to complete the cited text on one page.
3891 In the unfortunate happenstance that a deferred footnote is the
3892 only footnote on its page (ie it’s marked in the document
3893 body with a star) and the page it’s deferred to has its own
3894 footnotes, mom separates the deferred footnote from the page’s
3895 proper footnote(s) with a blank line. This avoids the confusion
3896 that might result from readers seeing two footnote entries on
3897 the same page identified by a single star (or the number 1 if
3898 you’ve requested numbered footnotes that begin at 1 on every
3899 page). The blank line makes it clear that the first footnote entry
3900 belongs to the previous page.
3904 In the circumstance where a deferred footnote is not the only one
3905 on its page, and is consequently marked by something other than
3906 a single star, there’s no confusion and mom doesn’t
3907 bother with the blank line. (By convention, the first footnote on
3908 a page is always marked with a single star, so if readers see, say,
3909 a dagger or double-dagger marking the first footnote entry,
3910 they’ll know the entry belongs to the previous page).
3914 Very exceptionally, two footnotes may have to be deferred (e.g., one
3915 occurs on the second to last line of a page, and another on the last
3916 line). In such a circumstance, mom does not add
3917 a blank after the second deferred footnote. If you’d like a blank
3918 line separating both deferred footnotes from any footnotes proper to
3919 the page the deferred ones were moved to, add the space manually by
3921 <a href="typesetting.html#space"><kbd>.SPACE</kbd></a>
3922 command at the end of the footnote text, before
3923 <kbd>.FOOTNOTE OFF</kbd> (or <kbd>X, QUIT, EXIT</kbd>, etc).
3927 Obviously, deferred footnotes aren’t an issue if you request
3928 numbered footnotes that increase incrementally throughout the whole
3929 document—yet another convenience mom has thought of.
3933 While mom’s handling of footnotes is sophisticated,
3934 and tries to take nearly every imaginable situation under which they
3935 might occur into account, some situations are simply impossible from
3936 a typographic standpoint. For example, if you have a
3937 <a href="#head">HEAD</a>
3938 near the bottom of a page and the page has some footnotes on it, mom
3939 may simply not have room to set any text under the head (normally,
3940 she insists on having room for at least one line of text beneath
3941 a head). In such an instance, mom will either set the head, with
3942 nothing under it but footnotes, or transfer the head to the next
3943 page. Either way, you’ll have a gaping hole at the bottom
3944 of the page. It’s a sort of typographic Catch-22, and can
3945 only be resolved by you, the writer or formatter of the document,
3946 adjusting the type on the offending page so as to circumvent the
3950 <h3 id="fn-and-punct" class="docs">Footnote markers and punctuation in the running text</h3>
3952 <ol style="margin-left: -1.25em;">
3953 <li><a href="#fn-and-punct-fill">“Fill” modes – JUSTIFY, or QUAD LEFT | CENTER | RIGHT</a></li>
3954 <li><a href="#fn-and-punct-nofill">“No-fill” modes – LEFT, CENTER, RIGHT</a></li>
3957 <h4 id="fn-and-punct-fill" class="docs">1. “Fill” modes – JUSTIFY, or QUAD LEFT | CENTER | RIGHT</h4>
3961 <a href="definitions.html#filled">fill</a>
3962 modes, the correct way to enter the line after
3963 <kbd>.FOOTNOTE OFF</kbd> is to input it as if it’s
3964 literally a continuation of the input line you were entering before
3965 you invoked <kbd>.FOOTNOTE</kbd>. Therefore, if necessary, the
3966 input line may have to begin with space(s) or a punctuation mark, as
3967 in the two following examples.
3970 <div id="examples-footnotes-1" class="examples-container" style="padding-bottom: 1em;">
3971 <div class="examples" style="margin-top: 0; margin-bottom: -.25em;">Example 1</div>
3977 broken up with a comma.
3979 (last line begins with a literal space)
3983 <div id="examples-footnotes-2" class="examples-container" style="margin-top: 1em; padding-bottom: 1em;">
3984 <div class="examples" style="margin-top: 0; margin-bottom: -.25em;">Example 2</div>
3990 , broken up with a comma.
3992 (last line begins with a comma and a space)
3997 Example 1 produces, on output
3999 <span class="pre-in-pp">
4000 A line of text,* broken up with a comma.
4004 <span class="pre-in-pp">
4005 A line of text*, broken up with a comma.
4007 Care must be taken, though, if the punctuation mark that begins the
4008 line after <kbd>.FOOTNOTE OFF</kbd> is a period (dot). You
4009 <b><i>must</i></b> begin such lines with <kbd>\&.</kbd>, like
4012 <span class="pre-in-pp">
4013 ...end of sentence\c
4017 \&. A new sentence...
4019 If you omit the <kbd>\&.</kbd>, the line will vanish!
4022 <div class="box-tip">
4024 <span class="note">Note:</span>
4025 The document element tags,
4026 <a href="#epigraph">EPIGRAPH</a>
4028 <a href="#blockquote">BLOCKQUOTE</a>,
4029 imply a fill mode, therefore these instructions also apply when you
4030 insert a footnote into epigraphs or blockquotes.
4034 <h4 id="fn-and-punct-nofill" class="docs">2. “No-fill” modes – LEFT, CENTER, RIGHT</h4>
4038 <a href="definitions.html#filled">no-fill</a>
4039 modes, you must decide a) whether text on the <i>input</i> line
4040 after <kbd>.FOOTNOTE OFF</kbd> is to be joined to the
4041 <i>output</i> line before <kbd>.FOOTNOTE</kbd> was invoked, or b)
4042 whether you want the <i>output</i> text to begin on a new line.
4046 In the first instance, simply follow the instructions,
4047 <a href="#fn-and-punct-fill">above</a>,
4052 In the second instance, you must explicitly tell mom that
4053 you want input text after <kbd>.FOOTNOTE OFF</kbd> to
4054 begin on a new output line. This is accomplished by passing
4055 <kbd>.FOOTNOTE OFF</kbd> (or <kbd>QUIT, END, X,</kbd> etc) an
4056 additional argument: <kbd>BREAK</kbd> or <kbd>BR</kbd>.
4060 Study the two examples below to understand the difference.
4063 <div id="examples-footnotes-3" class="examples-container" style="padding-bottom: 1em;">
4064 <div class="examples" style="margin-top: 0; margin-bottom: -.25em;">Example 1</div>
4071 that carries on after the footnote.
4075 <div id="examples-footnotes-4" class="examples-container" style="margin-top: 1em; padding-bottom: 1em;">
4076 <div class="examples" style="margin-top: 0; margin-bottom: -.25em;">Example 2</div>
4083 that doesn’t carry on after the footnote.
4088 Example 1, on output, produces
4090 <span class="pre-in-pp">
4091 A line of text* that carries on after the footnote.
4093 whereas Example 2 produces
4094 <span class="pre-in-pp">
4096 that doesn’t carry on after the footnote.
4098 The distinction becomes particularly important if you like to see
4099 punctuation marks come <i>after</i> footnote markers. In no-fill
4100 modes, that’s accomplished like this:
4102 <span class="pre-in-pp">
4109 broken up with a comma.
4111 The output of the above looks like this:
4113 <span class="pre-in-pp">
4115 broken up with a comma.
4119 <div class="box-tip">
4121 <span class="note">Note:</span>
4122 The document element tag,
4123 <a href="#quote">QUOTE</a>,
4124 implies a no-fill mode, therefore these instructions also apply when
4125 you insert footnotes into quotes.
4131 <div class="macro-id-overline">
4132 <h3 id="footnote" class="macro-id">FOOTNOTE</h3>
4135 <div class="box-macro-args">
4136 Tag: FOOTNOTE <kbd class="macro-args"><toggle> [ BREAK | BR ] | INDENT LEFT | RIGHT | BOTH <indent value></kbd>
4139 <p class="requires">
4140 • <kbd><span style="font-style: normal"><indent value></span></kbd> requires a <a href="definitions.html#unitofmeasure">unit of measure</a>
4142 See <span style="font-style: normal"><a href="#footnote-note">HYPER-IMPORTANT NOTE</a></span>.
4146 FOOTNOTE is a toggle macro, therefore invoking it on a line by
4147 itself allows you to enter a footnote in the body of a document.
4148 Invoking it with any argument other than INDENT (ie <kbd>OFF,
4149 QUIT, END, X...</kbd>) tells mom you’re finished.
4153 Footnotes are the only element of
4154 <a href="definitions.html#running">running text</a>
4155 that are not affected by the typesetting
4156 <a href="typesetting.html#indents">indent macros</a>.
4157 In the unlikely event that you want a page’s footnotes to
4158 line up with a running indent, invoke <kbd>.FOOTNOTE</kbd> with
4159 the <kbd>INDENT</kbd> argument and pass it an indent direction and
4160 indent value. <kbd>L, R,</kbd> and <kbd>B</kbd> may be used in place
4161 of <kbd>LEFT, RIGHT,</kbd> and <kbd>BOTH</kbd>. FOOTNOTE must be
4162 invoked with <kbd>INDENT</kbd> for every footnote you want indented;
4163 mom does not save any footnote indent information from invocation to
4167 <div class="box-tip">
4169 <span class="note">Note:</span>
4170 If a footnote runs to more than one paragraph, do <i>not</i> begin
4171 the footnote with the
4172 <a href="#pp">PP</a>
4173 tag. Use <kbd>.PP</kbd> only to introduce subsequent paragraphs.
4177 <div id="footnote-note" class="box-tip">
4179 <span class="note">HYPER-IMPORTANT NOTE:</span>
4180 The final word on the
4181 <a href="definitions.html#inputline">input line</a>
4182 that comes immediately before FOOTNOTE <i>must</i> terminate with a
4183 <kbd><a href="typesetting.html#join">\c</a></kbd>
4184 inline escape if your
4185 <a href="#footnote-marker-style">FOOTNOTE_MARKER_STYLE</a>
4186 is either <kbd>STAR</kbd> or <kbd>NUMBER</kbd>. See the
4187 <a href="#footnote-example">footnote example</a>
4193 <a href="definitions.html#filled">fill</a>
4195 (<a href="typesetting.html#justify">JUSTIFY</a>
4197 <a href="typesetting.html#quad">QUAD</a>),
4198 the line <i>after</i> a <kbd>.FOOTNOTE OFF</kbd> should be
4199 entered as if there were no interruption in the input text, ie
4200 the line should begin with a literal space or punctuation mark (see
4201 explanation and examples
4202 <a href="#fn-and-punct">here</a>).
4207 <a href="definitions.html#filled">no-fill</a>
4208 modes, the optional argument <kbd>BREAK</kbd> or <kbd>BR</kbd> may
4209 be used after the <kbd>OFF</kbd> (or <kbd>QUIT, END, X,</kbd> etc.)
4210 argument to instruct mom not to join the next input line to the
4211 previous output. See
4212 <a href="#fn-and-punct-nofill">here</a>
4213 for a more complete explanation, with examples.
4216 <p class="tip-bottom">
4217 Do not use the <kbd>\c</kbd> inline escape if your
4218 FOOTNOTE_MARKER_STYLE is <kbd>LINE</kbd>, or if you have disabled
4219 footnote markers with
4220 <kbd><a href="#footnote-markers">.FOOTNOTE_MARKERS OFF</a></kbd>.
4221 In these instances, the line after <kbd>.FOOTNOTE OFF</kbd>
4222 should be entered normally.
4226 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
4227 <h3 id="footnote-control" class="docs defaults">FOOTNOTE control macros macros and defaults</h3>
4229 <ol style="margin-top: .5em; padding-bottom: .5em;">
4230 <li><a href="#footnote-general">Family/font/size/colour/lead/quad</a></li>
4231 <li><a href="#footnote-markers">Footnote markers</a> – on or off</li>
4232 <li><a href="#footnote-marker-style">Footnote marker style</a> – star+dagger or numbered
4233 <ul style="margin-left: -.5em; list-style-type: disc;">
4234 <li><a href="#footnote-number-placeholders">Left padding of footnote numbers</a></li>
4236 <li><a href="#footnotes-by-linenumber">Footnotes by line number</a>
4237 <ul style="margin-left: -.5em; list-style-type: disc;">
4238 <li><a href="#footnote-linenumber-brackets">FOOTNOTE_LINENUMBER_BRACKETS</a></li>
4239 <li><a href="#footnote-linenumber-separator">FOOTNOTE_LINENUMBER_SEPARATOR</a></li>
4240 <li><a href="#footnotes-run-on">FOOTNOTES_RUN_ON</a> – line-numbered footnotes only</li>
4242 <li><a href="#reset-footnote-number">Reset footnote number</a> – set footnote marker number to 1</li>
4243 <li><a href="#footnote-space">Inter-footnote spacing</a></li>
4244 <li><a href="#footnote-rule">Footnote rule</a> – on or off</li>
4245 <li><a href="#footnote-rule-length">Footnote rule length</a> – length of footnote separator rule</li>
4246 <li><a href="#footnote-rule-weight">Footnote rule weight</a> – weight of footnote separator rule</li>
4247 <li><a href="#footnote-rule-adj">Adjust vertical position of footnote separator rule</a></li>
4251 <h4 id="footnote-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Family/font/size/colour/lead/quad</h4>
4253 <div class="defaults-container" style="padding-bottom: 8px;">
4254 <p class="defaults" style="padding-top: 6px;">
4256 <a href="#control-macro-args">Arguments to the control macros</a>.
4258 The following FOOTNOTE control macros may also be
4259 <a href="#grouping">grouped</a>
4260 using FOOTNOTE_STYLE.
4262 <span class="pre defaults">
4263 .FOOTNOTE_FAMILY default = prevailing document family; default is Times Roman
4264 .FOOTNOTE_FONT default = roman
4265 .FOOTNOTE_SIZE default = -2 (points)
4266 .FOOTNOTE_COLOR default = black
4267 .FOOTNOTE_AUTOLEAD default = 2 points (typeset); single-spaced (typewrite)
4268 .FOOTNOTE_QUAD default = same as paragraphs
4272 <h4 id="footnote-markers" class="docs" style="margin-top: -1.25em;">2. Footnote markers – FOOTNOTE_MARKERS</h4>
4275 If you don’t want footnote markers, in either the body of
4276 the document or beside footnote entries themselves, toggle them
4277 off with <kbd>.FOOTNOTE_MARKERS OFF</kbd> (or <kbd>END, QUIT,
4278 X</kbd>...). This means, of course, that you’ll
4279 have to roll your own. If you want them back on, invoke
4280 <kbd>.FOOTNOTE_MARKERS</kbd> with no argument. Footnote markers are
4285 If FOOTNOTE_MARKERS are disabled, do not use the <kbd>\c</kbd>
4286 inline escape to terminate the line before <kbd>.FOOTNOTE</kbd>.
4289 <h4 id="footnote-marker-style" class="docs" style="margin-top: -.25em;">3. Footnote marker style – FOOTNOTE_MARKER_STYLE</h4>
4292 Mom gives you two choices of footnote marker style: star+dagger (see
4293 <a href="#footnote-behaviour">footnote behaviour</a>
4294 above), or numbered.
4298 <kbd>.FOOTNOTE_MARKER_STYLE STAR</kbd> gives you star+dagger (the
4299 default). There is a limit of 10 footnotes per page with this
4304 <kbd>.FOOTNOTE_MARKER_STYLE NUMBER</kbd> gives you superscript
4305 numbers, both in the document body and in the footnote entries
4306 themselves. By default, footnote numbers increase incrementally
4307 (prev. footnote number + 1) throughout the whole document. You
4308 can ask mom to start each page’s footnote numbers at 1 with
4309 <kbd>.RESET_FOOTNOTE_NUMBER</kbd>
4310 (<a href="#reset-footnote-number">see below</a>.)
4315 <a href="docprocessing.html#printstyle">PRINTSTYLE</a>
4316 is <kbd>TYPEWRITE</kbd> and you would prefer that the footnotes
4317 themselves not use superscript numbers, you may pass
4318 <kbd>.FOOTNOTE_MARKER_STYLE NUMBER</kbd> an additional argument:
4319 <kbd>NO_SUPERSCRIPT</kbd>. While the marker in the text will still
4320 be superscript, the footnotes themselves will be identified with
4321 normal-sized, base aligned numbers, surrounded by parentheses.
4324 <h5 id="footnote-number-placeholders" class="docs">Left padding of footnote numbers</h5>
4327 When footnote numbering is enabled, in order to ensure that the
4328 left margin of footnote text aligns regardless of the footnote
4329 number, you sometimes have to pad the footnote numbers. This will
4330 be the case any time the footnote numbers change from 9 to 10 on
4331 the same page, or from 99 to 100. Consider this scenario:
4333 <span class="pre-in-pp">
4334 <sup>9</sup> Footnote text
4335 <sup>10</sup> Footnote text
4336 <sup>11</sup> Footnote text
4338 As you can see, the left margins of the footnotes are not aligned.
4342 In order to correct this, use the macro
4343 <kbd>.FOOTNOTE_NUMBER_PLACEHOLDERS</kbd>, which takes a single
4344 argument: the number of placeholders in the longer digit. For
4345 example, placed at an appropriate point in your input file,
4346 <kbd>.FOOTNOTE_NUMBER_PLACEHOLDERS 2</kbd> causes the above
4347 example to come out like this:
4349 <span class="pre-in-pp">
4350 <sup> 9</sup> Footnote text
4351 <sup>10</sup> Footnote text
4352 <sup>11</sup> Footnote text
4354 Given the impossibility of knowing in advance when the number of
4355 placeholders required for footnote numbers will change, you must
4356 study your <i>output</i> file to determine where to insert this
4357 macro into your <i>input</i> file.
4361 Obviously, mom does not provide a default for
4362 <kbd>.FOOTNOTE_NUMBER_PLACEHOLDERS</kbd>.
4365 <div class="box-tip">
4367 <span class="note">Note:</span>
4368 <kbd>.FOOTNOTE_NUMBER_PLACEHOLDERS</kbd> affects both superscript
4369 footnote numbers, and, in
4370 <a href="docprocessing.html#printstyle">PRINTSTYLE TYPEWRITE</a>,
4371 the normal, base-aligned numbers surrounded by parentheses that you
4373 <kbd>.FOOTNOTE_MARKER_STYLE NUMBER NO_SUPERSCRIPT</kbd>.
4377 <h4 id="footnotes-by-linenumber" class="docs" style="margin-top: -.25em;">4. Footnotes by line number – FOOTNOTE_MARKER_STYLE LINE</h4>
4380 FOOTNOTE_MARKER_STYLE with the argument, <kbd>LINE</kbd> lets you
4381 have footnotes which are identified by line number, rather than by a
4382 marker in the text. (Note that
4383 <a href="#number-lines">NUMBER_LINES</a>
4384 must be enabled in order to use this marker style.)
4388 With FOOTNOTE_MARKER_STYLE <kbd>LINE</kbd>, mom will identify
4389 footnotes either by single line numbers, or line ranges. If
4390 what you want is a single line number, you need only invoke
4391 <kbd>.FOOTNOTE</kbd>, <i>without the terminating</i> <kbd>\c</kbd>,
4392 at the appropriate place in running text. Input lines after the
4393 footnote has been terminated (e.g., with <kbd>.FOOTNOTE OFF</kbd>)
4394 must begin at the left margin.
4398 If you want a range of line numbers (e.g., [5-11] ),
4399 insert, directly into the first line of the range you want,
4400 the <a href="definitions.html#inlines">inline escape</a>,
4401 <kbd>\*[FN_MARK]</kbd>. For the terminating line number of the
4402 range, you need only invoke <kbd>.FOOTNOTE</kbd> (again, without the
4403 terminating <kbd>\c</kbd>); mom is smart enough to figure out that
4404 where <kbd>.FOOTNOTE</kbd> was invoked represents the terminating
4405 line number. Range-numbered footnotes are always output on the
4406 page where <kbd>.FOOTNOTE</kbd> was invoked, not the page where
4407 <kbd>\*[FN_MARK]</kbd> appears (subject, of course, to the rules for
4408 footnotes that fall too close to the bottom of a page, as outlined
4409 <a href="#footnote-rules">here</a>).
4413 The behaviour of line-numbered footnotes can be controlled with the
4416 <span style="display: inline-block; margin-left: 2em; margin-top: .5em;"><a href="#footnote-linenumber-brackets">FOOTNOTE_LINENUMBER_BRACKETS</a></span>
4418 <span style="margin-left: 2em;"><a href="#footnote-linenumber-separator">FOOTNOTE_LINENUMBER_SEPARATOR</a></span>
4420 <span style="margin-left: 2em;"><a href="#footnotes-run-on">FOOTNOTES_RUN_ON</a></span>
4423 <div style="margin-left: 1.25em;">
4424 <h5 id="footnote-linenumber-brackets" class="docs" style="margin-top: -.25em;">• FOOTNOTE_LINENUMBER_BRACKETS</h5>
4426 <p style="margin-left: .5em;">
4427 Mom, by default, surrounds footnote line numbers with square
4428 brackets. The style of the brackets may be changed with the macro
4430 <span class="pre-in-pp">
4431 .FOOTNOTE_LINENUMBER_BRACKETS
4433 which takes one of three possible arguments: <kbd>PARENS</kbd>
4434 (round brackets), <kbd>SQUARE</kbd> (the default) or
4435 <kbd>BRACES</kbd> (curly braces). If you prefer a shortform, the
4436 arguments, <kbd>(</kbd>, <kbd>[</kbd> or <kbd>{</kbd> may be used
4440 <p style="margin-left: .5em;">Thus, for example, either
4442 <span class="pre-in-pp">
4443 .FOOTNOTE_LINENUMBER_BRACKETS PARENS
4447 <span class="pre-in-pp">
4448 .FOOTNOTE_LINENUMBER_BRACKETS (
4450 will surround footnote line numbers with round brackets.
4453 <h5 id="footnote-linenumber-separator" class="docs" style="margin-top: -.25em;">• FOOTNOTE_LINENUMBER_SEPARATOR</h5>
4455 <p style="margin-left: .5em;">
4456 If you don’t want the numbers enclosed in brackets, you
4457 may tell mom to use a “separator” instead. A common
4458 separator would be the colon, but it can be anything you like.
4459 The macro to do this is
4461 <span class="pre-in-pp">
4462 .FOOTNOTE_LINENUMBER_SEPARATOR
4464 which takes, as its single argument, the separator you want. For
4465 safety and consistency’s sake, always enclose the argument in
4466 double-quotes. The separator can be composed of any valid groff
4467 character, or any combination of characters.
4470 <p style="margin-left: .5em;">
4471 <b>A word of caution:</b> when using a separator, mom doesn’t
4472 insert any space after the separator. Hence, if you want space
4473 (you probably do), you must make the space part of the argument you
4474 pass to FOOTNOTE_LINENUMBER_SEPARATOR. For example, to get a colon
4475 separator with a space after it, you’d do
4477 <span class="pre-in-pp">
4478 .FOOTNOTE_LINENUMBER_SEPARATOR ": "
4482 <h5 id="footnotes-run-on" class="docs" style="margin-top: -1em;">• FOOTNOTES_RUN_ON</h5>
4484 <p style="margin-left: .5em;">
4485 Finally, if your footnote marker style is <kbd>LINE</kbd>, you may
4486 instruct mom to do “run-on style” footnotes. Run-on
4487 footnotes do not treat footnotes as discrete entities, ie each
4488 beginning on a new line. Rather, each footnote is separated from
4489 the footnote before it by horizontal space in the running line, so
4490 that the footnotes on any given page form a continuous block, like
4491 lines in a paragraph.
4494 <p style="margin-left: .5em;">
4495 The macro to get mom to run footnotes on is
4497 <span class="pre-in-pp">
4500 Invoked by itself, it turns the feature on. Invoked with any other
4501 argument (<kbd>OFF, NO</kbd>, etc.), it turns the feature off.
4502 It is generally not a good idea to turn the feature on and off
4503 during the course of a single document. If you do, mom will issue
4504 a warning if there’s going to be a problem. However, it is
4505 always perfectly safe to enable/disable the feature after
4506 <a href="rectoverso.html#collate">COLLATE</a>.
4510 <h4 id="reset-footnote-number" class="docs" style="margin-top: -.25em;">5. Reset footnote number – RESET_FOOTNOTE_NUMBER</h4>
4513 <kbd>.RESET_FOOTNOTE_NUMBER</kbd>, by itself, resets footnote
4514 numbering so that the next footnote you enter is numbered 1.
4518 <kbd>.RESET_FOOTNOTE_NUMBER PAGE</kbd> tells mom to start every
4519 page’s footnote numbering at 1.
4522 <h4 id="footnote-space" class="docs" style="margin-top: -.25em;">6. Inter-footnote spacing – FOOTNOTE_SPACING</h4>
4525 If you’d like some space between footnotes, you can
4526 have mom put it in for you by invoking <kbd>.FOOTNOTE_SPACING</kbd>
4527 with an argument representing the amount of extra space you’d
4528 like. The argument to FOOTNOTE_SPACING requires a
4529 <a href="definitions.html#unitofmeasure">unit of measure</a>.
4533 In the following example, footnotes will be separated from each
4535 <a href="definitions.html#picaspoints">points</a>.
4537 <span class="pre-in-pp">
4538 .FOOTNOTE_SPACING 3p
4542 <div class="box-tip">
4544 <span class="note">Note:</span>
4545 If you’re using footnotes for references generated from the
4547 <a href="refer.html">refer.html</a>),
4548 correct MLA style requires a full linespace between footnotes, which
4549 you can accomplish with <kbd>.FOOTNOTE_SPACING 1v</kbd>.
4553 <h4 id="footnote-rule" class="docs" style="margin-top: -.25em;">7. Footnote rule – FOOTNOTE_RULE</h4>
4556 If you don’t want a footnote separator rule, toggle it off with
4557 <kbd>.FOOTNOTE_RULE OFF</kbd> (or <kbd>END, QUIT, X</kbd>...).
4558 Toggle it back on by invoking <kbd>.FOOTNOTE_RULE</kbd> with no
4559 argument. The default is to print the rule.
4562 <h4 id="footnote-rule-length" class="docs" style="margin-top: -.25em;">8. Footnote rule length – FOOTNOTE_RULE_LENGTH</h4>
4565 If you want to change the length of the footnote separator rule,
4566 invoke <kbd>.FOOTNOTE_RULE_LENGTH</kbd> with a length, like this,
4568 <span class="pre-in-pp">
4569 .FOOTNOTE_RULE_LENGTH 1i
4572 which sets the length to 1 inch. Note that a
4573 <a href="definitions.html#unitofmeasure">unit of measure</a>
4574 is required. The default is 4
4575 <a href="definitions.html#picaspoints">picas</a>
4577 <a href="docprocessing.html#printstyle">PRINTSTYLES</a>.
4580 <h4 id="footnote-rule-weight" class="docs" style="margin-top: -.25em;">9. Footnote rule weight – FOOTNOTE_RULE_WEIGHT</h4>
4583 If you want to change the weight (“thickness”) of the
4584 footnote separator rule, invoke <kbd>.FOOTNOTE_RULE_WEIGHT</kbd>
4585 with the desired weight. The weight is measured in
4586 <a href="definitions.html#picaspoints">points</a>;
4587 however, do not append the
4588 <a href="definitions.html#unitofmeasure">unit of measure</a>,
4589 <kbd>p</kbd>, to the argument.
4593 Mom’s default footnote rule weight is 1/2 point. If
4594 you’d like a 1-point rule instead,<br/>
4595 <span class="pre-in-pp">
4596 .FOOTNOTE_RULE_WEIGHT 1
4598 is how you’d get it.
4601 <h4 id="footnote-rule-adj" class="docs" style="margin-top: -.25em;">10. Adjust vertical position of footnote separator rule – FOOTNOTE_RULE_ADJ</h4>
4604 The footnote separator rule is a rule whose bottom edge falls
4606 <a href="definitions.html#baseline">baseline</a>
4608 <a href="definitions.html#leading">leading</a>)
4609 one line above the first line of a page’s footnotes. By default,
4610 mom raises the rule 3
4611 <a href="definitions.html#picaspoints">points</a>
4612 from the baseline so that the separator and the footnotes don’t
4613 look jammed together. If you’d prefer a different vertical
4614 adjustment, invoke <kbd>.FOOTNOTE_RULE_ADJ</kbd> with the
4615 amount you’d like. For example
4617 <span class="pre-in-pp">
4618 .FOOTNOTE_RULE_ADJ 4.25p
4620 raises the rule by 4-1/4 points. Note that you can only raise
4621 the rule, not lower it. A
4622 <a href="definitions.html#unitofmeasure">unit of measure</a>
4626 <div class="box-tip">
4628 <span class="note">Note:</span>
4630 <a href="definitions.html#leading">leading</a>
4632 <a href="definitions.html#picaspoints">points</a>
4634 <a href="definitions.html#ps">point size</a>
4635 is 10 and your linespacing is 10, 11, or 12), lowering mom’s
4636 default footnote rule adjustment will almost certainly give you
4637 nicer looking results than leaving the adjustment at the default.
4638 Furthermore, you can invoke <kbd>.FOOTNOTE_RULE_ADJ</kbd> on any
4639 page in which footnotes appear, or in any column, so that the
4640 placement of the footnote rule can be changed on-the-fly, should you
4645 <div class="rule-short"><hr/></div>
4647 <!-- ==================================================================== -->
4649 <h2 id="endnote-intro" class="macro-group">Endnotes</h2>
4651 <ul style="margin-left: -.5em;">
4652 <li><a href="#endnote-behaviour">Endnotes behaviour</a>
4653 <ul style="margin-left: -.5em;">
4654 <li><a href="#endnote-columns">Endnotes and columnar documents</a></li>
4656 <li><a href="#endnote">Tag: ENDNOTE</a></li>
4657 <li><a href="#endnotes">Macro: <b>ENDNOTES</b></a>—tell mom to output endnotes</li>
4658 <li><a href="#endnote-control">ENDNOTES control macros and defaults</a></li>
4662 Embedding endnotes into mom documents is accomplished the same way
4664 <a href="#footnote-intro">footnotes</a>.
4665 The example below is identical to the one shown in the
4666 <a href="#footnote-example">introduction to footnotes</a>,
4667 except that <kbd>.FOOTNOTE</kbd> has been replaced with
4668 <kbd>.ENDNOTE</kbd>.
4671 <div id="examples" class="examples-container" style="padding-bottom: 1em;">
4672 <div class="examples" style="margin-top: 0; margin-bottom: -.25em;">Example</div>
4673 <span id="endnote-example" class="pre">
4674 ...the doctrines of Identity as urged by Schelling\c
4676 <endnote about who the hell is Schelling>
4678 were generally the points of discussion presenting the most
4679 of beauty to the imaginative Morella.
4684 As with footnotes, note the obligatory use of the <kbd>\c</kbd>
4685 <a href="definitions.html#inlines">inline escape</a>
4687 <a href="#endnote-marker-style">ENDNOTE_MARKER_STYLE</a>
4688 is <kbd>NUMBER</kbd> or <kbd>SUPERSCRIPT</kbd> (both of which mark
4689 endnotes references in
4690 <a href="definitions.html#running">running text</a>
4691 with superscript numbers). When the marker style is
4692 <kbd>LINE</kbd>, you must <i>not</i> use the <kbd>\c</kbd>
4697 Endnotes differ from footnotes in two ways (other than the fact that
4698 endnotes come at the end of a document whereas footnotes appear in
4699 the body of the document):
4702 <ol style="margin-top: -.5em;">
4703 <li>When your ENDNOTE_MARKER_STYLE is <kbd>NUMBER</kbd> or
4704 <kbd>SUPERSCRIPT</kbd>, endnotes are always numbered
4705 incrementally, starting at “1”.
4707 <li>Endnotes must be output explicitly; mom does not output
4709 <a href="rectoverso.html#collate">collated</a>
4710 documents, this allows you to choose whether you want the
4711 endnotes to appear at the end of each chapter or article in a
4712 document, or grouped together at the very end of the document.
4717 Within endnotes, you may use the document element tags
4718 <a href="#pp">PP</a>,
4719 <a href="#quote">QUOTE</a>
4721 <a href="#blockquote">BLOCKQUOTE</a>.
4722 This provides the flexibility to create endnotes that run to several
4723 paragraphs, as well as to embed cited text within endnotes.
4727 Should you wish to change the appearance of quotes or blockquotes
4728 that appear within endnotes, you may do so with the
4729 <a href="#quote-control">quote control macros</a>
4731 <a href="#blockquote-control">blockquote control macros</a>.
4732 However, you must make the changes <i>within</i> each endnote,
4733 prior to invoking <kbd>.QUOTE</kbd> or <kbd>.BLOCKQUOTE</kbd>,
4734 and undo them prior to terminating the endnote (ie before
4735 <kbd>.ENDNOTE OFF</kbd>), otherwise the changes will affect
4736 subsequent quotes and blockquotes that appear in the document body
4740 <div class="box-tip">
4742 <span class="note">Note:</span>
4744 <a href="refer.html">refer.html</a>
4745 for information on using endnotes with the <kbd>refer</kbd>
4746 bibliographic database.
4750 <h3 id="endnote-behaviour" class="docs">Endnotes behaviour</h3>
4753 When you output endnotes (with
4754 <kbd><a href="#endnotes">.ENDNOTES</a></kbd>),
4755 mom finishes processing the last page of your document, then breaks
4756 to a new page for printing the endnotes. If the document type is
4757 <kbd><a href="docprocessing.html#doctype">CHAPTER</a></kbd>,
4758 the centre part of the
4759 <a href="definitions.html#header">header</a>
4760 (or footer), which, by default, contains a chapter number or title,
4765 By default, mom starts the endnotes page with a bold, centred head,
4766 “ENDNOTES”. Subsequently, for each section in a
4767 <a href="rectoverso.html#collate-intro">collated</a>
4768 document (e.g., chapters in a book), she identifies the section in bold
4769 type, flush left and underscored, followed by one-half linespace.
4770 Endnotes pertaining to the section are output underneath, identified
4771 by superscript numbers. The text of the endnotes themselves is
4772 indented to the right of the numbers.
4775 <div class="box-tip">
4777 <span class="note">Note:</span>
4778 The one-half linespace between section identifiers and the endnotes
4779 themselves, plus the need to group identifiers and endnotes sensibly,
4780 means that mom cannot guarantee perfectly aligned bottom margins.
4781 This is an unavoidable consequence of the structure of endnotes.
4786 Of course, all the defaults, as well as the overall style of the
4787 endnotes pages, can be changed with the
4788 <a href="#endnote-control">endnote control macros</a>.
4789 The attentive will notice that endnotes have an awful lot of control
4790 macros. This is because endnotes are like a mini-document unto
4791 themselves, and therefore need not be bound by the style parameters
4792 of the body of the document.
4795 <h3 id="endnote-columns" class="docs">Endnotes and columnar documents</h3>
4798 If your document is set in columns (see
4799 <a href="docprocessing.html#columns">COLUMNS</a>),
4800 mom gives you the option to have endnotes appear in either
4801 the column format or set to the full page width. See
4802 <a href="#endnotes-no-columns">ENDNOTES_NO_COLUMNS</a>.
4807 <div class="macro-id-overline">
4808 <h3 id="endnote" class="macro-id">ENDNOTE</h3>
4811 <div class="box-macro-args">
4812 Macro: <b>ENDNOTE</b> <kbd class="macro-args"><toggle> [ BREAK | BR ]</kbd>
4814 <p class="requires">
4815 See <span style="font-style: normal"><a href="#endnote-note">HYPER-IMPORTANT NOTE</a></span>
4819 ENDNOTE is a toggle macro, therefore invoking it on a line by itself
4820 allows you to enter an endnote in the body of a document. Invoking
4821 it with any other argument (ie <kbd>OFF, QUIT, END, X...</kbd>)
4822 tells mom that you’ve finished the endnote.
4825 <div class="box-tip">
4827 <span class="note">Note:</span>
4828 If an endnote runs to more than one paragraph, do <i>not</i> begin
4829 the endnote with the
4830 <a href="#pp">PP</a>
4831 tag. Use PP only to introduce subsequent paragraphs.
4835 <div id="endnote-note" class="box-tip">
4837 <span class="note">HYPER-IMPORTANT NOTE:</span>
4839 <a href="#endnote-marker-style">ENDNOTE_MARKER_STYLE</a>
4840 is <kbd>NUMBER</kbd> or <kbd>SUPERSCRIPT</kbd> (mom’s
4841 default is <kbd>NUMBER</kbd> unless you have
4842 <a href="refer.html#endnote-refs">ENDNOTE_REFS</a>
4843 enabled, in which case it’s <kbd>SUPERSCRIPT</kbd>), the final word on the
4844 <a href="definitions.html#inputline">input line</a>
4845 that comes immediately before <kbd>.ENDNOTE</kbd> must terminate
4847 <a href="typesetting.html#join"><kbd>\c</kbd></a>
4848 inline escape. See the
4849 <a href="#endnote-example">endnote example</a>
4855 <a href="definitions.html#filled">fill</a>
4857 (<a href="typesetting.html#justify">JUSTIFY</a>
4859 <a href="typesetting.html#quad">QUAD</a>,
4860 the line after <kbd>.ENDNOTE OFF</kbd> should be
4861 entered as if there were no interruption in the input text, ie
4862 the line should begin with a literal space or punctuation mark (see
4863 explanation and examples for footnotes, which apply equally to
4865 <a href="#fn-and-punct">here</a>).
4870 <a href="definitions.html#filled">no-fill</a>
4871 modes, the optional argument <kbd>BREAK</kbd> or <kbd>BR</kbd> may
4872 be used after the <kbd>OFF</kbd> (or <kbd>QUIT, END, X,</kbd> etc.)
4873 argument to instruct mom not to join the next input line to the
4874 previous output. See
4875 <a href="#fn-and-punct-nofill">here</a>
4876 for a more complete explanation. The examples are for
4877 <kbd>.FOOTNOTE</kbd>, but apply equally to <kbd>.ENDNOTE</kbd>.
4880 <p class="tip-bottom">
4881 If your ENDNOTE_MARKER_STYLE is LINE, do not use the <kbd>\c</kbd>
4882 escape, and enter the line after <kbd>.ENDNOTE OFF</kbd> normally,
4883 ie at your text editor’s left margin.
4889 <div class="macro-id-overline">
4890 <h3 id="endnotes" class="macro-id">ENDNOTES</h3>
4893 <div class="box-macro-args">
4894 Macro: <b>ENDNOTES</b>
4898 Unlike footnotes, which mom automatically outputs at the bottom
4899 of pages, endnotes must be explicitly output by you, the
4900 user. ENDNOTES, by itself (ie without any argument), is the macro
4905 Typically, you’ll use ENDNOTES at the end of a document. If
4906 it’s a single (ie not collated) document, mom will print
4907 the endnotes pertaining to it. If it’s a collated document,
4908 mom will print all the endnotes contained within all sections of
4909 the document (typically chapters), appropriately identified and
4914 Should you wish to output the endnotes for each section of a
4915 collated document at the ends of the sections (instead of at the
4916 very end of the document), simply invoke <kbd>.ENDNOTES</kbd>
4917 immediately prior to
4918 <a href="rectoverso.html#collate">COLLATE</a>.
4919 Mom will print the endnotes, identified and numbered appropriately,
4920 on a separate page prior to starting the next section of the
4921 document. Each subsequent invocation of <kbd>.ENDNOTES</kbd>
4922 outputs only those endnotes that mom collected after the previous
4926 <div class="defaults-container" style="background-color: #ded4bd; border: none;">
4927 <h3 id="endnote-control" class="docs defaults">ENDNOTES control macros and defaults</h3>
4929 <div class="box-important" style="width: 700px; margin: auto; background-color: #ded4bd;">
4930 <p class="tip-top" style="color: #000056;">
4931 <span class="important">Important:</span>
4932 Endnotes control macros must always be invoked prior to the first
4934 <a href="#endnote"><kbd>.ENDNOTE</kbd></a>.
4937 <p style="color: #000056; margin-top: -.5em;">
4938 When you embed endnotes in the body of a document, mom collects
4939 <i>and processes</i> them for later outputting (when you invoke
4940 <a href="#endnotes"><kbd>.ENDNOTES</kbd></a>).
4941 By the time you do invoke <kbd
4942 style="color: #000056;">.ENDNOTES</kbd>, it’s much too late to
4943 change your mind about how you want them to look.
4946 <p class="tip-bottom" style="color: #000056; margin-top: -.5em;">
4947 My advice? If you’re planning to change the default
4948 appearance of endnotes pages, set them up prior to
4949 <a href="docprocessing.html#start">START</a>.
4953 <ol style="margin-top: .5em; padding-bottom: .5em;">
4954 <li><a href="#endnotes-general"><b>General endnotes style control</b></a>
4955 <ul style="margin-left: -.5em;">
4956 <li><a href="#endnote-style">Base family/font/quad</a></li>
4957 <li><a href="#endnote-pt-size">Base point size</a></li>
4958 <li><a href="#endnote-lead">Leading</a></li>
4959 <li><a href="#endnote-spacing">Spacing between endnotes</a></li>
4960 <li><a href="#singlespace-endnotes">Singlespace endnotes (TYPEWRITE only)</a></li>
4961 <li><a href="#endnote-para-indent">Paragraph indenting</a></li>
4962 <li><a href="#endnote-para-space">Inter-paragraph spacing</a></li>
4963 <li><a href="#endnotes-no-columns">Turning off column mode during endnotes output</a></li>
4965 <li><a href="#endnotes-pagination"><b>Pagination of endnotes</b></a>
4966 <ul style="margin-left: -.5em;">
4967 <li><a href="#endnotes-pagenum-style">Page numbering style</a></li>
4968 <li><a href="#endnotes-first-pagenumber">Setting the first page number of endnotes</a></li>
4969 <li><a href="#endnotes-no-first-pagenum">Omitting a page number on the first page of endnotes</a></li>
4970 <li><a href="#suspend-pagination">Suspending pagination during endnotes output</a></li>
4972 <li><a href="#endnotes-header-control"><b>Header/footer control</b></a>
4973 <ul style="margin-left: -.5em;">
4974 <li><a href="#endnotes-modify-hdrftr">Modifying what goes in the endnotes header/footer</a></li>
4975 <li><a href="#endnotes-hdrftr-center">Header/footer centre string when doctype is CHAPTER</a></li>
4976 <li><a href="#endnotes-allows-headers">Allow headers on endnotes pages</a></li>
4978 <li><a href="#endnotes-header"><b>Endnotes header (first-page title) control</b></a>
4979 <ul style="margin-left: -.5em;">
4980 <li><a href="#endnotes-header-string">Header string</a></li>
4981 <li><a href="#endnotes-header-string-control">Header string control macros and defaults</a></li>
4982 <li><a href="#endnotes-header-placement">Header string placement</a></li>
4983 <li><a href="#endnotes-header-underscore">Header string underscoring</a></li>
4984 <li><a href="#endnotes-header-caps">Header string capitalization</a></li>
4986 <li><a href="#endnotes-doc-title"><b>Endnotes document-identification string control</b></a>
4987 <ul style="margin-left: -.5em;">
4988 <li><a href="#endnote-title">Document-identification string(s)</a></li>
4989 <li><a href="#endnote-title-control">Document-identification string control macros and defaults</a></li>
4991 <li><a href="#endnotes-numbering"><b>Endnotes referencing style</b></a>
4992 <ul style="margin-left: -.5em;">
4993 <li><a href="#endnote-marker-style">Endnote marker style</a> – by numbers in the text, or by line number
4994 <ul style="margin-left: -.5em;">
4995 <li><a href="#endnote-linenumber-gap">Spacing between line-numbered endnotes and the endnote text</a></li>
4996 <li><a href="#endnote-linenumber-brackets">Brackets around endnote line numbers</a></li>
4997 <li><a href="#endnote-linenumber-separator">Separator after endnote line numbers instead of brackets</a></li>
4999 <li><a href="#endnote-number-control">Endnote numbering control macros and defaults</a></li>
5000 <li><a href="#endnote-number-alignment">Endnote numbering alignment</a></li>
5005 <h4 id="endnotes-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. General endnotes page style control</h4>
5007 <h5 id="endnote-style" class="docs" style="margin-top: 0; margin-bottom: .5em; margin-left: .5em;">• Base family/font/quad</h5>
5009 <div class="defaults-container" style="padding-bottom: 8px;">
5010 <p class="defaults" style="padding-top: 6px;">
5012 <a href="#control-macro-args">Arguments to the control macros</a>.
5014 The following ENDNOTE control macros may also be
5015 <a href="#grouping">grouped</a>
5016 using ENDNOTE_STYLE.
5018 <span class="pre defaults">
5019 .ENDNOTE_FAMILY default = prevailing document family; default is Times Roman
5020 .ENDNOTE_FONT default = roman
5021 .ENDNOTE_QUAD* default = justified
5023 *Note: ENDNOTE_QUAD must be set to either L (LEFT) or J (JUSTIFIED);
5024 R (RIGHT) and C (CENTER) will not work.
5028 <!-- -ENDNOTE_PT_SIZE- -->
5030 <h5 id="endnote-pt-size" class="docs" style="margin-top: -1.5em; margin-bottom: .5em; margin-left: .5em;">• Base point size</h5>
5032 <div class="box-macro-args">
5033 Macro: <b>ENDNOTE_PT_SIZE</b> <kbd class="macro-args"><base type size of endnotes></kbd>
5037 Unlike most other control macros that deal with size of document
5038 elements, ENDNOTE_PT_SIZE takes as its argument an absolute value,
5039 relative to nothing. Therefore, the argument represents the size of
5041 <a href="definitions.html#picaspoints">points</a>,
5042 unless you append an alternative
5043 <a href="definitions.html#unitofmeasure">unit of measure</a>.
5046 <span class="pre-in-pp">
5049 sets the base point size of type on the endnotes page to 12
5052 <span class="pre-in-pp">
5053 .ENDNOTE_PT_SIZE .6i
5055 sets the base point size of type on the endnotes page to 1/6 of an
5060 The type size set with ENDNOTE_PT_SIZE is the size of type used for
5061 the text of the endnotes, and forms the basis from which the point
5062 size of other endnote page elements is calculated.
5067 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>
5068 is 12.5 points (the same default size used in the body of the
5072 <!-- -ENDNOTE_LEAD- -->
5074 <h5 id="endnote-lead" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Leading</h5>
5076 <div class="box-macro-args">
5077 Macro: <b>ENDNOTE_LEAD</b> <kbd class="macro-args"><base leading of endnotes> [ ADJUST ] </kbd>
5080 <p class="requires">
5081 • Does not require a <a href="definitions.html#unitofmeasure">unit of measure</a>; points is assumed
5085 Unlike most other control macros that deal with leading of document
5086 elements, ENDNOTE_LEAD takes as its argument an absolute value,
5087 relative to nothing. Therefore, the argument represents the
5088 <a href="definitions.html#leading">leading</a>
5090 <a href="definitions.html#picaspoints">points</a>
5091 unless you append an alternative
5092 <a href="definitions.html#unitofmeasure">unit of measure</a>.
5095 <span class="pre-in-pp">
5098 sets the base leading of type on the endnotes page to 14
5101 <span class="pre-in-pp">
5104 sets the base leading of type on the endnotes page to 1/2 inch.
5108 If you want the leading of endnotes adjusted to fill the page, pass
5109 ENDNOTE_LEAD the optional argument
5110 <kbd>ADJUST</kbd>. (See
5111 <a href="docprocessing.html#doc-lead-adjust">DOC_LEAD_ADJUST</a>
5112 for an explanation of leading adjustment.)
5117 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>
5118 is the prevailing document leading (16 by default), adjusted.
5121 <div class="box-tip">
5123 <span class="note">Note:</span>
5124 Even if you give mom a <kbd>.DOC_LEAD_ADJUST OFF</kbd> command, she
5125 will still, by default, adjust endnote leading. You <i>must</i>
5126 enter <kbd>.ENDNOTE_LEAD <lead></kbd> with no
5127 <kbd>ADJUST</kbd> argument to disable this default behaviour.
5131 <!-- -ENDNOTE_SPACING- -->
5133 <h5 id="endnote-spacing" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Spacing between endnotes</h5>
5135 <div class="box-macro-args">
5136 Macro: <b>ENDNOTE_SPACING</b> <kbd class="macro-args"><space to insert between endnotes></kbd>
5138 <p class="requires">
5139 • Requires a <a href="definitions.html#unitofmeasure">unit of measure</a>
5143 If you'd like some whitespace between endnotes, just invoke
5144 ENDNOTE_SPACING with the amount of space you want, e.g.,
5146 <span class="pre-in-pp">
5149 which inserts 6 points of lead between endnotes. Be aware, though,
5150 that inserting space between endnotes means that the bottoms of
5151 endnotes pages will most likely not align.
5155 Mom’s default is not to insert any whitespace between endnotes.
5158 <!-- -SINGLESPACE_ENDNOTES- -->
5160 <h5 id="singlespace-endnotes" class="docs" style="margin-top: 0; margin-bottom: .5em; margin-left: .5em;">• Singlespace endnotes (TYPEWRITE only)</h5>
5162 <div class="box-macro-args">
5163 Macro: <b>SINGLESPACE_ENDNOTES</b> <kbd class="macro-args"><toggle></kbd>
5168 <a href="docprocessing.html#printstyle">PRINTSTYLE</a>
5169 is <kbd>TYPEWRITE</kbd> and you use TYPEWRITE’s default
5170 double-spacing, endnotes are double-spaced. If your document is
5171 single-spaced, endnotes are single-spaced.
5175 If, for some reason, you’d prefer that endnotes be
5176 single-spaced in an otherwise double-spaced document (including
5178 <a href="rectoverso.html#collate">collated</a>
5181 <span class="pre-in-pp">
5182 .SINGLESPACE_ENDNOTES
5184 with no argument. And if, god help you, you want to change endnote
5185 single-spacing back to double-spacing for different spacing of
5186 endnotes output at the ends of separate documents in a collated
5187 document, invoke <kbd>.SINGLESPACE_ENDNOTES</kbd> with any argument
5188 (<kbd>OFF, QUIT, Q, X</kbd>...).
5191 <!-- -ENDNOTE_PARA_INDENT- -->
5193 <h5 id="endnote-para-indent" class="docs" style="margin-top: 0; margin-bottom: .5em; margin-left: .5em;">• Paragraph indenting</h5>
5195 <div class="box-macro-args">
5196 Macro: <b>ENDNOTE_PARA_INDENT</b> <kbd class="macro-args"><amount to indent first line of paragraphs in endnotes></kbd>
5199 <p class="requires">
5200 • Requires a <a href="definitions.html#unitofmeasure">unit of measure</a>
5204 ENDNOTE_PARA_INDENT works exactly the same way as
5205 <a href="#para-indent">PARA_INDENT</a>,
5206 except that the indent given is the amount by which to indent the
5207 first lines of endnote paragraphs, not document body paragraphs.
5212 <a href="definitions.html#em">ems</a>
5214 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>;
5216 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>.
5219 <div class="box-tip">
5221 <span class="note">Note:</span>
5222 The first line of the first paragraph of endnotes (the one attached
5223 immediately to the identifying endnote number) is never indented.
5224 Only subsequent paragraphs are affected by ENDNOTE_PARA_INDENT.
5228 <!-- -ENDNOTE_PARA_SPACE- -->
5230 <h5 id="endnote-para-space" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Inter-paragraph spacing</h5>
5232 <div class="box-macro-args">
5233 Macro: <b>ENDNOTE_PARA_SPACE</b> <kbd class="macro-args"><toggle></kbd>
5237 ENDNOTE_PARA_SPACE works exactly the same way as
5238 <a href="#pp-space">PARA_SPACE</a>,
5239 except that it inserts a blank line between endnote paragraphs, not
5240 document body paragraphs.
5244 The default is not to insert a blank line between paragraphs in
5248 <!-- -ENDNOTES_NO_COLUMNS- -->
5250 <h5 id="endnotes-no-columns" class="docs" style="margin-top: 0; margin-bottom: .5em; margin-left: .5em;">• Turning off column mode during endnotes output</h5>
5252 <div class="box-macro-args">
5253 Macro: <b>ENDNOTES_NO_COLUMNS</b> <kbd class="macro-args"><toggle></kbd>
5257 By default, if your document is set in
5258 <a href="docprocessing.html#columns">columns</a>,
5259 mom sets the endnotes in columns, too. However, if your document
5260 is set in columns and you’d like the endnotes not to be,
5261 just invoke <kbd>.ENDNOTES_NO_COLUMNS</kbd> with no argument.
5262 The endnotes pages will be set to the full page measure of your
5267 If you output endnotes at the end of each document in a
5268 <a href="rectoverso.html#collate">collated</a>
5269 document set in columns, column mode will automatically be
5270 reinstated for each document, even with ENDNOTES_NO_COLUMNS turned
5271 on. In such circumstances, you must re-enable ENDNOTES_NO_COLUMNS
5272 for each separate collated document.
5275 <h4 id="endnotes-pagination" class="docs" style="margin-bottom: .5em;">2. Pagination of endnotes</h4>
5277 <!-- -ENDNOTES_PAGENUM_STYLE- -->
5279 <h5 id="endnotes-pagenum-style" class="docs" style="margin-top: 0; margin-bottom: .5em; margin-left: .5em;">• Page numbering style</h5>
5281 <div class="box-macro-args">
5282 Macro: <b>ENDNOTES_PAGENUM_STYLE</b> <kbd class="macro-args">DIGIT | ROMAN | roman | ALPHA | alpha</kbd>
5286 Use this macro to set the page numbering style of endnotes pages.
5287 The arguments are identical to those for
5288 <a href="headfootpage.html#pagenum-style">PAGENUM_STYLE</a>.
5289 The default is <kbd>digit</kbd>. You may want to change it to, say,
5290 <kbd>alpha</kbd>, which you would do with
5292 <span class="pre-in-pp">
5293 .ENDNOTES_PAGENUM_STYLE alpha
5297 <!-- -ENDNOTES_FIRST_PAGENUMBER- -->
5299 <h5 id="endnotes-first-pagenumber" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Setting the first page number of endnotes</h5>
5301 <div class="box-macro-args">
5302 Macro: <b>ENDNOTES_FIRST_PAGENUMBER</b> <kbd class="macro-args"><page # that appears on page 1 of endnotes></kbd>
5306 Use this macro with caution. If all endnotes for several
5307 <a href="rectoverso.html#collate">collated</a>
5308 documents are to be output at once, ie not at the end of each
5309 separate doc, ENDNOTES_FIRST_PAGENUMBER tells mom what page number
5310 to put on the first page of the endnotes.
5314 However, if you set ENDNOTES_FIRST_PAGENUMBER in collated documents
5315 in which the endnotes are output after each section (chapter,
5316 article, etc), you have to reset every section’s first page
5318 <a href="rectoverso.html#collate">COLLATE</a>
5320 <a href="docprocessing.html#start">START</a>
5322 <a href="headfootpage.html#pagenumber">PAGENUMBER</a>.
5325 <!-- -ENDNOTES_NO_FIRST_PAGENUN- -->
5327 <h5 id="endnotes-no-first-pagenum" class="docs" style="margin-top: -.25em; margin-bottom: .5em; margin-left: .5em;">• Omitting a page number on the first page of endnotes</h5>
5329 <div class="box-macro-args">
5330 Macro: <b>ENDNOTES_NO_FIRST_PAGENUM</b> <kbd class="macro-args"><toggle></kbd>
5334 This macro is for use only if
5335 <a href="headfootpage.html#footers">FOOTERS</a>
5337 <a href="#endnotes">ENDNOTES</a>
5338 not to print a page number on the first endnotes page. Mom’s
5339 default is to print the page number.
5342 <!-- -SUSPEND_PAGINATION- -->
5344 <h5 id="suspend-pagination" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Suspending pagination during endnotes output</h5>
5346 <div class="box-macro-args" style="margin-bottom: 1em;">
5347 Macro: <b>SUSPEND_PAGINATION</b>
5350 <div class="box-macro-args">
5351 Macro: <b>RESTORE_PAGINATION</b>
5355 SUSPEND_PAGINATION doesn’t take an argument. Invoked
5356 immediately prior to
5357 <a href="#endnotes">ENDNOTES</a>,
5358 it turns off endnotes pages pagination. Mom continues, however to
5359 increment page numbers silently.
5363 To restore normal document pagination after endnotes, invoke
5364 <kbd>.RESTORE_PAGINATION</kbd> (again, with no argument) immediately
5365 after <kbd>.ENDNOTES</kbd>.
5368 <h4 id="endnotes-header-control" class="docs" style="margin-bottom: .5em;">3. Header/footer control</h4>
5370 <h5 id="endnotes-modify-hdrftr" class="docs" style="margin-top: 0; margin-bottom: -.75em; margin-left: .5em;">• Modifying what goes in the endnotes header/footer</h5>
5373 If you wish to modify what appears in the header/footer that appears
5374 on endnotes page(s), make the changes before you invoke
5375 <a href="#endnotes"><kbd>.ENDNOTES</kbd></a>,
5380 Except in the case of
5381 <a href="docprocessing.html#doctype">DOCTYPE <kbd>CHAPTER</kbd></a>,
5382 mom prints the same header or footer used throughout the document
5383 on the endnotes page(s). Chapters get treated differently in that,
5384 by default, mom does not print the header/footer centre string
5385 (normally the chapter number or chapter title.) In most cases, this
5386 is what you want. However, should you not want mom to remove
5387 the centre string from the endnotes page(s) headers/footers, invoke
5388 <kbd><a href="#endnotes-hdrftr-center">.ENDNOTES_HEADER_CENTER</a></kbd>
5393 An important change you may want to make is to put the word
5394 “Endnotes” in the header/footer centre position. To do
5397 <span class="pre-in-pp" style="margin-bottom: -1em;">
5398 .HEADER_CENTER "Endnotes"
5401 <span class="pre-in-pp" style="margin-top: -.5em;">
5402 .FOOTER_CENTER "Endnotes"
5404 prior to invoking <kbd>.ENDNOTES</kbd>.
5407 <div class="box-tip">
5409 <span class="note">Note:</span>
5411 <a href="docprocessing.html#doctype">DOCTYPE</a>
5412 is <kbd>CHAPTER</kbd>, you must also invoke
5413 <a href="#endnotes-hdrftr-center">ENDNOTES_HEADER_CENTER</a>
5414 for the ENDNOTES_HEADER_CENTER to appear.
5418 <h5 id="endnotes-hdrftr-center" class="docs" style="margin-top: 0; margin-bottom: .5em; margin-left: .5em;">• Header/footer centre string when doctype is CHAPTER</h5>
5420 <div class="box-macro-args">
5421 Macro: <b>ENDNOTES_HEADER_CENTER</b> <kbd class="macro-args">toggle</kbd>
5426 <a href="docprocessing.html#doctype">DOCTYPE</a>
5427 is <kbd>CHAPTER</kbd> and you want mom to include a centre
5428 string in the headers/footers that appear on endnotes
5429 pages, invoke <kbd>.ENDNOTES_HEADER_CENTER</kbd> (or
5430 <kbd>.ENDNOTES_FOOTER_CENTER</kbd>) with no argument. Mom’s
5431 default is not to print the centre string.
5435 If, for some reason, having enabled the header/footer centre string
5436 on endnotes pages, you wish to disable it, invoke the same macro
5437 with any argument (<kbd>OFF, QUIT, Q, X</kbd>...).
5440 <h5 id="endnotes-allows-headers" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Allow headers on endnotes pages</h5>
5442 <div class="box-macro-args">
5443 Macro: <b>ENDNOTES_ALLOWS_HEADERS</b> <kbd class="macro-args"><none> | ALL</kbd>
5447 By default, if HEADERS are on, mom prints page headers on all
5448 endnotes pages except the first. If you don’t want her to
5449 print headers on endnotes pages, do
5451 <span class="pre-in-pp">
5452 .ENDNOTES_ALLOWS_HEADERS OFF
5454 If you want headers on every page including the first, do
5456 <span class="pre-in-pp">
5457 .ENDNOTES_ALLOWS_HEADERS ALL
5461 <div class="box-tip">
5463 <span class="note">Note:</span>
5464 If FOOTERS are on, mom prints footers on every endnotes page.
5465 This is a style convention. In mom, there is no such beast as
5466 ENDNOTES_ALLOWS_FOOTERS OFF.
5470 <h4 id="endnotes-header" class="docs">4. Endnotes header (first-page title) control</h4>
5472 <!-- -ENDNOTES_HEADER_STRING- -->
5474 <h5 id="endnotes-header-string" class="docs" style="margin-top: 1em; margin-bottom: .5em; margin-left: .5em;">• Header (first-page title) string</h5>
5476 <div class="box-macro-args">
5477 Macro: <b>ENDNOTES_HEADER_STRING</b> <kbd class="macro-args">"<title to print at the top of endnotes>"</kbd>
5480 <p class="alias" style="margin-bottom: 0;">
5481 <i>Alias:</i> <b>ENDNOTE_STRING</b> (for compatibility with older documents)
5485 By default, mom prints the word “ENDNOTES” as a head
5486 at the top of the first page of endnotes. If you want her to
5487 print something else, invoke <kbd>.ENDNOTES_HEADER_STRING</kbd>
5488 with the endnotes-page head you want, surrounded by double-quotes.
5489 If you don’t want a head at the top of the first
5490 endnotes-page, invoke <kbd>.ENDNOTES_HEADER_STRING</kbd>
5491 with a blank argument (either two double-quotes side by
5492 side—<kbd>""</kbd>—or no argument at all).
5495 <!-- -ENDNOTES_HEADER_CONTROL- -->
5497 <h5 id="endnotes-header-string-control" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Header (first-page title) control macros and defaults</h5>
5499 <div class="defaults-container" style="padding-bottom: 8px;">
5500 <p class="defaults" style="padding-top: 6px;">
5502 <a href="#control-macro-args">Arguments to the control macros</a>.
5504 The following ENDNOTES_HEADER control macros may also be
5505 <a href="#grouping">grouped</a>
5506 using ENDNOTES_HEADER_STYLE.
5509 <p style="margin-top: .5em; margin-bottom: 0; margin-left: .5em">
5510 Please note that “_HEADER_”, here, refers to the title
5511 that appears at the top of the first endnotes page, not to the page
5512 headers of subsequent endnotes pages.
5513 <span class="pre defaults">
5514 .ENDNOTES_HEADER_FAMILY default = prevailing document family
5515 .ENDNOTES_HEADER_FONT default = bold
5516 .ENDNOTES_HEADER_SIZE* default = +1
5517 .ENDNOTES_HEADER_QUAD default = centred
5518 .ENDNOTES_HEADER_COLOR default = black
5520 *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
5525 <p style="margin-top: -2em">
5526 <b>Note:</b> <i>For compatibility with older documents, these macros are aliased
5527 as</i> <kbd>.ENDNOTE_STRING_<SPEC></kbd>, e.g. <kbd>.ENDNOTE_STRING_FAMILY</kbd>.
5530 <!-- -ENDNOTES_HEADER_V_POS- -->
5532 <h5 id="endnotes-header-placement" class="docs" style="margin-top: -.25em; margin-bottom: .5em; margin-left: .5em;">• Header (first-page title) placement</h5>
5534 <div class="box-macro-args">
5535 Macro: <b>ENDNOTES_HEADER_V_POS</b> <kbd class="macro-args"><distance from top of page></kbd>
5538 <p class="requires">
5539 • Argument requires a <a href="definitions.html#unitofmeasure">unit of measusure</a>
5542 <p class="alias" style="margin-top: -1em; margin-bottom: 0;">
5543 <i>Alias:</i> <b>ENDNOTE_STRING_ADVANCE</b> (for compatibility with older documents)
5547 By default, mom places the title (the docheader, as it were) of
5548 endnotes pages (typically "ENDNOTES") on the same
5549 <a href="definitions.html#baseline">baseline</a>
5550 that is used for the start of
5551 <a href="definitions.html#running">running text</a>.
5552 If you’d prefer another location, higher or lower on the page
5553 (thereby also raising or lowering the starting position of the
5554 endnotes themselves), invoke <kbd>.ENDNOTES_HEADER_V_POS</kbd> with
5555 an argument stating the distance from the top edge of the page at
5556 which you’d like the title placed.
5560 The argument requires a unit of measure, so if you’d like the title
5561 to appear 1-1/2 inches from the top edge of the page, you’d tell
5562 mom about it like this:
5564 <span class="pre-in-pp">
5565 .ENDNOTES_HEADER_V_POS 1.5i
5569 <!--- ENDNOTES_HEADER_UNDERSCORE --->
5571 <h5 id="endnotes-header-underscore" class="docs" style="margin-top: -1em; margin-bottom: .5em; margin-left: .5em;">• Header (first-page title) underscoring</h5>
5573 <div class="box-macro-args">
5574 Macro: <b>ENDNOTES_HEADER_UNDERSCORE</b> <kbd class="macro-args">[DOUBLE] [<underscore weight> [<underscore gap> [<distance between double rules]]] | <none> | <anything></kbd>
5577 <p class="alias" style="margin-bottom: 0;">
5578 <i>Alias:</i> <b>ENDNOTES_HEADER_UNDERLINE</b>.
5579 <i>(For compatibility with older documents, also
5580 aliased as</i> <b>ENDNOTE_STRING_UNDERSCORE</b> <i>and</i>
5581 <b>ENDNOTE_STRING_UNDERLINE</b>.)
5584 <p class="requires">
5585 • The argument
5586 <span style="font-style: normal"><kbd><underscore weight></kbd></span>
5588 <a href="definitions.html#unitofmeasure">unit of measure</a>,
5589 <span style="font-style: normal;"><kbd>p</kbd></span>,
5590 appended to it; all other arguments require a unit of measure
5594 Invoked without an argument, <kbd>.ENDNOTES_HEADER_UNDERSCORE</kbd>
5595 will place a single rule underneath the endnotes page title. Invoked
5596 with the argument, <kbd>DOUBLE</kbd>, ENDNOTES_HEADER_UNDERSCORE will
5597 double-underscore the title. Invoked with any other non-numeric
5598 argument, (e.g., <kbd>OFF, NO, X</kbd>, etc.) the macro disables
5599 underscoring of the title.
5603 In addition, you can use ENDNOTES_HEADER_UNDERSCORE to control the
5604 weight of the underscore rule(s), the gap between the title and the
5605 underscore, and, in the case of double-underscores, the distance
5606 between the two rules.
5612 <span class="pre-in-pp">
5613 .ENDNOTES_HEADER_UNDERSCORE 1
5614 - turn underscoring on; set the rule weight to 1 point
5616 .ENDNOTES_HEADER_UNDERSCORE 1 3p
5617 - turn underscoring on; set the rule weight to 1 point; set
5618 the gap between the title and the underscore to 3 points
5620 .ENDNOTES_HEADER_UNDERSCORE DOUBLE .75 3p
5621 - turn double-underscoring on; set the rule weight to 3/4 of
5622 a point; set the gap between the title and the upper
5623 underscore to 3 points; leave the gap between the upper
5624 and the lower underscore at the default
5626 .ENDNOTES_HEADER_UNDERSCORE DOUBLE 1.5 1.5p 1.5p
5627 - turn double-underscoring on; set the rule weight to 1-1/2
5628 points; set the gap between the title and the upper
5629 underscore to 1-1/2 points; set the gap between the upper
5630 and the lower underscore to 1-1/2 points
5632 Note, from the above, that in all instances, underscoring (single
5633 or double) is enabled whenever ENDNOTES_HEADER_UNDERSCORE is used in
5638 By default, mom double-underscores the title if your
5639 <a href="docprocessing.html#printstyle">PRINTSTYLE</a>
5640 is <kbd>TYPEWRITE</kbd>.
5643 <!-- -ENDNOTES_HEADER_CAPS- -->
5645 <h5 id="endnotes-header-caps" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Header (first-page title) capitalization</h5>
5647 <div class="box-macro-args">
5648 Macro: <b>ENDNOTES_HEADER_CAPS</b> <kbd class="macro-args">toggle</kbd>
5651 <p class="alias" style="margin-bottom: 0;">
5652 <i>Alias:</i> <b>ENDNOTE_STRING_CAPS</b> (for compatibility with older documents)
5656 Invoked by itself, <kbd>.ENDNOTES_HEADER_CAPS</kbd> will
5657 automatically capitalize the endnotes-page title. Invoked with any
5658 other argument, the macro disables automatic capitalization of the
5663 If you’re generating a table of contents, you may want the
5664 endnotes pages title to be in caps, but the toc entry in caps/lower
5665 case. If the argument to
5666 <kbd><a href="#endnotes-header-string">ENDNOTES_HEADER_STRING</a></kbd>
5667 is in caps/lower case and ENDNOTES_HEADER_CAPS is on, this is exactly
5672 Mom’s default is to capitalize the endnotes pages title string.
5675 <!-- -ENDNOTE_TITLE- -->
5677 <h4 id="endnotes-doc-title" class="docs" style="margin-top: -.25em;">5. Endnotes document-identification title control</h4>
5679 <h5 id="endnote-title" class="docs" style="margin-top: 1em; margin-bottom: .5em; margin-left: .5em;">• Document-identification title string(s)</h5>
5681 <div class="box-macro-args">
5682 Macro: <b>ENDNOTE_TITLE</b> <kbd class="macro-args">"<title to identify a document in endnotes>"</kbd>
5686 By default, mom identifies the document(s) to which endnotes belong
5687 by the document title(s) given to the
5688 <a href="docprocessing.html#title">TITLE</a>
5689 macro. If you’d like her to identify the document(s) another
5690 way, simply invoke <kbd>.ENDNOTE_TITLE</kbd> prior to
5691 <a href="docprocessing.html#start">START</a>
5692 with the identifying title you want, surrounded by double-quotes.
5696 If you don’t want any identifying title, invoke
5697 <kbd>.ENDNOTE_TITLE</kbd> with a blank argument, either two
5698 double-quotes side by side (<kbd>""</kbd>) or no argument
5699 at all. This is particularly useful if you have a single (ie
5700 non-collated) document and find having the document’s title
5701 included in the endnotes redundant.
5704 <!-- -ENDNOTE_TITLE_CONTROL- -->
5706 <h5 id="endnote-title-control" class="docs" style="margin-top: .75em; margin-bottom: .5em; margin-left: .5em;">• Document-identification string control macros and defaults</h5>
5708 <div class="defaults-container" style="padding-bottom: 8px;">
5709 <p class="defaults" style="padding-top: 6px;">
5711 <a href="#control-macro-args">Arguments to the control macros</a>.
5713 The following ENDNOTE_TITLE_STYLE control macros may also be
5714 <a href="#grouping">grouped</a>
5715 using ENDNOTE_TITLE_STYLE_STYLE.
5717 <span class="pre defaults">
5718 .ENDNOTE_TITLE_FAMILY default = prevailing document family; default is Times Roman
5719 .ENDNOTE_TITLE_FONT default = bold
5720 .ENDNOTE_TITLE_SIZE* default = 0
5721 .ENDNOTE_TITLE_COLOR default = black
5722 .ENDNOTE_TITLE_QUAD default = left
5724 .ENDNOTE_TITLE_SMALLCAPS
5725 .ENDNOTE_TITLE_UNDERSCORE default = single underscore
5727 *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
5731 <!-- -ENDNOTE_NUMBERING- -->
5733 <h4 id="endnotes-numbering" class="docs" style="margin-top: -.25em;">6. Endnotes referencing style</h4>
5735 <h5 id="endnote-marker-style" class="docs" style="margin-top: 1em; margin-bottom: .5em; margin-left: .5em;">• Endnote marker style</h5>
5737 <div class="box-macro-args">
5738 Macro: <b>ENDNOTE_MARKER_STYLE</b> <kbd class="macro-args"><a href="#line">LINE</a> | <a href="#number">NUMBER</a> | <a href="#superscript">SUPERSCRIPT</a></kbd>
5742 <span style="display: block; margin-bottom: .25em;">• <i>Argument:</i> <kbd>LINE</kbd></span>
5743 By default, mom places superscript numbers in
5744 <a href="definitions.html#running">running text</a>
5745 to identify endnotes. However, if you have
5746 <a href="#number-lines">linenumbering</a>
5747 turned on, you may instruct mom not to put superscript numbers in
5748 the running text, but rather to reference endnotes by line number.
5749 The command to do this is
5751 <span class="pre-in-pp">
5752 .ENDNOTE_MARKER_STYLE LINE
5754 With ENDNOTE_MARKER_STYLE <kbd>LINE</kbd>, mom will identify
5755 endnotes either by single line numbers or by line ranges. If
5756 what you want is a single line number, you need only invoke
5757 <kbd>.ENDNOTE</kbd> at the appropriate place in running
5758 text <i>without the terminating</i> <kbd>\c</kbd>. Input lines
5759 after the endnote has been terminated (e.g., with <kbd>.ENDNOTE
5760 OFF</kbd>) must begin at the left margin.
5764 (Should you wish to revert to mom’s default behaviour of
5765 placing a superscript number in the text to identify an endnote,
5766 you can invoke <kbd>.ENDNOTE_MARKER_STYLE</kbd> with the argument,
5767 <kbd>NUMBER</kbd>. It is not advisable to switch marker styles
5768 within a single document, for aesthetic reasons, but there is
5769 nothing to prevent you from doing so.)
5773 If you want a range of line numbers (e.g., [5-11] ),
5774 insert, directly into the first line of the range you want, the
5775 <a href="definitions.html#inlines">inline escape</a>,
5776 <kbd>\*[EN-MARK]</kbd>. For the terminating line number of the
5777 range, you need only invoke <kbd>.ENDNOTE</kbd> (again, without the
5778 terminating <kbd>\c</kbd>). Mom is smart enough to figure out that
5779 where <kbd>.ENDNOTE</kbd> is invoked represents the terminating line
5783 <div id="endnote-linenumbers-note" class="box-tip">
5785 <span class="note">Note:</span>
5786 By default, mom reserves a fixed amount of space, equal to 8
5787 placeholders, for the linenumbers of linenumbered endnotes. Within
5788 that space, the numbers are flush right with each other. The
5789 reserved space is enough to print a range of linenumbers of the form
5790 <kbd>[nnnn-nnnn]</kbd>, but may be more than you need.
5794 The goal with linenumbered endnotes is to ensure that the longest
5795 linenumber or range of lines is flush with the left margin of the
5796 page. Adjusting the reserved space is done with the macro
5797 <a href="docelement.html#endnote-numbers-align">ENDNOTE_NUMBERS_ALIGN</a>,
5798 and the rules for getting it right are simple.
5801 <p class="tip-bottom">
5802 If your document runs to less than 100 lines, invoke
5804 <span class="pre-in-pp">
5805 .ENDNOTE_NUMBERS_ALIGN RIGHT 0
5807 If your document has between 100 and 999 lines
5809 <span class="pre-in-pp">
5810 .ENDNOTE_NUMBERS_ALIGN RIGHT 1
5812 If your document has between 1000 and 9999 lines
5814 <span class="pre-in-pp">
5815 .ENDNOTE_NUMBERS_ALIGN RIGHT 2
5821 <p id="number" style="margin-top: -.5em;">
5822 <span style="display: block; margin-bottom: .25em;">• <i>Argument:</i> <kbd>NUMBER</kbd></span>
5823 With the argument <kbd>NUMBER</kbd>, mom places superscript numbers
5824 in running text, but identifies endnotes in the endnotes section
5825 of your document with normal-sized, base-aligned numbers.
5828 <p id="superscript" style="margin-top: -.5em;">
5829 <span style="display: block; margin-bottom: .25em;">• <i>Argument:</i> <kbd>SUPERSCRIPT</kbd></span>
5830 With the argument <kbd>SUPERSCRIPT</kbd>, mom places superscript
5831 numbers in running text, and identifies endnotes in the endnotes
5832 section of your document with superscript numbers as well. This is
5833 mom’s default.
5836 <div id="endnote-superscript-note" class="box-tip">
5838 <span class="note">Note:</span>
5839 By default, mom reserves a fixed amount of space, equal to 2
5840 placeholders, for the superscript numbers identifying endnotes in
5841 the endnotes section of your document. Within that space, the
5842 numbers are flush right with each other.
5845 <p class="tip-bottom">
5846 If you need less space (the total number of endnotes is less than 10) or
5847 more (the total number of endnotes is greater than 99), use the
5849 <a href="docelement.html#endnote-numbers-align">ENDNOTE_NUMBERS_ALIGN</a>,
5850 to set the desired amount of reserved space, e.g.,
5852 <span class="pre-in-pp">
5853 .ENDNOTE_NUMBERS_ALIGN RIGHT 1
5857 <span class="pre-in-pp">
5858 .ENDNOTE_NUMBERS_ALIGN RIGHT 3
5863 <h5 id="endnote-linenumber-gap" class="docs" style="margin-bottom: .5em; margin-left: .5em;">• Spacing between line-numbered endnotes and the endnote text</h5>
5865 <div class="box-macro-args">
5866 Macro: <b>ENDNOTE_LINENUMBER_GAP</b> <kbd class="macro-args"><size of gap></kbd>
5869 <p class="requires">
5870 • Requires a <a href="definitions.html#unitofmeasure">unit of measure</a>
5875 <a href="#endnote-marker-style">ENDNOTE_MARKER_STYLE</a>
5876 is <kbd>LINE</kbd>, mom, by default, inserts a space equal to
5877 1/2-<a href="definitions.html#em">en</a>
5878 between the linenumber and the text of an endnote. For aesthetic
5879 reasons, you may want to change the size of the gap, which is done
5880 with the macro ENDNOTE_LINENUMBER_GAP.
5884 ENDNOTE_LINENUMBER_GAP takes as its single argument the size
5885 of the gap. The argument requires a
5886 <a href="definitions.html#unitofmeasure">unit of measure</a>,
5887 so, for example, to change the gap to 2
5888 <a href="definitions.html#picaspoints">picas</a>,
5891 <span class="pre-in-pp">
5892 .ENDNOTE_LINENUMBER_GAP 2P
5896 <h5 id="endnote-linenumber-brackets" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Brackets around endnote line numbers</h5>
5898 <div class="box-macro-args">
5899 Macro: <b>ENDNOTE_LINENUMBER_BRACKETS</b> <kbd class="macro-args">PARENS | SQUARE | BRACES | ( | [ | {</kbd>
5903 By default, mom puts endnote line numbers inside square brackets.
5904 The style of the brackets may be changed with the macro
5905 ENDNOTE_LINENUMBER_BRACKETS, which takes one of three possible
5906 arguments: <kbd>PARENS</kbd> (“round” brackets),
5907 <kbd>SQUARE</kbd> (the default) or <kbd>BRACES</kbd> (curly braces).
5908 If you prefer a shortform, the arguments, <kbd>(</kbd>, <kbd>[</kbd>
5909 or <kbd>{</kbd> may be used instead.
5912 <h5 id="endnote-linenumber-separator" class="docs" style="margin-top: -.5em; margin-bottom: .5em; margin-left: .5em;">• Separator after endnote line numbers instead of brackets</h5>
5914 <div class="box-macro-args">
5915 Macro: <b>ENDNOTE_LINENUMBER_SEPARATOR</b> <kbd class="macro-args"><character></kbd>
5919 If you don’t want the numbers enclosed in brackets, you may tell
5920 mom to use a separator instead. A common
5921 separator would be the colon, but it can be anything you like.
5925 ENDNOTE_LINENUMBER_SEPARATOR takes as its single argument the
5926 separator you want. (If the argument contains spaces, don’t
5927 forget to enclose the argument in double-quotes.) The separator
5928 can be composed of any valid groff character, or any combination of
5929 characters. For example, to get a colon separator after the line
5930 number in line-numbered endnotes, you’d do
5932 <span class="pre-in-pp">
5933 .ENDNOTE_LINENUMBER_SEPARATOR :
5937 <h5 id="endnote-number-control" class="docs" style="margin-top: -1em; margin-bottom: .5em; margin-left: .5em;">• Endnote numbering style control</h5>
5939 <div class="defaults-container" style="padding-bottom: 8px;">
5940 <p class="defaults" style="padding-top: 6px;">
5942 <a href="#control-macro-args">Arguments to the control macros</a>.
5945 <p class="defaults">
5946 Please note that the control macros for endnote numbering affect only
5947 the numbers that appear on the endnotes pages themselves, not the
5948 endnote numbers that appear in the body of a document.
5950 <span class="pre defaults">
5952 .ENDNOTE_NUMBER_FAMILY default = prevailing document family; default Times Roman
5953 .ENDNOTE_NUMBER_FONT default = bold
5954 .ENDNOTE_NUMBER_SIZE* default = 0
5955 Linenumbered endnotes
5956 .ENDNOTE_LINENUMBER_FAMILY default = prevailing document family; default Times Roman
5957 .ENDNOTE_LINENUMBER_FONT default = bold
5958 .ENDNOTE_LINENUMBER_SIZE* default = 0
5960 *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
5964 <h5 id="endnote-number-alignment" class="docs" style="margin-top: -1.25em; margin-bottom: -.5em; margin-left: .5em;">• Endnote numbering alignment</h5>
5966 <p style="margin-top: .75em;">
5967 By default, when your
5968 <a href="#endnote-marker-style">ENDNOTE_MARKER_STYLE</a>
5969 is <kbd>NUMBER</kbd>, mom hangs the numbers on endnotes pages,
5970 aligned right to two placeholders, producing this:
5972 <span id="endnote-numbering-alignment-example" class="pre-in-pp">
5973 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
5974 sed diam nonumy eirmod tempor invidunt ut labore et
5975 dolore magna aliquyam erat, sed diam voluptua.
5977 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
5978 sed diam nonumy eirmod tempor invidunt ut labore et
5979 dolore magna aliquyam erat, sed diam voluptua.
5981 If you wish to change either the alignment or the number of
5982 placeholders, the macro to use is ENDNOTE_NUMBERS_ALIGN.
5985 <!-- -ENDNOTE_NUMBERS_ALIGN- -->
5987 <div id="endnote-numbers-align" class="box-macro-args">
5988 Macro: <b>ENDNOTE_NUMBERS_ALIGN</b> <kbd class="macro-args">LEFT | RIGHT <number of placeholders></kbd>
5992 ENDNOTE_NUMBERS_ALIGN determines how endnote numbers are aligned. If you invoke
5994 <span class="pre-in-pp">
5995 .ENDNOTE_NUMBERS_ALIGN RIGHT 2
5997 the periods (dots) after the numbers will align, like this
5998 <span class="pre-in-pp">
5999 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
6000 sed diam nonumy eirmod tempor invidunt ut labore et
6001 dolore magna aliquyam erat, sed diam voluptua.
6003 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
6004 sed diam nonumy eirmod tempor invidunt ut labore et
6005 dolore magna aliquyam erat, sed diam voluptua.
6008 <span class="pre-in-pp">
6009 .ENDNOTE_NUMBERS_ALIGN LEFT 2
6011 the first digits of the numbers will line up flush left, like this
6012 <span class="pre-in-pp">
6013 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
6014 sed diam nonumy eirmod tempor invidunt ut labore et
6015 dolore magna aliquyam erat, sed diam voluptua.
6017 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
6018 sed diam nonumy eirmod tempor invidunt ut labore et
6019 dolore magna aliquyam erat, sed diam voluptua.
6021 The argument <kbd><number of placeholders></kbd> represents
6022 the maximum size of the numbers, expressed as the number of
6023 digits in the largest number. Numbers in the range 0-9 require
6024 1 placeholder; in the range 10-99, 2 placeholders; in the range
6025 100-999 3 placeholders, and so on.
6029 Therefore, if you have fewer than ten endnotes,
6031 <span class="pre-in-pp">
6032 .ENDNOTE_NUMBERS_ALIGN RIGHT 1
6034 would ensure proper right alignment of endnote numbers.
6038 Mom’s default for endnote number alignment is to align the
6039 numbers right to two placeholders.
6042 <div class="box-tip">
6044 <span class="note">Note:</span>
6045 ENDNOTE_NUMBERS_ALIGN can also be used to establish the alignment
6046 and number of placeholders when your
6047 <a href="#endnote-marker-style">ENDNOTE_MARKER_STYLE</a>
6048 is <kbd>SUPERSCRIPT</kbd>. Furthermore, it can be used to establish
6049 the number of placeholders to reserve when your ENDNOTE_MARKER_STYLE
6050 is <kbd>LINE</kbd>, even though, in such an instance, the numbers
6051 themselves are always aligned right. See
6052 <a href="#endnote-linenumbers-note">here</a>
6057 <div class="rule-short"><hr/></div>
6059 <!-- ==================================================================== -->
6061 <h2 id="margin-notes-intro" class="macro-group">Margin notes</h2>
6063 <ul style="margin-left: -.5em;">
6064 <li><a href="#margin-notes-behaviour">Margin notes behaviour</a>
6065 <ul style="margin-left: -.5em;">
6066 <li><a href="#margin-notes-vertical">Adjusting the vertical position of margin notes</a></li>
6068 <li><a href="#mn-init">Macro: <b>MN_INIT</b></a> – set margin notes parameters</li>
6069 <li><a href="#mn">Tag: MN</a></li>
6073 Margin notes are short annotations that appear in either the left
6074 or right margin of a document. Sometimes they comment on the text.
6075 Sometimes they assist in following the “flow” of a
6076 document by summarizing the subject of a portion of text. Sometimes
6077 they’re comments to yourself in a draft copy.
6081 The margin notes macros and routines in om.tmac (mom) are
6082 “mommified” versions of the margin notes macros and
6083 routines written by Werner Lemberg and patched by Gaius Mulley.
6086 <h3 id="margin-notes-behaviour" class="docs">Margin notes behaviour</h3>
6089 First things first: before you enter your first margin note, you
6090 must “initialize” margin notes with
6091 <a href="#mn-init">MN_INIT</a>.
6092 MN_INIT sets up the style parameters for margin notes, including
6094 <a href="definitions.html#font">font</a>,
6095 <a href="definitions.html#family">family</a>
6097 <a href="definitions.html#leading">leading</a>.
6098 MN_INIT may be called before or after
6099 <a href="docprocessing.html#start">START</a>.
6103 After initializing margin notes, you create margin notes with the
6104 <a href="#mn">MN</a>
6105 macro. Based on the argument you pass MN, your margin note will go
6106 in either the left or the right margin.
6110 Margin notes are tricky from a typographic standpoint with respect
6111 to vertical placement. Since the leading of margin notes may differ
6113 <a href="definitions.html#running">running text</a>,
6114 it’s impossible for mom to guess whether to align
6115 the first lines of margin notes with a document
6116 <a href="definitions.html#baseline">baseline</a>,
6117 whether to align the last lines of margin notes with a document
6118 baseline, or whether to centre them, vertically, so that neither
6119 first nor last line aligns with anything!
6123 Given this difficulty, mom always aligns the first line of any
6124 margin note with a document baseline. If you want a different
6125 behaviour, you must adjust the position(s) of margin notes yourself,
6126 on a note by note basis. (See
6127 <a href="#margin-notes-vertical">Adjusting the vertical position of margin notes</a>.)
6131 Generally speaking, mom tries to place margin notes at the point
6133 <a href="#mn">MN</a>.
6134 However, in the event that a margin note runs deep, she may not be
6135 able to place a subsequent margin note exactly where you want. In
6136 such an instance, mom will “shift” the margin note down
6137 on the page, placing it one (margin note) linespace beneath the
6138 previous margin note (plus whatever vertical space is required to
6139 get the first line to line up with a baseline of running text). A
6140 warning will be issued, letting you know this has happened, and
6145 Sometimes, if a margin note has to be shifted down, there simply
6146 isn’t enough room to start the margin note on the page on
6147 which <kbd>.MN</kbd> is invoked. In that case, mom ignores the
6148 margin note entirely and issues a warning, letting you know what
6149 she’s done, and where. </p>
6152 In the event that a margin note, sucessfully begun on a page, runs
6153 past your bottom margin (or the last line before footnotes begin),
6154 the margin note will “flow” onto the next page. If
6155 it is a “left” margin note, it will continue in the
6156 left margin. If it is a “right” margin note, it will
6157 continue in the right margin.
6161 If your document is being set in two columns, mom will sensibly and
6162 automatically set all margin notes pertaining to the left column in
6163 the left margin, and all margin notes pertaining to the right column
6164 in the right margin, regardless of the “direction”
6165 argument you give the MN tag. If you try to use MN in documents of
6166 more than two columns, mom will ignore all margin notes, and issue
6170 <h3 id="margin-notes-vertical" class="docs">Adjusting the vertical position of margin notes</h3>
6174 <a href="definitions.html#term-leading">leading</a>
6175 of margin notes differs from the leading used throughout a document,
6176 you may want to adjust the vertical position of individual margin
6177 notes. This is most often going to be the case with margin notes
6178 that end near the bottom of the page, where you want the last line
6179 of the margin note to line up with the last line of text on the
6184 Adjustments to the vertical position of margin notes must be done
6185 inside the margin note (ie after <kbd>.MN</kbd>), at the top,
6186 before entering text. The commands to use are
6187 <kbd>\!<a href="typesetting.html#ald">.ALD</a></kbd>
6188 (to lower the margin note) and
6189 <kbd>\!<a href="typesetting.html#rld">.RLD</a></kbd>
6192 The <kbd>\!</kbd> must precede the macros, or they
6193 won’t have any effect.
6198 <div class="macro-id-overline">
6199 <h3 id="mn-init" class="macro-id">MN_INIT</h3>
6202 <div class="box-macro-args">
6203 Macro: <b>MN_INIT</b> <kbd class="macro-args"><arguments> (see list)</kbd>
6206 <h4 style="margin-top: .75em; margin-left: .5em; font-style: normal; font-weight: bold: font-size: 105%; color: #6f614a;">Argument list:</h4>
6208 <span class="pre" style="margin-top: -1.5em; margin-left: .5em;">
6210 <L_WIDTH> <value>
6211 <R_WIDTH> <value>
6212 <GUTTER> <value>
6213 <FONTSTYLE> <value>
6214 <SIZE> <value>
6215 <LEAD> <value>
6216 <COLOR> <value>
6217 <HY> <value>
6220 <p style="margin-top: 1.25em;">
6221 Before you enter your first margin note, you must initialize
6222 the style parameters associated with margin notes using MN_INIT.
6223 If you forget to do so, mom will issue a warning and abort.
6227 The arguments may be entered in any order, and since the list is
6228 long, use of the backslash character ( <kbd>\</kbd> ) to put each on
6229 a separate line is recommended, e.g.,
6231 <span class="pre-in-pp">
6239 All arguments are optional, but since mom requires you to run
6240 MN_INIT before entering margin notes, you should, at a minimum, set
6241 the <kbd>RAGGED</kbd> or <kbd>SYMMETRIC</kbd> parameter.
6242 You will almost certainly want to set <kbd>L_WIDTH</kbd>, <kbd>R_WIDTH</kbd>,
6243 <kbd>SIZE</kbd> and <kbd>LEAD</kbd> as well.
6246 <h4 class="docs arg-list"><kbd>RAGGED | SYMMETRIC</kbd></h4>
6249 If the argument <kbd>RAGGED</kbd> is given, both left and
6250 right margin notes will be flush left. If the argument
6251 <kbd>SYMMETRIC</kbd> is given, left margin notes will be set flush
6252 <i>right</i>, and right margin notes flush <i>left</i>. The effect
6253 is something like this:
6255 <span class="pre-in-pp">
6256 A left This is a meaningless batch A right
6257 margin note of text whose sole purpose is margin note
6258 with just to demonstrate how the sym- with just
6259 a few words metric argument to MN sets left a few words
6260 in it. and right margin notes. in it.
6265 If the argument is omitted, both left and right margin notes will
6266 be set justified. (Justified is usually not a good idea, since the
6267 narrow measure of margin notes makes pleasing justification a near
6271 <h4 class="docs arg-list"><kbd>L_WIDTH <value></kbd></h4>
6274 The width of left margin notes. A
6275 <a href="definitions.html#unitofmeasure">unit of measure</a>
6276 must be appended directly onto the argument. The default is to set
6277 left margin notes right out to the edge of the page, which is almost
6278 certainly not what you want, so you should give a value for this
6279 argument if using left margin notes.
6282 <h4 class="docs arg-list"><kbd>R_WIDTH <value></kbd></h4>
6285 The width of right margin notes. A
6286 <a href="definitions.html#unitofmeasure">unit of measure</a>
6287 must be appended directly onto the argument. The default is to
6288 set right margin notes right out to the edge of the page, which is
6289 almost certainly not what you want, so you should give a value for
6290 this argument if using right margin notes.
6293 <h4 class="docs arg-list"><kbd>GUTTER <value></kbd></h4>
6297 <a href="definitions.html#gutter">gutter</a>
6298 between margin notes and
6299 <a href="definitions.html#running">running text</a>.
6301 <a href="definitions.html#unitofmeasure">unit of measure</a>
6302 must be appended directly onto the argument. The gutter applies to
6303 both left and right margin notes. The default is 1
6304 <a href="definitions.html#em">em</a>.
6307 <h4 class="docs arg-list"><kbd>FONTSTYLE <value></kbd></h4>
6310 The family+font for margin notes. Yes, that’s right: the
6311 family <i>plus</i> font combo. For example, if you want Times
6312 Roman Medium, the argument must be <kbd>TR</kbd>. If you want Palatino
6313 Medium Italic, the argument must be <kbd>PI</kbd>. The default is the same
6314 family+font combo used for a document’s paragraph text.
6317 <h4 class="docs arg-list"><kbd>SIZE <value></kbd></h4>
6320 The point size of type for margin notes. There is no need to append a
6321 <a href="definitions.html#unitofmeasure">unit of measure</a>
6323 <a href="definitions.html#picaspoints">points</a>
6324 is assumed (although there’s nothing preventing you from
6325 appending an alternative unit of measure directly to the argument).
6326 The default is for margin notes to use the same point size of type
6327 as is used in document paragraphs.
6330 <h4 class="docs arg-list"><kbd>LEAD <value></kbd></h4>
6334 <a href="definitions.html#leading">leading</a>
6335 of margin notes. <kbd><LEAD></kbd> takes
6336 <a href="definitions.html#picaspoints">points</a>
6337 as its unit of measure, so don’t tack a unit of measure onto
6338 the end of the argument. The default lead is the same as paragraph
6339 text (ie the document’s base leading).
6342 <h4 class="docs arg-list"><kbd>COLOR <value></kbd></h4>
6345 The colour of margin notes. The colour must be pre-initialized
6347 <a href="color.html#newcolor">NEWCOLOR</a>
6349 <a href="color.html#xcolor">XCOLOR</a>.
6350 The default is black.
6353 <h4 class="docs arg-list"><kbd>HY <value></kbd></h4>
6356 <kbd><value></kbd> is a digit telling groff how you want margin
6359 <span class="pre-in-pp">
6360 0 = do not hyphenate
6361 1 = hyphenate without restrictions
6362 2 = do not hyphenate the last word on the page
6363 4 = do not hyphenate the last two characters of a word
6364 8 = do not hyphenate the first two characters of a word
6366 The values can be added together, so, for example, if you want
6367 neither the first two nor the last two characters of words
6368 hyphenated, the hyphenation-flag would be 12. The default value is
6374 <div class="macro-id-overline">
6375 <h3 id="mn" class="macro-id">MN</h3>
6378 <div class="box-macro-args">
6379 Macro: <b>MN</b> <kbd class="macro-args">LEFT | RIGHT</kbd>
6383 Once you’ve initialized margin notes with
6384 <kbd><a href="#mn-init">.MN_INIT</a></kbd>,
6385 you can enter margin notes any time you like with <kbd>.MN</kbd>.
6386 An argument of <kbd>LEFT</kbd> will set a left margin note. An
6387 argument of <kbd>RIGHT</kbd> will set a right margin note.
6391 Any argument, such as <kbd>OFF</kbd> (or <kbd>QUIT, END, X</kbd>,
6392 etc) exits the current margin note.
6395 <div class="rule-short"><hr/></div>
6397 <!-- ==================================================================== -->
6401 <h2 id="finis-intro" class="macro-group">Document termination string</h2>
6403 <ul style="margin-left: -.5em;">
6404 <li><a href="#finis">Tag: FINIS</a></li>
6405 <li><a href="#finis-control">FINIS control macros</a>
6406 <ul style="margin-left: -1.25em;">
6407 <li><a href="#finis-string">Changing the FINIS string</a></li>
6408 <li><a href="#finis-string-caps">Automatic capitalization of the FINIS string</a></li>
6409 <li><a href="#finis-color">Changing the FINIS colour</a></li>
6410 <li><a href="#finis-no-dashes">Removing the dashes around FINIS</a></li>
6415 The use of FINIS is optional. If you invoke it at the end of a
6417 <kbd><a href="#endnotes">.ENDNOTES</a></kbd>,
6418 <kbd><a href="refer.html#bibliography">.BIBLIOGRAPHY</a></kbd>
6420 <kbd><a href="tables-of-contents.html#toc">.TOC</a></kbd>)
6421 mom deposits the word, <b>END</b>, centred after a blank line,
6422 beneath the last line of the document. <b>END</b> is enclosed
6424 <a href="definitions.html#em">em-dashes</a>,
6427 <span class="pre-in-pp">
6428 ...and they all lived happily ever after.
6432 If there is insufficient room for FINIS on the last page of a
6433 document, mom will alert you on stderr.
6437 If you’re writing in a language other than English, you can
6438 change what mom prints for END with the control macro
6439 <a href="#finis-string">FINIS_STRING</a>.
6442 <div class="macro-id-overline">
6443 <h3 id="finis" class="macro-id">FINIS</h3>
6446 <div class="box-macro-args">
6451 The use of FINIS is optional, but if you use it, it should be the
6452 last macro you invoke in a document before
6453 <kbd><a href="#endnotes">.ENDNOTES</a></kbd>,
6454 <kbd><a href="refer.html#bibliography">.BIBLIOGRAPHY</a></kbd>
6456 <kbd><a href="tables-of-contents.html#toc">.TOC</a></kbd>.
6458 <a href="#finis-intro">above</a>
6459 for a description of how FINIS behaves.
6462 <div class="box-tip">
6464 <span class="note">Note:</span>
6465 If you don’t use FINIS, and you don’t want
6466 <a href="definitions.html#footer">footers</a>
6467 (if they’re on) or a page number at the bottom of the last
6468 page of a document, you have to turn them off manually, as the last
6469 two lines of your document file, like this:
6471 <span class="pre-in-pp">
6478 <!-- -FINIS STRING- -->
6480 <h3 id="finis-control" class="docs" style="margin-bottom: -1em">Finis contol macros</h3>
6483 Since FINIS is only used once in a document, it has few control
6484 macros. It is expected that you will make changes to style
6485 parameters such as family, font, and size with
6486 <a href="definitions.html#inlines">inline escapes</a>
6487 in the FINIS string itself (see below).
6490 <h4 id="finis-string" class="docs" style="margin-top: -.5em">Changing the FINIS string</h4>
6493 By default, FINIS prints the word, END, between
6494 <a href="definitions.html#em">em-dashes</a>.
6495 If you’d like mom to print something else between the dashes,
6496 use the FINIS_STRING macro (anywhere in the document prior to
6501 For example, if your document’s in French, you’d do
6503 <span class="pre-in-pp">
6506 Double-quotes must enclose the macro’s argument.
6509 <div class="box-tip">
6511 <span class="note">Note:</span>
6512 If you pass FINIS_STRING a blank string, ie
6514 <span class="pre-in-pp">
6517 mom will still print the em-dashes when you invoke
6518 <kbd>.FINIS</kbd>. This, in effect, produces a short, centred
6519 horizontal rule that terminates the document. (In
6520 <a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>,
6521 it’s a short, dashed line composed of four hyphens.)
6525 <!-- -FINIS STRING CAPS- -->
6527 <h4 id="finis-string-caps" class="docs">Automatic capitalization of the FINIS string</h4>
6530 By default, mom sets the string you pass to FINIS all-caps.
6531 If you’d prefer that she not do so, but rather respect
6532 the FINIS string exactly as you enter it, invoke the macro
6533 <kbd>.FINIS_STRING_CAPS</kbd> with the <kbd>OFF</kbd> argument, like
6536 <span class="pre-in-pp">
6537 .FINIS_STRING_CAPS OFF
6539 <kbd>OFF</kbd>, above, could be anything, e.g., <kbd>NO</kbd> or
6543 <!-- -FINIS COLOR- -->
6545 <h4 id="finis-color" class="docs">Changing the FINIS colour</h4>
6548 Invoking the control macro <kbd>.FINIS_COLOR</kbd> with a
6549 pre-defined (or “initalized”) colour changes the colour
6550 of both the FINIS string and the em-dashes that surround it. If you
6552 <a href="definitions.html#inline">inline escape</a>,
6553 <a href="color.html#color-inline"><kbd>\*[<colourname>]</kbd></a>,
6554 in the argument passed to FINIS, only the text will be in the
6555 new colour; the em-dashes will be in the default document colour
6559 <!-- -FINIS DASHES- -->
6561 <h4 id="finis-no-dashes" class="docs">Removing the dashes around FINIS</h4>
6564 If you don’t want the dashes around the FINIS string, you can
6567 <span class="pre-in-pp">
6572 <div class="rule-long"><hr/></div>
6574 <!-- Navigation links -->
6575 <table style="width: 100%; margin-top: 12px;">
6577 <td style="width: 33%;"><a href="toc.html">Back to Table of Contents</a></td>
6578 <td style="width: 33%; text-align: center;"><a href="#top">Top</a></td>
6579 <td style="width: 33%; text-align: right;"><a href="images.html#top">Next: Graphics, floats, and preprocessor support</a></td>
6585 <div class="bottom-spacer"><br/></div>