#! | 446 lines | 328 code | 118 blank | 0 comment | 0 complexity | 0de55417ba2618123e363ba240e6dee0 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, BSD-3-Clause, LGPL-2.0, LGPL-2.1, BSD-2-Clause, 0BSD, JSON, AGPL-1.0, GPL-2.0
1Release 1.3 2----------- 3 4Added line numbering capabilities, with controls. 5 6Footnotes and endnotes can now be referenced by line number. 7 8Added ability to adjust vertical position of the title that appears 9on the first endnotes page. 10 11Footnotes can run on when being referenced by line number. 12 13Footnotes now have a post-footnote spacing option, for adding 14a little space between footnotes. 15 16Extended LIST so it accepts alpha, ROMAN and roman enumerators. 17 18Added margin notes capability. 19 20Added refer support. 21 22Added bibliography page support. 23 24Added QUOTE_AUTOLEAD and BLOCKQUOTE_AUTOLEAD, so user can have 25quotes and blockquotes leaded differently from running text. 26 27Change: the input line immediately after FOOTNOTE OFF must be 28entered as a literal continuation of the line prior to FOOTNOTE, 29including any initial spaces or punctuation marks. This allows 30for hassle-free placing of footnote markers in running text either 31before or after punctuation marks. 32 33Release 1.2-f 34------------- 35 36Added ADD_SPACE, to permit users to insert space at the top of 37running text (after the first page) when using the docprocessing 38macros. 39 40Releases 1.2-a and 1.2-b 41------------------------ 42 43My personal email address has changed. 1.2-a and -b have been 44updated to reflect that. Additionally, I made some small changes 45to the documentation. 46 47Release 1.2 48----------- 49 50As of 1.2, the recommended version of groff to use with mom has 51been bumped up from groff, 1.18 to groff, 1.19.2. Although mom will 52continue to work with groff, 1.18, her handling of .FAM(ILY) and .FT 53is now slightly different, therefore users of groff 1.18 may have to 54update documents created with mom so that every .FAM(ILY) request is 55followed by a .FT request before any text is input, otherwise mom 56will set the text after .FAM(ILY) in Courier (until she encounters a 57.FT request). People running groff, >= 1.19.2 don't have to worry 58about this, but I recommend that, regardless of which version you're 59running, you have a look at the document entries for FAMILY and FT 60in order to see how mom will be handling .FAMILY and .FT from now 61on. 62 63When used with groff >=1.19.2, mom now emits warnings if a style 64hasn't been registered, or if a font style doesn't exist in the 65current family. Invalid .FAM(ILY) calls now use a "fallback" font" 66(although no warning is issued). The fallback is user-settable. 67 68Mom's macro file, om.tmac, now sets up a fairly extensive list of 69font "styles," thus expanding the range of arguments that can be 70passed to .FT (formerly, just R, I, B and BI, unless users had 71already rolled their own solution to the problem of extensive type 72families containing fonts like condensed, demibold, black, light, etc). 73Users are advised to read the documentation sections on FAM(ILY), 74FT and FALLBACK_FONT, as well as the new appendix section, "Adding 75PostScript fonts to groff", for information on using mom's style 76extensions (and how to disable them, should they conflict with a 77user's present groff site-font/devps setup). 78 79A new macro, FALLBACK_FONT, has been added. It controls not only 80the fallback font for invalid .FAMILY calls, but also whether mom 81aborts on invalid .FT calls after issuing a warning, or continues 82processing using the fallback. 83 84Release 1.1.9 85------------- 86 87Added the (optional) generation of cover pages and document cover 88pages, plus a full suite of control macros for all cover page 89elements. 90 91Added new reference macros that apply to covers: COVERTITLE, 92DOC_COVERTITLE, COPYRIGHT and MISC. 93 94The need for TRAP OFF/TRAP to deal with ELs and TNs that fall at 95the bottom page has been obsoleted. However, both EL and TN, when 96invoked in any "nofill" mode (LEFT, RIGHT, CENTER, or the L | R | C 97arguments to TAB_SET or ST when no QUAD argument is given), must now 98have the input line preceding the EL or TN terminated by \c. Fill 99modes do not have this requirement, i.e. no \c is required. 100 101Footnotes that occur inside quotes, blockquotes and epigraphs now 102work just like regular footnotes, with no user intervention 103required. This obsoletes the macro BREAK_QUOTE. 104 105Removed all aliases that used the word COLOUR. Users must use 106COLOR wherever COLOR is needed. COLOUR, as a replacement/alias, is 107no longer supported. 108 109NEWPAGE, which used to be an alias of .bp, is now its own macro. 110 111Release 1.1.8 112------------- 113 114Added text color support. Users can now define or initialize a color, 115and afterwards change text color with an inline of the form 116\*[<colorname>], or with the macro .COLOR. In document processing, 117the docelement tag control macros have been expanded to include 118_COLOR, e.g. .HEAD_COLOR <predefined colorname> will colorize 119heads, PAGENUM_COLOR <predefined colorname) will colorize page 120numbering, etc. 121 122Adjusted vertical placement of hyphens around page numbering when 123PAGENUM_STYLE is DIGIT, ROMAN or ALPHA so that the hyphens appear 124properly centered on the page numbering character. 125 126Changed tab handling in document processing so that tab structures 127are preserved from page to page and column to column. 128 129Release 1.1.7-a 130--------------- 131 132Increased the flexibility of SMARTQUOTES so that they handle quoting 133styles by language, entered as a 2-digit language code argument to 134SMARTQUOTES. See docs. 135 136Re-wrote the DOCTYPE LETTER macros so that DATE, TO and FROM can be 137entered in any order the user wishes, with output that matches 138input. (Should have done this in the first place.) 139 140Release 1.1.7 141------------- 142 143Finally got around to writing "list" macros. See the docs. 144 145Added German-style lowered double quotes and two styles of 146guillemets to SMARTQUOTES. 147 148Added macro SIZE, intended to be called inline as \*[SIZE <n>]. 149This brings mom's inline size change syntax into line with her other 150inlines. \*S[<n>] can still be used for the same thing. 151 152The file elvis_syntax (for elvis prior to 2.2h) is no longer being 153maintained. It was getting messy and long in the tooth. The 154official elvis syntax file is elvis_syntax.new, which works for 1552.2h of elvis (and higher, one hopes). elvis users are encouraged 156to update to 2.2h or higher. 157 158Release 1.1.6-e 159--------------- 160 161Extended handling of draft and revision numbers and strings in 162headers/footers for increased flexibility. It's possible now to 163have just about any combo of DRAFT_STRING, DRAFT, REVISION_STRING 164and REVISION, and have them come out in headers/footers as one 165intuitively expects/wants. 166 167Also added a new set of syntax highlighting rules for the vi clone, 168elvis. Version 2-2h-beta of elvis finally made possible the 169highlighting of \*[...] inline escapes, whether or not they're 170separated from surrounding text by spaces. This is a terrific 171improvement in elvis, and makes for greatly improved readability of 172mom files. 173 174Release 1.1.6-b - 1.1.6d 175------------------------ 176 177Trivial changes to documentation and some cleanups of the main 178om.tmac file, including: 179 180Added a .bp after .if \\n[#START]=1 in FOOTER. Without it, 181in document processing mode, documents that use *none* of the 182docprocessing tags (yes, there are times when users want to do 183this) ignored the footer trap. 184 185Changed register #DOCHEADER_LEAD_ADJ to string 186$DOCHEADER_LEAD_ADJ. This means that .DOCHEADER_LEAD no longer 187requires a unit of measure; points is assumed. 188 189Release 1.1.6-b 190--------------- 191 192Added a SHIM macro that calculates and moves to the next "legal" 193baseline during document processing (useful if user starts playing 194around with spacing/leading on a page and needs to get the leading 195back on track). 196 197Fixed handling of DOCHEADER OFF <distance> so that the first line of 198running text falls on a "legal" baseline when <distance> is given. 199 200Release 1.1.6-a 201--------------- 202 203Problem with groff 1.19.1 fixed by Werner (.return handled arguments 204incorrectly). 205 206Fixed handling of page numbering style restoration in endnotes, so 207that (collated) docs have the correct page numbering style when the 208style has been changed for endnotes (with ENDNOTES_PAGENUM_STYLE). 209 210DOC_TITLE has been made for use exclusively with DOCTYPE DEFAULT. 211 212Fixed handling of headers/footers with respect to endnotes. Now, 213when either headers or footers are on, mom picks up the correct 214page header/footer on the last page prior to ENDNOTES, gets the 215pageheaders correct for endnotes pages *including the last one*, and 216picks up correct page headers/footers for the subsequent docs after 217COLLATE. 218 219 220Release 1.1.6 221------------- 222 223BAD NEWS: mom appears to be crippled in some areas when run with 224groff 1.19.1. Pending a solution, mom must be run with groff 1.18 225 226***NEW*** 227 228Added TOC capabilities. 229 230Extended range of endnotes control macros. See the documentation 231on endnotes control macros. 232 233Added a new DOC_TITLE macro, to deal with collated documents that 234have an overall title, while each doc has its own separate doc 235title (from TITLE). 236 237 238Release 1.1.5 239------------- 240 241***NEW*** 242 243Added James Ramsey's CHAPTER_TITLE macro as well as control macros to 244go with it. Thanks James. Also from James came a patch to handle 245START differenty which has been incorporated into om.tmac. Thanks 246again, James. 247 248Some bits and pieces of the docs have been tweaked, but nothing 249changed. Hopefully, the changes will make parts of the docs easier to 250read and navigate. 251 252***FIXES*** 253 254o \*[RULE] 255 256o broken draft and revision in docheaders 257 258o post-epigraph spacing in TYPEWRITE 259 260o header spacing in TYPEWRITE 261 262------------------------------------------------------------------------ 263 264Release 1.1.4 265------------- 266 267***SIGNIFICANT CHANGE*** 268.IX is now deprecated, although it will continue to work as before. 269The new form is .IQ (Indent Quit). Groff will emit a message advising 270users to update their docs. 271 272***NEW*** 273Four new inlines to deal with horizontal and vertical movements: 274 275 o \*[FWD n] 276 o \*[BCK n] 277 o \*[UP n] 278 o \*[DOWN n] 279 280All four require a unit of measure after n. These inlines are similar 281to the older \*[FPn], \*[BPn], \*[ALDn] and \*[RLDn], however they're 282not restricted to points, and any value can be entered for n (the older 283forms -- which still work -- were restricted to 1 - 36). 284 285***CHANGED*** 286Inline kerning can now be accomplished with \*[BU n] and \*[FU n], where 287n, after the space, is the desired number of kern units. The older 288forms \*[BUn] and \*[FUn] still work, up to 36 units. 289 290------------------------------------------------------------------------ 291 292Release 1.1.3c 293-------------- 294 295***NEW*** 296A new macro -- ENDNOTES_HDRFTR_CENTER -- added so that mom's default 297behaviour of not printing the header center string when DOCTYPE is 298CHAPTER can be disabled (i.e. she will print the center string). The 299macro is user-called with ENDNOTES_HEADER_CENTER or 300ENDNOTES_FOOTER_CENTER. 301 302***FIXES*** 303PAD now works as advertised when fill mode is on. 304 305ENDNOTES no longer disables printing of footnotes on last page of 306document body. 307 308Release 1.1.3 309------------- 310 311***SIGNIFICANT CHANGE -- PLEASE TAKE NOTE*** 312As of 1.1.3, groff must be >= 1.18. 313 314***NEW*** 315Added endnotes functionality to mom, along with a slew of macros to 316control how mom prints endnotes pages. See the html documentation. 317 318***NEW*** 319Added inline \*[RULE], which draws a rule to the full measure of the 320current line length ( to be used in place of \h'\n(.lu' ). Weight of the 321rule is dependent on the point size of type when \#[RULE] is called. 322 323***FIXES*** 324PAD -- works more intuitively now when the pad string contains inline 325escapes for font, point size, etc. 326 327UNDERLINE -- fixed character translations of digraphs so they get 328underlined properly. Also fixed a bug that was causing some footnotes 329to get underlined when UNDERLINE was on in the body of the document. 330 331***UPDATES*** 332Html documentation 333elvis_syn 334 335Release 1.1.2a 336-------------- 337 338***SIGNIFICANT CHANGE -- PLEASE TAKE NOTE*** 339In order to help mom toward full groffship, the macro .PS has been 340renamed to .PT_SIZE, and the alias .TS (for .TAB_SET) has been removed. 341.PS and .TS are keywords used by pic and tbl respectively, and the mom 342macros of the same name were in conflict. 343 344Release 1.1.2 345------------- 346 347***IT'S OFFICIAL!*** 348mom is now an official part of the groff. New releases will be 349incorporated into the groff package. I'll still be posting each new 350release on the mom homepage, so there's no need to download all of the 351most recent version of groff just to get a newer mom. :) 352 353***CHANGES*** 354Fixed default footer separator rule adjustment so that it's closer to 355the advertised "4 points above the tallest ascender in the footer." 356 357Added more stuff to the elvis_syn file. Still wouldn't mind someone 358contributing some vim/emacs syntax highlighting. 359 360Added .cflags 4 /\(em to om.tmac. By default, mom now obligingly 361breaks after / and \(en. 362 363***NEW*** 364Macro(s): HEADER_RECTO 365 HEADER_VERSO 366With these macros, users can now define single-string recto/verso 367headers/footers. HEADER_RECTO (or FOOTER_RECTO) can be used to create 368a one-part header/footer (instead of mom's default three-parters) that 369appears on every page if RECTO_VERSO is OFF or, if RECTO_VERSO is on, if 370no HEADER_VERSO (or FOOTER_VERSO) has been defined. If a HEADER_VERSO 371(or FOOTER_VERSO) is defined and RECTO_VERSO is on, _RECTO prints on 372even pages and _VERSO on odd pages. 373 374Added macro DRAFT_WITH_PAGENUMBER so user can have draft/revision 375info attached to the pagenumber in COPYSTYLE DRAFT, instead of having 376it HEADER center. Always having it HEADER center was creating problems 377with long doc titles, esp. with PRINTSTYLE TYPEWRITE (which is when 378COPYSTYLE DRAFT is most likely to be used). 379 380***FIXES*** 381No more "can't break line" warnings in DOCTYPE LETTER. 382 383If no REVISION number is given, Rev. 0 no longer appears HEADER_CENTER 384in COPYSTYLE DRAFT 385 386PAGENUM_STYLE now works as advertised. 387 388Release 1.1.1 389------------- 390 391***CHANGES*** 392Main macro file renamed to om.tmac, in keeping with current groff 393policy. 394 395Now okay to use groff mailing list for mom-related posts 396 397***NEW*** 398Toggle macro -- BR_AT_LINE_KERN. When on, automatically deposits 399a break whenever .RW or .EW are invoked. Very useful when kerning 400whole lines of rag copy. 401 402***NEW*** 403Toggle macro -- PAGENUM_ON_FIRST_PAGE. Normally, when FOOTERS are 404being used instead of HEADERS, mom doesn't print the page number at 405the top of the first page of a doc, or the first page of collated docs. 406PAGENUM_ON_FIRST_PAGE allows user to get mom to put the page number on 407"first" pages if that's desired. 408 409***NEW*** 410Macro -- BREAK_QUOTE -- to deal with problem of footnoted quotes and 411blockquotes that cross a page or column. 412 413***NEW*** 414New argument to AUTOLEAD -- FACTOR. With FACTOR, you can, if you 415wish, enter a factor by which AUTOLEAD multiplies the point size when 416calculating lead automatically. 417 418Improvements 419------------ 420 421PAPER now has a much larger selection of common paper sizes. 422 423\*[ALD], \*[RLD], \*[FP] and \*[BP] now accept increments of quarter 424points (expressed as decimal fractions). \*[RLD1.75], for example, 425reverses 1-3/4 points up on the line. 426 427HEADER_SIZE now available to PRINTSTYLE TYPEWRITE. This was necessary 428to deal with the problem of excessively long HEADER_LEFT, _CENTER or 429_RIGHT strings. 430 431Fixes 432----- 433 434T_MARGIN -- can be set before or after LS or AUTOLEAD 435SS -- remains constant regardless of WS 436WS -- no longer affects SS 437TI -- now works as expected even when called while another indent 438 type is in effect 439COLLATE -- small fixes 440 441Broken .RW and .EW fixed. 442 443String tabs now behave properly when set from within tabs. 444 445UNDERLINE_QUOTES (for PRINTSTYLE TYPEWRITE) are now, in fact, on by 446default as the docs state.