* tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported
[s-roff.git] / contrib / mom / NEWS
blobf5b6afb0d42487c5587e119f63ae72e8a3839321
1     Copyright 2004, 2005, 2006
2       Free Software Foundation, Inc.
4     Copying and distribution of this file, with or without modification,
5     are permitted in any medium without royalty provided the copyright
6     notice and this notice are preserved.
8 Release 1.5-a
9 -------------
10 Bugfix release (see BUGS, Version 1.5).
12 Release 1.5
13 -----------
14 Macros have been added to facilitate the drawing of common
15 graphical objects: rules (horizontal and vertical), boxes (solid or
16 filled) and circles (ellipses; also solid or filled).  The
17 behaviour of \*[RULE] has changed so that it always deposits a
18 break when it's called, bringing it (somewhat) into line with the
19 new macro for drawing rules precisely, DRH.  Additionally, a new
20 macro, RULE_WEIGHT, can be used to control the weight of rules
21 drawn with \*[RULE].
23 Overall, the handling of underscoring and underlining--wherever it
24 occurs--has been overhauled so that users can control both the
25 weight and the placement of underscore/underline rules.  New
26 macros have been created to control, for example,
27 the weight and placement of the rule under a HEAD, or the weight of
28 a FOOTNOTE separator rule, etc.  Anything that can be underscored
29 or underlined (except the pseudo-underlining of italic passages in
30 PRINTSTYLE TYPEWRITE) has a "rule" control macro.  See the document
31 sections pertinent to the macro in question.
33 The creation and management of covers and doc covers has been
34 overhauled for greater flexibility, including the ability to
35 generate differing titles, subtitles, attribution strings, authors,
36 doctypes, miscellaneous lines and copyright information for the
37 same document's doc cover and cover (title) pages, without
38 affecting the default docheader that appears on page one.
39 Additionally, you can now get mom to output a blank page after a
40 cover or doc cover, as well as tell her whether to include covers
41 and doc covers in the pagination scheme.
43 The convenience macro, CODE, has been made more convenient.  A new
44 control macro allows setting users' prefered fixed-width fonts.
45 Additionally, CODE can now be called inline.
47 New inline escapes, \*[UC] and \*[LC], have been added to allow
48 inline capitalization.  This is particularly useful when users
49 want to pass a header/footer left-center-right part one of mom's
50 "reserved" strings and want the string capitalized (or not) in the
51 header/footer.
53 For more details, see ChangeLog as well as the documentation.
55 Release 1.4-b
56 -------------
57 It is now possible to pass an absolute value to QUOTE_INDENT,
58 BLOCKQUOTE_INDENT and EPIGRAPH_INDENT.  If an absolute value
59 is desired, the user simply appends a unit of measure (scaling
60 indicator) to the argument.  If no unit of measure is appended,
61 the old behaviour is still observed (i.e. the numeric argument
62 represents the amount by which to multiply the paragraph indent to
63 arrive at the desired indent value).
65 The main macro file, om.tmac, is now stripped of comments when
66 groff is built from sources.  om.tmac in the sources themselves
67 still contains the comments, as do the tarballs posted on the mom
68 homepage.
70 Release 1.4-a
71 -------------
72 Added a new macro, HEADERS_AND_FOOTERS, to allow having both
73 headers and footers on a page.
75 Release 1.4
76 -----------
77 DOCTITLE, TITLE, CHAPTER_TITLE, SUBTITLE, COVERTITLE and
78 DOC_COVERTITLE now accept multiple arguments; each is printed
79 on a separate line.
81 New macro, CODE, to facilitate setting programming code snippets.
83 Release 1.3-e_<#>
84 -----------------
85 New macro, PREFIX_CHAPTER_NUMBER, to allow users to prepend chapter
86 numbers to the numbering scheme used in head element numbering.
88 Indented TOC entries now line up better.
90 Line numbering now has control macros for family, font, point size
91 and color.
93 A new macro, NO_SHIM, to disable the automatic shimming of
94 (possibly irregularly linespaced) quotes and blockquotes.
96 Release 1.3-d
97 -------------
98 Bug fix release (FONT--removed superfluous "if" that was breaking
99 fallback font logic; FOOTNOTE--no longer adding a linebreak after
100 footnote marker in footnote text in nofill modes).
102 Fixed indent problem with LIST when both PAD_LIST_DIGITS LEFT and
103 SHIFT_LIST used concurrently.
105 Release 1.3-c
106 -------------
107 Bug fix release (margin notes, TYPEWRITE--spacing, underlining and
108 italicizing 
110 Release 1.3-b
111 -------------
112 Bug fix release.  SMARTQUOTES has been smartened; miscellaneous
113 glitches in PRINTSTYLE TYPEWRITE fixed (see BUGS).  Primarily
114 corrects inconsistencies and bugs with the margin notes routines.
116 Release 1.3-a
117 -------------
118 Bug fixes: First baseline of type wasn't going where it was supposed
119 to when the docheader was turned off; fixes to errors in html
120 formattting of docs.
122 Release 1.3
123 -----------
125 Added line numbering capabilities, with controls.
127 Footnotes and endnotes can now be referenced by line number.
129 Added ability to adjust vertical position of the title that appears
130 on the first endnotes page.
132 Footnotes can run on when being referenced by line number.
134 Footnotes now have a post-footnote spacing option, for adding
135 a little space between footnotes.
137 Extended LIST so it accepts alpha, ROMAN and roman enumerators.
139 Added margin notes capability.
141 Added refer support.
143 Added bibliography page support.
145 Added QUOTE_AUTOLEAD and BLOCKQUOTE_AUTOLEAD, so user can have
146 quotes and blockquotes leaded differently from running text.
148 Change: the input line immediately after FOOTNOTE OFF must be
149 entered as a literal continuation of the line prior to FOOTNOTE,
150 including any initial spaces or punctuation marks.  This allows
151 for hassle-free placing of footnote markers in running text either
152 before or after punctuation marks.
154 Release 1.2-f
155 -------------
157 Added ADD_SPACE, to permit users to insert space at the top of
158 running text (after the first page) when using the docprocessing
159 macros.
161 Releases 1.2-a and 1.2-b
162 ------------------------
164 My personal email address has changed.  1.2-a and -b have been
165 updated to reflect that.  Additionally, I made some small changes
166 to the documentation.
168 Release 1.2
169 -----------
171 As of 1.2, the recommended version of groff to use with mom has
172 been bumped up from groff, 1.18 to groff, 1.19.2.  Although mom will
173 continue to work with groff, 1.18, her handling of .FAM(ILY) and .FT
174 is now slightly different, therefore users of groff 1.18 may have to
175 update documents created with mom so that every .FAM(ILY) request is
176 followed by a .FT request before any text is input, otherwise mom
177 will set the text after .FAM(ILY) in Courier (until she encounters a
178 .FT request).  People running groff, >= 1.19.2 don't have to worry
179 about this, but I recommend that, regardless of which version you're
180 running, you have a look at the document entries for FAMILY and FT
181 in order to see how mom will be handling .FAMILY and .FT from now
184 When used with groff >=1.19.2, mom now emits warnings if a style
185 hasn't been registered, or if a font style doesn't exist in the
186 current family.  Invalid .FAM(ILY) calls now use a "fallback" font"
187 (although no warning is issued).  The fallback is user-settable.
189 Mom's macro file, om.tmac, now sets up a fairly extensive list of
190 font "styles," thus expanding the range of arguments that can be
191 passed to .FT (formerly, just R, I, B and BI, unless users had
192 already rolled their own solution to the problem of extensive type
193 families containing fonts like condensed, demibold, black, light, etc).
194 Users are advised to read the documentation sections on FAM(ILY),
195 FT and FALLBACK_FONT, as well as the new appendix section, "Adding
196 PostScript fonts to groff", for information on using mom's style
197 extensions (and how to disable them, should they conflict with a
198 user's present groff site-font/devps setup).
200 A new macro, FALLBACK_FONT, has been added.  It controls not only
201 the fallback font for invalid .FAMILY calls, but also whether mom
202 aborts on invalid .FT calls after issuing a warning, or continues
203 processing using the fallback.
205 Release 1.1.9
206 -------------
208 Added the (optional) generation of cover pages and document cover
209 pages, plus a full suite of control macros for all cover page
210 elements.
212 Added new reference macros that apply to covers: COVERTITLE,
213 DOC_COVERTITLE, COPYRIGHT and MISC.
215 The need for TRAP OFF/TRAP to deal with ELs and TNs that fall at
216 the bottom page has been obsoleted.  However, both EL and TN, when
217 invoked in any "nofill" mode (LEFT, RIGHT, CENTER, or the L | R | C
218 arguments to TAB_SET or ST when no QUAD argument is given), must now
219 have the input line preceding the EL or TN terminated by \c.  Fill
220 modes do not have this requirement, i.e. no \c is required.
222 Footnotes that occur inside quotes, blockquotes and epigraphs now
223 work just like regular footnotes, with no user intervention
224 required.  This obsoletes the macro BREAK_QUOTE.
226 Removed all aliases that used the word COLOUR.  Users must use
227 COLOR wherever COLOR is needed.  COLOUR, as a replacement/alias, is
228 no longer supported.
230 NEWPAGE, which used to be an alias of .bp, is now its own macro.
232 Release 1.1.8
233 -------------
235 Added text color support.  Users can now define or initialize a color,
236 and afterwards change text color with an inline of the form
237 \*[<colorname>], or with the macro .COLOR.  In document processing,
238 the docelement tag control macros have been expanded to include
239 _COLOR, e.g. .HEAD_COLOR <predefined colorname> will colorize
240 heads, PAGENUM_COLOR <predefined colorname) will colorize page
241 numbering, etc.
243 Adjusted vertical placement of hyphens around page numbering when
244 PAGENUM_STYLE is DIGIT, ROMAN or ALPHA so that the hyphens appear
245 properly centered on the page numbering character.
247 Changed tab handling in document processing so that tab structures
248 are preserved from page to page and column to column.
250 Release 1.1.7-a
251 ---------------
253 Increased the flexibility of SMARTQUOTES so that they handle quoting
254 styles by language, entered as a 2-digit language code argument to
255 SMARTQUOTES.  See docs.
257 Re-wrote the DOCTYPE LETTER macros so that DATE, TO and FROM can be
258 entered in any order the user wishes, with output that matches
259 input.  (Should have done this in the first place.)
261 Release 1.1.7
262 -------------
264 Finally got around to writing "list" macros.  See the docs.
266 Added German-style lowered double quotes and two styles of
267 guillemets to SMARTQUOTES.
269 Added macro SIZE, intended to be called inline as \*[SIZE <n>].
270 This brings mom's inline size change syntax into line with her other
271 inlines.  \*S[<n>] can still be used for the same thing.
273 The file elvis_syntax (for elvis prior to 2.2h) is no longer being
274 maintained.  It was getting messy and long in the tooth.  The
275 official elvis syntax file is elvis_syntax.new, which works for
276 2.2h of elvis (and higher, one hopes).  elvis users are encouraged
277 to update to 2.2h or higher.
279 Release 1.1.6-e
280 ---------------
282 Extended handling of draft and revision numbers and strings in
283 headers/footers for increased flexibility.  It's possible now to
284 have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING
285 and REVISION, and have them come out in headers/footers as one
286 intuitively expects/wants.
288 Also added a new set of syntax highlighting rules for the vi clone,
289 elvis.  Version 2-2h-beta of elvis finally made possible the
290 highlighting of \*[...] inline escapes, whether or not they're
291 separated from surrounding text by spaces.  This is a terrific
292 improvement in elvis, and makes for greatly improved readability of
293 mom files.
295 Release 1.1.6-b - 1.1.6d
296 ------------------------
298 Trivial changes to documentation and some cleanups of the main
299 om.tmac file, including:
301 Added a .bp after .if \\n[#START]=1 in FOOTER.  Without it,
302 in document processing mode, documents that use *none* of the
303 docprocessing tags (yes, there are times when users want to do
304 this) ignored the footer trap.
306 Changed register #DOCHEADER_LEAD_ADJ to string
307 $DOCHEADER_LEAD_ADJ.  This means that .DOCHEADER_LEAD no longer
308 requires a unit of measure; points is assumed.
310 Release 1.1.6-b
311 ---------------
313 Added a SHIM macro that calculates and moves to the next "legal"
314 baseline during document processing (useful if user starts playing
315 around with spacing/leading on a page and needs to get the leading
316 back on track).
318 Fixed handling of DOCHEADER OFF <distance> so that the first line of
319 running text falls on a "legal" baseline when <distance> is given.
321 Release 1.1.6-a
322 ---------------
324 Problem with groff 1.19.1 fixed by Werner (.return handled arguments
325 incorrectly).
327 Fixed handling of page numbering style restoration in endnotes, so
328 that (collated) docs have the correct page numbering style when the
329 style has been changed for endnotes (with ENDNOTES_PAGENUM_STYLE).
331 DOC_TITLE has been made for use exclusively with DOCTYPE DEFAULT.
333 Fixed handling of headers/footers with respect to endnotes.  Now,
334 when either headers or footers are on, mom picks up the correct
335 page header/footer on the last page prior to ENDNOTES, gets the
336 pageheaders correct for endnotes pages *including the last one*, and
337 picks up correct page headers/footers for the subsequent docs after
338 COLLATE.
341 Release 1.1.6
342 -------------
344 BAD NEWS: mom appears to be crippled in some areas when run with
345 groff 1.19.1.  Pending a solution, mom must be run with groff 1.18
347 ***NEW***
349 Added TOC capabilities.
351 Extended range of endnotes control macros.  See the documentation
352 on endnotes control macros.
354 Added a new DOC_TITLE macro, to deal with collated documents that
355 have an overall title, while each doc has its own separate doc
356 title (from TITLE).
359 Release 1.1.5
360 -------------
362 ***NEW***
364 Added James Ramsey's CHAPTER_TITLE macro as well as control macros to
365 go with it.  Thanks James.  Also from James came a patch to handle
366 START differenty which has been incorporated into om.tmac.  Thanks
367 again, James.
369 Some bits and pieces of the docs have been tweaked, but nothing
370 changed.  Hopefully, the changes will make parts of the docs easier to
371 read and navigate.
373 ***FIXES***
375 o \*[RULE]
377 o broken draft and revision in docheaders
379 o post-epigraph spacing in TYPEWRITE
381 o header spacing in TYPEWRITE
383 ------------------------------------------------------------------------
385 Release 1.1.4
386 -------------
388 ***SIGNIFICANT CHANGE***
389 .IX is now deprecated, although it will continue to work as before.
390 The new form is .IQ (Indent Quit).  Groff will emit a message advising
391 users to update their docs.
393 ***NEW***
394 Four new inlines to deal with horizontal and vertical movements:
396     o \*[FWD n]
397     o \*[BCK n]
398     o \*[UP n]
399     o \*[DOWN n]
401 All four require a unit of measure after n.  These inlines are similar
402 to the older \*[FPn], \*[BPn], \*[ALDn] and \*[RLDn], however they're
403 not restricted to points, and any value can be entered for n (the older
404 forms -- which still work -- were restricted to 1 - 36).
406 ***CHANGED***
407 Inline kerning can now be accomplished with \*[BU n] and \*[FU n], where
408 n, after the space, is the desired number of kern units.  The older
409 forms \*[BUn] and \*[FUn] still work, up to 36 units.
411 ------------------------------------------------------------------------
413 Release 1.1.3c
414 --------------
416 ***NEW***
417 A new macro -- ENDNOTES_HDRFTR_CENTER -- added so that mom's default
418 behaviour of not printing the header center string when DOCTYPE is
419 CHAPTER can be disabled (i.e. she will print the center string).  The
420 macro is user-called with ENDNOTES_HEADER_CENTER or
421 ENDNOTES_FOOTER_CENTER.
423 ***FIXES***
424 PAD now works as advertised when fill mode is on.
426 ENDNOTES no longer disables printing of footnotes on last page of
427 document body.
429 Release 1.1.3
430 -------------
432 ***SIGNIFICANT CHANGE -- PLEASE TAKE NOTE***
433 As of 1.1.3, groff must be >= 1.18.
435 ***NEW***
436 Added endnotes functionality to mom, along with a slew of macros to
437 control how mom prints endnotes pages.  See the html documentation.
439 ***NEW***
440 Added inline \*[RULE], which draws a rule to the full measure of the
441 current line length ( to be used in place of \h'\n(.lu' ).  Weight of the
442 rule is dependent on the point size of type when \#[RULE] is called.
444 ***FIXES***
445 PAD -- works more intuitively now when the pad string contains inline
446 escapes for font, point size, etc.
448 UNDERLINE -- fixed character translations of digraphs so they get
449 underlined properly.  Also fixed a bug that was causing some footnotes
450 to get underlined when UNDERLINE was on in the body of the document.
452 ***UPDATES***
453 Html documentation
454 elvis_syn
456 Release 1.1.2a
457 --------------
459 ***SIGNIFICANT CHANGE -- PLEASE TAKE NOTE***
460 In order to help mom toward full groffship, the macro .PS has been
461 renamed to .PT_SIZE, and the alias .TS (for .TAB_SET) has been removed.
462 .PS and .TS are keywords used by pic and tbl respectively, and the mom
463 macros of the same name were in conflict.
465 Release 1.1.2
466 -------------
468 ***IT'S OFFICIAL!***
469 mom is now an official part of the groff.  New releases will be
470 incorporated into the groff package.  I'll still be posting each new
471 release on the mom homepage, so there's no need to download all of the
472 most recent version of groff just to get a newer mom. :)
474 ***CHANGES***
475 Fixed default footer separator rule adjustment so that it's closer to
476 the advertised "4 points above the tallest ascender in the footer."
478 Added more stuff to the elvis_syn file.  Still wouldn't mind someone
479 contributing some vim/emacs syntax highlighting.
481 Added .cflags 4 /\(em to om.tmac.  By default, mom now obligingly
482 breaks after / and \(en.
484 ***NEW***
485 Macro(s): HEADER_RECTO
486           HEADER_VERSO
487 With these macros, users can now define single-string recto/verso
488 headers/footers.  HEADER_RECTO (or FOOTER_RECTO) can be used to create
489 a one-part header/footer (instead of mom's default three-parters) that
490 appears on every page if RECTO_VERSO is OFF or, if RECTO_VERSO is on, if
491 no HEADER_VERSO (or FOOTER_VERSO) has been defined.  If a HEADER_VERSO
492 (or FOOTER_VERSO) is defined and RECTO_VERSO is on, _RECTO prints on
493 even pages and _VERSO on odd pages.
495 Added macro DRAFT_WITH_PAGENUMBER so user can have draft/revision
496 info attached to the pagenumber in COPYSTYLE DRAFT, instead of having
497 it HEADER center.  Always having it HEADER center was creating problems
498 with long doc titles, esp. with PRINTSTYLE TYPEWRITE (which is when
499 COPYSTYLE DRAFT is most likely to be used).
501 ***FIXES***
502 No more "can't break line" warnings in DOCTYPE LETTER.
504 If no REVISION number is given, Rev. 0 no longer appears HEADER_CENTER
505 in COPYSTYLE DRAFT
507 PAGENUM_STYLE now works as advertised.
509 Release 1.1.1
510 -------------
512 ***CHANGES***
513 Main macro file renamed to om.tmac, in keeping with current groff
514 policy.
516 Now okay to use groff mailing list for mom-related posts
518 ***NEW***
519 Toggle macro -- BR_AT_LINE_KERN.  When on, automatically deposits
520 a break whenever .RW or .EW are invoked.  Very useful when kerning
521 whole lines of rag copy.
523 ***NEW***
524 Toggle macro -- PAGENUM_ON_FIRST_PAGE.  Normally, when FOOTERS are
525 being used instead of HEADERS, mom doesn't print the page number at
526 the top of the first page of a doc, or the first page of collated docs.
527 PAGENUM_ON_FIRST_PAGE allows user to get mom to put the page number on
528 "first" pages if that's desired.
530 ***NEW***
531 Macro -- BREAK_QUOTE -- to deal with problem of footnoted quotes and
532 blockquotes that cross a page or column.
534 ***NEW***
535 New argument to AUTOLEAD -- FACTOR.  With FACTOR, you can, if you
536 wish, enter a factor by which AUTOLEAD multiplies the point size when
537 calculating lead automatically.
539 Improvements
540 ------------
542 PAPER now has a much larger selection of common paper sizes.
544 \*[ALD], \*[RLD], \*[FP] and \*[BP] now accept increments of quarter
545 points (expressed as decimal fractions).  \*[RLD1.75], for example,
546 reverses 1-3/4 points up on the line.
548 HEADER_SIZE now available to PRINTSTYLE TYPEWRITE.  This was necessary
549 to deal with the problem of excessively long HEADER_LEFT, _CENTER or
550 _RIGHT strings.
552 Fixes
553 -----
555 T_MARGIN -- can be set before or after LS or AUTOLEAD
556 SS       -- remains constant regardless of WS
557 WS       -- no longer affects SS
558 TI       -- now works as expected even when called while another indent
559             type is in effect
560 COLLATE  -- small fixes
562 Broken .RW and .EW fixed.
564 String tabs now behave properly when set from within tabs.
566 UNDERLINE_QUOTES (for PRINTSTYLE TYPEWRITE) are now, in fact, on by
567 default as the docs state.