head	1.14;
access;
symbols
	groff-1_20_1_real:1.14
	groff-1_20_1:1.14
	groff-1_20:1.14
	groff-1_19_2:1.9
	FDL:1.9
	groff-1_19_1:1.7
	groff-1_19:1.3
	groff-1_18_1:1.3
	groff-1_18:1.3
	import:1.1.1.1
	mom:1.1.1;
locks; strict;
comment	@# @;


1.14
date	2009.01.05.20.10.46;	author wl;	state Exp;
branches;
next	1.13;
commitid	LOYcfESGVCXMFixt;

1.13
date	2008.12.24.01.48.56;	author PTPi;	state Exp;
branches;
next	1.12;
commitid	e3LhspQ6m8KFXEvt;

1.12
date	2007.08.18.07.06.56;	author wl;	state Exp;
branches;
next	1.11;
commitid	MlsHTu3GOQmABcus;

1.11
date	2006.08.01.01.11.51;	author PTPi;	state Exp;
branches;
next	1.10;

1.10
date	2006.05.09.21.41.36;	author PTPi;	state Exp;
branches;
next	1.9;

1.9
date	2004.08.09.09.07.47;	author wlemb;	state Exp;
branches;
next	1.8;

1.8
date	2004.06.04.06.43.07;	author wlemb;	state Exp;
branches;
next	1.7;

1.7
date	2004.03.22.06.20.10;	author wlemb;	state Exp;
branches;
next	1.6;

1.6
date	2004.02.22.09.22.12;	author wlemb;	state Exp;
branches;
next	1.5;

1.5
date	2004.01.25.07.22.59;	author wlemb;	state Exp;
branches;
next	1.4;

1.4
date	2003.05.19.05.07.43;	author wlemb;	state Exp;
branches;
next	1.3;

1.3
date	2002.07.17.04.50.28;	author wlemb;	state Exp;
branches;
next	1.2;

1.2
date	2002.06.06.13.11.42;	author wlemb;	state Exp;
branches;
next	1.1;

1.1
date	2002.05.23.21.59.15;	author wlemb;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2002.05.23.21.59.15;	author wlemb;	state Exp;
branches;
next	;


desc
@@


1.14
log
@Update copyright year.
@
text
@    Copyright 2004, 2005, 2006, 2007, 2008, 2009
      Free Software Foundation, Inc.

    Copying and distribution of this file, with or without modification,
    are permitted in any medium without royalty provided the copyright
    notice and this notice are preserved.

As of version 1.2, the items on this TODO list will only be dealt
with if users request they be implemented.

CROSS-REFERENCING
-----------------

TOC
---
Capability of generating a separate file for TOCs, for collating
and processing with gs/ps2pdf.

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)?

FOOTNOTES
---------
In columnar docs, maybe give user the choice of gathering all
footnotes at the bottom of the last column?
@


1.13
log
@
o Added a CAPS option to HDRFTR_RECTO and HDRFTR_VERSO to allow
  capitalization of reserved strings when designing recto and/or
  verso headers.  Fixed docs accordingly.

o Added .nr #DIVER_DEPTH 0 to end of PRINT_PAGE_NUMBER to ensure
  that #DIVER_DEPTH=0

o Moved string definition of $FONT in macro FT to top of macro.

o Moved string definition of $FAMILY in macro FAMILY to top of
  macro.

