summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwlemb <wlemb>2002-09-04 22:01:03 +0000
committerwlemb <wlemb>2002-09-04 22:01:03 +0000
commit9714dabe65c2eecaf7d5ee80b68b955229bbd4ba (patch)
treef60504aa147df79612e34f19475fec475a950020
parentda8668daf64d4c79155e59f9471cac13fe05a768 (diff)
downloadgroff-9714dabe65c2eecaf7d5ee80b68b955229bbd4ba.tar.gz
o Changed .IX to .IQ. The older form still works, but emits a message
advising the user to update to the newer. (The macro in om.tmac still remains IX; IQ is an alias.) Docs updated to reflect the change. *Tue Aug 20 2002 o Added new (better) way to handle inline kerning. \*[BU #] and \*[FU #] allow passing an argument to the inline string. The older forms \*[BU#] and \*[FU#] still work, though. o Changed handling of inline horizontal and vertical movements. Horizontal movements are now done with \*[BCK #<unit>] and \*[FWD #<unit>]; verticals with \*[UP #<unit>] and \*[DOWN #<unit>]. The older forms \*[FP#] and \*[BP#] still work (horizontals), as do \*[ALD#] and \*[RLD#] (verticals). *Mon Aug 19 2002 o Fixed ENDNOTES so footnotes output properly when ENDNOTES is called o Added ENDNOTES_HDRFTR_CENTER so that default no-print of header center string on endnotes page(s) when DOCTYPE is CHAPTER can be disabled (i.e. header center will be printed).
-rw-r--r--contrib/mom/ChangeLog19
-rw-r--r--contrib/mom/NEWS32
-rw-r--r--contrib/mom/examples/elvis_syntax8
-rw-r--r--contrib/mom/examples/macros.mom167
-rw-r--r--contrib/mom/groff_mom.man40
-rw-r--r--contrib/mom/momdoc/appendices.html2
-rw-r--r--contrib/mom/momdoc/definitions.html31
-rw-r--r--contrib/mom/momdoc/docprocessing.html19
-rw-r--r--contrib/mom/momdoc/inlines.html144
-rw-r--r--contrib/mom/momdoc/intro.html45
-rw-r--r--contrib/mom/momdoc/reserved.html22
-rw-r--r--contrib/mom/momdoc/typesetting.html70
-rw-r--r--contrib/mom/momdoc/using.html2
-rw-r--r--contrib/mom/om.tmac206
14 files changed, 489 insertions, 318 deletions
diff --git a/contrib/mom/ChangeLog b/contrib/mom/ChangeLog
index 3e2e75d1..d1e0fd14 100644
--- a/contrib/mom/ChangeLog
+++ b/contrib/mom/ChangeLog
@@ -1,3 +1,22 @@
+*Sun Aug 25 2002
+
+o Changed .IX to .IQ. The older form still works, but emits a message
+ advising the user to update to the newer. (The macro in om.tmac
+ still remains IX; IQ is an alias.) Docs updated to reflect the
+ change.
+
+*Tue Aug 20 2002
+
+o Added new (better) way to handle inline kerning. \*[BU #] and
+ \*[FU #] allow passing an argument to the inline string. The older
+ forms \*[BU#] and \*[FU#] still work, though.
+
+o Changed handling of inline horizontal and vertical movements.
+ Horizontal movements are now done with \*[BCK #<unit>] and
+ \*[FWD #<unit>]; verticals with \*[UP #<unit>] and \*[DOWN #<unit>].
+ The older forms \*[FP#] and \*[BP#] still work (horizontals), as do
+ \*[ALD#] and \*[RLD#] (verticals).
+
*Mon Aug 19 2002
o Fixed ENDNOTES so footnotes output properly when ENDNOTES is called
diff --git a/contrib/mom/NEWS b/contrib/mom/NEWS
index d8d17036..0572603e 100644
--- a/contrib/mom/NEWS
+++ b/contrib/mom/NEWS
@@ -1,10 +1,40 @@
+Release 1.1.4
+-------------
+
+***SIGNIFICANT CHANGE***
+.IX is now deprecated, although it will continue to work as before.
+The new form is .IQ (Indent Quit). Groff will emit a message advising
+users to update their docs.
+
+***NEW***
+Four new inlines to deal with horizontal and vertical movements:
+
+ o \*[FWD n]
+ o \*[BCK n]
+ o \*[UP n]
+ o \*[DOWN n]
+
+All four require a unit of measure after n. These inlines are similar
+to the older \*[FPn], \*[BPn], \*[ALDn] and \*[RLDn], however they're
+not restricted to points, and any value can be entered for n (the older
+forms -- which still work -- were restricted to 1 - 36).
+
+***CHANGED***
+Inline kerning can now be accomplished with \*[BU n] and \*[FU n], where
+n, after the space, is the desired number of kern units. The older
+forms \*[BUn] and \*[FUn] still work, up to 36 units.
+
+------------------------------------------------------------------------
+
Release 1.1.3c
--------------
***NEW***
A new macro -- ENDNOTES_HDRFTR_CENTER -- added so that mom's default
behaviour of not printing the header center string when DOCTYPE is
-CHAPTER can be disabled (i.e. she will print the center string).
+CHAPTER can be disabled (i.e. she will print the center string). The
+macro is user-called with ENDNOTES_HEADER_CENTER or
+ENDNOTES_FOOTER_CENTER.
***FIXES***
PAD now works as advertised when fill mode is on.
diff --git a/contrib/mom/examples/elvis_syntax b/contrib/mom/examples/elvis_syntax
index 79d4b8f3..14f70494 100644
--- a/contrib/mom/examples/elvis_syntax
+++ b/contrib/mom/examples/elvis_syntax
@@ -6,7 +6,7 @@ inword _(
keyword .ALD .ALIAS .ALWAYS_FULLSPACE_QUOTES .ATTRIBUTE_STRING
keyword .AUTHOR .AUTHOR_FAMILY .AUTHOR_FONT .AUTHOR_SIZE .AUTOLEAD
keyword .BLOCKQUOTE .BLOCKQUOTE_FAMILY .BLOCKQUOTE_FONT .BLOCKQUOTE_QUAD .BLOCKQUOTE_SIZE
-keyword .B_MARGIN .BR .BREAK_QUOTE
+keyword .B_MARGIN .BR .BR_AT_LINE_KERN .BREAK_QUOTE
keyword .CAPS .CENTER .CENTRE .CHAPTER
keyword .CHAPTER_STRING .CITATION .CITE .CLOSING
keyword .COLLATE .COL_BREAK .COL_BREAK .COL_NEXT .COLUMNS
@@ -30,7 +30,7 @@ keyword .ENDNOTE_TITLE .ENDNOTE_TITLE_FAMILY .ENDNOTE_TITLE_FONT .ENDNOTE_TITLE_
keyword .ENDNOTE_TITLE_QUAD .ENDNOTE_TITLE_UNDERSCORE
keyword .ENDNOTE_NUMBER_FAMILY .ENDNOTE_NUMBER_FONT .ENDNOTE_NUMBER_SIZE
keyword .ENDNOTE_NUMBERS_ALIGN_RIGHT .ENDNOTE_NUMBERS_ALIGN_LEFT
-keyword .ENDNOTE_PARA_INDENT .ENDNOTE_PARA_SPACE
+keyword .ENDNOTE_PARA_INDENT .ENDNOTE_PARA_SPACE .ENDNOTES_FOOTER_CENTER .ENDNOTES_HEADER_CENTER
keyword .EPIGRAPH .EPIGRAPH_AUTOLEAD .EPIGRAPH_FAMILY .EPIGRAPH_FONT
keyword .EPIGRAPH_INDENT .EPIGRAPH_QUAD .EPIGRAPH_SIZE
keyword .EW .EXTEND
@@ -72,8 +72,8 @@ keyword .HEADER_RIGHT_FONT .HEADER_RIGHT_FT .HEADER_RIGHT_PS .HEADER_RIGHT_SIZE
keyword .HEADER_RULE .HEADER_RULE_GAP .HEADERS .HEADER_SIZE
keyword .HEAD_FAMILY .HEAD_FONT .HEAD_QUAD .HEAD_SIZE .HEAD_SPACE .HEAD_UNDERLINE
keyword .HI .HY .HYPHENATE .HYPHENATION .HY_SET
-keyword .IB .IBX .IH .IL .ILX
-keyword .IR .IRX .IT .IX
+keyword .IB .IBX .IBQ .IH .IL .ILX .ILQ
+keyword .IQ .IR .IRX .IRQ .IT .IX
keyword .INDENT_FIRST_PARAS .ITALIC_MEANS_ITALIC
keyword .JUSTIFY
keyword .KERN
diff --git a/contrib/mom/examples/macros.mom b/contrib/mom/examples/macros.mom
index 16e2c98a..a3976f3f 100644
--- a/contrib/mom/examples/macros.mom
+++ b/contrib/mom/examples/macros.mom
@@ -16,28 +16,28 @@
\#
.FAM T \" Times Roman family
.FT B \" Bold font
-.PT_SIZE 12 \" Point size
+.PT_SIZE 12 \" Point size
.LS 14 \" Leading (line spacing)
.LEFT \" Set lines flush left, nofill mode
\#
\#
.ALD |1i-1v \" Advance 1 inch from top of paper to first baseline
-Example 1\*[BU2]:
+Example 1\*[BU 2]:
.ALD .25v \" Advance an extra 1/4 linespace
-.UNDERSCORE 3.75p "T\*[BU4]asting notes using padding, string tabs \
+.UNDERSCORE 3.75p "T\*[BU 4]asting notes using padding, string tabs \
and multi-columns"
.SP \" Add an extra line space
\#
\#
.FAM H \" Helvetica family
-.PT_SIZE 10
+.PT_SIZE 10
.LS 11 \" New leading
\#
-\# The following uses a combination of padding, string tabs, and the FP escape
+\# The following uses a combination of padding, string tabs, and the FWD escape
\# to set up five tabs with 12-point (1-pica) gutters over the full line length.
\#
.SILENT \" Don't print the next line
-.PAD "\*[ST1]VIN#\*[ST1X]\*[FP12]\*[ST2]ROBE#\*[ST2X]\*[FP12]\*[ST3]NEZ#\*[ST3X]\*[FP12]\*[ST4]BOUCHE#\*[ST4X]\*[FP12]\*[ST5]COMMENTAIRES\*[ST5X]"
+.PAD "\*[ST1]VIN#\*[ST1X]\*[FWD 12p]\*[ST2]ROBE#\*[ST2X]\*[FWD 12p]\*[ST3]NEZ#\*[ST3X]\*[FWD 12p]\*[ST4]BOUCHE#\*[ST4X]\*[FWD 12p]\*[ST5]COMMENTAIRES\*[ST5X]"
.SILENT OFF \" Resume normal printing of text
\#
\# Now that the string tabs have been marked off, we "set" them.
@@ -63,7 +63,7 @@ and multi-columns"
\#
\#
.ALD 6p \" Advance an extra 6 points
-.FT R \" Change font to roman (medium)
+.FT R \" Change font to roman (medium)
.MCO \" Turn multi-column mode on
\#
\#
@@ -104,9 +104,9 @@ Rubis foncé, vio\%lacée, presque opaque.
.TB 3
Belles arômes de fruits foncés (prunes, cerises noires, cassis).
Odeurs tertiares de cuir, cèdre, violets, eucalyptus, avec une trace
-exotique de Band-Aid*\*[BU12].
+exotique de Band-Aid*\*[BU 12].
\#
-\# The \*[BU12], above, pulls the period back so that it falls
+\# The \*[BU 12], above, pulls the period back so that it falls
\# underneath the asterisk. \*[BP<#>] could have been used instead
\# if you prefer to use points rather than kern units.
\#
@@ -145,7 +145,7 @@ Superbe\|! Une aubaine à ne pas manquer. Prêt à boire maintenant.
\# a unit of measure to it.
\#
.HI \w'*'+2p
-*\*[FP1]The term "Band-Aid" means the slightly sweet, vaguely chemical
+*\*[FWD 1p]The term "Band-Aid" means the slightly sweet, vaguely chemical
smell associated with medical-grade plastics. It is often found in
wines from terroirs in South America. Provided a wine has a sufficient
concentration of fruit
@@ -163,14 +163,14 @@ Otherwise, it smells like cheap lipstick.
\#
\#
\#
-.IX CLEAR \" Cancel and clear stored indent values
+.IQ CLEAR \" Cancel and clear stored indent values
.L_MARGIN 1i \" Reset left margin to its original value.
\#
\#
.ALD 2P \" Add 2-picas extra space before next example
.FAM T
.FT B
-.PT_SIZE 12
+.PT_SIZE 12
.LS 14
Example 2:
.ALD .25v
@@ -182,7 +182,7 @@ itself around the word "Massaging". We circumvent this by using the
groff inline escapes \(lq and \(rq (leftquote and rightquote).
.COMMENT OFF \" Remember to turn COMMENT off!
\#
-.UNDERSCORE 3.75p "\(lqMassaging\(rq \*[BP1]a passage of rag right text"
+.UNDERSCORE 3.75p "\(lqMassaging\(rq \*[BCK 1p]a passage of rag right text"
.SP \" Add an extra linespace
\#
\#
@@ -192,8 +192,8 @@ groff inline escapes \(lq and \(rq (leftquote and rightquote).
Passage using groff defaults
.ALD .5v \" Add an extra 1/2 line space
.PT_SIZE +1 \" Restore point size
-.QUAD LEFT \" Set quad left, fill mode
-.IB 3P \" Indent 3 picas from both the left and right margins
+.QUAD LEFT \" Set quad left, fill mode
+.IB 3P \" Indent 3 picas from both the left and right margins
.FT R
The thousand injuries of Fortunato I had borne as I best could;
but when he ventured upon insult, I vowed revenge. You, who so well
@@ -213,11 +213,11 @@ felt as such to him who has done the wrong.
.RIGHT
\*S[-.5]\(emEdgar Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]\*S[+.5]
.SP \" Extra linespace
-.IBX \" Disable "indent both"
+.IBQ \" Disable "indent both"
\#
\# The passage above, while acceptable in a longer document, exhibits a
\# few typographic flaws. The shape of the right margin rag exhibits
-\# a decided "rounded" appearance. The word "I" stands alone at the
+\# a decidedly "rounded" appearance. The word "I" stands alone at the
\# end of the third line. The space between the 1st and 2nd sentences
\# ("...revenge. You...") is too large, owing to the letter "Y" that
\# begins the 2nd sentence. The spacing between "A wrong..." (line 6)
@@ -232,7 +232,7 @@ felt as such to him who has done the wrong.
.FT B
.PT_SIZE -1
.LEFT
-The same passage, \*[BU4]"massaged"
+The same passage, \*[BU 4]"massaged"
.ALD .5v
.FT R
.PT_SIZE +1
@@ -244,33 +244,33 @@ The same passage, \*[BU4]"massaged"
\#
\#
The thousand injuries of Fortunato I had borne as I best could; but
-when he ventured upon insult, I \*[BU2]vowed revenge. \*[BU4]Y\*[BU6]ou,
-\*[BU4]who so \*[BU2]well know the nature
+when he ventured upon insult, I \*[BU 2]vowed revenge. \*[BU 4]Y\*[BU 6]ou,
+\*[BU 4]who so \*[BU 2]well know the nature
.EW .2
-of my soul, \*[BU2]will not suppose, however, that I gave utterance to
+of my soul, \*[BU 2]will not suppose, however, that I gave utterance to
a threat. \*[IT]At
.EW .2
length\*[PREV] I would be avenged; this was a point definitively
settled\(embut the
.EW .2
-v\*[BU1]ery definitiveness with which it was resolved, precluded the idea
+v\*[BU 1]ery definitiveness with which it was resolved, precluded the idea
of risk.
.EW 0
-I must not only punish, but punish with impunity. A \*[BP1]wrong is
+I must not only punish, but punish with impunity. A \*[BCK 1p]wrong is
unredressed
.EW .1
when retribution overtakes its redresser. It is equally unredressed
when the
.RW .1
-avenger fails to make himself felt as such to him \*[BU2]who has done
+avenger fails to make himself felt as such to him \*[BU 2]who has done
the wrong.
-.RW 0
-.WS +0 \" Restore normal wordspacing
+.RW 0
+.WS +0 \" Restore normal wordspacing
.ALD 6p
.PT_SIZE -.5
.RIGHT
-\*[RLD1.5]\(em\*[ALD1.5]\*[BP3]Edgar \*[BP1]Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]
-.IX CLEAR \" Cancel and clear stored values of all indents
+\*[UP 1.5p]\(em\*[DOWN 1.5p]\*[BCK 1p]Edgar \*[BCK 1p]Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]
+.IQ CLEAR \" Cancel and clear stored values of all indents
\#
\#
.NEWPAGE \" Start a new page
@@ -279,16 +279,16 @@ the wrong.
\#
.FAM T
.FT B
-.PT_SIZE 12
+.PT_SIZE 12
.LS 14
.LEFT
Example 3:
.ALD .25v
-.UNDERSCORE 3.75p "A \*[BU2]recipe for enumerated lists using indents"
+.UNDERSCORE 3.75p "A \*[BU 2]recipe for enumerated lists using indents"
.SP \" Add an extra line space
.FAM N \" New Century Schoolbook family
.FT R
-.PT_SIZE 11
+.PT_SIZE 11
.LS 13
.HY \" Turn hyphenation back on
.JUSTIFY \" Justify text
@@ -304,7 +304,7 @@ to use (string) tabs, as seen in Example 4.
.ALD 6p
\#
\#
-1.\0This is the first item in the list. N\*[BU2]otice how the first line
+1.\0This is the first item in the list. N\*[BU 2]otice how the first line
"hangs" back from the remaining text, which is otherwise
indented by the width of by two figure-spaces (digit-width
spaces) and a period.
@@ -312,7 +312,7 @@ spaces) and a period.
.HI \" Notice that HI doesn't require an argument once the value's been set
.ALD 6p
2.\0This is the second item in the list. As with the above item,
-notice the use of the \*[BU8]\\0 escape sequence in the input text. It's
+notice the use of the \*[BU 8]\\0 escape sequence in the input text. It's
there to ensure that the space after the number/period combination
always remains the same (i.e. doesn't stretch when the line is
justified). That way, the text of each item always lines up perfectly.
@@ -323,12 +323,12 @@ Now we're going to set a bullet-point list, indented from the text
above by 1 pica. IL arguments are always added to whatever value
is in already effect for IL, hence all we have to do is tell mom to
indent (from the current left indent) 1 pica plus the width of the
-bullet character ( \(bu ). \*[FP3] puts three points of space after
+bullet character ( \(bu ). \*[FWD 3p] puts three points of space after
the bullet so that the bullet and the text are visually separated.
.COMMENT OFF
\#
\#
-.IL 1P+\w'\(bu\*[FP3]'
+.IL 1P+\w'\(bu\*[FWD 3p]'
\#
\# Hanging indents are always relative to the current left indent.
\# The additional 1-pica indent, above, already having been taken
@@ -337,35 +337,35 @@ the bullet so that the bullet and the text are visually separated.
\# points of space.
\#
.ALD 6p
-.HI \w'\(bu\*[FP3]'
-\*[ALD1]\(bu\*[RLD1]\*[FP3]This is the first line of a sublist with bullets.
-N\*[BU2]otice how the first line (the one with the bullet) is indented
+.HI \w'\(bu\*[FWD 3p]'
+\*[DOWN 1p]\(bu\*[UP 1p]\*[FWD 3p]This is the first line of a sublist with bullets.
+N\*[BU 2]otice how the first line (the one with the bullet) is indented
exactly one pica from the text of the list item above it, while the
remaining lines align with the left indent we set above.
.ALD 6p
.HI
-\*[ALD1]\(bu\*[RLD1]\*[FP3]This is the second item of the sublist with bullets. \*[BU4]We
+\*[DOWN 1p]\(bu\*[UP 1p]\*[FWD 3p]This is the second item of the sublist with bullets. \*[BU 4]We
could go on indefinitely, but let's go back to the top level (numbered)
list...
\#
\# The easiest way to return to a previous indent value is by subtraction.
-\# The argument to IL, above, was 1P+\w'\(bu\*[FP3]', so we just reverse
+\# The argument to IL, above, was 1P+\w'\(bu\*[FWD 3p]', so we just reverse
\# it by putting a minus sign in front. The parentheses are required
\# for groff to evaluate the expression properly.
\#
-.IL -(1P+\w'\(bu\*[FP3]')
+.IL -(1P+\w'\(bu\*[FWD 3p]')
.HI \w'\0.\0' \" Reset hanging indent for use with numbered items.
.ALD 6p
3.\0...and here we are.
.HI \" Again, notice that once HI has been set, you don't have to keep passing it an argument.
.ALD 6p
4.\0In order not to make the example too long, we'll stop here.
-.IX CLEAR \" Don't forget to cancel and/or clear indents!
+.IQ CLEAR \" Don't forget to cancel and/or clear indents!
\#
\#
.FAM T
.FT B
-.PT_SIZE 12
+.PT_SIZE 12
.LS 14
.LEFT
.SP
@@ -373,15 +373,15 @@ list...
\#
Example 4:
.ALD .25v
-.UNDERSCORE 3.75p "A \*[BU2]recipe for nested lists using string tabs"
+.UNDERSCORE 3.75p "A \*[BU 2]recipe for nested lists using string tabs"
.SP
.FAM N
.FT R
-.PT_SIZE 11
+.PT_SIZE 11
.LS 13
.JUSTIFY
Although setting up string tabs is a bit more complex than setting
-up indents, it's \*[BU3]well worth the effort, especially for nested lists.
+up indents, it's \*[BU 3]well worth the effort, especially for nested lists.
.ALD 6p
\#
.COMMENT
@@ -400,15 +400,15 @@ second (ST2) is simply "the remainder of the line."
.TB 1
1.
.TN \" Use .TN here so text stays on the same baseline as the number in tab 1
-This is the first item in the list. N\*[BU2]otice how, just as in Example 3,
+This is the first item in the list. N\*[BU 2]otice how, just as in Example 3,
the first line hangs back from the remaining text, which is otherwise
indented.
.ALD 6p
-.TB 1
+.TB 1
2.
.TN
-This is the second item in the list. N\*[BU2]otice that when setting "lists"
-with tabs, there's no need to use the \*[BU8]\\0 escape sequence after
+This is the second item in the list. N\*[BU 2]otice that when setting "lists"
+with tabs, there's no need to use the \*[BU 8]\\0 escape sequence after
the number/period combination in the input text.
.ALD 6p
\#
@@ -421,19 +421,19 @@ length of remainder of the line.
.COMMENT OFF
\#
.SILENT
-.PAD "\*[FP12]\*[ST3]\(bu\*[ST3X]\*[FP3]\*[ST4]#\*[ST4X]"
+.PAD "\*[FWD 12p]\*[ST3]\(bu\*[ST3X]\*[FWD 3p]\*[ST4]#\*[ST4X]"
.ST 3 L
.ST 4 J
.SILENT OFF
.ALD 6p
-.TB 3
-\*[ALD1]\(bu\*[RLD1]
+.TB 3
+\*[DOWN 1p]\(bu\*[UP 1p]
.TN
-This is the first line of a sublist with bullets. N\*[BU2]otice how the
+This is the first line of a sublist with bullets. N\*[BU 2]otice how the
bullets and the text line up exactly the same as in Example 3.
.ALD 6p
-.TB 3
-\*[ALD1]\(bu\*[RLD1]
+.TB 3
+\*[DOWN 1p]\(bu\*[UP 1p]
.TN
This is the second item of the sublist with bullets. For the fun of
it, lets add in an
@@ -443,31 +443,31 @@ en-dashed sub-sublist.
\#
\#
.SILENT
-.PAD "\*[FP12]\*[ST5]\(en\*[ST5X]\*[FP4]\*[ST6]#\*[ST6X]"
+.PAD "\*[FWD 12p]\*[ST5]\(en\*[ST5X]\*[FWD 4p]\*[ST6]#\*[ST6X]"
.ST 5 L
.ST 6 J
.SILENT OFF
.ALD 6p
-.TB 5
-\*[RLD.75]\(en\*[ALD.75]
+.TB 5
+\*[UP .75p]\(en\*[DOWN .75p]
.TN
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
.ALD 6p
-.TB 5
-\*[RLD.75]\(en\*[ALD.75]
+.TB 5
+\*[UP .75p]\(en\*[DOWN .75p]
.TN
-At \*[BU3]vero eos et accusam et justo duo dolores et ea rebum. Stet clita
+At \*[BU 3]vero eos et accusam et justo duo dolores et ea rebum. Stet clita
kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
.ALD 6p
-.TB 1
+.TB 1
3.
.TN
And here we are, back at the top-level numbered list with a minimum
of muss and fuss,
.ALD 6p
-.TB 1
+.TB 1
4.
.TN
Generally speaking, once you get the hang of string tabs and the
@@ -478,7 +478,7 @@ Generally speaking, once you get the hang of string tabs and the
.NEWPAGE
.FAM T
.FT B
-.PT_SIZE 12
+.PT_SIZE 12
.LS 14
.LEFT
Example 5:
@@ -486,7 +486,7 @@ Example 5:
.UNDERSCORE 3.75p "Word spacing"
.ALD 8p
.FAM P \" Palatino family
-.PT_SIZE 11
+.PT_SIZE 11
.LS 14
\#
\# The "label" lines for the following are set in Helvetica bold, one
@@ -496,31 +496,31 @@ Example 5:
\#
\f[HB]\*S[-1]Normal word spacing\*S[+1]\*[PREV]
.FT R
-N\*[BU1]o\*[BU1]w \*[BU1]is the time for all good men to come to the aid of the party.
+N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
.ALD 4p
-\f[HB]\*S[-1]Word spacing adjusted by \*[RLD1]\*[BU3]+\*[ALD1]\*[BU1]2\*S[+1]\*[PREV]
+\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]\*[BU 1]2\*S[+1]\*[PREV]
.FT R
.WS +2
-N\*[BU1]o\*[BU1]w \*[BU1]is the time for all good men to come to the aid of the party.
-.WS +0
+N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
+.WS +0
.ALD 4p
-\f[HB]\*S[-1]Word spacing adjusted by \*[RLD1]\*[BU3]+\*[ALD1]4\*S[+1]\*[PREV]
+\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]4\*S[+1]\*[PREV]
.FT R
.WS +4
-N\*[BU1]o\*[BU1]w \*[BU1]is the time for all good men to come to the aid of the party.
-.WS +0
+N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
+.WS +0
.ALD 4p
-\f[HB]\*S[-1]Word spacing adjusted by \*[RLD1]\*[BU3]+\*[ALD1]6\*S[+1]\*[PREV]
+\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]6\*S[+1]\*[PREV]
.FT R
.WS +6
-N\*[BU1]o\*[BU1]w \*[BU1]is the time for all good men to come to the aid of the party.
+N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
.WS +0
.SP 1.5v
\#
\#
.FAM T
.FT B
-.PT_SIZE 12
+.PT_SIZE 12
.LS 14
.LEFT
Example 6:
@@ -529,7 +529,7 @@ Example 6:
.ALD 8p
.FAM P \" Palatino family
.FT R
-.PT_SIZE 11
+.PT_SIZE 11
.LS 15
\#
\# Here, we set up some tabs so the examples can go into facing columns.
@@ -580,12 +580,12 @@ Example 6:
\#
.FAM T
.FT B
-.PT_SIZE 12
+.PT_SIZE 12
.LS 14
.LEFT
Example 7:
.ALD .25v
-.UNDERSCORE 3.75p "Cutaround using left\*[FU2]/right indents, multi columns \
+.UNDERSCORE 3.75p "Cutaround using left\*[FU 2]/right indents, multi columns \
and a dropcap"
.SP
\#
@@ -601,14 +601,13 @@ and a dropcap"
.MCO
.ALD 5P+9p
\#
-\# The little picture won't show up when you preview this file unless you
-\# change the path to the pic to its actual location on your system.
+\# The little picture of tux.
\#
.PSPIC penguin.ps
.MCR
.TAB 1
.DROPCAP_FONT B
-.DROPCAP L 3 COND 80
+.DROPCAP L 3 COND 80 \" i.e. the letter L dropped 3 lines, condensed to 80% of its normal width
.EW .2
orem ipsum dolor sit amet, consetetur sa\%dip\%scing elitr, sed diam
nonumy eir\%mod tempor invidunt ut labore et dolore magna aliquyam erat,
@@ -631,7 +630,7 @@ vero eos et accusam et justo duo dolores et ea rebum.
.TI
Stet clita kasd gubergren, no sea ta-
.SPREAD \" Force justify preceding line before quitting indent
-.IRX
+.IRQ
kimata sanctus est lorem ipsum dolor sit amet. Lorem ipsum dolor
sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
in\%vi\%dunt ut labore et dolore magna aliquyam erat. Sed diam voluptua,
@@ -661,7 +660,7 @@ dunt ut labore et dolore magna. Ali-
.EW 0
quyam erat sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum stet.
-.ILX
+.ILQ
.TI
Dolores et ea rebum stet clita kasd gubergren, no sea takimata
sanctus. Sadipscing elitr sed diam, nonumy eirmod tempor, invidunt
diff --git a/contrib/mom/groff_mom.man b/contrib/mom/groff_mom.man
index bccfb862..dea6a91d 100644
--- a/contrib/mom/groff_mom.man
+++ b/contrib/mom/groff_mom.man
@@ -49,40 +49,44 @@ groff_mom \- groff `mom' macros
.
.B mom
(\[lq]my own macros\[rq], \[lq]my other macros\[rq], \[lq]maximum
-overdriver macros\[rq], .\|.\|.\&) is a macro set for groff, designed to
-format documents for PostScript output.
-.
+overdrive macros\[rq], .\|.\|.\&) is a macro set for groff, designed
+primarily to format documents for PostScript output.
+.PP
+.B mom
+provides two categories of macros: macros for typesetting and macros
+for document processing.
+The typesetting macros provide access to groff's typesetting power in
+ways that are simpler to master and to use than groff's primitives.
+The document processing macros provide customizable markup
+\[lq]tags\[rq] that allow the user to design and output
+professional-looking documents with a minimum of typesetting
+intervention.
+.PP
+mom comes with her own (very) complete documentation in HTML format.
.
.SH FILES
.TP
-.B mom.tmac
-.TQ
.B om.tmac
-All macros are in the file
-.BR om.tmac ;
+\[en] the main macro file
+.TQ
.B mom.tmac
-is a wrapper file which calls
-.B om.tmac
-directly.
+\[en] a wrapper file that calls om.tmac directly.
.
.TP
.URL @HTMLDOCDIR@/momdoc/toc.html @HTMLDOCDIR@/momdoc/toc.html
-This is the entry point to the HTML documentation of
-.BR mom .
+\[en] entry point to the HTML documentation
.
.TP
.B @EXAMPLEDIR@/*.mom
-Example files using
-.BR mom .
+\[en] example files using mom
.
.
.SH AUTHOR
.
.B mom
-has been written by
-.MTO df191@ncf.ca "Peter Schaffter" ;
-please send bug reports
-to the
+was written by
+.MTO df191@ncf.ca "Peter Schaffter" .
+Please send bug reports to the
.MTO bug-groff@gnu.org "groff bug mailing list"
or directly to the author.
.
diff --git a/contrib/mom/momdoc/appendices.html b/contrib/mom/momdoc/appendices.html
index 932995b2..64d3b8f5 100644
--- a/contrib/mom/momdoc/appendices.html
+++ b/contrib/mom/momdoc/appendices.html
@@ -127,7 +127,7 @@ easy to find -- is written as if all readers are computer whizzes,
or at least have a university degree in one of the higher sciences.
<p>
By no means a stupid man, nor unfamiliar with the precepts of
-programming, I've more than once torn my hair out over the terseness
+programming, I've more than once torn my hair out over the terseness and
ambiguity of groff's documentation. Making sense of certain primitives
has often involved days of testing, interpreting the documentation
instead of just using the primitive.
diff --git a/contrib/mom/momdoc/definitions.html b/contrib/mom/momdoc/definitions.html
index fc8523f0..be393156 100644
--- a/contrib/mom/momdoc/definitions.html
+++ b/contrib/mom/momdoc/definitions.html
@@ -369,7 +369,7 @@ line after the comment character.
<dd>Instructions to groff that appear on a line by themselves,
which means that &quot;control lines&quot; are either
<strong>*macros</strong> or <strong>*groff primitives</strong>.
-Control lines always begin with a period.
+Control lines begin with a period or, occasionally, an apostrophe.
<dt><a name="TERMS_FILLED"><em>Filled lines/fill mode</em></a>
<dd>Automatic <strong>*justification</strong> or
@@ -394,22 +394,23 @@ which must appear on a line by themselves). Inline escapes are always
introduced by the backslash character. For example,
<p>
<pre>
- A line of text with the word T\*[BU2]oronto in it
+ A line of text with the word T\*[BU 2]oronto in it
</pre>
-contains the inline escape \*[BU2] (which means &quot;move the letter o 2
-<strong>*kern units</strong> closer to the letter T&quot;).
+contains the inline escape \*[BU 2] (which means &quot;move the letter
+'o' 2 <strong>*kern units</strong> closer to the letter 'T'&quot;).
<p>
-<strong>mom</strong>'s inline escapes always take the form
-<strong>\*[</strong><i>ESCAPE</i><strong>]</strong>, where
-<i>ESCAPE</i> is composed of capital letters, sometimes with digits.
-<strong>groff</strong> escapes begin with the backslash
-character but typically have no star and are in lower case. For
-example, the <strong>mom</strong> escape to move forward 6
-points on a line is
+<strong>Mom</strong>'s inline escapes always take the form
+<strong>\*[</strong><i>ESCAPE</i><strong>]</strong>, where <i>ESCAPE</i>
+is composed of capital letters, sometimes followed immediately
+by a digit, sometimes followed by a space and a <strong>*numeric
+argument</strong>. <strong>Groff</strong>'s escapes begin with the
+backslash character but typically have no star and are in lower case.
+For example, the <strong>mom</strong> escapes to move forward 6 points
+on a line are either
<p>
<pre>
- \*[FP6]
+ \*[FP6]&nbsp;&nbsp;or&nbsp;&nbsp;\*[FWD 6p]
</pre>
while the <strong>groff</strong> escape for the same thing is
@@ -606,9 +607,9 @@ footers.
<dt><a name="TERMS_LINEBREAK"><em>Linebreak/author linebreak</em></a>
<dd>A horizontal gap in <strong>*running text</strong>, frequently
-set off by typographic symbols such as asterisks or a daggers.
-Used to indicate a shift in the content of a document (e.g. a scene
-change in a short story).
+set off by typographic symbols such as asterisks or daggers. Used to
+indicate a shift in the content of a document (e.g. a scene change in a
+short story).
<dt><a name="TERMS_PARAHEAD"><em>Paragraph head</em></a>
<dd>A title joined to the body of a paragraph; hierarchically one
diff --git a/contrib/mom/momdoc/docprocessing.html b/contrib/mom/momdoc/docprocessing.html
index 059d9665..4c8b1f05 100644
--- a/contrib/mom/momdoc/docprocessing.html
+++ b/contrib/mom/momdoc/docprocessing.html
@@ -24,7 +24,7 @@
<a href="#LEADING_NOTE">* IMPORTANT NOTE on leading/spacing and bottom margins *</a>
<p>
<ul>
- <li><strong>DOCUMENT SETUP</strong>
+ <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a>
<br>
<a href="#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>
<br>
@@ -59,12 +59,15 @@
<li><a href="#COLUMNS_INTRO"><strong>Setting documents in columns</strong></a>
<ul>
<li><a href="#COLUMNS">COLUMNS</a>
- <li><a href="#COL_NEXT">COL_NEXT</a>
- <li><a href="#COL_BREAK">COL_BREAK</a>
+ <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a>
+ <ul>
+ <li><a href="#COL_NEXT">COL_NEXT</a>
+ <li><a href="#COL_BREAK">COL_BREAK</a>
+ </ul>
</ul>
- <li><a href="#START_MACRO"><strong>START</strong> -- the macro to initiate document processing</a>
+ <li><a href="#START_MACRO"><strong>Initiate document processing</strong></a>
<ul>
<li><a href="#START">START</a>
</ul>
@@ -81,11 +84,12 @@
<li><a href="#DOC_QUAD">DOC_QUAD</a>
</ul>
<br>
- <li><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong>
+ <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong></a>
<ul>
<li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the document element tags</a>
<ul>
<li><a href="docelement.html#DOCELEMENT_CONTROL">Document element (tag) control macros</a>
+ <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
</ul>
<li><a href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a>
<ul>
@@ -1052,7 +1056,7 @@ you want to.
<p>
<strong>IMPORTANT:</strong> If you define your own center part for page
headers with
-<a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</strong>,
+<a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</a>,
no draft and/or revision number will appear there. If you want draft
and revision information in this circumstance, use
<a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>.
@@ -1538,6 +1542,7 @@ when the
is <strong>TYPEWRITE</strong>. The notion of typewriter-style
output in columns is just too ghastly for her to bear.
+<a name="BREAKING_COLUMNS"></a>
<h3><u>Breaking columns manually</u></h3>
<p>
<strong>Mom</strong> takes care of breaking columns when they reach
@@ -1599,7 +1604,7 @@ you invoke <strong>START</strong>.
<p>
<a name="START"></a>
Macro: <strong>START</strong>
-H C P R A A T E U<br>
+<br>
<em>*Required for document processing.</em>
<p>
diff --git a/contrib/mom/momdoc/inlines.html b/contrib/mom/momdoc/inlines.html
index ffc3b4ca..99cfaf74 100644
--- a/contrib/mom/momdoc/inlines.html
+++ b/contrib/mom/momdoc/inlines.html
@@ -183,26 +183,45 @@ of handling inline size requests (<kbd>\sN, \s±N, \s(NN, \s±(NN,
Pairwise kerning means moving specific letter pairs closer
together or further apart (see
<a href="definitions.html#TERMS_KERN">Typesetting terms, kerning</a>
-for more details). <strong>Mom</strong> permits inline pairwise
+for more details).
+<p>
+<strong>Mom</strong> permits inline pairwise
kerning through the use of the inline escapes
<p>
<table valign="baseline" summary="inlinekerning">
-<tr><td width="15"><td><strong>\*[BU1]...\*[BU36]</strong><td>
-Move back 1...36
-<a href="definitions.html#TERMS_KERNUNITS">kern units</a>
-<tr><td><td><strong>\*[FU1]...\*[FU36]</strong><td>
-Move forward 1...36
-<a href="definitions.html#TERMS_KERNUNITS">kern units</a></td></tr>
+<tr><td width="15"><td><strong>\*[BU #]<td></strong>Closes the space between letters (<strong>B</strong>ack <strong>U</strong>nits).
+<tr><td><td><strong>\*[FU #]</strong><td>Opens the space between letters (<strong>F</strong>orward <strong>U</strong>nits).
</table>
+<br>
+"<strong>#</strong>" is the number of <a
+href="definitions.html#TERMS_KERNUNIT">kern units</a>
+by which to close or open the space between letters. Decimal fractions
+are allowed.
<p>
For example,
<p>
<pre>
- THE HUMAN COST OF COMMODIFYING FRESH W\*[BU4]ATER
+ THE HUMAN COST OF COMMODIF\*[FU 1]YING FRESH W\*[BU 4]A\*[BU 5]TER
</pre>
-moves the letter A in &quot;WATER&quot; four kern units closer
-to the letter W.
+moves the letter Y in &quot;COMMODIFYING&quot; 1 kern unit away from
+the letter F, and the letter A in &quot;WATER&quot; 4 kern units closer
+to the letter W. Additionally, the letter T in "WATER" is moved 5 kern
+units closer to the letter A.
+<p>
+For backward compatibility, the forms
+<p>
+<table valign="baseline" summary="inlinekerningold">
+<tr><td width="15"><td><strong>\*[BU1]...\*[BU36]</strong><td>
+Move back 1...36
+<a href="definitions.html#TERMS_KERNUNIT">kern units</a>
+<tr><td><td><strong>\*[FU1]...\*[FU36]</strong><td>
+Move forward 1...36
+<a href="definitions.html#TERMS_KERNUNIT">kern units</a>
+</table>
+<br>
+also exist (i.e. with no space before the number of kern units desired,
+up to a limit of 36).
<p>
<strong>NOTE:</strong> Using <strong>BU</strong> or <strong>FU</strong>
between characters pairs that are already automatically kerned
@@ -216,35 +235,49 @@ disables the automatic kerning and uses the value you give to
<a name="INLINE_HORIZONTAL_MOM"><h3><u>Horizontal inline movement</u></h3></a>
<p>
-If you need to move backward or forward on a line by a just few
-points, use
-<p>
-<table valign="baseline" summary="inlinehorizontal">
-<tr><td width="15"><td><strong>\*[BP1]...\*[BP12]</strong><td>
-Move back 1...12 points
-<tr><td><td><strong>\*[FP1]...\*[FP12]</strong><td>
-Move forward 1...12 points</td></tr>
+Sometimes, you may need to insert a specified amount amount of white
+space into an
+<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>,
+or -- occasionally -- back up to a
+previous position on an
+<a href="definitions.html#TERMS_INPUTLINE">output</a>
+line in order to create special typographic effects.
+<p>
+<strong>Mom</strong>'s inline escapes for these horizontal movements are
+<p>
+<table align="left" valign="baseline" summary="inlinehorizontal">
+<a name="FWD"></a>
+<tr><td width="15"><td width="20%"><strong>\*[FWD #&lt;unit&gt;]
+<td>Move forward inline the specified number of
+<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>;
+decimal fractions are allowed.
+<a name="BCK"></a>
+<tr><td><td><strong>\*[BCK #&lt;unit&gt;]
+<td>Move backward inline the specified number of
+<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>;
+decimal fractions are allowed.
</table>
<p>
For example,
<p>
<pre>
- 1.\*[FP12]The Free Trade Play-Offs: WalMart 100, Mexico 0
+ 1.\*[FWD 12p]The Free Trade Play-Offs: WalMart 100, Mexico 0
</pre>
-
puts 12 points of space between &quot;1.&quot; and
&quot;The&quot;.
<p>
-Both <strong>\*[FP]</strong> and <strong>\*[BP]</strong> accept
-quarter points as well. Hence it's possible to do, for example,
-<strong>\*[FP.5]</strong> or <strong>\*[BP1.25]</strong> or
-<strong>\*[ALD3.75]</strong>.
+<strong>NOTE:</strong> For backward compatibility, the forms
<p>
-<strong>NOTE:</strong> If you need to move forward or backward by
-more than 12.75 points, or wish to use a
-<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
-other than points, use the groff inline
-<a href="#INLINE_HORIZONTAL_GROFF">\h</a>.
+<table valign="baseline" summary="inlinehorizontalold">
+<tr><td width="15"><td><strong>\*[BP.25]...\*[BP12.75]</strong><td>Move back .25...12.75 points
+<tr><td><td><strong>\*[FP.25]...\*[FP12.75]</strong><td>Move forward .25...12.75 points</td></tr>
+</table>
+<br>
+also exist (i.e. with no space before the digit and points being
+the unit of measure, hence no unit of measure required). Both
+accept quarter points, so it's possible to do, for example,
+<strong>\*[FP.5]</strong> or <strong>\*[BP1.25]</strong> up to a limit
+of 12.75 points.
<br>
<!---INLINE_VERTICAL_MOM--->
@@ -253,35 +286,42 @@ other than points, use the groff inline
<a name="INLINE_VERTICAL_MOM"><h3><u>Vertical inline movement</u></h3></a>
<p>
-If you need to move up or down in a line by a just few
-points, use
+If you need to move portions of type up or down on a line,
+<strong>mom</strong> provides the following inline escapes:
<p>
<table valign="baseline" summary="inlinevertical">
-<tr><td width="15"><td><strong>\*[ALD1]...\*[ALD12]</strong><td>
-Advance lead 1...12 points (move downward)
-<tr><td><td><strong>\*[RLD1]...\*[RLD12]</strong><td>
-Reverse lead 1...12 points (move upward)</td></tr>
+<a name="UP"></a>
+<tr><td width="15"><td><strong>\*[UP #&lt;unit&gt;]</strong>
+<td>Move up inline the specified number of
+<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>
+<a name="DOWN"></a>
+<tr><td><td><strong>\*[DOWN #&lt;unit&gt;]</strong>
+<td>Move down inline the specified number of
+<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>
</table>
-<p>
+<br>
For example,
<p>
<pre>
- Tel: 905\*[RLD1]-\*[ALD1]4072
+ Tel: 905\*[UP 1p]-\*[DOWN 1p]4072
</pre>
moves the hyphen in the telephone number up by 1 point, then
moves back down by the same amount.
<p>
-Both <strong>\*[ALD]</strong> and <strong>\*[RLD]</strong> accept
-quarter points as well. Hence it's possible to do, for example,
-<strong>\*[RLD3.25]</strong> or <strong>\*[ALD1.5]</strong> or
-<strong>\*[ALD4.75]</strong>.
+<strong>NOTE:</strong> For backward compatibility, the following are
+also available:
<p>
-<strong>NOTE:</strong> If you need to move up or down by
-more than 12.75 points, or wish to use a
-<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
-other than points, use the groff inline
-<a href="#INLINE_VERTICAL_GROFF">\v</a>.
+<table valign="baseline" summary="inlinevertical">
+<tr><td width="15"><td><strong>\*[ALD.25]...\*[ALD12.75]</strong><td>
+Advance lead .25...12.75 points (move downward)
+<tr><td><td><strong>\*[RLD.25]...\*[RLD12.75]</strong><td>
+Reverse lead .5...12.75 points (move upward)</td></tr>
+</table>
+<p>
+<p>
+Both <strong>\*[ALD]</strong> and <strong>\*[RLD]</strong> work in
+points, hence you musn't use a unit of measure.
<br>
<!---INLINE_RULE_MOM--->
@@ -354,7 +394,7 @@ in a line that is otherwise in Times Roman.
<p>
Whenever you need to move forward or backward on a line, use the inline
-<strong>\h'distance'</strong>. In order to avoid unpleasant surprises,
+<strong>\h'&lt;distance&gt;'</strong>. In order to avoid unpleasant surprises,
always append a
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
to &quot;distance&quot;.
@@ -366,12 +406,16 @@ to &quot;distance&quot;.
moves you 1.25 inches to the right (forwards) of the horizontal
position on the current
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
+<strong>\h'&lt;distance&gt;'</strong> is exactly equivalent to
+<a href="#FWD"><strong>\*[FWD #&lt;unit&gt;]</strong></a>.
<p>
<pre>
\h'-1.25i'
</pre>
moves you 1.25 inches to the left (backwards).
+<strong>\h'-&lt;distance&gt;'</strong> is exactly equivalent to
+<a href="#BCK"><strong>\*[BCK #&lt;unit&gt;]</strong></a>.
<br>
<!---INLINE_VERTICAL_GROFF--->
@@ -382,7 +426,7 @@ moves you 1.25 inches to the left (backwards).
<p>
If you need to raise or lower type on a line (say, for sub- or
superscripts, or any other special effect), use
-<strong>\v'distance'</strong>. In order to avoid unpleasant
+<strong>\v'&lt;distance&gt;'</strong>. In order to avoid unpleasant
surprises, always append a
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
to &quot;distance&quot;.
@@ -395,12 +439,16 @@ moves you (approx.) 2/3 of an
<a href="definitions.html#TERMS_EM">em</a>
downward on the current
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
+<strong>\v'&lt;distance&gt;'</strong> is exactly equivalent to
+<a href="#DOWN"><strong>\*[DOWN #&lt;unit&gt;]</strong></a>.
<p>
<pre>
\v'-.6m'
</pre>
moves you (approx.) 2/3 of an em upward.
+<strong>\v'&lt;-distance&gt;'</strong> is exactly equivalent to <a
+href="#UP"><strong>\*[UP #&lt;unit&gt;]</strong></a>.
<p>
<strong>IMPORTANT:</strong> The vertical motion of <strong>\v</strong>
affects ONLY type on the current
diff --git a/contrib/mom/momdoc/intro.html b/contrib/mom/momdoc/intro.html
index ec62285f..e21fa3c0 100644
--- a/contrib/mom/momdoc/intro.html
+++ b/contrib/mom/momdoc/intro.html
@@ -59,16 +59,16 @@ on a document's content and logical structure without worrying about
typesetting or page layout at all.
<p>
Because <strong>mom</strong> provides both typesetting and document
-processing macros, it's safe to say she blurs the distinction
-between document processing and document design. While her basic
-document design comes with pretty spiffy defaults (okay -- change
-&quot;spiffy&quot; to &quot;typographically professional&quot;),
-you can easily redesign nearly every element of a document:
-title information, page headers and footers, page numbering, heads,
-subheads, footnotes... The list goes on. And should you need precise
+processing macros, it's safe to say she blurs the distinction between
+document processing and document design. While her basic document style
+comes with pretty spiffy defaults (okay -- change &quot;spiffy&quot;
+to &quot;typographically professional&quot;), you can easily control
+how all the various document elements look: titles, page headers and
+footers, page numbering, heads, subheads, footnotes and so on can be
+made to come out exactly the way you want. And should you need precise
typographic control over elements in a document that fall outside the
-range of <strong>mom</strong>'s document markup tags, you don't have
-to read up on groff
+range of <strong>mom</strong>'s document element tags, you don't have to
+read up on groff
<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>
in order to accomplish what you want; the typesetting macros take
care of that.
@@ -77,13 +77,16 @@ care of that.
<h2><u>Typesetting with mom</u></h2>
</a>
-<strong>Mom</strong>'s typesetting macros control the basic elements of
-type: margins, line length, type family, font, point size, linespacing,
-and so on. In addition, they allow you to move around on the page
-horizontally and vertically, and to set up tabs, indents, and columns.
-Finally, they let you adjust such typographic details as justification
-style, letter spacing, word spacing, hyphenation, and kerning.
-<p> In terms of typographic control, these macros resemble the
+<strong>Mom</strong>'s typesetting macros control the basic parameters
+of type: margins, line length, type family, font, point size,
+linespacing, and so on. In addition, they allow you to move around
+on the page horizontally and vertically, and to set up tabs, indents,
+and columns. Finally, they let you adjust such typographic details as
+justification style, letter spacing, word spacing, hyphenation, and
+kerning.
+
+<p>
+In terms of typographic control, these macros resemble the
commands used on dedicated typesetting computers like Compugraphics and
Linotronics. Most of them simply give access to groff's typesetting
primitives in a way that's consistent and easy to use. A few of
@@ -259,11 +262,11 @@ And when explanations aren't enough, I offer examples.
The canonical reference materials for groff are <strong>cstr54</strong>
(a downloadable PostScript copy of which is available
<a href="http://www.kohala.com/start/troff/">here</a>)
-and the troff manpages. I've tried to avoid reiterating them, however,
-in a few places, this has proved impossible. Be forewarned: I have
-no qualms about sidestepping excrutiating completeness about groff
-usage; I'm more concerned with getting <strong>mom</strong> users up
-and running. <em>Mea culpa.</em>
+and the <strong>troff</strong> and <strong>groff_diff</strong> manpages.
+I've tried to avoid reiterating them, however, in a few places, this has
+proved impossible. Be forewarned: I have no qualms about sidestepping
+excrutiating completeness about groff usage; I'm more concerned with
+getting <strong>mom</strong> users up and running. <em>Mea culpa.</em>
<p>
<strong>Note:</strong> <strong>Mom</strong>'s macro file
(om.tmac) is heavily commented. Each macro is preceded by a
diff --git a/contrib/mom/momdoc/reserved.html b/contrib/mom/momdoc/reserved.html
index af23e8a7..029556d7 100644
--- a/contrib/mom/momdoc/reserved.html
+++ b/contrib/mom/momdoc/reserved.html
@@ -94,9 +94,10 @@ IB Indent both
IBX Indent both off
IL Indent left
ILX Indent left off
+IQ Indents off
IR Indent right
IRX Indent right off
-IX Indent off
+IX Indents off -- deprecated
TI Indent temporary
Tabs
@@ -188,6 +189,7 @@ c column mark
#INDENT_STYLE_LEFT Indicates IL when #INDENT_ACTIVE=1 (toggle)
#INDENT_STYLE_RIGHT Indicates IR when #INDENT_ACTIVE=1 (toggle)
#INDENT_STYLE_TEMP Indicates IT when #INDENT_ACTIVE=1 (toggle)
+#IX_WARN Toggles to 1 the first time IX is user-invoked
#KERN Kern on? (toggle)
#LAST_TAB Last tab number set in multi-columns
#LEAD Leading (alias)
@@ -307,16 +309,25 @@ UNDERSCORE_2 UNDERSCORE2
+++INLINE ESCAPES+++
+BCK Inline backward horizontal movement
BOLDER Pseudo-bold on
BOLDERX Pseudo-bold off
+BP Back points (horizontal movement)
+BU Back units (inline pairwise kerning)
COND_FOR_SUP Pseudo-condense string for use with superscripts (called with CONDSUP)
COND_FOR_SUP Pseudo-extend string for use with superscripts (called with EXTSUP)
COND Pseudo-condense type
-CONDSUP Condensed superscript (using value set with CONDENSE)
-CONDSUPX Condensed superscript off
-EXTEXT Extended superscript
+CONDX Pseudo-condense off
+CONDSUP Pseudo-condensed superscript (using value set with CONDENSE)
+CONDSUPX Pseudo-condensed superscript off
+DOWN Inline downward vertical movement
EXT Pseudo-extend type
-EXTSUPX Extended superscript off
+EXTX Pseudo-extend off
+EXTSUP Pseudo-extended superscript
+EXTSUPX Pseudo-extended superscript off
+FP Forward points (horizontal movement)
+FU Forward units (inline pairwise kerning)
+FWD Inline forward horizontal movement
LEADER Deposit leader to end of current LL or TAB
RULE Draw a rule to the full measure of the current line or tab length
SLANT Slant (pseudo-italic on
@@ -325,6 +336,7 @@ ST&lt;#&gt; String tab end marker
ST&lt;#&gt; String tab start marker
SUP Superscript
SUPX Superscript off
+UP Inline upward vertical movement
+++SPECIAL CHARACTERS+++
diff --git a/contrib/mom/momdoc/typesetting.html b/contrib/mom/momdoc/typesetting.html
index 77e93c64..ad79b353 100644
--- a/contrib/mom/momdoc/typesetting.html
+++ b/contrib/mom/momdoc/typesetting.html
@@ -53,7 +53,13 @@
<ul>
<li><a href="#INTRO_TABS">Introduction to tabs</a>
<li><a href="#TYPESETTING_TABS">Typesetting tabs</a>
+ <ul>
+ <li><a href="#TYPESETTING_TABS_TUT">Quickie tutorial</a>
+ </ul>
<li><a href="#STRING_TABS">String tabs</a>
+ <ul>
+ <li><a href="#STRING_TABS_TUT">Quickie tutorial</a>
+ </ul>
<li><a href="#INDEX_TABS">List of macros</a>
</ul>
<li><strong>MULTI-COLUMNS</strong>
@@ -68,7 +74,7 @@
</ul>
<li><strong>GOODIES</strong>
<ul>
- <li><a href="goodies.html#INTRO_GOODIES">Introduction to goodies</a>
+ <li><a href="goodies.html#GOODIES">Introduction to goodies</a>
<li><a href="goodies.html#INDEX_GOODIES">List of macros</a>
</ul>
<li><strong>INLINE ESCAPES</strong>
@@ -127,8 +133,8 @@ and are content with her defaults.
<p>
The
<a href="#PAPER">PAPER</a>
-macro provides a shortcut for setting the page to the correct
-dimensions for letter, legal, and A4 printer sheets. The
+macro provides a shortcut for setting the page to the correct dimensions
+for a number of well-known, established paper sizes. The
<a href="#PAGE">PAGE</a>
macro provides a convenient way of setting the page dimensions and
some or all of the page margins with a single macro.
@@ -344,7 +350,7 @@ length from the overall page dimensions and the left margin.
Obviously, it can't make the calculation if it doesn't know the page
width and the left margin.
<p>
-<strong>NOTE:</strong> R_MARGIN behaves in a special way
+<strong>NOTE: R_MARGIN</strong> behaves in a special way
when you're using the
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>.
See
@@ -1505,8 +1511,8 @@ separate sections.
<p>
<strong>HY</strong> by itself (i.e. with no argument) simply turns
automatic hyphenation on. Any argument other than <strong>LINES,
-MARGIN, SPACE</strong> or <strong>DEFAULT</strong>, <strong>HY</strong>
-turns automatic hyphenation off. For example, as explained in
+MARGIN, SPACE</strong> or <strong>DEFAULT</strong>, turns automatic
+hyphenation off. For example, as explained in
<a href="intro.html#MACRO_ARGS">How to read macro arguments</a>,
you could turn <strong>HY</strong> off by entering
<p>
@@ -1771,7 +1777,7 @@ Macro: <strong>BR_AT_LINE_KERN</strong> <var>toggle</var>
<p>
By default, <strong>mom</strong> does not break
-<a href="definitions.html#TERMS_INPUTLINE>input lines</a>
+<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
when you invoke <strong>RW</strong> or <strong>EW</strong>.
If you'd like <strong>mom</strong> to break input lines prior
to <strong>RW</strong> or <strong>EW</strong>, invoke
@@ -1804,7 +1810,7 @@ off.
<p>
Kerning of individual character pairs can be controlled with the
<a href="definitions.html#TERMS_INLINES">inline escapes</a>
-<strong>\*[BU#]</strong> and <strong>\*[FU#]</strong>. See
+<strong>\*[BU #]</strong> and <strong>\*[FU #]</strong>. See
<a href="inlines.html#INLINE_KERNING_MOM">Inline Escapes, kerning</a>.
<br>
@@ -3245,7 +3251,7 @@ In addition, there are four macros to control exiting from
indents:
<br>
<ul>
- <li><strong>IX</strong>&nbsp;&nbsp;= exit all active indents
+ <li><strong>IQ</strong>&nbsp;&nbsp;= quit all active indents
<li><strong>ILX</strong>&nbsp;= exit indent style left
<li><strong>IRX</strong>&nbsp;= exit indent style right
<li><strong>IBX</strong>&nbsp;= exit indent style both
@@ -3272,7 +3278,7 @@ indent).
When you want to exit the above indent, use either
<p>
<pre>
- .IX
+ .IQ
or
.ILX
</pre>
@@ -3297,7 +3303,7 @@ Consider the following:
A first block of text...
...
...
- .IX \"Turn indent off
+ .IQ \"Turn indent off
A second block of text...
...
...
@@ -3309,7 +3315,7 @@ Consider the following:
The first block of text is right indented by 2 picas (i.e. the line
length is shortened by 2 picas to 18 picas). The second block of
-text, after <strong>IX</strong>, is, as you'd expect, set to the full
+text, after <strong>IQ</strong>, is, as you'd expect, set to the full
measure. The third block of text -- the one to pay attention to --
is not right indented by 2 picas, but rather by 4 picas.
<strong>Mom</strong> adds the value of arguments to <strong>IL,
@@ -3342,7 +3348,7 @@ Giving the optional argument <kbd>CLEAR</kbd> to any of the
&quot;indent quit&quot; macros resets them to zero.
<br>
<ul>
- <li><strong>IX CLEAR</strong>&nbsp;&nbsp;= quit and clear all indents
+ <li><strong>IQ CLEAR</strong>&nbsp;&nbsp;= quit and clear all indents
<li><strong>ILX CLEAR</strong>&nbsp;= quit and clear indent style left
<li><strong>IRX CLEAR</strong>&nbsp;= quit and clear indent style right
<li><strong>IBX CLEAR</strong>&nbsp;= quit and clear indent style both
@@ -3361,7 +3367,7 @@ picas and control each separately, as in the following example.
</pre>
If, at <kbd>.IRX</kbd>, you wanted the text afterward to have no
-indents (either left or right), you would enter <kbd>.IX</kbd>,
+indents (either left or right), you would enter <kbd>.IQ</kbd>,
which exits all indent styles at once.
<p>
<strong>A word of advice:</strong> Indents are best used only when
@@ -3388,10 +3394,10 @@ for information and advice on using idents with the
<ul>
<li><a href="#NUM_LISTS">A recipe for numbered lists</a>
</ul>
- <li><a href="#IX">IX</a>&nbsp;&nbsp;(Exit indents, all)
- <li><a href="#IX">ILX</a>&nbsp;(Exit indent style left)
- <li><a href="#IX">IRX</a>&nbsp;(Exit indent style right)
- <li><a href="#IX">IBX</a>&nbsp;(Exit indent style both)
+ <li><a href="#IQ">IQ</a>&nbsp;&nbsp;(Quit indents, all)
+ <li><a href="#IQ">ILX</a>&nbsp;(Exit indent style left)
+ <li><a href="#IQ">IRX</a>&nbsp;(Exit indent style right)
+ <li><a href="#IQ">IBX</a>&nbsp;(Exit indent style both)
</ul>
<!---IL--->
@@ -3414,7 +3420,7 @@ measure. Subsequent invocations with a measure add to the previous
measure. A minus sign may be prepended to the argument to subtract
from the current measure. The
<a href="inlines.html#INLINE_STRINGWIDTH_GROFF">\w</a>
-<a href="definitions.html#TERMS_INLINES">inline esacpe</a>
+<a href="definitions.html#TERMS_INLINES">inline escape</a>
may be used to specify a text-dependent measure, in which case
no unit of measure is required. For example,
<p>
@@ -3689,17 +3695,31 @@ are NOT additive. Each time you pass a measure to
<!---IX--->
<hr width="66%" align="left">
-<a name="IX"><h3><u>Quitting indents</u></h3></a>
+<a name="IQ"><h3><u>Quitting indents</u></h3></a>
<br>
-Macro: <strong>IX</strong>&nbsp;&nbsp;<var>[ CLEAR ]</var> (quit any/all indents)
+Macro: <strong>IQ</strong>&nbsp;&nbsp;<var>[ CLEAR ]&nbsp;&nbsp;</var>(quit any/all indents -- see <strong>*IMPORTANT NOTE</strong>)
<br>
-Macro: <strong>ILX</strong>&nbsp;<var>[ CLEAR ]</var> (quit <strong>IL</strong>)
+Macro: <strong>ILX</strong>&nbsp;<var>[ CLEAR ]&nbsp;&nbsp;</var>(exit <strong>I</strong>ndent <strong>L</strong>eft)
<br>
-Macro: <strong>IRX</strong>&nbsp;<var>[ CLEAR ]</var> (quit <strong>IR</strong>)
+Macro: <strong>IRX</strong>&nbsp;<var>[ CLEAR ]&nbsp;&nbsp;</var>(exit <strong>I</strong>ndent <strong>R</strong>ight)
<br>
-Macro: <strong>IBX</strong>&nbsp;<var>[ CLEAR ]</var> (quit <strong>IB</strong>)
+Macro: <strong>IBX</strong>&nbsp;<var>[ CLEAR ]&nbsp;&nbsp;</var>(exit <strong>I</strong>ndent <strong>B</strong>oth)
<p>
+<strong>*IMPORTANT NOTE:</strong>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<em>Formerly, the macro for quitting all indents was</em>
+<strong>.IX</strong><em>. This usage is now deprecated, in favour
+of</em> <strong>.IQ</strong><em>.</em> <strong>.IX</strong> <em>will
+continue to behave as before, but</em> <strong>mom</strong> <em>will
+issue a warning to stderr indicating that you should update your
+documents.
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;As a consequence of this change,</em>
+<strong>ILX, IRX</strong> <em>and</em> <strong>IBX</strong> <em>may
+now also be invoked as</em> <strong>ILQ, IRQ</strong> <em>and</em>
+<strong>IBQ</strong><em>. Both forms are acceptable.</em>
+<p>
Without an argument, the macros to quit indents merely restore your
original left margin and line length. The measures stored in the
indent macros themselves are saved so you can call them again without
@@ -3711,7 +3731,7 @@ but also clear any values associated with a particular indent style.
The next time you need an indent of the same style, you have to supply
a measure again.
<p>
-<strong>IX CLEAR</strong>, as you'd suspect, quits and clears
+<strong>IQ CLEAR</strong>, as you'd suspect, quits and clears
the values for all indent styles at once.
<p>
diff --git a/contrib/mom/momdoc/using.html b/contrib/mom/momdoc/using.html
index 1c564455..327e86ba 100644
--- a/contrib/mom/momdoc/using.html
+++ b/contrib/mom/momdoc/using.html
@@ -68,7 +68,7 @@ following apply.
<a href="definitions.html#TERMS_INLINES">inline escapes</a>.
I use the vi clone called elvis, and find it a pure
joy in this regard. Simply colorizing macros and
- inlines to half-intensity is enough to make text stand
+ inlines to half-intensity can be enough to make text stand
out clearly from formattting commands.
<li>All <strong>mom</strong>'s macros begin with a period
(dot) and must be entered in upper case (capital)
diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac
index 2b601476..6862c824 100644
--- a/contrib/mom/om.tmac
+++ b/contrib/mom/om.tmac
@@ -23,8 +23,8 @@
.\"
.
.
-\# Version 1.1.3c
-\# --------------
+\# Version 1.1.4
+\# -------------
\#
.if (\n[.x]\n[.y] < 118) \
. ab You need GNU troff version 1.18 or higher to run this version of mom!
@@ -93,7 +93,7 @@
. if \\n[#DOC_TYPE]=4 \{\
. br
. if !'\\n(.z'' \{ .di \}
-. IX CLEAR
+. IQ CLEAR
. TQ
. TAB_SET 1 \\n[#DOC_L_LENGTH]u/2u \\n[#DOC_L_LENGTH]u/2u LEFT
. ALD \\n[#DOC_LEAD]u*2u
@@ -470,42 +470,38 @@
.END
\#
\#
-\# INLINE KERNING
-\# --------------
-\# Inline kerning provides a simple method for users to adjust the
-\# amount of space between any two letters. It's predicated on a
-\# unit of measure "U", which is 1/36 of the current point size as
-\# returned by \n[.ps]. E.g., if the current point size is 18,
-\# \n[.ps] returns 18000u, therefore U=500u. Since U remains
-\# proportional relative to the current point size, the amount
-\# of kerning between two letters as expressed in Us remains
-\# visually similar regardless of changes in point size.
-\#
-\# N.B.--the amount of inline kerning supplied by \*[BU#] or
-\# \*[FU#] is added to or subtracted from any kerning that already
-\# takes place between two characters when automatic kerning is
-\# turned on.
-\#
-\# In groff v. 1.17.2, it is not possible to pass arguments to macros that
-\# are executed with inline escapes, nor thence to evaluate conditional
-\# expressions. Consequently, each pseudo-escape \[BU#] must be defined
-\# separately with ".char". I'd have prefered something like this
-\#
-\# .de BU
-\# \c
-\# \\h'-(\\n[#PT_SIZE]u/\\n[#KERN_UNIT]u*\\$1u)'\c
-\# ..
-\#
-\# with the BU escape looking like "\*[BU #]", but that's
-\# just not possible. Bottom line? The user can only BU or FU
-\# up to 36 Us, and there are too many lines of code for
-\# such a simple function.
-\#
-\# BP and FP do the same thing as BU and FU, except that the
-\# unit is points, and it only goes up to FP12/BP12 (1 pica)
+\# INLINE KERNING AND HORIZONTAL MOVEMENT
+\# --------------------------------------
+\# *Kerning
+\# Inline kerning provides a simple method for users to adjust the
+\# amount of space between any two letters. It's predicated on a
+\# unit of measure "U", which is 1/36 of the current point size as
+\# returned by \n[.ps]. E.g., if the current point size is 18,
+\# \n[.ps] returns 18000u, therefore U=500u. Since U remains
+\# proportional relative to the current point size, the amount
+\# of kerning between two letters as expressed in Us remains
+\# visually similar regardless of changes in point size.
+\#
+\# N.B.--the amount of inline kerning supplied by \*[BU#] or
+\# \*[FU#] is added to or subtracted from any kerning that already
+\# takes place between two characters when automatic kerning is
+\# turned on.
+\#
+\# In groff v. 1.17.2, it was not possible to pass arguments to macros that
+\# were executed with inline escapes, nor thence to evaluate conditional
+\# expressions. Consequently, each pseudo-escape \[BU#] had to be defined
+\# separately with ".char".
+\#
+\# As of v. 1.18, one can pass arguments to inline strings/macros,
+\# hence it is now possible to do \*[BU #] where #, inline, is the desired
+\# number of kern units. The original .char definitions have been left in
+\# for backward compatibility with documents created prior to mom-1.1.3c.
\#
\#
.nr #KERN_UNIT 36
+.ds BU \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\\$1u)'
+.ds FU \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\\$1u)'
+\#
.ds BU1 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*1u)'
.ds BU2 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*2u)'
.ds BU3 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*3u)'
@@ -543,6 +539,58 @@
.ds BU35 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*35u)'
.ds BU36 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*36u)'
\#
+\#
+.ds FU1 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*1u)'
+.ds FU2 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*2u)'
+.ds FU3 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*3u)'
+.ds FU4 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*4u)'
+.ds FU5 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*5u)'
+.ds FU6 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*6u)'
+.ds FU7 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*7u)'
+.ds FU8 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*8u)'
+.ds FU9 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*9u)'
+.ds FU10 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*10u)'
+.ds FU11 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*11u)'
+.ds FU12 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*12u)'
+.ds FU13 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*13u)'
+.ds FU14 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*14u)'
+.ds FU15 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*15u)'
+.ds FU16 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*16u)'
+.ds FU17 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*17u)'
+.ds FU18 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*18u)'
+.ds FU19 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*19u)'
+.ds FU20 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*20u)'
+.ds FU21 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*21u)'
+.ds FU22 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*22u)'
+.ds FU23 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*23u)'
+.ds FU24 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*24u)'
+.ds FU25 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*25u)'
+.ds FU26 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*26u)'
+.ds FU27 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*27u)'
+.ds FU28 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*28u)'
+.ds FU29 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*29u)'
+.ds FU30 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*30u)'
+.ds FU31 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*31u)'
+.ds FU32 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*32u)'
+.ds FU33 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*33u)'
+.ds FU34 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*34u)'
+.ds FU35 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*35u)'
+.ds FU36 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*36u)'
+\#
+\#
+\# *Horizontal movements
+\# BP1...12.75 and FP1...12.75 move backwards or forwards inline by the
+\# specified number of points.
+\# Left in for backward compatibility with mom-1.1.3c, the preferred
+\# methods for inline horizontal movements are now \*[BCK #<unit>] and
+\# \*[FWD #<unit>].
+\#
+.ds BCK \h'-\\$1\\$2'
+.ds FWD \h'\\$1\\$2'
+\#
+.ds BP.25 \h'-.25'
+.ds BP.5 \h'-.5'
+.ds BP.75 \h'-.75'
.ds BP1 \h'-1p'
.ds BP1.25 \h'-1.25p'
.ds BP1.5 \h'-1.5p'
@@ -592,43 +640,9 @@
.ds BP12.5 \h'-12.5p'
.ds BP12.75 \h'-12.75p'
\#
-.ds FU1 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*1u)'
-.ds FU2 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*2u)'
-.ds FU3 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*3u)'
-.ds FU4 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*4u)'
-.ds FU5 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*5u)'
-.ds FU6 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*6u)'
-.ds FU7 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*7u)'
-.ds FU8 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*8u)'
-.ds FU9 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*9u)'
-.ds FU10 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*10u)'
-.ds FU11 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*11u)'
-.ds FU12 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*12u)'
-.ds FU13 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*13u)'
-.ds FU14 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*14u)'
-.ds FU15 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*15u)'
-.ds FU16 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*16u)'
-.ds FU17 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*17u)'
-.ds FU18 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*18u)'
-.ds FU19 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*19u)'
-.ds FU20 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*20u)'
-.ds FU21 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*21u)'
-.ds FU22 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*22u)'
-.ds FU23 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*23u)'
-.ds FU24 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*24u)'
-.ds FU25 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*25u)'
-.ds FU26 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*26u)'
-.ds FU27 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*27u)'
-.ds FU28 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*28u)'
-.ds FU29 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*29u)'
-.ds FU30 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*30u)'
-.ds FU31 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*31u)'
-.ds FU32 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*32u)'
-.ds FU33 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*33u)'
-.ds FU34 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*34u)'
-.ds FU35 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*35u)'
-.ds FU36 \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*36u)'
-\#
+.ds FP.25 \h'.25'
+.ds FP.5 \h'.5'
+.ds FP.75 \h'.75'
.ds FP1 \h'1p'
.ds FP1.25 \h'1.25p'
.ds FP1.5 \h'1.5p'
@@ -837,7 +851,7 @@
\# ADVANCE LEAD
\# ------------
\# *Argument:
-\# <user supplied lead (ipPc) to advance below current baseline>
+\# <user supplied lead to advance below current baseline>
\# *Function:
\# Creates or modifies register #ALD. Adds user supplied lead
\# below current baseline.
@@ -853,12 +867,12 @@
\# REVERSE LEAD
\# ------------
\# *Argument:
-\# <user supplied lead (ipPc) to reverse above current baseline>
+\# <user supplied lead to reverse above current baseline>
\# *Function:
\# Creates or modifies register #RLD. Reverses user supplied
\# lead above current baseline.
\# *Notes:
-\# Requires unit of measure ipPcm.
+\# Requires unit of measure ipPcmv.
\#
.MAC RLD END
. nr #RLD (\\$1)
@@ -867,9 +881,13 @@
\#
\# ALD/RLD STRINGS
\# ---------------
-\# *Notes:
-\# If user needs to ALD/RLD more than 12 points, \v'<distance>' must be used
-\# instead
+\# The strings \*[ALD.25]...\*[ALD12.75] and their corresponding \*[RLD]
+\# forms have been left in for backward compatibility with documents
+\# created using mom-1.1.3c or earlier. The prefered methods of advancing
+\# and reversing on the page inline are \*[UP #<unit>] and \*[DOWN #<unit>].
+\#
+.ds DOWN \v'\\$1\\$2'
+.ds UP \v'-\\$1\\$2'
\#
.ds ALD.25 \v'.25p'
.ds ALD.5 \v'.5p'
@@ -1007,7 +1025,7 @@
\# *Function:
\# Turns smartquotes on or off.
\# *Notes:
-\# The " character is read outside the macro when mymacs is
+\# The " character is read outside the macro when mom is
\# processed. The strings for open/close ($QUOTE#) are then
\# defined in the macro. \N'34' is the ASCII code for ". If
\# incompatibilities arise, find the code for " that applies
@@ -2363,18 +2381,18 @@
\# ...some text...
\# .IL 2P
\# ...some text...
-\# .IX
+\# .IQ
\# ...some text...
\# .IL
\# ...some text...
\#
\# The first .IL 2P indents text 2P from the left margin. The second
\# .IL 2P indents text by an additional 2P, i.e. 4P from the left margin.
-\# .IX turns the indent off. The last .IL (which has no argument)
+\# .IQ turns the indent off. The last .IL (which has no argument)
\# takes its value from the total of all arguments passed to .IL (in
\# this case, 2P and 2P), therefore it indents 2P+2P from the left
\# margin, i.e. 4P. If you wanted the last .IL to indent just 2P,
-\# you'd either have to reset the .IL prior to .IX (.IL -2P), or pass
+\# you'd either have to reset the .IL prior to .IQ (.IL -2P), or pass
\# the last .IL the argument 2P.
\#
\# To reverse the sense of an indent added to an indent, you may use
@@ -2390,11 +2408,11 @@
\# again when needed. IL and IR automatically turn IB off; it, too,
\# has to be reinvoked with needed.
\#
-\# All indents can be turned off at once with IX. The ILX, IRX, IBX,
-\# and IX macros simply turn the indents off; the values stored in
+\# All indents can be turned off at once with IQ. The ILX, IRX, IBX,
+\# and IQ macros simply turn the indents off; the values stored in
\# the respective indent macros (IL, IR, IB) remain in effect. If
\# the user wishes to clear the values, the I<LRB>X macros should be
-\# invoked with the single argument CLEAR. IX CLEAR clears out
+\# invoked with the single argument CLEAR. IQ CLEAR clears out
\# the values stored for all indent styles.
\#
\# Indents *must* be turned off before settting string tabs
@@ -2597,6 +2615,14 @@
\#
\#
.MAC IX END
+. if '\\$0'IX' \{\
+. if !\\n[#IX_WARN] \{\
+. tm1 "[mom]: Use of .IX is now deprecated. Use .IQ instead.
+. tm1 " .IX will continue to behave as before, but to
+. tm1 " avoid this message, please update your document.
+. nr #IX_WARN 1
+. \}
+. \}
. br
. in 0
. rr #INDENT_LEFT_ACTIVE
@@ -2893,6 +2919,10 @@ y\\R'#DESCENDER \\n[.cdp]'
.ALIAS HYPHENATION HY
.ALIAS HYSET HY_SET
.ALIAS LIG LIGATURES
+.ALIAS IBQ IBX
+.ALIAS ILQ ILX
+.ALIAS IQ IX
+.ALIAS IRQ IRX
.ALIAS PADMARKER PAD_MARKER
.ALIAS TABSET TAB_SET
.ALIAS TB TAB
@@ -4949,7 +4979,7 @@ y\\R'#DESCENDER \\n[.cdp]'
\#
.MAC FINIS END
. if \\n[#TAB_ACTIVE] \{ .TQ \}
-. if \\n[#INDENT_ACTIVE] \{ .IX CLEAR \}
+. if \\n[#INDENT_ACTIVE] \{ .IQ CLEAR \}
. FOOTERS OFF
. PAGINATION OFF
. nr #EM_ADJUST (1m/8)
@@ -8974,7 +9004,7 @@ y\\R'#DESCENDER \\n[.cdp]'
. nr #PAGINATION_STATE \\n[#PAGINATE]
. PAGINATION OFF
. \}
-. IX CLEAR
+. IQ CLEAR
. TQ
. LL \\n[#DOC_L_LENGTH]u
. QUAD $DOC_QUAD