From 52911304ea8b0eaf55947013a6524abff547fa39 Mon Sep 17 00:00:00 2001 From: wlemb Date: Sun, 22 Feb 2004 09:22:12 +0000 Subject: o Rewrote the macros associated with DOCTYPE LETTER so that the user can enter DATE, TO and FROM in any order s/he likes. For backward compatibility, if the older, fixed order (DATE-TO-FROM) is used, the date goes flush right with two linespaces after it, while the other fields go flush left with a single linespace separating them. o Fixed handling of DOCHEADER OFF when fell short of the top margin of running text (the change is actually in the SHIM macro, which is called by DOCHEADER). o Added a selection of iso 639 two-letter language codes as optional arguments to SMARTQUOTES, so that the use can enter her/his language code to get language specific quoting styles o Changed the way the strings for \*[ST], \*[STX], \*[FU and \*[BU are read. Formerly, they were entered literally. Now they're entered as an array. --- contrib/mom/BUGS | 9 + contrib/mom/ChangeLog | 21 ++ contrib/mom/NEWS | 15 +- contrib/mom/TODO | 5 + contrib/mom/examples/elvis_syntax.new | 1 + contrib/mom/momdoc/appendices.html | 32 ++- contrib/mom/momdoc/cover.html | 3 +- contrib/mom/momdoc/definitions.html | 41 +-- contrib/mom/momdoc/docelement.html | 272 ++++++++++++------- contrib/mom/momdoc/docprocessing.html | 141 +++++----- contrib/mom/momdoc/goodies.html | 100 ++++--- contrib/mom/momdoc/headfootpage.html | 152 ++++++----- contrib/mom/momdoc/inlines.html | 44 ++-- contrib/mom/momdoc/intro.html | 35 +-- contrib/mom/momdoc/letters.html | 205 ++++++++++++--- contrib/mom/momdoc/rectoverso.html | 33 +-- contrib/mom/momdoc/reserved.html | 234 ++++++++++------- contrib/mom/momdoc/toc.html | 6 +- contrib/mom/momdoc/typemacdoc.html | 12 +- contrib/mom/momdoc/typesetting.html | 222 ++++++++-------- contrib/mom/momdoc/using.html | 16 +- contrib/mom/om.tmac | 482 +++++++++++++++++----------------- 22 files changed, 1223 insertions(+), 858 deletions(-) diff --git a/contrib/mom/BUGS b/contrib/mom/BUGS index 9fa7c77a..66cd839f 100644 --- a/contrib/mom/BUGS +++ b/contrib/mom/BUGS @@ -15,6 +15,15 @@ Also, please--no html email. That, too, gets nuked. ======================================================================== +Version 1.1.7 +============= + +When DOCHEADER OFF is given, if falls short +of the top margin of running text, is not respected and +bottom margin falls low. +---Fixed--- + + Version 1.1.6-e =============== diff --git a/contrib/mom/ChangeLog b/contrib/mom/ChangeLog index a8c4f4d6..c2898adb 100644 --- a/contrib/mom/ChangeLog +++ b/contrib/mom/ChangeLog @@ -1,3 +1,24 @@ +*Feb 20 2004 + +o Rewrote the macros associated with DOCTYPE LETTER so that the + user can enter DATE, TO and FROM in any order s/he likes. For + backward compatibility, if the older, fixed order (DATE-TO-FROM) + is used, the date goes flush right with two linespaces after + it, while the other fields go flush left with a single linespace + separating them. + +o Fixed handling of DOCHEADER OFF when fell + short of the top margin of running text (the change is actually + in the SHIM macro, which is called by DOCHEADER). + +o Added a selection of iso 639 two-letter language codes as + optional arguments to SMARTQUOTES, so that the use can enter + her/his language code to get language specific quoting styles + +o Changed the way the strings for \*[ST], \*[STX], \*[FU + and \*[BU are read. Formerly, they were entered literally. + Now they're entered as an array. + *Jan 24 2004 o Added lists and associated macros. Mom now does (nested) lists. diff --git a/contrib/mom/NEWS b/contrib/mom/NEWS index 50cb5b10..04ce9abb 100644 --- a/contrib/mom/NEWS +++ b/contrib/mom/NEWS @@ -1,5 +1,16 @@ -Release 1.7 ------------ +Release 1.1.7-a +--------------- + +Increased the flexibility of SMARTQUOTES so that they handle quoting +styles by language, entered as a 2-digit language code argument to +SMARTQUOTES. See docs. + +Re-wrote the DOCTYPE LETTER macros so that DATE, TO and FROM can be +entered in any order the user wishes, with output that matches +input. (Should have done this in the first place.) + +Release 1.1.7 +------------- Finally got around to writing "list" macros. See the docs. diff --git a/contrib/mom/TODO b/contrib/mom/TODO index 4cff7e23..75e1ac09 100644 --- a/contrib/mom/TODO +++ b/contrib/mom/TODO @@ -1,3 +1,8 @@ +UNDERLINING +----------- +Explore "the ultimative underline macro" for possible inclusion +into mom. + NUMBERED HEADS, SUBHEADS and PARAHEADS -------------------------------------- Macros to set numbering style (roman, arabic, alpha, etc)? diff --git a/contrib/mom/examples/elvis_syntax.new b/contrib/mom/examples/elvis_syntax.new index aaf9d605..29726da2 100644 --- a/contrib/mom/examples/elvis_syntax.new +++ b/contrib/mom/examples/elvis_syntax.new @@ -33,6 +33,7 @@ color decimals normal color ellipsis normal color escapes like keyword color misc green +font args DA DE EN ES FR IT NL NO PT SV font args DEFAULT CHAPTER NAMED LETTER font args TYPESET TYPEWRITE font args FINAL DRAFT diff --git a/contrib/mom/momdoc/appendices.html b/contrib/mom/momdoc/appendices.html index 64d3b8f5..8e98b912 100644 --- a/contrib/mom/momdoc/appendices.html +++ b/contrib/mom/momdoc/appendices.html @@ -7,8 +7,10 @@ +Next   Prev   Back to Table of Contents +

@@ -18,8 +20,8 @@

@@ -58,7 +60,7 @@ basic (text only) html. I may have written mom, but I still regularly call on her documentation. Elvis, with its html capabilities, lets me write and format mom documents AND peruse her documentation, clicking on links as -necessary, without ever leaveing the comfy confines of my +necessary, without ever leaving the comfy confines of my text editor.

Not everyone, of course, uses an editor with html capabilities. @@ -73,7 +75,7 @@ frames, and (for the most part) tables in this documentation. The reason is simple: Lynx. People who, for whatever reason (choice or necessity), use Lynx to read the documentation must be able to make sense of it. All of it. Graphical examples of mom -in action might have made some parts of the documenation easier to +in action might have made some parts of the documentation easier to write, but would have excluded Lynx-only users. And it goes without saying that the documentation looks fine if you're reading it in a graphical browser. @@ -99,7 +101,7 @@ scratching a personal itch, then mom can truly be called open source, even if, a mere humble set of macros standing on the shoulders of a giant named troff, she isn't programming at all.

-As a writer living in a perpeptual state of penury, all the computers +As a writer living in a perpetual state of penury, all the computers I've ever owned have been hand-me-downs -- several generations out-of-date and "resource challenged". Disk space has always been an issue, as has processor speed and available RAM. @@ -132,6 +134,13 @@ 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.

+(ADDENDUM to the previous two paragraphs: A tremendous amount of +effort has gone into creating a groff manual that can be read with +"info," as well as creating truly useful man pages. The info +manual is clear and well-written, so my comments are actually out +of date. I leave them in for the benefit of groff newbies, who may +still find the documents a bit intimidating.) +

For some time now, groff users and macro writers have had the option to use "long" names, yet have mostly chosen not to. With long names, it's possible to create macro sets that are humanly @@ -145,15 +154,11 @@ newbies and old hands alike. and a host of other groff goodies that have become part of the whole groff picture under the unflagging guidance of groff's current maintainer, Werner Lemberg. Nearly every macro, number register and -string is "recognisable" simply by its name. The file is +string is "recognizable" simply by its name. The file is heavily commented. A consistent, if idiosyncratic, indenting style is used as well, significantly improving readability. Anyone wanting to futz around with mom's macros should be able to do so with a minimum of head scratching. -

-To all you groff-jocks out there who love the aracana of -groff-as-it-used-to-be, I apologise. To everyone else, I simply say: -Welcome, and enjoy.


@@ -171,13 +176,14 @@ groff mailing list at (subscription information available
here) or contact me, Peter Schaffter, directly at +df191@ncf.ca.

-

- df191@ncf.ca -
- +Please include the word "mom" or "groff" in the +Subject: line of any message sent to my personal address, or you +risk the wrath of my implacable spam filters. :)


+Next   Prev   Top   Back to Table of Contents diff --git a/contrib/mom/momdoc/cover.html b/contrib/mom/momdoc/cover.html index 11b6a854..4fa6c835 100644 --- a/contrib/mom/momdoc/cover.html +++ b/contrib/mom/momdoc/cover.html @@ -10,10 +10,11 @@ Next   Prev   Back to Table of Contents +

-

CREATING A COVER PAGE

+

CREATING A COVER PAGE

diff --git a/contrib/mom/momdoc/definitions.html b/contrib/mom/momdoc/definitions.html index 7d2d856a..2b52f6a4 100644 --- a/contrib/mom/momdoc/definitions.html +++ b/contrib/mom/momdoc/definitions.html @@ -10,7 +10,7 @@ Next   Prev   Back to Table of Contents - +

DEFINITIONS OF TERMS USED IN THIS MANUAL

@@ -28,7 +28,7 @@ to mom herself. To make life easier, I'll explain them here. Refer back to this section should you encounter a word or concept you're not familiar with. Words in these definitions that are defined elsewhere in this section are marked with asterisks. -
+


@@ -121,15 +121,15 @@ letter until the bottom of the drop cap is reached, at which point text reverts to the left margin.
Em/en -
A relative measurement equal to the width of the letter M at a -given *point size in a given *font. -Since most Ms are designed square, an em is usually (but sometimes -erroneously) considered to be the same size as the current point size -(i.e. if the point size of the type is 12, one em equals 12 points). -An en is equal to the width of a letter N (historically 2/3 of an em, -although groff treats an en as 1/2 of an em). Typically, ems and -ens are used to measure indents, or to define the length of dashes -(long hyphens). +
An em is a relative measurement equal to the width of the +letter M at a given *point size in a given +*font. Since most Ms are designed square, an em is +usually (but sometimes erroneously) considered to be the same size +as the current point size (i.e. if the point size of the type is 12, +one em equals 12 points). An en is equal to the width of a letter +N (historically 2/3 of an em, although groff treats an en as 1/2 of +an em). Typically, ems and ens are used to measure indents, or to +define the length of dashes (long hyphens).
Family
The collective name by which a collection of @@ -187,7 +187,7 @@ whitespace between them. In the days before phototypesetting, type was set from small, rectangular blocks of wood or metal, each block having exactly one letter. Because the edge of each block determined the edge of each letter, certain letter combinations (TA, -for example) didn't fit together well and had to be morticed by hand +for example) didn't fit together well and had to be mortised by hand to bring them visually closer. Modern typesetting systems usually take care of kerning automatically, but they're far from perfect. Professional typesetters still devote a lot of time to fitting letters @@ -256,9 +256,9 @@ fractionally smaller than its point size.
When only one margin of type is flush, lines of type are quadded in the direction of the flush margin. Therefore, quad left means the left margin is flush, the right isn't. Quad right means the right -margin is flush, the left isn't. Quad center means neither the left +margin is flush, the left isn't. Quad centre means neither the left nor the right margin is flush; rather, lines of type are quadded on -both sides so that type appears centered on the page. +both sides so that type appears centred on the page.
Rag
Describes a margin that isn't flush. Rag right means the right @@ -282,7 +282,8 @@ The correct term is letter spacing, but track kerning and line kerning
Equal to *word space, however words separated by an unbreakable space will always be kept together on the same line. Expands and contracts like word space. Useful for proper names, which -should never be broken. In groff, unbreakable space is entered with +one should, whenever possibly, avoid splitting onto two lines. In +groff, unbreakable space is entered with

 	\~
@@ -300,6 +301,7 @@ the margins flush.
 point size.  Generally used to mean the average height of the bowl
 of lower case letters.
 
+


@@ -378,7 +380,7 @@ appear in your text editor are ignored. Instead, words from adjoining *input lines are added one at a time to the output line until no more words fit. Then, depending whether text is to be *justified or *quadded (left, -right, or center), and depending on whether automatic hyphenation +right, or centre), and depending on whether automatic hyphenation is turned on, groff attempts to hyphenate the last word, or, barring that, spreads and breaks the line (when justification is turned on) or breaks and quads the line (when quadding is turned on). @@ -487,7 +489,7 @@ should use. Common valid units are: i = inches p = points P = picas -c = centimeters +c = centimetres m = ems n = ens v = the current leading (line space) @@ -539,11 +541,12 @@ of an input line as meaning that what follows is a *control line. In fill modes, groff treats a space at the beginning of an input line as meaning "start a new line and put a space at the beginning of it." If you want groff to interpret periods -and apostrophes at the beginning of input lines literally (ie. print +and apostrophes at the beginning of input lines literally (i.e. print them), or spaces at the beginning of input lines as just garden variety word spaces, you must start the line with the zero-width character. +


@@ -609,7 +612,7 @@ footers.
A horizontal gap in *running text, frequently 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). +short story). Also commonly called a scene break.
Paragraph head
A title joined to the body of a paragraph; hierarchically one diff --git a/contrib/mom/momdoc/docelement.html b/contrib/mom/momdoc/docelement.html index 2413ead4..988963ff 100644 --- a/contrib/mom/momdoc/docelement.html +++ b/contrib/mom/momdoc/docelement.html @@ -10,10 +10,10 @@ Next   Prev   Back to Table of Contents - +

-

THE DOCUMENT ELEMENT TAGS

+

THE DOCUMENT ELEMENT TAGS

    @@ -54,6 +54,7 @@ she does things. This is usually done prior to but can, in fact, be done at any time in the course of a document. Any change to a tag's style affects all subsequent invocations of the tag. +

    Control macros -- changing defaults

    @@ -101,7 +102,7 @@ unless a default for TYPEWRITE is also given.

    A WORD OF ADVICE: Get familiar with mom at her default settings before exploring the -control macros. Put her through her paces. She how she behaves. +control macros. Put her through her paces. See how she behaves. Get to know what she feels like and how she looks, both in your text editor and on the printed page. Then, if you don't like something, use this documentation to find the precise macro you need to change it. @@ -109,6 +110,7 @@ There are tons of control macros. Reading up on them and trying to remember them all might lead you to think that mom is complex and unwieldy, which is not only untrue, but would offend her mightily. +

    Arguments to the control macros

    @@ -158,7 +160,7 @@ one point greater than the footnote's point size), do .FOOTNOTE_AUTOLEAD 1
-

Indents

+

Indents

