summaryrefslogtreecommitdiff
path: root/contrib/mom
diff options
context:
space:
mode:
authorwl <wl>2006-03-17 21:51:04 +0000
committerwl <wl>2006-03-17 21:51:04 +0000
commit6e819118cf845ab8482eff43d78154c0c1008528 (patch)
treeda75695ff8c0bdddb2184042d6ba04d821c35e38 /contrib/mom
parente42edd3cac5c3ca101063f3e2ccd297a5d9d6dd9 (diff)
downloadgroff-6e819118cf845ab8482eff43d78154c0c1008528.tar.gz
o Added a .SHIM after .sp \\n[#DC_LINES]v in .DROPCAP. Fixes
problem of dropcaps in initial paragraphs after COLLATE being set slightly too high. o Added .rr #DOC_LEAD_ADJUST_OFF to .ie clause of DOC_LEAD_ADJUST and removed .rr #DOC_LEAD_ADJUST_OFF from DEFAULTS (after TRAPS) so that document leading adjustment (or lack thereof) is maintained from doc to doc when COLLATE is being used. o Added new register, #PRE_COLLATE. The .FAMILY macro is called several times during initial COLLATE processing, and contained a stanza that allowed FAMILY, after a collate, to invoke DOC_FAMILY if #COLLATE=1. This allowed users to use FAMILY after a COLLATE but before START in a way consistent with the behaviour described in the docs (namely, FAMILY before START sets the DOC_FAMILY). Since that functionality is still needed, #PRE_COLLATE instructs FAMILY not to reset DOC_FAMILY until COLLATE is complete (i.e. after the break to a new page). #PRE_COLLATE, if set to 1, is removed at the end of HEADER. o Added control macros for linenumbering family, font, point size and color o Added a NO_SHIM macro o Changed .PRINT "\h'\\n[#LIST_INDENT\\n[#DEPTH]]u' in the "ROMAN I, padded" and "roman i, padded" clauses of ITEM to .PRINT "\h'\\n[#HL_INDENT\\n[#DEPTH]]u' to fix bug associated with using both PAD_LIST_DIGITS LEFT and SHIFT_LIST.
Diffstat (limited to 'contrib/mom')
-rw-r--r--contrib/mom/BUGS19
-rw-r--r--contrib/mom/ChangeLog36
-rw-r--r--contrib/mom/NEWS22
-rw-r--r--contrib/mom/momdoc/docelement.html64
-rw-r--r--contrib/mom/momdoc/docprocessing.html4
-rw-r--r--contrib/mom/momdoc/reserved.html10
-rw-r--r--contrib/mom/momdoc/toc.html4
-rw-r--r--contrib/mom/om.tmac119
8 files changed, 233 insertions, 45 deletions
diff --git a/contrib/mom/BUGS b/contrib/mom/BUGS
index fa144f01..b78f7f9d 100644
--- a/contrib/mom/BUGS
+++ b/contrib/mom/BUGS
@@ -18,6 +18,25 @@ Also, please--no html email. That, too, gets nuked.
--Peter Schaffter
========================================================================
+Version 1.3-d
+=============
+Small error in the examples of output in the "Footnotes and
+Punctuation" documentation section.
+---Fixed----
+
+PAD_LIST_DIGITS/SHIFT_LIST broken when the enumerator type is
+roman or ROMAN.
+---Fixed---
+
+COLLATE wiping out <doc element>_FAMILY settings.
+---Fixed---
+
+DOC_LEAD_ADJUST OFF not being observed when COLLATE is invoked.
+---Fixed---
+
+DROPCAP setting the dropcap too high in initial paragraph after a
+COLLATE.
+---Fixed---
Version 1.3-c
=============
diff --git a/contrib/mom/ChangeLog b/contrib/mom/ChangeLog
index 32c927cd..723551c6 100644
--- a/contrib/mom/ChangeLog
+++ b/contrib/mom/ChangeLog
@@ -1,3 +1,39 @@
+*Wed Mar 15 2006
+
+o Added a .SHIM after .sp \\n[#DC_LINES]v in .DROPCAP. Fixes
+ problem of dropcaps in initial paragraphs after COLLATE being set
+ slightly too high.
+
+o Added .rr #DOC_LEAD_ADJUST_OFF to .ie clause of DOC_LEAD_ADJUST
+ and removed .rr #DOC_LEAD_ADJUST_OFF from DEFAULTS (after TRAPS)
+ so that document leading adjustment (or lack thereof) is
+ maintained from doc to doc when COLLATE is being used.
+
+o Added new register, #PRE_COLLATE. The .FAMILY macro is called
+ several times during initial COLLATE processing, and contained a
+ stanza that allowed FAMILY, after a collate, to invoke DOC_FAMILY
+ if #COLLATE=1. This allowed users to use FAMILY after a COLLATE
+ but before START in a way consistent with the behaviour described
+ in the docs (namely, FAMILY before START sets the DOC_FAMILY).
+ Since that functionality is still needed, #PRE_COLLATE instructs
+ FAMILY not to reset DOC_FAMILY until COLLATE is complete (i.e.
+ after the break to a new page). #PRE_COLLATE, if set to 1, is
+ removed at the end of HEADER.
+
+*Thu, Mar 2 2006
+
+o Added control macros for linenumbering family, font, point size
+ and color
+
+o Added a NO_SHIM macro
+
+*Sun Feb 26 2006
+
+o Changed .PRINT "\h'\\n[#LIST_INDENT\\n[#DEPTH]]u' in the
+ "ROMAN I, padded" and "roman i, padded" clauses of ITEM to
+ .PRINT "\h'\\n[#HL_INDENT\\n[#DEPTH]]u' to fix bug associated
+ with using both PAD_LIST_DIGITS LEFT and SHIFT_LIST.
+
*Sun Feb 26 2006
o Makefile.sub: Add DESTDIR to install and uninstall targets to support
diff --git a/contrib/mom/NEWS b/contrib/mom/NEWS
index d4c2497e..57f4bd0f 100644
--- a/contrib/mom/NEWS
+++ b/contrib/mom/NEWS
@@ -1,3 +1,25 @@
+Release 1.3-e
+-------------
+Line numbering now has control macros for family, font, point size
+and color.
+
+A new macro, NO_SHIM, to disable the automatic shimming of
+(possibly irregularly linespaced) quotes and blockquotes.
+
+Release 1.3-d
+-------------
+Bug fix release (FONT--removed superfluous "if" that was breaking
+fallback font logic; FOOTNOTE--no longer adding a linebreak after
+footnote marker in footnote text in nofill modes).
+
+Fixed indent problem with LIST when both PAD_LIST_DIGITS LEFT and
+SHIFT_LIST used concurrently.
+
+Release 1.3-c
+-------------
+Bug fix release (margin notes, TYPEWRITE--spacing, underlining and
+italicizing
+
Release 1.3-b
-------------
Bug fix release. SMARTQUOTES has been smartened; miscellaneous
diff --git a/contrib/mom/momdoc/docelement.html b/contrib/mom/momdoc/docelement.html
index 3b991677..ef6f35b2 100644
--- a/contrib/mom/momdoc/docelement.html
+++ b/contrib/mom/momdoc/docelement.html
@@ -1378,16 +1378,17 @@ and
as does the control macro
<a href="#QUOTE_INDENT">QUOTE_INDENT</a>.
<p>
-<strong>Version 1.3: mom</strong>'s handling of the vertical
-whitespace around quotes has changed slightly. In versions prior
-to 1.3, it was not possible to alter the
-<a href="definitions.html#TERMS_LEADING">leading</a>
-of quotes and blockquotes (which was the same as the document
-leading), ensuring that the vertical whitespace remained consistent,
-as described above. In 1.3 and later, it is possible to change the
-leading of quotes and blockquote via
-the <strong>QUOTE_AUTOLEAD</strong> and
-<strong>BLOCKQUOTE_AUTOLEAD</strong>macro. Now, if your quote
+<strong>Version 1.3: mom</strong>'s handling of the
+vertical whitespace around quotes has changed slightly. In
+versions prior to 1.3, it was not possible to alter the <a
+href="definitions.html#TERMS_LEADING">leading</a> of quotes and
+blockquotes (which was the same as the document leading), ensuring
+that the vertical whitespace remained consistent, as described
+above.
+<p>
+In 1.3 and later, it is possible to change the leading of quotes
+and blockquote via the <strong>QUOTE_AUTOLEAD</strong> and
+<strong>BLOCKQUOTE_AUTOLEAD</strong> macro. Now, if your quote
(or blockquote) leading differs from the document leading,
<strong>mom</strong> attempts to observe the same rules for vertical
whitespace outlined above; however, she will also insert a small,
@@ -1400,7 +1401,19 @@ slightly, although each will be balanced between lines of normal
<a href="definitions.html#TERMS_RUNNING">running text</a>,
top and bottom. (The inability to scan an entire page and insert
equalized whitespace at marked places is a limitation of groff,
-which, by and large, works in a linear, line by line fashion.)
+which, by and large, works in a line-per-line fashion.)
+<p>
+<a name="NO_SHIM"></a>
+If you don't want the behaviour described above (i.e.
+you don't want <strong>mom</strong> shimming [possibly
+irregularly linespaced] quotes or blockquotes), issue the macro
+<strong>.NO_SHIM</strong> prior to invoking <strong>QUOTE</strong>
+or <strong>BLOCKQUOTE</strong>. If you've disabled shimming of
+quotes and blockquotes with <strong>.NO_SHIM</strong> and you want
+<strong>mom</strong> to return to her default behaviour in this
+matter, invoke <strong>.NO_SHIM OFF</strong> (or <strong>QUIT, END,
+X</strong>, etc).
+<p>
If you don't provide <strong>mom</strong> with a
<strong>QUOTE_AUTOLEAD</strong>, quotes are leaded at the default
for normal running text, meaning that multiple quotes on the same
@@ -2144,7 +2157,7 @@ order to ensure that the text of items lines up properly.
If you'd like the roman numerals to line up flush right (i.e. be
padded "left"), simply invoke <strong>PAD_LIST_DIGITS</strong>
<kbd>LEFT</kbd> after <strong>LIST</strong> <kbd>ROMAN&lt;n&gt;</kbd>
-or <strong>LIST</strong> <kbd>roman&lt;n&gt;</kbd> amd before
+or <strong>LIST</strong> <kbd>roman&lt;n&gt;</kbd> and before
<strong>ITEM</strong>.
<p>
<hr>
@@ -2154,7 +2167,10 @@ or <strong>LIST</strong> <kbd>roman&lt;n&gt;</kbd> amd before
<a name="NUMBER_LINES_INTRO"><h2><u>Line numbering</u></h2></a>
<ul>
<li><a href="#NUMBER_LINES">Macro: NUMBER_LINES</a>
- <li><a href="#NUMBER_LINES_CONTROL">Control macros</a> (for quotes and blockquotes)
+ <li><a href="#NUMBER_LINES_CONTROL">Control macros</a>
+ <ul>
+ <li><a href="#NUMBER_LINES_CONTROL_QUOTE">Control macros for quotes and blockquotes</a>
+ </ul>
</ul>
<p>
@@ -2202,7 +2218,7 @@ Line numbering may be enabled and disabled for
and/or
<a href="#BLOCKQUOTE">BLOCKQUOTE</a>
in one of three styles. See
-<a href="#NUMBER_LINES_CONTROL">Line numbering control macros for quotes and blockquotes</a>.
+<a href="#NUMBER_LINES_CONTROL_QUOTE">Line numbering control macros for quotes and blockquotes</a>.
<p>
The first time you invoke
<a href="#NUMBER_LINES">NUMBER_LINES</a>
@@ -2392,7 +2408,18 @@ are needed for the desired result.
</ol>
<hr width="33%" align="left">
-<a name="NUMBER_LINES_CONTROL"><h3><u>Line numbering control macros for QUOTE and BLOCKQUOTE</u></h3></a>
+<a name="NUMBER_LINES_CONTROL"><h3><u>Line numbering control macros</u></h3></a>
+See
+<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>.
+<p>
+<pre>
+.LINENUMBER_FAMILY default = prevailing family or document family; default is Times Roman
+.LINENUMBER_FONT default = prevailing font
+.LINENUMBER_SIZE default = +0
+.LINENUMBER_COLOR default = black
+</pre>
+
+<a name="NUMBER_LINES_CONTROL_QUOTE"><h3><u>Line numbering control macros for QUOTE and BLOCKQUOTE</u></h3></a>
<ol>
<li><a href="#NUMBER_QUOTE_LINES">NUMBER_QUOTE_LINES</a>
<li><a href="#NUMBER_BLOCKQUOTE_LINES">NUMBER_BLOCKQUOTE_LINES</a>
@@ -2732,7 +2759,12 @@ following examples.
(last line begins with a comma and a space)
</pre>
-Both produce, on output
+Example 1 produces, on output
+<pre>
+ A line of text,* broken up with a comma.
+</pre>
+
+Example 2 produces
<pre>
A line of text*, broken up with a comma.
</pre>
diff --git a/contrib/mom/momdoc/docprocessing.html b/contrib/mom/momdoc/docprocessing.html
index 30971acc..16a5d543 100644
--- a/contrib/mom/momdoc/docprocessing.html
+++ b/contrib/mom/momdoc/docprocessing.html
@@ -387,6 +387,10 @@ to raise the picture slightly
and still have <strong>SHIM</strong> ensure that text underneath
falls exactly where it's supposed to.
<p>
+<strong>NOTE:</strong> For information on disabling the automatic
+shimming of quotes and blockquotes during document processing, see
+<a href="docelement.html#NO_SHIM">here</a>.
+<p>
<hr>
<a name="SETUP"><h2><u>Document setup</u></h2></a>
diff --git a/contrib/mom/momdoc/reserved.html b/contrib/mom/momdoc/reserved.html
index 34bbe27f..c04ead76 100644
--- a/contrib/mom/momdoc/reserved.html
+++ b/contrib/mom/momdoc/reserved.html
@@ -893,6 +893,7 @@ GET_ROMAN_INDENT Figures out amount of space to reserve
HDRFTR_RULE Prints rule under header or over footer
MN_OVERFLOW_TRAP Trap-invoked macro to collect margin note
overflows
+NO_SHIM Disable SHIM
PRINT_FOOTNOTE_RULE An alias of PRINT_FOOTNOTE; prints footnote
separator rule
PRINT_HDRFTR Prints header/footer (trap invoked)
@@ -1321,6 +1322,7 @@ dc "mark" register for document columns
subtract 1 line of footnote lead from
FN_OVERFLOW in a PREV_FN_DEFERRED
situation.
+#NO_SHIM Should SHIM shim? (toggle)
#NO_SPACE When para spacing is active, instructs
PP not to add space after a quote or blockquote.
#NO_TRAP_RESET Should we reset page traps? (toggle)
@@ -1803,10 +1805,14 @@ $LAST_CHAR Temporary string used to discover whether
$LINEBREAK_COLOR Linebreak color
$LIST_ARG_1 The first arg to LIST (minus digits if
ROMAN or roman
+$LN_COLOR Linenumber color
+$LN_FAMILY Linenumber family
+$LN_FONT Linenumber font
$LN_GUTTER Gutter to leave between line numbers
and text
$LN_INC 2nd arg to NUMBER_LINES as a string
$LN_NUM 1st arg to NUMBER_LINES as a string
+$LN_SIZE_CHANGE ps in/decrease of linenumbers
$MISC_COLOR Misc line color
$MISC_QUAD Misc line quad
PAGE# For use in hdrftr strings where page #
@@ -2133,6 +2139,10 @@ HEAD_FONT _FONT
HEAD_QUAD _QUAD
HEAD_SIZE _SIZE
LINEBREAK_COLOR _COLOR
+LINENUMBER_FAMILY _COLOR
+LINENUMBER_FONT _COLOR
+LINENUMBER_SIZE _COLOR
+LINENUMBER_COLOR _COLOR
MISC_COLOR _COLOR
MISC_QUAD _QUAD
PAGENUM_COLOR _COLOR
diff --git a/contrib/mom/momdoc/toc.html b/contrib/mom/momdoc/toc.html
index 24e81183..8c8c6d73 100644
--- a/contrib/mom/momdoc/toc.html
+++ b/contrib/mom/momdoc/toc.html
@@ -2,13 +2,13 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-<title>Mom, version 1.3-d -- Table of Contents</title>
+<title>Mom, version 1.3-e -- Table of Contents</title>
</head>
<body bgcolor="#dfdfdf">
<!====================================================================>
-<h1 align="center"><u>Table of Contents for mom, version 1.3-d</u></h1>
+<h1 align="center"><u>Table of Contents for mom, version 1.3-e</u></h1>
The table of contents has grown quite large. If you've been using
<strong>mom</strong> for a while, you might prefer the
diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac
index 01fff228..02fde01c 100644
--- a/contrib/mom/om.tmac
+++ b/contrib/mom/om.tmac
@@ -21,7 +21,7 @@ You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-Version 1.3-d
+Version 1.3-e
-------------
Antoine de St-Exupéry asserted that elegance in engineering is
achieved not when there is nothing left to add, but when there is
@@ -457,8 +457,13 @@ described).
. ft 0
. \}
. \}
-. if \\n[#COLLATE]=1 \{\
-. if !r#START \{ .DOC_FAM \\*[$FAMILY] \}
+. ie \\n[#PRE_COLLATE]=1 \{\
+. nop
+. \}
+. el \{\
+. if \\n[#COLLATE]=1 \{\
+. if !r#START \{ .DOC_FAM \\*[$FAMILY] \}
+. \}
. \}
.END
\#
@@ -2621,6 +2626,7 @@ get their length from the tab line length.
. if d$DC_ADJUST \{ .ps \\*[$DC_ADJUST]p \}
. mk x
. sp \\n[#DC_LINES]v
+. SHIM
. ie \\n[#DC_COLOR]=1 \{\
. ie !'\\$3'' \{\
. ie '\\$3'COND' \{ .PRINT \m[\\*[$DC_COLOR]]\\*[COND]\\*[$DROPCAP]\\*[CONDX]\m[] \}
@@ -4182,6 +4188,7 @@ the macro whose style is to be changed.
. if '\\$0'HDRFTR_LEFT_FAMILY' .ds $HDRFTR_LEFT_FAM \\$1
. if '\\$0'HDRFTR_RIGHT_FAMILY' .ds $HDRFTR_RIGHT_FAM \\$1
. if '\\$0'HEAD_FAMILY' .ds $HEAD_FAM \\$1
+. if '\\$0'LINENUMBER_FAMILY' .ds $LN_FAM \\$1
. if '\\$0'PAGENUM_FAMILY' .ds $PAGE_NUM_FAM \\$1
. if '\\$0'PARAHEAD_FAMILY' .ds $PH_FAM \\$1
. if '\\$0'QUOTE_FAMILY' .ds $QUOTE_FAM \\$1
@@ -4231,6 +4238,7 @@ the macro whose style is to be changed.
. if '\\$0'HDRFTR_LEFT_FONT' .ds $HDRFTR_LEFT_FT \\$1
. if '\\$0'HDRFTR_RIGHT_FONT' .ds $HDRFTR_RIGHT_FT \\$1
. if '\\$0'HEAD_FONT' .ds $HEAD_FT \\$1
+. if '\\$0'LINENUMBER_FONT' .ds $LN_FT \\$1
. if '\\$0'PAGENUM_FONT' .ds $PAGE_NUM_FT \\$1
. if '\\$0'PARAHEAD_FONT' .ds $PH_FT \\$1
. if '\\$0'QUOTE_FONT' .ds $QUOTE_FT \\$1
@@ -4277,6 +4285,7 @@ the macro whose style is to be changed.
. if '\\$0'HDRFTR_RIGHT_SIZE' .ds $HDRFTR_RIGHT_SIZE_CHANGE \\$1
. if '\\$0'HDRFTR_SIZE' .ds $HDRFTR_SIZE_CHANGE \\$1
. if '\\$0'HEAD_SIZE' .ds $HEAD_SIZE_CHANGE \\$1
+. if '\\$0'LINENUMBER_SIZE' .ds $LN_SIZE_CHANGE \\$1
. if '\\$0'PAGENUM_SIZE' .ds $PAGE_NUM_SIZE_CHANGE \\$1
. if '\\$0'PARAHEAD_SIZE' .ds $PH_SIZE_CHANGE \\$1
. if '\\$0'QUOTE_SIZE' .ds $QUOTE_SIZE_CHANGE \\$1
@@ -4438,6 +4447,10 @@ the macro whose style is to be changed.
. nr #LINEBREAK_COLOR 1
. ds $LINEBREAK_COLOR \\$1
. \}
+. if '\\$0'LINENUMBER_COLOR' \{\
+. nr #LINENUMBER_COLOR 1
+. ds $LN_COLOR \\$1
+. \}
. if '\\$0'PAGENUM_COLOR' \{\
. nr #PAGE_NUM_COLOR 1
. ds $PAGENUM_COLOR \\$1
@@ -4990,7 +5003,6 @@ the macro whose style is to be changed.
. ie !\\n[#COLLATE] \{\
.\" DOC_LEAD adjusted (or not) here
. TRAPS
-. rr #DOC_LEAD_ADJUST_OFF
.\" Endnote, bibliography and toc leading
. nr #OK_PROCESS_LEAD 1
. nr #RESTORE_DOC_LEAD \\n(.v
@@ -6516,6 +6528,7 @@ the macro whose style is to be changed.
.MAC DOC_LEAD_ADJUST END
. ie '\\$1'' \{\
. nr #ADJ_DOC_LEAD 1
+. rr #DOC_LEAD_ADJUST_OFF
. \}
. el \{\
. nr #ADJ_DOC_LEAD 0
@@ -6545,27 +6558,37 @@ the macro whose style is to be changed.
. nr #SHIM \\n[#VALID_BASELINE]-\\n[#CURRENT_V_POS]
.END
\#
+\# And a macro to disable SHIM (useful sometimes with QUOTE and
+\# BLOCKQUOTE)
+\#
+.MAC NO_SHIM END
+. ie '\\$1'' \{ .nr #NO_SHIM 1 \}
+. el \{ .rr #NO_SHIM \}
+.END
\#
.MAC SHIM END
-. nr #VALID_BASELINE \\n[#T_MARGIN]-1v \\n[#DOC_LEAD]
-. if !r#CURRENT_V_POS \{ .nr #CURRENT_V_POS \\n(.d \}
-. ie r#ADVANCE_FROM_TOP \{\
-. ie \\n[#CURRENT_V_POS]<(\\n[#T_MARGIN]-1v) \{\
-. while \\n-[#VALID_BASELINE]>\\n[#CURRENT_V_POS] \{\
+. ie r#NO_SHIM \{ .return \}
+. el \{\
+. nr #VALID_BASELINE \\n[#T_MARGIN]-1v \\n[#DOC_LEAD]
+. if !r#CURRENT_V_POS \{ .nr #CURRENT_V_POS \\n(.d \}
+. ie r#ADVANCE_FROM_TOP \{\
+. ie \\n[#CURRENT_V_POS]<(\\n[#T_MARGIN]-1v) \{\
+. while \\n-[#VALID_BASELINE]>\\n[#CURRENT_V_POS] \{\
.
.\}
-. nr #VALID_BASELINE +\\n[#DOC_LEAD]
-. nr #SHIM \\n[#VALID_BASELINE]-\\n[#CURRENT_V_POS]
+. nr #VALID_BASELINE +\\n[#DOC_LEAD]
+. nr #SHIM \\n[#VALID_BASELINE]-\\n[#CURRENT_V_POS]
+. \}
+. el \{\
+. PROCESS_SHIM
+. \}
. \}
. el \{\
. PROCESS_SHIM
. \}
+. ALD \\n[#SHIM]u
+. rr #CURRENT_V_POS
. \}
-. el \{\
-. PROCESS_SHIM
-. \}
-. ALD \\n[#SHIM]u
-. rr #CURRENT_V_POS
.END
\#
\#
@@ -7576,10 +7599,10 @@ Default is OFF.
. el \{ .PRINT \& \}
. \}
. if \\n[#HDRFTR_CENTER_CAPS] \{ .CAPS OFF \}
-. if o \{ .LEFT \}
-. if e \{ .RIGHT \}
-. if \\n[#RECTO_VERSO]=0 \{ .RIGHT \}
-. if \\n[#HDRFTR_RIGHT_CAPS] \{ .CAPS \}
+. if o \{ .LEFT \}
+. if e \{ .RIGHT \}
+. if \\n[#RECTO_VERSO]=0 \{ .RIGHT \}
+. if \\n[#HDRFTR_RIGHT_CAPS] \{ .CAPS \}
. rt \\nyu
. ie '\\*[$HDRFTR_RIGHT]'#' \{\
. PRINT \\n[#PAGENUMBER]
@@ -8039,6 +8062,7 @@ Default is OFF.
. rm MN_OVERFLOW_RIGHT
. rr #MN_OVERFLOW_RIGHT
. rr #no-repeat-MN-right
+. if \\n[#PRE_COLLATE]=1 \{ .rr #PRE_COLLATE \}
.END
\#
\# ====================================================================
@@ -13585,22 +13609,20 @@ Arguments, Function and Notes.
. \}
. \}
. \}
-. \}
-. el \{\
. if '\\*[$ENUMERATOR_TYPE\\n[#DEPTH]]'roman' \{\
. ie \\n[#PAD_LIST_DIGITS\\n[#DEPTH]]=1 \{\
.\" ROMAN I, padded
. ie '\\g[#ENUMERATOR\\n[#DEPTH]]'I' \{\
. ie \\n[#SEP_TYPE]=1 \{\
-. PRINT "\h'\\n[#LIST_INDENT\\n[#DEPTH]]u'\h'-\w'\\*[$PREFIX\\n[#DEPTH]]\\n+[#ENUMERATOR\\n[#DEPTH]]\\n[#SEPARATOR\\n[#DEPTH]]\ 'u'\v'-.085m'\\*[$PREFIX\\n[#DEPTH]]\v'.085m'\\n[#ENUMERATOR\\n[#DEPTH]]\v'-.085m'\\*[$SEPARATOR\\n[#DEPTH]]\v'.085m'
+. PRINT "\h'\\n[#HL_INDENT\\n[#DEPTH]]u'\h'-\w'\\*[$PREFIX\\n[#DEPTH]]\\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]\0'u'\v'-.085m'\\*[$PREFIX\\n[#DEPTH]]\v'.085m'\\n[#ENUMERATOR\\n[#DEPTH]]\v'-.085m'\\*[$SEPARATOR\\n[#DEPTH]]\v'.085m'
. \}
. el \{\
-. PRINT "\h'\\n[#LIST_INDENT\\n[#DEPTH]]u'\h'-\w'\\*[$PREFIX\\n[#DEPTH]]\\n+[#ENUMERATOR\\n[#DEPTH]]\\n[#SEPARATOR\\n[#DEPTH]]\ 'u'\\*[$PREFIX\\n[#DEPTH]]\\n[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]
+. PRINT "\h'\\n[#HL_INDENT\\n[#DEPTH]]u'\h'-\w'\\*[$PREFIX\\n[#DEPTH]]\\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]\0'u'\\*[$PREFIX\\n[#DEPTH]]\\n[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]
. \}
. \}
.\" roman i, padded
. el \{\
-. PRINT "\h'\\n[#LIST_INDENT\\n[#DEPTH]]u'\h'-\w'\\*[$PREFIX\\n[#DEPTH]]\\n+[#ENUMERATOR\\n[#DEPTH]]\\n[#SEPARATOR\\n[#DEPTH]]\ 'u'\\*[$PREFIX\\n[#DEPTH]]\\n[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]
+. PRINT "\h'\\n[#HL_INDENT\\n[#DEPTH]]u'\h'-\w'\\*[$PREFIX\\n[#DEPTH]]\\n+[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]\0'u'\\*[$PREFIX\\n[#DEPTH]]\\n[#ENUMERATOR\\n[#DEPTH]]\\*[$SEPARATOR\\n[#DEPTH]]
. \}
. \}
.\" No pad
@@ -13919,7 +13941,7 @@ Arguments, Function and Notes.
. rr #LIST_INDENT\\n[#REMOVE]
. rr #ENUMERATOR\\n[#REMOVE]
. rm $ENUMERATOR\\n[#REMOVE]
-. rr #SEPARATOR\\n[#REMOVE]
+. rm $SEPARATOR\\n[#REMOVE]
. rm $ENUMERATOR_TYPE\\n[#REMOVE]
. rr #PAD_LIST_DIGITS\\n[#REMOVE]
.\}
@@ -13974,7 +13996,7 @@ Arguments, Function and Notes.
\# macros that alter mom's behaviour).
\#
.MAC COLLATE END
-. nr #COLLATE 1
+. nr #PRE_COLLATE 1
. nr #HEADER_STATE \\n[#HEADERS_ON]
. HEADERS OFF
. if \\n[#PAGE_NUM_V_POS]=1 \{\
@@ -14074,21 +14096,60 @@ Arguments, Function and Notes.
.\" In other words, the first arg was not a digit.
. rr #LN
. ie '\\$1'RESUME' \{\
+. LN_PARAMS
. nm +0
+. fam
+. ft
+. ps
+. gcolor
. \}
. el \{\
+. LN_PARAMS
. nm
+. fam
+. ft
+. ps
+. gcolor
. if !\\n[#LINENUMBERS]=2 \{ .rr #LINENUMBERS \}
. \}
. \}
. el \{\
+. LN_PARAMS
. nm \\*[$LN_NUM] \\*[$LN_INC] \\*[$LN_GUTTER] -3-\\*[$LN_GUTTER]
+. fam
+. ft
+. ps
+. gcolor
. if !'\\n(.z'' \{ .nr #DIVER_LN_OFF 1 \}
. \}
. rr #LN
.END
\#
\#
+\# LINENUMBER STYLE PARAMETERS
+\# ---------------------------
+\# *Arguments:
+\# none
+\# *Function:
+\# Checks if any line numbering parameters have been set, and
+\# passes the args, if any, to the appropriate request. If a linenumber
+\# parameter is missing, passes the current value of the register
+\# associated with the request to the request. (Ensures that the
+\# same requests, called in NUMBER_LINES to reset the registers
+\# to their former values, stay at those values.)
+\#
+.MAC LN_PARAMS END
+. ie d$LN_FAM \{ .fam \\*[$LN_FAM] \}
+. el \{ .fam \\n[.fam] \}
+. ie d$LN_FT \{ .ft \\*[$LN_FT] \}
+. el \{ .ft \\n[.sty] \}
+. ie d$LN_SIZE_CHANGE \{ .ps \\*[$LN_SIZE_CHANGE] \}
+. el \{ .ps \\n[.s] \}
+. ie d$LN_COLOR \{ .gcolor \\*[$LN_COLOR] \}
+. el \{ .gcolor \\n[.m] \}
+.END
+\#
+\#
\# NUMBER QUOTE AND BLOCKQUOTE LINES AS PART OF RUNNING TEXT
\# ---------------------------------------------------------
\# *Argument:
@@ -14830,6 +14891,7 @@ Arguments, Function and Notes.
.ALIAS HDRFTR_LEFT_FAMILY _FAMILY
.ALIAS HDRFTR_RIGHT_FAMILY _FAMILY
.ALIAS HEAD_FAMILY _FAMILY
+.ALIAS LINENUMBER_FAMILY _FAMILY
.ALIAS PAGENUM_FAMILY _FAMILY
.ALIAS PARAHEAD_FAMILY _FAMILY
.ALIAS QUOTE_FAMILY _FAMILY
@@ -14874,6 +14936,7 @@ Arguments, Function and Notes.
.ALIAS HDRFTR_LEFT_FONT _FONT
.ALIAS HDRFTR_RIGHT_FONT _FONT
.ALIAS HEAD_FONT _FONT
+.ALIAS LINENUMBER_FONT _FONT
.ALIAS PAGENUM_FONT _FONT
.ALIAS PARAHEAD_FONT _FONT
.ALIAS QUOTE_FONT _FONT
@@ -14915,6 +14978,7 @@ Arguments, Function and Notes.
.ALIAS HDRFTR_RIGHT_SIZE _SIZE
.ALIAS HDRFTR_SIZE _SIZE
.ALIAS HEAD_SIZE _SIZE
+.ALIAS LINENUMBER_SIZE _SIZE
.ALIAS PAGENUM_SIZE _SIZE
.ALIAS PARAHEAD_SIZE _SIZE
.ALIAS QUOTE_SIZE _SIZE
@@ -14962,6 +15026,7 @@ Arguments, Function and Notes.
.ALIAS HDRFTR_RULE_COLOR _COLOR
.ALIAS HEAD_COLOR _COLOR
.ALIAS LINEBREAK_COLOR _COLOR
+.ALIAS LINENUMBER_COLOR _COLOR
.ALIAS PAGENUM_COLOR _COLOR
.ALIAS PARAHEAD_COLOR _COLOR
.ALIAS QUOTE_COLOR _COLOR