summaryrefslogtreecommitdiff
path: root/contrib/mom
diff options
context:
space:
mode:
authorwlemb <wlemb>2003-10-22 13:57:18 +0000
committerwlemb <wlemb>2003-10-22 13:57:18 +0000
commit0d9c97fbaff9fbf2ea216951b9608ad5e8859c18 (patch)
tree0d4120276a6898fbcc3ba5b14d23caec0e229248 /contrib/mom
parent7bb589f208378e994f34b44c6a27a020635e14fb (diff)
downloadgroff-0d9c97fbaff9fbf2ea216951b9608ad5e8859c18.tar.gz
o Changed \n[#DRAFT] and \n[#REVISION] to strings \*[$DRAFT] and
\*[$REVISION], allowing for the possibility of blank entries that don't mess up headers/footers with zeros if user doesn't want any numbers. o Extended handling of draft and revision numbers and strings in headers/footers for increased flexibility. It's possible now to have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING and REVISION, and have them come out in headers/footers as one intuitively expects/wants.
Diffstat (limited to 'contrib/mom')
-rw-r--r--contrib/mom/ChangeLog13
-rw-r--r--contrib/mom/Makefile.sub1
-rw-r--r--contrib/mom/NEWS31
-rw-r--r--contrib/mom/examples/elvis_syntax.new69
-rw-r--r--contrib/mom/examples/typeset.mom2
-rw-r--r--contrib/mom/momdoc/docprocessing.html106
-rw-r--r--contrib/mom/momdoc/reserved.html4
-rw-r--r--contrib/mom/om.tmac193
8 files changed, 342 insertions, 77 deletions
diff --git a/contrib/mom/ChangeLog b/contrib/mom/ChangeLog
index 3ad4f0c4..0d062128 100644
--- a/contrib/mom/ChangeLog
+++ b/contrib/mom/ChangeLog
@@ -1,3 +1,16 @@
+*Tue Oct 21 2003
+
+o Changed \n[#DRAFT] and \n[#REVISION] to strings \*[$DRAFT] and
+ \*[$REVISION], allowing for the possibility of blank entries that
+ don't mess up headers/footers with zeros if user doesn't want any
+ numbers.
+
+o Extended handling of draft and revision numbers and strings in
+ headers/footers for increased flexibility. It's possible now to
+ have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING
+ and REVISION, and have them come out in headers/footers as one
+ intuitively expects/wants.
+
*Fri Jul 25 2003
o Added a .bp after .if \\n[#START]=1 in FOOTER. Without it,
diff --git a/contrib/mom/Makefile.sub b/contrib/mom/Makefile.sub
index ffe771ea..88c0cac8 100644
--- a/contrib/mom/Makefile.sub
+++ b/contrib/mom/Makefile.sub
@@ -67,6 +67,7 @@ EXAMPLEFILES=\
examples/typewrite.mom \
examples/README.mom \
examples/elvis_syntax \
+ examples/elvis_syntax.new \
examples/penguin.ps
PROCESSEDEXAMPLEFILES=\
diff --git a/contrib/mom/NEWS b/contrib/mom/NEWS
index 2825ba9f..5a7436b6 100644
--- a/contrib/mom/NEWS
+++ b/contrib/mom/NEWS
@@ -1,3 +1,34 @@
+Release 1.1.6-e
+---------------
+
+Extended handling of draft and revision numbers and strings in
+headers/footers for increased flexibility. It's possible now to
+have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING
+and REVISION, and have them come out in headers/footers as one
+intuitively expects/wants.
+
+Also added a new set of syntax highlighting rules for the vi clone,
+elvis. Version 2-2h-beta of elvis finally made possible the
+highlighting of \*[...] inline escapes, whether or not they're
+separated from surrounding text by spaces. This is a terrific
+improvement in elvis, and makes for greatly improved readability of
+mom files.
+
+Release 1.1.6-b - 1.1.6d
+------------------------
+
+Trivial changes to documentation and some cleanups of the main
+om.tmac file, including:
+
+Added a .bp after .if \\n[#START]=1 in FOOTER. Without it,
+in document processing mode, documents that use *none* of the
+docprocessing tags (yes, there are times when users want to do
+this) ignored the footer trap.
+
+Changed register #DOCHEADER_LEAD_ADJ to string
+$DOCHEADER_LEAD_ADJ. This means that .DOCHEADER_LEAD no longer
+requires a unit of measure; points is assumed.
+
Release 1.1.6-b
---------------
diff --git a/contrib/mom/examples/elvis_syntax.new b/contrib/mom/examples/elvis_syntax.new
new file mode 100644
index 00000000..7da807f1
--- /dev/null
+++ b/contrib/mom/examples/elvis_syntax.new
@@ -0,0 +1,69 @@
+" Steve Kirkendall has thoughtfully reworked elvis's syntax
+" highlighting so that it now supports nroff constructs like \fBword
+" and \(emword, with \fB and \(em being highlighted while "word" is
+" not.
+"
+" There are some other enhancements as well, making it possible
+" to have any word beginning with punctuation (i.e. groff
+" requests) highlighted. I've decided to take advantage of these
+" improvements, which apply to elvis-2.2h onwards, and write a new
+" simplified set of syntax highlighting rules for mom. Just plug
+" this file at the end of /etc/elvis/elvis.syn to use them.
+"
+" If you're using an older version of elvis, stick with the
+" highlighting rules in the files elvis_syntax.
+# elvis.syn -- stores descriptions of languages for use with ":display syntax"
+
+#Mom
+language mom
+extension .mom
+
+startword .
+color startword normal
+
+inword _.'
+color inword normal
+
+other initialpunct
+mostly normal
+
+color args like fixed
+color chars like emphasized
+color decimals normal
+color ellipsis normal
+color escapes like keyword
+color misc green
+font args DEFAULT CHAPTER NAMED LETTER
+font args TYPESET TYPEWRITE
+font args FINAL DRAFT
+font args BLOCK QUAD
+font args LEFT RIGHT CENTER CENTRE JUSTIFY TOP BOTTOM L R C J
+font args OFF QUIT END EXIT DONE NO ALL
+font args PAGE NUMBER STAR
+font args COND EXT
+font args LETTER LEGAL EXECUTIVE LEDGER TABLOID QUARTO FOLIO
+font args 10x14 A3 A4 A5 B4 B5
+font args SINGLESPACE
+font args FACTOR
+prefix \/ \/. \/? \/! \/, \/; \/:
+font escapes \/ \/. \/? \/! \/, \/; \/:
+prefix \, \,. \,? \,! \,, \,; \,:
+font escapes \, \,. \,? \,! \,, \,; \,:
+prefix \\ \~ \0 \: \| \^ \& \% \!
+font escapes \\ \~ \0 \: \| \^ \& \% \!
+prefix \b \c \C \d \D \e \f \f( \h \l \L \p \r \s \s+ \s- \S \u \v \w
+font escapes \b \c \C \d \D \e \f \f( \h \l \L \p \r \s \s+ \s- \S \u \v \w
+prefix \(bu \(co \(ct \(de \(dg \(di \(em \(en \(mu \(pl \(rg \(sc \(sq \(lq \(rq
+font chars \(bu \(co \(ct \(de \(dg \(di \(em \(en \(mu \(pl \(rg \(sc \(sq \(lq \(rq
+prefix \(14 \(12 \(34 \(+-
+font chars \(14 \(12 \(34 \(+-
+prefix \fR \fB \fI \fP \f0 \f1 \f2 \f3
+font chars \fR \fB \fI \fP \f0 \f1 \f2 \f3
+prefix ...
+font ellipsis ...
+prefix .0 .1 .2 .3 .4 .5 .6 .7 .8 .9
+font decimals . .0 .1 .2 .3 .4 .5 .6 .7 .8 .9
+character \]
+string '
+comment \#
+comment \"
diff --git a/contrib/mom/examples/typeset.mom b/contrib/mom/examples/typeset.mom
index b12204b0..46122216 100644
--- a/contrib/mom/examples/typeset.mom
+++ b/contrib/mom/examples/typeset.mom
@@ -406,7 +406,7 @@ justo duo do\%lo\%res et ea rebum.
Sanctus est lorem ipsum dolor sit amet, consetetur sadipscing. Elitr,
sed diam nonumy eirmod tempor, invidunt ut labore et do\%lo\%re magna
ali\%quyam. Erat sed diam voluptua, at vero eos et accusam et justo
-rebum amet. Consetetur sadipsc\% ing elitr sed diam nonumy eirmod
+rebum amet. Consetetur sadipsc\%ing elitr sed diam nonumy eirmod
sed diam nonumy, eirmod tempor. Invidunt tempor invidunt ut labore.\c
.FOOTNOTE
Sed diam nonumy eirmod tempor, invidunt ut labore et do\%lo\%re
diff --git a/contrib/mom/momdoc/docprocessing.html b/contrib/mom/momdoc/docprocessing.html
index afe2f61e..887f7e24 100644
--- a/contrib/mom/momdoc/docprocessing.html
+++ b/contrib/mom/momdoc/docprocessing.html
@@ -856,14 +856,29 @@ Macro: <strong>DRAFT</strong> <var>&lt;draft #&gt;</var>
<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> (the
default), <strong>mom</strong> ignores <strong>DRAFT</strong>.
-<strong>DRAFT</strong> only accepts a
-<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>.
+<strong>DRAFT</strong> accepts both alphabetic and numeric
+arguments, hence it's possible to do either
<p>
-<strong>Mom</strong> prints the draft number beside the word
-&quot;Draft&quot; in the middle part of
+<pre>
+ .DRAFT 2
+ or
+ .DRAFT Two
+</pre>
+
+<strong>Mom</strong> prints the argument to <strong>.DRAFT</strong>
+(i.e. the draft number) beside the word &quot;Draft&quot; in the
+middle part of
<a href="definitions.html#TERMS_HEADER">page headers</a>.
<p>
-<a name="DRAFT_STRING"><strong>DRAFT STRING</strong></a>
+<strong>A small word of caution:</strong> If your argument to
+<strong>.DRAFT</strong> is more than one word long, you must
+enclose the argument in double-quotes.
+<p>
+You may, if you wish, invoke <strong>.DRAFT</strong> without an
+argument, in which case, no draft number will be printed beside
+&quot;Draft&quot; in headers or footers.
+<p>
+<a name="DRAFT_STRING"><strong>DRAFT_STRING</strong></a>
<p>
If you're not writing in English, you can ask <strong>mom</strong>
to use the word for draft in your own language by telling
@@ -874,6 +889,28 @@ like this:
.DRAFT_STRING "Jet"
</pre>
+Equally, <strong>DRAFT_STRING</strong> can be used to roll your own
+solution to something other than the word &quot;Draft.&quot; For
+example, you might want &quot;Trial run alpha-three&quot; to appear
+in the headers of a draft version. You'd accomplish this by doing
+<p>
+<pre>
+ .DRAFT alpha-three
+ .DRAFT_STRING "Trial run
+</pre>
+
+<strong>.DRAFT</strong> without an argument, above, ensures that
+only the <strong>DRAFT_STRING</strong> gets printed.
+<p>
+<strong>NOTE:</strong> If you define both a blank <strong>.DRAFT</strong>
+and a blank <strong>.DRAFT_STRING</strong>, <strong>mom</strong>
+skips the draft field in headers entirely. If this is what you
+want, this is also the only way to do it. Simply leaving out
+<strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> will
+result in <strong>mom</strong> using her default, which is to print
+&quot;Draft 1&quot;.
+<br>
+
<!---REVISION--->
<hr width="66%" align="left">
@@ -886,24 +923,69 @@ Macro: <strong>REVISION</strong> <var>&lt;revision #&gt;</var>
<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>.
If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong>
(the default), <strong>mom</strong> ignores the
-<strong>REVISION</strong> macro. <strong>REVISION</strong> only
-accepts a
-<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a>.
+<strong>REVISION</strong> macro. <strong>REVISION</strong> accepts
+both alphabetic and numeric arguments, hence it's possible to do
+either
<p>
+<pre>
+ .REVISION 2
+ or
+ .REVISION Two
+</pre>
+
<strong>Mom</strong> prints the revision number beside the shortform
&quot;Rev.&quot; in the middle part of
<a href="definitions.html#TERMS_HEADER">page headers</a>.
<p>
-<a name="REVISION_STRING"><strong>REVISION STRING</strong></a>
+<strong>A small word of caution:</strong> If your argument to
+<strong>.REVISION</strong> is more than one word long, you must
+enclose the argument in double-quotes.
+<p>
+You may, if you wish, invoke <strong>.REVISION</strong> without an
+argument, in which case, no revision number will be printed beside
+&quot;Rev.&quot; in headers or footers.
+<p>
+<a name="REVISION_STRING"><strong>REVISION_STRING</strong></a>
<p>
If you're not writing in English, you can ask <strong>mom</strong>
-to use the word for revision, or a shortform therof in your own language
-by telling her what it is with the <strong>REVISION_STRING</strong>
-macro, like this:
+to use the word for revision, or a shortform therof, in
+your own language by telling her what it is with the
+<strong>REVISION_STRING</strong> macro, like this:
<p>
<pre>
.REVISION_STRING "Rév."
</pre>
+
+Additionally, you may sometimes want to make use of
+<strong>mom</strong>'s
+<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>
+but not actually require any draft information. For example, you
+might like <strong>mom</strong> to indicate only the revision number
+of your document. The way to do that is to define an empty
+<strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> in
+addition to <strong>.REVISION</strong>, like this:
+<p>
+<pre>
+ .DRAFT
+ .DRAFT_STRING
+ .REVISION 2
+</pre>
+
+<p>
+Equally, if you want to roll your own solution to what revision
+information appears in headers, you could do something like this:
+<pre>
+ .DRAFT
+ .DRAFT_STRING
+ .REVISION "two-twenty-two"
+ .REVISION_STRING "Revision"
+</pre>
+
+<p>
+The above, naturally, has no draft information. If you want to
+roll your own <strong>.DRAFT</strong> and/or
+<strong>.DRAFT_STRING</strong> as well, simply supply arguments to
+either or both.
<hr>
<!========================================================================>
diff --git a/contrib/mom/momdoc/reserved.html b/contrib/mom/momdoc/reserved.html
index 39eef9e0..accea287 100644
--- a/contrib/mom/momdoc/reserved.html
+++ b/contrib/mom/momdoc/reserved.html
@@ -797,7 +797,6 @@ dc "mark" register for document columns
#DOC_R_MARGIN Global R_MARGIN
#DOCS Always 1 after START
#DOC_TYPE 1=default, 2=chapter, 3=named, 4=letter
-#DRAFT The draft number
#DRAFT_WITH_PAGENUM Are we attaching draft/revision info to page
number? (toggle)
#EM_ADJUST Amount to raise \(em at END
@@ -1012,7 +1011,6 @@ dc "mark" register for document columns
not currently used
#RESTORE_TOC_PN_PADDING Saves #TOC_PN_PADDING in TOC prior to
processing $FIRST_DOC_TITLE
-#REVISION The revision number
#RIGHT_CAP_HEIGHT Cap height of right string in
headers/footers
#SH_LEAD_ADJUST #DOC_LEAD/8 (TYPESET) or /2 (TYPEWRITE)
@@ -1121,6 +1119,7 @@ $DOCTYPE_FT Font to use for DOCTYPE string in
$DOCTYPE_SIZE_CHANGE ps in/decrease of DOCTYPE string in
doc header*
$DOCTYPE_PT_SIZE Absolute ps of DOCTYPE
+$DRAFT The draft number (string valued)
$DRAFT_STRING What to print whenever the word "draft"
is required
$EN_FAMILY Family for endnotes
@@ -1206,6 +1205,7 @@ $PP_FT Font used in paragraphs
$QUOTE_FAM Family to use for pquotes
$QUOTE_FT Font to use for pquotes
$QUOTE_SIZE_CHANGE ps in/decrease of pquotes*
+#REVISION The revision number (string valued)
$REVISION_STRING What to print whenever the word
"revision" is required
$SH_FAM Family to use in subheads
diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac
index bc9cfa16..4f4f2a81 100644
--- a/contrib/mom/om.tmac
+++ b/contrib/mom/om.tmac
@@ -23,7 +23,7 @@
.\"
.\"
.\"
-\# Version 1.1.6-d
+\# Version 1.1.6-e
\# ---------------
\#
.if (\n[.x]\n[.y] < 118) \
@@ -410,9 +410,6 @@
\# multiplied by #AUTOLEAD_VALUE instead of the two being added
\# together.
\#
-\# When AUTOLEAD is turned off, the leading reverts to the leading value
-\# in effect prior to invoking AUTOLEAD.
-\#
.MAC AUTOLEAD END
. if \\n[#PRINT_STYLE]=1 \{ .return \}
. if \\n[#IGNORE] \{ .return \}
@@ -490,7 +487,7 @@
\# 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
+\# hence it is now possible to do \*[BU n] where n, 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.
\#
@@ -1216,23 +1213,23 @@
\# Typesetting tabs are set with TAB_SET, which requires a tab number,
\# an indent (offset) from the left margin and a length (optionally
\# with a quad direction and an instruction to fill lines). After tabs
-\# are set with TS, they are called with .TAB <#>, where <#>
+\# are set with TS, they are called with .TAB n, where "n"
\# corresponds to the number passed to TAB_SET as a valid tab number.
\#
\# String tabs allow the user to mark off tab positions inline. Tab
\# indents and lengths are calculated from the beginning and end
\# positions of the marks. Up to 19 string tabs may be created,
-\# numbered 1-19. Once created, they are called with .TAB <#>,
+\# numbered 1-19. Once created, they are called with .TAB n,
\# just like typesetting tabs.
\#
\# Setting up string tabs is a two-step procedure. First, the user
\# enters an input line in which s/he wants to mark off string tabs.
-\# The beginning of a tab is marked with \*[ST<#>], where <#> is
+\# The beginning of a tab is marked with \*[STn], where "n" is
\# the desired number of the tab. The end of the the tab is marked
-\# with \*[ST<#>X]. All ST's must have a matching STX. String tabs
+\# with \*[STnX]. All ST's must have a matching STX. String tabs
\# may be nested.
\#
-\# Next, the user invokes .ST <#> for every string tab defined, and
+\# Next, the user invokes .ST n for every string tab defined, and
\# optionally passes quad information to it. That done, string tabs
\# can be called just like typesetting tabs.
\#
@@ -1320,11 +1317,11 @@
\# *Arguments:
\# <#> ident(ipPcm) length(ipPcm) [L | R | C | J [QUAD]]
\# *Function:
-\# Creates macros TAB<#> and TAB <#>, where # is any arbitrary number.
-\# TAB# is a typesetting tab (i.e. a tab defined as an indent
+\# Creates macros TABn and TAB n, where "n" is any arbitrary number.
+\# TABn is a typesetting tab (i.e. a tab defined as an indent
\# from the page left offset plus a line length.)
\# *Notes:
-\# <#> = arbitrary digit to identify the tab
+\# n = arbitrary digit to identify the tab
\# indent = indent from left margin; unit of measure required
\# length = length of tab (unit of measure required; can be
\# \w'<string>'u--if more than one word in string, surround
@@ -1350,7 +1347,7 @@
\# means exactly the same thing, except that input lines are joined and
\# the area delimted by the tab filled with centered text.
\#
-\# TAB <#> can be called at any time after being set.
+\# TAB n can be called at any time after being set.
\#
\# Tabs are NOT columnar in behaviour. If the text inside a
\# tab runs to several lines, when you call the next tab a break
@@ -1365,7 +1362,7 @@
\# If you want to reset tabs, you must use .TQ before .TAB_SET.
\#
\# Note that indents are turned off automatically whenever a new
-\# tab is called with TAB #.
+\# tab is called with TAB n.
\#
\# Tabs themselves are user-invoked using the TAB macro with a numeric
\# argument, e.g. TAB 1.
@@ -3235,7 +3232,7 @@ y\\R'#DESCENDER \\n[.cdp]'
. ds $COPY_STYLE \\$1
. if '\\*[$COPY_STYLE]'DRAFT' \{\
. nr #COPY_STYLE 1
-. if !r#DRAFT \{ .DRAFT 1 \}
+. if !d$DRAFT \{ .DRAFT 1 \}
. \}
. if '\\*[$COPY_STYLE]'FINAL' \{ .nr #COPY_STYLE 2 \}
. if !d$CHAPTER_STRING \{ .CHAPTER_STRING "Chapter" \}
@@ -3251,14 +3248,14 @@ y\\R'#DESCENDER \\n[.cdp]'
. ds $HDRFTR_CENTER
. \}
. el \{\
-. ie !\\n[#REVISION] \{\
+. ie '\\*[$REVISION]'' \{\
. ds $HDRFTR_CENTER \
- \\*[$DRAFT_STRING] \\n[#DRAFT]
+ \\*[$DRAFT_STRING]\\*[$DRAFT]
. \}
. el \{\
. ds $HDRFTR_CENTER \
- \\*[$DRAFT_STRING] \\n[#DRAFT], \
- \\*[$REVISION_STRING] \\n[#REVISION]
+ \\*[$DRAFT_STRING]\\*[$DRAFT], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
. \}
. \}
. \}
@@ -3288,65 +3285,115 @@ y\\R'#DESCENDER \\n[.cdp]'
. \}
. el \{\
. ie !'\\*[$CHAPTER_TITLE]'' \{\
-. ds \\*[$CHAPTER_TITLE]
+. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE]
. \}
. el \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \\*[$CHAPTER] \}
. \}
. \}
. el \{\
-. ie !\\n[#REVISION] \{\
+. ie '\\*[$REVISION]'' \{\
. ie '\\*[$CHAPTER]'' \{\
. ie !'\\*[$CHAPTER_TITLE]'' \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_TITLE], \
- \\*[$DRAFT_STRING] \\n[#DRAFT]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_TITLE], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT]
+. \}
. \}
. el \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_STRING], \
- \\*[$DRAFT_STRING] \\n[#DRAFT]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT]
+. \}
. \}
. \}
. el \{\
. ie !'\\*[$CHAPTER_TITLE]'' \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_TITLE], \
- \\*[$DRAFT_STRING] \\n[#DRAFT]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_TITLE], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT]
+. \}
. \}
. el \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_STRING] \\*[$CHAPTER], \
- \\*[$DRAFT_STRING] \\n[#DRAFT]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING] \\*[$CHAPTER]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING] \\*[$CHAPTER], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT]
+. \}
. \}
. \}
. \}
. el \{\
. ie '\\*[$CHAPTER]'' \{\
. ie !'\\*[$CHAPTER_TITLE]'' \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_TITLE], \
- \\*[$DRAFT_STRING] \\n[#DRAFT], \
- \\*[$REVISION_STRING] \\n[#REVISION]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_TITLE], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_TITLE], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
. \}
. el \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_STRING], \
- \\*[$DRAFT_STRING] \\n[#DRAFT], \
- \\*[$REVISION_STRING] \\n[#REVISION]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
. \}
. \}
. el \{\
. ie !'\\*[$CHAPTER_TITLE]'' \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_TITLE], \
- \\*[$DRAFT_STRING] \\n[#DRAFT], \
- \\*[$REVISION_STRING] \\n[#REVISION]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_TITLE], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_TITLE], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
. \}
. el \{\
-. ds $HDRFTR_CENTER \
- \\*[$CHAPTER_STRING] \\*[$CHAPTER], \
- \\*[$DRAFT_STRING] \\n[#DRAFT], \
- \\*[$REVISION_STRING] \\n[#REVISION]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING] \\*[$CHAPTER], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
+. el \{
+. ds $HDRFTR_CENTER \
+ \\*[$CHAPTER_STRING] \\*[$CHAPTER], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
. \}
. \}
. \}
@@ -3387,16 +3434,28 @@ y\\R'#DESCENDER \\n[.cdp]'
. \}
. el \{\
. if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{\
-. ie !\\n[#REVISION] \{\
-. ds $HDRFTR_CENTER \
- \\*[$DOC_TYPE], \
- \\*[$DRAFT_STRING] \\n[#DRAFT]
+. ie '\\*[$REVISION]'' \{\
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \\*[$DOC_TYPE]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$DOC_TYPE], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT]
+. \}
. \}
. el \{\
-. ds $HDRFTR_CENTER \
- \\*[$DOC_TYPE], \
- \\*[$DRAFT_STRING] \\n[#DRAFT], \
- \\*[$REVISION_STRING] \\n[#REVISION]
+. ie '\\*[$DRAFT]'' \{\
+. ds $HDRFTR_CENTER \
+ \\*[$DOC_TYPE], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
+. el \{\
+. ds $HDRFTR_CENTER \
+ \\*[$DOC_TYPE], \
+ \\*[$DRAFT_STRING]\\*[$DRAFT], \
+ \\*[$REVISION_STRING] \\*[$REVISION]
+. \}
. \}
. \}
. \}
@@ -3446,12 +3505,13 @@ y\\R'#DESCENDER \\n[.cdp]'
\#
\#
.MAC DRAFT END \"Draft number
-. nr #DRAFT \\$1
+. ie '\\$1'' \{ .ds $DRAFT \}
+. el \{ .ds $DRAFT " \\$1\}
.END
\#
\#
.MAC REVISION END \"Revision number
-. nr #REVISION \\$1
+. ds $REVISION \\$1
.END
\#
\#
@@ -8548,8 +8608,17 @@ y\\R'#DESCENDER \\n[.cdp]'
. rr #TOC_FIRST_PAGE
. \}
. ie \\n[#DRAFT_WITH_PAGENUM] \{\
-. ie !\\n[#REVISION] \{ .PRINT "\\*[$DRAFT_STRING] \\n[#DRAFT] / \\n[#PAGENUMBER]" \}
-. el \{ .PRINT "\\*[$DRAFT_STRING] \\n[#DRAFT], \\*[$REVISION_STRING] \\n[#REVISION] / \\n[#PAGENUMBER]" \}
+. ie '\\*[$REVISION]'' \{\
+. PRINT "\\*[$DRAFT_STRING]\\*[$DRAFT] / \\n[#PAGENUMBER]"
+. \}
+. el \{\
+. ie '\\*[$DRAFT]'' \{\
+. PRINT "\\*[$REVISION_STRING] \\*[$REVISION] / \\n[#PAGENUMBER]"
+. \}
+. el \{\
+. PRINT "\\*[$DRAFT_STRING]\\*[$DRAFT], \\*[$REVISION_STRING] \\*[$REVISION] / \\n[#PAGENUMBER]"
+. \}
+. \}
. \}
. el \{\
. ie \\n[#PAGE_NUM_HYPHENS] \{ .PRINT "- \\n[#PAGENUMBER] -" \}