Except for PARA_INDENT, the argument to the control macros that end in _INDENT is always a single digit (whole numbers @@ -172,7 +174,8 @@ correct indent for a particular tag. Control macros that end in _QUAD take the same arguments as QUAD. - +

+


Document element tags list

    @@ -258,17 +261,17 @@ arguments as

Epigraphs -color, flavour, or comment on the document they precede. Typically, -they are centered at the top of a document's first page (underneath the +colour, flavour, or comment on the document they precede. Typically, +they are centred at the top of a document's first page (underneath the title) and set in a smaller point size than that of paragraph text.

-By default, mom sets epigraphs centered and +By default, mom sets epigraphs centred and unfilled; this lets you input them on a line for line basis. This behaviour can be changed to accomodate filled epigraph "blocks." -
+

@@ -312,6 +315,7 @@ want quotes or cited text, use QUOTE or BLOCKQUOTE. +

Epigraph control macros

@@ -375,7 +379,7 @@ will break these one-liners -- if they fall at the bottom of the page -- to a new page, which is not what you want.

TIP: The last thing you want while you're writing -and editing drafts of a document (particulary stories and chapters) +and editing drafts of a document (particularly stories and chapters) is a text file cluttered up with PP's. The visual interruption in the flow of text is a serious obstacle to creativity and critiquing. @@ -399,7 +403,7 @@ that blank lines should be interpreted as PP's. .blm PP tells groff that all blank lines are really the macro PP. -
+

@@ -433,11 +437,12 @@ element tags.

  • Leading/linespacing control
  • Justification/quad control
  • First-line indent control -
  • Intitial paragraphs indent control +
  • Initial paragraphs indent control
  • Paragraph spacing control

    1. Family

    +

    The paragraph family is set with @@ -456,8 +461,10 @@ to differ from the prevailing document family.

    Mom's default paragraph (and document) family is Times Roman. +

    2. Font -- PP_FONT

    +

    To change the font used in regular text paragraphs, use .PP_FONT, @@ -474,8 +481,10 @@ remain at their default setting (medium roman) unless you change them with the appropriate control macros.

    Mom's default paragraph font is medium roman. +

    3. Leading

    +

    The paragraph leading is set with @@ -505,15 +514,17 @@ macro.

    Mom's default paragraph leading (document leading) is 16 points, adjusted to fill the page. +

    4. Justification/quad

    +

    The justification/quad-direction of regular text paragraphs (i.e. justified, or filled and quadded -left/right/center) is set with +left/right/centre) is set with JUSTIFY or QUAD @@ -542,12 +553,17 @@ Only the paragraph in question gets justified or quadded differently; subsequent paragraphs remain unaffected.

    Mom's default justification/quad-direction for -paragraphs is justified for -PRINTSTYLE_TYPESET -and quad left for -PRINTSTYLE_TYPEWRITE. - +paragraphs is +
    +

    +

    5. First-line indent -- PARA_INDENT

    +

    The first-line indent of paragraphs is controlled by PARA_INDENT, which takes one argument: the size of the indent. PARA_INDENT may be used before @@ -569,7 +585,7 @@ paragraphs, PARA_INDENT also affects quotes and blockquotes, -whose overal indenting from the left and (where applicable) right +whose overall indenting from the left and (where applicable) right margins is relative to PARA_INDENT. Furthermore, the first-line indent of paragraphs within these document elements (as well as footnotes) is also relative to PARA_INDENT (always @@ -580,8 +596,10 @@ ems for PRINTSTYLE_TYPESET and 3 picas (1/2 inch) for PRINTSTYLE_TYPEWRITE. +

    6. Indenting initial paragraphs -- INDENT_FIRST_PARAS

    +

    By default, mom does not indent the first paragraph of a document, nor the first paragraph after a head or subhead, nor the first paragraphs of @@ -600,8 +618,10 @@ before or after passing it any argument (OFF, QUIT, Q, X...) cancels its effect, meaning that first paragraphs will once again NOT be indented. +

    7. Spacing paragraphs -- PARA_SPACE

    +

    By default, mom does not insert a blank line between paragraphs. If you would like her to do so, invoke the macro .PARA_SPACE with no argument, either @@ -611,7 +631,7 @@ before or after it any argument (OFF, QUIT, Q, X...) cancels its effect, meaning that paragraphs will once again NOT be separated by a blank line. -
    +


    @@ -631,14 +651,14 @@ hierarchically in numbered and paraheads.

    -By default, heads are centered on the page, underlined, +By default, heads are centred on the page, underlined, all in caps. A double linespace precedes each head. In PRINTSTYLE TYPESET, heads are bold, slightly larger than paragraph text.

    If these defaults don't suit you, you can change them with the head control macros. -
    +

    @@ -663,7 +683,7 @@ top of the next page. in a head (i.e. one of the lines surrounded by double-quotes) has to be broken by mom in order to fit the current line-length (say, a narrow column measure), the head underline -(underscore) will not behave. You'll recognise the problem as soon +(underscore) will not behave. You'll recognize the problem as soon as you preview your document. If you encounter a head that misbehaves with respect to underlining, the solution is to supply each line as you want it as a separate argument @@ -715,6 +735,7 @@ See

    2. Capitalizing heads -- HEAD_CAPS

    +

    By default, mom sets heads in caps, regardless of the string(s) @@ -730,8 +751,10 @@ To change this behaviour, do any argument you like instead of OFF (END, QUIT, Q, X...). To turn HEAD_CAPS back on, simply invoke it without an argument. +

    3. Space before heads -- HEAD_SPACE

    +

    By default, mom deposits 2 blank lines prior to every head. If you'd prefer just a single blank line, do

    @@ -743,8 +766,10 @@ head. If you'd prefer just a single blank line, do any argument you like instead of OFF (END, QUIT, Q, X...). To restore the space before heads to 2 blank lines, invoke HEAD_SPACE without an argument. +

    4. Underlining heads -- HEAD_UNDERLINE

    +

    By default, mom underlines heads. To change this behaviour, do

    @@ -756,8 +781,10 @@ behaviour, do use any argument you like instead of OFF (END, QUIT, Q, X...). To restore underlining of heads, invoke HEAD_UNDERLINE without an argument. +

    5. Number heads -- NUMBER_HEADS

    +

    If you'd like your heads numbered, simply invoke NUMBER_HEADS with no argument. Mom will number all subsequent heads automatically (in ascending order, @@ -774,8 +801,10 @@ Should you wish to stop head numbering, invoke NUMBER_HEADS with any argument (OFF, QUIT, END, X...). Head numbering will cease, and the head number will not be included in the numbering of subheads and/or paraheads. +

    6. Reset head numbering -- RESET_HEAD_NUMBER

    +

    Should you wish to reset the head number to "1", invoke RESET_HEAD_NUMBER with no argument. If, for some reason, you want mom to use a head number that is not @@ -788,8 +817,10 @@ the next in ascending order (i.e. the last head number + 1), invoke Your next head will be numbered "6" and subsequent heads will be numbered in ascending order from "6". +

    7. Vertical inline escapes inside heads

    +

    If you need to adjust the baseline position of a head (e.g. the head falls at the top of a column and @@ -800,9 +831,9 @@ to line up with the ascenders of in other columns), you can embed a vertical motion inline escape (either -mom's +mom's or -groff's +groff's in the string(s) you pass to HEAD

    For example, @@ -851,7 +882,7 @@ document structuring.

    If these defaults don't suit you, you can change them with the subhead control macros. -
    +

    @@ -895,6 +926,7 @@ See

    2. Number subheads -- NUMBER_SUBHEADS

    +

    If you'd like your subheads numbered, simply invoke .NUMBER_SUBHEADS with no argument. Mom will number all subsequent subheads automatically @@ -909,8 +941,10 @@ Should you wish to stop subhead numbering, invoke NUMBER_SUBHEADS with any argument (OFF, QUIT, END, X...). Subhead numbering will cease, and the subhead number will not be included in the numbering of paraheads. +

    3. Reset head numbering -- RESET_SUBHEAD_NUMBER

    +

    Should you wish to reset the subhead number to "1", invoke RESET_SUBHEAD_NUMBER with no argument. If, for some reason, you want mom to use a subhead number that is not @@ -928,9 +962,7 @@ subheads will be numbered in ascending order from "4". See Vertical inline escapes inside heads. The information there applies equally to subheads. - - -
    +


    @@ -957,7 +989,7 @@ they are underlined.

    If these defaults don't suit you, you can change them with the parahead control macros. -
    +

    @@ -977,6 +1009,7 @@ only one argument (see HEAD and SUBHEAD). +

    Parahead control macros

    @@ -1002,6 +1035,7 @@ See

    2. Indent

    +

    Unlike other control macros that end in _INDENT, the argument to the macro that controls indenting of paragraph heads @@ -1029,8 +1063,10 @@ paragraphs", as defined in are not indented unless you turn INDENT_FIRST_PARAS on. +

    3. Number paraheads -- NUMBER_PARAHEADS

    +

    If you'd like your paraheads numbered, simply invoke .NUMBER_PARAHEADS with no argument. Mom will number all subsequent paraheads automatically @@ -1046,8 +1082,10 @@ parahead number (separated by a period [dot]). Should you wish to stop parahead numbering, invoke NUMBER_PARAHEADS with any argument (OFF, QUIT, END, X...). Parahead numbering will cease. +

    4. Reset head numbering -- RESET_PARAHEAD_NUMBER

    +

    Should you wish to reset the parahead number to "1", invoke RESET_PARAHEAD_NUMBER with no argument. If, for some reason, you want mom to use a parahead number that is not @@ -1060,7 +1098,7 @@ the next in ascending order (i.e. the last parahead number + 1), invoke Your next parahead will be numbered "7" and subsequent paraheads will be numbered in ascending order from "7". -
    +


    @@ -1073,10 +1111,10 @@ paraheads will be numbered in ascending order from "7".

    By default, mom marks author linebreaks -with three centered asterisks. You can change this behaviour +with three centred asterisks. You can change this behaviour with the linebreak character control macro. -
    +

    @@ -1114,12 +1152,13 @@ The first argument is any legal groff character (e.g. * [an asterisk], \(dg [a dagger], \f(ZD\N'141\fP [an arbitrary character from Zapf Dingbats], \l'4P' [a 4-pica long rule]). Mom sets the character -centered on the current line length. +centred on the current line length. (See "man groff_char" +for a list of all legal groff characters.)

    The second argument is the number of times to repeat the character.

    The third argument is a +|- value by which to raise (+) or lower (-) -the character in order to make it appear visually centered between +the character in order to make it appear visually centred between sections of text. This lets you make vertical adjustments to characters that don't sit on the baseline @@ -1141,7 +1180,7 @@ position (for PRINTSTYLE TYPESET; the vertical adjustment is -2 points for PRINTSTYLE TYPEWRITE). -
    +


    @@ -1205,7 +1244,7 @@ as does the control macro

    TIP: If you want to include snippets of programming code in -mom documents, you may come acropper of the fact +mom documents, you may come a cropper of the fact that groff (and mom's) escape character is the backslash. In order for mom not to interpret backslashes that occur in code snippets as escapes, you have to @@ -1293,6 +1332,7 @@ See

    2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)

    +

    If you'd like mom always to put a full linespace above and below quotes, invoke .ALWAYS_FULLSPACE_QUOTES with no argument. If you wish to restore mom's @@ -1304,8 +1344,10 @@ X...) NOTE: This macro also sets mom's spacing policy for blockquotes. +

    3. Underlining -- UNDERLINE_QUOTES (typewrite only)

    +

    By default in PRINTSTYLE TYPEWRITE, mom underlines quotes. If you'd rather she didn't, @@ -1323,8 +1365,10 @@ of italics by default in PRINTSTYLE TYPEWRITE, you must also make sure that ITALIC_MEANS_ITALIC is enabled (see PRINTSTYLE TYPEWRITE control macros). +

    4. Manually break a footnoted quote -- BREAK_QUOTE

    +

    Exceptionally, a quote or blockquote containing a footnote may cross a page or column. When this happens, the footnote marker may not be correct for its position relative to other footnotes on the page, and @@ -1338,7 +1382,7 @@ will be marked correctly and appear on the correct page. BREAK_QUOTE may be used with both quotes and blockquotes, and hence is aliased as BREAK_BLOCKQUOTE, BREAK_CITATION and BREAK_CITE. -
    +


    @@ -1380,7 +1424,7 @@ but know that there will be Bottom Margin Consequences unless you use the SHIM macro after you turn the blockquote off. -
    +

    @@ -1440,6 +1484,7 @@ See

    2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)

    +

    If you'd like mom always to put a full linespace above and below blockquotes, invoke .ALWAYS_FULLSPACE_QUOTES with no argument. If you wish to restore mom's @@ -1451,7 +1496,7 @@ X...). NOTE: This macro also sets mom's spacing policy for quotes. -
    +


    @@ -1514,7 +1559,7 @@ you to the left margin of running text.

    Finally, lists can be used in documents created with either the document processing macros or just the typesetting macros. -
    +

    @@ -1531,7 +1576,7 @@ Afterwards, each block of input text preceded by on a line by itself, is treated as a list item.

    The optional arguments BULLET, -DASH, DIGIT (for arabic +DASH, DIGIT (for Arabic numerals), ALPHA (for lowercase letters) and USER allow you to say what kind of enumerator you want for a given list. @@ -1643,7 +1688,7 @@ Within nested lists, mom stores the enumerator, separator and indent for any list you return backwards to (i.e. with LIST OFF), but does not store any information for lists you move forward to. -
    +


    @@ -1774,7 +1819,7 @@ digit-enumerated list, the enumerator continues incrementing from where it left off. That means, in the example above, the normal state of affairs for the alpha'ed list under "2. Feed the cat" would be c), d) and e). The solution, in such a case, is -simply to reset the enumerator --before ITEM! -- +simply to reset the enumerator --before ITEM!-- with the macro, RESET_LIST.

    RESET_LIST does exactly what it says -- resets the @@ -1808,7 +1853,7 @@ If you want the extra space to the left, invoke Of course, if the number of items in the list is less than ten (10), there's no need for PAD_LIST_DIGITS. -
    +


    @@ -1840,7 +1885,7 @@ and be done with it. (Note the obligatory use of the Mom takes care of everything: putting footnote markers in the body of the document, keeping track of how many footnotes are on the page, identifying the footnotes -themeselves appropriately, balancing them properly with the botton +themselves appropriately, balancing them properly with the bottom margin, deferring footnotes that don't fit on the page... Even if you're using COLUMNS, @@ -1848,6 +1893,7 @@ you're using

    Footnotes can be sly little beasts, though. If you're writing a document that's footnote-heavy, you might want to read the following. +

    Footnote behaviour

    @@ -1899,7 +1945,7 @@ Exceptionally, you may encounter problems with footnotes inside quotes and blockquotes that cross a page or column. See BREAK_QUOTE for a solution. -
    +

    @@ -1980,6 +2026,7 @@ See

    2. Footnote markers -- FOOTNOTE_MARKERS

    +

    If you don't want footnote markers, in either the body of the document or beside footnote entries themselves, toggle them off with .FOOTNOTE_MARKERS OFF (or @@ -1987,8 +2034,10 @@ them off with .FOOTNOTE_MARKERS OFF (or you'll have to roll your own. If you want them back on, invoke .FOOTNOTE_MARKERS with no argument. Footnote markers are on by default. +

    3. Footnote marker style -- FOOTNOTE_MARKER_STYLE

    +

    Mom gives you two choices of footnote marker style: star+dagger (see footnote behaviour @@ -2004,23 +2053,29 @@ themselves. By default, footnote numbers increase incrementally (prev. footnote number + 1) throughout the whole document. You can ask mom to start each page's footnote numbers at 1 with .RESET_FOOTNOTE_NUMBER (see below). +

    4. Reset footnote number -- RESET FOOTNOTE NUMBER

    +

    .RESET_FOOTNOTE_NUMBER, by itself, resets footnote numbering so that the next footnote you enter is numbered 1.

    .RESET_FOOTNOTE_NUMBER PAGE tells mom to start every page's footnote numbering at 1. +

    5. Footnote rule -- FOOTNOTE_RULE

    +

    If you don't want a footnote separator rule, toggle it off with .FOOTNOTE_RULE OFF (or END, QUIT, X...). Toggle it back on by invoking .FOOTNOTE_RULE with no argument. The default is to print the rule. +

    6. Footnote rule length -- FOOTNOTE_RULE_LENGTH

    +

    If you want to change the length of the footnote separator rule, invoke .FOOTNOTE_RULE_LENGTH with a length, like this, @@ -2035,7 +2090,10 @@ is required. The default is 4 picas for both printstyles. +

    +

    7. Adjust vertical position of footnote separator rule -- FOOTNOTE_RULE_ADJ

    +

    The footnote separator rule is actually a baseline rule that falls on the baseline @@ -2055,7 +2113,7 @@ raises the rule by 4-1/4 points. Note that you can only raise the rule, not lower it. A unit of measure is required. -
    +


    @@ -2076,14 +2134,14 @@ or footers (if they're on) and page numbering (if page numbers are at the bottom of the page) and deposits the word -END, centered after a blank line, beneath the last +END, centred after a blank line, beneath the last line of the document. END is enclosed between em-dashes.

    If you're writing in a language other than English, you can change what mom prints for END with the control macro FINIS_STRING. -
    +

    @@ -2142,12 +2200,11 @@ a blank string, i.e. mom will still print the em-dashes if you invoke FINIS. This, in effect, produces a -short, centered horizontal rule that terminates the document. +short, centred horizontal rule that terminates the document. (In PRINTSTYLE TYPEWRITE, it's a short, dashed line composed of four hyphens.) - -
    +


    @@ -2220,6 +2277,7 @@ to invoking QUOTE or BLOCKQUOTE, and undo them prior to terminating the endnote (i.e. before ENDNOTE OFF), otherwise the changes will affect subsequent quotes and blockquotes that appear in the document body as well. +

    Endnote behaviour

    @@ -2235,7 +2293,7 @@ the centre part of the removed.

    By default, mom starts the endnotes page with a -bold, centered, double-underscored head, "ENDNOTES". +bold, centred, double-underscored head, "ENDNOTES". Underneath--flush left, bold, and underscored--she prints the document title (or, in the case of chapters, the chapter number or title). She then prints the endnotes. Each endnote is identified by its appropriate @@ -2254,11 +2312,11 @@ The attentive will notice that endnotes have an awful lot of control macros. This is because endnotes are like a mini-document unto themselves, and therefore need not be bound by the style parameters of the body of the document. +

    A Note on Endnote Spacing

    -

    On the endnotes page(s), each new endnote is separated from the previous endnote by a full line space. This can result in a bottom margin that hangs, and is the one instance, other than the use of @@ -2274,18 +2332,18 @@ or at the end of each endnote (i.e. just before invoking ENDNOTE OFF) rather than at the top. +

    Endnotes and columnar documents

    -

    Formerly (pre 1.1.6), there was no way to set a document in columns (see COLUMNS) and then turn off column mode for endnotes. As of version 1.1.6, you may now do so. See -ENDNOTES_NO_COLUMS. -
    +ENDNOTES_NO_COLUMNS. +


    @@ -2320,7 +2378,7 @@ it (i.e. mom will insert a word space between the word and the number). See the endnote example above. -
    +

    @@ -2350,7 +2408,7 @@ appropriately, on a separate page prior to starting the next section of the document. Each subsequent invocation of ENDNOTES outputs only those endnotes that mom collected after the previous invocation. -
    +


    Endnote control macros

    @@ -2373,13 +2431,13 @@ to the first instance of
  • Size of paragraph first line indent in multi-paragraph endnotes
  • Inserting space between paragraphs of multi-paragraph endnotes
  • Turning off column mode during endnotes output -
  • Pagination of endnotes +
  • Pagination of endnotes: -
  • Suspending pagination of endotes pages +
  • Suspending pagination of endnotes pages
  • Endnotes-page header/footer control
  • Endnote document-identification title
      @@ -2462,6 +2520,7 @@ the point size of other endnote page elements is calculated. The default for PRINTSTYLE TYPESET is 12.5 points (the same default size used in the body of the document). +

      @@ -2511,6 +2570,7 @@ is 14 points, adjusted. default, adjust endnote leading. You MUST enter ENDNOTE_LEAD <lead> with no ADJUST argument to disable this default behaviour. +

      @@ -2527,13 +2587,14 @@ single-spaced, endnotes are single-spaced.

      If, for some reason, you'd prefer that endnotes be single-spaced in an otherwise double-spaced document (including double-spaced -collated documents), invoke -SINGLESPACE_ENDNOTES with no argument. And if, -god help you, you want to change endnote single-spacing back to -double-spacing for different spacing of endnotes output at the ends -of separate docs in a collated doc, invoke -SINGLESPACE_ENDNOTES with any argument(OFF, -QUIT, Q, X...). +collated +documents), invoke SINGLESPACE_ENDNOTES with +no argument. And if, god help you, you want to change endnote +single-spacing back to double-spacing for different spacing of +endnotes output at the ends of separate documents in a collated +document, invoke SINGLESPACE_ENDNOTES with any +argument (OFF, QUIT, Q, X...). +

      @@ -2561,6 +2622,7 @@ for (the one attached immediately to the identifying endnote number) is never indented. Only subsequent paragraphs are affected by ENDNOTE_PARA_INDENT. +

      @@ -2580,6 +2642,7 @@ endnotes. NOTE: Each endnote itself is always separated from any previous endnote by a line space. ENDNOTE_PARA_SPACE refers only to paragraphs that appear within each discrete endnote. +

      @@ -2601,6 +2664,7 @@ If you output endnotes at the end of each document in a document set in columns, column mode will automatically be reinstated for each document, even with ENDNOTES_NO_COLUMNS turned on. +

      @@ -2639,6 +2703,7 @@ you have to reset every separate document's first page number after COLLATE and before START. +

      @@ -2652,6 +2717,7 @@ tells ENDNOTES not to print a page number on the first endnotes page. Mom's default is to print the page number. +

      @@ -2671,6 +2737,7 @@ continues, however to increment page numbers silently. To restore normal document pagination after endnotes, invoke RESTORE_PAGINATION (again, with no argument) immediately after ENDNOTES. +

      2. Endnotes-page header/footer control

      @@ -2693,7 +2760,7 @@ the endnotes page(s) headers/footers, invoke with no argument.

      An important change you may want to make is to put the word -"Endnotes" in the header/footer center position. +"Endnotes" in the header/footer centre position. To do so, do

      @@ -2707,8 +2774,9 @@ prior to invoking .ENDNOTES.  If your
       is CHAPTER, you must also invoke
       ENDNOTES_HEADER_CENTER
       for the HEADER_CENTER to appear.
      +

      -

      *Endnotes page(s) header/footer center string

      +

      *Endnotes page(s) header/footer centre string

      Macro: ENDNOTES_HEADER_CENTER toggle @@ -2719,11 +2787,12 @@ is CHAPTER and you want mom to include a centre string in the headers/footers that appear on endnotes pages, invoke ENDNOTES_HEADER_CENTER (or ENDNOTES_FOOTER_CENTER) with no argument. -Mom's default is NOT to print the center string. +Mom's default is NOT to print the centre string.

      -If, for some reason, having enabled the header/footer center string +If, for some reason, having enabled the header/footer centre string on endnotes pages, you wish to disable it, invoke the same macro with any argument (OFF, QUIT, Q, X...). +

      *Allow headers on endnotes_pages

      @@ -2748,6 +2817,7 @@ If you want headers on every page including the first, do mom prints footers on every endnotes page. This is a style convention. In mom, there is no such beast as ENDNOTES_ALLOWS_FOOTERS OFF. +

      3. Endnotes-page first page head (title) control

      @@ -2766,6 +2836,7 @@ you don't want a head at the top of the first endnotes-page, invoke ENDNOTE_STRING with a blank argument (either two double-quotes side by side -- "" -- or no argument at all). +

      @@ -2778,7 +2849,7 @@ See .ENDNOTE_STRING_FAMILY default = prevailing document family; default is Times Roman .ENDNOTE_STRING_FONT* default = bold .ENDNOTE_STRING_SIZE default = +1 -.ENDNOTE_STRING_QUAD default = centered +.ENDNOTE_STRING_QUAD default = centred *Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)

      @@ -2804,14 +2875,14 @@ NONE, etc.) into your document prior to outputting endnotes with -

      *Endnotes-page head (title) automatic capitalisation

      +

      *Endnotes-page head (title) automatic capitalization

      Macro: ENDNOTE_STRING_CAPS toggle

      Invoked by itself, ENDNOTE_STRING_CAPS will -automatically capitalise the endnotes-page head. Invoked with any -other argument, the macro disables automatic capitalisation of the +automatically capitalize the endnotes-page head. Invoked with any +other argument, the macro disables automatic capitalization of the head.

      If you're generating a table of contents, you may want the @@ -2821,8 +2892,9 @@ case. If the argument to is in caps/lower case and ENDNOTE_STRING_CAPS is on, this is exactly what will happen.

      -Mom's default is to capitalise the endnotes-pages +Mom's default is to capitalize the endnotes-pages head string. +

      @@ -2845,6 +2917,7 @@ double-quotes side by side -- "" -- or no argument at all). This is particularly useful if you have a single (i.e. non-collated) document and find having the document's title included in the endnotes redundant. +

      @@ -2869,7 +2942,7 @@ See Macro: ENDNOTE_TITLE_UNDERSCORE toggle

      -Inovked by itself, ENDNOTE_TITLE_UNDERSCORE will +Invoked by itself, ENDNOTE_TITLE_UNDERSCORE will underscore the endnote document-identification title(s). Invoked with any other argument, the macro disables underscoring of the title(s).

      @@ -2877,6 +2950,7 @@ other argument, the macro disables underscoring of the title(s). insert .ENDNOTE_TITLE_UNDERSCORE OFF (or QUIT, X, NO, NONE, etc.) into your document prior to outputting endnotes with ENDNOTES. +

      @@ -2950,7 +3024,7 @@ endnotes, you'd want to do to ensure that the numbers hang and are properly right-aligned. -
      +


      @@ -2976,8 +3050,6 @@ comes out like this: sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. - -

      @@ -3009,6 +3081,7 @@ than endnotes. As always, the reason for so many control macros is so that if you want to change just about any aspect of the toc's typographic appearance, you can. Mom is all about simplicity AND flexibility. +

      TOC behaviour

      @@ -3062,7 +3135,7 @@ point size and indent of each type of toc entry (i.e. title, head, subhead, paragraph head). Furthermore, the page numbering style can be changed, as can the amount of visual space reserved for toc entry page numbers. -
      +

      @@ -3073,7 +3146,7 @@ entry page numbers.

      If you want a toc, just put TOC as the last macro in a document. Mom takes care of the rest. -
      +


      TOC control macros

      @@ -3135,6 +3208,8 @@ family. All elements on a toc page also have their own _FAMILY control macros, which override the default set by TOC_FAMILY. +

      +

      *Toc point size

      @@ -3170,6 +3245,7 @@ The default for PRINTSTYLE TYPESET is 12.5 points (the same default size used in the body of the document). +

      @@ -3223,6 +3299,7 @@ default, adjust toc leading. You MUST enter ADDITIONAL NOTE: Tocs are always double-spaced in PRINTSTYLE TYPEWRITE, regardless of whether the body of the document is single-spaced. +

      2. Toc page numbering

      @@ -3241,7 +3318,7 @@ document pagination control macros immediately prior to A special macro, TOC_PAGENUM_STYLE controls the style of toc pages page numbers. -
      +


      @@ -3264,8 +3341,8 @@ OFF or PAGINATE OFF disables toc pagination for the first toc page only. You MUST use .PAGINATE_TOC OFF to disable toc pagination, even if pagination is turned off elsewhere in your document. -

      +


      @@ -3276,7 +3353,7 @@ if pagination is turned off elsewhere in your document.

      By default, mom uses roman numerals to number -toc pages. Use TOC_PAGENUM_STYLEif you'd prefer +toc pages. Use TOC_PAGENUM_STYLE if you'd prefer something else. For example, to have standard digits instead of roman numerals, do the following:

      @@ -3284,9 +3361,8 @@ roman numerals, do the following: .TOC_PAGENUM_STYLE DIGIT -


      -
      +

      3. Changing the toc header (title) string and style

      @@ -3318,14 +3394,15 @@ paragraph heads as they appear in the toc. Their style is managed by the usual control macros, starting with TOC_ +

      The toc _INDENT control macros

      The toc control macros that end in _INDENT all take a single argument that requires a unit of measure. -The argument is the distance to indent the entry from the left -margin. For example, +The argument is the distance to indent the entry, always measured +from the left margin. For example,

       	.TOC_HEAD_INDENT 2P
      @@ -3334,6 +3411,7 @@ margin.  For example,
       indents head entries 2
       picas
       from the left margin.
      +

      *Changing the style for toc title entries

      @@ -3416,8 +3494,8 @@ The following macros allow you to switch page margins should they be incorrect for recto/verso printing, to establish how many placeholders to leave for page listings, and to have mom append author(s) to toc title entries. +

      -


      @@ -3436,8 +3514,8 @@ want an odd, or vice versa.

      The same result can be accomplished by outputting a BLANKPAGE. +

      -


      @@ -3469,8 +3547,8 @@ Deere--are responsible for a single article
      would be a good way to identify them in the toc. +

      -


      @@ -3488,7 +3566,6 @@ placeholders, say 2, do .TOC_PADDING 2 -

      @@ -3518,9 +3595,8 @@ only want one blank page, you have to tell mom:
       	.BLANKPAGE 1
       
      - -


      + Next   Prev   Top   diff --git a/contrib/mom/momdoc/docprocessing.html b/contrib/mom/momdoc/docprocessing.html index 0e8505cd..98b2af51 100644 --- a/contrib/mom/momdoc/docprocessing.html +++ b/contrib/mom/momdoc/docprocessing.html @@ -10,21 +10,20 @@ Next   Prev   Back to Table of Contents - +

      -

      DOCUMENT PROCESSING WITH MOM -

      +

      DOCUMENT PROCESSING WITH MOM

      - Introduction to document processing
      Some document defaults -

      +
      * IMPORTANT NOTE on leading/spacing and bottom margins *
      -    The SHIM macro -

      +The SHIM macro +
      +

      Table of Contents for document processing

    +

    Introduction to document processing

    -

    + As explained in Document processing with mom, document processing uses markup tags to identify document elements @@ -227,13 +227,13 @@ Setting up a mom doc is a simple, four-part procedure. You begin by entering information about the document itself (title, subtitle, author, etc.). Next, you tell mom what kind of document you're creating (e.g. chapter, letter, abstract, -etc...) and what kind of output you want (typeset, typewrittten, +etc...) and what kind of output you want (typeset, typewritten, draft-style, etc). Thirdly, you make as many or as few changes to mom's default behaviour as you wish. Lastly, you invoke the START macro. Voilą! You're ready to write. -
    +


    @@ -251,7 +251,7 @@ documentation. Just in case, here they are.
  • the left and right margins are 1-inch
  • the top and bottom margins for document text are plus/minus visually 1-inch -
  • pages are numbered; the number appears centered, at the +
  • pages are numbered; the number appears centred, at the bottom, surrounded by hyphens ( e.g. -6- )
  • the first page of a document begins with a document header @@ -264,7 +264,7 @@ Another way to check up on document processing defaults is to have a look at the macro file (om.tmac). Each macro is preceded by a description that (generally) says what its default is (if it has one). -
    +


    @@ -320,7 +320,7 @@ around with leading and/or spacing. The macro is called SHIM (like those little pieces of wood carpenters use to get their work even, level and snug), and it's described below. -
    +

    @@ -338,7 +338,7 @@ need to get mom's document leading back on track.

    For example, say you want to insert a picture into a document with the special groff macro, PSPIC (see the -grops man page for useage). +grops man page for usage).

    Pictures aren't usually conveniently sized in multiples of document leading, which means that when you insert the picture, you disrupt @@ -383,11 +383,10 @@ falls exactly where it's supposed to.


    Document setup

    - +

    Tutorial -- Setting up a mom document

    -

    There are four "parts" to setting up a mom doc (three, actually, with one optional). Before we proceed, though, be reassured that something as simple as @@ -537,7 +536,7 @@ The setup for Joe Blow's story now looks like this: .FAMILY H .PT_SIZE 12 .LS 14 - .QUAD LEFT \"ie. rag right + .QUAD LEFT \"i.e. rag right .FOOTERS .LINEBREAK_CHAR * @@ -564,7 +563,7 @@ Here's the complete setup for My Pulitzer Winner: .FAMILY H .PT_SIZE 12 .LS 14 - .QUAD LEFT \"ie. rag right + .QUAD LEFT \"i.e. rag right .FOOTERS .LINEBREAK_CHAR * \# @@ -618,7 +617,7 @@ number of drafts already, J. Blow may very well decide his as well leave in the superfluous macros. That way, when draft 7, rev. 62 becomes draft 8, rev. 1, he'll be ready to tackle his Pulitzer winner again. -
    +


    @@ -634,7 +633,7 @@ and page headers. They must go at the top of any file that uses mom's document processing macros. - +

    Reference macros list

    @@ -648,6 +647,7 @@ document processing macros.
  • DRAFT
  • REVISION +
    @@ -676,7 +676,7 @@ the title always gets converted to caps. DOCTYPE is CHAPTER, TITLE should be the title of the opus, not "CHAPTER whatever". -
    +

    @@ -723,7 +723,8 @@ the doctitle always gets converted to caps. is CHAPTER, you don't need DOCTITLE. TITLE takes care of everything. -
    +

    +


    @@ -738,7 +739,7 @@ The subtitle string can be caps or caps/lower-case. Since a document's subtitle appears only in the docheader, and the title is most likely in caps, I recommend caps/lower case. -
    +

    @@ -770,7 +771,7 @@ authors), redefine the appropriate part of the header (see

    The strings can be caps or caps/lower-case. I recommend caps/lower case. -
    +

    @@ -796,9 +797,9 @@ no purpose and mom ignores it. CHAPTER_STRING

    If you're not writing in English, you can ask mom -to use the word for chapter in your own language by telling -her what it is with the CHAPTER_STRING macro, -like this: +to use the word for "chapter" in your own language by +telling her what it is with the CHAPTER_STRING +macro, like this:

     	.CHAPTER_STRING "Chapītre"
    @@ -807,7 +808,7 @@ like this:
     You can also use CHAPTER_STRING if you want
     "CHAPTER" instead of "Chapter" in the doc- and
     page-headers.
    -
    +

    @@ -842,7 +843,7 @@ page headers, not "Chapter #". If you omit CHAPTER when setting up your reference macros, only the title will appear, both at the top of page one and in subsequent page headers. -
    +

    @@ -881,8 +882,8 @@ argument, in which case, no draft number will be printed beside DRAFT_STRING

    If you're not writing in English, you can ask mom -to use the word for draft in your own language by telling -her what it is with the DRAFT_STRING macro, +to use the word for "draft" in your own language by +telling her what it is with the DRAFT_STRING macro, like this:

    @@ -909,7 +910,7 @@ want, this is also the only way to do it.  Simply leaving out
     .DRAFT and .DRAFT_STRING will
     result in mom using her default, which is to print
     "Draft 1".
    -
    +

    @@ -948,8 +949,8 @@ argument, in which case, no revision number will be printed beside REVISION_STRING

    If you're not writing in English, you can ask mom -to use the word for revision, or a shortform therof, in -your own language by telling her what it is with the +to use the word for "revision," or a shortform +thereof, in your own language by telling her what it is with the REVISION_STRING macro, like this:

    @@ -986,6 +987,7 @@ The above, naturally, has no draft information.  If you want to
     roll your own .DRAFT and/or
     .DRAFT_STRING as well, simply supply arguments to
     either or both.
    +


    @@ -1015,6 +1017,7 @@ draft and revision information in the headers) or a final copy.
  • COPYSTYLE +
    @@ -1030,7 +1033,7 @@ in the and page headers. LETTER tells her that you want to write a -lettter. +letter.

    Mom's default DOCTYPE is DEFAULT. If that's what you want, you don't @@ -1058,9 +1061,9 @@ underneath. If you omit the reference macro but supply a CHAPTER_TITLE, mom prints only the chapter title. (*For -backward compatability with pre-1.1.5 versions of +backward compatibility with pre-1.1.5 versions of mom, you can also supply a chapter title by -ommitting the CHAPTER reference macro and +omitting the CHAPTER reference macro and supplying a chapter title with CHAPTER_STRING.)

    @@ -1088,7 +1091,7 @@ for how mom outputs each part of the page header.) the section Writing Letters for instructions on using mom to format letters. -
    +

    @@ -1182,7 +1185,7 @@ or singlespaced, the only way to get it is with the macro, and then ONLY if DOC_LEAD is set before you invoke the START macro. - +

    TYPESET defaults

     	Family            = Times Roman
    @@ -1263,7 +1266,7 @@ headers/footers should they become crowded (quite likely to
     happen if the title of your document is long and your
     COPYSTYLE
     is DRAFT).
    -
    +

    @@ -1290,13 +1293,13 @@ you want to. REVISION (see reference macros), - appear in the center part of + appear in the centre part of page headers - (or footers, depending on which you'ves selected) along with + (or footers, depending on which you've selected) along with any other information that normally appears there.

    -IMPORTANT: If you define your own center part for page +IMPORTANT: If you define your own centre part for page headers with HEADER_CENTER, no draft and/or revision number will appear there. If you want draft @@ -1307,11 +1310,11 @@ and revision information in this circumstance, use

    1. it respects the starting page number you give the document -
    2. page numbers are set in normal (arabic) digits +
    3. page numbers are set in normal (Arabic) digits
    4. no draft or revision number appears in the page headers

    -NOTE: The center part of page headers can get crowded, +NOTE: The centre part of page headers can get crowded, especially with DOCTYPE CHAPTER and @@ -1324,17 +1327,17 @@ Another, which only works with PRINTSTYLE TYPESET, is to reduce the size of the header's centre part only (with HEADER_CENTER_SIZE). -And finally, you can elect to have the draft/revsion information -attached to page numbers instead of having it appear in the center +And finally, you can elect to have the draft/revision information +attached to page numbers instead of having it appear in the centre of page headers (see DRAFT_WITH_PAGENUMBER). -
    +


    Changing type/style parameters prior to START

    - +

    In the third (optional) part of setting up a document (see Tutorial -- setting up a mom document), you can use the @@ -1363,10 +1366,11 @@ adjusted to fill pages fully to the bottom margin.

  • Docheader control +

    Using the typesetting macros prior to START

    - +

    From time to time (or maybe frequently), you'll want the overall look of a document to differ from mom's defaults. Perhaps you'd like her to use a different @@ -1404,7 +1408,7 @@ the equivalent to setting the right margin with R_MARGIN FAMILY The family of all type in the document PT_SIZE The point size of type in paragraphs; mom uses this - calculate automatic point size changes (eg. for heads, + calculate automatic point size changes (e.g. for heads, footnotes, quotes, headers, etc) **LS/AUTOLEAD The leading used in paragraphs; all leading and spacing of running text is calculated from this @@ -1425,7 +1429,7 @@ If you want to change any of the basic parameters (above) document globally (as if you'd entered them before START), you must use the macros listed in Changing document-wide style parameters after START. -
    +

    @@ -1500,7 +1504,7 @@ adjust the leading of endnotes pages and toc pages. See and TOC_LEAD for an explanation of how to disable this default behaviour. -
    +

    @@ -1556,7 +1560,7 @@ like the way mom does things) and use to ensure that the body of your document starts where you want. You can even insert a PostScript file (with .PSPIC; see the grops man page for usage). - +

    How to change the look of docheaders: docheader control macros

    @@ -1610,6 +1614,7 @@ is the prevailing family of the whole document.

    1. Change the starting position

    +

    By default, a docheader starts on the same baseline as @@ -1641,9 +1646,10 @@ you might find the docheaders a bit high when headers are off. Use DOCHEADER_ADVANCE to place them where you want. - +

    2. Adjust the leading

    +

    The leading of docheaders is the same as running text (except when @@ -1664,8 +1670,10 @@ text, a + or - sign is required before the argument (how much to add or subtract from the lead of running text). No unit of measure is required; points is assumed. +

    3. Change the family of docheader elements

    +

    The following macros let you change the family of each docheader element separately: @@ -1682,8 +1690,10 @@ of each docheader element separately: Simply pass the appropriate macro the family you want, just as you would with FAMILY. +

    4. Change the font of docheader elements

    +

    The following macros let you change the font of each docheader element separately: @@ -1701,9 +1711,10 @@ Simply pass the appropriate macro the font you want. R, B, I and BI have the same meaning as they do for FT. - +

    5. Adjust the size of docheader elements

    +

    The following macros let you adjust the point size of each docheader element separately.

    @@ -1735,6 +1746,7 @@ default = +3

    Simply pass the appropriate macro the size adjustment you want. +

    6. Change the attribution string ("by")

    @@ -1771,7 +1783,7 @@ example, would set "by" in Helvetica bold italic, 2 points smaller than normal. -
    +


    @@ -1809,7 +1821,7 @@ and (and probably the paragraph first-line indent as well). -
    +

    @@ -1846,7 +1858,6 @@ output in columns is just too ghastly for her to bear.

    Breaking columns manually

    -

    Mom takes care of breaking columns when they reach the bottom margin of a page. However, there may be times you want to break the columns yourself. There are two macros for breaking columns @@ -1898,7 +1909,7 @@ merges it with her defaults, sets up headers and page numbering, and prepares mom to process your document using the document element tags. No document processing takes place until you invoke START. -
    +

    @@ -1919,7 +1930,7 @@ don't use START. At a barest minimum before START, you must enter a PRINTSTYLE command. -
    +


    @@ -1936,7 +1947,7 @@ using (L_MARGIN, FAMILY, PT_SIZE, LS, etc). After START, you must use the following macros to make global changes to the basic type parameters of a document. -
    +

    Macro list

    @@ -1951,6 +1962,7 @@ global changes to the basic type parameters of a document.
  • DOC_LEAD_ADJUST
  • DOC_QUAD +

    @@ -1967,7 +1979,6 @@ global changes to the basic type parameters of a document.

  • the line length remains the same (i.e. the right margin shifts when you change the left margin) -

    @@ -2086,7 +2097,7 @@ leading of endnotes pages and toc pages. See and TOC_LEAD for an explanation of how to disable this default behaviour. -
    +


    @@ -2100,8 +2111,8 @@ for an explanation of how to disable this default behaviour.

  • affects paragraphs, epigraphs and footnotes; does not affect blockquotes +
    -


    Next   Prev   diff --git a/contrib/mom/momdoc/goodies.html b/contrib/mom/momdoc/goodies.html index 54a33c3a..b152b50b 100644 --- a/contrib/mom/momdoc/goodies.html +++ b/contrib/mom/momdoc/goodies.html @@ -10,16 +10,16 @@ Next   Prev   Back to Table of Contents - +

    -

    Goodies

    +

    Goodies

    - +

    The macros in this section are a collection of useful (and sometimes -nearly indispensible) routines to simplify typesetting. - +nearly indispensable) routines to simplify typesetting. +

    Goodies list

    @@ -151,7 +151,7 @@ of your documents, please. EXPERTS: ALIAS is an alias of .als. You can use either, or mix 'n' match with impunity. -
    +

    @@ -204,7 +204,7 @@ or to which you've passed the J or QUAD argument. You must insert .BR yourself, or risk a portion of your text disappearing into a black hole. -
    +

    @@ -241,7 +241,7 @@ turns it off (i.e. suspends the trap), and no argument turns it Have a look at the IMPORTANT sections of EL and TN to see TRAP in action. -
    +

    @@ -249,15 +249,20 @@ of EL and TN to see

    Convert typewriter doublequotes to proper doublequotes


    Macro: SMARTQUOTES [<off>] [ ,, | >> | << ] +
    +or +
    +Macro: SMARTQUOTES DA | DE | EN | ES | FR | IT | NL | NO | PT | SV

    -If you SMARTQUOTES without an argument, +If you invoke SMARTQUOTES without an argument, mom converts all instances of the inch-mark, -(" --also called a "doublequote"), into -the appropriate instances of true Anglo-American open-and -close-doublequotes. (See the paragraphs on the meaning of the -optional arguments for how to get SMARTQUOTES to behave correctly -for non-English quoting styles.) +(" -- also called a "doublequote"), into +the appropriate instances of true Anglo-American open- and +close-doublequotes. (See +Internationalization +for how to get SMARTQUOTES to behave correctly for non-English +quoting styles.)

    Typographically, there is a difference between the inch-mark and doublequotes -- a BIG difference. Sadly, typewriters and computer @@ -268,43 +273,59 @@ typeset copy. Failure to turn inches into quotes is the first thing a professional typesetter notices in documents prepared by amateurs. And you don't want to look like an amateur, do you?

    +

    Internationalization

    +

    If you invoke SMARTQUOTES with one of the optional -arguments ,,, >> or -<<, you can use " as "cheap" +arguments (,, or >> or +<<) you can use " as "cheap" open- and close-quotes when inputting text in a language other than English, and have mom convert them, on output, into the chosen open- and close-quote style.

    -,, -opens quotes with "lowered doublequotes" and closes them -with "raised doublequotes", as in this ascii +,, opens quotes with "lowered doublequotes" and +closes them with "raised doublequotes", as in this ascii approximation:

     	,,Hilfe !``
     
    ->> -opens quotes with guillemets pointing to the right, and closes -them with guillemets pointing to the left, as in this ascii -approximation: +>> opens quotes with guillemets pointing to the +right, and closes them with guillemets pointing to the left, as in +this ascii approximation:

     	>>Zurück !<<
     
    -<< -opens quotes with guillemets pointing to the left, and closes -them with guillemets pointing to the right, as in this ascii -approximation: +<< opens quotes with guillemets pointing to the +left, and closes them with guillemets pointing to the right, as in +this ascii approximation:

     	<<Mais monsieur! Je ne suis pas ce genre de fille!>>
     
    -Please note: the arguments to SMARTQUOTES are -literal ASCII characters. ,, is two commas, << is two -less-than signs and >> is two greater-than signs. +Please note: the above arguments to SMARTQUOTES +are literal ASCII characters. ,, is two commas, +<< is two less-than signs and >> +is two greater-than signs. +

    +Alternatively, you can pass SMARTQUOTES the +two-letter, ISO 639 abbreviation for the language you're writing in, +and mom will output the correct quotes. +

    +

    +	.SMARTQUOTES DA     = Danish      >>text<<
    +	.SMARTQUOTES DE     = German      ,,text``
    +	.SMARTQUOTES ES     = Spanish     ``text““
    +	.SMARTQUOTES FR     = French      << text >>
    +	.SMARTQUOTES IT     = Italian     << text >>
    +	.SMARTQUOTES NL     = Dutch       ““text““
    +	.SMARTQUOTES NO     = Norwegian   <<text>>
    +	.SMARTQUOTES PT     = Portuguese  <<text>>
    +	.SMARTQUOTES SV     = Swedish     >>text>>
    +

    Turn SMARTQUOTES off by passing it any argument not in the argument list (e.g. OFF, @@ -349,7 +370,7 @@ the foot- and inch-marks, when you need them, with the inline escapes \*[FOOT] and \*[INCH], instead of ' and ". -
    +

    @@ -443,7 +464,7 @@ no solution to the occasional problems with justified copy. printed, looks fine. Generally, I recommend using gv to preview files anyway. See the section on previewing. -
    +

    @@ -487,7 +508,7 @@ to UNDERSCORE2 as to UNDERSCORE. See the NOTES for UNDERSCORE. -
    +

    @@ -500,7 +521,7 @@ Macro: UNDERLINE toggle If your font is Courier, or you're using the document processing macro PRINTSTYLE TYPEWRITE, UNDERLINE allows you to underline words and -passages that, in typeset copy, would be italicised. You invoke +passages that, in typeset copy, would be italicized. You invoke UNDERLINE as you do with all toggle macros -- by itself (i.e. with no argument) to initiate underlining, and with any argument to turn underlining off. @@ -513,7 +534,7 @@ readable copy than a solid underline. inline with the escapes \*[UL]...\*[ULX]. -
    +

    @@ -526,7 +547,7 @@ Inline: \*[UL]...\*[ULX] If your font is Courier, or you're using the document processing macro PRINTSTYLE TYPEWRITE, \*[UL]...\*[ULX] underlines words and -passages that, in typeset copy, would be italicised. +passages that, in typeset copy, would be italicized.

    \*[UL] underlines all letters, words and numbers following it, but not punctuation or spaces. This makes for more @@ -691,7 +712,7 @@ this is to use the groff \(lq and \(rq (leftquote and rightquote respectively) whenever double-quotes are required in the string passed to PAD. -
    +

    @@ -717,7 +738,7 @@ Once you've changed the pad marker, the new marker remains in effect for every instance of PAD until you change it again (say, back to the pound sign). -
    +

    @@ -921,7 +942,7 @@ e.g. points, therefore do not append any unit of measure -to the argument. And always be sure to preprend the plus or +to the argument. And always be sure to prepend the plus or minus sign, depending on whether you want the drop cap larger or smaller. @@ -975,7 +996,6 @@ I'm neither a mathematician nor a chemist, so I don't need them. Of course, anyone who wishes to contribute a subscript routine to mom will receive eternal blessings not only in this lifetime, but in all lifetimes to come. -


    Next   diff --git a/contrib/mom/momdoc/headfootpage.html b/contrib/mom/momdoc/headfootpage.html index c101dad4..5ac3c083 100644 --- a/contrib/mom/momdoc/headfootpage.html +++ b/contrib/mom/momdoc/headfootpage.html @@ -10,10 +10,11 @@ Next   Prev   Back to Table of Contents +

    -

    PAGE HEADERS, FOOTERS, AND PAGINATION

    +

    PAGE HEADERS, FOOTERS, AND PAGINATION

      @@ -68,7 +69,6 @@

      Introduction

      -

      Headers and footers, @@ -114,16 +114,17 @@ correspondingly dense at this point. above or below running text is technically a kind of header/footer, mom and this documentation treat it as a separate page element. +

      General description of headers/footers

      -Headers comprise three distinct parts: a left part, a center part, +Headers comprise three distinct parts: a left part, a centre part, and a right part. Each part contains text (a "string") that identifies some aspect of the document as a whole.

      The left part ("header left") lines up with the document's -left margin. The center part ("header center") is -centered on the document's line length. The right part ("header +left margin. The centre part ("header centre") is +centred on the document's line length. The right part ("header right") lines up with the document's right margin. Not all parts need contain a string, and if you don't want headers at all, you can turn them off completely. @@ -138,7 +139,7 @@ to the document type selected with DOCTYPE. You can, however, supply whatever strings you like -- including page numbers -- to go in any part of headers. What's more, you can set the -family, font, size and capitalisation style (caps or caps/lower-case) +family, font, size and capitalization style (caps or caps/lower-case) for each header part individually.

      By default, mom prints a horizontal rule beneath @@ -147,11 +148,12 @@ footers, the rule is above running text. You can increase or decrease the space between the header and the rule if you like (with HEADER_RULE_GAP), or remove it completely. +

      Default specs for headers/footers

      Mom makes small type adjustments to each part of -the header (left, center, right) to achieve an aesthetically +the header (left, centre, right) to achieve an aesthetically pleasing result. The defaults are listed below. (The strings mom puts by default in each part are explained in DOCTYPE.) @@ -179,7 +181,9 @@ up, mom has a special macro, that removes all type adjustments to headers. The straightforward type specs for paragraphs are used instead, providing a simple reference point for any alterations you want to make to the family, -font, size and capitalisation style of any header part. +font, size and capitalization style of any header part. +

      +

      Vertical placement and spacing of headers/footers

      As explained in the section on @@ -245,7 +249,7 @@ or the bottom of the page, is managed exactly as if the page numbers were headers (or footers), and are controlled by the same macros. See Pagination control. -
      +


      @@ -279,7 +283,7 @@ automatically turned off. Equally, if footers are on, headers you'd prefer footers in a document, you need only invoke FOOTERS; there's no need to turn headers off first. -
      +

      @@ -318,7 +322,7 @@ Explicitly invoking footers moves page numbering to the top of the page, where its placement and spacing are the same as for headers. (I.e. the top margin of running text remains 7.5 picas.) -
      +

      @@ -349,7 +353,7 @@ page of a document, nor on first pages after COLLATE. If you don't want this behaviour, you can change it with PAGENUM_ON_FIRST_PAGE. -
      +

      @@ -366,7 +370,7 @@ first page of the document. (The docheader on page makes it redundant.) However, should you wish a footer on page 1, invoke FOOTER_ON_FIRST_PAGE without any argument. -
      +


      @@ -384,8 +388,8 @@ information contained in the headers/footers split over two pages, as is often the case with recto/verso documents.

      Say, for example, you want recto page headers to contain a document's -author, centered, and verso page headers to contain the document's -title, also centered, like this: +author, centred, and verso page headers to contain the document's +title, also centred, like this:

       	+------------------------+   +------------------------+     
      @@ -410,17 +414,17 @@ With mom's standard 3-part headers, this isn't
       possible, even when
       RECTO_VERSO
       is enabled.  RECTO_VERSO switches the left and
      -right parts of headers on alternate pages, but the center
      +right parts of headers on alternate pages, but the centre
       part remains unchanged.
       

      -Anytime you need distinctly different headers on alternate +Any time you need distinctly different headers on alternate pages, mom has macros that let you manually design and determine what goes into headers on recto pages, and what goes into headers on verso pages. The macros are HEADER_RECTO and HEADER_VERSO. -Both allow you to state whether the header is flush left, centered, +Both allow you to state whether the header is flush left, centred, or flush right, and both take a single string argument with which, by combining text and @@ -428,10 +432,10 @@ with which, by combining text and you can make the headers come out just about any way you want. Use of the \*[PAGE#] escape is permitted in the string argument (see -Including the page number in header-left, -center or -right), +Including the page number in header-left, -centre or -right), and as an added bonus, mom provides a special mechanism whereby it's possible to "pad" the string as well. -
      +

      @@ -479,9 +483,9 @@ inline escapes.

      To include the current page number in the string, use the \*[PAGE#] inline. +

      *Padding the HEADER_RECTO/HEADER_VERSO string

      -

      You can "pad" the header-recto string, a convenience you'll appreciate in circumstances such as the following.

      @@ -513,7 +517,7 @@ inserted. (If you're unsure what padding is, see Insert space into lines.) Note that if you're padding the string, it doesn't matter what quad direction you give HEADER_RECTO since -padding, by it's nature, justifies text to the left and right +padding, by its nature, justifies text to the left and right margins.

      The situation depicted above is accomplished like this: @@ -546,18 +550,18 @@ has no effect on the pad marker used in the have a literal pound sign in your HEADER_RECTO string, use the escape sequence \N'35' where you want the pound sign to go. -
      +


      Control macros for headers/footers

      -

      Virtually every part of headers (see the paragraph on how "headers" means "footers" in the introduction to headers/footers) can be designed to your own specifications. +

      Header/footer control macros

      @@ -569,11 +573,11 @@ can be designed to your own specifications.
    • HEADER_LEFT
    • HEADER_CENTER
    • HEADER_RIGHT -
    • Replacing header left, center or right with the page number -
    • Including the page number in header left, center or right +
    • Replacing header left, centre or right with the page number +
    • Including the page number in header left, centre or right
  • STYLE
      @@ -584,10 +588,10 @@ can be designed to your own specifications.
    • Part-by-part changes -
    • _FAMILY -- left, center or right family -
    • _FONT   -- left, center or right font -
    • _SIZE   -- left, center or right size -
    • _CAPS   -- left, center or right all caps +
    • _FAMILY -- left, centre or right family +
    • _FONT   -- left, centre or right font +
    • _SIZE   -- left, centre or right size +
    • _CAPS   -- left, centre or right all caps
  • VERTICAL PLACEMENT AND SPACING
      @@ -611,7 +615,7 @@ can be designed to your own specifications.
      - Macro: HEADER_CENTER "<text of header center>" | # + Macro: HEADER_CENTER "<text of header centre>" | #
      @@ -619,8 +623,8 @@ can be designed to your own specifications.

      -To change the text (the "string") of the left, center, -or right part of headers, invoke the appopriate macro above with +To change the text (the "string") of the left, centre, +or right part of headers, invoke the appropriate macro above with the string you want. For example, mom, by default, prints the document's author in the header-left position. If your document has, say, two authors, and you want both their names to @@ -638,9 +642,9 @@ they must be enclosed in double-quotes. NOTE: Replace HEADER_, above, with FOOTER_ to change the strings in footers. -

      *Padding the header/footer center string

      +

      *Padding the header/footer centre string

      -Macro: HEADER_CENTER_PAD LEFT | RIGHT <amount of space by which to pad center string left or right> +Macro: HEADER_CENTER_PAD LEFT | RIGHT <amount of space by which to pad centre string left or right>
      *Requires a unit of measure

      @@ -681,10 +685,10 @@ argument obviously puts the padding on the left side of the string. Most reassuring of all is that if you use HEADER_CENTER_PAD conjunction with RECTO_VERSO, -mom will pad the center string appropriately left +mom will pad the centre string appropriately left OR right, depending on which page you're on, without you having to tell her to do so. -
      +


      @@ -701,9 +705,9 @@ along. A case where you might want to do this would be if you want to output endnotes at the end of each document in a series of collated documents, and you want the word "Endnotes" to go in the header -center position of the endnotes, but want, say, the +centre position of the endnotes, but want, say, the TITLE -to go back into the center position for the next output document. +to go back into the centre position for the next output document.

      In scenarios like the above, mom has a number of "reserved" strings that you can plug into the @@ -721,7 +725,7 @@ macros. They are: \*[$CHAPTER_TITLE] -- the argument passed to .CHAPTER_TITLE

  • -Returning to the scenario above, first, you'd define a center +Returning to the scenario above, first, you'd define a centre string for the endnotes page:

    @@ -742,7 +746,7 @@ Then, you'd prepare mom for the next document:
     	.AUTHOR "Josephine Blough"
     
    -Then, you'd redefine the header center string using the reserved +Then, you'd redefine the header centre string using the reserved string \*[$TITLE], like this:

    @@ -780,12 +784,13 @@ which, assuming a .CHAPTER_STRING of
     "Chapter" and a .CHAPTER of
     "2", would put "Chapter 2" in the header centre
     position.
    +

    -

    *Replacing header-left, -center or -right with the page number

    +

    *Replacing header-left, -CENTER or -right with the page number

    If you would like to have the current page number to appear -header-left, -center, or -right instead of a text +header-left, -CENTER, or -right instead of a text string, invoke the appropriate macro, above, with the single argument # (the "number" or "pound" sign). Do NOT use @@ -795,11 +800,12 @@ double-quotes. For example, .HEADER_CENTER #
    -will print the current page number in the center part of +will print the current page number in the CENTER part of headers. +

    -

    *Including the page number in header-left, -center or -right

    +

    *Including the page number in header-left, -CENTER or -right

    If you would like to include the current page number in the string you pass to HEADER_LEFT, _CENTER, or @@ -818,7 +824,7 @@ invoke HEADER_RIGHT as follows: Header-right of page two will read "page 2 of 10", header-right of page three will read "page 3 of 10", and so on. -
    +


    @@ -858,7 +864,7 @@ typesetting macro

    NOTE: Replace HEADER_, above, with FOOTER_ to change the footer family. -
    +


    @@ -905,7 +911,7 @@ You'll most likely require this when the COPYSTYLE is DRAFT, since portions of the header may overprint if, say, the title of your document is very long. -
    +


    @@ -927,7 +933,7 @@ and point size as she uses in paragraphs. NOTE: Replace HEADER_, above, with FOOTER_ to disable mom's default behaviour for the various elements of footer style. -
    +


    @@ -959,7 +965,7 @@ for an explanation of how control macros ending in

    NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's family. -
    +


    @@ -976,7 +982,7 @@ for an explanation of how control macros ending in

    NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's font. -
    +


    @@ -993,7 +999,7 @@ for an explanation of how control macros ending in

    NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's size. -
    +


    @@ -1018,7 +1024,7 @@ QUIT, END, X...). NOTE: Replace HEADER_, above, with FOOTER_ to change a footer part's capitalization style. -
    +


    @@ -1032,7 +1038,7 @@ See Vertical placement and spacing of headers/footers for an explanation of how mom deals with headers, footers, and top/bottom page margins. -
    +

    @@ -1117,7 +1123,6 @@ as in these examples.

  • A note on header/footer margins and page numbering

    -

    Mom uses HEADER_MARGIN and FOOTER_MARGIN to establish the baseline position of page numbers in addition to the baseline position of @@ -1133,7 +1138,7 @@ there with PAGENUM_POS, you'd use HEADER_MARGIN to change their baseline placement. -
    +

    @@ -1165,7 +1170,7 @@ top margin.

    Mom's default header gap is 3 picas, -but if you want a different gap, say, 2 centimeters, do +but if you want a different gap, say, 2 centimetres, do

     	.HEADER_GAP 2c
    @@ -1202,7 +1207,7 @@ the last line of running text and a bottom page number, use
     FOOTER_GAP.  If page numbers are at the top of the
     page, change the gap between the number and the first line of running
     text with HEADER_GAP.
    -
    +


    @@ -1225,7 +1230,7 @@ footer), you can alter its placement. @@ -1251,7 +1256,7 @@ without any argument. with FOOTER_ to enable/disable the printing of the footer separator rule. (Most likely, if you're using FOOTERS, you'll want it off.) -
    +

    @@ -1302,7 +1307,7 @@ footer or mom may not get the rule gap right. Inline changes to the size of type in FOOTER_RECTO and FOOTER_VERSO should always be negative (smaller) than the default. -
    +


    @@ -1311,11 +1316,11 @@ should always be negative (smaller) than the default.

    By default, mom paginates documents. Page numbers -appear in the bottom margin of the page, centered between two hyphens. +appear in the bottom margin of the page, centred between two hyphens. As with all elements of mom's document processing, most aspects of pagination style can be altered to suit your taste with control macros. -
    +

    Pagination macros list

    @@ -1329,7 +1334,7 @@ with control macros.
  • DRAFT_WITH_PAGENUMBER -- attach draft/revision information to page numbers
  • Control macros -
    +

    @@ -1352,7 +1357,7 @@ NO, QUIT, END, X...), e.g. To (re)start pagination, invoke PAGINATE without any argument. -
    +

    @@ -1372,7 +1377,7 @@ number on the first page of a document, invoke any time to tell mom what number you want a page to have. Subsequent page numbers will, of course, be incremented by 1 from that number. -
    +

    @@ -1386,13 +1391,13 @@ Macro: PAGENUM_STYLE DIGIT | ROMAN | roman | ALPHA | alpha mom what kind of page numbering you want.

    -
    DIGIT=arabic digits (1, 2, 3...) +
    DIGIT=Arabic digits (1, 2, 3...)
    ROMAN=upper case roman numerals (I, II, III...)
    roman=lower case roman numerals (i, ii, iii...)
    ALPHA=upper case letters (A, B, C...)
    alpha=lower case letters (a, b, c...)
    -
    +

    @@ -1422,7 +1427,7 @@ page of a document, but do want one on pages that appear after START of the document, then invoke it either just before or after your first COLLATE. -
    +

    @@ -1434,7 +1439,7 @@ Macro: DRAFT_WITH_PAGENUMBER

    Sometimes, in COPYSTYLE DRAFT, -the center part of page headers gets overcrowded because of the draft +the CENTER part of page headers gets overcrowded because of the draft and revision information that go there by default. DRAFT_WITH_PAGENUMBER is one way to fix the problem. @@ -1451,7 +1456,7 @@ See the note in COPYSTYLE DRAFT for other ways of dealing with crowded page headers when formatting draft-style copy. -
    +


    @@ -1498,6 +1503,7 @@ pages at the top right position, enter
  • 3. Enclose page numbers with hyphens (on or off)

    +

    By default, mom encloses page numbers between hyphens. If you don't want this behaviour, invoke the macro PAGENUM_HYPHENS with any argument (OFF, QUIT, END, X...), @@ -1509,8 +1515,8 @@ like this: If, for some reason, you want to turn page number hyphens back on, invoke the macro without an argument. -

    +


    Next   Prev   diff --git a/contrib/mom/momdoc/inlines.html b/contrib/mom/momdoc/inlines.html index ef463703..dd486e45 100644 --- a/contrib/mom/momdoc/inlines.html +++ b/contrib/mom/momdoc/inlines.html @@ -12,14 +12,14 @@ Back to Table of Contents -

    +

    Inline escapes -

    - + +

    Introduction to inline escapes
    Index of inline escapes -
    +

    Introduction to inline escapes

    @@ -52,14 +52,14 @@ backslash character as part of a line of text, simply enter it twice character." (You can also use \e to print a literal backslash.)

    -Groff has a number of ways of recognising what constitutes a complete +Groff has a number of ways of recognizing what constitutes a complete escape sequence. This is both a boon and a curse; some escape sequences have no terminating delimiter and consequently become difficult to distinguish from real input text. Others require the use of an opening parenthesis with no corresponding closing parenthesis. Still others need to be enclosed in square brackets.

    -Mom recognises that certain escapes get used more +Mom recognizes that certain escapes get used more often than others. For these, she has a consistent input style that takes the form \*[...], which makes them stand out well from the text of your documents. These escapes are the ones listed under @@ -100,6 +100,7 @@ that take

  • Special characters +


    @@ -129,7 +130,7 @@ for other ways to change fonts inline. document processing macros, inline font changes remain in effect only for the duration of the current macro. -
    +

    @@ -189,7 +190,7 @@ of the rest of the line. of handling inline size requests (\sN, \s±N, \s(NN, \s±(NN, \s[NNN], \s±[NNN]), feel free to continue with your old habits. Mom doesn't care. -
    +

    @@ -204,7 +205,7 @@ for more details).

    Mom permits inline pairwise kerning through the use of the inline escapes -

    +

    Both \*[ALD] and \*[RLD] work in -points, hence you musn't use a unit of measure. -
    +points, hence you mustn't use a unit of measure. +

    @@ -381,7 +381,7 @@ macro and See groff's Horizontal line drawing function for more information on drawing horizontal rules. -
    +


    @@ -418,7 +418,7 @@ this: The Unix command "ls -l" will appear in Courier Bold Italic in a line that is otherwise in Times Roman. -
    +

    @@ -449,7 +449,7 @@ position on the current moves you 1.25 inches to the left (backwards). \h'-<distance>' is exactly equivalent to \*[BCK #<unit>]. -
    +

    @@ -496,7 +496,7 @@ you've done what you want to do. Otherwise, the remaining type will be set too high (if you used \v with the minus sign) or too low (if you used \v without the minus sign). -
    +

    @@ -524,7 +524,7 @@ argument. Furthermore, if the string is composed of several words separated by spaces, you MUST surround the whole escape with double quotes, as in the example above. -
    +

    @@ -567,8 +567,8 @@ the job," I prefer a vector drawing program (in my case, tgif) when I need to combine type with graphic elements (say, a complex ruled form). Inserting the results into a document is easy enough with .PSPIC (consult the grops -man page for information on this indispensible and easy-to-use macro). -
    +man page for information on this indispensable and easy-to-use macro). +

    diff --git a/contrib/mom/momdoc/intro.html b/contrib/mom/momdoc/intro.html index 91b4c279..2bbda4e0 100644 --- a/contrib/mom/momdoc/intro.html +++ b/contrib/mom/momdoc/intro.html @@ -50,7 +50,7 @@ She's aimed at three kinds of users: started.

    -As might be infered from the above, mom is two macro +As might be inferred from the above, mom is two macro packages in one: a set of typesetting macros, and a set of document processing macros. The typesetting macros govern the physical aspects of page layout and provide sane, comprehensible control over @@ -72,6 +72,7 @@ read up on groff primitives in order to accomplish what you want; the typesetting macros take care of that. +

    Typesetting with mom

    @@ -107,7 +108,7 @@ way: one step at a time with complete control over every element on the page.

    Years of reading various mailing lists dealing with computer -typesetting (groff, TeX, and friends) have convinced me that no progam +typesetting (groff, TeX, and friends) have convinced me that no program can ever replace the human eye and human input when it comes to high quality typesetting. As of this writing, a thread on the subject of "micro typography" in groff has been going on for nearly a @@ -124,7 +125,7 @@ so on. She merely tries to provide tools that allow knowledgeable typesetters to come up with solutions to these problems in ways that are somewhat easier and more intuitive than manipulating groff at the -primtive +primitive level. As a professional typesetter of more than two decades, and a writer, I have encountered few situations that cannot be handled by mom's typesetting macros. @@ -136,7 +137,7 @@ account both word AND letter spacing when lines. At present, only word spacing is adjusted, requiring what I consider an unnecessary amount of user intervention whenever letter spacing is required. - +

    Document processing with mom

    @@ -149,7 +150,7 @@ differs is in the degree of control you have over the look and placement of the various elements of a document. For example, if you don't want your heads underlined, or you want them bigger/smaller, or you'd prefer them to be in a different font, or you'd rather they -were flush left instead of centered, you can make the changes easily +were flush left instead of centred, you can make the changes easily and have them apply to the whole document. Temporary and one-off changes are easy, too.

    @@ -163,7 +164,7 @@ special macro -- high-school typing teacher proud. Footnotes, multiple columns, recto/verso printing and user designable headers and footers are also part of the fun. - +

    Mom's philosophy

    @@ -232,7 +233,7 @@ bottom of the page without some text underneath it), but in all cases where hanging bottom margins can be avoided, mom does avoid them, by clever adjustments to leading ("line spacing") and the spacing between different elements on the page. - +

    A note on mom's documentation

    @@ -271,25 +272,24 @@ are the groff info pages, available by typing at the command line (assuming you have info -istalled on your system). +installed on your system).

    I've tried to avoid reiterating the information contained in these documents; however, in a few places, this has proved impossible. -But be forewarned: I have no qualms about sidestepping excrutiating -completeness about groff usage; I'm more concerned with getting +But be forewarned: I have no qualms about sidestepping excruciating +completeness concerning groff usage; I'm more interested in getting mom users up and running. Mea culpa.

    Note: Mom's macro file (om.tmac) is heavily commented. Each macro is preceded by a -description of its arguments, function, and usage, which may +description of its arguments, function and usage, which may give you information in addition to what's contained in this documentation. - +

    How to read macro arguments

    -

    The concise descriptions of macros in this documentation typically look like this:

    @@ -326,12 +326,14 @@ simply reads
    toggle
    +

    Example 1: an argument requiring double-quotes

    Macro: TITLE "<title of document>"
    +

    The required argument to TITLE is the title of your document. Since it's surrounded by double-quotes, you must include them in the argument, like this: @@ -344,6 +346,7 @@ include them in the argument, like this:

    Macro: TAB_SET <tab #> <indent> <length> [ L | R | C | J [ QUAD ] ]
    +

    The first required argument is a number that identifies the tab (say, "3"). The second required argument is an indent from the left margin (say, 6 picas). The third required argument is the length of the tab @@ -366,12 +369,12 @@ you could enter: .TAB_SET 3 6P 3P L QUAD -

    Example 3: a sample toggle macro:

    - + +

    Example 3: a sample toggle macro:

    Macro: QUOTE toggle
    - +

    QUOTE begins a section of quoted text in a document and doesn't require an argument. When the quote's finished, you have to tell mom it's done. diff --git a/contrib/mom/momdoc/letters.html b/contrib/mom/momdoc/letters.html index a344f4c6..8a1611e8 100644 --- a/contrib/mom/momdoc/letters.html +++ b/contrib/mom/momdoc/letters.html @@ -10,6 +10,7 @@ Next   Prev   Back to Table of Contents +

    @@ -33,11 +34,11 @@ to design correspondence to your own specifications. However, flexibility in the matter of letters, which are, after all, simple communicative documents whose only real style requirements are that they be neat and professional-looking. - +

    Tutorial on writing letters

    - -Mom letters begin, like all mom -processed documents, with a +

    +Mom letters begin, like all +mom-processed documents, with a reference macro (in this case, AUTHOR), @@ -46,7 +47,8 @@ a (LETTER, obviously), the essential PRINTSTYLE macro, and -START. +START, +like this:

     	.AUTHOR    "Yannick P. Guique"
    @@ -58,30 +60,40 @@ macro, and
     PRINTSTYLE, above, could also be
     TYPEWRITE.  Mom has no objection
     to creating letters that look like they were typed on an Underwood
    -by a shapely secretary with great gams back in the 1940s.
    +by a shapely secretary with 1940s gams.
     

    -After the START macro, you enter data pertinent to +After the START macro, you enter headers pertinent to your letter: the date, the addressee (in business correspondence, -typically both name and address), the addressor (that's you; in +typically both name and address), the addresser (that's you; in business correspondence, typically both name and address), and a -greeting (in full, e.g. "Dear Mr. Smith,"). +greeting (in full, e.g. "Dear Mr. Smith," or "Dear +Mr. Smith:").

    -The macros for entering the data are simple (they're not even -toggles) -and entered in an intuitive order. -
    -

      -
    1. .DATE -
    2. .TO -
    3. .FROM -
    4. .GREETING -
    +The macros for entering the headers are simple (they're not even +toggles): +

    +

    +	.DATE
    +	.TO
    +	.FROM
    +	.GREETING
    +
    + +You may enter them in any order you like, except for +GREETING, which must come last. +Mom ignores any headers you omit and spaces the +letter's opening according to what you do include. See +Default for letters +to find out how mom formats the headers.

    -Mom ignores any you omit and spaces the letter's -opening according to what you do include. +(In pre 1.1.7-a releases of mom, the order +of entry was fixed at the above. This has been changed, although +if you do follow the above order, mom will +continue to behave exactly as she did in pre 1.1.7-a.)

    Once you've filled in what you need to get a letter started, simply -type the letter, introducing each and every paragraph with the +type the letter, introducing each and every paragraph, including +the first, with the PP macro.

    @@ -132,19 +144,78 @@ here's what the complete letter looks like. .CLOSING Sincerely,

    + +This produces a letter with headers that follow the North American +standard for business correspondence. If you'd prefer another +style of correspondence, for example, British, you'd set up the +same letter like this: +

    +

    +	.AUTHOR    "Yannick P. Guique"
    +	.DOCTYPE    LETTER
    +	.PRINTSTYLE TYPESET
    +	.START
    +	.FROM
    +	.RIGHT
    +	Y.P. GUIQUE
    +	022 Umask Road
    +	St-Sauveur-en-dehors-de-la-mappe, Québec
    +	.TO
    +	GUILLAUME BARRIČRES
    +	Minidoux Corporation
    +	5000 Pannes Drive
    +	Redmond, Virginia
    +	.DATE
    +	.RIGHT
    +	August 25, 2004
    +	.GREETING
    +	Dear Mr. Barričres,
    +
    + +Notice the use of .RIGHT after +.FROM and .DATE in this example, +used to change the default quad for these macros. +


    Defaults for letters

    -In letters, mom sets: +In letters, if the order of header macros is

    +

    +	.DATE
    +	.TO
    +	.FROM
    +	.GREETING
    +
    + +mom sets +
      -
    1. the date flush right, page right, at the top of page one -
    2. the addressee in a block flush left, page left -
    3. the addressor in a block flush left, page left -
    4. the greeting flush left +
    5. the date flush right, page right, at the top of page one, +with a gap of two linespaces underneath +
    6. the addressee in a block flush left, page left, with a gap of +one linespace underneath +
    7. the addresser in a block flush left, page left, with a gap of +one linespace underneath +
    8. the greeting flush left, with a gap of one linespace +underneath +
    +

    +which is the standard for North American business correspondence. +

    +If you switch the order of .DATE, +.TO and/or .FROM, +mom sets all the headers flush left, with a gap of +one linespace underneath. (The default left quad of any header can +be changed by invoking the .RIGHT macro, on a line +by itself, immediately before inputting the text of the header.) +

    +Following the headers, mom sets +

    +

    • the body of the letter justified
    • in multi-page letters:
        @@ -152,7 +223,7 @@ In letters, mom sets:
      • the page number at the top of every page after page one
    • the closing/signature line flush left, indented halfway across the page - +

    Other important style defaults are listed below, and may be changed via the @@ -185,7 +256,7 @@ Spaced paragraphs yes no Footers* yes yes Footer margin 3 picas 3 picas Footer gap 3 picas 3 picas -Page numbers top, centered top, centered +Page numbers top, centred top, centred *Footers contain a "next page" number of the form .../# @@ -207,6 +278,7 @@ except NO_SUITE.

  • CLOSING
  • NO_SUITE -- "next page" number off +
    @@ -224,6 +296,29 @@ underneath, like this: October 31, 2002 +If you wish to change the default quad direction for the date, +enter .LEFT or .RIGHT, on a line by itself, +immediately after .DATE. +

    +If you wish to insert additional space between the date and any +letter header that comes after it, do so after inputting the date, +not at the top of the next header macro, like this: +

    +

    +	.DATE
    +	October 31, 2002
    +	.SPACE     \" Or, more simply, .SP
    +
    + +If you wish to remove the default space, +

    +

    +	.SPACE -1v \" Or, more simply, .SP -1v
    +
    + +will do the trick. +

    +


    @@ -242,6 +337,31 @@ and address of the addressee underneath, like this: Bramladesh, Ont. +If you wish to change the default quad direction for the address, +enter .LEFT or .RIGHT, on a line by itself, +immediately after .TO. +

    +If you wish to insert additional space between the address and +any letter header that comes after it, do so after inputting the +address, not at the top of the next header macro, like this: +

    +

    +	.TO
    +	JOHN SMITH
    +	10 Roberts Crescent
    +	Bramladesh, Ont.
    +	.SPACE     \" Or, more simply, .SP
    +
    + +If you wish to remove the default space, +

    +

    +	.SPACE -1v \" Or, more simply, .SP -1v
    +
    + +will do the trick. +

    +


    @@ -251,7 +371,7 @@ Macro: FROM

    Invoke FROM on a line by itself, with the name -and address of the addressor underneath, like this: +and address of the addresser underneath, like this:

     	.FROM
    @@ -260,6 +380,31 @@ and address of the addressor underneath, like this:
     	Ste-Vieille-Andouille, Québec
     
    +If you wish to change the default quad direction for the address, +enter .LEFT or .RIGHT, on a line by itself, +immediately after .FROM. +

    +If you wish to insert additional space between the address and +any letter header that comes after it, do so after inputting the +address, not at the top of the next header macro, like this: +

    +

    +	.FROM
    +	JOE BLOW
    +	15 Brunette Road
    +	Ste-Vieille-Andouille, Québec
    +	.SPACE     \" Or, more simply, .SP
    +
    + +If you wish to remove the default space, +

    +

    +	.SPACE -1v \" Or, more simply, .SP -1v
    +
    + +will do the trick. +

    +


    diff --git a/contrib/mom/momdoc/rectoverso.html b/contrib/mom/momdoc/rectoverso.html index 88e661ea..29279452 100644 --- a/contrib/mom/momdoc/rectoverso.html +++ b/contrib/mom/momdoc/rectoverso.html @@ -10,14 +10,12 @@ Next   Prev   Back to Table of Contents +

    + -

    RECTO/VERSO PRINTING and COLLATING

    - - - -

    Recto/verso and collating

    +

    RECTO/VERSO PRINTING and COLLATING

      @@ -57,7 +55,7 @@ of the following aspects of alternating page layout: if user-defined, single string recto/verso headers or footers are used in place of the default 3-part headers or footers -
    • switching the page number position (if page numbers are not centered) +
    • switching the page number position (if page numbers are not centred)

    It is beyond the scope of this documentation to cover the different @@ -74,8 +72,7 @@ appropriately, put them back in your printer, and have work from the command line, check out the man pages for pstops and psbook. There are other programs out there as well to help with two-sided printing. -
    - +

    Recto/verso macros list

    @@ -85,6 +82,7 @@ programs out there as well to help with two-sided printing.
  • RECTO_VERSO
  • SWITCH_HEADERS (also FOOTERS) +


    @@ -92,7 +90,6 @@ programs out there as well to help with two-sided printing.

    Recto/verso printing

    -
    Macro: RECTO_VERSO

    @@ -122,11 +119,11 @@ and (before or after START).

    Equally, recto/verso only switches the page number position if page -numbers aren't centered, which means you have to set the page +numbers aren't centred, which means you have to set the page number position with PAGENUM_POS (before or after START). -
    +

    @@ -134,7 +131,6 @@ number position with

    Switch header left part/right part

    -
    Macro: SWITCH_HEADERS

    @@ -144,7 +140,7 @@ string (by default, the document title). If you don't like mom's default placement of author and title, use SWITCH_HEADERS to reverse it.

    -SWITCH_HEADERS can also be useful in conjuction +SWITCH_HEADERS can also be useful in conjunction with RECTO_VERSO. The assumption of RECTO_VERSO is that the first @@ -160,7 +156,7 @@ respect to headers) will come out as you want.

    NOTE: Replace _HEADERS, above, with _FOOTERS if your document uses footers. -
    +


    @@ -205,15 +201,14 @@ files, chances are the PRINTSTYLE's already there.
    1. Do not collate documents of differing PRINTSTYLES (i.e. don't try to - collate a TYPESET document and TYPEWRITE document -- - why would you want to do that anyway?) + collate a TYPESET document and TYPEWRITE document).
    2. Use DOC_FAMILY instead of FAMILY if, for some reason, you want to change the family of all the document elements after COLLATE. FAMILY, by itself, will change the family of paragraph text only.
    -
    +

    @@ -221,7 +216,7 @@ files, chances are the PRINTSTYLE's already there.

    Collate document files

    -
    + Macro: COLLATE

    @@ -246,7 +241,7 @@ that require their own titles, looks like this: NOTE: See the two words of caution, above. -
    +


    Next   diff --git a/contrib/mom/momdoc/reserved.html b/contrib/mom/momdoc/reserved.html index 4e88da78..70202351 100644 --- a/contrib/mom/momdoc/reserved.html +++ b/contrib/mom/momdoc/reserved.html @@ -7,11 +7,26 @@ -Prev   Back to Table of Contents

    LIST OF RESERVED WORDS

    The following is a list of "reserved" words used by mom. Before changing the name of any macro or document element tag with ALIAS, I strongly recommend doing a search of this page for your proposed new name. If you find it in the left hand column, DON'T USE IT. Choose something else instead.

    +Prev   Back to Table of Contents +

    + + + +

    LIST OF RESERVED WORDS

    + +

    The following is a list of "reserved" words used by +mom. Before changing the name of any macro or +document element tag with +ALIAS, +I strongly recommend doing a search of this page for your proposed +new name. If you find it in the left hand column, DON'T USE IT. +Choose something else instead. +

    Anyone interested in playing around inside mom's macro file (om.tmac) will find this list useful as well since it lists all -(I hope) the macros, strings, and number registers mom -uses, along with brief descriptions of their functions. +(I hope) the macros, strings, diversions and number registers +mom uses, along with brief descriptions of their +functions.

     TYPESETTING
    @@ -58,11 +73,11 @@ AUTOLEAD  Always lead n points more than .PT_SIZE
     Flush
     -----
     JUSTIFY  Justified text
    -QUAD     Filled text, left, right, or center
    +QUAD     Filled text, left, right, or centre
     
     Quad
     ----
    -CENTER  Non-filled text, center
    +CENTER  Non-filled text, centre
     LEFT    Non-filled text, left
     RIGHT   Non-filled text, right
     
    @@ -147,7 +162,7 @@ PAD              Insert padding spaces at marked places
     PADMARKER        Sets character to use instead of # in PAD
     PRINT            Simply prints args passed to it; keeps my code
                      indented nicely
    -RW               Reduce white -- tighten overal line kern
    +RW               Reduce white -- tighten overall line kern
                      (character spacing)
     SILENT           Don't print lines till SILENT OFF
     SIZESPECS        Get cap-height, x-height and descender depth for
    @@ -165,10 +180,11 @@ TYPESIZE    Diverts SIZESPECS routine so it doesn't print
     +++NUMBER REGISTERS+++
     
     #ALD                    ALD value
    -#ARGS_TO_LIST           Tells LIST whether LIST was invoked with a legal arg;
    -                        controls LIST OFF processing
    -#ARGS_TO_SQ             Tells SMARTQUOTES whether it was invoked with a legal
    -                        arg; controls SMARTQUOTES OFF processing
    +#ARGS_TO_LIST           Tells LIST whether LIST was invoked with a legal
    +                        arg; controls LIST OFF processing
    +#ARGS_TO_SQ             Tells SMARTQUOTES whether it was invoked with a
    +                        legal arg; controls SMARTQUOTES OFF
    +                        processing
     #AUTOLEAD_FACTOR        Using FACTOR arg to AUTOLEAD? (toggle)
     #AUTO_LEAD              Using autolead? (toggle)
     #AUTO_LEAD_VALUE        Auto leading value
    @@ -185,7 +201,7 @@ c                       column mark
     #CURRENT_TAB            Current tab number
     #DC_GUT                 Width of dropcap gutter
     #DEGREES                # of degrees slant for pseudo-italic
    -#ENUMERATOR          Number register enumerator for depth  in lists 
    +#ENUMERATOR<n>          Number register enumerator for depth <n> in lists 
     #EXTEND                 Are we in pseudo-extend mode? (toggle)
     #EXT_WIDTH              Width of pseudo-extended type
                             (pointsize x $EXT_PERCENT)
    @@ -200,7 +216,7 @@ c                       column mark
                             (toggle)
     #IN_TAB                 Are we in a tab? (toggle)
                             Set in macro TAB; used in ST to determine
    -                        whether to add #ST_OFFSET to #ST<#>_OFFSETT
    +                        whether to add #ST_OFFSET to #ST<#>_OFFSET
     #INDENT_ACTIVE          Indicates whether an indent is active (toggle)
     #INDENT_BOTH_ACTIVE     Toggle
     #INDENT_LEFT_ACTIVE     Toggle
    @@ -215,7 +231,7 @@ c                       column mark
     #LAST_TAB               Last tab number set in multi-columns
     #LEAD                   Leading (alias)
     #LIGATURES              Ligatures on? (toggle)
    -#LIST_INDENT         Left indent of list 
    +#LIST_INDENT<n>         Left indent of list <n>
     #L_INDENT               Value of left indent
     #L_LENGTH               Line length
     #L_MARGIN               Page offset if set with LMARGIN;
    @@ -229,7 +245,7 @@ c                       column mark
     p                       Output line horiz position at end of
                             $PAD_STRING
     #PAD_COUNT              Number of times # was included in arg to PAD
    -#PAD_LIST_DIGITS        Pad list digits to the left? 
    +#PAD_LIST_DIGITS        Pad list digits to the left? <toggle>
     #PAD_SPACE              Size of padding space
     #PAGE_LENGTH            Page length (alias)
     #PAGE_WIDTH             Page width
    @@ -239,7 +255,8 @@ p                       Output line horiz position at end of
     #Q_AT_TOP               Does a quote start at the top of a new page?
                             (toggle)
     #QUAD                   In autoquad mode? (toggle)
    -#QUIT                   Tells LIST whether to exit lists completely 
    +#QUIT                   Tells LIST whether to exit lists completely
    +                        <toggle>
     #REMOVE                 Used in LIST OFF cleanup
     #RESTORE_LEAD           Lead value in effect prior to AUTOLEAD
     #RESTORE_LINE_LENGTH    Restores actual line length in RULE
    @@ -247,8 +264,8 @@ p                       Output line horiz position at end of
                             to underscore
     #R_INDENT               Value of right indent
     #R_MARGIN               Right margin
    -#RESTORE_PREV_INDENT    Tells LIST OFF what kind of indent was active prior to
    -                        first invocation of LIST
    +#RESTORE_PREV_INDENT    Tells LIST OFF what kind of indent was active
    +                        prior to first invocation of LIST
     #RLD                    RLD value
     #SILENT                 Is silent on? (toggle)
     #SIZE_FOR_PAD           Used to ensure that the size in effect prior
    @@ -261,14 +278,19 @@ p                       Output line horiz position at end of
     #ST<#>_MARK             Page offset of autotab <#> at ST<#>X
     #ST_NUM                 Incrementing counter for autotab identification
     #ST_OFFSET              Offset (from current tab) to add to #ST<#>_OFFSET
    -                          when calculating string indents set from within tabs
    +                        when calculating string indents set from within
    +                        tabs
     #ST<#>_OFFSET           Indent of autotab <#> (page offset)
     #STORED_L_INDENT        Current left indent at first invocation of LIST
     #STORED_R_INDENT        Current right indent at first invocation of LIST
    -#STORED_BL_INDENT       Current "both, left" indent at first invocation of LIST
    -#STORED_BR_INDENT       Current "both, right" indent at first invocation of LIST
    -#STORED_HL_INDENT       Current hanging indent at first invocation of LIST
    -#STORED_T_INDENT        Current temporary indent at first invocation of LIST
    +#STORED_BL_INDENT       Current "both, left" indent at first invocation
    +                        of LIST
    +#STORED_BR_INDENT       Current "both, right" indent at first invocation
    +                        of LIST
    +#STORED_HL_INDENT       Current hanging indent at first invocation
    +                        of LIST
    +#STORED_T_INDENT        Current temporary indent at first invocation
    +                        of LIST
     t                       "mark" register set in T_MARGIN; recalled
                             in LS and AUTOLEAD if #T_MARGIN_SET is 1
     #T_INDENT               Value of temporary indent
    @@ -291,7 +313,7 @@ $CURRENT_TAB         Current tab number
     $DC_ADJUST           +|- # of points to subtract from dropcap
     $DC_FAM              Drop cap family
     $DC_FT               Drop cap font
    -$ENUMERATOR       String enumerator for depth  in lists 
    +$ENUMERATOR<n>       String enumerator for depth <n> in lists 
     $EXT_PERCENT         Percentage by which to pseudo-extend type
     $FAMILY              Family
     $FAMILY_FOR_PAD      Used to ensure that the family in effect prior
    @@ -300,12 +322,12 @@ $FAMILY_FOR_PAD      Used to ensure that the family in effect prior
     $FONT                Font
     $PAD_MARKER          Character to mark off padding in PAD
     $PAD_STRING          Arg passed to PAD
    -$QUAD_VALUE          Quad value (left, right, center, justify)
    +$QUAD_VALUE          Quad value (left, right, centre, justify)
     $QUOTE0              ``
     $QUOTE1              ''
     $RESTORE_QUAD_VALUE  Quad value for use in restoring L, R, C, J
                          (after tabs)
    -$SEPARATOR        Separator for depth  in lists
    +$SEPARATOR<n>        Separator for depth <n> in lists
     $SS_VAR              Holds + or - sentence space value
     $ST<#>_FILL          Always QUAD if QUAD passed to ST <#>
     $ST<#>_QUAD_DIR      Quad direction supplied to ST for <#>
    @@ -483,7 +505,8 @@ COLUMNS                  Print in columns
     DOC_FAMILY               Overall doc family
     DOCHEADER_ADVANCE        Start position of docheader (relative to top
                              of page)
    -DOCHEADER_LEAD           +|- value applied to #DOC_LEAD to in/decrease leading of doc header
    +DOCHEADER_LEAD           +|- value applied to #DOC_LEAD to in/decrease
    +                         leading of doc header
     DOC_HEADER               Print doc header?
     DOC_LEAD_ADJUST          Adjust #DOC_LEAD to fill page to #B_MARGIN
     DOC_LEAD                 Overall doc leading
    @@ -504,7 +527,7 @@ DO_QUOTE                 Print quote (invoked from QUOTE or BLOCKQUOTE)
     DRAFT_STRING             What to print whenever the word "draft" is
                              required
     DRAFT_WITH_PAGENUMBER    Attach draft/revision info to page number
    -                         (instead of putting it HEADER center)
    +                         (instead of putting it HEADER centre)
     ENDNOTE_FAMILY           Family for endnotes
     ENDNOTE_FONT             Font for endnotes
     ENDNOTE_LEAD             Leading for endnotes page
    @@ -534,9 +557,10 @@ ENDNOTE_NUMBERS_ALIGN_LEFT  Don't hang endnote numbers and align left
     ENDNOTES_ALLOWS_HEADERS  Page headers on endnotes pages? (toggle)
     ENDNOTES_FIRST_PAGENUMBER   Page number to appear on page 1 of endnotes
                                 pages
    -ENDNOTES_HDRFTR_CENTER   Print header/footer center string on endnotes pages?
    -ENDNOTES_HEADER_CENTER   Print header center string on endnotes pages?
    -ENDNOTES_FOOTER_CENTER   Print footer center string on endnotes pages?
    +ENDNOTES_HDRFTR_CENTER   Print header/footer centre string on endnotes
    +                         pages?
    +ENDNOTES_HEADER_CENTER   Print header centre string on endnotes pages?
    +ENDNOTES_FOOTER_CENTER   Print footer centre string on endnotes pages?
     ENDNOTES_NO_COLUMNS      Turn columnar mode off for endnotes pages
     ENDNOTES_NO_FIRST_PAGENUM   Don't print a pagenumber on page 1 of
                                 endnotes.
    @@ -565,14 +589,14 @@ FOOTNOTE_RULE_LENGTH     Length of footnote separator rule
     FOOTNOTE_RULE            Turns printing of fn separator rule on or off;
                              default is on
     FOOTNOTE_SIZE            ps of footnotes
    -HDRFTR_CENTER            String to go in center part of header/footer;
    +HDRFTR_CENTER            String to go in centre part of header/footer;
                              default doctype 
    -HDRFTR_CENTER_CAPS       Center part of header/footer in caps? (toggle)
    -HDRFTR_CENTER_FAMILY     Family of center part of header/footer
    -HDRFTR_CENTER_FONT       Font of center part of header/footer
    -HDRFTR_CENTER_PAD        Pad hdrftr center left or right by specified
    +HDRFTR_CENTER_CAPS       Centre part of header/footer in caps? (toggle)
    +HDRFTR_CENTER_FAMILY     Family of centre part of header/footer
    +HDRFTR_CENTER_FONT       Font of centre part of header/footer
    +HDRFTR_CENTER_PAD        Pad hdrftr CENTER left or right by specified
                              amount
    -HDRFTR_CENTER_SIZE       ps in/decrease of center part of header/footer**
    +HDRFTR_CENTER_SIZE       ps in/decrease of CENTER part of header/footer**
     HDRFTR_FAMILY            Family to use in the headers/footers
     HDRFTR_GAP               Distance from header/footer to running text
     HDRFTR_LEFT_CAPS         Left part of header/footer in caps? (toggle)
    @@ -593,7 +617,8 @@ HDRFTR_RIGHT_FAMILY      Family of right part of headers/footers
     HDRFTR_RIGHT_FONT        Font of right part of headers/footers
     HDRFTR_RIGHT_SIZE        Size of right part of headers/footers
     HDRFTR_RIGHT             The header/footer right string
    -HDRFTR_RULE_GAP          Space between header/footer and header/footer rule
    +HDRFTR_RULE_GAP          Space between header/footer and header/footer
    +                         rule
     HDRFTR_RULE_INTERNAL     Prints the header/footer rule
     HDRFTR_RULE              Turns header/footer rule on or off
     HDRFTR_RULE              Turns header/footer rule on or off.
    @@ -624,17 +649,19 @@ PAGENUM_HYPHENS          Turns on/off hyphens surrounding page numbers
     PAGENUM_ON_FIRST_PAGE    Print page number on first page when footers
                              are on (toggle)
     PAGENUM_POS              Controls placement of page numbers;
    -                         default=bottom/centered
    +                         default=bottom/centred
     PAGENUM_SIZE             How much to in/decrease point size of page
                              numbers*
    -PAGENUM_STYLE            Page # in roman, arabic, or alphabetic
    +PAGENUM_STYLE            Page # in roman, Arabic, or alphabetic
     PARAHEAD_FAMILY          Family to use for paraheads
     PARAHEAD_FONT            Font to use for paraheads
    -PARAHEAD_INDENT          How mucht to indent paraheads
    +PARAHEAD_INDENT          How much to indent paraheads
     PARAHEAD_SIZE            Size of paraheads*
     PARA_INDENT              Size of para indent
     PARA_SPACE               Put a line space before paras
     PP_FONT                  Overall doc font
    +PROCESS_SHIM             Calculates #SHIM when \n(.d is lower on the
    +                         page than #T_MARGIN
     QUOTE_FAMILY             Family to use in pquotes
     QUOTE_FONT               Font to use in pquotes
     QUOTE_INDENT             Value by which to multiply PP_INDENT for
    @@ -711,33 +738,32 @@ UNDERLINE_SLANT          In TYPEWRITE, render \*[SLANT] as underlined
     
        *relative to #DOC_PT_SIZE
       **relative to overall ps of headers as set by HEADER_SIZE
    - ***relative to overal ps of endnotes pages
    + ***relative to overall ps of endnotes pages
     ****relative to overall ps of toc pages
     
     +++LETTER MACROS+++
     
    -CLOSING      Closing (ie. Yours truly,)
    -DATE         Date string for letters
    -FROM         Addressor's name and address
    -GREETING     Full salutation (eg. Dear John Smith,)
    +CLOSING      Closing (i.e. Yours truly,)
    +DATE         Date for letters
    +FROM         Addresser's name and address
    +GREETING     Full salutation (e.g. Dear John Smith,)
     NO_SUITE     Remove suite page numbers from bottom of letter pages
     TO           Addressee's name and address
     ALL_DONE     .em (the "end macro") for letters
     
     +++DIVERSIONS+++
     
    -B_QUOTE      Block (indented) quote text
    -CLOSING      Closing (ie. Yours truly,)
    -DATE         Date string for letters
    -EPI_TEXT     Epigraph text
    -END_NOTES    Endnotes text
    -FN_OVERFLOW  Excess footnotes when B_MARGIN is reached
    -FOOTNOTES    Text of footnotes
    -FROM_ADDRESS Addressor's name and address
    -GREETING     Full salutation (eg. Dear John Smith,)
    -P_QUOTE      Line for line (poetic) quote text
    -TO_ADDRESS   Addressee's name and address
    -TOC_ENTRIES  TOC entries
    +B_QUOTE       Block (indented) quote text
    +CLOSING       Closing (i.e. Yours truly,)
    +EPI_TEXT      Epigraph text
    +END_NOTES     Endnotes text
    +FN_OVERFLOW   Excess footnotes when B_MARGIN is reached
    +FOOTNOTES     Text of footnotes
    +GREETING      Full salutation (e.g. Dear John Smith,)
    +LETTERHEAD<n> Date, addresser, addressee or greeting;
    +              <n> is from 1 to 4, supplied by #FIELD
    +P_QUOTE       Line for line (poetic) quote text
    +TOC_ENTRIES   TOC entries
     
     +++SUPPORT+++
     
    @@ -785,7 +811,7 @@ TRAPS                Sets hdrftr traps; optionally adjusts #DOC_LEAD
                                over footer
     #CAPS_WAS_ON               In HDRFTR, to re-enable running text CAPS
                                (toggle)
    -#CENTER_CAP_HEIGHT         Cap height of center string in
    +#CENTER_CAP_HEIGHT         Cap height of CENTER string in
                                headers/footers
     #CLOSING                   Is there a closing (for letters)? 1=yes
     #COL_L_LENGTH              Line length of columns
    @@ -802,8 +828,9 @@ TRAPS                Sets hdrftr traps; optionally adjusts #DOC_LEAD
                                endnotes in no-columns mode
     #COPY_STYLE                1=draft, 2=final
     #CURRENT_V_POS             \n(.d ; used in SHIM
    +#DATE_FIRST                Was .DATE invoked as first letter
    +                           header after .START? (toggle)
     dc                         "mark" register for document columns
    -#DATE                      Is there a date (for letters)? 1=yes
     #DEFER_PAGINATION          Tells COLLATE to restore pagination (from
                                RESTORE_PAGINATION
     #DEPTH_1                   Doc header depth with lead adjustment
    @@ -847,7 +874,8 @@ dc                         "mark" register for document columns
                                (toggle)
     #EN_NUMBERS_ALIGN_LEFT     Align endnote numbers with left margin?
                                (toggle)
    -#EN_NUMBERS_PLACEHOLDERS   Number of placeholders when endnote numbers hang and align right
    +#EN_NUMBERS_PLACEHOLDERS   Number of placeholders when endnote numbers
    +                           hang and align right
     #EN_NUMBER_L_LENGTH        Line length for endnote numbers when they're
                                right aligned
     #EN_PP_INDENT              First line indent of paras in multi-para
    @@ -855,7 +883,7 @@ dc                         "mark" register for document columns
     #EN_PP_SPACE               Space multi-paras in endnotes? (toggle)
     #EN_PS                     ps of endnotes
     #EN_SINGLESPACE            Single space endnotes pages? (toggle)
    -#EN_STRING_CAPS            Should ENDNOTES capitalise the endnotes
    +#EN_STRING_CAPS            Should ENDNOTES capitalize the endnotes
                                string? (toggle)
     #EN_STRING_UNDERSCORE      Underscore endnotes page head? (toggle)
     #EN_TITLE_UNDERSCORE       Underscore endnotes document identifier?
    @@ -875,7 +903,8 @@ dc                         "mark" register for document columns
     #EPIGRAPH                  Did we have an epigraph? (toggle) 
     #EPI_LEAD_DIFF             Difference between #DOC_LEAD and #EPI_LEAD
     #EPI_LEAD                  Leading of epigraph; set by AUTOLEAD
    -#EPI_LINES_EVEN            Even # of lines at end of epi crossing page in TYPEWRITE (d-spaced)?
    +#EPI_LINES_EVEN            Even # of lines at end of epi crossing page in
    +                           TYPEWRITE (d-spaced)?
     #EPI_LINES                 Number of lines in the epigraph
     #EPI_LINES_TO_END          Number of epigraph lines remaining after
                                footer trap is sprung
    @@ -887,12 +916,15 @@ dc                         "mark" register for document columns
     #EPI_ON                    Are we in an epigraph? (toggle)
     #EPI_WHITESPACE            Space after epigraph to compensate for
                                epigraph leading
    +#FIELD                     Incrementing register tacked onto LETTERHEAD
     #FINIS                     Was FINIS invoked? (toggle)
     #FN_AUTOLEAD               Autolead value of footnotes
     #FN_BL_INDENT              Left indent of INDENT BOTH in footnotes
     #FN_BR_INDENT              Right indent of INDENT BOTH in footnotes
    -#FN_COUNT_FOR_COLS         Holds a separate footnote count for columns (so they don't reset to 0 1 until page break)
    -#FN_DEFER                  Defer footnote to next page/column? (toggle)  If 0, don't defer.
    +#FN_COUNT_FOR_COLS         Holds a separate footnote count for columns
    +                           (so they don't reset to 0 1 until page break)
    +#FN_DEFER                  Defer footnote to next page/column? (toggle)
    +                           If 0, don't defer.
     #FN_DEFER_SPACE            Whether to deposit space before
                                footnote 1 because there's a deferred
                                footnote on the page
    @@ -902,31 +934,32 @@ dc                         "mark" register for document columns
     #FN_LEAD                   Lead in footnotes after FN_AUTOLEAD is
                                applied
     #FN_L_INDENT               Left indent of INDENT LEFT in footnotes
    -#FN_LINES                  Number of lines in fn; used to calculate fn depth
    +#FN_LINES                  Number of lines in fn; used to calculate
    +                           fn depth
     #FN_MARKERS                Print footnote markers? (toggle)
     #FN_MARKER_STYLE           1=STAR; 2=NUMBER
    -#FN_NUMBER                 Running count of fn #; used to print fn marker numbers
    +#FN_NUMBER                 Running count of fn #; used to print fn marker
    +                           numbers
     #FN_R_INDENT               Right indent of INDENT RIGHT in footnotes
     #FN_RULE_ADJ               # of points to raise footnote separator from
                                its baseline
     #FN_RULE_LENGTH            Length of footnote separator rule
     #FN_RULE                   Print fn rule? (toggle)
    -#FN_WAS_DEFERED            Tells HEADER about a defered footnote
    +#FN_WAS_DEFERED            Tells HEADER about a deferred footnote
     #FOOTER_GAP                Amount of space between end of text and
                                page #
     #FOOTER_MARGIN             Amount of space between page # and bottom
                                of page
     #FOOTERS_ON                Are we using footers? (toggle)
    -#FOOTERS_WERE_ON           Were footers on? - used in FINIS and BLANKPAGE (toggle)
    -#FROM                      Is there an addressor (for letters)? 1=yes
    +#FOOTERS_WERE_ON           Were footers on? - used in FINIS and BLANKPAGE
    +                           (toggle)
     #FULLSPACE_QUOTES          Should we fullspace quotes? (toggle)
    -#GREETING                  Is there a greeting (for letters)? 1=yes
     #GUTTER                    Width of gutter between columns
    -#HDRFTR_CENTER_CAPS        Center part of header/footer in caps?
    +#HDRFTR_CENTER_CAPS        CENTER part of header/footer in caps?
                                (toggle; default=off)
    -#HDRFTR_CTR_PAD_LEFT       Amount of hdrftr center padding on the left
    -#HDRFTR_CTR_PAD_RIGHT      Amount of hdrftr center padding on the right
    -#HDRFTR_CTR_PAD_TMP        Temp storage of left hdrftr center padding
    +#HDRFTR_CTR_PAD_LEFT       Amount of hdrftr CENTER padding on the left
    +#HDRFTR_CTR_PAD_RIGHT      Amount of hdrftr CENTER padding on the right
    +#HDRFTR_CTR_PAD_TMP        Temp storage of left hdrftr CENTER padding
                                (for recto/verso switch)
     #HDRFTR_HEIGHT             Cap height of $HDRFTR_RECTO/$HDRFTR_VERSO
                                strings
    @@ -955,11 +988,11 @@ dc                         "mark" register for document columns
     #IGNORE                    Should we ignore this macro? Set to 1 in
                                TYPEWRITE.
     #INDENT_FIRST_PARAS        Indent first paras? (toggle)
    -#INDENT_FIRSTS             Tells foonotes to leave INDENT_FIRST_PARAS
    +#INDENT_FIRSTS             Tells footnotes to leave INDENT_FIRST_PARAS
                                alone if it's on for running text.
     #ITALIC_MEANS_ITALIC       For TYPEWRITE.  1=yes; 0=no
     #LEFT_CAP_HEIGHT           Cap height of left string in headers/footers
    -#LEGAL_BASELINE            Calculates vert. position of next legal
    +#LEGAL_BASELINE            Calculates vet. position of next legal
                                baseline in SHIM
     #LETTER_STYLE              1=BUSINESS 2=PERSONAL
     #LINEBREAK                 Did we have a linebreak? (toggle)
    @@ -973,22 +1006,27 @@ dc                         "mark" register for document columns
     #NEXT_AUTHOR               Supplies correct digit to AUTHOR_<#>
                                when printing authors in doc header
     #NO_TRAP_RESET             Should we reset page traps? (toggle)
    -#NUM_AUTHORS               # of authors mod 2 to test if odd or even # of authors
    +#NUM_AUTHORS               # of authors mod 2 to test if odd or even
    +                           # of authors
     #NUMBER_HEAD               Are heads numbered? (toggle)
     #NUMBER_PH                 Are paraheads numbered? (toggle)
     #NUMBER_SH                 Are subheads numbered? (toggle)
     #NUM_COLS                  Number of columns per page
    +#NUM_FIELDS                Incrementing register used to match
    +                           #TOTAL_FIELDS
     #OK_PROCESS_LEAD           Initial processing of TOC and endnote
    -                           leading is defered until OK_PROCESS_LEAD=1
    +                           leading is deferred until OK_PROCESS_LEAD=1
     #PAGE_NUM_ADJ              What to add to n% to get #PAGENUMBER
     #PAGENUMBER                The page number
     #PAGENUM_STYLE_SET         Did we set pagenumber style? (toggle)
    -#PAGE_NUM_H_POS            1=left 2=center 3=right; default=2
    +#PAGE_NUM_H_POS            1=left 2=CENTER 3=right; default=2
     #PAGE_NUM_HYPHENS          Print hyphens surrounding page numbers?
                                (toggle)
    -#PAGE_NUM_HYPHENS_SET      Did user set (or unset) hyphens around page numbers? (toggle)
    +#PAGE_NUM_HYPHENS_SET      Did user set (or unset) hyphens around page
    +                           numbers? (toggle)
     #PAGE_NUM_POS_SET          Did user set page number position? (toggle)
    -#PAGE_NUM_SET              Test if PAGE_1_NUM was used to set 1st page number
    +#PAGE_NUM_SET              Test if PAGE_1_NUM was used to set 1st page
    +                           number
     #PAGE_NUMS                 Print page numbers? (toggle)
     #PAGE_NUM_V_POS            1=top 2=bottom; default=2
     #PAGE_TOP                  \n(nl after HEADER completes itself
    @@ -1063,14 +1101,13 @@ dc                         "mark" register for document columns
                                PRINT_HDRFTR that START has been invoked,
                                allowing PRINT_HDRFTR to decide whether or
                                not to print a footer on page 1
    +#STORED_PP_INDENT          Temporarily holds value of #PP_INDENT
     #SUITE                     Current page number (for letters)
     #SUP_PT_SIZE               Point size of superscript
     #SUSPEND_PAGINATION        Suspend pagination prior to endnotes?
     #SWITCH_HDRFTR             Switch HDRFTR_LEFT and HDRFTR_RIGHT?
                                (toggle)
     #TAB_OFFSET#               "#" at the end is from $CURRENT_TAB
    -#TO                        Is there an addressee (for letters)?
    -                           1=yes
     #TOC_AUTHORS               Whether to append author(s) to toc doc
                                title entries (toggle)
     #TOC_ENTRY_PN              Current page number when a toc entry is
    @@ -1090,6 +1127,7 @@ dc                         "mark" register for document columns
     #TOC_SH_SIZE_CHANGE        ps in/decrease of toc subhead entries****
     #TOC_TITLE_INDENT          Indent of toc doc title entries
     #TOC_TITLE_SIZE_CHANGE     ps in/decrease of toc doc title entries****
    +#TOTAL_FIELDS              Total number of letter header fields
     #UNDERLINE_ITALIC          For TYPEWRITE.  1=yes; 0=no
     #UNDERLINE_QUOTE           Underline pquotes? (toggle)
     #UNDERLINE_SLANT           For TYPEWRITE.  1=yes; 0=no
    @@ -1097,13 +1135,13 @@ dc                         "mark" register for document columns
                                UNDERLINE (toggle)
     #USERDEF_HDRFTR            User defined single string recto/verso
                                header/footer? (toggle)
    -#USERDEF_HDRFTR_RECTO_QUAD 1=left, 2=center, 3=right
    -#USERDEF_HDRFTR_VERSO_QUAD 1=left, 2=center, 3=right
    -#USER_DEF_HEADER_CENTER    User defined center title? (1=yes);
    +#USERDEF_HDRFTR_RECTO_QUAD 1=left, 2=CENTER, 3=right
    +#USERDEF_HDRFTR_VERSO_QUAD 1=left, 2=CENTER, 3=right
    +#USER_DEF_HEADER_CENTER    User defined CENTER title? (1=yes);
                                used in COPYSTYLE
    -#USER_DEF_HEADER_LEFT      User defined center title? (1=yes);
    +#USER_DEF_HEADER_LEFT      User defined CENTER title? (1=yes);
                                used in COPYSTYLE
    -#USER_DEF_HEADER_RIGHT     User defined center title? (1=yes);
    +#USER_DEF_HEADER_RIGHT     User defined CENTER title? (1=yes);
                                used in COPYSTYLE
     #VARIABLE_FOOTER_POS       Wandering trap position for processing
                                footnotes and footers; pos depends on
    @@ -1137,9 +1175,9 @@ $DOC_FAM                        Predominant font family used in the
     $DOC_QUAD                       Quad used for body text (justified or
                                     left) 
     $DOC_TITLE                      Overall doc title that gets printed in
    -                                headers/footers (mostly for use with collated
    -                                docs where each doc is an article with a
    -                                different title
    +                                headers/footers (mostly for use with
    +                                collated docs where each doc is an
    +                                article with a different title
     $DOC_TYPE                       Document type (default, chapter, named,
                                     letter)
     $DOCHEADER_LEAD_ADJ             +|- value applied to #DOC_LEAD to
    @@ -1186,10 +1224,10 @@ $FN_FAM                         Family used in footnotes
     $FN_FT                          Font used in footnotes
     $FN_QUAD                        Quad used in footnotes
     $FN_SIZE_CHANGE                 ps in/decrease of footnotes*
    -$HDRFTR_CENTER                  What to put in center part of headers;
    +$HDRFTR_CENTER                  What to put in CENTER part of headers;
                                     default doctype
    -$HDRFTR_CENTER_FAM              Family of center part of headers
    -$HDRFTR_CENTER_FT               Font of center part of headers
    +$HDRFTR_CENTER_FAM              Family of CENTER part of headers
    +$HDRFTR_CENTER_FT               Font of centre part of headers
     $HDRFTR_CENTER_NEW              HDRFTR_CENTER after the start of TOC;
                                     defined in HDRFTR_CENTER if
                                     HDRFTR_CENTER is called as
    @@ -1198,7 +1236,7 @@ $HDRFTR_CENTER_OLD              HDRFTR_CENTER just prior to start of
                                     TOC; defined in HDRFTR_CENTER if
                                     HDRFTR_CENTER is called as
                                     FOOTER_CENTER
    -$HDRFTR_CENTER_SIZE_CHANGE      ps in/decrease of center title in
    +$HDRFTR_CENTER_SIZE_CHANGE      ps in/decrease of centre title in
                                     headers**
     $HDRFTR_FAM                     Family to use in headers
     $HDRFTR_LEFT_FAM                Family of left part of headers
    @@ -1220,7 +1258,7 @@ $HDRFTR_TMP_SWITCH              Temporarily holds HDRFTR_LEFT if
                                     #SWITCH_HDRFTRS=1
     $HEAD_FAM                       Family to use for section titles
     $HEAD_FT                        Font to use for section titles
    -$HEAD_QUAD                      Quad valude of section titles
    +$HEAD_QUAD                      Quad value of section titles
     $HEAD_SIZE_CHANGE               ps in/decrease of section titles*
     $LINEBREAK_CHAR                 Character that marks line breaks
     $LINEBREAK_CHAR_V_ADJ           +|- amount by which to raise/lower
    @@ -1292,7 +1330,7 @@ $USERDEF_HDRFTR_VERSO           User defined header/footer verso string
        *relative to #DOC_PT_SIZE
       **relative to overall ps of headers as set by HEADER_SIZE
      ***relative to overall ps of endnotes
    -****relative to overal ps of toc pages
    +****relative to overall ps of toc pages
     
     +++PREPROCESSOR KEYWORDS+++
     
    @@ -1342,7 +1380,7 @@ CITE                  BLOCKQUOTE
     COL_BREAK             COL_NEXT
     DOC_FAM               DOC_FAMILY
     DOC_LLENGTH           DOC_LINE_LENGTH
    -DOC_L_LENGTT          DOC_LINE_LENGTH
    +DOC_L_LENGTH          DOC_LINE_LENGTH
     DOC_L_MARGIN          DOC_LEFT_MARGIN
     DOC_LMARGIN           DOC_LEFT_MARGIN
     DOC_LS                DOC_LEAD
    diff --git a/contrib/mom/momdoc/toc.html b/contrib/mom/momdoc/toc.html
    index ba3e73b8..420f2c97 100644
    --- a/contrib/mom/momdoc/toc.html
    +++ b/contrib/mom/momdoc/toc.html
    @@ -12,13 +12,13 @@
     


    Quick Table of Contents Navigation

    -INTRODUCTORY STUFF +INTRODUCTORY STUFF -TYPESETTING WITH MOM +TYPESETTING WITH MOM -DOCUMENT PROCESSING WITH MOM +DOCUMENT PROCESSING WITH MOM +


    Introduction to the typesetting macros

    @@ -113,7 +114,7 @@ friend's r structured document processing (page headers, paragraphs, heads, footnotes, etc). What they do demand is precise control over every element on the page. The typesetting macros give you that control. -
    +


    @@ -138,7 +139,7 @@ for a number of well-known, established paper sizes. The PAGE macro provides a convenient way of setting the page dimensions and some or all of the page margins with a single macro. -
    +

    Page setup macros list

    @@ -155,6 +156,7 @@ some or all of the page margins with a single macro.
  • PAGE (page dimensions and margins all in one fell swoop)
  • NEWPAGE (start a new page) +

    @@ -282,7 +284,7 @@ using the See Typesetting Macros in Document Processing for an explanation. -
    +

    @@ -356,7 +358,7 @@ when you're using the See Typesetting Macros in Document Processing for an explanation. -
    +

    @@ -371,7 +373,7 @@ Macro: T_MARGIN <top margin> T_MARGIN establishes the distance from the top of the printer sheet at which you want your type to start. It requires a unit of measure, and decimal fractions are allowed. To set a top -margin of 2-1/2 centimeters, you'd enter +margin of 2-1/2 centimetres, you'd enter

     	.T_MARGIN 2.5c
    @@ -408,7 +410,7 @@ slightly different when you're using the
     See
     Top and bottom margins in document processing
     for an explanation.
    -
    +

    @@ -449,7 +451,7 @@ slightly different when you're using the document processing macros. See Top and bottom margins in document processing for an explanation. -
    +

    @@ -528,7 +530,7 @@ of the first line of text down by one linespace. To compensate, do immediately before entering any text, or, if it's feasible, make PAGE the last macro you invoke prior to entering text. -
    +

    @@ -547,7 +549,7 @@ processing the current page and move you to the top of a new one Experts: NEWPAGE is an alias of .bp. You can use either, or mix 'n' match with impunity. -
    +


    @@ -566,7 +568,7 @@ to the basic parameter macros remain in effect until you change them. The document processing macros handle things differently. See Typesetting Macros in Document Processing for an explanation. -
    +

    Basic parameter macros list

      @@ -632,7 +634,7 @@ GARAMOND then becomes a legal family name you can pass to FAMILY. (You could, of course, shorten GARAMOND to just G, or GD.) R, I, B, and BI after GARAMOND are the roman, italic, bold and bold-italic fonts respectively. -
      +

      @@ -672,7 +674,7 @@ family and font separate.

      Fonts can also be changed inline. See Inline Escapes, font control. -
      +

      @@ -714,7 +716,7 @@ then later reset it to 12 with The size of type can also be changed inline. See Inline Escapes, changing point size. -
      +

      @@ -767,7 +769,7 @@ then later reset it to 14 points with ls. LS acts like vs. mom does not provide a macro analogous to ls. -
      +

      @@ -822,7 +824,7 @@ to 14, the leading automatically changes to 15.75 (14 x 1.125). NOTE: There's no need to prepend a plus sign (+) to AUTOLEAD's argument, although you may do so if you wish. -
      +

      @@ -859,7 +861,7 @@ sets the line length to 4-1/2 inches. NOTE: The right margin macro (R_MARGIN) can also be used to set line length. -
      +


      @@ -873,7 +875,7 @@ length. The justification and quadding macros deal with how type aligns along the left and right margins. In a nutshell, type either aligns at the left margin, at the right margin, at both margins, or at neither margin -(centered). +(centred).

      These macros also determine whether or not input lines are joined and @@ -889,18 +891,18 @@ You may encounter some words here that are unfamiliar. Refer to Groff terms for an explanation.

      Justification, quad, fill, and break macro list

      - +

      • Fill modes
        • JUSTIFY (set lines justified) -
        • QUAD (set filled lines flush left, right or centered) +
        • QUAD (set filled lines flush left, right or centred)
      • Nofill modes
        • LEFT (set non-filled lines flush left)
        • RIGHT (set non-filled lines flush right) -
        • CENTER (set non-filled lines centered) +
        • CENTER (set non-filled lines centred)
      • Breaking lines
          @@ -935,12 +937,12 @@ upon output. To break lines and prevent them from being filled and justified, use the BR macro. -
          +


          -

          Quad lines left, right, or center

          +

          Quad lines left, right, or centre


          Macro: QUAD L | LEFT | R | RIGHT | C | CENTER | J | JUSTIFY
          @@ -963,7 +965,7 @@ along the left margin. If R or RIGHT, type is set flush along the right margin.

          -If C or CENTER type is set centered +If C or CENTER type is set centred on the current line length.

          J and JUSTIFY justify text, @@ -974,12 +976,12 @@ href="#JUSTIFY">JUSTIFY.

          To break lines and prevent them from being filled, use the BR macro. -
          +


          -

          Set non-filled lines flush left, right, or centered

          +

          Set non-filled lines flush left, right, or centred


          Macro: LEFT   Macro: RIGHT @@ -1029,7 +1031,7 @@ modes, groff does not always respect the current line length. that run long may exceed it, or get broken in undesirable ways. Therefore, when using these three macros, you should preview your work to ensure that all lines fit as expected. -
          +

          @@ -1069,7 +1071,7 @@ ALL macros cause a break. If a break is not desired, use the

          Experts: BR is an alias for br. You can use either, or mix 'n' match with impunity. -
          +

          @@ -1109,7 +1111,7 @@ get 24. To demonstrate: The next line of text.

    -may be more instuitive than +may be more intuitive than

     	.LS 12.5
    @@ -1168,7 +1170,7 @@ If you hadn't turned the trap off for .EL,
     "3." would have appeared at the bottom of the page by
     itself, with "Establish, once and for all..."
     appearing at the top of the next page.
    -
    +

    @@ -1226,7 +1228,7 @@ after a line.

    Experts: SPACE is an alias of sp. You can use either, or mix 'n' match with impunity. -
    +

    @@ -1249,7 +1251,7 @@ and have it came out fully justified.

    Experts: SPREAD is an alias for brp. You can use either, or mix 'n' match with impunity. -
    +

    @@ -1301,7 +1303,7 @@ words of the output line would read Please also note that had the example been in one of the fill modes, there'd have been no need for the \c. -
    +


    @@ -1319,7 +1321,6 @@ ensuring that your documents look typographically professional.

    Typographic refinements macro list

    -
    • Word and sentence spacing
        @@ -1413,7 +1414,7 @@ its groff default by entering This can be particularly useful if you've been playing around with plus and minus values, and can't remember by how much you have to in/decrease the word space to get it back to normal. -
        +

        @@ -1487,7 +1488,7 @@ school of typists that puts two spaces between sentences. If you ignore this advice and use SS when you habitually put only one space between sentences, you risk producing output where the space between sentences is not equal. -
        +

        @@ -1515,8 +1516,6 @@ you can pass to HY, I've broken them down into separate sections.

        1. HY

        - -

        HY by itself (i.e. with no argument) simply turns automatic hyphenation on. Any argument other than LINES, MARGIN, SPACE or DEFAULT, turns automatic @@ -1542,8 +1541,6 @@ you could turn HY off by entering

        2. HY LINES

        - -

        HY LINES sets the maximum number of consecutive hyphenated lines that will appear in output copy. 2 is a very good choice, and you'd set it with @@ -1562,8 +1559,6 @@ count when groff is figuring out how many lines to hyphenate; explicit hyphens do not.

        3. HY MARGIN

        - -

        HY MARGIN sets the amount of room allowed at the end of a line before hyphenation is tripped (e.g. if there's only 6 points left at the end of a line, groff won't try to hyphenate @@ -1586,8 +1581,6 @@ MARGIN requires a unit of measure.

        4. HY SPACE

        - -

        HY SPACE sets an amount of extra interword space that groff will try to put between words on a line in order to PREVENT hyphenation. HY SPACE @@ -1607,19 +1600,15 @@ value might be half a point, or one point, which you'd set with SPACE requires a unit of measure. -

        4. HY DEFAULT

        - -

        +

        5. HY DEFAULT

        HY DEFAULT resets automatic hyphenation to its default behaviour, cancelling any changes made with LINES, MARGIN, and/or SPACE.

        A note on hyphenation in general

        - -

        Hyphenation is a necessary evil. If it can be avoided, it should be. If it can't be, it should occur infrequently. That's the reason for -number of parameters you can set with HY. +the number of parameters you can set with HY.

        Furthermore, hyphenation in @@ -1630,7 +1619,7 @@ on consecutive lines to achieve a pleasing, natural-looking rag. Since such adjustments are often too fussy for document processing, I recommend playing around with HY MARGIN a bit if your copy looks hyphen-heavy. -
        +

        @@ -1679,7 +1668,7 @@ copy,

    is how you'd do it. -
    +

    @@ -1733,7 +1722,7 @@ cancel its effect (.RW 0) on those fonts, or reinvoked you can tell mom that's what you want by invoking the BR_AT_LINE_KERN toggle macro. -
    +

    @@ -1773,7 +1762,7 @@ assess the effect of EW. you can tell mom that's what you want by invoking the BR_AT_LINE_KERN toggle macro. -
    +

    @@ -1820,7 +1809,7 @@ Kerning of individual character pairs can be controlled with the inline escapes \*[BU #] and \*[FU #]. See Inline Escapes, kerning. -
    +

    @@ -1846,7 +1835,7 @@ Good Thing, hence mom has them on by default. ligature generation off.

    NOTE: Not all fonts support ligatures. -
    +


    @@ -1877,8 +1866,8 @@ type in a faked font look typographically cheap.
    • Pseudo italic
        -
      • SETSLANT -- degree of pseudo-italicising -
      • \*[SLANT] -- inline escape for pseudo-italicising type +
      • SETSLANT -- degree of pseudo-italicizing +
      • \*[SLANT] -- inline escape for pseudo-italicizing type
    • Pseudo bold
        @@ -1900,12 +1889,12 @@ type in a faked font look typographically cheap.
        -

        Set degree of slant for pseudo-italicising

        +

        Set degree of slant for pseudo-italicizing


        Macro: SETSLANT <degrees to slant type> | RESET

        -Pseudo-italicising of type is accomplished by slanting a roman font +Pseudo-italicizing of type is accomplished by slanting a roman font a certain number of degrees to the right. SETSLANT lets you fix the number of degrees. Mom's default is 15, which produces an acceptable approximation of an @@ -1924,12 +1913,12 @@ to the mom default, do

  • NOTE: By itself, SETSLANT -will not start pseudo-italicising type; it merely tells +will not start pseudo-italicizing type; it merely tells mom what degree of slant you want. To start -pseudo-italicising, use the +pseudo-italicizing, use the inline escape \*[SLANT]. -
    +

    @@ -1941,7 +1930,7 @@ Inline: \*[SLANT] -- turn pseudo-italic on Inline: \*[SLANTX] -- turn pseudo-italic off

    -\*[SLANT] begins pseudo-italicising type. +\*[SLANT] begins pseudo-italicizing type. \*[SLANTX] turns the feature off. Both are inline escapes, therefore they should not appear as separate lines, but rather @@ -1951,7 +1940,7 @@ be embedded in text lines, like this: Not \*[SLANT]everything\*[SLANTX] is as it seems. -Alternatively, if you wanted the whole line pseudo-italicised, +Alternatively, if you wanted the whole line pseudo-italicized, you'd do

    @@ -1969,7 +1958,7 @@ with
     mom underlines pseudo-italics by default.  To
     change this behaviour, use the special macro
     SLANT_MEANS_SLANT.
    -
    +

    @@ -2005,7 +1994,7 @@ will not start emboldening type; it merely tells To start emboldening, use the inline escape \*[BOLDER]. -
    +

    @@ -2044,7 +2033,7 @@ with PRINTSTYLE TYPEWRITE, mom ignores \*[BOLDER] requests. -
    +

    @@ -2085,7 +2074,7 @@ is off (with \*[CONDX]) before before making any changes to the pseudo-condense percentage with CONDENSE. -
    +

    @@ -2128,7 +2117,7 @@ with PRINTSTYLE TYPEWRITE, mom ignores \*[COND] requests. -
    +

    @@ -2149,7 +2138,7 @@ to be extended. EXTEND, therefore you must set it before using the inline escape \*[EXT]. -120 percent of the normal character width is a good value, and +120% of the normal character width is a good value, and you'd set it like this:

    @@ -2170,7 +2159,7 @@ pseudo-extending is off (with
     \*[EXTX])
     before before making any changes to the pseudo-extend percentage
     with EXTEND.
    -
    +

    @@ -2213,7 +2202,7 @@ with PRINTSTYLE TYPEWRITE, mom ignores \*[EXT] requests. -
    +


    @@ -2292,7 +2281,7 @@ way if you have set a top margin with T_MARGIN or PAGE. -
    +

    @@ -2329,7 +2318,7 @@ As the mnemonic (Rdvance use RLD with points of lead. -
    +


    @@ -2346,7 +2335,7 @@ do with the tab key on your keyboard, and both are utterly divorced from groff's notion of tabs. I recommend reading this section carefully in order to understand how mom handles tabs. - +

    Typesetting tabs

    Typesetting tabs are defined by both an indent from the left margin and @@ -2366,7 +2355,7 @@ a quad direction and fill mode. After tabs have been created with Typesetting Macros in Document Processing for information and advice on using tabs with the document processing macros. - +

    Quickie tutorial on typesetting tabs

    Say you want to set up three tabs to produce an employee evaluation @@ -2412,7 +2401,7 @@ You want the second tab ("EVALUATION")

    • to begin 8 picas from the left margin
    • to have a length of 9 picas -
    • to be set centered. +
    • to be set centred.

    You set it up like this: @@ -2524,7 +2513,7 @@ tab 3 means you don't have to worry about the length of mom fills the tab and sets the type flush left. - +

    String tabs (autotabs)

    String tabs let you mark off tab positions inline. Left indents @@ -2554,7 +2543,7 @@ macro and the groff inline escape \*[FWD <distance>] (move forward) inline, string tabs provide tremendous flexibility in setting up complex tab structures. - +

    Quickie tutorial on string tabs

    Say you want to set up tabs for the @@ -2657,7 +2646,7 @@ just like typesetting tabs (see typesetting tabs tutorial).

    Here's the complete setup and entry for the sample employee -evaluation form utilising string tabs. +evaluation form utilizing string tabs.

     	.PAGE 8.5i 11i 1i 1i 1i
    @@ -2722,7 +2711,7 @@ Now try increasing the gutters to 2 picas (put an additional
     \*[FP12] after each \*[FP12]).  Preview the
     file again, and notice how the tab structure remains the same, but
     the gutters are wider.
    -
    +

    Tabs macro list

    @@ -2740,7 +2729,7 @@ the gutters are wider.
    -

    Set up typsetting tabs

    +

    Set up typesetting tabs


    Macro: TAB_SET <tab number> <indent> <length> L | R | C | J [ QUAD ]
    @@ -2762,7 +2751,7 @@ four required arguments:
  • a direction
    -To set up a centered tab 6 picas long and 9 points from the left +To set up a centred tab 6 picas long and 9 points from the left margin, you'd enter

    @@ -2775,7 +2764,7 @@ need to set up tabs in numerical sequence.
     

    By default, tabs are in nofill -mode, meaning you can enter text in tabs on a line for line basis +mode, meaning you can enter text in tabs on a line-for-line basis without having to use the BR macro. If you want a tab to be @@ -2817,7 +2806,7 @@ up a tab structure within the confines of an existing tab). Indents) before setting up tabs with TAB_SET, or mom may get confused. -
    +

    @@ -2871,7 +2860,7 @@ a line that is broken with Mom calculates string tab positions and lengths as she reads the input line, not after the line has undergone manipulations to the word spacing. -
    +

    @@ -2912,7 +2901,7 @@ If you want it to be justified, enter See the Quickie tutorial on string tabs for a full explanation of setting up string tabs. -
    +

    @@ -2981,7 +2970,7 @@ If you were happily zipping down the page with a left indent of 2 picas turned on, and you call a tab whose indent from the left margin is 6 picas, your new distance from the left margin will be 6 picas, not 6 picas plus the 2 pica indent. -
    +

    @@ -3055,7 +3044,7 @@ If you hadn't turned the trap off before .TN, "1." would have appeared as the last line on the page, with "The first rule of survival..." being the first line on the next page. -
    +

    @@ -3071,7 +3060,7 @@ advances 1 linespace, and restores the left margin, line length, quad direction and fill mode that were in effect prior to invoking any tabs. -
    +


    @@ -3152,7 +3141,7 @@ the COLUMNS macro in the document processing macros. - +

    Columns macro list

    @@ -3187,7 +3176,7 @@ the COLUMNS macro in the document processing macros. -
    +

    @@ -3202,7 +3191,7 @@ Once you've turned multi-columns on (with MCO), MCR, at any time, returns you to the top of your columns. -
    +

    @@ -3227,7 +3216,7 @@ invoked.

    If you pass the <distance> argument to MCX, it advances 1 linespace below the longest -column (see above) PLUS the distance specified by the argumemnt. +column (see above) PLUS the distance specified by the argument. The argument requires a unit of measure; therefore, to advance an extra 6 points below where MCX would normally place you, you'd enter @@ -3252,7 +3241,7 @@ macro, like this: The above advances to precisely 24 points below the baseline of the longest column. -
    +


    @@ -3269,7 +3258,7 @@ provides temporary left indents (i.e. only one line is indented, as at the start of a paragraph) and "hanging" left indents (the reverse of a temporary indent; the first line isn't indented, subsequent lines are). - +

    A brief explanation of how mom handles indents

    Mom provides five kinds of indents: left, right, @@ -3402,7 +3391,7 @@ picas and control each separately, as in the following example. More text \"Text is still indented 4 picas left

    -If, at .IRX, you wanted the text afterward to have no +If, at .IRX, you wanted the text afterwards to have no indents (either left or right), you would enter .IQ, which exits all indent styles at once.

    @@ -3417,9 +3406,9 @@ at which they excel.

    NOTE: see the section Typesetting Macros in Document Processing -for information and advice on using idents with the +for information and advice on using indents with the document processing macros. - +

    Indents macro list

    • IL  (Indent left) @@ -3476,8 +3465,8 @@ for more details. automatically cancels any active indents.

      ADDITIONAL NOTE: Invoking IL -automtically turns off IB. -
      +automatically turns off IB. +

      @@ -3497,7 +3486,7 @@ measure. Subsequent invocations with a measure add to the previous indent measure. A minus sign may be prepended to the argument to subtract from the current indent measure. The \w -inline esacpe +inline escape may be used to specify a text-dependent measure, in which case no unit of measure is required. For example,

      @@ -3517,8 +3506,8 @@ for more details. automatically cancels any active indents.

      ADDITIONAL NOTE: Invoking IR -automtically turns off IB. -
      +automatically turns off IB. +

      @@ -3548,12 +3537,12 @@ save yourself a lot of grief. A minus sign may be prepended to the arguments to subtract from their current values. The \w -inline esacpe +inline escape may be used to specify text-dependent measures, in which case no unit of measure is required. For example,

      -	.IB \w'margaraine' \w'jello'
      +	.IB \w'margarine' \w'jello'
       
      left indents text by the width of the word "margarine" @@ -3569,9 +3558,9 @@ for more details. automatically cancels any active indents.

      ADDITIONAL NOTE: Invoking IB -automtically turns off IL and +automatically turns off IL and IR. -
      +

      @@ -3584,7 +3573,7 @@ Macro: TI [ <measure> ]

      A temporary indent is one that applies only to the first line of -text that comes after it. It's chief use is indenting the first +text that comes after it. Its chief use is indenting the first line of paragraphs. (Mom's PP macro, for example, uses a temporary indent.) @@ -3668,10 +3657,15 @@ prior to the line you want hung (i.e. without any intervening control lines). And because hanging indents affect only one line, there's no need to turn them off. - +

      A recipe for numbered lists

      -A common use for hanging indents is setting numbered lists. +PLEASE NOTE: mom now has macros for setting lists (see +Nested lists), +making this recipe superfluous. It remains here in the hope that +it will clarify the use of hanging indents generally, if no longer +specifically. +

      Consider the following example:

      @@ -3707,7 +3701,7 @@ of 2
       plus a period (using the
       \w
       inline escape).  At this point, the left indent is active; text
      -afterward would normally be indented.  However, we invoke a hanging
      +afterwards would normally be indented.  However, we invoke a hanging
       indent of exactly the same width, which hangs the first line (and
       first line only!) to the left of the indent by the same distance
       (in this case, that means "out to the left margin").
      @@ -3726,7 +3720,7 @@ Paste the example above into a file and preview it with groff -mom -X
       IB, measures given to HI
       are NOT additive.  Each time you pass a measure to
       HI, the measure is treated literally.
      -
      +

      diff --git a/contrib/mom/momdoc/using.html b/contrib/mom/momdoc/using.html index 327e86ba..a2f65a64 100644 --- a/contrib/mom/momdoc/using.html +++ b/contrib/mom/momdoc/using.html @@ -10,7 +10,7 @@ Next   Prev   Back to Table of Contents - +

      USING MOM

      @@ -23,7 +23,7 @@ Invoking groff
      Previewing documents -
      +


      Introduction

      @@ -50,7 +50,7 @@ nearly complete control over the look and feel of your documents. In addition, the typesetting macros, in combination with document processing, let you meet all sorts of typesetting needs that just can't be covered by "one macro fits all" markup tags. - +

      How to input mom's macros

      @@ -67,9 +67,9 @@ following apply. rules for mom's macros and inline escapes. I use the vi clone called elvis, and find it a pure - joy in this regard. Simply colorizing macros and + joy in this regard. Simply colourizing macros and inlines to half-intensity can be enough to make text stand - out clearly from formattting commands. + out clearly from formatting commands.
    • All mom's macros begin with a period (dot) and must be entered in upper case (capital) letters. @@ -120,12 +120,12 @@ Consider the following, which is a template for starting the chapter of a book.

      -	.TITLE   "My Pulizter Novel"
      +	.TITLE   "My Pulitzer Novel"
       	.AUTHOR  "Joe Blow"
       	.CHAPTER  1
       	\#
       	.DOCTYPE    CHAPTER
      -	.PRINTSTYPE TYPESET
      +	.PRINTSTYLE TYPESET
       	\#
       	.FAM     P
       	.PT_SIZE 10
      @@ -171,7 +171,7 @@ option along with the other options you require.  Theoretically, you
       only need -U with .open, .opena, .pso, .sy,
       and .pi, however reality seems, at times, to dictate
       otherwise.
      -
      +

      How to preview documents

      diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac index 754565b1..bcbccccc 100644 --- a/contrib/mom/om.tmac +++ b/contrib/mom/om.tmac @@ -23,8 +23,8 @@ .\" .\" .\" -\# Version 1.1.7 -\# ------------- +\# Version 1.1.7-1 +\# --------------- \# .if (\n[.x]\n[.y] < 118) \ . ab You need GNU troff version 1.18 or higher to run this version of mom! @@ -55,7 +55,6 @@ .ALIAS PAGELENGTH pl .ALIAS NEWPAGE bp .ALIAS SPREAD brp -.ALIAS STRING ds .ALIAS ESC_CHAR ec \# \# ALIASES FOR NUMBER REGISTERS @@ -84,9 +83,9 @@ \# *Arguments: \# none \# *Function: -\# The .em macro executed at the end of letters. Turns footers and -\# pagination off, terminates and outputs diversion CLOSING, indented with -\# the author's name underneath. +\# The .em macro executed at the end of letters. Turns footers +\# and pagination off, terminates and outputs diversion CLOSING +\# (indented with the author's name underneath). \# .MAC ALL_DONE END . br @@ -121,7 +120,7 @@ \# PAGE WIDTH \# ---------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied page width in register #PAGE_WIDTH. \# *Notes: @@ -139,7 +138,7 @@ \# L_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied page offset in register #L_MARGIN. \# Sets .po to user supplied offset. @@ -156,7 +155,7 @@ \# R_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied right margin in register #R_MARGIN. \# *Notes: @@ -180,7 +179,7 @@ \# T_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores the user supplied top margin in register #T_MARGIN. \# Advances user supplied depth from the top of the page. @@ -202,7 +201,7 @@ \# B_MARGIN \# -------- \# *Argument: -\# +\# \# *Function: \# Stores the user supplied bottom margin in register #B_MARGIN. \# *Notes: @@ -289,7 +288,7 @@ \# LINE LENGTH \# ----------- \# *Argument: -\# +\# \# *Function: \# Stores user supplied line length in register #L_LENGTH. \# Sets .ll to #L_LENGTHu @@ -371,6 +370,8 @@ .END \# \# +\# SIZE (inline) +\# ------------- \# *Arguments: \# \# *Function: @@ -496,7 +497,7 @@ \# 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 +\# were called with inline escapes, nor thence to evaluate conditional \# expressions. Consequently, each pseudo-escape \[BU] had to be defined \# separately with ".char". \# @@ -510,88 +511,26 @@ .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)' -.ds BU4 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*4u)' -.ds BU5 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*5u)' -.ds BU6 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*6u)' -.ds BU7 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*7u)' -.ds BU8 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*8u)' -.ds BU9 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*9u)' -.ds BU10 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*10u)' -.ds BU11 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*11u)' -.ds BU12 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*12u)' -.ds BU13 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*13u)' -.ds BU14 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*14u)' -.ds BU15 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*15u)' -.ds BU16 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*16u)' -.ds BU17 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*17u)' -.ds BU18 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*18u)' -.ds BU19 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*19u)' -.ds BU20 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*20u)' -.ds BU21 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*21u)' -.ds BU22 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*22u)' -.ds BU23 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*23u)' -.ds BU24 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*24u)' -.ds BU25 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*25u)' -.ds BU26 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*26u)' -.ds BU27 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*27u)' -.ds BU28 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*28u)' -.ds BU29 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*29u)' -.ds BU30 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*30u)' -.ds BU31 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*31u)' -.ds BU32 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*32u)' -.ds BU33 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*33u)' -.ds BU34 \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*34u)' -.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)' +\# Initialize strings for pre-1.1.3c-style BU and FU +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<37 \{\ +. ds BU\n[#LOOP] \h'-(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\n[#LOOP]u)' +.\} +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<37 \{\ +. ds FU\n[#LOOP] \h'(\En[#PT_SIZE]u/\n[#KERN_UNIT]u*\n[#LOOP]u)' +.\} +.rr #LOOP \# \# \# *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 #] and -\# \*[FWD #]. +\# Left in for backward compatibility with mom-1.1.3c, the +\# preferred methods for inline horizontal movements are now +\# \*[BCK ] and \*[FWD ]. \# .ds BCK \h'-\\$1\\$2' .ds FWD \h'\\$1\\$2' @@ -780,7 +719,7 @@ \# *Arguments: \# | | DEFAULT \# or -\# LINES <#> | MARGIN <#> | SPACE <#> +\# LINES | MARGIN | SPACE \# *Function: \# Turns auto hyphenation on or off, resets the hyphenation style \# to default, or permits the setting of various hyphenation @@ -795,9 +734,9 @@ \# above) if that behaviour is desired after changes have been \# made to LINES, MARGIN, or SPACE. \# -\# HY LINES <#> sets the number of allowable consecutive hyphenated lines. +\# HY LINES sets the number of allowable consecutive hyphenated lines. \# -\# HY MARGIN <#> sets the amount of space (ipPcm) allowed at the end +\# HY MARGIN sets the amount of space (ipPcm) allowed at the end \# of a line in QUAD mode before hyphenation is tripped (e.g. if there's \# only 6 points left, groff won't try to hyphenate the next word). \# @@ -864,7 +803,7 @@ \# Creates or modifies register #ALD. Adds user supplied lead \# below current baseline. \# *Notes: -\# Requires unit of measure ipPcmv. +\# Requires a unit of measure. \# .MAC ALD END . nr #ALD (\\$1) @@ -880,7 +819,7 @@ \# Creates or modifies register #RLD. Reverses user supplied \# lead above current baseline. \# *Notes: -\# Requires unit of measure ipPcmv. +\# Requires a unit of measure. \# .MAC RLD END . nr #RLD (\\$1) @@ -889,10 +828,11 @@ \# \# ALD/RLD STRINGS \# --------------- -\# 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 #] and \*[DOWN #]. +\# 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 ] +\# and \*[DOWN ]. \# .ds DOWN \v'\\$1\\$2' .ds UP \v'-\\$1\\$2' @@ -1015,7 +955,7 @@ \# Ligatures may be supplied manually with \(fi, \(fl, etc. \# .MAC LIGATURES END -. ie '\\$1'' \{\ +. ie '\\$1'' \{\ . lg . nr #LIGATURES 1 . \} @@ -1029,9 +969,12 @@ \# SMARTQUOTES \# ----------- \# *Arguments: -\# | +\# [ ,, ] | [ << ] | [ >> ] | +\# or +\# [ DA | DE | EN | ES | FR | IT | NL | NO | PT | SV ] | \# *Function: -\# Turns smartquotes on or off. +\# Turns smartquotes on (optionally with a quoting style from the +\# argument list, or off). \# *Notes: \# The " character is read outside the macro when mom is \# processed. The strings for open/close ($QUOTE) are then @@ -1056,24 +999,71 @@ . \} . if '\\$1'<<' \{\ . nr #ARGS_TO_SQ 1 -. ds $QUOTE0 \\[Fo]\\ -. ds $QUOTE1 \\ \\[Fc] +. ds $QUOTE0 \\[Fo] +. ds $QUOTE1 \\[Fc] . \} . if '\\$1'>>' \{\ . nr #ARGS_TO_SQ 1 -. ds $QUOTE0 \\[Fc]\\| -. ds $QUOTE1 \\|\\[Fo] +. ds $QUOTE0 \\[Fc] +. ds $QUOTE1 \\[Fo] +. \} +. if '\\$1'DA' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fc] +. ds $QUOTE1 \\[Fo] +. \} +. if '\\$1'DE' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Bq] +. ds $QUOTE1 \\[lq] +. \} +. if '\\$1'ES' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[lq] +. ds $QUOTE1 \\[rq] +. \} +. if '\\$1'FR' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo]\\| +. ds $QUOTE1 \\|\\[Fc] +. \} +. if '\\$1'IT' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo]\\| +. ds $QUOTE1 \\|\\[Fc] +. \} +. if '\\$1'NL' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[rq] +. ds $QUOTE1 \\[rq] +. \} +. if '\\$1'NO' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo] +. ds $QUOTE1 \\[Fc] +. \} +. if '\\$1'PT' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fo] +. ds $QUOTE1 \\[Fc] +. \} +. if '\\$1'SV' \{\ +. nr #ARGS_TO_SQ 1 +. ds $QUOTE0 \\[Fc] +. ds $QUOTE1 \\[Fc] . \} . if !r#ARGS_TO_SQ \{\ -. ds $QUOTE0 \\[dq] -. ds $QUOTE1 \\[dq] +. ds $QUOTE0 \\[dq] +. ds $QUOTE1 \\[dq] . \} . \} .END \# .ds $QUOTE0 \[dq] .ds $QUOTE1 \[dq] +\# \# Strings for foot and inch marks +\# .ds FOOT \(fm .ds INCH \(fm\(fm \# @@ -1110,9 +1100,9 @@ \# *Argument: \# \# *Function: -\# Turns fill on and sets .ad to b. +\# Turns fill on and sets .ad to b. \# *Notes: -\# Justifies text left and right. +\# Justifies text left and right. \# .MAC JUSTIFY END . if \\n[#TAB_ACTIVE]=0 \{\ @@ -1191,6 +1181,7 @@ . ce 0 . nf . nr #FILL 1 +. if '\\n(.z'LETTERHEAD1' \{ .rr #DATE_FIRST \} .END \# \# @@ -1271,46 +1262,21 @@ \# Strings for string tab inlines \# ------------------------------ \# -.ds ST1 \Ek[#ST1_OFFSET] -.ds ST2 \Ek[#ST2_OFFSET] -.ds ST3 \Ek[#ST3_OFFSET] -.ds ST4 \Ek[#ST4_OFFSET] -.ds ST5 \Ek[#ST5_OFFSET] -.ds ST6 \Ek[#ST6_OFFSET] -.ds ST7 \Ek[#ST7_OFFSET] -.ds ST8 \Ek[#ST8_OFFSET] -.ds ST9 \Ek[#ST9_OFFSET] -.ds ST10 \Ek[#ST10_OFFSET] -.ds ST11 \Ek[#ST11_OFFSET] -.ds ST12 \Ek[#ST12_OFFSET] -.ds ST13 \Ek[#ST13_OFFSET] -.ds ST14 \Ek[#ST14_OFFSET] -.ds ST15 \Ek[#ST15_OFFSET] -.ds ST16 \Ek[#ST16_OFFSET] -.ds ST17 \Ek[#ST17_OFFSET] -.ds ST18 \Ek[#ST18_OFFSET] -.ds ST19 \Ek[#ST19_OFFSET] -\# -.ds ST1X \Ek[#ST1_MARK] -.ds ST2X \Ek[#ST2_MARK] -.ds ST3X \Ek[#ST3_MARK] -.ds ST4X \Ek[#ST4_MARK] -.ds ST5X \Ek[#ST5_MARK] -.ds ST6X \Ek[#ST6_MARK] -.ds ST7X \Ek[#ST7_MARK] -.ds ST8X \Ek[#ST8_MARK] -.ds ST9X \Ek[#ST9_MARK] -.ds ST10X \Ek[#ST10_MARK] -.ds ST11X \Ek[#ST11_MARK] -.ds ST12X \Ek[#ST12_MARK] -.ds ST13X \Ek[#ST13_MARK] -.ds ST14X \Ek[#ST14_MARK] -.ds ST15X \Ek[#ST15_MARK] -.ds ST16X \Ek[#ST16_MARK] -.ds ST17X \Ek[#ST17_MARK] -.ds ST18X \Ek[#ST18_MARK] -.ds ST19X \Ek[#ST19_MARK] -\# Reserved ST numbers for internal use +\# Initialize string tab markers numbered 1 to 19. +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<20 \{\ +. ds ST\n[#LOOP] \Ek[#ST\n[#LOOP]_OFFSET] +.\} +\# +.nr #LOOP 0 1 +.while \n+[#LOOP]<20 \{\ +. ds ST\n[#LOOP]X \Ek[#ST\n[#LOOP]_MARK] +.\} +.rr #LOOP +\# +\# +\# These are reserved ST numbers for internal use .ds ST100 \Ek[#ST100_OFFSET] .ds ST100X \Ek[#ST100_MARK] .ds ST101 \Ek[#ST101_OFFSET] @@ -1348,7 +1314,7 @@ \# TAB SET \# ------- \# *Arguments: -\# <#> ident(ipPcm) length(ipPcm) [L | R | C | J [QUAD]] +\# ident(ipPcm) length(ipPcm) [L | R | C | J [QUAD]] \# *Function: \# 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 @@ -1390,12 +1356,12 @@ \# \# If you want tabs to line up bottom-line to bottom-line (most likely \# single line tabs), use .TN (provided the tabs are numbered sequentially). -\# Otherwise, you must use .EL then .TAB # if you want them to align. +\# Otherwise, you must use .EL then .TAB if you want them to align. \# \# 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 n. +\# tab is called with TAB . \# \# Tabs themselves are user-invoked using the TAB macro with a numeric \# argument, e.g. TAB 1. @@ -2260,7 +2226,6 @@ . ds $DROPCAP \\$1 . nr #DC_LINES \\$2-1 . ds $RESTORE_COND \\*[$COND_PERCENT] -. ds $RESTORE_EXT \\*[$EXT_PERCENT] . if '\\$3'COND' \{ .CONDENSE \\$4 \} . if '\\$3'EXT' \{ .EXTEND \\$4 \} . if !r#DC_GUT \{ .nr #DC_GUT (3p) \} @@ -2421,11 +2386,12 @@ \# .IR means "indent right," and so on. \# \# The first time any of the indent macros is used, it requires an -\# argument--the size of the indent in ipPcm. The size may also -\# be entered using the \w'#' function--very useful for numbered -\# lists using HI). The unit of measure is required. Subsequent -\# invocations don't require the argument; the indent measure remains the -\# same until it's changed by invoking the macro with an argument again. +\# argument--the size of the indent (with a unit of measure). The +\# size may also be entered using the \w escape--very useful +\# for numbered lists using HI. The unit of measure is required. +\# Subsequent invocations don't require the argument; the indent +\# measure remains the same until it's changed by invoking the macro +\# with an argument again. \# \# If no indents are in effect, the arguments passed to indent macros are \# measured from the left and right margins of the page. If a left indent @@ -2435,7 +2401,7 @@ \# to it, its value will be the value last in effect, unless you pass \# it an argument. If you do pass an argument, it is added to the last \# value in effect, unless you cleared the indent with one of -\# .IX macros. +\# .IX/Q macros. \# \# Example \# ------- @@ -3420,7 +3386,7 @@ y\\R'#DESCENDER \\n[.cdp]' \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ \\*[$REVISION_STRING] \\*[$REVISION] . \} -. el \{ +. el \{\ . ds $HDRFTR_CENTER \ \\*[$CHAPTER_STRING] \\*[$CHAPTER], \ \\*[$DRAFT_STRING]\\*[$DRAFT], \ @@ -3620,17 +3586,29 @@ y\\R'#DESCENDER \\n[.cdp]' \# \# +++LETTER MACROS+++ \# +\# First, create a register to hold incrementing numbers to be +\# appended to LETTERHEAD. +\# +.nr #FIELD 0 1 +\# \# DATE \# ---- \# *Arguments: -\# +\# \# *Function: -\# Stores date string in string $DATE. +\# Stores date (entered on the line after .DATE) in diversion +\# LETTERHEAD \# .MAC DATE END -. nr #DATE 1 -. di DATE -. RIGHT +. if !'\\n(.z'' \{ .di \} +. di LETTERHEAD\\n+[#FIELD] +. ie \\n[#FIELD]=1 \{\ +. nr #DATE_FIRST 1 +. RIGHT +. \} +. el \{\ +. LEFT +. \} .END \# \# @@ -3639,12 +3617,12 @@ y\\R'#DESCENDER \\n[.cdp]' \# *Arguments: \# \# *Function: -\# Stores "to" info in diversion TO_ADDRESS. +\# Stores addressee address (entered on the line after .TO) in +\# diversion LETTERHEAD \# .MAC TO END . if !'\\n(.z'' \{ .di \} -. nr #TO 1 -. di TO_ADDRESS +. di LETTERHEAD\\n+[#FIELD] . LEFT .END \# @@ -3654,12 +3632,12 @@ y\\R'#DESCENDER \\n[.cdp]' \# *Arguments: \# \# *Function: -\# Stores "from" info in diversion FROM_ADDRESS. +\# Stores addresser address (entered on the line after .FROM) in +\# diversion LETTERHEAD \# .MAC FROM END . if !'\\n(.z'' \{ .di \} -. nr #FROM 1 -. di FROM_ADDRESS +. di LETTERHEAD\\n+[#FIELD] . LEFT .END \# @@ -3667,14 +3645,14 @@ y\\R'#DESCENDER \\n[.cdp]' \# GREETING \# -------- \# *Arguments: -\# +\# \# *Function: -\# Stores greeting in string $GREETING. +\# Stores greeting (entered on the line after .GREETING) in +\# diversion LETTERHEAD \# .MAC GREETING END . if !'\\n(.z'' \{ .di \} -. nr #GREETING 1 -. di GREETING +. di LETTERHEAD\\n+[#FIELD] . LEFT .END \# @@ -3684,7 +3662,7 @@ y\\R'#DESCENDER \\n[.cdp]' \# *Arguments: \# \# *Function: -\# Stores greeting in string $CLOSING. +\# Stores greeting in diversion CLOSING. \# .MAC CLOSING END . br @@ -4286,7 +4264,11 @@ y\\R'#DESCENDER \\n[.cdp]' . if \\n[#DOC_TYPE]=4 \{\ . if !'\\n(.z'' \{ .di \} . \} +. nr #STORED_PP_INDENT \\n[#PP_INDENT] +. PARA_INDENT 0 . PP +. PARA_INDENT \\n[#STORED_PP_INDENT]u +. rr #STORED_PP_INDENT . ie r#ADVANCE_FROM_TOP \{\ . sp |\\n[#ADVANCE_FROM_TOP]u-1v . SHIM @@ -4465,8 +4447,8 @@ y\\R'#DESCENDER \\n[.cdp]' . ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u \} . el \{ .ALD \\n[#DOC_LEAD]u/2u \} . \} -. \} . vs \\n[#DOC_LEAD]u +. \} . el \{\ . ie !d$SUBTITLE \{\ . ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u*2u \} @@ -4959,11 +4941,33 @@ y\\R'#DESCENDER \\n[.cdp]' \# perfectly flush bottom margins. Any time SHIM is used, it \# ensures that the next output line falls on a legal baseline. \# +\# First, a little convenience macro +\# +.MAC PROCESS_SHIM END +. while \\n+[#LEGAL_BASELINE]<\\n[#CURRENT_V_POS] \{\ +. +. \} +. nr #SHIM \\n[#LEGAL_BASELINE]-\\n[#CURRENT_V_POS] +.END +\# .MAC SHIM END . nr #CURRENT_V_POS \\n(.d -. nr #LEGAL_BASELINE \\n[#T_MARGIN] \\n[#DOC_LEAD] -. while \\n+[#LEGAL_BASELINE]<\\n[#CURRENT_V_POS] \{ . \} -. nr #SHIM \\n[#LEGAL_BASELINE]-\\n[#CURRENT_V_POS] +. nr #LEGAL_BASELINE \\n[#T_MARGIN]-1v \\n[#DOC_LEAD] +. ie r#ADVANCE_FROM_TOP \{\ +. ie \\n[#CURRENT_V_POS]<(\\n[#T_MARGIN]-1v) \{\ +. while \\n-[#LEGAL_BASELINE]>\\n[#CURRENT_V_POS] \{\ +. +. \} +. nr #LEGAL_BASELINE +\\n[#DOC_LEAD] +. nr #SHIM \\n[#LEGAL_BASELINE]-\\n[#CURRENT_V_POS] +. \} +. el \{\ +. PROCESS_SHIM +. \} +. \} +. el \{\ +. PROCESS_SHIM +. \} . ALD \\n[#SHIM]u .END \# @@ -5323,7 +5327,9 @@ y\\R'#DESCENDER \\n[.cdp]' . nr #EPI_LINES \\n[#EPI_DEPTH]/\\n[#EPI_LEAD] . ie \\n[#START] \{\ . nr #EPI_WHITESPACE (\\n[#DOC_LEAD]*\\n[#EPI_LINES])-\\n[#EPI_DEPTH] -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . if \\n[#PRINT_STYLE]=2 \{\ . RLD \\n[#DOC_LEAD]u . if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\ @@ -5338,7 +5344,9 @@ y\\R'#DESCENDER \\n[.cdp]' . ie \\n[#EPI_DEPTH]<\\n[#TRAP_DISTANCE] \{\ . nr #EPI_FITS 1 . nr #EPI_WHITESPACE (\\n[#DOC_LEAD]*\\n[#EPI_LINES])-\\n[#EPI_DEPTH] -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . ie \\n[#PRINT_STYLE]=1 \{\ . if \\n[#EPI_WHITESPACE]=\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u/2u \} . \} @@ -5353,10 +5361,14 @@ y\\R'#DESCENDER \\n[.cdp]' . \} . el \{\ . nr #EPI_LINES_TO_TRAP 0 1 -. while \\n[#EPI_LEAD]*\\n+[#EPI_LINES_TO_TRAP]<\\n[#TRAP_DISTANCE] \{ .nr #LOOP 1 \} +. while \\n[#EPI_LEAD]*\\n+[#EPI_LINES_TO_TRAP]<\\n[#TRAP_DISTANCE] \{\ +. nr #LOOP 1 +. \} . nr #EPI_LINES_TO_TRAP -1 . nr #EPI_WHITESPACE (\\n[#EPI_LINES_TO_TRAP]*\\n[#DOC_LEAD])-(\\n[#EPI_LINES_TO_TRAP]*\\n[#EPI_LEAD]) -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u \} . if \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u-\\n[#DOC_LEAD]u \} . \} @@ -5398,7 +5410,9 @@ y\\R'#DESCENDER \\n[.cdp]' . ie \\n[#FN_FOR_EPI] \{\ . nr #EPI_LINES_TO_END 1 . nr #EPI_WHITESPACE (\\n[#EPI_LINES_TO_END]*\\n[#DOC_LEAD])-(\\n[#EPI_LINES_TO_END]*\\n[#EPI_LEAD]) -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . ALD \\n[#EPI_WHITESPACE]u-(\\n[#DOC_LEAD]u-\\n[#EPI_LEAD]u) . \} . el \{\ @@ -5420,7 +5434,9 @@ y\\R'#DESCENDER \\n[.cdp]' . if \\n[#LOOP] \{. nr #EPI_LINES_TO_END +1 \} . rr #LOOP . nr #EPI_WHITESPACE (\\n[#EPI_LINES_TO_END]*\\n[#DOC_LEAD])-(\\n[#EPI_LINES_TO_END]*\\n[#EPI_LEAD]) -. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \} +. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\ +. nr #EPI_WHITESPACE -\\n[#DOC_LEAD] +. \} . ALD \\n[#EPI_WHITESPACE]u-(\\n[#DOC_LEAD]u-\\n[#EPI_LEAD]u) . if \\n[#PRINT_STYLE]=1 \{\ . if !\\n[#SINGLE_SPACE] \{\ @@ -6252,14 +6268,14 @@ y\\R'#DESCENDER \\n[.cdp]' . if \\n[#USERDEF_HDRFTR_VERSO_QUAD]=1 \{ .LEFT \} . if \\n[#USERDEF_HDRFTR_VERSO_QUAD]=2 \{ .CENTER \} . if \\n[#USERDEF_HDRFTR_VERSO_QUAD]=3 \{ .RIGHT \} -. \} -. PRINT \\*[$USERDEF_HDRFTR_VERSO] -. EL -. if \\n[#FOOTERS_ON] \{\ -. di NULL -. SIZESPECS -. nr #HDRFTR_HEIGHT \\n[#CAP_HEIGHT] -. di +. PRINT \\*[$USERDEF_HDRFTR_VERSO] +. EL +. if \\n[#FOOTERS_ON] \{\ +. di NULL +. SIZESPECS +. nr #HDRFTR_HEIGHT \\n[#CAP_HEIGHT] +. di +. \} . \} . el \{\ . if \\n[#USERDEF_HDRFTR_RECTO_QUAD]=1 \{ .LEFT \} @@ -7758,30 +7774,22 @@ y\\R'#DESCENDER \\n[.cdp]' . br . if \\n[#DOC_TYPE]=4 \{\ . if !'\\n(.z'' \{ .di \} -. if \\n[#DATE] \{\ -. nf -. DATE -. QUAD \\*[$DOC_QUAD] -. ALD \\n[#DOC_LEAD]u*2u -. rr #DATE -. \} -. if \\n[#TO] \{\ -. nf -. TO_ADDRESS -. ALD \\n[#DOC_LEAD]u -. rr #TO -. \} -. if \\n[#FROM] \{\ -. nf -. FROM_ADDRESS -. ALD \\n[#DOC_LEAD]u -. rr #FROM -. \} -. if \\n[#GREETING] \{\ -. nf -. GREETING -. ALD \\n[#DOC_LEAD]u -. rr #GREETING +. nr #TOTAL_FIELDS \\n[#FIELD] +. nr #FIELD 0 1 +. nr #NUM_FIELDS 0 1 +. if \\n[#TOTAL_FIELDS]>0 \{\ +. while \\n+[#NUM_FIELDS]<=\\n[#TOTAL_FIELDS] \{\ +. nf +. LETTERHEAD\\n+[#FIELD] +. QUAD \\*[$DOC_QUAD] +. ALD \\n[#DOC_LEAD]u +. if \\n[#DATE_FIRST]=1 \{ .ALD \\n[#DOC_LEAD]u \} +. rr #DATE_FIRST +. rm LETTERHEAD\\n[#FIELD] +. \} +. rr #FIELD +. rr #NUM_FIELDS +. rr #TOTAL_FIELDS . \} . \} . rr #PP_ACTIVE @@ -8990,8 +8998,8 @@ y\\R'#DESCENDER \\n[.cdp]' . if \\n[#PRINT_STYLE]=1 \{ .PRINT "(\\n[#FN_NUMBER])\c" \} . if \\n[#PRINT_STYLE]=2 \{ .PRINT "\*[SUP]\\n[#FN_NUMBER]\*[SUPX]\c" \} . \} -. \} -. \} +. \} +. \} . \} . el \{\ . ie '\\$1'INDENT' \{\ @@ -9047,16 +9055,16 @@ y\\R'#DESCENDER \\n[.cdp]' . \} . nr #VARIABLE_FOOTER_POS -\\n[#DIVER_DEPTH] . if \\n[#FN_COUNT]=1 \{ .nr #VARIABLE_FOOTER_POS -1v \} -. \} +. \} +. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u +. if (\\n(nl+1v)>(\\n[#PAGE_LENGTH]+\\n[#VARIABLE_FOOTER_POS]) \{\ +. ch FOOTER \\n(nlu+1v +. \} +. if \\n[#FN_DEFER] \{\ +. nr #VARIABLE_FOOTER_POS 0-\\n[#B_MARGIN]u . ch FOOTER \\n[#VARIABLE_FOOTER_POS]u -. if (\\n(nl+1v)>(\\n[#PAGE_LENGTH]+\\n[#VARIABLE_FOOTER_POS]) \{\ -. ch FOOTER \\n(nlu+1v -. \} -. if \\n[#FN_DEFER] \{\ -. nr #VARIABLE_FOOTER_POS 0-\\n[#B_MARGIN]u -. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u -. \} . \} +. \} . nr #NO_FN_MARKER 0 .END \# @@ -10629,7 +10637,7 @@ y\\R'#DESCENDER \\n[.cdp]' \# LIST \# ---- \# *Arguments: -\# [ BULLET | DASH | DIGIT | ALPHA | USER ] [ ] [ ] +\# [ BULLET | DASH | DIGIT | ALPHA | USER ] [ ] [ ] \# *Function: \# Stores indent information in effect prior to invocation and \# initializes a list with the supplied enumerator (and separator). @@ -10640,7 +10648,7 @@ y\\R'#DESCENDER \\n[.cdp]' \# right of another list, every time, unless the default bullet is \# desired. \# -\# moves back one list level intuitively, or exits lists +\# moves back one list level intuitively, or exits lists \# completely if the level at which it's invoked is the first. \# .MAC LIST END @@ -11106,9 +11114,13 @@ y\\R'#DESCENDER \\n[.cdp]' . nr #LINES_PER_PAGE 0 1 . nr #DOC_LEAD_ADJ 0 1 . nr #DEPTH_TO_B_MARGIN \\n[#PAGE_LENGTH]-\\n[#B_MARGIN]-1v -. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{ . \} +. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{\ +. +. \} . nr #LINES_PER_PAGE -1 -. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]+\\n+[#DOC_LEAD_ADJ]*\\n[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{ . \} +. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]+\\n+[#DOC_LEAD_ADJ]*\\n[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{\ +. +. \} . DOC_LEAD \\n[#DOC_LEAD]u+\\n[#DOC_LEAD_ADJ]u . \} \# *...or calculate new B_MARGIN based on # of lines (at #DOC_LEAD) that fit @@ -11116,7 +11128,9 @@ y\\R'#DESCENDER \\n[.cdp]' . el \{\ . nr #LINES_PER_PAGE 0 1 . nr #DEPTH_TO_B_MARGIN \\n[#PAGE_LENGTH]-\\n[#B_MARGIN]-1v -. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{ . \} +. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN] \{\ +. +. \} . nr #B_MARGIN \\n[#PAGE_LENGTH]-(\\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n[#LINES_PER_PAGE])) . \} \# *Set footer and footnote overflow traps -- cgit v1.2.1
  • \*[BU #]
    Closes the space between letters (Back Units).
    \*[FU #]
    Opens the space between letters (Forward Units). @@ -212,8 +213,7 @@ kerning through the use of the inline escapes
    "#" is the number of kern units -by which to close or open the space between letters. Decimal fractions -are allowed. +by which to close or open the space between letters.

    For example,

    @@ -244,7 +244,7 @@ up to a limit of 36). between characters pairs that are already automatically kerned disables the automatic kerning and uses the value you give to BU or FU instead. -
    +

    @@ -295,7 +295,7 @@ the unit of measure, hence no unit of measure required). Both accept quarter points, so it's possible to do, for example, \*[FP.5] or \*[BP1.25] up to a limit of 12.75 points. -
    +

    @@ -338,8 +338,8 @@ Reverse lead .5...12.75 points (move upward)