o Changed condition generating #NO_BREAK at top of macro COLLATE
  from
    .if ( \\n[.t] < \\n[.v] ) \{ .nr #NO_BREAK 1 \}
  to
    .if ( (\\n[.t]-1) <= \\n[.v] ) \{ .nr #NO_BREAK 1 \}

  (Bottom-of-page trap is tripped 1 unit below last legal
  baseline, not on it.)

o Commented out what appears to be a superfluous and destructive
  resetting of #VARIABLE_FOOTER_POSITION at line 13347 in FOOTNOTE
  macro.  For now, fixes the "vanishing first footnote with some
  overflow" bug.

o Added a bit to .PP to accommodate .PP_FONT I when PRINTSTYLE is
  TYPEWRITE and ITALIC_MEANS_ITALIC

o Removed spurious 'sp |\\n[MN-curr-pos]u from MNbottom-right, prior
  to re-invoking traps.  Hopefully, fixes vanishing RH margin notes
  bug.

o Added missing spaced paras bit in blockquotes.
@
text
@d1 1
a1 1
    Copyright 2004, 2005, 2006, 2007, 2008
@


1.12
log
@

Add and update copyright messages.
@
text
@d1 1
a1 1
    Copyright 2004, 2005, 2006
@


1.11
log
@

o Updated examples/elvis_syntax.new

o Updated ChangeLog, NEWS, BUGS, copyright and groff_mom.man

o Removed documentation files in preparation for restoring them in
  their new xhtml versions.

o Changed all .LLs in LIST to .ll requests.

o Added new macro, FINIS_STRING_CAPS, to control capitalization of
  the finis string.

o Amended doc section on page set up to include directions for
  telling groff about the physical dimensions of printer sheets.

o Added new arg to BLANKPAGE: NULL.  If given, BLANKPAGE does not
  increment the page number when outputting a blank page.

o Added new control macros, COVERS_COUNT_PAGES and
  DOC_COVERS_COUNT_PAGES in case user wants covers counted in the
  pagination scheme.

o Added new final arg to COVER and DOC_COVER: BLANKPAGE.  Instructs
  COVER or DOC_COVER to print a blank page after the cover.

o Added new optional args to CODE: BR, BREAK, SPREAD.  CODE can
  now be called inline; if called as a macro and the user wants a
  break or spread, s/he has to supply one of the args.

o Added new macro, CODE_FAMILY, to set fixed-width family used by
  .CODE

o Made EDITOR an alias of AUTHOR

o Added optional arguments, COVER or DOC_COVER, to reference
  macros that may be used on covers and doc covers, allowing users
  greater flexibility in determining exactly what goes on covers
  and doc covers without screwing up the doc header or the default
  page headers/footers

o Added macros to control the weight and placement of all
  underscore/underline rules used in typesetting and document
  processing

o Added macros for drawing of rules, boxes and circles (ellipses)

o Added macro, RULE_WEIGHT, to control weight of rules drawn with
  \*[RULE]

o General doc updates, additions, amendations and corrections

o Reformatted entirety of documentation to be xhtml clean

o Added inlines \*[UC] and \*[LC] to handle inline caps; corrected
  doc entry stating that you can use \*[CAPS] and \*[CAPS OFF]; chief
  reason is to allow inline capitalization in strings passed to
  header/footer definitions.

o Changed inline, \*[RULE], so that it always draws the rule one
  linespace beneath the last output line.  Formerly, \*[RULE] drew
  the rule on the baseline of the current output line.

o Changed UNDERSCORE and UNDERSCORE2 to use groff's \D'l <n> <n>'
  line drawing function.

o Changed RULE to use groff's \D'l <n> <n>' line drawing function.

o Added RULE_WEIGHT macro, to allow controlling weight of \*[RULE],
  expressed in points (including fractional points).

o Added two new inlines, \*[UC] (all caps) and \*[LC] (caps/lowercase).
  These can be used in user-defined header/footer strings (if \E is
  used instead of just the backslash by itself) as well as in
  normal copy.

o Added .FAMILY \\*[$DOC_FAMILY] and .FT R to the end of
  .DEFAULT_DOCHEADER, .CHAPTER_DOCHEADER and .NAMED_DOCHEADER.
  Fixes bug that was causing type which was set after .START when no
  docelement tag given to be set in the last family and font used in
  the docheader, instead of the expected $DOC_FAMILY and roman font
  (R).

o Updated copyright file

o Massive documentation cleanup to make docs well-formed xhtml

o Rewrote portions of TITLE, COVERTITLE, DOCCOVERTITLE,
  CHAPTER_TITLE, SUBTITLE and MISC so that when they're called from
  .COLLATE, they properly clean out all associated strings and
  registers.  Fixes the "vanishing $TITLE" bug.

o Added missing .rm $AUTHORS to .AUTHOR.  .as $AUTHORS now always
  starts with a clean slate.

o Added a missing </nobr> tag to docelement.html.
@
text
@d1 7
@


1.10
log
@
o Corrected doc entry that stated TOC control macros can be entered
  anywhere in a file prior to invoking TOC (TOC control macros must
  come before START).

o Removed spurious .nop from .ie \\n[#PRE_COLLATE]=1 clause in
  FAMILY (fixes bug that was causing page numbers on pages before
  COLLATE or TOC to be printed too low).

o Added a test at top of COLLATE to set register #NO_BREAK to 1
  if the distance to the next trap is less than one linespace; used
  in NEWPAGE to determine whether to do a 'br or .br. (fixes BUG
  that was causing COLLATE, NEWPAGE, and TOC to spit out a blank
  page when the last line of text before them happened to fall on
  the last legal baseline of the page).

o Changed pad marker used to format TOC entries to permit use of
  the pound/number sign (#) in head elements.

o New macro, PREFIX_CHAPTER_NUMBER, to allow users to prepend
  chapter numbers to the numbering scheme used in head element
  numbering.

o Added missing periods at the ends of head, subhead, parahead
  numbers.

o CHAPTER, with a numeric argument, can now be used to identify any
  document as a "chapter" for the purposes of prefixing the
  argument to CHAPTER to the numbering scheme of head elements.

o Fixed alignment of TOC entries.

o Removed .rr #DOC_HEADER and replaced with

    .if \\n[#DOC_HEADER]=1 \{ .nr #DOC_HEADER 2 \}

  near the end of START.  I.e., #DOC_HEADER becomes "2"  if
  docheaders were on in the previous document.  COLLATE tests for 2
  in order to reset #DOC_HEADER to 1 for use in the user-invoked START
  that comes after a COLLATE.

o Added register, #CHAPTER_CALLED, to CHAPTER; tested for in
  PREFIX_CHAPTER_NUMBER to determine whether the argument to CHAPTER
  can be used to establish a chapter number for chapter number
  prefixes in head element numbering.

o Fixed bug that was causing shifted lists, when returned to, to
  revert to the left margin instead of observing the correct
  indent+shift for the list.

o Added a check in LIST so that if user invokes LIST with RETURN,
  mom doesn't get confused by the initial `R' (which she was using
  to check if the arg to LIST was ROMAN or roman).

o Replaced an incorrectly copied code block in SUBHEAD that was
  preventing SUBHEAD from processing subheads properly when
  PARA_SPACE was on.

o trivial corrections to docs
@
text
@a3 5
HEAD, SUBHEAD & PARAHEAD NUMBERING
----------------------------------
Add capability of prefixing head, etc. numbers with the chapter
number as well.

a11 4
DOCS
----
Re-write in xhtml (put closing tags after every tag)?

a24 9

CONTROL MACROS -- _INDENT
--------------
Let user be able to enter decimal fractions as the argument to _INDENT
control macros, or, instead, let user be able to enter absolute
values with a unit of measure in addition to current behaviour,
which is relative.

------------------------------------------------------------------------
@


1.9
log
@

o Version changed from the 1.1.x series to 1.2.  All of the
  features I originally wanted mom to have originally have been
  implemented, and appear to be stable.

o Major overhaul to the setting of page traps and the handling of
  footnotes, both "normal" footnotes and footnotes that occur
  inside QUOTE, BLOCKQUOTE and EPIGRAPH.

o Addtion of font "styles" to om.tmac, plus changes to the FAMILY
  and FT macros to manage them.  New section in the doc appendices
  on adding fonts and managing the new font styles.

o Mom now uses a "fallback font" whenever there's an illegal call
  to FAMILY.

o RW and EW now affect only the font in effect.  A change of family
  or font disables them.

o BR_AT_LINE_KERN now properly does a .brp (spread and break) when
  used in justified text.

o NEWPAGE, which used to be an alias for .bp, has been moved into
  its own macro, in order to make it more responsive to some unusal
  situations.

o Some changes to elvis_syn.new, including that the file extensions
  recognized by elvis now include both .mom and .tmac.  This makes
  om.tmac much easier to read.

*Jul 6 2004

o FT and FAM(ILY) reworked to take advantage of if S, if F and
  \n[.sty] additions to groff (1.19.2).  Warnings are emitted if a
  style hasn't been registered, or if a font style doesn't exist in
  the current family.  Invalid .FAM(ILY) calls now use a "fallback"
  font" (although no warning is issued); fallback is user-settable

o New macro, FALLBACK_FONT.  Not only controls the fallback font
  for invalid family calls, but also controls whether mom aborts on
  invalid .FT calls after issuing a warning.

o RW/EW now affect only the current font (or font style)

o BR_AT_LINE_KERN now (properly) does a break-and-spread when text
  is justified.

o Fairly extensive list of .sty's added to om.tmac.  Hopefully,
  this will make life easier for users wishing to add new fonts
  and/or entire new families to their groff site-font/devps
  directory.

*Jun 6 2004

o Altered kerning slightly for footnote markers in text.  Daggers
  and double-daggers were getting a bit jammed
@
text
@d4 17
@


1.8
log
@

o Rewrote the routines dealing with _FAMILY, _FONT, _SIZE, _COLOR
  and _QUAD.  A single macro for each checks for the calling alias
  (e.g. TITLE_FAMILY in _FAMILY), and performs the appropriate
  action.

o All "COLOUR" aliases of "COLOR", no matter where, have been
  removed.

o Added cover and doc cover page generation.

o Added reference macros COVERTITLE, DOC_COVERTITLE, MISC and
  COPYRIGHT (for use with covers only)

o Fixed EL and TN so they don't spring page traps; in nofill modes
  the preceding input line must be terminated by \c.

o Added #T_MARGIN_LEAD_ADJ to DO_B_MARGIN, DO_T_MARGIN and NEWPAGE
  to ensure accurate placement of first lines on new pages when
  docprocessing is not taking place.

o Made NEWPAGE it's own macro; formerly just an alias of .bp.

o Made BREAKQUOTE obsolete; rewrote sections of footnote handling,
  including adding support macros to deal with processing of
  footnotes that were started inside quotes, blockquotes and
  epigraphs.

o Added a TERMINATE .em to docprocessing (except letters) to ensure
  that deferred footnotes print on the last page of a doc.
@
text
@d1 1
a1 1
As of version 1.1.9, the items on this TODO list will only be dealt
a17 2
Figure out a way to bypass the \c requirement before .FOOTNOTE.

@


1.7
log
@

o Added color support

o Adjusted vertical placement of hyphens around page numbering
  so that they are better centered on the height of the page
  number.

o Re-wrote portions of the document processing macros so that tabs
  behave in a consistent and intuitive manner.  Tab structures are
  now properly preserved from page to page and column to column.
@
text
@d1 3
a18 4

Figure out a way to process blockquotes and quotes that contain
footnotes so that the user doesn't have to use the awful kludge
.BREAKQUOTE.
@


1.6
log
@

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 <distance> when <distance> 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<n>], \*[ST<n>X], \*[FU<n>
  and \*[BU<n> are read.  Formerly, they were entered literally.
  Now they're entered as an array.
@
text
@d15 6
@


1.5
log
@

o Added lists and associated macros.  Mom now does (nested) lists.

o Added German-style lowered double quotes and two styles of
  guillemets to SMARTQUOTES.

o Added macro SIZE, intended to be called inline as \*[SIZE <n>].
  This is to bring mom's inline size change syntax into line with
  her other inlines.

o Added ESC_CHAR as an alias of .ec

o Added doc entries for lists.

o Updated SMARTQUOTES entry in docs.

o Updated reserved words in docs.

o Fixed a few more typos in docs.
@
text
@d1 5
@


1.4
log
@
o Added TOC (finally) and a nearly complete set of associated
  control macros

o Added new control macros to endnotes:

  ENDNOTES_STRING_CAPS       - capitalize the endnotes string
  ENDNOTES_NO_COLUMNS        - allows docs in columns and endnotes not
  ENDNOTES_PAGENUM_STYLE     - set page numbering style for endnotes
  ENDNOTES_FIRST_PAGENUMBER  - set first pagenumber for endnotes
  ENDNOTES_ALLOWS_HEADERS    - page headers on endnotes pages off or on
  ENDNOTES_NO_FIRST_PAGENUM  - allows non-printing first page number when page footers are being used instead of headers
  ENDNOTES_SINGLE_SPACE      - for TYPEWRITE, if doc double-spaced
  SUSPEND/RESTORE_PAGINATION - turns page numbering off for endnotes

o Added an ADJUST option to ENDNOTE_LEAD

o Added DOC_TITLE (like TITLE, but sets document-wide title for collated docs)

o Added HDRFTR_CENTER_PAD, to allow adjustments to placement of
  HDRFTR_CENTER_STRING

o Added BLANKPAGE macro, to output blank pages (silently numbered)

o Extensive changes to DEFAULTS, START, COLLATE, HEAD, SUBHEAD and
  PARAHEAD because of new TOC and extended flexibility of ENDNOTES
  page design

o Fixed DOCHEADER OFF (distance), FINIS

o (Re)-fixed handling of post epigraph spacing after #START for
  TYPEWRITE double-spaced.
@
text
@a16 13
LISTS
-----
Possbility of indented, nested lists, html-style.  Options for numbered,
alpha-ed, bulleted, dashed.  Again, not sure how useful these would be
for mom's target users.  As things stand now, it's easy enough to
set up lists with string tabs or hanging indents.

BIBLIOGRAPHY
------------
Thinking about macros to *assist* in user-written bibliographies (i.e.
not biblios that get generated automatically at the ends of docs).  Style
considerations are a nightmare, though.

@


1.3
log
@
o Added capability of endnotes and pertinent control macros to om.tmac.

o Added document entries pertaining to endnote macros.

o Incorporated endnote macros into elvis_syntax.

o Small doc fixes.

o Tidied up indenting of om.tmac.

o Fixed handling of underlining of italics in PRINTSTYLE TYPEWRITE
  (there was a problem with footnotes getting underlined when they
  shouldn't have been).

o Removed ENDNOTES from TODO

o Fixed the character translations for UNDERLINE so they work properly
  with digraphs.
@
text
@d1 9
@


1.2
log
@
*Wed Jun  5 2002

o Makefile.sub (TFLAG): Add `$(top_builddir)/tmac'.

*Tue Jun  4 2002

o Makefile.sub (groff_bin_dirs): Fix typo (forgotten `src' element).

*Mon Jun  3 2002

o Makefile.sub (uninstall_sub): Don't use `momdocdir' but `htmldocdir'.
  Add missing backslash.

*Sat Jun  1 2002

o Makefile.in (prepare_make_examples): Test for `penguin.ps', not
  `examples/penguin.ps'.

*Wed May 29 2002

o Rewrote portions of PAGENUM_STYLE and COPYSTYLE so that PAGENUM_STYLE
  behaves as advertised.

*Fri May 24 2002

o /Makefile.sub (momdocdir): Removed.
  (HTMLDOCFILES): Prepend `momdoc/'.
  (EXTRAEXAMPLEFILES): Removed.  Added entries to...
  (EXAMPLEFILES): This.
  (.SUFFIXES, .mom.ps): New.
  (prepare_make_examples): Updated.
  (examples/*.ps): Removed; .mom.ps will handle this.
  (install_data): Updated.

*Thu May 23 2002

o Applied two small bug fixes to om.tmac (patches 1.1.1a and 1.1.1b).

o mom is now part of groff.

o Some renaming to avoid problems with 8+3 filesystems:

    examples/docprocessing_typeset.mom   -> examples/typeset.mom
    examples/docprocessing_typewrite.mom -> examples/typewrite.mom
    examples/typesetting_macros.mom      -> examples/macros.mom
    examples/penguin_small2_bw.ps        -> examples/penguin.ps

o Removed `INSTALL' and `README' since groff takes care of installation
  now.

o Added Makefile.sub.

o Added mom.tmac (which simply calls om.tmac).

o Added groff_mom.man for orthogonality; it simply points to the HTML
  documentation.

*Thu May 16 2002

o Added macro DRAFT_WITH_PAGENUMBER so user can have draft/revision
  info attached to the pagenumber in COPYSTYLE DRAFT, instead of having
  it HEADER center.  Always having it HEADER center was creating problems
  with long doc titles, esp. with PRINTSTYLE TYPEWRITE (which is when
  COPYSTYLE DRAFT is most likely to be used).  Now user has the choice,
  in these circumstances, either to reduce HEADER_SIZE, or to displace
  the draft/revision info.  Also rewrote portions of COPYSTYLE so that
  if no revision number is given in the reference macros, "Rev. #"
  doesn't appear when COPYSTYLE DRAFT.

*Fri May 10 2002

o Added capability of user-defined, single string recto/verso
  headers/footers.

o Added new entries to docs about the above.  Made some additional
  small changes to toc.html, rectoverso.html, and headfootpage.html
  to supplement the new entries.

o Small fix to handling of footer separator rule -- was 1 point too low
  owing to fuzziness of #CAP_HEIGHT as returned by SIZESPECS.

o Added some more useful stuff to elvis_syntax.

*Sun May 05 2002

o Fix to DEFAULTS so that L_MARGIN and R_MARGIN are reprocessed if
  DOCTYPE LETTER.  R_MARGIN, as set by DOCTYPE LETTER had no preceding
  PAGEWIDTH or PAPER from which to get #PAGE_WIDTH for figuring out
  line length.

o Additional fix to DEFAULTS in handling DOCTYPE LETTER so that if user
  sets line length prior to START, no reprocessing of R_MARGIN occurs.
  This necessitated adding a new number register: #USER_SET_L_LENGTH

*Sat May 04 23:48:05 EDT 2002

o Added .cflags 4 /\(en -- was driving me nuts that lines wouldn't
  break after these characters; I'm assuming others feel the same way

* Fri May 03 2002

o Made some small fixes to space handling around quotes, mostly to do
  with quotes immediately after START and quotes after (sub)heads.

* Wed May 01 2002

o Fixed a small bug that was causing the first .PP after START to begin
  at the top margin of the page regardless of any type that preceded
  .PP when docheaders were off.

o Fixed HEADER so that when HEADERS are off the first line of type on
  pages after the first falls properly at the top margin
@
text
@a7 5
ENDNOTES
--------
Not entirely sure of the most flexible way to set these up.  And, to be
honest, not sure how essential they are to mom's target users.

@


1.1
log
@Initial revision
@
text
@a0 10
HEADERS/FOOTERS
---------------
Create two new macros -- HEADER/FOOTER_1 and HEADER/FOOTER_2 --
in case user wants a single (instead of 3-part) user-designed
header/footer.  Default will be centered, but since I'll process this
style of header/footer in a diversion, user can change quad direction.
The idea behind _1 and _2 is that the user may want different headers
for recto and verso pages.  Therefore, when recto/verso is on, _1 will
go on rectos, _2 on versos.

@


1.1.1.1
log
@Import of mom
@
text
@@
