diff options
Diffstat (limited to 'contrib/groff/contrib/mom/momdoc')
19 files changed, 0 insertions, 24910 deletions
diff --git a/contrib/groff/contrib/mom/momdoc/appendices.html b/contrib/groff/contrib/mom/momdoc/appendices.html deleted file mode 100644 index 6b5b63fcd610..000000000000 --- a/contrib/groff/contrib/mom/momdoc/appendices.html +++ /dev/null @@ -1,692 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Appendices</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="reserved.html#TOP">Next</a> -<a href="macrolist.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"></a> -<a name="APPENDICES"> - <h2 align="center"><u>APPENDICES</u></h2> -</a> - -<ul> - <li><a href="#MOREDOC">Further notes on this documentation</a> - <li><a href="#FONTS">Adding PostScript fonts to groff</a> - <ul> - <li><a href="#HOWTO">How to create a PostScript font for use with groff</a> - </ul> - <li><a href="#CODENOTES">Some reflections on mom, with an apology</a> - <li><a href="#CONTACT">Contact the author</a> - <li><a href="reserved.html">List of reserved words</a> -</ul> - -<a name="MOREDOC"> - <h2><u>Further notes on this documentation</u></h2> -</a> - -Some <strong>mom</strong> users are sure to ask: "Why is this -documentation in html? If <strong>mom</strong>'s so great, why not -typeset the whole thing to show her off? And if groff's so great, -why not write a man page?" -<p> -Valid questions, to be sure, and <strong>mom</strong> has -answers. (Okay -- I have answers, but I speak for -<strong>mom</strong>.) -<p> -The documentation is in html because I still find it the best tool -for navigating lengthy manuals. Html, with its anchors and links, -came into being precisely so people could do something they'd never -been able to with the printed word: instantly track down internal -and external references in a document. -<p> -To me, it's essential that people reading <strong>mom</strong>'s -documentation never have difficulty finding precisely the macro -they need for a particular task. Equally, when reading up on -a macro, they should never be presented with terms or other -macro names for which they cannot instantly find accurate explanations. -Short of having written the documentation in TeX for the info browser -(and TeX bloat is one of the reasons I prefer to typeset with groff), -I can think of no better way to achieve the kind of truly useful -documentation I wanted than html. -<p> -Another reason for html is that working with <strong>mom</strong> -necessarily involves creating files inside a text editor. I use -elvis, a truly fabulous vi clone that does a terrific job of rendering -basic (text only) html. I may have written <strong>mom</strong>, -but I still regularly call on her documentation. Elvis, with its -html capabilities, lets me write and format <strong>mom</strong> -documents AND peruse her documentation, clicking on links as -necessary, without ever leaving the comfy confines of my -text editor. -<p> -Not everyone, of course, uses an editor with html capabilities. -For them, firing up a browser is obviously necessary for reading -<strong>mom</strong>'s documentation. Browsers being what they are, -and not everyone on the globe having the cash for muscle machines -to run Galeon, or Konqueror or Mozilla, their browser -needs to be fast and light--and probably "text-only". -<p> -Some <strong>mom</strong> users may notice the absence of graphics, -frames, and (for the most part) tables in this documentation. The -reason is simple: text-only browsers. People who, for whatever -reason (choice or necessity), use lynx, or links or w3m to read -the documentation must be able to make sense of it. All of it. -Graphical examples of <strong>mom</strong> in action might have made -some parts of the documentation easier to write, but would have -excluded text-only browser users. And it goes without saying that -the documentation looks fine if you're reading it in a graphical -browser. -<br> -<hr> - -<!=====================================================================> - -<a name="FONTS"> - <h2><u>Adding PostScript fonts to groff</u></h2> -</a> - -<a name="SMALL_NOTE"></a> -<em><strong>Small note:</strong> the term <prefix> in this -section refers to the directory in which groff is installed, -typically something like /usr/share/groff/<version#> -(for distro-specific, pre-compiled groff packages) or -/usr/local/share/groff/<version#> (if you've built groff -from source).</em> -<p> -Groff comes with a small library of PostScript -<a href="definitions.html#TERMS_FAMILY">families</a> -(see the -<a href="typesetting.html#FAMILY">FAMILY</a> -macro for a list). The families have four -<a href="definitions.html#TERMS_FONT">fonts</a> -associated with them. These fonts are a combination of -<a href="definitions.html#TERMS_WEIGHT">weight</a> -and -<a href="definitions.html#TERMS_SHAPE">shape</a>: -<br> -<ul> - <li><strong>R</strong> (Roman, usually Medium weight), - <li><strong>I</strong> (Italic, usually Medium weight), - <li><strong>B</strong> (Bold, usually Roman shape) and - <li><strong>BI</strong> (Bold Italic). -</ul> -<p> -If you do a lot of document processing or typesetting with -<strong>mom</strong>, you'll find, sooner or later, that these -families and their associated fonts aren't sufficient. You'll want -to supplement them, either with more fonts for the families already -provided--"Damn! I need Helvetica Bold Condensed Italic!"--or with -entire new families. -<p> -Without going into the gory details (yet), while it's true that -adding fonts to groff is a relatively straightforward -process, extending existing families or adding new ones requires -some planning. -<p> -The traditional approach to extending groff families has been -to create new families for non-default weights and -shapes (e.g. Light, which is a weight; Condensed, which is a -shape), then to associate them with groff's predefined <strong>R, -I, B</strong> and <strong>BI</strong> font styles. An example -of this can be seen in the groff PostScript font library itself -(<prefix>/font/devps/): there's one "family" for -Helvetica (HR, HI, HB, HBI) and another for Helvetica Narrow (HNR, -HNI, HNB, HNBI). -<p> -The difficulty with this approach is that typographers -tend to think of "families" as referring to the -entire set of font weights and shapes associated with a -particular family name. For example, when a typesetter says -"the Helvetica family", s/he is including the <a -href="definitions.html#TERMS_WEIGHT">weights</a> Helvetica Thin, -Helvetic Light, Helvetica Regular, Helvetica Bold, Helvetica Heavy, -etc, and all their associated -<a href="definitions.html#TERMS_SHAPE">shapes</a> -(Roman, -Italic, Condensed, Narrow, Extended, Outline, etc). -<p> -Thus, intuitively, when a typesetter gives <strong>mom</strong> a -<kbd>.FAM(ILY)</kbd> directive, s/he reasonably expects that any -subsequent <kbd>.FT</kbd> directive will access the desired font -from the Helvetica family--without the need to state explicitly both -family and font to <kbd>.FT</kbd>, as it is explained one can do in -the -<a href="typesetting.html#FAMILY">FAMILY</a> -and -<a href="typesetting.html#FONT">FT</a> -sections of these documents. -<p> -If one had, say, the fonts, Helvetica Light Roman -and Helvetica Light Italic as well as Helvetica Light Condensed -Roman and Helvetica Light Condensed Italic, the traditional -approach would require two "partial" families: HLR/HLI and -HLCDR/HLCDI. Accessing these family/font combos -routinely throughout a document would then require -changing family (with <kbd>.FAM(ILY)</kbd>) and selecting the -desired font (with <kbd>.FT R</kbd> or <kbd>.FT I</kbd>), or -passing <kbd>.FT</kbd> the lengthy family+fontname (.e.g. <kbd>.FT -HLCDI</kbd>). -<p> -Fortunately, groff provides a mechanism whereby it's possible to -extend the basic <strong>R, I, B</strong> and <strong>BI</strong> -fonts ("styles" in groff-speak) so that one can, in -fact, create extensive type families, and access all the fonts -in them with <kbd>.ft</kbd> (groff) or <kbd>.FT</kbd> (mom). -<p> -<strong>mom</strong> uses this mechanism to offer, in addition to -groff's default PostScript font styles, the following: -<p> -<a name="STYLE_EXTENSIONS"></a> -<pre> -Mom's extensions to groff's basic font styles -============================================= - - L = Light Roman - LI = Light Italic - LCD = Light Condensed Roman - LCDI = Light Condensed Italic - LEX = Light Extended Roman - LEXI = Light Extended Italic - CD = Medium/Book Condensed Roman - CDI = Medium/Book Condensed Italic - EX = Medium/Book Extended Roman - EXI = Medium/Book Extended Italic - DB = DemiBold Roman - DBI = DemiBold Italic - BCD = Bold Condensed Roman - BCDI = Bold Condensed Italic - BEX = Bold Extended Roman - BEXI = Bold Extended Italic - HV = Heavy Roman - HVI = Heavy Italic - HVCD = Heavy Condensed Roman - HVCDI = Heavy Condensed Italic - HVEX = Heavy Extended Roman - HVEXI = Heavy Extended Italic - BL = Black Roman - BLI = Black Italic - BLCD = Black Condensed Roman - BLCDI = Black Condensed Italic - BLEX = Black Extended Roman - BLEXI = Black Extended Italic - UBL = Ultra-Black Roman - UBLI = Ultra-Black Italic -</pre> - -Thus, with <strong>mom</strong>, if you've installed, say, some -extra Helvetica fonts and named them according to the convention FS -(where "F" means family and "S" means font -style), once having entered -<p> -<pre> - .FAMILY H - or - .FAM H -</pre> - -you can access any of those Helvetica fonts simply by -passing the correct argument from the list above to -<a href="typesetting.html#FONT">FT</a>. -<p> -For example, if you were working in Medium Roman (<kbd>.FT R</kbd>) -and you needed Medium Condensed Italic for a while (assuming it's -installed), you'd just type -<p> -<pre> - .FT CDI -</pre> - -to access the Medium Condensed Italic font from the Helvetica -family. -<p> -<strong>Mom</strong>'s list of font styles doesn't pretend to -be exhaustive, but rather tries to cover the basic weight/shape -combinations likely to be found in any reasonably complete type -family. -<p> -The actual extension names are arbitrary and can be used in a -flexible manner. For example, if you create a family that has a -DemiBold font (DB) but no Bold font (B), you might find it more -convenient to give the DemiBold font the extension "B". -Equally, if the family has an ExtraBold font, you might find it more -convenient to use the extension "HV" (Heavy). -<a name="REGISTER_STYLE"></a> -<p> -However, you may, at needs, want to add to <strong>mom</strong>'s -list of font styles. You can do this by editing the file, om.tmac. -Near the top, you'll see lines of the form -<p> -<pre> - .sty \n[.fp] L \" Light Roman - .sty \n[.fp] LI \" Light Italic - .sty \n[.fp] LCD \" Light Condensed Roman -</pre> - -Simply add your new font style by imitating what you see and -plugging in your new font style (having, of course, first created the -font, correctly named, in groff's PostScript font directory; see -<a href="#HOWTO">How to create a PostScript font for use with groff</a>). -<p> -For example, if you already have some fonts from the Univers -family installed and have called the family UN, you might decide at -some point to add the Bold Outline font (UNBO). In which case, -you'd add -<p> -<pre> - .sty \n[.fp] BO \" Bold Outline -</pre> - -to the <kbd>.sty \n[.fp] <font style></kbd> list in om.tmac. -<p> -Be careful, though, that any styles you add do not conflict -with <strong><u>family</u></strong> names that already exist. -"C", for example, conflicts with the Courier family -(CR, CI, CB, CI). Were you to create a font style "C", -thinking that <kbd>.FT C</kbd> would give you access to font style -once you'd given a <kbd>.FAM(ILY)</kbd> directive, you'd get a nasty -surprise: your type would come out in Courier Roman! -<p> -<strong>VERY IMPORTANT NOTE: mom</strong>'s font extensions are -not "user-space" controllable via a macro. If you've -been using groff for a long time, and have already rolled your own -solution to adding PostScript families, fonts, weights, shapes, etc. to -groff, you may find that <strong>mom</strong>'s font extensions -conflict with your own scheme. Should that be the case, comment out -the <kbd>.sty \n[.fp] <font style></kbd> lines found near the -top of the om.tmac file. - -<a name="HOWTO"><h3><u>How to create a PostScript font for use with groff</u></h3></a> -These instructions aren't meant to cover all possibilities, merely -to present one way of making PostScript families/fonts available to -groff and <strong>mom</strong>. -<p> -GNU/Linux distributions being what they are, directory locations may -differ and the presence of some executables can't be guaranteed. -I run a Debian system. The instructions reflect that. Users of -other distros will have to interpret them according to the way their -distro operates. -<p> -What you need before you start: -<br> -<ul> - <li>groff, version 1.18 or higher - <br> - (Debian package: groff) - <li>a full installation of gs and associated tools - <br> - (Debian package: gs or gs-gpl) - <li>a library of gs fonts - <br> - (Debian package: gsfonts) - <li>a utility for converting TrueType fonts to Type1 fonts - <br> - (Debian package: ttf2pt1) - <li>a font manager - <br> - (Debian packages: defoma, psfontmgr, dfontmgr) - <li>perl - <br> - (Debian package: perl) -</ul> -<br> -A reasonably complete installation of any major GNU/Linux distro -should already have these on your system, except perhaps for the -utility to convert TrueType fonts to Type1 fonts. -<p> -Initial preparation (you only have to do this once): -<br> -<ol> - <li>If you don't already have one, create a directory in your - home directory to hold new fonts. Any directory name will do. - I use ~/Fonts, with subdirectories for Type1, TrueType and Groff - fonts. -<a name="SITE-FONT"></a> - <li>Locate the groff directory, site-font. The exact location is - difficult to predict, owing to differences between distros - and whether you're using a pre-packaged groff or have built - it from source. Some typical locations are - <br> - <ul> - <li>/usr/share/groff, - <li>/usr/local/share/groff - <li>/etc/groff - </ul> - <p> - If you can't find the site-font directory, locate - groff's site-tmac directory, and, as root, create site-font - in the same directory as the one that holds site-tmac. - E.g., if you find site-tmac in /usr/share/groff, create - site-font in /usr/share/groff. - <li>Locate the file <kbd><prefix>/font/devps/generate/textmap</kbd> - and symlink it to <kbd>textmap</kbd> in the directory that - contains your personal collection of PostScript fonts. (See the - <a href="#SMALL_NOTE">Small Note</a>, - above, for the meaning of <prefix>). On my system, - at the time of writing, <prefix> is - /usr/local/share/groff/1.19.2/, therefore, I symlink it in - ~/Fonts/Type1 with - <br> - <pre> -ln -s /usr/local/share/groff/1.19.2/font/devps/generate/textmap textmap - </pre> - <li>Locate the file <prefix>/font/devps/text.enc and - symlink it to <kbd>text.enc</kbd> in your personal font - directory. On my system, in ~/Fonts/Type1 - <pre> -ln -s /usr/local/share/groff/1.19.2/font/devps/text.enc text.enc - </pre> - <li>Make sure you know which directory/ies holds your gs fonts. - You'll need the information later. On a Debian box, some - typical locations are - <br> - <ul> - <li>/usr/lib/ghostscript/fonts - <li>/usr/share/ghostscript/fonts - <li>/usr/share/fonts/type1/gsfonts - </ul> -</ol> -<br> -Font creation/installation: -<br> -<ol> - <li>Acquire the font in either Type1 (.pfb) or TrueType - (.ttf) format. - <li>Place the font in your personal font directory; for me, - that's ~/Fonts/Type1 or ~/Fonts/TrueType. - <li>In your personal font directory, run one of the following: - <br> - <ul> - <li>For Type1 fonts - <br> - <ul> - <li><kbd>getafm fontfilename.pfb | gsnd - > fontfilename.afm</kbd> - <br> - For Type1 fonts, this will generate something called - an .afm (Adobe Font Metrics) file, which is - required to create PostScript fonts for groff. - </ul> - <li>For TrueType fonts - <br> - <ul> - <li><kbd>ttf2pt1 \-b fontfilename.ttf</kbd> - <br> - For TrueType fonts, this will generate a PostScript - .pfb file as well as an .afm file. - </ul> - </ul> - <li>Still in your personal font directory, run - <br> - <ul> - <li><kbd>afmtodit -e text.enc fontfilename.afm textmap GROFF_FONTNAME</kbd> - </ul> - <p> - Q: <em>How do I choose a GROFF_FONTNAME?</em> - <p> - A: Start by considering the - <a href="definitions.html#TERMS_FAMILY">family</a> - to which the font belongs. If you're adding to a family that - already exists in groff's <prefix>/font/devps - directory, that will be the first part of the font name. - (See - <a href="typesetting.html#FAMILY">here</a> - for a list of families already installed, along with their groff - names.) Add to that name the appropriate weight/style extension, - listed - <a href="#STYLE_EXTENSIONS">here</a>. - <p> - For example, if you're adding Helvetica Light Roman, your - GROFF_FONTNAME would be <strong>HL</strong>. If you're - adding Helvetica Light Italic, your GROFF_FONTNAME would be - <strong>HLI</strong>. - <p> - If you're adding a font not already in groff's PostScript - families, first choose a meaningful name for the - <a name="definitions.html#TERMS_FAMILY">family</a> - to which the font belongs. The name can be anything you like. If, - for example, the family is Garamond, you could choose GARAMOND, - GARA, GD, or even just plain G as the family name. Then tack on the - appropriate style/weight extension. Thus, if you were installing - Garamond Bold Condensed Italic and had chosen <strong>GD</strong> - as the family name for Garamond, your GROFF_FONTNAME would be - <strong>GDBCDI</strong>. - <p> - In <strong>mom</strong>, you can then access the Garamond - family with <kbd>.FAM GD</kbd>, and the Bold Condensed - Italic font wth <kbd>.FT BCDI</kbd>. - <p> - <strong>Note:</strong> The family name need not be in upper - case, and there's no limit to the length of the name. - "Garamond", for example, could be the name you - give the Garamond family. In fact, you might find it - preferable, since a) you wouldn't have to remember how - you'd named the family, and b) should you be scanning - your - <a href="#SITE-FONT">site-font directory</a>, - something like GaramondBCDI will be more meaningful than, - say, GDBCDI. - <li>Copy or move GROFF_FONTNAME to your - <a href="#SITE-FONT">site-font directory</a>, - or change to the site-font directory and make a symlink to - GROFF_FONTNAME in your personal directory. - <li>Copy or move the .pfb file to the directory that - holds your gs fonts, or change to that directory and make a - symlink to the .pfb file in your personal directory. - <li>Do whatever your system or distro requires in order to - register the new PostScript font (the .pfb file). On a - Debian system, as root, you can run dfontmgr for a - graphical interface that will take care of registering the - font. -</ol> -<p> -Written out in full, adding fonts looks like a lot of work. It -isn't. Basically, it's just: -<br> -<ul> - <li>acquire the font - <li>generate an .afm file for the font - <li>create the groff font - <li>put the groff font in <prefix>/font/devps - <li>make sure gs knows about the font -</ul> -<br> -After you've done it a couple of times, it all makes sense, and is -really quite easy. Not to mention that once you understand the -process, you can write a bash script to automate the process. -Here's an example, which you can adapt to your own needs. The -script requires an argument (the .pfb filename), then prompts for -the GROFF_FONTNAME. -<p> -<pre> -#! /bin/bash - -# A script for installing Type1 fonts. -# -# Builds .afm files from .pfb files, generates a groff font from the -# .afm file, makes a symlink in /usr/lib/ghostscript/font/ to the -# .pfb file, and a symlink in site-font to the groff font - -# .pfb filename, stripped of .pfb extension -FONT=`basename $1 .pfb` - -# Directory holding my personal collection of type1 fonts -FONTDIR="$HOME/Fonts/Type1" - -# Directory holding system ghostscript fonts -GS_FONTDIR="/usr/lib/ghostscript/fonts" - -# Location of site-font/devps -GROFF_SITE_FONTDIR="/usr/local/share/groff/site-font/devps" - -# Personal groff fonts directory -GROFF_FONTS="$HOME/Fonts/Groff" - -# Symlinks to textmap and text.enc -TEXTMAP="$FONTDIR/textmap" -TEXTENC="$FONTDIR/text.enc" - -if [ ! `pwd` = "$FONTDIR" ] ; then - echo "Changing into $FONTDIR directory.." - cd $FONTDIR - sleep 1 -else - sleep 1 -fi - -echo -n "Groff name for this font: " -read FONTNAME -sleep 1 - -echo "Getting .afm.." -getafm $FONT.pfb | gsnd - > $FONT.afm -sleep 1 - -echo "Creating $FONTNAME.." -afmtodit -e $TEXTENC $FONTDIR/$FONT.afm $TEXTMAP $FONTNAME -mv -i $FONTNAME $GROFF_FONTS -sudo ln -s $GROFF_FONTS/$FONTNAME $GROFF_SITE_FONTDIR/$FONTNAME -sleep 1 - -echo "Linking $FONT in $GS_FONTDIR.." -cd $GS_FONTDIR -sudo ln -s $FONTDIR/$FONT.afm $FONT.afm -sudo ln -s $FONTDIR/$FONT.pfb $FONT.pfb -sleep 1 - -# This next bit is Debian specific. If you're not running a -# Debian system, replace it with whatever your distro requires -# in order to register Type1 fonts. - -if [ !`pidof -x /usr/bin/dfontmgr` ] ; then - echo "I will now run dfontmgr so you can register the font." - exec sudo dfontmgr & -else - echo "You may now register the font with dfontmgr." -fi -</pre> -<hr> - -<!=====================================================================> - -<a name="CODENOTES"> - <h2><u>Some reflections on mom</u></h2> -</a> - -<p> -<strong>Mom</strong>, as a complete macro set, had her origins -in a "library" of groff routines I wrote over the -years to handle various aspects of typesetting and document -processing that weren't adequately covered by ms, me, mm, and so -on. Typically, I'd use the library to cobble together macro -sets for new challenges as they came my way. -<p> -If, as Eric Raymond asserts, open source begins with a programmer -scratching a personal itch, then <strong>mom</strong> 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. -<p> -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. -One of the reasons I run GNU/Linux is that it has helped enormously -to get the most out of my poor little boxes. (It has been pointed -out to me that NetBSD might be an even better choice of operating -systems for computers with limited resources.) -<p> -In Linux-land, the choice of typesetting systems basically comes down -to groff or TeX. Both are wonderful -- monumental achievements if you -ask me -- and both have their own particular strengths. However, for -people in my financial position (and there are millions of us around -the globe, in both developed and developing countries), TeX and groff -have one big difference: size. TeX is huge. Even its most ardent -supporters agree it suffers from bloat, on top of being complex and -unwieldy to manage. Groff is tiny by comparison, occupying minimal -disk space and having only a small memory footprint while at the same -time being flexible and powerful, typographically speaking. I've run -it successfully on a 386 with 8 megs of RAM and a 250 meg hard disk. -<p> -However, groff has always had a liability: it's incredibly geeky. -Owing to its very long history, it -- and its "power users" --- have remained stuck in a time warp. Most common macro packages -still look as they did in those decades when memory was exorbitantly -expensive and every byte mattered. Documentation -- not always -easy to find -- is written as if all readers are computer whizzes, -or at least have a university degree in one of the higher sciences. -<p> -By no means a stupid man, nor unfamiliar with the precepts of -programming, I've more than once torn my hair out over the terseness and -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. -<p> -(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.) -<p> -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 -readable and easy to interpret, encouraging development and evolution. -What's more, the macros themselves need not be terse, intimidating, -and easily forgotten 1- or 2-letter commands inserted in the body -of a document. They can be sensible and helpful to everyone, groff -newbies and old hands alike. -<p> -<strong>Mom</strong>'s macro file, om.tmac, uses long names, aliases, -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 "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 <strong>mom</strong>'s macros should be -able to do so with a minimum of head scratching. -<br> -<hr> - -<!=====================================================================> - -<a name="CONTACT"> - <h2><u>Contact the author</u></h2> -</a> - -<p> -If you have any questions or comments about <strong>mom</strong>, -suggestions to make, criticisms to offer, or bugs to report, use the -groff mailing list at -<a href="mailto:groff@ffii.org">groff@ffii.org</a> -(subscription information available -<a href="http://ffii.org/mailman/listinfo/groff/">here</a>) -or contact me, Peter Schaffter, directly at -<i>peter@faustus.dyn.ca</i> -or -<i>ptpi@golden.net</i>. - -<p> -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. :) -<p> -If you want to visit <strong>mom</strong>'s homepage, you'll find -it -<a href="http://faustus.dyn.ca/mom/mom.html">here</a>. -<p> -<hr> -<a href="reserved.html#TOP">Next</a> -<a href="macrolist.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/color.html b/contrib/groff/contrib/mom/momdoc/color.html deleted file mode 100644 index a6badbc4ba20..000000000000 --- a/contrib/groff/contrib/mom/momdoc/color.html +++ /dev/null @@ -1,338 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Colour</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="docprocessing.html#TOP">Next</a> -<a href="inlines.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> - -<a name="TOP"></a> -<h1 align="center"> - <a name="COLOR_INTRO"><u>Coloured text</u></a> -</h1> -<p> -<a href="#INTRO_COLOR">Introduction to coloured text</a> -<br> -<a href="#MACROS_COLOR">Index of colour macros</a> -<p> - -<a name="INTRO_COLOR"> - <h2><u>Introduction to coloured text</u></h2> -</a> - -<strong>Mom</strong>'s support for coloured text is straightforward. -You begin by telling <strong>mom</strong> about the colours you want -with -<a href="#NEWCOLOR">NEWCOLOR</a> -or -<a href="#XCOLOR">XCOLOR</a>. -Afterward, any time you want text to be coloured, you either colour -it with an -<a href="definitions.html#TERMS_INLINES">inline escape</a> -that contains the colour name (e.g. <kbd>\*[red]</kbd> or -<kbd>\*[blue]</kbd>) or invoke the macro, -<a href="#COLOR">COLOR</a>, -with the name of the colour you want. -<a name="COLOR_EXAMPLE"></a> -<p> -For example, say you want to have the name "Jack" in the -sentence "All work and no play makes Jack a dull boy" -appear in yellow. You'd begin by telling <strong>mom</strong> about -the colour, yellow. There are two ways of doing this; see -<a href="#NEWCOLOR">NEWCOLOR</a> -and -<a href="#XCOLOR">XCOLOR</a> -for a full explanation of the difference between the two. If you -use <strong>XCOLOR</strong>, you'd enter this: -<p> -<pre> - .XCOLOR yellow -</pre> - -If you use <strong>NEWCOLOR</strong>, you might enter -<p> -<pre> - .NEWCOLOR yellow RGB #FFFF00 -</pre> - -<a name="COLOR_EXAMPLE2"></a> -After "defining" (or "initializing") the colour -"yellow", you'd colourize the name, Jack, either with an -inline escape -<p> -<pre> - All work and no play makes \*[yellow]Jack\*[black] a dull boy. -</pre> - -or with the <strong>COLOR</strong> macro -<p> -<pre> - All work and no play makes - .COLOR yellow - Jack - .COLOR black - a dull boy. -</pre> - -Notice, in both examples, that a) you have to set the colour back to -black after "Jack", and b) you don't have to define or -intialize the colour, black. <strong>Mom</strong> predefines -"black", "BLACK", "white" and -"WHITE" for you. -<p> -For information on using colour during -<a href="docprocessing.html#INTRO_MACROS_DOCPROCESSING">document processing</a>, -see -<a href="docprocessing.html#COLOR">Colour support in document processing</a>. -<p> -<strong>Please note: Mom</strong>'s colour support is for text only. -She doesn't support "fill" (or "background") -colour for drawn objects. Please also note that if you're -accustomed to using groff's <kbd>.defcolor</kbd> to define colours, -and groff's inline <kbd>\m[<colorname>]</kbd> to call them, you may -continue to do so without confusing <strong>mom</strong>. - -<p> -<a name="MACROS_COLOR"><h3><u>Index of colour macros</u></h3></a> -<ul> - <li><a href="#NEWCOLOR">NEWCOLOR</a> - <li><a href="#XCOLOR">XCOLOR</a> - <li><a href="#COLOR">COLOR</a> - <li><a href="#COLOR_INLINE">\*[<colorname>]</a> inline escape -</ul> -<p> - -<!---NEWCOLOR---> - -<hr width="66%" align="left"> -<a name="NEWCOLOR"><h3><u>Creating (initializing) a colour with NEWCOLOR</u></h3></a> -<br> -<nobr>Macro: <strong>NEWCOLOR</strong> <colour name> [<colour scheme>] <colour components></nobr> - -<p> -<strong>NEWCOLOR</strong> lets you create a colour, rather like an -artist mixing paint on a palette. The colour isn't used -immediately; <strong>NEWCOLOR</strong> merely tells -<strong>mom</strong> how to mix the colour when you need it. If -you haven't invoked <strong>NEWCOLOR</strong> (or -<a href="#XCOLOR">XCOLOR</a>), -<strong>mom</strong> doesn't have a clue what you mean when you -reference a colour (with -<a href="#COLOR">COLOR</a> -or -<a href="#COLOR_INLINE">\*[<color name>]</a>). -<p> -The first argument to <strong>NEWCOLOR</strong> is a name for your -colour. It can be anything you like--provided it's just one word -long--and can be caps, lower case, or any combination of the two. -<p> -The second argument, which is entirely optional, is the "colour -scheme" you want <strong>mom</strong> to use when mixing the -colour. Valid arguments are <strong>RGB</strong> (3 components, -red green blue), <strong>CYM</strong> (3 components cyan yellow -magenta), <strong>CMYK</strong> (4 components cyan magenta yellow -black) or <strong>GRAY</strong> (1 component). If you omit the -second argument, <strong>mom</strong> assumes you want RGB. -<p> -The final argument is the components of your colour. This can be -hexadecimal string starting with a pound sign (#) (for colour values -in the 0-255 range) or two pound signs (##) (for colour values -in the 0-65535 range), or it can be a series of decimal digits, -separated by spaces, one digit per component, with the argument -enclosed in double quotes. (If this is all gibberish to you, see -<a href="#COLOR_TIP">Tips for newbies</a>.) -<p> -Thus, to tell <strong>mom</strong> about a colour named -"YELLOW", you could enter one of the following: -<p> -<pre> - .NEWCOLOR YELLOW #FFFF00 \"or ##FFFFFFFF0000 or "1 1 0" - .NEWCOLOR YELLOW RGB #FFFF00 \"or ##FFFFFFFF0000 or "1 1 0" - .NEWCOLOR YELLOW CYM #00FF00 \"or ##0000FFFF0000 or "0 1 0" - .NEWCOLOR YELLOW CYMK #00FF0000 \"or ##0000FFFF00000000 or "1 1 0" -</pre> - -After you've told <strong>mom</strong> about a colour, you can then get -her to set text in that colour either with the inline escape -<a href="#COLOR_INLINE">\*[<colorname>]</a> -or the macro -<a href="#COLOR">COLOR</a>. -(See the -<a href="#COLOR_EXAMPLE">example</a>, -above.) -<br> -<h3><u>Tips for newbies</u></h3> -Colour manipulation can be tremendously confusing if you don't have -a background in graphic arts or computing. My advice, if color -intimidates you, is to stick to using <strong>mom</strong>'s -default RGB colour scheme, and to fire up a color chooser that -gives you the RGB values you want for the colour you select. Plug -those values into the components argument to -<strong>NEWCOLOR</strong>, and you'll get the colour you want. -Both the KDE and gnome desktops have colour selectors that provide -you with the shorter RGB hexadecimal string. If you're not running -KDE or gnome, the X utility, xcolorsel, provides you with a similar -functionality, although it only provides RGB values for 256 -pre-defined colours. If you use xcolorsel, be sure to click the -button "Display format" and select "8 bit truncated -rgb". -<p> -Alternatively, you can use <strong>mom</strong>'s simpler -<a href="#XCOLOR">XCOLOR</a> -macro to initialize one of the 256 pre-defined X colours by -supplying the name of the color as an argument. -<br> - -<!---XCOLOR---> - -<hr width="33%" align="left"> -<a name="XCOLOR"><h3><u>Initializing a colour with XCOLOR</u></h3> -<br> -<nobr>Macro: <strong>XCOLOR</strong> <X color name> [<alias>]</nobr> -<br> -<em>*<X color name> must be all one word, all lower case. -<br> -(See -<a href="#XCOLOR_NAMES">Finding X color names</a> -for how to get a list of valid colour names.) -</em> -<p> -<strong>XCOLOR</strong> is similar to <strong>NEWCOLOR</strong> in -that it tells <strong>mom</strong> to initialize a colour, but it's -easier to use. All you have to do is pass it, as an argument, the -legal name of one of the 256 pre-defined X colours. The name must -be all one word, and, breaking with <strong>mom</strong> policy, it -must be entered in lower case. -<p> -For example, if you want to intialize the X colour, coral, all you -have to do is enter -<br> -<pre> - .XCOLOR coral -</pre> - -Afterwards -<p> -<pre> - .COLOR coral -</pre> - -will colourize subsequent text coral until you instruct -<strong>mom</strong> to return to black, or some other pre-defined -initialized colour. (The -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<kbd>\*[coral]</kbd> will equally colourize text coral after you've -initialized the colour with <strong>XCOLOR</strong>.) -<p> -The downside of <strong>XCOLOR</strong> is that you can't create -custom colours. This restriction, however, is mitigated by the -fact that for many users, 256 colours is more than enough to play -around with. -<p> -While some X colours have fanciful names (peachpuff, papayawhip, -thistle, snow), many are self-explanatory and self-descriptive in -ordinary colour terms. "blue" is pure (rgb) blue, -"green" is pure (rgb) green, and so on. Furthermore, for -many X colors, there exist four variants, each representing -increasingly darker shades of the same colour. For example, -"blue" (and "blue1") are the brightest forms of -(rgb) blue; "blue2", "blue3" and "blue4" -are increasingly darker shades of the same blue. For that reason, -you may find <strong>XCOLOR</strong> is a better choice than -<strong>NEWCOLOR</strong> when it comes to initializing common -colors. -<p> -The whimsical nature of X colour names sometimes makes for names -that are long to type in, e.g. "mediumspringgreen". -The optional second argument to <strong>XCOLOR</strong> allows you -to come up with more convenient name by which to reference the -colour. For example, you could enter -<p> -<pre> - .XCOLOR mediumspringgreen mygreen - or - .XCOLOR mediumspringgreen MYGREEN -</pre> - -so that whenever you want text mediumspringgreen-ed, you can use -either <kbd>.COLOR mygreen</kbd> (or <kbd>.COLOR MYGREEN</kbd>) or -the inline escape <kbd>\*[mygreen]</kbd> (or -<kbd>\*[MYGREEN]</kbd>.) -<p> -<a name="XCOLOR_NAMES"><h3><u>Finding X color names</u></h3></a> -<br> -There are two ways of finding the names of the pre-defined X -colours. One is to consult the file, rgb.txt, included with -all X11 installations. The location of the file on a Debian -GNU/Linux distribution is typically /etc/X11/rgb.txt. Other -distributions and other X installations may have the file in -another location. The file lists the colour names, but doesn't -show you what the colours actually look like. -<p> -A better way to get the colour names, as well as to see what the -colours look like, is to fire up a colour chooser (like xcolorsel) -that both lists the colour names and shows a swatch of the colour -as well. -<p> -Whichever method you use to find X color names, remember that the -names, passed as arguments to <strong>XCOLOR</strong>, <em>must</em> -be all one word, all in lower case. -<br> - -<!---COLOR---> - -<hr width="33%" align="left"> -<a name="COLOR"><h3><u>Invoking a color</u></h3> -<br> -<nobr>Macro: <strong>COLOR</strong> <colorname></nobr> -<br> -<a name="COLOR_INLINE">Inline: <strong>\*[<colorname>]</strong></a> -<p> -<a name="COLOR_INLINE"></a> -Once you've told <strong>mom</strong> about a colour (via -<strong>NEWCOLOR</strong> or <strong>XCOLOR</strong>), you use either -the macro, <strong>COLOR</strong>, or the -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -<kbd>\*[<colorname>]</kbd>, to cause <strong>mom</strong> to -set subsequent text in that colour. See the -<a href="#COLOR_EXAMPLE2">example</a>, -above, which shows both in action. -<p> -<strong>NOTE:</strong> You can use the -<kbd>\*[<colorname>]</kbd> inline escape in any -<a href="docprocessing.html#TOP">document processing</a> -macro that takes a -<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>. -However, you must remember to reset the colour at the end of the -argument (typically with <kbd>\*[black]</kbd>) unless you want all -subsequent invocations of that particular macro to be colourized. -<p> -Furthermore, if you use <kbd>\*[<colorname>]</kbd> in the -string argument passed to -<a href="docelement.html#HEAD">.HEAD</a>, -<a href="docelement.html#SUBHEAD">.SUBHEAD</a> -or -<a href="docelement.html#PARAHEAD">.PARAHEAD</a>, -and you've requested that any of these types of heads be numbered, -the numbers themselves will not be coloured, only the text you -passed the macro. If you wish the numbers to be colourized as -well, you must explicitly tell <strong>mom</strong> that you wish -all of the head(s), subhead(s) or parahead(s), including the -numbers, colourized by invoking the appropriate -<a href="docelement.html#DOCELEMENT_CONTROL">control macro</a>. - -<br> - -<hr> -<a href="docprocessing.html#TOP">Next</a> -<a href="inlines.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/cover.html b/contrib/groff/contrib/mom/momdoc/cover.html deleted file mode 100644 index 2566547cb511..000000000000 --- a/contrib/groff/contrib/mom/momdoc/cover.html +++ /dev/null @@ -1,512 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Document processing, creating a cover page</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="refer.html#TOP">Next</a> -<a href="rectoverso.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"> -<h1 align="center"><u>CREATING A COVER PAGE</u></h1> -</a> - -<ul> - <li><a href="#COVER_INTRO">Introduction to cover pages</a> - <ul> - <li><a href="#PLEASE">Important note -- please read</a> - <li><a href="#DESC">Description of what mom does on cover pages</a> - <li><a href="#PAGINATION">A note on headers/footers and pagination</a> - <li><a href="#DESIGN">What to do if you want to design your - own cover pages</a> - </ul> - <li><a href="#COVER">The cover and document cover macros</a> - <ul> - <li><a href="#COVER">COVER/DOC_COVER</a> - <ul> - <li><a href="#REQUIRED">The required argument</a> - <li><a href="#CHAPTER">How the CHAPTER argument and friends work</a> - <li><a href="#OPTIONAL">The optional arguments</a> - <li><a href="#DOCTYPE">What the DOCTYPE argument means</a> - </ul> - </ul> - <li><a href="#ON_OFF">Enabling/disabling automatic generation of cover pages</a> - <li><a href="#COVER_CONTROL">Control macros--changing the - defaults for covers and document covers</a> -</ul> - -<a name="COVER_INTRO"><h2><u>Introduction to cover pages</u></h2></a> -<p> -As of version 1.19 of <strong>mom</strong>, you can now have cover -pages generated automatically. -<p> -Though identical in treatment, <strong>mom</strong> provides two -kinds of cover pages: section cover pages (which I shall refer to -simply as "cover pages") and document cover pages -("doc covers"). -<p> -A document cover page -(<a href="#DOC_COVER">doc cover</a>) -is what you'd most likely use at the start of a <a -href="rectoverso.html#COLLATE_INTRO">collated</a> document, where -you might want the name of the complete document, the author(s) and -the copyright line to appear. Another place you might use a doc -cover is for a novel, where you want the title of the novel, not -the chapter title or chapter number, as the first cover page. -<p> -A section -<a href="#COVER">cover</a> -page is what you'd use for cover pages that separate sections of a -collated document. A section cover page (but not a doc cover page) -in a collated document could, for example, simply read "PART -I". -<p> -In non-collated documents (say, an essay) you can use either a -section cover or a doc cover to generate a cover sheet. -<p> -In addition, nothing prevents you from generating both a doc cover -page and a section cover page for every document in a collated -document. Or you can selectively disable the automatic generation -of either doc covers or section covers in a collated document, -on-the-fly. -<p> -<a name="PLEASE"><strong>Important note:</strong></a> -automatic generation of cover or doc cover pages after the first -one(s) only takes place if you are working with collated documents. -<strong>Mom</strong> provides no mechanism for saying "print -a section cover here even though I'm still working on the same -(non-collated) document." - -<a name="DESC"><h3><u>Description of what mom does on cover pages</u></h3></a> - -By default, <strong>mom</strong> typesets cover (and doc cover) -pages identically to -<a href="definitions.html#TERMS_DOCHEADER">docheaders</a> -(see -<a href="docprocessing.html#DOCHEADER_CONTROL">How to change the look of docheaders</a> -for a description of what a docheader looks like). The only -differences are -<br> -<ul> - <li>the position on the page where the information is output - <li>the (optional) addition of copyright and miscellaneous - information - <li>there's no running text underneath -</ul> - -<p> -You tell <strong>mom</strong> what you want to appear on the cover -pages through the arguments you pass to -<a href="#COVER">COVER</a> -and/or -<a href="#COVER">DOC_COVER</a>. -Provided you have already given <strong>mom</strong> the -appropriate references macro (e.g. -<a href="docprocessing.html#TITLE">TITLE</a> -or -<a href="docprocessing.html#AUTHOR">AUTHOR</a>), -she will output cover (and doc cover) pages identically to how she -would output docheaders containing the same information. -<p> -By default, <strong>mom</strong> starts cover (and doc cover) pages -one-third of the way down the page. This can be changed through -the use of the control macros -<a href="#COVER_CONTROL_INDEX">COVER_ADVANCE/DOC_COVER_ADVANCE</a>. -<p> -If you request copyright information (and have already given -<strong>mom</strong> the reference macro, -<a href="docprocessing.html#COPYRIGHT">COPYRIGHT</a>), -she sets it, by default, in a smaller -<a href="definitions.html#TERMS_PS">point size</a> -in the bottom right hand corner of the cover (or doc cover) page. -The default point size and the position can be controlled -with -<a href="#COVER_CONTROL_INDEX">COVER_COPYRIGHT_SIZE/DOC_COVER_COPYRIGHT_SIZE</a> -and -<a href="#COVER_CONTROL_INDEX">COVER_COPYRIGHT_QUAD/DOC_COVER_COPYRIGHT_QUAD</a>. -<p> -Similarly, if you request miscellaneous information (and have already given -<strong>mom</strong> the reference macro, -<a href="docprocessing.html#MISC">MISC</a>), -she sets it, by default, in a smaller point size in the bottom left -hand corner of the cover (or doc cover) page. The default point -size is dependent on -<strong>COVER_COPYRIGHT_SIZE/DOC_COVER_COPYRIGHT_SIZE</strong>, -but the position can be controlled with -<a href="#COVER_CONTROL_INDEX">COVER_MISC_QUAD/DOC_COVER_MISC_QUAD</a>. - -<a name="PAGINATION"></a> -<p> -<strong>NOTE: mom</strong> does not set any -<a href="definitions.html#TERMS_HEADER">headers</a> -or -<a href="definitions.html#TERMS_FOOTER">footers</a> -on cover pages. Neither does she set any page numbers. From the -point of pagination, cover (and doc cover) pages are considered -"null" pages; if you wish them to be included in the -pagination scheme (even though no page numbers appear), you must -set the page number of each first page following a -<a href="rectoverso.html#COLLATE">COLLATE</a> -manually with -<a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>. - -<a name="DESIGN"></a> -<p> -Finally, if you want to design your own cover page(s), you can -always typeset them (using the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>), -invoke -<a href="typesetting.html#NEWPAGE">NEWPAGE</a>, -set up your document <em>in full</em> (see -<a href="docprocessing.html#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>), -and lastly invoke -<a href="docprocessing.html#START">START</a>. -The cover page (and any typesetting commands on it) will have no -effect on <strong>mom</strong>'s processing of the document itself, -the first page of which, moreover, will be numbered "1" -unless you instruct her otherwise with -<a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>. -<p> - -<!---COVER---> - -<hr width="66%" align="left"> -<p> -<a name="COVER"></a> - Macro: <strong>COVER</strong> - <br> - Macro: <strong>DOC_COVER</strong> - <br> - Required argument: <nobr>TITLE | DOCTITLE | COVERTITLE | CHAPTER | CHAPTER_TITLE | CHAPTER+TITLE</nobr> - <br> - Optional arguments: <nobr>[ SUBTITLE AUTHOR DOCTYPE COPYRIGHT MISC ]</nobr> - <p> - <em>*Note: these macros should be placed in the - "style-sheet" section of your document setup (see the - <a href="docprocessing.html#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>), - i.e. after PRINTSTYLE (and/or DOCTYPE and/or COPYSTYLE), but - before START.</em> - -</a> -<p> -<strong>COVER</strong> and <strong>DOC_COVER</strong> behave -identically. The reason <strong>mom</strong> provides two macros -for automatic cover page generation is so that you can have two -different kinds of covers with different information on each. -<p> -Imagine, for a moment, you've written a document comprised of three -sections. When you -<a href="rectoverso.html#COLLATE">COLLATE</a> -the document for output, you could use <strong>DOC_COVER</strong> -to generate a cover page that contained the name of the entire -document, your (the author's) name, and perhaps the copyright date. -Subsequently, you could use <strong>COVER</strong>, after each -<strong>COLLATE</strong> but before each -<a href="docprocessing.html#START">START</a>, -to generate a cover page (or cover "sheet", if you prefer) -containing just the name of the section. -<br> - -<a name="REQUIRED"><h3><u>The required argument</u></h3></a> - -Both <strong>COVER</strong> and <strong>DOC_COVER</strong>, whenever -invoked, require a first argument, as listed above. This first argument -will become the first bit of information <strong>mom</strong> -prints on the cover (or doc cover) page (i.e. it will be the -"title"). -<p> -In order for the information to appear, you must, of course, first -have given <strong>mom</strong> the appropriate -<a href="docprocessing.html#REFERENCE_MACROS">reference macro</a>. -A list of arguments with their equivalent reference macros follows. -<br> - -<dl> -<dt>TITLE -<dd>-means the argument you gave to -<a href="docprocessing.html#TITLE">TITLE</a> -<dt>DOCTITLE -<dd>-means the argument you gave to -<a href="docprocessing.html#DOCTITLE">DOCTITLE</a> -<dt>COVERTITLE -<dd>-means the argument you gave to -<a href="docprocessing.html#COVERTITLE">COVERTITLE</a> -or -<a href="docprocessing.html#DOC_COVERTITLE">DOC_COVERTITLE</a> -<dt>CHAPTER, CHAPTER_TITLE, CHAPTER+TITLE -<dd>-see below (How the CHAPTER argument and friends work) -</dl> -<br> - -<a name="CHAPTER"><h3><u>How the CHAPTER argument and friends work</u></h3></a> - -<kbd>CHAPTER</kbd>, by itself, will print the <a -href="docprocessing.html#CHAPTER_STRING">CHAPTER_STRING</a> as well -as the chapter number that you gave to -<a href="docprocessing.html#CHAPTER">CHAPTER</a>. -For example, assuming a vanilla setup for your chapter -<p> -<pre> - \# Reference macros - .CHAPTER 1 - .CHAPTER_TITLE "The Bonny Blue Yonder" - <other stuff> - .COVER CHAPTER \" (or .DOC_COVER CHAPTER) - .START -</pre> - -will simply print -<p> -<pre> - Chapter 1 -</pre> - -<kbd>CHAPTER_TITLE</kbd> will print the chapter title you -gave to -<a href="docprocessing.html#CHAPTER_TITLE">CHAPTER_TITLE</a>. -For example, assuming a vanilla setup for your chapter -<p> -<pre> - \# Reference macros - .CHAPTER 1 - .CHAPTER_TITLE "The Bonny Blue Yonder" - <other stuff> - .COVER CHAPTER_TITLE \" (or .DOC_COVER CHAPTER_TITLE) - .START -</pre> - -will simply print -<p> -<pre> - The Bonny Blue Yonder -</pre> - -<p> -<kbd>CHAPTER+TITLE</kbd> will print <strong>both</strong> the -chapter string + number AND the chapter title. For example, -assuming a vanilla setup for your chapter -<p> -<pre> - \# Reference macros - .CHAPTER 1 - .CHAPTER_TITLE "The Bonny Blue Yonder" - <other stuff> - .COVER CHAPTER+TITLE \" (or .DOC_COVER CHAPTER+TITLE) - .START -</pre> - -will print -<p> -<pre> - Chapter 1 - The Bonny Blue Yonder -</pre> - -<a name="OPTIONAL"><h3><u>The optional arguments</u></h3></a> - -The remainder of the arguments to <strong>COVER</strong> and -<strong>DOC_COVER</strong> are optional. They refer specifically -to the information you gave the -<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a> -bearing the same name as the arguments. -<p> -You may enter as many or as few as you would like to see on your -cover (or doc cover) page. The only hitch is--PAY ATTENTION, -CLASS!--they must be entered in the order given above. For -example, if you want <kbd>TITLE</kbd>, <kbd>AUTHOR</kbd>, -<kbd>COPYRIGHT</kbd> and <kbd>MISC</kbd> -<p> -<pre> - .COVER TITLE AUTHOR COPYRIGHT MISC -</pre> - -is correct, while -<p> -<pre> - .COVER TITLE AUTHOR MISC COPYRIGHT -</pre> - -is not. -<br> - -<a name="DOCTYPE"><h3><u>What the DOCTYPE argument means</u></h3></a> - -When you pass <strong>COVER</strong> or <strong>DOC_COVER</strong> -the argument, <kbd>DOCTYPE</kbd>, it refers to the argument you -gave to -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a> <kbd>NAMED</kbd>. -For example, if, in your -<a href="docprocessing.html#DOCSTYLE_MACROS">docstyle macros</a> -you gave a -<p> -<pre> - .DOCTYPE NAMED "Abstract" -</pre> - -the argument, <kbd>DOCTYPE</kbd>, in the <strong>COVER</strong> or -<strong>DOC_COVER</strong> macros, would mean that you wanted the -word, Abstract, to appear on the cover (or doc cover), just as it -would in the -<a href="docprocessing.html#DOCHEADER">docheader</a>. -<br> - -<!---ENABLING/DISABLING---> - -<hr width="66%" align="left"> -<p> -<a name="ON_OFF"></a> - <nobr>Macro: <strong>COVERS</strong> <toggle></nobr> - <br> - <nobr>Macro: <strong>DOC_COVERS</strong> <toggle></nobr> -</a> -<p> -By default, if you give <strong>mom</strong> a -<a href="#COVER">COVER</a> -or -<a href="#DOC_COVER">DOC_COVER</a> -macro, she will print it. In a document that contains sections, -articles or chapters formerly treated as "one-off's" but -now being -<a href="rectoverso.html#COLLATE_INTRO">collated</a>, -such behaviour may not be desirable. -<p> -<strong>Mom</strong> lets you selectively enable or disable the -generation of covers and/or doc covers with the toggle macros -<strong>COVERS</strong> and <strong>DOC_COVERS</strong>. Because -they're toggle macros, simply invoking them by themselves enables -automatic cover (or doc cover) generation, while invoking them -with any argument at all (<strong>OFF, QUIT, X</strong>, etc) -disables cover (or doc cover) generation. -<p> -<strong>NOTE:</strong> You must place these macros prior to any -instance of -<a href="docprocessing.html#START">START</a>. Since they're -"on" by default, there's no need to use them if you want -covers. However, if you don't, especially in the kind of scenario -described above, the best place to put them (most likely with an -<strong>OFF, NO, X</strong>, etc. argument), is immediately after the -first invocation of <strong>START</strong>. By doing so, you ensure -they precede all subsequent instances of <strong>START</strong>. -<p> - -<hr> -<p> -<a name="COVER_CONTROL"><h3><u>Control macros--changing the defaults for covers and document covers</u></h3></a> -The default typographic appearance of the items on a cover (or doc -cover) page is identical to that of the items in a -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>. -(See -<a href="docprocessing.html#DOCHEADER_CONTROL">How to change the look of docheaders</a> -for a description of the defaults.) -<p> -<a href="docprocessing.html#COPYRIGHT">COPYRIGHT</a> -and -<a href="docprocessing.html#MISC">MISC</a>, -which do not appear in docheaders, have the following default -characteristics: -<br> -<ol> - <li>The copyright line is set in the bottom right hand corner - of the page, 2 - <a href="definitions.html#TERMS_PS">point sizes</a> - smaller than the size of - <a href="definitions.html#TERMS_RUNNING">running text</a> - <li>The "misc" line is set in the bottom left hand - corner of the page, in the same family, font and point size - as the copyright line. -</ol> -<p> -With the exception of the copyright and "misc" lines, the -defaults for the entirety of cover (and doc cover) pages, and all -the elements thereon, can be changed with control macros whose -behaviour and arguments are identical to -<a href="docprocessing.html#DOCHEADER_CONTROL_INDEX">the control macros used for docheaders</a>. -The only difference is the name by which you invoke the control -macro(s). -<p> -The complete list of cover (and doc cover) page control macros -follows; please refer to the -<a href="docprocessing.html#DOCHEADER_CONTROL_INDEX">docheader control macros index</a> -in order to understand how to use them. -<p> -<a name="COVER_CONTROL_INDEX"><h3><u>Index of cover and doc cover control macros</u></h3></a> -<pre> -<a name="COVER_ADVANCE">.COVER_ADVANCE .DOC_COVER_ADVANCE</a> -+ -<a name="COVER_FAMILY">.COVER_FAMILY .DOC_COVER_FAMILY</a> | like DOCHEADER_ -<a name="COVER_LEAD">.COVER_LEAD .DOC_COVER_LEAD</a> -+ - -.COVER_TITLE_FAMILY .DOC_COVER_TITLE_FAMILY -+ -.COVER_TITLE_FONT .DOC_COVER_TITLE_FONT | like -.COVER_TITLE_COLOR .DOC_COVER_TITLE_COLOR | TITLE_ -.COVER_TITLE_SIZE .DOC_COVER_TITLE_SIZE -+ - -.COVER_CHAPTER_TITLE_FAMILY .DOC_COVER_CHAPTER_TITLE_FAMILY -+ -.COVER_CHAPTER_TITLE_FONT .DOC_COVER_CHAPTER_TITLE_FONT | like -.COVER_CHAPTER_TITLE_COLOR .DOC_COVER_CHAPTER_TITLE_COLOR | CHAPTER_TITLE_ -.COVER_CHAPTER_TITLE_SIZE .DOC_COVER_CHAPTER_TITLE_SIZE -+ - -.COVER_SUBTITLE_FAMILY .DOC_COVER_SUBTITLE_FAMILY -+ -.COVER_SUBTITLE_FONT .DOC_COVER_SUBTITLE_FONT | like -.COVER_SUBTITLE_COLOR .DOC_COVER_SUBTITLE_COLOR | SUBTITLE_ -.COVER_SUBTITLE_SIZE .DOC_COVER_AUTHOR_SIZE -+ - -.COVER_ATTRIBUTE_COLOR .DOC_COVER_ATTRIBUTE_COLOR - like ATTRIBUTE_COLOR - - the macro, .ATTRIBUTE_STRING, controls the attribution string - for both docheaders and cover pages; cover pages have no - separate ATTRIBUTE_STRING macro - -.COVER_AUTHOR_FAMILY .DOC_COVER_AUTHOR_FAMILY -+ -.COVER_AUTHOR_FONT .DOC_COVER_AUTHOR_FONT | like -.COVER_AUTHOR_COLOR .DOC_COVER_AUTHOR_COLOR | AUTHOR_ -.COVER_AUTHOR_SIZE .DOC_COVER_AUTHOR_SIZE -+ - -.COVER_DOCTYPE_FAMILY .DOC_COVER_DOCTYPE_FAMILY -+ -.COVER_DOCTYPE_FONT .DOC_COVER_DOCTYPE_FONT | like -.COVER_DOCTYPE_COLOR .DOC_COVER_DOCTYPE_COLOR | DOCTYPE_ -.COVER_DOCTYPE_SIZE .DOC_COVER_DOCTYPE_SIZE -+ - -.COVER_COPYRIGHT_FAMILY .DOC_COVER_COPYRIGHT_FAMILY -+ -.COVER_COPYRIGHT_FONT .DOC_COVER_COPYRIGHT_FONT | like any -.COVER_COPYRIGHT_COLOR .DOC_COVER_COPYRIGHT_COLOR | of the above -.COVER_COPYRIGHT_SIZE .DOC_COVER_COPYRIGHT_SIZE -+ -.COVER_COPYRIGHT_QUAD .DOC_COVER_COPYRIGHT_QUAD - - the copyright quad can be either L (left) or R (right); default is left - -.COVER_MISC_COLOR .DOC_COVER_MISC_COLOR - like any of the above _COLOR -.COVER_MISC_QUAD .DOC_COVER_MISC_QUAD - - the misc quad can be either L (left) or R (right); default is right -</pre> - -<strong>Note: COVER_MISC</strong> and -<strong>DOC_COVER_MISC</strong> have only two control macros, -<strong>_COLOR</strong> and <strong>_QUAD</strong>. The -family, font and size of the <kbd>MISC</kbd> argument to -<strong>COVER</strong> or <strong>DOC_COVER</strong> are always the -same as for <kbd>COPYRIGHT</kbd>. Should you wish the family, font -or size to be different from <kbd>COPYRIGHT</kbd>, I suggest setting -the type specs for <kbd>COPYRIGHT</kbd> to the ones you want for -<kbd>MISC</kbd>, then altering them for <kbd>COPYRIGHT</kbd> using -<a href="inlines.html#INDEX_INLINES">inline escapes</a> -in the -<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a> -you pass to the macro, -<a href="docprocessing.html#COPYRIGHT">COPYRIGHT</a>. (Of course, -you could always do the reverse, but if you pass several arguments -to -<a href="docprocessing.html#MISC">MISC</a>, -it's more likely you want to get <strong>MISC</strong> right first.) - -<p> -<hr> -<a href="refer.html#TOP">Next</a> -<a href="rectoverso.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/definitions.html b/contrib/groff/contrib/mom/momdoc/definitions.html deleted file mode 100644 index 80542afa0395..000000000000 --- a/contrib/groff/contrib/mom/momdoc/definitions.html +++ /dev/null @@ -1,768 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Definitions and Terms</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="using.html#TOP">Next</a> -<a href="intro.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> -<a name="TOP"></a> -<a name="TERMS"> - <h1 align="center"><u>DEFINITIONS OF TERMS USED IN THIS MANUAL</u></h1> -</a> - -<a href="#TERMS_TYPESETTING">Typesetting Terms</a> -<br> -<a href="#TERMS_GROFF">Groff Terms</a> -<br> -<a href="#TERMS_MOM">Mom Document Processing Terms</a> -<p> -I use a number of typesetting-specific and groff-specific terms -throughout this documentation, as well as a few terms that apply -to <strong>mom</strong> 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. -<p> -<hr> - -<a name="TERMS_TYPESETTING"> - <h2><u>Typesetting terms</u></h2> -</a> - -<ul> - <li><a href="#TERMS_ASCENDER">Ascender</a> - <li><a href="#TERMS_BASELINE">Baseline</a> - <li><a href="#TERMS_BALLOTBOX">Ballot box</a> - <li><a href="#TERMS_BULLET">Bullet</a> - <li><a href="#TERMS_CAPHEIGHT">Cap-height</a> - <li><a href="#TERMS_DESCENDER">Descender</a> - <li><a href="#TERMS_DISCRETIONARYHYPHEN">Discretionary hyphen</a> - <li><a href="#TERMS_DROPCAP">Drop cap</a> - <li><a href="#TERMS_EM">Em/en</a> - <li><a href="#TERMS_FAMILY">Family</a> - <li><a href="#TERMS_FIGURESPACE">Figure space/Digit space</a> - <li><a href="#TERMS_FIXEDWIDTHSPACE">Fixed width space</a> - <li><a href="#TERMS_FONT">Font</a> - <li><a href="#TERMS_FORCE">Force justify</a> - <li><a href="#TERMS_JUST">Justify/justification</a> - <li><a href="#TERMS_GUTTER">Gutter</a> - <li><a href="#TERMS_KERN">Kerning</a> - <li><a href="#TERMS_KERNUNIT">Kern Units</a> - <li><a href="#TERMS_LEADING">Lead/leading</a> - <li><a href="#TERMS_LEADER">Leaders</a> - <li><a href="#TERMS_LIGATURES">Ligature</a> - <li><a href="#TERMS_PICASPOINTS">Picas/Points</a> - <li><a href="#TERMS_PS">Point Size</a> - <li><a href="#TERMS_QUAD">Quad</a> - <li><a href="#TERMS_RAG">Rag</a> - <li><a href="#TERMS_SHAPE">Shape</a> - <li><a href="#TERMS_SOLID">Solid/set solid</a> - <li><a href="#TERMS_TRACKKERNING">Track kerning/Line kerning</a> - <li><a href="#TERMS_UNBREAKABLESPACE">Unbreakable space</a> - <li><a href="#TERMS_WEIGHT">Weight</a> - <li><a href="#TERMS_WORDSPACE">Word space</a> - <li><a href="#TERMS_XHEIGHT">x-height</a> -</ul> - -<dl> -<dt><a name="TERMS_ASCENDER"><em>Ascender</em></a> -<dd>The portion of a letter that extends above the bowl. For example, -the letters a, c, and e have no ascenders. The letters b, d, and h -do. - -<dt><a name="TERMS_BASELINE"><em>Baseline</em></a> -<dd>The imaginary line on which the bottoms of capital letters and the -bowls of lower case letters rest. - -<dt><a name="TERMS_BALLOTBOX"><em>Ballot box</em></a> -<dd>An unfilled square, usually -<a href="#TERMS_CAPHEIGHT">cap-height</a> -in size, typically placed beside items in a checklist. - -<dt><a name="TERMS_BULLET"><em>Bullet</em></a> -<dd>A small, filled circle typically found beside items or points in -a list. - -<dt><a name="TERMS_CAPHEIGHT"><em>Cap-height</em></a> -<dd>The height of the tallest capital letter in a given -<a href="#TERMS_FONT">font</a> -at the current -<a href="#TERMS_PS">point size</a>. - -<dt><a name="TERMS_DESCENDER"><em>Descender</em></a> -<dd>The portion of a letter that extends beneath the -<a href="#TERMS_BASELINE">baseline</a> -(j, q, y are letters with descenders). - -<dt><a name="TERMS_DISCRETIONARYHYPHEN"><em>Discretionary hyphen</em></a> -<dd>A symbol inserted between two syllables of a word that indicates to a -typesetting program the legal hyphenation points in the word. Normally, -if hyphenation is turned on, groff knows where to hyphenate words. -However, hyphenation being what it is (in English, at any rate), -groff doesn't always get it right. Discretionary hyphens make sure -it does. In the event that the word doesn't need to be hyphenated -at all, groff leaves them alone. In groff, the discretionary hyphen is -entered with -<p> -<pre> - \% -</pre> - -(backslash followed by a percent). - -<dt><a name="TERMS_DROPCAP"><em>Drop cap</em></a> -<dd>A large, usually upper-case letter that introduces the first -paragraph of a document or section thereof. The top of the drop -cap usually lines up with the top of the first line of the -paragraph, and typically "drops" several lines lower. -Text adjacent to the drop cap is indented to the right of the -letter until the bottom of the drop cap is reached, at which -point text reverts to the left margin. - -<dt><a name="TERMS_EM"><em>Em/en</em></a> -<dd>An em is a relative measurement equal to the width of the -letter M at a given -<a href="#TERMS_PS">point size</a> -in a given -<a href="#TERMS_FONT">font</a>. -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). - -<dt><a name="TERMS_FAMILY"><em>Family</em></a> -<dd>The collective name by which a collection of -<a href="#TERMS_FONT">fonts</a> -are known, e.g. Helvetica, Times Roman, Garamond. - -<dt><a name="TERMS_FIGURESPACE"><em>Figure space/Digit space</em></a> -<dd>A -<a href="#TERMS_FIXEDWIDTHSPACE">fixed width space</a> -that has the width of one digit. Used for aligning numerals in, -say, columns or numbered lists. In groff, the figure space is -entered with -<p> -<pre> - \0 -</pre> - -(backslash followed by a zero). - -<dt><a name="TERMS_FIXEDWIDTHSPACE"><em>Fixed width space</em></a> -<dd>Equal to -<a href="#TERMS_WORDSPACE">word space</a>, -but does not expand or contract when text is -<a href="#TERMS_JUST">justified</a>. -In groff, fixed width space is entered with -<p> -<pre> - \<space> -</pre> - -where <space> means "hit the spacebar on your keyboard." - -<dt><a name="TERMS_FONT"><em>Font</em></a> -<dd>The specific -<a href="#TERMS_WEIGHT">weight</a> -and -<a href="#TERMS_SHAPE">shape</a> -of type within a -<a href="#TERMS_FAMILY">family</a>, -e.g. light, medium, bold (which are weights), and roman, italic, -condensed (which are shapes). By default, groff knows of four fonts -within its default set of families: R (medium roman), I (medium -italic), B (bold roman) and BI (bold italic). - -<dt><a name="TERMS_FORCE"><em>Force justify -</em></a> -<dd>Sometimes, in -<a href="#TERMS_JUST">justified</a> -text, a line needs to be broken short of the right margin. Force -justifying means telling a typesetting program (like groff) that you -want the line broken early AND that you want the line's word spacing -stretched to force the line flush with the right margin. - -<dt><a name="TERMS_GUTTER"><em>Gutter</em></a> -<dd>The vertical whitespace separating columns of type. - -<dt><a name="TERMS_JUST"><em>Justify/justification</em></a> -<dd>Lines of type are justified when they're flush at both the left and -right margins. Justification is the act of making both margins flush. -Some people use the terms "left justified" and "right justified" -to mean type where only the left (or right) margins align. I don't. -See -<a href="#TERMS_QUAD">quad</a>. - -<dt><a name="TERMS_KERN"><em>Kerning</em></a> -<dd>Moving pairs of letters closer together to remove excess -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 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 -and punctuation together properly. - -<dt><a name="TERMS_KERNUNIT"><em>Kern Units</em></a> -<dd>A relative distance equal to 1/36 of the current -<a href="#TERMS_PS">point size</a>. -Used between individual letters -for -<a href="#TERMS_KERN">kerning</a>. -Different typesetting systems use different values (1/54 is -popular), and sometimes call kern units by a different name. -<p> -<strong>Experts: -<br></strong>A kern unit has nothing to do with groff -machine units. - -<dt><a name="TERMS_LEADING"><em>Lead/leading</em></a> -<dd>The distance from the -<a href="#TERMS_BASELINE">baseline</a> -of one line of type to the line of type immediately beneath it. -Pronounced "ledding." Also called line spacing. Usually measured -in -<a href="#TERMS_PICASPOINTS">points</a>. -<p> -<em>In case you're interested...</em> In previous centuries, -lines of type were separated by thin strips of--you guessed -it--lead. Lines of type that had no lead between them were said to -be "set solid." Once you began separating them with strips -of lead, they were said to be "leaded", and the spacing was -expressed in terms of the number of -<a href="#TERMS_PICASPOINTS">points</a> -of lead. For this reason, "leading" and "line -spacing" aren't, historically speaking, synonymous. If type -was set 10 on 12, for example, the leading was 2 points, not 12. -Nowadays, however, the two terms are used interchangeably to mean -the distance from baseline to baseline. - -<dt><a name="TERMS_LEADER"><em>Leaders</em></a> -<dd>Single characters used to fill lines, usually to their end. -So called because they "lead" the eye from one element -of the page to another. For example, in the following (brief) -Table of Contents, the periods (dots) are leaders. -<p> -<pre> - Foreword............... 2 - Chapter 1.............. 5 - Chapter 2.............. 38 - Chapter 3.............. 60 -</pre> - -<dt><a name="TERMS_LIGATURES"><em>Ligature</em></a> -<dd>Ligatures are letters joined together to form a single character. -The commonest are fi, fl, ff, ffi and ffl. Others are ae and oe. -Occasionally, one sees an st ligature, but this is archaic and -quite rare. - -<dt><a name="TERMS_PICASPOINTS"><em>Picas/Points</em></a> -<dd>There are twelve points in a pica, and six picas in an inch -(hence 72 points to the inch). In the same way that gem-dealers -have always used their own system of measurement for weight (carats), -typographers have always used their own system of measurement for type. - -<dt><a name="TERMS_PS"><em>Point Size</em></a> -<dd>The nominal size of type, measured in -<a href="#TERMS_PICASPOINTS">points</a> -from the bottom of the longest -<a href="#TERMS_DESCENDER">descender</a> -to the top of the highest -<a href="#TERMS_ASCENDER">ascender</a>. -In reality, type is always fractionally smaller than its point size. - -<dt><a name="TERMS_QUAD"><em>Quad</em></a> -<dd>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 centre means neither the left -nor the right margin is flush; rather, lines of type are quadded on -both sides so that type appears centred on the page. - -<dt><a name="TERMS_RAG"><em>Rag</em></a> -<dd>Describes a margin that isn't flush. Rag right means the right -margin isn't flush. Rag left means the left margin isn't flush. -The expression "flush left/rag right" is sometimes used to describe -type that is -<a href="#TERMS_QUAD">quadded</a> -left. - -<dt><a name="TERMS_SHAPE"><em>Shape</em></a> -<dd>The degree of slant and/or the width of characters. -(Technically speaking, this is not a proper typesetting term; -however, it may help clarify some concepts presented in these -documents.) -<p> -Some typical shapes are: -<ul> - <li>"Roman", which has no slant, and has letterforms of - average width - <li>"Italic", which is slanted, and has letterforms - of average width - <li>"Condensed", which has no slant, but has - letterforms narrower than the average represented by Roman - <li>"Condensed Italic", which is slanted, with letterforms narrower - than average -</ul> -The term -<a href="#TERMS_FONT">font</a>, -as it is used in these documents, refers to a combination of -<a href="#TERMS_WEIGHT">weight</a> -and shape. - -<dt><a name="TERMS_SOLID"><em>Solid/set solid</em></a> -<dd>When no -<a href="#TERMS_LEADING">lead</a> -is added between lines of type (i.e. the -<a href="#TERMS_PS">point size</a> -and linespacing are the same), the lines are said to be "set -solid." - -<dt><a name="TERMS_TRACKKERNING"><em>Track kerning/Line kerning</em></a> -<dd>Sometimes, it's advantageous to increase or decrease the amount of -space between every letter in a line by an equal (usually small) -amount, in order to fit more (or fewer) characters on the line. -The correct term is letter spacing, but track kerning and line kerning -(and sometimes, just "kerning") have come to mean the same thing. - -<dt><a name="TERMS_UNBREAKABLESPACE"><em>Unbreakable space</em></a> -<dd>Equal to -<a href="#TERMS_WORDSPACE">word space</a>, -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 one should, whenever possible, avoid -splitting onto two lines. In groff, unbreakable space is entered -with -<p> -<pre> - \~ -</pre> - -(backslash followed by a tilde). - -<dt><a name="TERMS_WEIGHT"><em>Weight</em></a> -<dd>The thickness of the strokes of letterforms. Medium and Book -have average thicknesses and are the weights used for most of the -text in books, magazines, newspapers, etc. Light has strokes -slightly thinner than Medium or Book, but is still acceptable for -most text. Semibold, Bold, Heavy and Black all have strokes of -increasing thickness, making them suitable for heads, subheads, -headlines and the like. - -<dt><a name="TERMS_WORDSPACE"><em>Word space</em></a> -<dd>The amount of whitespace between words. When text is -<a href="#TERMS_JUST">justified</a>, -word space expands or contracts to make the margins flush. - -<dt><a name="TERMS_XHEIGHT"><em>x-height</em></a> -<dd>The height of a lower case letter x in a given font at a given -point size. Generally used to mean the average height of the bowl -of lower case letters. -</dl> -<p> -<hr> - -<a name="TERMS_GROFF"> - <h2><u>Groff terms</u></h2> -</a> - -<ul> - <li><a href="#TERMS_ALIAS">Alias</a> - <li><a href="#TERMS_ARGUMENTS">Arguments</a> - <li><a href="#TERMS_COMMENTLINES">Comment lines</a> - <li><a href="#TERMS_CONTROLLINES">Control Lines</a> - <li><a href="#TERMS_FILLED">Filled lines</a> - <li><a href="#TERMS_INLINES">Inline escapes</a> - <li><a href="#TERMS_INPUTLINE">Input line</a> - <li><a href="#TERMS_MACROS">Macros</a> - <li><a href="#TERMS_UNITS">Machine units</a> - <li><a href="#TERMS_NUMERICARGUMENT">Numeric argument</a> - <li><a href="#TERMS_OUTPUTLINE">Output line</a> - <li><a href="#TERMS_PRIMITIVES">Primitives</a> - <li><a href="#TERMS_STRINGARGUMENT">String Argument</a> - <li><a href="#TERMS_UNITOFMEASURE">Unit of measure</a> - <li><a href="#TERMS_ZEROWIDTHCHARACTER">Zero-width character</a> -</ul> -<dl> - -<dt><a name="TERMS_ALIAS"><em>Alias</em></a> -<dd>A -<a href="#TERMS_MACROS">macro</a> -invoked by a name different from its "official" -name. For example, the official name of the macro to change -<a href="#TERMS_FAMILY">family</a> -is <strong>FAMILY</strong>. Its alias is -<strong>FAM</strong>. Aliases may be created for any macro (via the -<a href="goodies.html#ALIAS">ALIAS</a> -macro) provided the alias uses a name not already taken -by the <strong>mom</strong> macros or one of the groff -<a href="#TERMS_PRIMITIVES">primitives</a>. -For a complete list of words or names you must not use, see the -<a href="reserved.html#RESERVED">list of reserved words</a>. - -<dt><a name="TERMS_ARGUMENTS"><em>Arguments</em></a> -<dd>Parameters or information needed by a -<a href="#TERMS_MACROS">macro</a> -to do its job. For example, in the macro -<p> -<pre> - .PT_SIZE 12 -</pre> - -"12" is the argument. In the macro -<p> -<pre> - .QUAD LEFT -</pre> - -LEFT is the argument. Arguments are separated from macros by spaces. -Some macros require several arguments; each is separated by a space. - -<dt><a name="TERMS_COMMENTLINES"><em>Comment Lines</em></a> -<dd><a href="#TERMS_INPUTLINE">Input lines</a> -introduced with the comment character -<p> -<pre> - \# -</pre> - -When processing output, groff silently ignores everything on a -line that begins with the comment character. - -<dt><a name="TERMS_CONTROLLINES"><em>Control Lines</em></a> -<dd>Instructions to groff that appear on a line by themselves, -which means that "control lines" are either -<a href="#TERMS_MACROS">macros</a> -or groff -<a href="#TERMS_PRIMITIVES">primitives</a>. -Control lines begin with a period or, occasionally, an apostrophe. - -<dt><a name="TERMS_FILLED"><em>Filled lines/fill mode</em></a> -<dd>Automatic -<a href="#TERMS_JUST">justification</a> -or -<a href="#TERMS_QUAD">quadding</a>. -In fill mode, the ends of lines as they appear in your text editor -are ignored. Instead, words from adjoining -<a href="#TERMS_INPUTLINE">input lines</a> -are added one at a time to the output line until no more words fit. -Then, depending whether text is to be -<a href="#TERMS_JUST">justified</a> -or -<a href="#TERMS_QUAD">quadded</a> -(left, 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). -<p> -<a name="TERMS_NOFILL"></a> -Nofill mode (non-filled text) means that groff respects the ends -of lines as they appear in your text editor. - -<dt><a name="TERMS_INLINES"><em>Inline escapes</em></a> -<dd>Instructions issued to groff that appear as part of an -<a href="#TERMS_INPUTLINE">input line</a> -(as opposed to -<a href="#TERMS_MACROS">macros</a>, -which must appear on a line by themselves). Inline escapes are -always introduced by the backslash character. For example, -<p> -<pre> - A line of text with the word T\*[BU 2]oronto in it -</pre> - -contains the inline escape \*[BU 2] (which means "move the letter -'o' 2 -<a href="#TERMS_KERNUNIT">kern units</a> -closer to the letter 'T'"). -<p> -<strong>Mom</strong>'s inline escapes always take the form -<strong>\*[</strong><i>ESCAPE</i><strong>]</strong>, where <i>ESCAPE</i> -is composed of capital letters, sometimes followed immediately -by a digit, sometimes followed by a space and a -<a href="#TERMS_NUMERICARGUMENT">numeric argument</a>. -<strong>Groff</strong>'s escapes begin with the backslash character -but typically have no star and are in lower case. For example, the -<strong>mom</strong> escapes to move forward 6 points on a line are -either -<p> -<pre> - \*[FP6] or \*[FWD 6p] -</pre> - -while the <strong>groff</strong> escape for the same thing is -<p> -<pre> - \h'6p' -</pre> - -<dt><a name="TERMS_INPUTLINE"><em>Input line</em></a> -<dd>A line of text as it appears in your text editor. - -<dt><a name="TERMS_MACROS"><em>Macros</em></a> -<dd>Instructions embedded in a document that determine how groff processes -the text for output. <strong>mom</strong>'s macros always begin with a -period, on a line by themselves, and must be typed in capital letters. -Typically, macros contain complex commands issued to groff--behind -the scenes--via groff -<a href="#TERMS_PRIMITIVES">primitives</a>. - -<dt><a name="TERMS_UNITS"><em>Machine units</em></a> -<dd>A machine unit is 1/1000 of a -<a href="#TERMS_PICASPOINTS">point</a> -when the groff device is ps. ("ps" means -"PostScript"--the default device for which groff -prepares output, and the device for which <strong>mom</strong> was -specifically designed.) - -<dt><a name="TERMS_NUMERICARGUMENT"><em>Numeric argument</em></a> -<dd>An -<a href="#TERMS_ARGUMENT">argument</a> -that has the form of a digit. Numeric arguments can be built out -of arithmetic expressions using +, -, *, and / for plus, minus, -times, and divided-by respectively. If a numeric argument requires -a -<a href="#TERMS_UNITOFMEASURE">unit of measure</a>, -a unit of measure must be appended to <em>every</em> digit in the -argument. For example: -<p> -<pre> - .ALD 1i-1v -</pre> - -<strong>NOTE:</strong> groff does not respect the order of operations, -but rather evaluates arithmetic expressions from left to right. -Parentheses must be used to circumvent this peculiarity. Not to -worry, though. The likelihood of more than just the occasional plus -or minus sign when using <strong>mom</strong>'s macros is slim. - -<dt><a name="TERMS_OUTPUTLINE"><em>Output line</em></a> -<dd>A line of text as it appears in output copy. - -<dt><a name="TERMS_PRIMITIVES"><em>Primitives</em></a> -<dd>The two-letter, lower case instructions groff uses as its -native command language, and out of which macros are built. - -<dt><a name="TERMS_STRINGARGUMENT"><em>String Argument</em></a> -<dd>Technically, any -<a href="#TERMS_ARGUMENTS">argument</a> -that is not numeric. In this documentation, string argument means -an argument that requires the user to input text. For example, in -the -<a href="#TERMS_MACROS">macro</a> -<p> -<pre> - .TITLE "My Pulitzer Novel" -</pre> - -"My Pulitzer Novel" is a string argument. -<p> -Because string arguments must be enclosed by double-quotes, you can't -use double-quotes as part of the string argument. If you need -double-quotes to be part of a string argument, use the -<a href="#TERMS_INLINES">inline escapes</a> -<strong>\(lq</strong> and <strong>\(rq</strong> (leftquote and rightquote -respectively) in place of the double-quote character ("). - -<dt><a name="TERMS_UNITOFMEASURE"><em>Unit of measure</em></a> -<dd>The single letter after a -<a href="#TERMS_NUMERICARGUMENT">numeric argument</a> -that tells <strong>mom</strong> what measurement scale the argument -should use. Common valid units are: -<p> -<table valign="baseline" summary="unitsofmeasure"> -<tr><td><strong>i</strong><td> = <td>inches -<tr><td><strong>p</strong><td> = <td>points -<tr><td><strong>P</strong><td> = <td>picas -<tr><td><strong>c</strong><td> = <td>centimetres -<tr><td><strong>m</strong><td> = <td>ems -<tr><td><strong>n</strong><td> = <td>ens -<tr><td><strong>v</strong><td> = <td>the current leading (line space)</td></tr> -</table> -<br> -<dd>Units of measure must come immediately after the numeric argument (i.e. -with no space between the argument and the unit of measure), like this: -<p> -<pre> - .ALD 2v - .LL 39P - .IL 1i -</pre> - -The above example advances 2 line spaces and sets the line length to -39 picas with a left indent of 1 inch. -<p> -<strong>IMPORTANT:</strong> Most <strong>mom</strong> macros -that set the size or measure of something MUST be given a unit of -measure. <strong>mom</strong>'s macros do not have default units -of measure. There are a couple of exceptions, the most notable of -which are <strong>PT_SIZE</strong> and <strong>LS</strong>. Both use -<a href="#TERMS_PICASPOINTS">points</a> -as the default unit of measure, which means -you don't have to append "p" to their argument. -<p> -You can enter decimal values for any unit of measure. Different units -may be combined by adding them together (e.g. 1.5i+2m, which gives a -measure of 1-1/2 inches plus 2 ems). -<p> -<strong>NOTE:</strong> a pica is composed of 12 points, -therefore 12.5 picas is 12 picas and 6 points, not 12 picas -and 5 points. If you want 12 picas and 5 points, you have to -enter the measure as 12P+5p. - -<dt><a name="TERMS_ZEROWIDTHCHARACTER"><em>Zero-width character</em></a> -<dd>The -<a href="#TERMS_INLINES">inline escape</a> -that allows you to print a literal period, apostrophe and, if -<a href="#TERMS_OUTPUTLINE">output lines</a> -are -<a href="#TERMS_FILLED">filled</a>, -a space that falls at the beginning of an -<a href="#TERMS_INPUTLINE">input line</a>. -It looks like this: -<p> -<pre> - \& -</pre> - -(backslash followed by an ampersand). -<p> -Normally, groff interprets a period (or an apostrophe) at the beginning -of an input line as meaning that what follows is a -<a href="#TERMS_CONTROLLINES">control line</a>. -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 (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. -</dl> -<p> -<hr> - -<a name="TERMS_MOM"> - <h2><u>Mom's Document Processing Terms</u></h2> -</a> - -<ul> - <li><a href="#TERMS_BLOCKQUOTE">Blockquote</a> - <li><a href="#TERMS_CONTROLMACRO">Control macro</a> - <li><a href="#TERMS_DOCHEADER">Docheader</a> - <li><a href="#TERMS_EPIGRAPH">Epigraph</a> - <li><a href="#TERMS_FOOTER">Footer</a> - <li><a href="#TERMS_HEAD">Head</a> - <li><a href="#TERMS_HEADER">Header</a> - <li><a href="#TERMS_LINEBREAK">Linebreak</a> - <li><a href="#TERMS_PARAHEAD">Paragraph head</a> - <li><a href="#TERMS_QUOTE">Quote</a> - <li><a href="#TERMS_RUNNING">Running text</a> - <li><a href="#TERMS_SUBHEAD">Subhead</a> - <li><a href="#TERMS_TOGGLE">Toggle</a> -</ul> -<dl> -<dt><a name="TERMS_BLOCKQUOTE"><em>Blockquote</em></a> -<dd>Cited material other than -<a href="#TERMS_QUOTE">quotes</a>. -Typically set at a smaller point size than paragraph text, indented -from the left and right margins. Blockquotes are -<a href="#TERMS_FILLED">filled</a>. - -<dt><a name="TERMS_CONTROLMACRO"><em>Control macro</em></a> -<dd>Macros used in -<a href="docprocessing.html#DOCPROCESSING">document processing</a> -to control/alter the appearance of document elements (e.g. heads, -quotes, footnotes, -<a href="#TERMS_HEADER">headers</a>, -etc.). - -<dt><a name="TERMS_DOCHEADER"><em>Document header/docheader</em></a> -<dd>Document information (title, subtitle, author, etc) output -at the top of page one. - -<dt><a name="TERMS_EPIGRAPH"><em>Epigraph</em></a> -<dd>A short, usually cited passage that appears at the -beginning of a chapter, story, or other document. - -<dt><a name="TERMS_FOOTER"><em>Footer/page footer</em></a> -<dd>Document information (frequently author and title) output in -the bottom margin of pages <em>after</em> page one. Not to be -confused with footnotes, which are considered part of -<a href="#TERMS_RUNNING">running text</a>. - -<dt><a name="TERMS_HEAD"><em>Head</em></a> -<dd>A title that introduces a major section of a document. - -<dt><a name="TERMS_HEADER"><em>Header/page header</em></a> -<dd>Document information (frequently author and title) output in -the top margin of pages <em>after</em> page one. -<p> -<strong>NOTE:</strong> In terms of content and style, headers and -<a href="#TERMS_FOOTER">footers</a> -are the same; they differ only in their placement on the page. In -most places in this documentation, references to the content or -style of headers applies equally to footers. - -<dt><a name="TERMS_LINEBREAK"><em>Linebreak/author linebreak</em></a> -<dd>A horizontal gap in -<a href="#TERMS_RUNNING">running text</a>, -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). Also commonly called a -scene break or a section break. - -<dt><a name="TERMS_PARAHEAD"><em>Paragraph head</em></a> -<dd>A title joined to the body of a paragraph; hierarchically one -level beneath -<a href="#TERMS_SUBHEAD">subheads</a>. - -<dt><a name="TERMS_QUOTE"><em>Quote</em></a> -<dd>A quote, to <strong>mom</strong>, is a line-for-line setting -of quoted material (e.g. poetry, song lyrics, or a snippet of -programming code). You don't have to use -<a href="typesetting.html#BR">BR</a> -with quotes. - -<dt><a name="TERMS_RUNNING"><em>Running text</em></a> -<dd>In a document formatted with <strong>mom</strong>, running -text means text that forms the body of the document, including -elements such as heads and subheads. -<a href="#TERMS_DOCHEADER">Docheaders</a>, -<a href="#TERMS_HEADER">headers</a>, -<a href="#TERMS_FOOTER">footers</a> -and page numbers are NOT part of running text. - -<dt><a name="TERMS_SUBHEAD"><em>Subhead</em></a> -<dd>A title used to introduce secondary sections of a document; -hierarchically one level beneath sections introduced by -<a href="#TERMS_HEAD">heads</a>. - -<dt><a name="TERMS_TOGGLE"><em>Toggle</em></a> -<dd>A macro or tag that, when invoked without an argument, -begins something or turns a feature on, and, when invoked with -ANY argument, ends something or turns a feature off. See -<a href="intro.html#TOGGLE_EXAMPLE">Example 3</a> -of the section -<a href="intro.html#MACRO_ARGS">How to read macro arguments</a>. -</dl> - -<p> -<hr> -<a href="using.html#TOP">Next</a> -<a href="intro.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/docelement.html b/contrib/groff/contrib/mom/momdoc/docelement.html deleted file mode 100644 index 13a1e0eeeb10..000000000000 --- a/contrib/groff/contrib/mom/momdoc/docelement.html +++ /dev/null @@ -1,5041 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Document Processing, element tags</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="headfootpage.html#TOP">Next</a> -<a href="docprocessing.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> -<a name="TOP"></a> -<a name="DOCELEMENT"> - <h1 align="center"><u>THE DOCUMENT ELEMENT TAGS</u></h1> -</a> - -<ul> - <li><a href="#DOCELEMENT_INTRO">Introduction to the document element tags</a> - <ul> - <li><a href="#DOCELEMENT_CONTROL">Control macros -- changing defaults for document element tags</a> - <li><a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a> - </ul> - <li><a href="#INDEX_DOCELEMENT">Index of document element tags</a> -</ul> - -<a name="DOCELEMENT_INTRO"> - <h2><u>Introduction to the document element tags</u></h2> -</a> - -Once you've completed the setup for a document (see -<a href="docprocessing.html#DOCPROCESSING_TUT">Setting up a mom document</a>), -formatting it is a snap. Simply invoke the appropriate tag for -each document element as you need it. The tags are macros that -tell <strong>mom</strong>, "This is a paragraph, this -is a subhead, this is a footnote," and so on. -<p> -The list of tags is actually quite small -- ideal for the users -<strong>mom</strong> brought herself into being for (see -<a href="intro.html#INTRO_INTRO">Who mom is meant for</a>). -However, the list of macros that control the appearance of the -tags upon output is extensive. Generally, for each tag, -there are -<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a> -for the tag's family, font and point size. Where appropriate, there -are macros to control leading, indents, quad and special features -as well. -<p> -<strong>Mom</strong> has tasteful defaults for all the tags, hence you -only use the control macros when you want to change the way -she does things. This is usually done prior to -<a href="docprocessing.html#START">START</a>, -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. -<p> - -<a name="DOCELEMENT_CONTROL"><h3><u>Control macros -- changing defaults</u></h3></a> - -<p> -The control macros for document processing tags let you -"design" the look of all the parts of your documents -- -should you wish. At a bare minimum, all tags have macros to change -<strong>mom</strong>'s defaults for family, font, point size and -colour. Where appropriate, there are macros to control leading, -indents and quad as well. -<p> -In addition, many tags have special macros to control features that -are pertinent to those tags alone. Have a look at the section dealing -with any particular tag to find out what macros control the tag, -and what <strong>mom</strong>'s defaults for the tag are. -<p> -The control macros may be used at any time during the course of -a document (i.e. before or after -<a href="docprocessing.html#START">START</a>). The changes you -make alter all subsequent invocations of the affected tag until -you make another change, either by passing new arguments to the -tag's control macro, or toggling a particular feature of the tag on -or off. -<p> -And don't forget: the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -can be used at any time, including inside -<a href="definitions.html#TERMS_TOGGLE">toggle</a> -tags (affecting only that particular invocation of the tag). -Equally, -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -can be used in tags that take -<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments.</a> -<p> -<strong>IMPORTANT NOTE:</strong> The family, font, point size, -colour and leading control macros have no effect in -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -which sets EVERYTHING in Courier roman, 12/24 (i.e. 12-point type on -a linespace of 24 points). -<p> -Please also note that the defaults listed -with the control macros apply only to -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -unless a default for <strong>TYPEWRITE</strong> is also given. -<p> -<strong>A WORD OF ADVICE:</strong> Get familiar with -<strong>mom</strong> at her default settings before exploring the -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. -There are tons of control macros. Reading up on them and trying to -remember them all might lead you to think that <strong>mom</strong> -is complex and unwieldy, which is not only untrue, but would offend -her mightily. -<p> - -<a name="CONTROL_MACRO_ARGS"><h3><u>Arguments to the control macros</u></h3></a> - -<h3>Family and font</h3> -The arguments to the control macros that end in -<strong>_FAMILY</strong> or <strong>_FONT</strong> are the same -as for -<a href="typesetting.html#FAMILY">FAMILY</a> -and -<a href="typesetting.html#FONT">FT</a>. - -<h3>Point size</h3> -Control macros that end in <strong>_SIZE</strong> always take -the form <kbd>+digit</kbd> or <kbd>-digit</kbd> where digit is -the number of -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -larger (+) or smaller (-) than the point size of paragraphs -you want the document element to be. For example, to change -subheads to 1-1/2 points larger than the type in paragraphs, do -<p> -<pre> - .SUBHEAD_SIZE +1.5 -</pre> - -There's no need for a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -with the <strong>_SIZE</strong> control macros; points is assumed. - -<h3>Colour</h3> -Control macros that end in <strong>_COLOR</strong> take as their -argument a colour name pre-defined (or "initialized") -with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -For example, if you want your heads to be red, once you've defined -or initialized the color, red, -<p> -<pre> - .HEAD_COLOR red -</pre> - -will turn your heads red. - -<h3>Lead/linespacing</h3> -Control macros that end in <strong>_AUTOLEAD</strong> take the -same argument as -<a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>, -viz. a digit that represents the number of points to add to the -tag's point size to arrive at its -<a href="definitions.html#TERMS_LEADING">lead</a>. -For example, to set footnotes -<a href="definitions.html#TERMS_SOLID">solid</a>, do -<p> -<pre> - .FOOTNOTE_AUTOLEAD 0 -</pre> - -To set footnotes with a 1-point lead (i.e. with the line spacing -one point greater than the footnote's point size), do -<p> -<pre> - .FOOTNOTE_AUTOLEAD 1 -</pre> - -<h3><a name="CONTROL_INDENTS">Indents</a></h3> -Except for <strong>PARA_INDENT</strong>, the argument to the control -macros that end -in <strong>_INDENT</strong> is always a single digit (whole numbers -only; no decimal fractions) with no -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -appended to it. The digit represents by how much you want the -size of the paragraph first-line indent multiplied to achieve the -correct indent for a particular tag. - -<h3>Quad/justification style</h3> -Control macros that end in <strong>_QUAD</strong> take the same -arguments as -<a href="typesetting.html#QUAD">QUAD</a>. -<p> -<hr> - -<a name="INDEX_DOCELEMENT"><h3><u>Document element tags list</u></h3></a> -<ul> - <li><a href="#EPIGRAPH_INTRO">Epigraphs</a> - <ul> - <li><a href="#EPIGRAPH">EPIGRAPH</a> - <li><a href="#EPIGRAPH_CONTROL">Epigrah control</a> - </ul> - <li><a href="#PP_INTRO">Paragraphs</a> - <ul> - <li><a href="#PP">PP</a> - <li><a href="#PP_CONTROL">Paragraph control</a> - </ul> - <li><a href="#HEAD_INTRO">Main heads</a> - <ul> - <li><a href="#HEAD">HEAD</a> - <li><a href="#HEAD_CONTROL">Head control</a> - </ul> - <li><a href="#SUBHEAD_INTRO">Subheads</a> - <ul> - <li><a href="#SUBHEAD">SUBHEAD</a> - <li><a href="#SUBHEAD_CONTROL">Subhead control</a> - </ul> - <li><a href="#PARAHEAD_INTRO">Paragraph heads</a> - <ul> - <li><a href="#PARAHEAD">PARAHEAD</a> - <li><a href="#PARAHEAD_CONTROL">Parahead control</a> - </ul> - <li><a href="#LINEBREAK_INTRO">Linebreaks (author linebreaks, section breaks)</a> - <ul> - <li><a href="#LINEBREAK">LINEBREAK</a> - <li><a href="#LINEBREAK_CHAR">Linebreak character</a> - <li><a href="#LINEBREAK_COLOR">Linebreak colour</a> - </ul> - <li><a href="#QUOTE_INTRO">Quotes (line for line)</a> - <ul> - <li><a href="#QUOTE">QUOTE</a> - <li><a href="#QUOTE_CONTROL">Quote control</a> - </ul> - <li><a href="#BLOCKQUOTE_INTRO">Blockquotes (cited material)</a> - <ul> - <li><a href="#BLOCKQUOTE">BLOCKQUOTE</a> - <li><a href="#BLOCKQUOTE_CONTROL">Blockquote control</a> - </ul> - <li><a href="#LIST_INTRO">Nested lists</a> - <ul> - <li><a href="#LIST">LIST</a> - <ul> - <li><a href="#ITEM">ITEM</a> - </ul> - <li><a href="#LIST_CONTROL">List control</a> - </ul> - <li><a href="#NUMBER_LINES_INTRO">Line numbering</a> - <ul> - <li><a href="#NUMBER_LINES">NUMBER_LINES</a> - <li><a href="#NUMBER_LINES_CONTROL">Control macros</a> (for QUOTE and BLOCKQUOTE) - </ul> - <li><a href="#FOOTNOTE_INTRO">Footnotes</a> - <ul> - <li><a href="#FOOTNOTE">FOOTNOTE</a> - <li><a href="#FOOTNOTE_CONTROL">Footnote control</a> - </ul> - <li><a href="#ENDNOTE_INTRO">Endnotes</a> - <ul> - <li><a href="#ENDNOTE">ENDNOTE</a> - <li><a href="#ENDNOTE_CONTROL">Endnote control</a> - </ul> - <li><a href="#MARGIN_NOTES_INTRO">Margin notes</a> - <ul> - <li><a href="#MN_INIT">MN_INIT</a> -- initialize margin notes - <li><a href="#MN">MN</a> -- start and end a margin note - </ul> - <li><a href="refer.html#TOP">Bibliographies and references</a> - <ul> - <li><a href="refer.html#REF">REF</a> - <li><a href="refer.html#ENDNOTE_REFS">ENDNOTE_REFS</a> - <li><a href="refer.html#FOOTNOTE_REFS">FOOTNOTE_REFS</a> - <li><a href="refer.html#BRACKET_REFS">Embedded references</a> - <li><a href="refer.html#BIBLIOGRAPHY">BIBLIOGRAPHY</a> - <li><a href="refer.html#BIBLIOGRAPHY_TYPE">BIBLIOGRAPHY_TYPE</a> - </ul> - <li><a href="#BLANK_PAGE_TITLE">Blank pages</a> - <li><a href="#TOC_INTRO">Table of contents</a> - <ul> - <li><a href="#TOC">TOC</a> - <li><a href="#TOC_CONTROL">Table of contents control</a> - </ul> - <li><a href="#FINIS_INTRO">Document termination</a> - <ul> - <li><a href="#FINIS">FINIS (Document termination)</a> - </ul> - <ul> - <li><a href="#FINIS_STRING">Changing the FINIS string</a> - <li><a href="#FINIS_COLOR">Changing the FINIS colour</a> - </ul> -</ul> -<hr> - - -<!====================================================================> - -<a name="EPIGRAPH_INTRO"><h2><u>Epigraphs</u></h2></a> -<ul> - <li><a href="#EPIGRAPH">Tag: EPIGRAPH</a> - <li><a href="#EPIGRAPH_CONTROL">Epigraph control macros</a> -</ul> -<p> -<a href="definitions.html#TERMS_EPIGRAPH">Epigraphs</a> -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. -<p> -By default, <strong>mom</strong> sets epigraphs centred and -<a href="definitions.html#TERMS_NOFILL">unfilled</a>; -this lets you input them on a line for line basis. This behaviour -can be changed to accomodate -<a href="definitions.html#TERMS_FILLED">filled</a> -epigraph "blocks." -<p> - -<!---EPIGRAPH---> - -<hr width="66%" align="left"> -<p> -<a name="EPIGRAPH"> - <nobr>Macro: <strong>EPIGRAPH</strong> <toggle> | [ BLOCK ]</a></nobr> -</a> - -<p> -<strong>EPIGRAPH</strong> is a toggle, used like this: -<p> -<pre> - .EPIGRAPH - <text of epigraph> - .EPIGRAPH OFF -</pre> - -<strong>OFF</strong>, above, could be anything -- say, Q or X -- -since any argument other than <strong>BLOCK</strong> turns it off. -<p> -If given the argument <strong>BLOCK</strong>, <strong>EPIGRAPH</strong> -sets epigraphs -<a href="definitions.html#TERMS_FILLED">filled</a>, -justified or quadded in the same direction as paragraphs, indented -equally from both the left and right margins. -<p> -If a block-style epigraph runs to more than one paragraph (unlikely, -but conceivable), you <strong>MUST</strong> introduce every paragraph --- <u>INCLUDING THE FIRST!!!</u> -- with the -<a href="#PP">PP</a> -tag. -<p> -<strong>NOTE:</strong> <strong>EPIGRAPH</strong> should only be -used at the top of a document (i.e. just after -<a href="docprocessing.html#START">START</a>) -or after -<a href="#HEAD_INTRO">heads</a>. The latter is not especially -recommended, but it does work. In all other places where you -want quotes or cited text, use -<a href="#QUOTE">QUOTE</a> -or -<a href="#BLOCKQUOTE">BLOCKQUOTE</a>. -<p> - -<a name="EPIGRAPH_CONTROL"><h3><u>Epigraph control macros</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.EPIGRAPH_FAMILY default = prevailing document family; default is Times Roman -.EPIGRAPH_FONT default = roman -.EPIGRAPH_SIZE default = -1.5 (points) -.EPIGRAPH_COLOR default = black -.EPIGRAPH_AUTOLEAD default = 2 points - -(The next two apply to "block" style epigraphs only) - -.EPIGRAPH_QUAD default = same as paragraphs -.EPIGRAPH_INDENT* default = para indent x 3 (for typeset), x 2 (for typewrite) - -*Indent here refers to the indent from both the left and right margins - that centres the block style epigraph on the page. -</pre> -<hr> - -<!====================================================================> - -<a name="PP_INTRO"><h2><u>Paragraphs</u></h2></a> -<ul> - <li><a href="#PP">Tag: PP</a> - <li><a href="#PP_CONTROL">Paragraph control macros</a> -</ul> -<p> -The paragraph macro is the one you use most often. Consequently, -it's one of most powerful, yet simplest to use -- just the letters -<strong>PP</strong>. No arguments, nothing. Just <kbd>.PP</kbd> -on a line by itself any time, in any document element, tells -<strong>mom</strong> you want to start a new paragraph. The spacing -and indent appropriate to where you are in your document are taken -care of automatically. -<p> -By default, <strong>mom</strong> does not indent the first paragraph -of a document, nor paragraphs that fall immediately after -<a href="#HEAD_INTRO">heads</a> -or -<a href="#SUBHEAD_INTRO">subheads</a>. -The first paragraphs of blockquotes and block-style epigraphs are -also not indented. This behaviour can be changed with the control -macro -<a href="#PARA_INDENT_FIRST">INDENT_FIRST_PARAS</a>. -<p> -In contrast to some other macro packages, <strong>mom</strong> does not -deposit a blank line between paragraphs. If you want her to do so, use -the control macro <strong>PARA_SPACE</strong>. (I don't recommend -using this macro with -<a href="typesetting.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>.) -<p> -Note that <strong>mom</strong> does not provide "orphan -control" for paragraphs (i.e. even if only one line of a paragraph -fits at the bottom of a page, she will set it on that page). The -reason for this is that writers of fiction often have single-line -paragraphs (e.g. in dialogue). Groff's simplistic orphan control -will break these one-liners -- if they fall at the bottom of the page --- to a new page, which is not what you want. -<p> -<strong>TIP:</strong> The last thing you want while you're writing -and editing drafts of a document (particularly stories and chapters) -is a text file cluttered up with <strong>PP</strong>'s. The visual -interruption in the flow of text is a serious obstacle to creativity -and critiquing. -<p> -I use the tab key on my keyboard to indent paragraphs when I'm writing, -producing a text file that looks pretty much like what you see on -a printed page. When it comes time to format and print the file, -I run it through a sed script that (amongst other things) converts -the character generated by the tab key (<kbd>^I</kbd>) into <code>.PP</code> -(plus a new line), and pipe the output to groff for processing and -printing. -<p> -Another solution is to insert a blank line between paragraphs. -The blank lines can then be sedded out at print time as above, or, -more conveniently, you can use the <code>.blm</code> -<a href="definitions.html#TERMS_PRIMITIVES">primitive</a> -(blank line macro) to instruct groff (and <strong>mom</strong>) -that blank lines should be interpreted as <strong>PP</strong>'s. -<p> -<pre> - .blm PP -</pre> -tells groff that all blank lines are really the macro <strong>PP</strong>. -<p> - -<!---PP---> - -<hr width="66%" align="left"> -<p> -<a name="PP"> - Macro: <strong>PP</strong> -</a> - -<p> -<strong>PP</strong> (on a line by itself, of course) tells mom to -start a new paragraph. See -<a href="#PP_INTRO">above</a> -for more details. In addition to regular text paragraphs, you can -use <strong>PP</strong> in -<a href="#EPIGRAPH_INTRO">epigraphs</a>, -<a href="#BLOCKQUOTE_INTRO">blockquotes</a> -and -<a href="#FOOTNOTE_INTRO">footnotes</a>. - -<a name="PP_CONTROL"><h3><u>Paragraph control macros</u></h3></a> -<p> -The <strong>PP</strong> being so important, and representing, as -it were, the basis of everything that goes on in a document, its -control is managed in a manner somewhat different from other document -element tags. -<p> -<ol> - <li><a href="#PP_FAMILY">Family control</a> - <li><a href="#PP_FONT">Font control</a> - <li><a href="#PP_COLOR">Paragraph colour</a> - <li><a href="#PP_LEADING">Leading/linespacing control</a> - <li><a href="#PP_JUST_QUAD">Justification/quad control</a> - <li><a href="#PARA_INDENT">First-line indent control</a> - <li><a href="#PARA_INDENT_FIRST">Initial paragraphs indent control</a> - <li><a href="#PP_SPACE">Paragraph spacing control</a> -</ol> - -<a name="PP_FAMILY"><h3><u>1. Family</u></h3></a> -<p> -The paragraph -<a href="definitions.html#TERMS_FAMILY">family</a> -is set with -<a href="typesetting.html#FAMILY">FAMILY</a> -prior to -<a href="docprocessing.html#START">START</a>, -or -<a href="docprocessing.html#DOC_FAMILY">DOC_FAMILY</a> -afterwards. Please note that both globally affect the family of -every element in the document. -<p> -If you wish to change the family for regular -text paragraphs only, invoke <strong>FAMILY</strong> immediately -after <strong>PP</strong> in EVERY paragraph whose family you wish -to differ from the prevailing document family. -<p> -<strong>Mom</strong>'s default paragraph (and document) family -is Times Roman. -<p> - -<a name="PP_FONT"><h3><u>2. Font -- PP_FONT</u></h3></a> -<p> -To change the -<a href="definitions.html#TERMS_FONT">font</a> -used in regular text paragraphs, use <code>.PP_FONT</code>, -which takes the same argument as -<a href="typesetting.html#FONT">FT</a>. -<strong>PP_FONT</strong> may be used before or after -<a href="docprocessing.html#START">START</a>. -Only regular text paragraphs are affected; paragraphs in -<a href="#EPIGRAPH_INTRO">epigraphs</a>, -<a href="#BLOCKQUOTE_INTRO">blockquotes</a> -and -<a href="#FOOTNOTE_INTRO">footnotes</a> -remain at their default setting (medium roman) unless you change them -with the appropriate control macros. -<p> -<strong>Mom</strong>'s default paragraph font is medium roman. -<p> - -<a name="PP_COLOR"><h3><u>3. Paragraph colour</u></h3></a> -<p> -<strong>Mom</strong> has no special control macro for colourizing -paragraphs. If you wish a colourized paragraph, you must use the -macro, -<a href="color.html#COLOR">COLOR</a>, -or the -<a href="definitions.html#TERMS_INLINE">inline escape</a>, -<a href="color.html#COLOR_INLINE">\*[<colorname>]</a>, -<em>after</em> <strong>.PP</strong>. The colour must be one -pre-defined (or "initialized") with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -<p> -Please note that unless you change the colour back to it's default -(usually black) at the end of the paragraph, all subsequent -paragraphs will be set in the new colour, although most other -elements of your document will continue to be set in the default -colour (usually black). -<p> -For example, assuming you have defined the colour, blue, -<p> -<pre> - .PP - .COLOR blue - <first paragraph> - .HEAD "Monty Python" - .SUBHEAD "The Origins of Spam" - .PP - <second paragraph> -</pre> - -the first paragraph will be blue, the head and subhead will be in -the document's default colour (usually black), and the second -paragraph will be in blue. -<p> -The one document element that is affected by changing the colour -of paragraphs are -<a href="#PARAHEAD">paraheads</a>, -since they are attached directly to the body of paragraphs. In -other words, if you change the colour of a paragraph and do not -reset the paragraph colour back to its default, subsequent paraheads -will appear in the same colour as your paragraphs unless you have -explicitly told <strong>mom</strong> you want a pre-defined (or -"initialized") color (usually black) for your paraheads. -<p> -See the footnote to -<a href="#PARAHEAD_COLOR">.PARAHEAD_COLOR</a>. - -<a name="PP_LEADING"><h3><u>4. Leading</u></h3></a> -<p> -The paragraph -<a href="definitions.html#TERMS_LEADING">leading</a> -is set with -<a href="typesetting.html#LEADING">LS</a> -prior to -<a href="docprocessing.html#START">START</a>, -or -<a href="docprocessing.html#DOC_LEAD">DOC_LEAD</a> -afterwards. Please note that either method globally affects the -leading and spacing of every document element (except -<a href="definitions.html#TERMS_HEADER">headers</a> -and -<a href="definitions.html#TERMS_FOOTER">footers</a>). -<p> -If you wish to change the leading of regular text paragraphs only, -invoke <strong>LS</strong> immediately after <strong>PP</strong> in -EVERY paragraph whose leading you wish to change. -<p> -<strong>HYPER-IMPORTANT NOTE:</strong> It is extremely unwise to change -paragraph leading with <strong>LS</strong>, as it will, in all cases, -screw up <strong>mom</strong>'s ability to balance the bottom margin -of pages. Should you absolutely need to change paragraph leading -with <strong>LS</strong>, and subsequently want <strong>mom</strong> -to get back on the right leading track, use the -<a href="docprocessing.html#SHIM">SHIM</a> -macro. -<p> -<strong>Mom</strong>'s default paragraph leading (document leading) -is 16 points, adjusted to fill the page. -<p> - -<a name="PP_JUST_QUAD"><h3><u>5. Justification/quad</u></h3></a> -<p> -The justification/quad-direction of regular text paragraphs (i.e. -<a href="definitions.html#TERMS_JUST">justified</a>, -or -<a href="definitions.html#TERMS_FILLED">filled</a> -and -<a href="definitions.html#TERMS_QUAD">quadded</a> -left/right/centre) is set with -<a href="typesetting.html#JUSTIFY">JUSTIFY</a> -or -<a href="typesetting.html#QUAD">QUAD</a> -prior to -<a href="docprocessing.html#START">START</a>, -and with -<a href="docprocessing.html#DOC_QUAD">DOC_QUAD</a> -afterwards. -<p> -Please note that either method of setting the paragraph -justification/quad-direction also affects -<a href="#EPIGRAPH_INTRO">epigraphs</a> -and -<a href="#FOOTNOTE_INTRO">footnotes</a>, -but not -<a href="#BLOCKQUOTE_INTRO">blockquotes</a> -(whose default is QUAD LEFT unless you change it with -<a href="#BLOCKQUOTE">BLOCKQUOTE_QUAD</a>). -The justification/quad-direction of epigraphs and footnotes may -be changed with their own control macros. -<p> -If you wish to change the justification/quad-direction of -individual paragraphs, use <strong>JUSTIFY</strong> or -<strong>QUAD</strong> immediately after <strong>PP</strong>. -Only the paragraph in question gets justified or quadded -differently; subsequent paragraphs remain unaffected. -<p> -<strong>Mom</strong>'s default justification/quad-direction for -paragraphs is -<br> -<ul> - <li>justified, for - <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a> - <li>quad left, for - <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a> -</ul> -<p> -<a name="PARA_INDENT"><h3><u>6. First-line indent -- PARA_INDENT</u></h3></a> -<p> -The first-line indent of paragraphs is controlled by -<strong>PARA_INDENT</strong>, which takes one argument: the size -of the indent. <strong>PARA_INDENT</strong> may be used before -or after -<a href="docprocessing.html#START">START</a>. -A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -is required; fractional sizes are allowed. Thus, to set the paragraph -indent to 4-1/2 -<a href="definitions.html#TERMS_EM">ems</a>, do -<p> -<pre> - .PARA_INDENT 4.5m -</pre> - -In addition to establishing the basic first line-indent of -paragraphs, <strong>PARA_INDENT</strong> also affects -<a href="#EPIGRAPH_INTRO">epigraphs</a>, -<a href="#QUOTE_INTRO">quotes</a> -and -<a href="#BLOCKQUOTE_INTRO">blockquotes</a>, -whose overall indenting from the left and (where applicable) right -margins is relative to <strong>PARA_INDENT</strong>. Furthermore, the -first-line indent of paragraphs within these document elements (as well -as footnotes) is also relative to <strong>PARA_INDENT</strong> (always -1/2 of <strong>PARA_INDENT)</strong>), hence they are also affected. -<p> -<strong>Mom</strong>'s default <strong>PARA_INDENT</strong> is 2 -ems for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPESET</a> -and 3 picas (1/2 inch) for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE_TYPEWRITE</a>. -<p> - -<a name="PARA_INDENT_FIRST"><h3><u>7. Indenting initial paragraphs -- INDENT_FIRST_PARAS</u></h3></a> -<p> -By default, <strong>mom</strong> does not indent the first paragraph -of a document, nor the first paragraph after a head or -subhead, nor the first paragraphs of -<a href="#EPIGRAPH_INTRO">epigraphs</a>, -<a href="#BLOCKQUOTE_INTRO">blockquotes</a> -or -<a href="#FOOTNOTE_INTRO">footnotes</a> -that run to more than one paragraph. -<a name="INDENT_FIRST_PARAS"></a> -<p> -If you wish to have first paragraphs indented, invoke the macro -<strong>.INDENT_FIRST_PARAS</strong> with no argument, either -before or after -<a href="docprocessing.html#START">START</a>. -<strong>INDENT_FIRST_PARAS</strong> is a toggle macro, therefore -passing it any argument (<strong>OFF, QUIT, Q, X</strong>...) cancels -its effect, meaning that first paragraphs will once again NOT be -indented. -<p> - -<a name="PP_SPACE"><h3><u>8. Spacing paragraphs -- PARA_SPACE</u></h3></a> -<p> -By default, <strong>mom</strong> does not insert a blank line -between paragraphs. If you would like her to do so, invoke the -macro <code>.PARA_SPACE</code> with no argument, either -before or after -<a href="docprocessing.html#START">START</a>. -<strong>PARA_SPACE</strong> is a toggle macro, therefore passing -it any argument (<strong>OFF, QUIT, Q, X</strong>...) cancels its -effect, meaning that paragraphs will once again NOT be separated by -a blank line. -<p> -<strong>NOTE:</strong> If <strong>PARA_SPACE</strong> is on, -<strong>mom</strong> spaces only those paragraphs that come after -an "initial" paragraph. Initial paragraphs are those -that come immediately after the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>, -<a href="#EPIGRAPH_INTRO">epigraphs</a>, -<a href="#HEAD_INTRO">heads</a>, -<a href="#SUBHEAD_INTRO">subheads</a> -and -<a href="#LINEBREAK_INTRO">linebreaks</a>. -(The first paragraph after these document elements requires no -blank line to separate it from other paragraphs.) -<p> -Sometimes, you can be fairly deep into a document before using -<strong>.PP</strong> for the first time, and when you do, because -<strong>mom</strong> is still waiting for that "initial" -paragraph, she doesn't space it with a blank line, even though -you expect her to. The simple workaround for this is to invoke -<strong>.PP</strong> <em>twice</em> (in succession) at the point you -expect the blank line to appear. -<br> -<hr> - -<!====================================================================> - -<a name="HEAD_INTRO"><h2><u>Main heads</u></h2></a> -<ul> - <li><a href="#HEAD">Tag: HEAD</a> - <li><a href="#HEAD_CONTROL">Head control macros</a> -</ul> -<p> -Main heads -- or, in this documentation, just "heads" --- should be used any place you want titles to introduce major -sections of a document. If you wish, <strong>mom</strong> can number -your heads for you. Head numbers can also be included -hierarchically in numbered -<a href="#SUBHEAD_INTRO">subheads</a> -and -<a href="#PARAHEAD_INTRO">paraheads</a>. -<p> -By default, heads are centred on the page, underlined, -all in caps. A double linespace precedes each head. In <a -href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, heads -are bold, slightly larger than paragraph text. -<p> -If these defaults don't suit you, you can change them with the -head control macros. -<p> - -<!---HEAD---> - -<hr width="66%" align="left"> -<p> -<a name="HEAD"> - <nobr>Macro: <strong>HEAD</strong> "<text of head>" [ "<2nd line>" [ "<3rd line>" ... ] ]</nobr> -</a> - -<p> -The argument to <strong>HEAD</strong> is the text of the head, -surrounded by double-quotes. If you need additional lines for a -head, simply surround each line with double-quotes. -<p> -<strong>NOTE:</strong> If a head falls near the bottom of an output page -and <strong>mom</strong> is unable to fit the head <em>plus at least -one line of text underneath it</em>, she will set the head at the -top of the next page. -<p> -<strong>ADDITIONAL NOTE:</strong> If an -<a href="definitions.html#TERMS_INPUTLINE">input line</a> -in a head (i.e. one of the lines surrounded by double-quotes) has -to be broken by <strong>mom</strong> in order to fit the current -line-length (say, a narrow column measure), the head underline -(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 <em>as you want it</em> as a separate argument -(surrounded by double-quotes) to the <strong>HEAD</strong> macro. -<p> -For example, if <strong>mom</strong> breaks -<pre> - .HEAD "This is a very, very, very long head" -</pre> -into -<pre> - This is a very, very, very - long head -</pre> - -you'll see the misbehaving underscore and should change the -argument to <strong>HEAD</strong> to -<pre> - .HEAD "This is a very, very very" "long head" -</pre> - -<a name="HEAD_CONTROL"><h3><u>Head control macros</u></h3></a> -<p> -There are, in addition to the usual family/font/size/quad control -macros, a number of macros to manage head numbering, spacing, -underlining, and so on. Check them out if you're unhappy with -<strong>mom</strong>'s defaults. -<p> -<ol> - <li><a href="#HEAD_GENERAL">Family/font/size/colour/quad</a> - <li><a href="#HEAD_CAPS">Caps</a> - <li><a href="#HEAD_SPACE">Pre-head space</a> - <li><a href="#HEAD_UNDERLINE">Underlining</a> - <li><a href="#NUMBER_HEADS">Numbering</a> - <li><a href="#RESET_HEAD_NUMBER">Reset head numbering</a> - <li><a href="#HEAD_INLINES">Vertical inline escapes inside heads</a> -</ol> -<p> -<a name="HEAD_GENERAL"><h3><u>1. Family/font/size/colour/quad</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.HEAD_FAMILY default = prevailing document family; default is Times Roman -.HEAD_FONT default = bold -.HEAD_SIZE default = +1 (point) -.HEAD_COLOR default = black -.HEAD_QUAD default = CENTER -</pre> - -<a name="HEAD_CAPS"><h3><u>2. Capitalizing heads -- HEAD_CAPS</u></h3></a> -<p> -By default, <strong>mom</strong> sets heads in caps, regardless -of the -<a href="definitions.html#TERMS_STRINGARGUMENT">string(s)</a> -you give to -<a href="#HEAD">HEAD</a>. -To change this behaviour, do -<p> -<pre> - .HEAD_CAPS OFF -</pre> - -<strong>HEAD_CAPS</strong> is a toggle macro, therefore you can use -any argument you like instead of <strong>OFF</strong> (<strong>END, -QUIT, Q, X</strong>...). To turn <strong>HEAD_CAPS</strong> back on, -simply invoke it without an argument. -<p> - -<a name="HEAD_SPACE"><h3><u>3. Space before heads -- HEAD_SPACE</u></h3></a> -<p> -By default, <strong>mom</strong> deposits 2 blank lines prior to every -head. If you'd prefer just a single blank line, do -<p> -<pre> - .HEAD_SPACE OFF -</pre> - -<strong>HEAD_SPACE</strong> is a toggle macro, therefore you can use -any argument you like instead of <strong>OFF</strong> (<strong>END, -QUIT, Q, X</strong>...). To restore the space before heads to 2 -blank lines, invoke <strong>HEAD_SPACE</strong> without an argument. -<p> - -<a name="HEAD_UNDERLINE"><h3><u>4. Underlining heads -- HEAD_UNDERLINE</u></h3></a> -<p> -By default, <strong>mom</strong> underlines heads. To change this -behaviour, do -<p> -<pre> - .HEAD_UNDERLINE OFF -</pre> - -<strong>HEAD_UNDERLINE</strong> is a toggle macro, therefore you can -use any argument you like instead of <strong>OFF</strong> (<strong>END, -QUIT, Q, X</strong>...). To restore underlining of heads, invoke -<strong>HEAD_UNDERLINE</strong> without an argument. -<p> - -<a name="NUMBER_HEADS"><h3><u>5. Number heads -- NUMBER_HEADS</u></h3></a> -<p> -If you'd like your heads numbered, simply invoke -<strong>NUMBER_HEADS</strong> with no argument. <strong>Mom</strong> -will number all subsequent heads automatically (in ascending order, -naturally). -<p> -If, in addition to numbering heads, you also request that -<a href="#SUBHEAD_INTRO">subheads</a> -and/or -<a href="#PARAHEAD_INTRO">paraheads</a> -be numbered, the head number will be included in their numbers -(each number separated by a period [dot]). -<p> -Should you wish to stop head numbering, invoke -<strong>NUMBER_HEADS</strong> with any argument (<strong>OFF, QUIT, -END, X</strong>...). Head numbering will cease, and the head number -will not be included in the numbering of subheads and/or paraheads. -<p> - -<a name="RESET_HEAD_NUMBER"><h3><u>6. Reset head numbering -- RESET_HEAD_NUMBER</u></h3></a> -<p> -Should you wish to reset the head number to "1", invoke -<strong>RESET_HEAD_NUMBER</strong> with no argument. If, for some -reason, you want <strong>mom</strong> to use a head number that is not -the next in ascending order (i.e. the last head number + 1), invoke -<strong>RESET_HEAD_NUMBER</strong> with the number you want, e.g. -<p> -<pre> - .RESET_HEAD_NUMBER 6 -</pre> - -Your next head will be numbered "6" and subsequent heads will -be numbered in ascending order from "6". -<p> - -<a name="HEAD_INLINES"><h3><u>7. Vertical inline escapes inside heads</u></h3></a> -<p> -If you need to adjust the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -position of a head (e.g. the head falls at the top of a column and -you want its -<a href="definitions.html#TERMS_ASCENDER">ascenders</a> -to line up with the ascenders of -<a href="definitions.html#TERMS_RUNNING">running text</a> -in other columns), you can embed a vertical motion -<a href="definitions.html#TERMS_INLINES">inline escape</a> -(either -<a href="inlines.html#INLINE_VERTICAL_MOM">mom</a>'s -or -<a href="inlines.html#INLINE_VERTICAL_GROFF">groff</a>'s -in the string(s) you pass to <strong>HEAD</strong> -<p> -For example, -<p> -<pre> - .HEAD "\[ALD3]Text of head" - or - .HEAD "\[DOWN 3p]Text of head" -</pre> - -will lower the baseline of the head by three points. Note that -there's no need to reverse the sense of the inline escape. -<p> -In the case of heads that run to more than one line, you must embed -the escape in the string for each line, like this: -<p> -<pre> - .HEAD "\[ALD3]First line" "\[ALD3]Next line" - or - .HEAD "\[DOWN 3p]First line" "\[DOWN 3p]Next line" -</pre> -<hr> - -<!====================================================================> - -<a name="SUBHEAD_INTRO"><h2><u>Subheads</u></h2></a> -<ul> - <li><a href="#SUBHEAD">Tag: SUBHEAD</a> - <li><a href="#SUBHEAD_CONTROL">Subhead control macros</a> -</ul> -<p> -Subheads should be used any place you want titles to introduce -sections of a document below heads. If you wish, <strong>mom</strong> -can number subheads for you. Subhead numbers can also be included -hierarchically in numbered -<a href="#PARAHEAD_INTRO">paraheads</a>. -<p> -By default, subheads are flush left. In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -they are set bold, slightly larger than paragraph text. In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -they are underlined. A single linespace precedes them in both -printstyles, and a tiny space adjustment raises them slightly -above text that comes afterwards for greater clarity in -document structuring. -<p> -If these defaults don't suit you, you can change them with the -subhead control macros. -<p> - -<!---SUBHEAD---> - -<hr width="66%" align="left"> -<p> -<a name="SUBHEAD"> - <nobr>Macro: <strong>SUBHEAD</strong> "<text of subhead>" [ "<2nd line>" [ "<3rd line>" ... ] ]</nobr> -</a> -<p> -The argument to <strong>SUBHEAD</strong> is the text of the subhead, -surrounded by double-quotes. If you need additional lines for a -subhead, simply surround each line with double-quotes. -<p> -<strong>NOTE:</strong> If a subhead falls near the bottom of an output -page and <strong>mom</strong> is unable to fit the head <em>plus at -least one line of text underneath it</em>, she will set the subhead -at the top of the next page. - -<a name="SUBHEAD_CONTROL"><h3><u>Subhead control macros</u></h3></a> -<p> -In addition to the usual family/font/size/quad control -macros, there are macros to manage subhead numbering. -<p> -<ol> - <li><a href="#SUBHEAD_GENERAL">Family/font/size/colour/quad</a> - <li><a href="#NUMBER_SUBHEADS">Numbering</a> - <li><a href="#RESET_SUBHEAD_NUMBER">Reset subhead numbering</a> - <li><a href="#SUBHEAD_INLINES">Vertical inline escapes inside subheads</a> -</ol> -<p> -<a name="SUBHEAD_GENERAL"><h3><u>1. Family/font/size/quad</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.SUBHEAD_FAMILY default = prevailing document family; default is Times Roman -.SUBHEAD_FONT default = bold -.SUBHEAD_SIZE default = +.5 (point) -.SUBHEAD_COLOR default = black -.SUBHEAD_QUAD default = LEFT -</pre> - -<a name="NUMBER_SUBHEADS"><h3><u>2. Number subheads -- NUMBER_SUBHEADS</u></h3></a> -<p> -If you'd like your subheads numbered, simply invoke -<strong>.NUMBER_SUBHEADS</strong> with no argument. -<strong>Mom</strong> will number all subsequent subheads automatically -(in ascending order, naturally). -<p> -If, in addition to numbering subheads, you also request that -<a href="#HEAD_INTRO">heads</a> -be numbered, the head number will be included in the subhead number -(separated by a period [dot]). -<p> -Should you wish to stop subhead numbering, invoke -<strong>NUMBER_SUBHEADS</strong> with any argument (<strong>OFF, QUIT, -END, X</strong>...). Subhead numbering will cease, and the subhead -number will not be included in the numbering of paraheads. -<p> - -<a name="RESET_SUBHEAD_NUMBER"><h3><u>3. Reset head numbering -- RESET_SUBHEAD_NUMBER</u></h3></a> -<p> -Should you wish to reset the subhead number to "1", invoke -<strong>RESET_SUBHEAD_NUMBER</strong> with no argument. If, for some -reason, you want <strong>mom</strong> to use a subhead number that is not -the next in ascending order (i.e. the last subhead number + 1), invoke -<strong>RESET_SUBHEAD_NUMBER</strong> with the number you want, e.g. -<p> -<pre> - .RESET_SUBHEAD_NUMBER 4 -</pre> - -Your next subhead will be numbered "4" and subsequent -subheads will be numbered in ascending order from "4". - -<a name="SUBHEAD_INLINES"><h3><u>Vertical inline escapes inside subheads</u></h3></a> -See -<a href="#HEAD_INLINES">Vertical inline escapes inside heads</a>. -The information there applies equally to subheads. -<p> -<hr> - -<!====================================================================> - -<a name="PARAHEAD_INTRO"><h2><u>Paragraph heads</u></h2></a> -<ul> - <li><a href="#PARAHEAD">Tag: PARAHEAD</a> - <li><a href="#PARAHEAD_CONTROL">Parahead control macros</a> -</ul> -<p> -Paragraph heads (paraheads) should be used any place you want titles -to introduce paragraphs below heads or subheads. If you wish, -<strong>mom</strong> can number paraheads for you. -<p> -By default, paraheads are joined to the body of a paragraph, -slightly indented (provided the paragraph is not a -"first" paragraph as defined in -<a href="#PARA_INDENT_FIRST">Indenting initial paragraphs</a>). -In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -they are set bold italic, slightly larger than paragraph text. In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -they are underlined. -<p> -If these defaults don't suit you, you can change them with the -parahead control macros. -<p> - -<!---PARAHEAD---> - -<hr width="66%" align="left"> -<p> -<a name="PARAHEAD"> - <nobr>Macro: <strong>PARAHEAD</strong> "<text of parahead>"</nobr> -</a> -<p> -<strong>PARAHEAD</strong> must come AFTER -<a href="#PP">PP</a> -or it will not work! -<p> -The argument is the text of the parahead, surrounded by double-quotes. -Because paraheads are joined to the body of a paragraph, they accept -only one argument (see -<a href="#HEAD">HEAD</a> -and -<a href="#SUBHEAD">SUBHEAD</a>). -<p> - -<a name="PARAHEAD_CONTROL"><h3><u>Parahead control macros</u></h3></a> -<p> -In addition to the family/font/size/colour/indent control macros, -there are macros to manage parahead numbering. -<p> -<ol> - <li><a href="#PARAHEAD_GENERAL">Family/font/size/color</a> - <li><a href="#PARAHEAD_INDENT">Indent</a> - <li><a href="#NUMBER_PARAHEADS">Numbering</a> - <li><a href="#RESET_PARAHEAD_NUMBER">Reset parahead numbering</a> -</ol> -<p> -<a name="PARAHEAD_GENERAL"><h3><u>1. Family/font/size/colour</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.PARAHEAD_FAMILY default = prevailing document family; default is Times Roman -.PARAHEAD_FONT default = bold italic -.PARAHEAD_SIZE default = +.5 (point) -<a name="PARAHEAD_COLOR">.PARAHEAD_COLOR default = black*</a> - -*If you colourize paragraph text, paraheads will appear in the same -colour as the text unless you explicitly tell mom to colour them -otherwise by invoking .PARAHEAD_COLOR. If you do want paraheads -that are coloured the same as paragraph text, it's generally a good -idea to invoke .PARAHEAD_COLOR anyway (with the same colour used -for paragraph text), just to let mom know. -</pre> - -<a name="PARAHEAD_INDENT"><h3><u>2. Indent</u></h3></a> -<p> -Unlike other control macros that end in -<a href="#CONTROL_INDENTS"><strong>_INDENT</strong></a>, -the argument to the macro that controls indenting of paragraph heads -(<strong>PARAHEAD_INDENT</strong>) is NOT relative to the first-line -indent of normal paragraphs. In other words, it takes an absolute -value, and requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, to set the paragraph head indent to 2-1/2 picas, you -do: -<p> -<pre> - .PARAHEAD_INDENT 2.5P -</pre> -<strong>Mom</strong>'s default indent for paragraph heads is 1/2 -the first-line indent of normal paragraphs (both printstyles). -However, as stated above, if you choose to change the indent, you -must give an absolute value (unless you're a groff expert and want -to manipulate the number register <code>\n[#PP_INDENT]u</code> -arithmetically as the argument to <strong>PARAHEAD_INDENT</strong> -for an indent that's relative to <strong>PP_INDENT</strong>.) -<p> -<strong>NOTE:</strong> Paragraph heads in "first -paragraphs", as defined in -<a href="#PARA_INDENT_FIRST">Indenting initial paragraphs</a>, -are not indented unless you turn -<a href="#INDENT_FIRST_PARAS">INDENT_FIRST_PARAS</a> -on. -<p> - -<a name="NUMBER_PARAHEADS"><h3><u>3. Number paraheads -- NUMBER_PARAHEADS</u></h3></a> -<p> -If you'd like your paraheads numbered, simply invoke -<strong>.NUMBER_PARAHEADS</strong> with no argument. -<strong>Mom</strong> will number all subsequent paraheads automatically -(in ascending order, naturally). -<p> -If, in addition to numbering paraheads, you also request that -<a href="#HEAD_INTRO">heads</a> -and -<a href="#SUBHEAD_INTRO">subheads</a> -be numbered, the head and/or subhead number will be included in the -parahead number (separated by a period [dot]). -<p> -Should you wish to stop parahead numbering, invoke -<strong>NUMBER_PARAHEADS</strong> with any argument (<strong>OFF, -QUIT, END, X</strong>...). Parahead numbering will cease. -<p> - -<a name="RESET_PARAHEAD_NUMBER"><h3><u>4. Reset head numbering -- RESET_PARAHEAD_NUMBER</u></h3></a> -<p> -Should you wish to reset the parahead number to "1", invoke -<strong>RESET_PARAHEAD_NUMBER</strong> with no argument. If, for some -reason, you want <strong>mom</strong> to use a parahead number that is not -the next in ascending order (i.e. the last parahead number + 1), invoke -<strong>RESET_PARAHEAD_NUMBER</strong> with the number you want, e.g. -<p> -<pre> - .RESET_PARAHEAD_NUMBER 7 -</pre> - -Your next parahead will be numbered "7" and subsequent -paraheads will be numbered in ascending order from "7". -<p> -<hr> - -<!====================================================================> - -<a name="LINEBREAK_INTRO"><h2><u>Author linebreaks</u></h2></a> -<ul> - <li><a href="#LINEBREAK">Tag: LINEBREAK</a> - <li><a href="#LINEBREAK_CHAR">Linebreak character control macro</a> -</ul> -<p> -By default, <strong>mom</strong> marks -<a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a> -with three centred asterisks. You can change this behaviour -with the linebreak character -<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a>. -<p> - -<!---LINEBREAK---> - -<hr width="66%" align="left"> -<p> -<a name="LINEBREAK"> - Macro: <strong>LINEBREAK</strong> -</a> -<br> -Alias: <strong>SECTION</strong> - -<p> -<strong>LINEBREAK</strong> takes no arguments. Simply invoke it -(on a line by itself, of course) whenever you want to insert an -author linebreak. The appearance of the linebreak is controlled -by the -<a href="#LINEBREAK_CHAR">LINEBREAK_CHAR</a> -macro. - -<h3><u>Linebreak character control macro</u></h3> -<p> -<a name="LINEBREAK_CHAR"> - <nobr>Macro: <strong>LINEBREAK_CHAR</strong> [ <character> ] [ <iterations> [ <vertical adjustment> ] ]</nobr> -</a> -<br> -Alias: <strong>SECTION_CHAR</strong> -<br> -<em>*The third optional argument requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>. -<p> -<strong>LINEBREAK_CHAR</strong> determines what <strong>mom</strong> -prints when <strong>LINEBREAK</strong> is invoked. It takes 3 -optional arguments: the character you want deposited at the line -break, the number of times you want the character repeated, and a -vertical adjustment factor. -<p> -The first argument is any legal groff character (e.g. <kbd>*</kbd> -[an asterisk], <kbd>\(dg</kbd> [a dagger], <kbd>\f(ZD\N'141\fP</kbd> -[an arbitrary character from Zapf Dingbats], <kbd>\l'4P'</kbd> -[a 4-pica long rule]). <strong>Mom</strong> sets the character -centred on the current line length. (See "man groff_char" -for a list of all legal groff characters.) -<p> -The second argument is the number of times to repeat the character. -<p> -The third argument is a +|- value by which to raise (+) or lower (-) -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 -<a href="definitions.html#TERMS_BASELINE">baseline</a> -(such as asterisks). The argument must be preceded by a plus or -minus sign, and must include a unit of measure. -<p> -If you enter <strong>LINEBREAK_CHAR</strong> with no arguments, -sections of text will be separated by two blank lines when you invoke -<strong>LINEBREAK</strong>. -<p> -<strong>Mom</strong>'s default for <strong>LINEBREAK_CHAR</strong> is -<p> -<pre> - .LINEBREAK_CHAR * 3 -3p -</pre> - -i.e. three asterisks, lowered 3 points from their normal vertical -position (for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>; -the vertical adjustment is -2 points for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>). - -<h3><u>Linebreak colour control macro</u></h3> -<p> -<a name="LINEBREAK_COLOR"> - <nobr>Macro: <strong>LINEBREAK_COLOR</strong> <color name></nobr> -</a> -<p> -To change the colour of the linebreak character(s), simply invoke -<strong>LINBREAK_COLOR</strong> with the name of a pre-defined (or -"initialized") colour. -<br> -<hr> - -<!====================================================================> - -<a name="QUOTE_INTRO"><h2><u>Quotes (line for line)</u></h2></a> -<ul> - <li><a href="#QUOTE">Tag: QUOTE</a> - <li><a href="#QUOTE_CONTROL">Quote control macros</a> -</ul> -<p> -<a href="definitions.html#TERMS_QUOTE">Quotes</a> -are always set in -<a href="definitions.html#TERMS_NOFILL">nofill mode</a>, -flush left. This permits entering quotes on a line for line basis in -your text editor and have them come out the same way on output copy. -(See -<a href="#BLOCKQUOTE_INTRO">Blockquotes</a> -for how quotes, in the present sense, differ from longer -passages of cited text.) -<p> -Since <strong>mom</strong> originally came into being to serve -the needs of creative writers (i.e. novelists, short story -writers, etc. -- not to cast aspersions on the creativity of -mathematicians and programmers), she sets quotes in italics -<a href="docprocessing.html#PRINTSTYLE">(PRINTSTYLE TYPESET)</a> -or underlined -<a href="docprocessing.html#PRINTSTYLE">(PRINTSTYLE TYPEWRITE)</a>, -indented from the left margin. Obviously, she's thinking -"quotes from poetry or song lyrics", but with the -<a href="#QUOTE_CONTROL">quote control macros</a> -you can change her defaults so <strong>QUOTE</strong> serves other -needs, e.g. entering verbatim snippets of programming code, command -line instructions, and so on. (See the -<a href="#QUOTE_TIP">tip</a> -below for suggestions about including programming code snippets in -documents.) -<p> -<a name="QUOTE_SPACING"></a> -Besides indenting quotes, <strong>mom</strong> further sets them -off from -<a href="definitions.html#TERMS_RUNNING">running text</a> -with a small amount of vertical whitespace top and bottom. In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -this is always one full linespace. In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -it's 1/2 of the prevailing -<a href="definitions.html#TERMS_LEADING">leading</a> -if the quote fits fully on the page (i.e. with running text above -and below it), otherwise it's a full linespace either above or below -as is necessary to balance the page to the bottom margin. This -behaviour can be changed with the control macro -<a href="#ALWAYS_FULLSPACE_QUOTES">ALWAYS_FULLSPACE_QUOTES</a>. -<p> -<strong>NOTE:</strong> <strong>ALWAYS_FULLSPACE_QUOTES</strong> -applies to both -<a href="#QUOTE">QUOTE</a> -and -<a href="#BLOCKQUOTE">BLOCKQUOTE</a>, -as does the control macro -<a href="#QUOTE_INDENT">QUOTE_INDENT</a>. -<p> -<strong>Version 1.3: mom</strong>'s handling of the vertical -whitespace around quotes has changed slightly. In versions prior -to 1.3, it was not possible to alter the -<a href="definitions.html#TERMS_LEADING">leading</a> -of quotes and blockquotes (which was the same as the document -leading), ensuring that the vertical whitespace remained consistent, -as described above. In 1.3 and later, it is possible to change the -leading of quotes and blockquote via -the <strong>QUOTE_AUTOLEAD</strong> and -<strong>BLOCKQUOTE_AUTOLEAD</strong>macro. Now, if your quote -(or blockquote) leading differs from the document leading, -<strong>mom</strong> attempts to observe the same rules for vertical -whitespace outlined above; however, she will also insert a small, -flexible amount of extra whitespace around the quotes to make sure -the whitespace is equal, top and bottom. Since she does this on a -quote by quote basis, rather than by figuring out how much extra -whitespace is needed to adjust <em>all</em> quotes on a page, -the spacing around multiple quotes on the same page will differ -slightly, although each will be balanced between lines of normal -<a href="definitions.html#TERMS_RUNNING">running text</a>, -top and bottom. (The inability to scan an entire page and insert -equalized whitespace at marked places is a limitation of groff, -which, by and large, works in a linear, line by line fashion.) -If you don't provide <strong>mom</strong> with a -<strong>QUOTE_AUTOLEAD</strong>, quotes are leaded at the default -for normal running text, meaning that multiple quotes on the same -page are all spaced identically. -<p> -<a name="QUOTE_TIP"><strong>TIP:</strong></a> -If you want to include snippets of programming code in -<strong>mom</strong> documents, you may come acropper of the fact -that groff (and <strong>mom</strong>'s) escape character is the -backslash. In order for <strong>mom</strong> not to interpret -backslashes that occur in code snippets as escapes, you have to -tell <strong>mom</strong> that the backslash character is -(temporarily) no longer the escape character. The easiest way -to do this is to set the escape character to something else for -the duration of the code snippet. You accomplish this with -<strong>ESC_CHAR</strong>, like this: -<p> -<pre> - .ESC_CHAR c -</pre> - -where "c", above, is the alternate escape character -(which should be a character that does not appear in the code). To -set the escape character back to the backslash, simply invoke -<strong>.ESC_CHAR</strong> by itself (i.e. with no argument). -<p> -Because <strong>mom</strong>, by default, sets the text after -<strong>.QUOTE</strong> in italic (for <strong>PRINTSTYLE -TYPESET</strong>) or underlined (for <strong>PRINTSTYLE -TYPEWRITE</strong>), you'll want to change that behaviour as -well. Therefore, a recipe for setting verbatim code snippets using -<strong>QUOTE</strong> could be (assuming you want a fixed width -font like Courier): -<p> -<pre> - \# You only need the first two lines before the first invocation - \# of QUOTE. They stay in effect for all subsequent invocations. - \# - .QUOTE_FONT CR \" Set quote font to Courier roman - .UNDERLINE_QUOTES OFF \" Don't underline quotes in TYPEWRITE - .QUOTE - .ESC_CHAR ^ \" Change escape character to ^ - <code snippet> - .ESC_CHAR \" Restore escape character to \ - .QUOTE OFF - -</pre> - -<!---QUOTE---> - -<hr width="66%" align="left"> -<p> -<a name="QUOTE"> - <nobr>Macro: <strong>QUOTE</strong> toggle</nobr> -</a> - -<p> -<strong>QUOTE</strong> is a toggle macro. To begin a section of -quoted text, invoke it with no argument, then type in your quote. -When you're finished, invoke <strong>QUOTE</strong> with any -argument (e.g. OFF, END, X, Q...) to turn it off. Example: -<p> -<pre> - .QUOTE - Nymphomaniacal Jill - Used a dynamite stick for a thrill - They found her vagina - In North Carolina - And bits of her tits in Brazil. - .QUOTE END -</pre> - -<a name="QUOTE_CONTROL"><h3><u>Quote control macros</u></h3></a> -<ol> - <li><a href="#QUOTE_GENERAL">Family/font/size/leading/colour/indent</a> - <li><a href="#ALWAYS_FULLSPACE_QUOTES">Spacing above and below (typeset only)</a> - <li><a href="#UNDERLINE_QUOTES">Underline quotes (typewrite only)</a> - <li><a href="#BREAK_QUOTE">Manually break a footnoted quote that crosses pages/columns</a> -</ol> -<p> -<a name="QUOTE_GENERAL"><h3><u>1. Family/font/size/colour/indent</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.QUOTE_FAMILY default = prevailing document family; default is Times Roman -.QUOTE_FONT default = italic; underlined in TYPEWRITE -.QUOTE_SIZE default = +0 (i.e. same size as paragraph text) -.QUOTE_AUTOLEAD default = none; leading of quotes is the same as paragraphs -.QUOTE_COLOR default = black -<a name="QUOTE_INDENT">.QUOTE_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite)</a> - (note that this macro also sets the indents (left and right) - for blockquotes) -</pre> - -<a name="ALWAYS_FULLSPACE_QUOTES"><h3><u>2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)</u></h3></a> -<p> -If you'd like <strong>mom</strong> always to put a full linespace above -and below quotes, invoke <strong>.ALWAYS_FULLSPACE_QUOTES</strong> -with no argument. If you wish to restore <strong>mom</strong>'s -default behaviour regarding the spacing of quotes (see -<a href="#QUOTE_SPACING">above</a>), -invoke the macro with any argument (<strong>OFF, QUIT, END, -X</strong>...) -<p> -<strong>NOTE:</strong> This macro also sets <strong>mom</strong>'s -spacing policy for -<a href="#BLOCKQUOTE_INTRO">blockquotes</a>. -<p> - -<a name="UNDERLINE_QUOTES"><h3><u>3. Underlining -- UNDERLINE_QUOTES (typewrite only)</u></h3></a> -<p> -By default in -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>mom</strong> underlines quotes. If you'd rather she didn't, -invoke <strong>.UNDERLINE_QUOTES</strong> with any argument -(<strong>OFF, QUIT, END, X</strong>...) to disable the feature. -Invoke it without an argument to restore <strong>mom</strong>'s -default underlining of quotes. -<p> -If you not only wish that <strong>mom</strong> not underline -quotes, but also that she set them in italic, you must follow each -instance of <strong>QUOTE</strong> with the typesetting macro <a -href="typesetting.html#FONT">FT I</a>. -Furthermore, since <strong>mom</strong> underlines all instances -of italics by default in <strong>PRINTSTYLE TYPEWRITE</strong>, -you must also make sure that <strong>ITALIC_MEANS_ITALIC</strong> -is enabled (see -<a href="docprocessing.html#TYPEWRITE_CONTROL">PRINTSTYLE TYPEWRITE control macros</a>). -<p> - -<a name="BREAK_QUOTE"><h3><u>4. Manually break a footnoted quote -- BREAK_QUOTE</u></h3></a> -<p> -<strong>NOTE:</strong> <em>As of version 1.1.9, the macro</em> -<strong>BREAK_QUOTE</strong> <em>has become obsolete (or, at least, -should have become obsolete.) It remains here for backward -compatibility with documents created prior to 1.1.9, and just in -case, despite my efforts to make it obsolete, you still encounter the -problem it's supposed to fix. Should you find yourself having to -use</em> <strong>BREAK_QUOTE</strong> <em>while running</em> <strong>mom</strong> -1.1.9 <em>or higher, please notify me immediately.</em> - -<p> -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 -the footnote itself may appear on the wrong page or at the bottom of -the wrong column. When this happens, study your output to determine -the precise point at which the quote breaks (or at which you want -it to break), and add <code>.BREAK_QUOTE</code> on a line by itself -afterwards. No other intervention is required, and the footnote(s) -will be marked correctly and appear on the correct page. -<p> -<strong>BREAK_QUOTE</strong> may be used with both quotes and -blockquotes, and hence is aliased as <strong>BREAK_BLOCKQUOTE, -BREAK_CITATION</strong> and <strong>BREAK_CITE</strong>. -<p> -<hr> - -<!====================================================================> - -<a name="BLOCKQUOTE_INTRO"><h2><u>Blockquotes (cited passages)</u></h2></a> -<ul> - <li><a href="#BLOCKQUOTE">Tag: BLOCKQUOTE (aliases: CITE, CITATION)</a> - <li><a href="#BLOCKQUOTE_CONTROL">BLOCKQUOTE control macros</a> -</ul> -<p> -<strong>BLOCKQUOTES</strong> are used to cite passages from another -author's work. So that they stand out well from -<a href="definitions.html#TERMS_RUNNING">running text</a>, -<strong>mom</strong> indents them from both the left and right margins -and sets them in a different point size -<a href="docprocessing.html#PRINTSTYLE">(PRINTSTYLE TYPESET</a> -only). -<a href="definitions.html#TERMS_OUTPUTLINE">Output lines</a> -are -<a href="definitions.html#TERMS_FILLED">filled</a>, -and, by default, -<a href="definitions.html#TERMS_QUAD">quadded</a> -left. -<p> -Besides indenting blockquotes, <strong>mom</strong> further sets them -off from running text with a small amount of vertical whitespace top -and bottom. (See -<a href="#QUOTE_SPACING">above</a> -for a complete explanation of how this is managed, and how to control it. -Be sure to read the section <strong>Version 1.3</strong>.) -<p> - -<!---BLOCKQUOTE---> - -<hr width="66%" align="left"> -<p> -<a name="BLOCKQUOTE"> - <nobr>Macro: <strong>BLOCKQUOTE</strong> toggle</nobr> - <br> - Aliases: <strong>CITE, CITATION</strong> -</a> - -<p> -<strong>BLOCKQUOTE</strong> is a toggle macro. To begin a -cited passage, invoke the tag with no argument, then type in your quote. -When you're finished, invoke <strong>BLOCKQUOTE</strong> with any -argument (e.g. OFF, END, X, Q...) to turn it off. Example: -<p> -<pre> - .BLOCKQUOTE - Redefining the role of the United States from enablers to keep - the peace to enablers to keep the peace from peacekeepers is - going to be an assignment. - .RIGHT - \(emGeorge W. Bush - .BLOCKQUOTE END -</pre> - -If the cited passage runs to more than one paragraph, you MUST -introduce each paragraph -- <em>including the first!</em> -- -with -<a href="#PP">PP</a>. -<p> -<strong>NOTE:</strong> The aliases <strong>CITE</strong> -and <strong>CITATION</strong> may be used in place of the -<strong>BLOCKQUOTE</strong> tag, as well as in any of the control -macros that begin with <strong>BLOCKQUOTE_</strong> or end with -<strong>_BLOCKQUOTE</strong>. - -<a name="BLOCKQUOTE_CONTROL"><h3><u>Blockquote control macros</u></h3></a> -<ol> - <li><a href="#BLOCKQUOTE_GENERAL">Family/font/size/leading/colour/quad/indent</a> - <li><a href="#ALWAYS_FULLSPACE_QUOTES">Spacing above and below (typeset only)</a> - <li><a href="#BREAK_QUOTE">Manually break a footnoted blockquote that crosses pages/columns</a> -</ol> -<p> -<a name="BLOCKQUOTE_GENERAL"><h3><u>1. Family/font/size/colour/quad/indent</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.BLOCKQUOTE_FAMILY default = prevailing document family; default is Times Roman -.BLOCKQUOTE_FONT default = roman -.BLOCKQUOTE_SIZE default = -1 (point) -.BLOCKQUOTE_AUTOLEAD default = none; leading of blockquotes is the same as paragraphs -.BLOCKQUOTE_COLOR default = black -.BLOCKQUOTE_QUAD default = left -.BLOCKQUOTE_INDENT default = paragraph indent x 3 (typeset); x 2 (typewrite)</a> - (note that this macro also sets the left indent for quotes) -</pre> - -<a name="ALWAYS_FULLSPACE_QUOTES"><h3><u>2. Spacing above and below -- ALWAYS_FULLSPACE_QUOTES (typeset only)</u></h3></a> -<p> -If you'd like <strong>mom</strong> always to put a full linespace above -and below blockquotes, invoke <strong>.ALWAYS_FULLSPACE_QUOTES</strong> -with no argument. If you wish to restore <strong>mom</strong>'s -default behaviour regarding the spacing of blockquotes (see -<a href="#QUOTE_SPACING">above</a>), -invoke the macro with any argument (<strong>OFF, QUIT, END, -X</strong>...). -<p> -<strong>NOTE:</strong> This macro also sets <strong>mom</strong>'s -spacing policy for -<a href="#QUOTE_INTRO">quotes</a>. -<p> -<hr> - -<!====================================================================> - -<a name="LIST_INTRO"><h2><u>Nested lists</u></h2></a> -<ul> - <li><a href="#LIST">Tag: LIST</a> - <li><a href="#ITEM">Tag: ITEM</a> - <li><a href="#LIST_CONTROL">LIST control macros</a> -</ul> -<p> -Lists are points or items of interest or importance that are -separated from -<a href="definitions.html#TERMS_RUNNING">running text</a> -by enumerators. Some typical enumerators are -<a href="definitions.html#TERMS_EM">en-dashes</a>, -<a href="definitions.html#TERMS_BULLET">bullets</a>, -digits and letters. -<p> -Setting lists with <strong>mom</strong> is easy. First, you -initialize a list with the <strong>LIST</strong> macro. Then, for -every item in the list, you invoke the macro, <strong>ITEM</strong>, -followed by the text of the item. When a list is finished, you -exit the list with <strong>LIST OFF</strong> (or -<strong>QUIT</strong>, <strong>END</strong>, <strong>BACK</strong>, -etc.) -<p> -By default <strong>mom</strong> starts each list with the enumerator -flush with the left margin of running text that comes before it, -like this: -<p> -<pre> - My daily schedule needs organizing. I can't - seem to get everything done I want. - o an hour's worth of exercise - o time to prepare at least one healthy - meal per day - o reading time - o work on mom - o writing - - changes from publisher - - current novel - o a couple of hours at the piano -</pre> - -In other words, <strong>mom</strong> does not, by default, indent -entire lists. Indenting a list is controlled by the macro, -<a href="#SHIFT_LIST">SHIFT_LIST</a>. -(This is a design decision; there are too many instances where a -default indent is not desirable.) Equally, <strong>mom</strong> -does not add any extra space above or below lists. -<p> -Lists can be nested (as in the example above). In other words, you -can set lists within lists, each with an enumerator (and possibly, -indent) of your choosing. In nested lists, each invocation of -<strong>LIST OFF</strong> (you may prefer to use <strong>LIST -BACK</strong>) takes you back to the previous depth (or -level) of list, with that list's enumerator and indent intact. The -final <strong>LIST OFF</strong> exits lists completely and returns -you to the left margin of running text. -<p> -Finally, lists can be used in documents created with either the -document processing macros or just the typesetting macros. -<p> - -<!---LIST---> - -<hr width="66%" align="left"> -<p> -<a name="LIST"> - <nobr>Macro: <strong>LIST</strong> [ BULLET | DASH | DIGIT | ALPHA | alpha | ROMAN<n> | roman<n> | USER <string>] [ <separator> | <user-defined enumerator> ] [ <prefix> ] [ <off> ]</a></nobr> -<p> -Invoked by itself (i.e. with no argument), <strong>LIST</strong> -initializes a list (with bullets as the default enumerator). -Afterwards, each block of input text preceded by -<a href="#ITEM">.ITEM</a>, -on a line by itself, is treated as a list item. -<p> -<strong>NOTE:</strong> Every time you invoke <strong>LIST</strong> -to start a list (as opposed to -<a href="#LIST_EXIT">exiting one</a>), -you must supply an enumerator (and optionally, a separator) for the -list, unless you want <strong>mom</strong>'s default enumerator, -which is a bullet. Within nested lists, <strong>mom</strong> -stores the enumerator, separator and indent for any list you return -<em>backwards</em> to (i.e. with <strong>LIST OFF</strong>), but -does not store any information for lists you move <em>forward</em> -to. -<br> - -<h3><u>The first argument--enumerator style</u></h3> -<p> -The optional arguments <strong>BULLET</strong>, -<strong>DASH</strong>, <strong>DIGIT</strong> (for -Arabic numerals), <strong>ALPHA</strong> (for uppercase -letters), <strong>alpha</strong> (for lowercase letters), -<strong>ROMAN<n></strong> (for uppercase roman numerals), -<strong>roman<n></strong> (for lowercase roman numerals) tell -<strong>mom</strong> what kind of enumerator to use for a given -list. -<p> -The arguments, <strong>ROMAN<n></strong> and -<strong>roman<n></strong>, are special. You must append to -them a digit (arabic, e.g. "1" or "9" or "17") saying how many items -a particular roman-numeralled <strong>LIST</strong> is going to -have. <strong>Mom</strong> requires this information in order to -align roman numerals sensibly, and will abort--with a message--if -you don't provide it. -<p> -A roman-numeralled list containing, say, five items, would be set -up like this: -<p> -<pre> - .LIST roman5 producing i) Item 1. - .ITEM ii) Item 2. - Item 1. iii) Item 3. - .ITEM iv) Item 4. - Item 2. v) Item 5. - .ITEM - Item 3 - .ITEM - Item 4 - .ITEM - Item 5 -</pre> - -<p> -The argument, <strong>USER</strong>, lets you make up your own -enumerator, and must be followed by a second argument: what you'd -like the enumerator to look like. For example, if you want a list -enumerated with -<strong>=></strong>, -<p> -<pre> - .LIST USER => - .ITEM - A list item -</pre> - -will produce -<p> -<pre> - => A list item -</pre> - -<strong>Please note:</strong> if the argument to -<strong>USER</strong> contains spaces, you must enclose the argument -in double quotes. - -<br> - -<h3><u>The second argument--separator style</u></h3> -<p> -If you choose <strong>DIGIT</strong>, <strong>ALPHA</strong>, -<strong>alpha</strong>, <strong>ROMAN<n></strong>, or -<strong>roman<n></strong>, you may enter the optional -argument, <strong>separator</strong>, to say what kind of separator -you want after the enumerator. The separator can be anything you -like. The default for <strong>DIGIT</strong> is a period (dot), -like this: -<p> -<pre> - 1. A list item -</pre> - -The default separator for <strong>ALPHA</strong>, -<strong>alpha</strong>, <strong>ROMAN<n></strong> and -<strong>roman<n></strong> is a right parenthesis, like this: -<p> -<pre> - a) An alpha-ed list item - b) A second alpha-ed list item - - or - - i) A roman-ed list item - ii) A second roman-ed item -</pre> - -If you'd prefer, say, digits with right-parenthesis separators -instead of the default period, you'd do -<p> -<pre> - .LIST DIGIT ) - .ITEM - A numberd list item -</pre> - -which would produce -<p> -<pre> - 1) A numbered list item -</pre> - -<strong>Please note: BULLET</strong>, <strong>DASH</strong> and -<strong>USER</strong> do not take a separator. -<br> - -<h3><u>The third argument--prefix style</u></h3> -<p> -Additionally, you may give a prefix (i.e. a character that comes -<em>before</em> the enumerator) when your enumerator style for a -particular list is <strong>DIGIT</strong>, <strong>ALPHA</strong>, -<strong>alpha</strong>, <strong>ROMAN<n></strong> -or <strong>roman<n></strong>. In the arguments to -<strong>LIST</strong>, the prefix comes <em>after</em> the -separator, which may seem counter-intuitive, so please be careful. -<p> -A prefix can be anything you like. Most likely, you'll want some -kind of open-bracket, such as a left parenthesis. If, for example, -you want a <strong>DIGIT</strong> list with the numbers enclosed in -parentheses, you'd enter -<p> -<pre> - .LIST DIGIT ) ( - .ITEM - The first item on the list. - .ITEM - The second item on the list. -</pre> - -which would produce -<p> -<pre> - (1) The first item on the list. - (2) The second item on the list. -</pre> - -<strong>Please note: BULLET</strong>, <strong>DASH</strong> and -<strong>USER</strong> do not take a prefix. -<br> - -<a name="LIST_EXIT"></a> -<h3><u>Exiting lists--.LIST OFF/BACK or .QUIT_LISTS</u></h3> -<p> -Any single argument to <strong>LIST</strong> other -than <strong>BULLET</strong>, <strong>DASH</strong>, -<strong>DIGIT</strong>, <strong>ALPHA</strong>, -<strong>alpha</strong>, <strong>ROMAN<n></strong>, -<strong>roman<n></strong> or <strong>USER</strong> (e.g. -<strong>LIST</strong> <kbd>OFF</kbd> or <strong>LIST</strong> -<kbd>BACK</kbd>) takes you out of the current list. -<p> -If you are at the first list-level (or "list-depth"), -<strong>mom</strong> returns you to the left margin of running text. -Any indents that were in effect prior to setting the list are fully -restored. -<p> -If you are in a nested list, <strong>mom</strong> moves you -<em>back one list-level</em> (i.e. does not take you out of the -list structure) and restores the enumerator, separator and indent -appropriate to that level. -<p> -Each invocation of <strong>LIST</strong> should be be matched by -a corresponding <strong>LIST OFF</strong> in order to fully exit -lists. For example, -<p> -<pre> - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. - o List item in level 1 - o List item in level 1 - - List item in level 2 - - List item in level 2 - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. -</pre> - -is created like this: -<p> -<pre> - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. - .LIST BULLET - .ITEM - List item in level 1 - .ITEM - List item in level 1 - .LIST DASH - .ITEM - List item in level 2 - .ITEM - List item in level 2 - .LIST OFF \" Turn level 2 list off - .LIST OFF \" Turn level 1 list off - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. -</pre> - -Alternatively, you may use the single-purpose macro, -<strong>QUIT_LISTS</strong>, to get yourself out of a list -structure. In the example above, the two <kbd>.LIST OFF</kbd> -lines could be replaced with a single <kbd>.QUIT_LISTS</kbd>. -<p> - -<hr width="33%" align="left"> -<p> -<a name="ITEM"> - Macro: <strong>ITEM</strong> -<p> -After you've initialized a list with -<a href="#LIST">LIST</a>, -precede each item you want in the list with <strong>ITEM</strong>. -<strong>Mom</strong> takes care of everything else with respect to -setting the item appropriate to the list you're in. -<p> -In document processing, it is legal to have list items that contain -multiple paragraphs. Simply issue a -<a href="#PP">PP</a> -request for each paragraph <em>following</em> the first item. -I.e., don't do this: -<p> -<pre> - .ITEM - .PP - Some text... - .PP - A second paragraph of text -</pre> - -but rather -<p> -<pre> - .ITEM - Some text... - .PP - A second paragraph of text -</pre> -<hr width="33%" align="left"> - -<a name="LIST_CONTROL"><h3><u>List control macros</u></h3></a> -<ol> - <li><a href="#SHIFT_LIST">Indenting lists (SHIFT_LIST)</a> - <li><a href="#RESET_LIST">Resetting an initialized list's enumerator (RESET_LIST)</a> - <li><a href="#PAD_LIST_DIGITS">Padding digit enumerators (PAD_LIST_DIGITS)</a> -</ol> - -<a name="SHIFT_LIST"><h3><u>1. Indenting lists -- SHIFT_LIST</u></h3></a> -<p> -If you want a list to be indented to the right of running text, or -indented to the right of a current list, use the macro -<strong>SHIFT_LIST</strong> immediately after -<a href="#LIST">LIST</a>. -<strong>SHIFT_LIST</strong> takes just one argument: the amount by -which you want the list shifted to the right. The argument requires -a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, -<p> -<strong>SHIFT_LIST</strong> applies <em>only</em> to the list you -just initialized with <strong>LIST</strong>. It does not carry -over from one invocation of <strong>LIST</strong> to the next. -However, the indent remains in effect when you <em>return</em> to a -list level in a nested list. -<p> -For example, if you want a 2-level list, with each list indented to -the right by 18 -<a href="definitions.html#TERMS_PICASPOINTS">points</a>, -<p> -<pre> - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. - .LIST \" List 1 - .SHIFT_LIST 18p \" Indent 18 points right of running text - .ITEM - List 1 item - .ITEM - List 1 item - .LIST DASH \" List 2 - .SHIFT_LIST 18p \" Indent 18 points right of list 1 - .ITEM - List 2 item - .ITEM - List 2 item - .LIST OFF \" Move back to list 1 - .ITEM - List 1 item - .ITEM - List 1 item - .LIST OFF \" Exit lists - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. -</pre> - -produces (approximately) -<p> -<pre> - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. - o List 1 item - o List 1 item - - List 2 item - - List 2 item - o List 1 item - o List 1 item - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore. -</pre> - -<a name="RESET_LIST"><h3><u>2. Resetting an initialized list's enumerator -- RESET_LIST</u></h3></a> -<p> -In nested lists, if your choice of list enumerator for a given -level of list is <strong>DIGIT</strong>, <strong>ALPHA</strong>, -<strong>alpha</strong>, <strong>ROMAN</strong> or -<strong>roman</strong>, you may sometimes want to reset the list's -enumerator when you return to that list. Consider the following: -<p> -<pre> - Things to do religiously each and every day: - 1. Take care of the dog - a) walk every day - b) brush once a week - - trim around the eyes every fourth brushing - - don't forget to check nails - 2. Feed the cat - a) soft food on Mon., Wed. and Fri. - b) dry food on Tues., Thurs. and Sat. - c) canned tuna on Sunday -</pre> - -Normally, within a nested list, when you return to an -incrementally-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 <strong>ITEM</strong>!-- -with the macro, <strong>RESET_LIST</strong>. -<p> -By default, with no argument, <strong>RESET_LIST</strong> resets the -enumerator to 1, A, a, I or i depending on the style of enumerator. -You may, if you wish, pass <strong>RESET_LISTS</strong> a numeric -argument representing the starting enumerator for the reset (if -different from "1"), although I can't at present think of a use for -this feature. -<p> -<a name="PAD_LIST_DIGITS"><h3><u>3. Padding digit enumerators (PAD_LIST_DIGITS)</a></u></h3></a> -<p> -<strong><u>Arabic digits</u></strong> -<p> -When your choice of enumerators is <strong>DIGIT</strong> AND the -number of items in the list exceeds nine (9), you have to make a -design decision: should <strong>mom</strong> leave room for the -extra numeral in two-numeral digits to the right or the left of -the single-numeral digits? -<p> -If you want the extra space to the right, invoke the macro, -<strong>.PAD_LIST_DIGITS</strong> (with no argument), after -<strong>LIST</strong> and before <strong>ITEM</strong>. This will -produce something like -<p> -<pre> - 8. List item - 9. List item - 10. List item -</pre> - -If you want the extra space to the left, invoke -<strong>PAD_LIST_DIGITS</strong> with the single argument, -<strong>LEFT</strong>, which will produce -<p> -<pre> - 8. List item - 9. List item - 10. List item -</pre> - -Of course, if the number of items in the list is less than ten -(10), there's no need for <strong>PAD_LIST_DIGITS</strong>. -<p> -<strong><u>Roman numerals</u></strong> -<p> -By default, <strong>mom</strong> sets roman numerals in lists flush -left. The <strong><n></strong> argument appended to -<strong>ROMAN<n></strong> or <strong>roman<n></strong> -allows her to calculate how much space to put after each numeral in -order to ensure that the text of items lines up properly. -<p> -If you'd like the roman numerals to line up flush right (i.e. be -padded "left"), simply invoke <strong>PAD_LIST_DIGITS</strong> -<kbd>LEFT</kbd> after <strong>LIST</strong> <kbd>ROMAN<n></kbd> -or <strong>LIST</strong> <kbd>roman<n></kbd> amd before -<strong>ITEM</strong>. -<p> -<hr> - -<!---LINE NUMBERING---> - -<a name="NUMBER_LINES_INTRO"><h2><u>Line numbering</u></h2></a> -<ul> - <li><a href="#NUMBER_LINES">Macro: NUMBER_LINES</a> - <li><a href="#NUMBER_LINES_CONTROL">Control macros</a> (for quotes and blockquotes) -</ul> - -<p> -<strong>Mom</strong>'s line-numbering capabilities are not as flexible -as most of her other document processing macros. The reason is -that groff's underlying line-numbering -<a href="definitions.html#TERMS_PRIMITIVEX">primitive</a>, -<kbd>.nm</kbd>, is, well...primtive. It is not possible, for -example, to select a particular family or font for use exclusively -with line numbers. Nor is it possible to set the -<a href="definitions.html#TERMS_GUTTER">gutter</a> -using any -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -other than the -<a href="definitions.html#TERMS_FIGURESPACE">figure space</a>. -<p> -That said, when you turn line-numbering on, <strong>mom</strong>, -by default -<br> -<a name="NUMBER_LINES_DEFAULTS"></a> -<ul> - <li>numbers every line of paragraph text; line-numbering is - suspended for all other document processing tags (like - docheaders, epigraphs, heads, subheads, etc.) and special - pages (covers, endotes, bibliographies, etc.); be aware, - though, that if you turn - <a href="definitions.html#TERMS_DOCHEADER">docheaders</a> - off (with - <a href="docprocessing.html#DOCHEADER">DOCHEADER</a> <strong>OFF</strong>) - and create your own docheader, <strong>mom</strong> - <em>will</em> line-number your custom docheader - <li>doesn't touch your line length; line numbers are hung - outside your current left margin (as set with - <a href="typesetting.html#L_MARGIN">L_MARGIN</a>, - <a href="typesetting.html#PAGE">PAGE</a> - or - <a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>), - regardless of any indents that may be active - <li>separates line numbers from running text by two - <a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a>. -</ul> -<p> -Line numbering may be enabled and disabled for -<a href="#QUOTE">QUOTE</a> -and/or -<a href="#BLOCKQUOTE">BLOCKQUOTE</a> -in one of three styles. See -<a href="#NUMBER_LINES_CONTROL">Line numbering control macros for quotes and blockquotes</a>. -<p> -The first time you invoke -<a href="#NUMBER_LINES">NUMBER_LINES</a> -you must, at a minimum, tell it what line number you want the -<em>next</em> -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a> -to have. Optional arguments allow you to state which lines should -be numbered (e.g. every five or every ten lines), and the gutter to -place between line numbers and -<a href="definitions.html#TERMS_RUNNING">running text</a>. -<p> -Subsequently, you can turn line-numbering off, either permanently, -or resume it later at a place of your choosing. When you -resume line-numbering, the line numbers pick up where you left off. -<p> - -<!---NUMBER_LINES---> - -<hr width="66%" align="left"> -<p> -<nobr> -<a name="NUMBER_LINES"> - <nobr>Macro: <strong>NUMBER_LINES</strong> <start number> [ <which lines to number> [ <gutter> ] ]</nobr> - <br> - <nobr>Macro: <strong>NUMBER_LINES</strong> <anything> | RESUME</nobr> - <br> -</a> -</nobr> - -<p> -<strong>NUMBER_LINES</strong> does what it says: prints line -numbers, to the left of -<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a> -of paragraph text. One of the chief reasons for wanting numbered -lines is in order to identify footnotes or endnotes by line number -instead of by a marker in the text. (See -<a href="#FOOTNOTE_LINENUMBERS">.FOOTNOTE_MARKER_STYLE LINE</a> -for instructions on line-numbered footnotes, and -<a href="#ENDNOTE_MARKER_STYLE">.ENDNOTE_MARKER_STYLE</a> -for instructions on line-numbered endnotes.) -<p> -Every time you invoke <strong>NUMBER_LINES</strong>, unless you are -using the arguments <strong>OFF</strong> (<strong>QUIT</strong>, -<strong>END</strong>, <strong>X</strong>, etc.) or -<strong>RESUME</strong> you must, at a minimum, pass it one -argument, namely the number (digit) you want the <em>next</em> -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a> -to have. For example, -<pre> - .NUMBER_LINES 3 -</pre> - -will prepend the number, 3, to the next output line. -<p> -Normally, of course, you will number lines of text starting at 1. -All you have to do in that case is ensure that -<pre> - .NUMBER_LINES 1 -</pre> - -precedes your first line of input text, which will also be the -first line of output text. -<p> -You can alter <strong>mom</strong>'s default line numbering -behaviour (see -<a href="#NUMBER_LINES_DEFAULT">above</a>) -with the optional arguments <strong><which lines to -number></strong> and <strong><gutter></strong>. -<p> -<strong><which lines to number></strong> instructs -<strong>NUMBER_LINES</strong> to number only certain lines, e.g. -every two lines or every five lines. If you want, say, only every -five lines to have a prepended number, you'd do -<pre> - .NUMBER_LINES 1 5 -</pre> - -<strong>GOTCHA!</strong> The argument to <strong><which -lines to number></strong> only numbers those lines that are -multiples of the argument. Hence, in the above example, line -number "1" will <em>not</em> be numbered, since "1" is not a -multiple of "5". -<p> -If you wanted line number "1" to be numbered, you'd have to invoke -<kbd>.NUMBER_LINES 1 1</kbd> before the first output line, then -study your <em>output</em> copy and determine where best to insert -the following in your <em>input</em> copy: -<pre> - .NUMBER_LINES \n(ln 5 -</pre> - -(The escape, <kbd>\n(ln</kbd>, ensures that -<strong>NUMBER_LINES</strong> automatically supplies the correct -value for the first argument, <strong><start -number></strong>.) -<p> -Following this recipe, line number 1 will be numbered; subsequently, -only line numbers that are multiples of 5 will be numbered. A -little experimentation may be required to determine the best place -for it. -<p> -The optional argument, <strong><gutter></strong>, tells -<strong>mom</strong> how much space to put between the line numbers -and the running text. -<p> -<strong>Note</strong>: when giving a value for -<strong><gutter></strong>, you cannot skip the -<strong><which lines to number></strong> argument. Either -fill in the desired value, or use two double-quotes -(<strong>""</strong>) to have <strong>mom</strong> use the value -formerly in effect. -<p> -<strong><gutter></strong> does not require (or even accept) a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -The argument you pass to it is the number of -<a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a> -you want between line numbers and running text. -<strong>Mom</strong>'s default gutter is two figure spaces. If -you'd like a wider gutter, say, four figures spaces, you'd do -<pre> - .NUMBER_LINES 1 1 4 - | - +-- Notice you *must* supply a value - for the 2nd argument in order to supply - a value for the 3rd. -</pre> - -<p> -After you've set up line-numbering, <strong>NUMBER_LINES</strong> -can be used to control line numbering. -<br> -<h3><u>Line-numbering control</u></h3> -<p> -<strong>NUMBER_LINES OFF</strong> (or <strong>END, QUIT, X,</strong> etc.) -turns line-numbering off. -<p> -Sometimes, you merely want to suspend line-numbering. In that case, -turn line numbering off with <strong>NUMBER_LINES OFF</strong>. -Later, when you want it to resume, enter -<pre> - .NUMBER_LINES RESUME -</pre> - -Line numbering will resume exactly where it left off. If this is -not what you want--say you want to reset the line number to "1"--simply -invoke <strong>NUMBER_LINES</strong> with whatever arguments -are needed for the desired result. -<p> -<strong>Extra Notes:</strong> -<br> -<ol> - <li>In document processing, you may invoke <strong>NUMBER_LINES</strong> - either before or after <strong>START</strong>. - <strong>Mom</strong> doesn't care. - <li>If you're collating documents with - <a href="rectoverso.html#COLLATE">COLLATE</a>, - you should re-invoke, at a minimum, <kbd>.NUMBER_LINES - 1</kbd> for each collated document, in order to ensure that - each begins with the number "1" prepended to the first line - (unless, of course, that is not what you want). - <li>Occasionally, you may want to change the current gutter - between line numbers and running text without knowing - what the next output line number should be. Since - <strong>NUMBER_LINES</strong> requires this number - as its first argument, in such instances, pass - <strong>NUMBER_LINES</strong> as its first argument the - escape <kbd>\n(ln</kbd>. - <p> - For example, if you were numbering every 5 lines with a - gutter of 2 (figure spaces) and you needed to change the - gutter to 4 (figures spaces), - <p> - <kbd> .NUMBER_LINES \n(ln 5 4</kbd> - <p> - would do the trick. - <li>If you're using margin notes in a document, be sure to set - the gutter for margin notes wide enough to allow room for - the line numbers. - <li><strong>Mom</strong> (groff, actually), only numbers lines - <em>to the left of text</em>. For aesthetic reason, - therefore, the use of line numbering when setting a document - in columns is discouraged. However, should you wish to - number lines when setting in columns, make sure the - <a href="definitions.html#TERMS_GUTTER">gutter(s)</a> - between columns is wide enough to leave room for the - numbers. -</ol> -<hr width="33%" align="left"> - -<a name="NUMBER_LINES_CONTROL"><h3><u>Line numbering control macros for QUOTE and BLOCKQUOTE</u></h3></a> -<ol> - <li><a href="#NUMBER_QUOTE_LINES">NUMBER_QUOTE_LINES</a> - <li><a href="#NUMBER_BLOCKQUOTE_LINES">NUMBER_BLOCKQUOTE_LINES</a> - <li><a href="#NUMBER_LINES_QUOTES">Setting up line numbering in quotes and blockquotes on a case by case basis</a> -</ol> - -<a name="NUMBER_QUOTE_LINES"><h3><u>1. NUMBER_QUOTE_LINES</u></h3></a> -<p> -If you'd like <strong>mom</strong> to number lines of output text -in a -<a href="#QUOTE">QUOTE</a> -as part of the same order and sequence as paragraph text, simply -invoke <strong>NUMBER_QUOTE_LINES</strong> by itself. -<p> -There is a catch with numbering quotes, though. Owing to groff's -restriction of accepting only the figure space as the line number -gutter's unit of measure, it is not possible for line numbers -in quotes to hang outside a document's overall left margin and -be reliably flush with the line numbers of paragraph text. -Conseqently, line numbers in quotes hang to the left of the quote, -separated from the quote by the <strong><gutter></strong> -argument. -<p> -If you'd like to change the gutter for quotes line-numbered in -this way, invoke <strong>NUMBER_QUOTE_LINES</strong> with a digit -representing the number of -<a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a> -you'd like between the line numbers and the quoted text, like this: -<pre> - .NUMBER_QUOTE_LINES 1 -</pre> - -With the above, line numbers in quotes (and only quotes) will have -a gutter of 1 figure space. -<p> -If you are using "line numbering style" for footnotes -(<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> <strong>LINE</strong>), -you may not wish to have quotes <em>visibly</em> line-numbered, but -still want to embed footnotes inside quotes. In order to do that, -<strong>mom</strong> allows you to say <strong>NUMBER_QUOTE_LINES -SILENT</strong>. -<p> -When you invoke <strong>NUMBER_QUOTE_LINES</strong> -<kbd>SILENT</kbd>, <strong>mom</strong> continues to increment line -numbers while quotes are being output, but they won't appear in the -output copy. (Compare this with <strong>mom</strong>'s default -behaviour of <em>suspending</em> incrementing of line numbers -during the output of quotes.) This allows you to embed -line-numbered footnotes inside quotes and have the line number -"label" in the footnote come out sensibly. -<p> -Once having turned <strong>NUMBER_QUOTE_LINES</strong> on, you -may disable it with <strong>NUMBER_QUOTE_LINES OFF</strong> (or -<strong>QUIT</strong>, <strong>END</strong>, <strong>X</strong>, -etc). -<p> - -<a name="NUMBER_BLOCKQUOTE_LINES"><h3><u>2. NUMBER_BLOCKQUOTE_LINES</u></h3></a> -<p> -If you'd like <strong>mom</strong> to number lines of output text -in a -<a href="#QUOTE">BLOCKQUOTE</a> -as part of the same order and sequence as paragraph text, simply -invoke <strong>NUMBER_BLOCKQUOTE_LINES</strong> by itself. -<p> -There is a catch with numbering blockquotes, though. Owing to -groff's restriction of accepting only the figure space as the -line number gutter's unit of measure, it is not possible for line -numbers in blockquotes to hang outside a document's overall left -margin and be reliably flush with the line numbers of paragraph -text. Conseqently, line numbers in blockquotes hang to the -left of the blockquote, separated from the blockquote by the -<strong><gutter></strong> argument. -<p> -If you'd like to change the gutter for blockquotes line-numbered in -this way, invoke <strong>NUMBER_BLOCKQUOTE_LINES</strong> with a digit -representing the number of -<a href="definitions.html#TERMS_FIGURESPACE">figure spaces</a> -you'd like between the line numbers and the blockquoted text, like -this: -<pre> - .NUMBER_BLOCKQUOTE_LINES 1 -</pre> - -With the above, line numbers in blockquotes (and only blockquotes) -will have a gutter of 1 figure space. -<p> -If you are using "line numbering style" for footnotes -(<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> <strong>LINE</strong>), -you may not wish to have blockquotes <em>visibly</em> line-numbered, -but still want to embed footnotes inside blockquotes. In -order to do that, <strong>mom</strong> allows you to say -<strong>NUMBER_BLOCKQUOTE_LINES SILENT</strong>. -<p> -When you invoke <strong>NUMBER_BLOCKQUOTE_LINES</strong> -<kbd>SILENT</kbd>, <strong>mom</strong> continues to increment line -numbers while blockquotes are being output, but they won't appear in -the output copy. (Compare this with <strong>mom</strong>'s default -behaviour of <em>suspending</em> incrementing of line numbers during -the output of blockquotes.) This allows you to embed line-numbered -footnotes inside blockquotes and have the line number "label" in the -footnote come out sensibly. -<p> -Once having turned <strong>NUMBER_BLOCKQUOTE_LINES</strong> on, you -may disable it with <strong>NUMBER_BLOCKQUOTE_LINES OFF</strong> (or -<strong>QUIT</strong>, <strong>END</strong>, <strong>X</strong>, -etc). -<p> - -<a name="NUMBER_LINES_QUOTES"><h3><u>3. Setting up line numbering in quotes and blockquotes on a case by case basis</u></h3></a> -<p> -Sometimes, you may want quotes or blockquotes to have a different -line numbering scheme from the one used in the rest of the -document. Or, you may want line numbering enabled only inside a -particular quote or blockquote. A common reason for this would be -if you were using the -<a href="#QUOTE">QUOTE</a> -macro to insert lines of programming code into a document. (See -<a href="#QUOTE_TIP">here</a> -for suggestions about including programming code snippets in -documents.) -<p> -To enable line numbering within quotes or blockquotes on a case by -case basis, simply invoke <strong>NUMBER_LINES</strong>, with the -arguments you need, immediately after entering <strong>QUOTE</strong> -or <strong>BLOCKQUOTE</strong>. (<strong>NUMBER_QUOTE_LINES</strong> -and/or <strong>NUMBER_BLOCKQUOTE_LINES</strong> should be turned -off if you're doing this.) The quote or blockquote will then be -line-numbered according to your specifications: the starting line -number of the quote or blockquote will be the one you give as a -first argument to <strong>NUMBER_LINES</strong>; which lines to -number will be the value you pass to <strong><which lines to -number></strong> (defaults to "1"); line numbers will hang -to the left of the quote or blockquote, separated from the quote or -blockquote by <strong><gutter></strong> (defaults to "2"). -<p> -As soon as <strong>QUOTE</strong> or <strong>BLOCKQUOTE</strong> is -turned off, line numbering ceases, not only with respect to -subsequent paragraph text (if they are not being line-numbered), -but also for any subsequent invocation of <strong>QUOTE</strong> or -<strong>BLOCKQUOTE</strong>. In other words, you must re-enable -quote or blockquote line-numbering inside every instance of -<strong>QUOTE</strong> or <strong>BLOCKQUOTE</strong> when -line-numbering either of them on a case by case basis. -<p> -<hr> - -<!====================================================================> - -<a name="FOOTNOTE_INTRO"><h2><u>Footnotes</u></h2></a> -<ul> - <li><a href="#FOOTNOTE_BEHAVIOUR">Footnote behaviour</a> - <ul> - <li><a href="#FN_AND_PUNCT">Footnote markers and punctuation in the running text</a> - </ul> - <li><a href="#FOOTNOTE">Tag: FOOTNOTE</a> - <li><a href="#FOOTNOTE_CONTROL">FOOTNOTE control macros</a> -</ul> - -<p> -For something so complex behind the scenes, footnotes are easy to use. -You just type, for example -<p> -<a name="FOOTNOTE_EXAMPLE"></a> -<pre> - ...the doctrines of Identity as urged by Schelling\c - .FOOTNOTE - <footnote about who the hell is Schelling> - .FOOTNOTE OFF - were generally the points of discussion presenting the most - of beauty to the imaginative Morella. -</pre> - -and be done with it. -<p> -(Note the obligatory use of the <strong>\c</strong> -<a href="definitions.html#TERMS_INLINES">inline escape</a>. -It is required when your -<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> -is either <strong>STAR</strong> [star/dagger footnotes] or -<strong>NUMBER</strong> [superscript numbers]; it is NOT to be used -when the <strong>FOOTNOTE_MARKER_STYLE</strong> is -<strong>LINE</strong>, or when footnote markers have been disabled -with -<a href="#FOOTNOTE_MARKERS">.FOOTNOTE_MARKERS</a> -<strong>OFF</strong>.) -<p> -<strong>***Version 1.3 change***</strong> -<p> -As of version 1.3, the manner of entering the line -<em>after</em> <strong>.FOOTNOTE OFF</strong> has changed -to accommodate users' differing wishes with respect to -the order of punctuation and footnote markers. The -correct way to enter the line after <strong>.FOOTNOTE -OFF</strong>--<strong><em><u>ONLY</u></em></strong> if your -<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> is -<strong>STAR</strong> or <strong>NUMBER</strong>--is to input -it as if it's literally a continuation of the line before -<strong>.FOOTNOTE</strong>, and therefore begins with either a space -or a punctuation mark, as in the two following examples. -<p> -<pre> - Example 1 Example 2 - --------- --------- - - A line of text,\c A line of text\c - .FOOTNOTE .FOOTNOTE - A footnote line. A footnote line. - .FOOTNOTE OFF .FOOTNOTE OFF - broken up with a comma. , broken up with a comma. - - (last line begins with (last line begins with - a literal space) the comma and a space) -</pre> - -If your <strong>FOOTNOTE_MARKER_STYLE</strong> is line, none of -this is a concern. -<p> -<strong>***End of version 1.3 change***</strong> -<p> -After you invoke <strong>FOOTNOTE</strong>, <strong>mom</strong> -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 themselves appropriately, balancing them -properly with the bottom margin, deferring footnotes that don't fit -on the page... Even if you're using -<a href="columns.html#COLUMNS">COLUMNS</a>, -<strong>mom</strong> knows what to do, and Does The Right Thing. -<p> -Footnotes can be sly little beasts, though. If you're writing a -document that's footnote-heavy, you might want to read the following. -<p> - -<a name="FOOTNOTE_BEHAVIOUR"><h3><u>Footnote behaviour</u></h3></a> -<p> -By default, <strong>mom</strong> marks footnotes with alternating -stars (asterisks), daggers, and double-daggers. The first footnote -gets a star, the second a dagger, the third a double-dagger, the -fourth two stars, the fifth two daggers, etc. If you prefer -numbered footnotes, rest assured <strong>mom</strong> is happy to -oblige. -<p> -A small amount of vertical whitespace and a short horizontal rule -separate footnotes from the document body. The amount of whitespace -varies slightly from page to page depending on the number of lines -in the footnotes. <strong>Mom</strong> tries for a nice balance -between too little whitespace and too much, but when push comes to -shove, she'll usually opt for ample over cramped. The last lines of -footnotes are always flush with the document's bottom margin. -<a name="FOOTNOTE_RULES"></a> -<p> -If <strong>mom</strong> sees that a portion of a footnote cannot -be fit on its page, she carries that portion over to the next -page. If an entire footnote can't be fit on its page (i.e. -<strong>FOOTNOTE</strong> has been called too close to the bottom), -she defers the footnote to the next page, but sets it with the -appropriate marker from the previous page. -<p> -When footnotes occur within cited text, for example a -<a href="#QUOTE">QUOTE</a> -or a -<a href="#BLOCKQUOTE">BLOCKQUOTE</a>, -<strong>mom</strong> will usually opt for deferring the footnote -over to the next page if it allows her to complete the cited text -on one page. -<p> -In the unfortunate happenstance that a deferred footnote is the -only footnote on its page (i.e. it's marked in the document body with -a star) and the page it's deferred to has its own footnotes, -<strong>mom</strong> separates the deferred footnote from the page's -proper footnote(s) with a blank line. This avoids the confusion that -might result from readers seeing two footnote entries on the same page -identified by a single star (or the number 1 if you've requested -numbered footnotes that begin at 1 on every page). The blank line -makes it clear that the first footnote entry belongs to the previous -page. -<p> -In the circumstance where a deferred footnote is not the only one -on its page, and is consequently marked by something other than a -single star, there's no confusion and <strong>mom</strong> doesn't -bother with the blank line. (By convention, the first footnote on -a page is always marked with a single star, so if readers see, say, -a dagger or double-dagger marking the first footnote entry, they'll -know the entry belongs to the previous page). -<p> -Very exceptionally, two footnotes may have to be deferred (e.g. one -occurs on the second to last line of a page, and another on the -last line). In such a circumstance, <strong>mom</strong> does not -add a blank after the second deferred footnote. If you'd like a -blank line separating both deferred footnotes from any footnotes -proper to the page the deferred ones were moved to, add the space -manually by putting a -<a href="typesetting.html#SPACE">.SPACE</a> -command at the end of the footnote text, before -<strong>FOOTNOTE OFF</strong> (or <strong>FOOTNOTE X, QUIT, -EXIT, etc...</strong>). -<p> -Obviously, deferred footnotes aren't an issue if you request numbered -footnotes that increase incrementally throughout the whole document -- -yet another convenience <strong>mom</strong> has thought of. -<p> -While <strong>mom</strong>'s handling of footnotes is -sophisticated, and tries to take nearly every imaginable situation -under which they might occur into account, some situations are -simply impossible from a typographic standpoint. For example, if -you have a -<a href="#HEAD">HEAD</a> -near the bottom of the page AND that page has some footnotes on it, -<strong>mom</strong> may simply not have room to set any text under -the head (normally, she insists on having room for at least one line -of text beneath a head). In such an instance, <strong>mom</strong> -will either set the head, with nothing under it but footnotes, -or transfer the head to the next page. Either way, you'll have a -gaping hole at the bottom of the page. It's a sort of typographic -Catch-22, and can only be resolved by you, the writer or formatter -of the document, adjusting the type on the offending page so as to -circumvent the problem. -<p> -<strong>NOTE:</strong> Exceptionally, you may encounter problems with footnotes inside -quotes and blockquotes that cross a page or column. See <a -href="#BREAK_QUOTE">BREAK_QUOTE</a> -for a solution. -<p> - -<h3><u><a name="FN_AND_PUNCT">Footnote markers and punctuation in the running text</a></u></h3> - -<p> -As of version 1.3, the manner of entering the line <em>after</em> -<strong>.FOOTNOTE OFF</strong> has changed. The correct way to -enter the line after <strong>.FOOTNOTE OFF</strong> now is to -input it as if it's literally a continuation of the line before -<strong>.FOOTNOTE</strong>, and therefore begins with either a space -or a punctuation mark, as in the two following examples. -<p> -<pre> - Example 1 Example 2 - --------- --------- - - A line of text,\c A line of text\c - .FOOTNOTE .FOOTNOTE - A footnote line. A footnote line. - .FOOTNOTE OFF .FOOTNOTE OFF - broken up with a comma. , broken up with a comma. - - (last line begins with (last line begins with - a literal space) the comma and a space) -</pre> - -Care must be taken, though, if the punctuation mark that begins the -line after <strong>FOOTNOTE OFF</strong> is a period (dot). You -<strong><em><u>must</u></em></strong> begin such lines with -<strong>\&.</strong>, like this: -<p> -<pre> - end of a sentence\c - .FOOTNOTE - A footnote line. - .FOOTNOTE OFF - \&. A new sentence... -</pre> - -If you omit the <strong>\&.</strong>, the line will vanish! -<p> - - -<!---FOOTNOTE---> - -<hr width="66%" align="left"> -<p> -<a name="FOOTNOTE"> - <nobr>Tag: <strong>FOOTNOTE</strong> <toggle> | INDENT LEFT | RIGHT | BOTH <indent value></nobr> - <br> - <em>*See <a href="#FOOTNOTE_NOTE">HYPER-IMPORTANT NOTE</a>!!!</em> - <br> - <indent value> requires a - <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> -</a> - -<p> -<strong>FOOTNOTE</strong> is a toggle macro, therefore invoking it -on a line by itself allows you to enter a footnote in the body of a -document. Invoking it with any argument <em>other than INDENT</em> -(i.e. <strong>OFF, QUIT, END, X...</strong>) tells <strong>mom</strong> -you're finished. -<p> -Footnotes are the only element of -<a href="definitions.html#TERMS_RUNNING">running text</a> -that are not affected by the typesetting -<a href="typesetting.html#INDENTS">indent macros</a>. -In the unlikely event that you want a page's footnotes to line -up with a running indent, invoke <strong>FOOTNOTE</strong> with -the <strong>INDENT</strong> argument and pass it an indent -direction and indent value. <strong>L, R,</strong> and -<strong>B</strong> may be used in place of <strong>LEFT, -RIGHT,</strong> and <strong>BOTH</strong>. -<strong>FOOTNOTE</strong> must be invoked with <strong>INDENT</strong> -for every footnote you want indented; <strong>mom</strong> does -not save any footnote indent information from invocation to -invocation. -<p> -<strong>NOTE:</strong> If a footnote runs to more than one -paragraph(!), <strong>DO NOT</strong> begin the footnote with -the -<a href="#PP">PP</a> -tag. Use <strong>PP</strong> only to introduce subsequent paragraphs. -<p> -<a name="FOOTNOTE_NOTE"><strong>HYPER-IMPORTANT NOTE:</strong></a> -The final word on the -<a href="definitions.html#TERMS_INPUTLINE">input line</a> -that comes immediately before <strong>FOOTNOTE</strong> MUST terminate -with a -<a href="typesetting.html#JOIN">\c</a> -inline escape if your -<a href="#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a> -is either <strong>STAR</strong> or <strong>NUMBER</strong>. -See the -<a href="#FOOTNOTE_EXAMPLE">footnote example</a> -above. -<p> -Additionally, the line <em>after</em> a <strong>FOOTNOTE -OFF</strong> should be entered as if there were no interruption in -the input text, i.e. the line should begin with a literal space or -punctuation mark. See -<a href="#FN_AND_PUNCT">above</a>. -<p> -Do NOT use the <strong>\c</strong> inline escape if your -<strong>FOOTNOTE_MARKER_STYLE</strong> is <strong>LINE</strong>, or -if you have disabled footnote markers with -<a href="#FOOTNOTE_MARKERS">.FOOTNOTE_MARKERS</a> -<strong>OFF</strong>. As well, the line after -<strong>FOOTNOTE OFF</strong> should be entered normally. - -<p> -<a name="FOOTNOTE_CONTROL"><h3><u>Footnote control macros</u></h3></a> -<ol> - <li><a href="#FOOTNOTE_GENERAL">Family/font/size/colour/lead/quad</a> - <li><a href="#FOOTNOTE_MARKERS">Footnote markers</a> -- on or off - <li><a href="#FOOTNOTE_MARKER_STYLE">Footnote marker style</a> -- star+dagger, numbered or by line number - <ul> - <li><a href="#FOOTNOTE_LINENUMBER_BRACKETS">FOOTNOTE_LINENUMBER_BRACKETS</a> - <li><a href="#FOOTNOTE_LINENUMBER_SEPARATOR">FOOTNOTE_LINENUMBER_SEPARATOR</a> - <li><a href="#FOOTNOTES_RUN_ON">FOOTNOTES_RUN_ON</a>--line-numbered footnotes only - </ul> - <li><a href="#RESET_FOOTNOTE_NUMBER">Reset footnote number</a> -- set footnote marker number to 1 - <li><a href="#FOOTNOTE_SPACE">Inter-footnote spacing</a> - <li><a href="#FOOTNOTE_RULE">Footnote rule</a> -- on or off - <li><a href="#FOOTNOTE_RULE_LENGTH">Footnote rule length</a> -- length of footnote separator rule - <li><a href="#FOOTNOTE_RULE_ADJ">Adjust vertical position of footnote separator rule</a> -</ol> -<p> -<a name="FOOTNOTE_GENERAL"><h3><u>1. Family/font/size/colour/lead/quad</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.FOOTNOTE_FAMILY default = prevailing document family; default is Times Roman -.FOOTNOTE_FONT default = roman -.FOOTNOTE_SIZE default = -2 (points) -.FOOTNOTE_COLOR default = black -.FOOTNOTE_AUTOLEAD default = 2 points (typeset); single-spaced (typewrite) -.FOOTNOTE_QUAD default = same as paragraphs -</pre> - -<a name="FOOTNOTE_MARKERS"><h3><u>2. Footnote markers -- FOOTNOTE_MARKERS</u></h3></a> -<p> -If you don't want footnote markers, in either the body of -the document or beside footnote entries themselves, toggle -them off with <strong>.FOOTNOTE_MARKERS OFF</strong> (or -<strong>END, QUIT, X</strong>...). This means, of course, that -you'll have to roll your own. If you want them back on, invoke -<strong>.FOOTNOTE_MARKERS</strong> with no argument. Footnote markers -are on by default. -<p> -If <strong>FOOTNOTE_MARKERS</strong> are disabled, do NOT use the -<strong>\c</strong> inline escape to terminate the line before -<strong>.FOOTNOTE</strong>. -<p> - -<a name="FOOTNOTE_MARKER_STYLE"><h3><u>3. Footnote marker style -- FOOTNOTE_MARKER_STYLE</u></h3></a> -<p> -<strong>Mom</strong> gives you two choices of footnote marker style: -star+dagger (see -<a href="#FOOTNOTE_BEHAVIOUR">footnote behaviour</a> -above), or numbered. -<p> -<strong>.FOOTNOTE_MARKER_STYLE STAR</strong> gives you star+dagger -(the default). There is a limit of 10 footnotes per page with -this style. -<p> -<strong>.FOOTNOTE_MARKER_STYLE NUMBER</strong> gives you superscript -numbers, both in the document body and in the footnote entries -themselves. By default, footnote numbers increase incrementally -(prev. footnote number + 1) throughout the whole document. You can -ask <strong>mom</strong> to start each page's footnote numbers at 1 -with <strong>.RESET_FOOTNOTE_NUMBER</strong> -(<a href="#RESET_FOOTNOTE_NUMBER">see below</a>.) -<a name="FOOTNOTE_LINENUMBERS"><p></a> -<p> -<strong>.FOOTNOTE_MARKER_STYLE LINE</strong> lets you have -footnotes which are identified by line number, rather than by a -marker in the text. (Note that -<a href="#NUMBER_LINES">NUMBER_LINES</a> -must be enabled in order to use this marker style.) -<p> -With <strong>FOOTNOTE_MARKER_STYLE LINE</strong>, <strong>mom</strong> -will identify footnotes either by single line numbers, or line -ranges. If what you want is a single line number, you need only -invoke <strong>.FOOTNOTE</strong>, <em>without terminating the text -line before it with</em> <strong>\c</strong>, at the appropriate -place in running text. -<p> -If you want a range of line numbers (e.g. [5-11] ), -insert, directly into the first line of the range you want, the -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -<strong>\*[FN-MARK]</strong>. For the terminating line number of -the range, you need only invoke <strong>.FOOTNOTE</strong>, (again, -without attaching <strong>\c</strong> to the text line before it). -<strong>Mom</strong> is smart enough to figure out that where -<strong>FOOTNOTE</strong> was invoked represents the terminating -line number. Range-numbered footnotes are always output on the page -where <strong>FOOTNOTE</strong> was invoked, not the page where -<strong>\*[FN-MARK]</strong> appears (subject, of course, to the -rules for footnotes that fall too close to the bottom of a page, as -outlined -<a href="#FOOTNOTE_RULES">here</a>). -<a name="FOOTNOTE_LINENUMBER_BRACKETS"></a> -<p> -<strong>Mom</strong>, by default, puts footnote line numbers inside -square brackets. The style of the brackets may be changed with -the macro, <strong>FOOTNOTE_LINENUMBER_BRACKETS</strong>, which -takes one of three possible arguments: <strong>PARENS</strong> -("round" brackets), <strong>SQUARE</strong> (the default) or -<strong>BRACES</strong> (curly braces). If you prefer a -shortform, the arguments, <strong>(</strong>, <strong>[</strong> or -<strong>{</strong> may be used instead. -<a name="FOOTNOTE_LINENUMBER_SEPARATOR"></a> -<p> -If you don't want the numbers enclosed in brackets, you may tell -<strong>mom</strong> to use a "separator" instead. A common -separator would be the colon, but it can be anything you like. The -macro to do this is <strong>FOOTNOTE_LINENUMBER_SEPARATOR</strong>, -which takes, as its single argument, the separator you want. For -safety and consistency's sake, ALWAYS enclose the argument in -double-quotes. -<p> -The separator can be composed of any legal groff character, or any -combination of characters. <strong>A word of caution:</strong> when -using a separator, <strong>mom</strong> doesn't insert a space -after the separator. Hence, if you want the space (you probably -do), you must make the space part of the argument you pass to -<strong>FOOTNOTE_LINENUMBER_SEPARATOR</strong>. For example, -to get a colon separator with a space after it, you'd do -<p> -<pre> - .FOOTNOTE_LINENUMBER_SEPARATOR ": " -</pre> - -<a name="FOOTNOTES_RUN_ON"><strong><u>RUN-ON FOOTNOTES</u></strong></a> -<p> -Finally, if your footnote marker style is <strong>LINE</strong>, you -may instruct <strong>mom</strong> to do "run-on style" footnotes. -Run-on footnotes do not treat footnotes as discrete entities, i.e. -on a line by themselves. Rather, each footnote is separated from -the footnote before it by a space, so that the footnotes on any -given page form a continuous block, like lines in a paragraph. The -macro to get -<strong>mom</strong> to run footnotes on is -<strong>.FOOTNOTES_RUN_ON</strong>. Invoked by itself, it turns -the feature on. Invoked with any other argument -(<strong>OFF</strong>, <strong>NO</strong>, etc.), it turns the -feature off. It is generally NOT a good idea to turn the feature -on and off during the course of a single document. If you do, -<strong>mom</strong> will issue a warning if there's going to be a -problem. However, it is always perfectly safe to enable/disable the -feature after -<a href="rectoverso.html#COLLATE">COLLATE</a>. -<p> -The usual reason for wanting run-on footnotes is that you're -using them to hold many, short references. (See -<a href="refer.html#TOP">here</a> -for instructions on using the <strong>groff</strong> program, -<strong>refer</strong>, to set up references.) - -<p> - -<a name="RESET_FOOTNOTE_NUMBER"><h3><u>4. Reset footnote number -- RESET_FOOTNOTE_NUMBER</u></h3></a> -<p> -<strong>.RESET_FOOTNOTE_NUMBER</strong>, by itself, resets -footnote numbering so that the next footnote you enter is -numbered 1. -<p> -<strong>.RESET_FOOTNOTE_NUMBER PAGE</strong> tells -<strong>mom</strong> to start every page's footnote numbering at 1. -<p> - -<a name="FOOTNOTE_SPACE"><h3><u>5. Inter-footnote spacing -- FOOTNOTE_SPACE</u></h3></a> -<p> -If you'd like a little extra space between footnotes, you can have -<strong>mom</strong> put it in for you by invoking -<strong>.FOOTNOTE_SPACE</strong> with an argument representing the -amount of extra space you'd like. The argument to -<strong>FOOTNOTE_SPACE</strong> requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -<p> -In the following example, footnotes will be separated from each -other by 3 -<a href="definitions.html#TERMS_PICASPOINTS">points</a>. -<pre> - .FOOTNOTE_SPACE 3p -</pre> - -<a name="FOOTNOTE_RULE"><h3><u>6. Footnote rule -- FOOTNOTE_RULE</u></h3></a> -<p> -If you don't want a footnote separator rule, toggle it off with -<strong>.FOOTNOTE_RULE OFF</strong> (or <strong>END, -QUIT, X</strong>...). Toggle it back on by invoking -<strong>.FOOTNOTE_RULE</strong> with no argument. The default is to -print the rule. -<p> - -<a name="FOOTNOTE_RULE_LENGTH"><h3><u>7. Footnote rule length -- FOOTNOTE_RULE_LENGTH</u></h3></a> -<p> -If you want to change the length of the footnote separator rule, -invoke <strong>.FOOTNOTE_RULE_LENGTH</strong> with a length, like -this, -<pre> - .FOOTNOTE_RULE_LENGTH 1i -</pre> - -which sets the length to 1 inch. Note that a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -is required. The default is 4 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a> -for both -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLES</a>. -<p> - -<a name="FOOTNOTE_RULE_ADJ"><h3><u>8. Adjust vertical position of footnote separator rule -- FOOTNOTE_RULE_ADJ</u></h3></a> -<p> -The footnote separator rule is actually a baseline rule that falls -on the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of the first line of a page's footnotes. By default, -<strong>mom</strong> raises the rule 3 -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -from the baseline so that the separator and the footnotes don't -look jammed together. If you'd prefer a different vertical -adjustment, invoke <strong>.FOOTNOTE_RULE_ADJ</strong> with the -amount you'd like. For example -<p> -<pre> - .FOOTNOTE_RULE_ADJ 4.25p -</pre> - -raises the rule by 4-1/4 points. Note that you can only raise -the rule, not lower it. A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -is required. -<p> -<strong>Tip:</strong> If your document -<a href="definitions.html#TERMS_LEADING">leading</a> -is 2 -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -or less (e.g your -<a href="definitions.html#TERMS_PS">point size</a> -is 10 and your linespacing is 10, 11, or 12, lowering -<strong>mom</strong>'s default footnote rule adjustment will -almost certainly give you nicer looking results than leaving -the adjustment at the default. Furthermore, you can invoke -<strong>FOOTNOTE_RULE_ADJ</strong> on any page in which footnotes -appear, or in any column, so that the placement of the footnote rule -can be changed on-the-fly, should you wish to do so. -<p> -<hr> - -<!====================================================================> - -<a name="ENDNOTE_INTRO"><h2><u>Endnotes</u></h2></a> -<ul> - <li><a href="#ENDNOTE_BEHAVIOUR">Endnote behaviour</a> - <ul> - <li><a href="#ENDNOTE_SPACING">A Note on Endnote Spacing</a> - <li><a href="#ENDNOTE_COLUMNS">Endnotes and columnar documents</a> - </ul> - <li><a href="#ENDNOTE">Tag: ENDNOTE</a> - <li><a href="#ENDNOTES">Macro: ENDNOTES</a> -- tell <strong>mom</strong> to output endnotes - <li><a href="#ENDNOTE_CONTROL">ENDNOTES control macros</a> -</ul> - -<p> -Embedding endnotes into <strong>mom</strong> documents is accomplished -the same way as embedding -<a href="#FOOTNOTE_INTRO">footnotes</a>. The example below is -identical to the one shown in the -<a href="#FOOTNOTE_EXAMPLE">introduction to footnotes</a>, -except that <kbd>.FOOTNOTE</kbd> has been replaced with -<kbd>.ENDNOTE</kbd>. -<p> -<a name="ENDNOTE_EXAMPLE"></a> -<pre> - ...the doctrines of Identity as urged by Schelling\c - .ENDNOTE - <endnote about who the hell is Schelling> - .ENDNOTE OFF - were generally the points of discussion presenting the most - of beauty to the imaginative Morella. -</pre> - -As with footnotes, note the obligatory use of the <strong>\c</strong> -<a href="definitions.html#TERMS_INLINES">inline escape</a> -when your -<a href="#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a> -is <strong>NUMBER</strong> (which marks endnotes references in -<a href="definitions.html#TERMS_RUNNING">running text</a> -with superscript numbers). When the marker style is -<strong>LINE</strong>, you must <em>not</em> use the -<strong>\c</strong> escape. -<p> -<strong>***Version 1.3 change***</strong> -<p> -As of version 1.3, the manner of entering the line <em>after</em> -<strong>.ENDNOTE OFF</strong> has changed to accommodate users' -differing wishes with respect to the order of punctuation and -endnote markers. The correct way to enter the line after -<strong>.ENDNOTE OFF</strong>--but <strong><em><u>NOT</u></em></strong> -if your -<a href="#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a> -is <strong>LINE</strong>--is to input it as if it's literally -a continuation of the line before <strong>.ENDNOTE</strong>, and -therefore begins with either a space or a punctuation mark, as in -the two following examples. -<p> -<a name="EN_PUNCT"></a> -<pre> - Example 1 Example 2 - --------- --------- - - A line of text,\c A line of text\c - .ENDNOTE .ENDNOTE - A footnote line. A footnote line. - .ENDNOTE OFF .ENDNOTE OFF - broken up with a comma. , broken up with a comma. - - (last line begins with (last line begins with - a literal space) the comma and a space) -</pre> - -<strong>***End version 1.3 change***</strong> -<p> -Endnotes differ from footnotes in two ways (other than the fact that -endnotes come at the end of a document whereas footnotes appear in the -body of the document): -<br> -<ol> - <li>When your <strong>ENDNOTE_MARKER_STYLE</strong> is - <strong>NUMBER</strong>, endnotes are always numbered - incrementally, starting at "1". - <li>Endnotes MUST be output explicitly; <strong>mom</strong> does - not output them for you. In - <a href="rectoverso.html#COLLATE">collated</a> - documents, this allows you to choose whether you - want the endnotes to appear at the end of each chapter or - article in a document, or grouped together at the very end - of the document. -</ol> -<p> -Within endnotes, you may use the document element tags -<a href="#PP">PP</a>, -<a href="#QUOTE">QUOTE</a> -and -<a href="#BLOCKQUOTE">BLOCKQUOTE</a>. -This provides the flexibility to create endnotes that run to several -paragraphs, as well as to embed cited text within endnotes. -<p> -Should you wish to change the appearance of quotes or blockquotes that -appear within endnotes, you may do so with the -<a href="#QUOTE_CONTROL">quote control macros</a> -or -<a href="#BLOCKQUOTE_CONTROL">blockquote control macros</a>. -HOWEVER... you must make the changes <em>within</em> each endnote, prior -to invoking <strong>QUOTE</strong> or <strong>BLOCKQUOTE</strong>, and -undo them prior to terminating the endnote (i.e. before <strong>ENDNOTE -OFF</strong>), otherwise the changes will affect subsequent quotes and -blockquotes that appear in the document body as well. -<p> - -<a name="ENDNOTE_BEHAVIOUR"><h3><u>Endnote behaviour</u></h3></a> -<br> -When you output endnotes (with -<a href="#ENDNOTES">ENDNOTES</a>), -<strong>mom</strong> finishes processing the last page of your document, -then breaks to a new page for printing the endnotes. If the document -type is -<a href="docprocessing.html#DOCTYPE">CHAPTER</a>, -the centre part of the -<a href="definitions.html#TERMS_HEADER">header</a> -(or footer), which, by default, contains a chapter number or title, is -removed. -<p> -By default, <strong>mom</strong> starts the endnotes page with a -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 -number, in bold, right aligned to two placeholders. The text of the -endnotes themselves is indented to the right of the numbers. -<p> -If the endnotes are grouped together at the end of a collated document, -each section of the document that contains endnotes is identified by its -own unique title (or chapter number or title), bold, flush left, and -underscored. -<p> -Of course, all the defaults, as well as the overall style of the -endnotes page, can be changed with the -<a href="#ENDNOTE_CONTROL">endnote control macros</a>. -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. -<p> - -<a name="ENDNOTE_SPACING"> - <h3><u>A Note on Endnote Spacing</u></h3> -</a> -<br> -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 -<a href="#PP_SPACE">PARA_SPACE</a>, -where <strong>mom</strong> allows unequal bottom alignment of pages. -Should you wish to correct this, by adding or subtracting small amounts -of space between endnotes that appear together on an endnotes page, make -the adjustment (with -<a href="typesetting.html#ALD">ALD</a>, -<a href="typesetting.html#RLD">RLD</a> -or -<a href="typesetting.html#SPACE">SPACE</a>) -<em>at the end of each endnote</em> (i.e. just before invoking -<a href="#ENDNOTE">ENDNOTE OFF</a>) -rather than at the top. -<p> - -<a name="ENDNOTE_COLUMNS"> - <h3><u>Endnotes and columnar documents</u></h3> -</a> -<br> -Formerly (pre 1.1.6), there was no way to set a document in columns -(see -<a href="docprocessing.html#COLUMNS">COLUMNS</a>) -and then turn off column mode for endnotes. As of version 1.1.6, -you may now do so. See -<a href="#ENDNOTES_NO_COLUMNS">ENDNOTES_NO_COLUMNS</a>. -<p> -<hr> - -<!---ENDNOTE---> - -<p> -<a name="ENDNOTE"> - <nobr>Macro: <strong>ENDNOTE</strong> <toggle></nobr> - <br> - <em>*See <a href="#ENDNOTE_NOTE">HYPER-IMPORTANT NOTE</a>!!!</em> -</a> - -<p> -<strong>ENDNOTE</strong> is a toggle macro, therefore invoking it -on a line by itself allows you to enter an endnote in the body of a -document. Invoking it with any other argument -(i.e. <strong>OFF, QUIT, END, X...</strong>) tells <strong>mom</strong> -that you've finished the endnote. -<p> -<strong>NOTE:</strong> If an endnote runs to more than one paragraph, -<strong>DO NOT</strong> begin the endnote with the -<a href="#PP">PP</a> -tag. Use <strong>PP</strong> only to introduce subsequent paragraphs. -<p> -<a name="ENDNOTE_NOTE"><strong>HYPER-IMPORTANT NOTE:</strong></a> -If your -<a href="#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a> -is <strong>NUMBER</strong> (<strong>mom</strong>'s default), the -final word on the -<a href="definitions.html#TERMS_INPUTLINE">input line</a> -that comes immediately before <strong>ENDNOTE</strong> MUST terminate -with a -<a href="typesetting.html#JOIN">\c</a> -inline escape. See the -<a href="#ENDNOTE_EXAMPLE">endnote example</a> -above. -<p> -Additionally, the line <em>after</em> -<strong>.ENDNOTE OFF</strong> should be entered as if there -were no interruption in the input text, i.e. the line should begin -with a literal space or punctuation mark. See the two -<a href="#EN_PUNCT">examples</a>, -above. -<p> -If your <strong>ENDNOTE_MARKER_STYLE</strong> is -<strong>LINE</strong>, do NOT use the <strong>\c</strong> escape, -and enter the line after <strong>.ENDNOTE OFF</strong> -normally. -<p> - -<!---ENDNOTES---> - -<hr width="66%" align="left"> -<p> -<a name="ENDNOTES">Tag: <strong>ENDNOTES</strong></a> - -<p> -Unlike footnotes, which <strong>mom</strong> automatically outputs at the -bottom of pages, endnotes must be explicitly output by you, the user. -<strong>ENDNOTES</strong>, by itself (i.e. without any argument), is -the macro to do this. -<p> -Typically, you'll use <strong>ENDNOTES</strong> at the end of -a document. If it's a single (i.e. not collated) document, -<strong>mom</strong> will print the endnotes pertaining to it. If it's -a collated document, <strong>mom</strong> will print all the endnotes -contained within all sections of the document (typically chapters), -appropriately identified and numbered. -<p> -Should you wish to output the endnotes for each section of a collated -document at the ends of the sections (instead of at the very end of the -document), simply invoke <strong>ENDNOTES</strong> immediately prior to -<a href="rectoverso.html#COLLATE">COLLATE</a>. -<strong>Mom</strong> will print the endnotes, identified and numbered -appropriately, on a separate page prior to starting the next section of -the document. Each subsequent invocation of <strong>ENDNOTES</strong> -outputs only those endnotes that <strong>mom</strong> collected -after the previous invocation. -<p> -<hr width="66%" align="left"> - -<a name="ENDNOTE_CONTROL"><h3><u>Endnote control macros</u></h3></a> -<p> -<strong>VERY IMPORTANT NOTE!</strong> -<br> -Endnote control macros must always be invoked prior to the first -instance of -<a href="#ENDNOTE">ENDNOTE/ENDNOTE OFF</a>. -<p> -When you embed endnotes in the body of a document, -<strong>mom</strong> collects <em>and processes</em> them for later -outputting (when you invoke -<a href="#ENDNOTES">ENDNOTES</a>). -By the time you do invoke <strong>ENDNOTES</strong>, it's much too -late to change your mind about how you want them to look. -<p> -My advice? If you're planning to change the default appearance of -endnotes pages, set them up prior to -<a href="docprocessing.html#START">START</a>. -<p> -<ol> - <li><a href="#ENDNOTES_GENERAL"><strong>General endnotes-pages style control</strong></a> - <ul> - <li><a href="#ENDNOTE_STYLE">Base family/font/quad for endnotes-pages</a> - <li><a href="#ENDNOTE_PT_SIZE">Base point size for the endnotes-pages</a> - <li><a href="#ENDNOTE_LEAD">Leading of endnotes-pages</a> - <li><a href="#SINGLESPACE_ENDNOTES">Singlespace endnotes (for TYPEWRITE only)</a> - <li><a href="#ENDNOTE_PARA_INDENT">Size of paragraph first line indent in multi-paragraph endnotes</a> - <li><a href="#ENDNOTE_PARA_SPACE">Inserting space between paragraphs of multi-paragraph endnotes</a> - <li><a href="#ENDNOTES_NO_COLUMNS">Turning off column mode during endnotes output</a> - <li>Pagination of endnotes: - <ul> - <li><a href="#ENDNOTES_PAGENUM_STYLE">Endnotes-pages page numbering style</a> - <li><a href="#ENDNOTES_FIRST_PAGENUMBER">Setting the first page number of endnotes pages</a> - <li><a href="#ENDNOTES_NO_FIRST_PAGENUM">Omitting a page number on the first page of endnotes</a> - </ul> - <li><a href="#SUSPEND_PAGINATION">Suspending pagination of endnotes pages</a> - </ul> - <li><a href="#ENDNOTES_HEADER_CONTROL"><strong>Endnotes-page header/footer control</strong></a> - <ul> - <li><a href="#ENDNOTES_MODIFY_HDRFTR">Modifying what goes in the endnotes-pages header/footer</a> - <li><a href="#ENDNOTES_HDRFTR_CENTER">Enabling a header/footer centre when doctype is CHAPTER</a> - <li><a href="#ENDNOTES_ALLOWS_HEADERS">Allow headers on endnotes-pages</a> - </ul> - <li><a href="#ENDNOTES_MAIN_TITLE"><strong>Endnotes-page head (i.e. the title at the top) control</strong></a> - <ul> - <li><a href="#ENDNOTE_STRING">Creating/modifying the endnotes-page head</a> - <li><a href="#ENDNOTE_STRING_CONTROL">Endnotes-page head control</a> - <li><a href="#ENDNOTE_STRING_UNDERSCORE">Endnotes-page head underscoring</a> - <li><a href="#ENDNOTE_STRING_CAPS">Endnotes-page head capitalization</a> - </ul> - <li><a href="#ENDNOTES_DOC_TITLE"><strong>Endnote document-identification title</strong></a> - <ul> - <li><a href="#ENDNOTE_TITLE">Creating/modifying the endnote document-identification title</a> - <li><a href="#ENDNOTE_TITLE_CONTROL">Document-identification title control</a> - <li><a href="#ENDNOTE_TITLE_UNDERSCORE">Document-identification title underscoring</a> - </ul> - <li><a href="#ENDNOTES_NUMBERING"><strong>Endnotes-pages endnote numbering style</strong></a> - <ul> - <li><a href="#ENDNOTE_MARKER_STYLE">Endnote marker style</a>--by numbers in the text, or by line number - <ul> - <li><a href="#ENDNOTE_LINENUMBER_GAP">ENDNOTE_LINENUMBER_GAP</a> - <li><a href="#ENDNOTE_LINENUMBER_BRACKETS">ENDNOTE_LINENUMBER_BRACKETS</a> - <li><a href="#ENDNOTE_LINENUMBER_SEPARATOR">ENDNOTE_LINENUMBER_SEPARATOR</a> - </ul> - <li><a href="#ENDNOTE_NUMBER_CONTROL">Endnotes-pages endnote numbering style control</a> - <li><a href="#ENDNOTE_NUMBER_ALIGNMENT">Endnote numbering alignment</a> - <ul> - <li><a href="#ENDNOTE_NUMBERS_ALIGN_RIGHT">ENDNOTE_NUMBERS_ALIGN_RIGHT</a> - <li><a href="#ENDNOTE_NUMBERS_ALIGN_LEFT">ENDNOTE_NUMBERS_ALIGN_LEFT</a> - </ul> - </ul> -</ol> -<hr> - -<a name="ENDNOTES_GENERAL"><h2><u>1. General endnotes page style control</u></h2> - -<a name="ENDNOTE_STYLE"><h3><u>*Endnote family/font/quad</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.ENDNOTE_FAMILY default = prevailing document family; default is Times Roman -.ENDNOTE_FONT default = roman -.ENDNOTE_QUAD* default = justified - -*Note: ENDNOTE_QUAD must be set to either L or J -</pre> - -<!---ENDNOTE_PT_SIZE---> - -<a name="ENDNOTE_PT_SIZE"><h3><u>*Endnote point size</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTE_PT_SIZE</strong> <base type size of endnotes></nobr> - -<p> -Unlike most other control macros that deal with size of document -elements, <strong>ENDNOTE_PT_SIZE</strong> takes as its argument an -absolute value, relative to nothing. Therefore, the argument represents -the size of endnote type in -<a href="definitions.html#TERMS_PICASPOINTS">points</a>, -unless you append an alternative -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, -<p> -<pre> - .ENDNOTE_PT_SIZE 12 -</pre> - -sets the base point size of type on the endnotes page to 12 -points, whereas -<p> -<pre> - .ENDNOTE_PT_SIZE .6i -</pre> - -sets the base point size of type on the endnotes page to 1/6 of an -inch. -<p> -The type size set with <strong>ENDNOTE_PT_SIZE</strong> is the size of -type used for the text of the endnotes, and forms the basis from which -the point size of other endnote page elements is calculated. -<p> -The default for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -is 12.5 points (the same default size used in the body of the document). -<p> - -<!---ENDNOTE_LEAD---> - -<a name="ENDNOTE_LEAD"><h3><u>*Endnote lead</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTE_LEAD</strong> <base leading of endnotes> [ ADJUST ] </nobr> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> - -<p> -Unlike most other control macros that deal with leading of document -elements, <strong>ENDNOTE_LEAD</strong> takes as its argument an -absolute value, relative to nothing. Therefore, the argument represents -the -<a href="definitions.html#TERMS_LEADING">leading</a> -of endnotes in -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -unless you append an alternative -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, -<p> -<pre> - .ENDNOTE_LEAD 14 -</pre> - -sets the base leading of type on the endnotes page to 14 -points, whereas -<p> -<pre> - .ENDNOTE_LEAD .5i -</pre> - -sets the base leading of type on the endnotes page to 1/2 inch. -<p> -If you want the leading of endnotes adjusted to fill the page, pass -<strong>ENDNOTE_LEAD</strong> the optional argument -<strong>ADJUST</strong>. (See -<a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> -for an explanation of leading adjustment.) -<p> -The default for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -is 14 points, adjusted. -<p> -<strong>NOTE:</strong> Even if you give <strong>mom</strong> a -<strong>DOC_LEAD_ADJUST OFF</strong> command, she will still, by -default, adjust endnote leading. You MUST enter -<strong>ENDNOTE_LEAD <lead></strong> with no -<strong>ADJUST</strong> argument to disable this default behaviour. -<p> - -<!---SINGLESPACE_ENDNOTES---> - -<a name="SINGLESPACE_ENDNOTES"><h3><u>*Singlespace endnotes (TYPEWRITE only)</u></h3></a> -<p> -<nobr>Macro: <strong>SINGLESPACE_ENDNOTES</strong> <toggle></nobr> - -<p> -If your -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> -is <strong>TYPEWRITE</strong> and you use TYPEWRITE's default -double-spacing, endnotes are double-spaced. If your document is -single-spaced, endnotes are single-spaced. -<p> -If, for some reason, you'd prefer that endnotes be single-spaced -in an otherwise double-spaced document (including double-spaced -<a href="rectoverso.html#COLLATE">collated</a> -documents), invoke <strong>SINGLESPACE_ENDNOTES</strong> 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 <strong>SINGLESPACE_ENDNOTES</strong> with any -argument (<strong>OFF, QUIT, Q, X</strong>...). -<p> - -<!---ENDNOTE_PARA_INDENT---> - -<a name="ENDNOTE_PARA_INDENT"><h3><u>*Endnote paragraph indenting</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTE_PARA_INDENT</strong> <amount to indent first line of paragraphs in endnotes></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>ENDNOTE_PARA_INDENT</strong> works exactly the same way as -<a href="#PARA_INDENT">PARA_INDENT</a>, -except that the indent given is the amount by which to indent the first -lines of endnote paragraphs, not document body paragraphs. -<p> -The default is 1.5 -<a href="definitions.html#TERMS_EM">ems</a> -for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>; -1/2 inch for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>. - -<p> -<strong>NOTE:</strong> The first line of the first paragraph of endnotes -(the one attached immediately to the identifying endnote number) is -never indented. Only subsequent paragraphs are affected by -<strong>ENDNOTE_PARA_INDENT</strong>. -<p> - -<!---ENDNOTE_PARA_SPACE---> - -<a name="ENDNOTE_PARA_SPACE"><h3><u>*Endnote paragraph spacing</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTE_PARA_SPACE</strong> <toggle></nobr> - -<p> -<strong>ENDNOTE_PARA_SPACE</strong> works exactly the same way as -<a href="#PP_SPACE">PARA_SPACE</a>, -except that it inserts a blank line between endnote paragraphs, not -document body paragraphs. -<p> -The default is not to insert a blank line between paragraphs in -endnotes. -<p> -<strong>NOTE:</strong> Each endnote itself is always separated from any -previous endnote by a line space. <strong>ENDNOTE_PARA_SPACE</strong> -refers only to paragraphs that appear within each discrete endnote. -<p> - -<!---ENDNOTES_NO_COLUMNS---> - -<a name="ENDNOTES_NO_COLUMNS"><h3><u>*Turning off column mode during endnotes output</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTES_NO_COLUMNS</strong> <toggle></nobr> - -<p> -By default, if your document is -<a href="columns.html#COLUMNS">set in columns</a>, -<strong>mom</strong> sets the endnotes in columns, too. However, -if your document is set in columns and you'd like the endnotes not -to be, just invoke <strong>ENDNOTES_NO_COLUMNS</strong> with no -argument. The endnotes pages will be set to the full page measure -of your document. -<p> -If you output endnotes at the end of each document in a -<a href="rectoverso.html#COLLATE">collated</a> -document set in columns, column mode will automatically -be reinstated for each document, even with -<strong>ENDNOTES_NO_COLUMNS</strong> turned on. -<p> - -<!---ENDNOTES_PAGENUM_STYLE---> - -<a name="ENDNOTES_PAGENUM_STYLE"><h3><u>*Endnotes-pages page numbering style</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTES_PAGENUM_STYLE</strong> DIGIT | ROMAN | roman | ALPHA | alpha</nobr> - -<p> -Use this macro to set the page numbering style of endnotes pages. -The arguments are identical to those for -<a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>. -The default is <strong>digit</strong>. You may want to change it -to, say, <strong>alpha</strong>, which you would do with -<p> -<pre> - .ENDNOTES_PAGENUM_STYLE alpha -</pre> - -<!---ENDNOTES_FIRST_PAGENUMBER---> - -<a name="ENDNOTES_FIRST_PAGENUMBER"><h3><u>*Setting the first page number of endnotes pages</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTES_FIRST_PAGENUMBER</strong> <page # that appears on page 1 of endnotes></nobr> - -<p> -Use this macro with caution. If all endnotes for several -<a href="rectoverso.html#COLLATE">collated</a> -documents are to be output at once, i.e. not at the end of each -separate doc, <strong>ENDNOTES_FIRST_PAGENUMBER</strong> tells -<strong>mom</strong> what page number to put on the first page of -the endnotes. -<p> -If you set <strong>ENDNOTES_FIRST_PAGENUMBER</strong> in collated -documents where the endnotes are output after each separate doc, -you have to reset every separate document's first page number after -<a href="rectoverso.html#COLLATE">COLLATE</a> -and before -<a href="docprocessing.html#START">START</a>. -<p> - -<!---ENDNOTES_NO_FIRST_PAGENUN---> - -<a name="ENDNOTES_NO_FIRST_PAGENUM"><h3><u>*Omitting a page number on the first page of endnotes</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTES_NO_FIRST_PAGENUM</strong> <toggle></nobr> - -<p> -This macro is for use only if <strong>FOOTERS</strong> are on. It -tells -<a href="#ENDNOTES">ENDNOTES</a> -not to print a page number on the first endnotes page. -<strong>Mom</strong>'s default is to print the page number. -<p> - -<!---SUSPEND_PAGINATION---> - -<a name="SUSPEND_PAGINATION"><h3><u>*Suspending pagination of endnotes pages</u></h3></a> -<p> -Macro: <strong>SUSPEND_PAGINATION</strong> -<br> -Macro: <strong>RESTORE_PAGINATION</strong> - -<p> -<strong>SUSPEND_PAGINATION</strong> doesn't take an argument. -Invoked immediately prior to -<a href="#ENDNOTES">ENDNOTES</a>, -it turns off endnotes pages pagination. <strong>Mom</strong> -continues, however to increment page numbers silently. -<p> -To restore normal document pagination after endnotes, invoke -<strong>RESTORE_PAGINATION</strong> (again, with no argument) -immediately after <strong>ENDNOTES</strong>. - -<a name="ENDNOTES_HEADER_CONTROL"><h2><u>2. Endnotes-page header/footer control</u></h2></a> -<p> -<a name="ENDNOTES_MODIFY_HDRFTR"></a> -If you wish to modify what appears in the header/footer that appears -on endnotes page(s), make the changes before you invoke -<a href="#ENDNOTES">ENDNOTES</a>, -not afterwards. -<p> -Except in the case of -<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>, -<strong>mom</strong> prints the same header or footer used throughout -the document on the endnotes page(s). Chapters get treated differently -in that, by default, <strong>mom</strong> does not print the -header/footer centre string (normally the chapter number or chapter -title.) In most cases, this is what you want. However, should you -<em>not</em> want <strong>mom</strong> to remove the centre string from -the endnotes page(s) headers/footers, invoke -<a href="#ENDNOTES_HDRFTR_CENTER">ENDNOTES_HEADER_CENTER</a> -with no argument. -<p> -An important change you may want to make is to put the word -"Endnotes" in the header/footer centre position. -To do so, do -<p> -<pre> - .HEADER_CENTER "Endnotes" - or - .FOOTER_CENTER "Endnotes" -</pre> - -prior to invoking <strong>.ENDNOTES</strong>. If your -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a> -is <kbd>CHAPTER</kbd>, you must also invoke -<a href="#ENDNOTES_HDRFTR_CENTER">ENDNOTES_HEADER_CENTER</a> -for the <strong>HEADER_CENTER</strong> to appear. -<p> - -<a name="ENDNOTES_HDRFTR_CENTER"><h3><u>*Endnotes page(s) header/footer centre string</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTES_HEADER_CENTER</strong> toggle</nobr> - -<p> -If your -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a> -is <kbd>CHAPTER</kbd> and you want <strong>mom</strong> to include -a centre string in the headers/footers that appear on endnotes pages, -invoke <strong>ENDNOTES_HEADER_CENTER</strong> (or -<strong>ENDNOTES_FOOTER_CENTER</strong>) with no argument. -<strong>Mom</strong>'s default is NOT to print the centre string. -<p> -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 (<strong>OFF, QUIT, Q, X</strong>...). -<p> - -<a name="ENDNOTES_ALLOWS_HEADERS"><h3><u>*Allow headers on endnotes-pages</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTES_ALLOWS_HEADERS</strong> <none> | ALL</nobr> - -<p> -By default, if <strong>HEADERS</strong> are on, <strong>mom</strong> -prints page headers on all endnotes pages except the first. If you -don't want her to print headers on endnotes pages, do -<p> -<pre> - .ENDNOTES_ALLOWS_HEADERS OFF -</pre> - -If you want headers on every page <em>including the first</em>, do -<p> -<pre> - .ENDNOTES_ALLOWS_HEADERS ALL -</pre> - -<strong>NOTE:</strong> If <strong>FOOTERS</strong> are on, -<strong>mom</strong> prints footers on every endnotes page. This is -a style convention. In <strong>mom</strong>, there is no such beast -as <strong>ENDNOTES_ALLOWS_FOOTERS OFF</strong>. -<p> - -<a name="ENDNOTES_MAIN_TITLE"><h2><u>3. Endnotes-page first page head (title) control</u></h2> - -<!---ENDNOTE_STRING---> - -<a name="ENDNOTE_STRING"><h3><u>*Endnotes-page first page head (title) string</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTE_STRING</strong> "<head to print at the top of endnotes>"</nobr> - -<p> -By default, <strong>mom</strong> prints the word "ENDNOTES" -as a head at the top of the first page of endnotes. If you want her -to print something else, invoke <strong>ENDNOTE_STRING</strong> with -the endnotes-page head you want, surrounded by double-quotes. If -you don't want a head at the top of the first endnotes-page, invoke -<strong>ENDNOTE_STRING</strong> with a blank argument (either two -double-quotes side by side -- <kbd>""</kbd> -- or no argument -at all). -<p> - -<!---ENDNOTE_STRING_CONTROL---> - -<a name="ENDNOTE_STRING_CONTROL"><h3><u>*Endnotes-page first page head (title) control</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.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 = centred - -*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) -</pre> - -<!---ENDNOTE_STRING_UNDERSCORE---> - -<a name="ENDNOTE_STRING_UNDERSCORE"><h3><u>*Endnotes-page head (title) underscoring</h3></u></a> -<p> -<nobr>Macro: <strong>ENDNOTE_STRING_UNDERSCORE</strong> toggle | 2</nobr> - -<p> -Invoked by itself, <strong>ENDNOTE_STRING_UNDERSCORE</strong> will -underscore the endnotes-page head. Invoked with the argument 2 -(i.e. the digit 2), <strong>ENDNOTE_STRING_UNDERSCORE</strong> will -double-underscore the head. Invoked with any other argument, the macro -disables underscoring of the head. -<p> -<strong>Mom</strong>'s default is to double-underscore the -head, therefore if you want no underscoring, you must insert -<kbd>.ENDNOTE_STRING_UNDERSCORE OFF</kbd> (or <kbd>QUIT, X, NO, -NONE,</kbd> etc.) into your document prior to outputting endnotes with -<a href="#ENDNOTES">ENDNOTES</a>. - -<!---ENDNOTE_STRING_CAPS---> - -<a name="ENDNOTE_STRING_CAPS"><h3><u>*Endnotes-page head (title) automatic capitalization</h3></u></a> -<p> -<nobr>Macro: <strong>ENDNOTE_STRING_CAPS</strong> toggle</nobr> - -<p> -Invoked by itself, <strong>ENDNOTE_STRING_CAPS</strong> will -automatically capitalize the endnotes-page head. Invoked with any -other argument, the macro disables automatic capitalization of the -head. -<p> -If you're generating a table of contents, you may want the -endnotes-pages head string in caps, but the toc entry in caps/lower -case. If the argument to -<a href="#ENDNOTE_STRING">ENDNOTE_STRING</a> -is in caps/lower case and <strong>ENDNOTE_STRING_CAPS</strong> is -on, this is exactly what will happen. -<p> -<strong>Mom</strong>'s default is to capitalize the endnotes-pages -head string. -<p> - -<!---ENDNOTE_TITLE---> - -<a name="ENDNOTES_DOC_TITLE"><h2><u>4. Endnote document-identification title</u></h2> -<a name="ENDNOTE_TITLE"><h3><u>*Endnote document-identification title string</u></h3></a> -<p> -<nobr>Macro: <strong>ENDNOTE_TITLE</strong> "<title to identify a document in endnotes>"</nobr> - -<p> -By default, <strong>mom</strong> identifies the document(s) to which -endnotes belong by the document title(s) given to the -<a href="docprocessing.html#TITLE">TITLE</a> -macro. If you'd want her to identify the document(s) another way, -just invoke <strong>ENDNOTE_TITLE</strong> with the identifying -title you want, surrounded by double-quotes. -<p> -If you don't want any identifying title, invoke -<strong>ENDNOTE_TITLE</strong> with a blank argument (either two -double-quotes side by side -- <kbd>""</kbd> -- 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. -<p> - -<!---ENDNOTE_TITLE_CONTROL---> - -<a name="ENDNOTE_TITLE_CONTROL"><h3><u>*Endnote document-identification title control</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.ENDNOTE_TITLE_FAMILY default = prevailing document family; default is Times Roman -.ENDNOTE_TITLE_FONT default = bold -.ENDNOTE_TITLE_SIZE* default = 0 -.ENDNOTE_TITLE_QUAD default = left - -*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) -</pre> - -<!---ENDNOTE_TITLE_UNDERSCORE---> - -<a name="ENDNOTE_TITLE_UNDERSCORE"><h3><u>*Endnote document-identification title underscoring</h3></u></a> -<p> -<nobr>Macro: <strong>ENDNOTE_TITLE_UNDERSCORE</strong> toggle</nobr> - -<p> -Invoked by itself, <strong>ENDNOTE_TITLE_UNDERSCORE</strong> will -underscore the endnote document-identification title(s). Invoked with any -other argument, the macro disables underscoring of the title(s). -<p> -<strong>Mom</strong>'s default is to underscore the document-identification title, therefore if you want no underscoring, you must -insert <kbd>.ENDNOTE_TITLE_UNDERSCORE OFF</kbd> (or <kbd>QUIT, X, NO, -NONE,</kbd> etc.) into your document prior to outputting endnotes with -<a href="#ENDNOTES">ENDNOTES</a>. -<p> - -<!---ENDNOTE_NUMBERING---> - -<a name="ENDNOTES_NUMBERING"><h2><u>5. Endnotes-pages endnote numbering style</u></h2> - -<a name="ENDNOTE_MARKER_STYLE"><h3><u>*Endnote marker style</u></h3></a> -<p> -The macro to control how endnotes are referenced is -<strong>ENDNOTE_MARKER_STYLE</strong>. -<p> -By default, <strong>mom</strong> places superscript numbers in -<a href="definitions.html#RUNNING">running text</a> -to identify endnotes. However, if you have -<a href="#NUMBER_LINES">line-numbering</a> -turned on, you may instruct <strong>mom</strong> not to put -superscript numbers in the running text, but rather to reference -endnotes by line number. The command to do this is -<p> -<pre> - .ENDNOTE_MARKER_STYLE LINE -</pre> - -With <strong>ENDNOTE_MARKER_STYLE LINE</strong>, <strong>mom</strong> -will identify endnotes either by single line numbers, or line -ranges. If what you want is a single line number, you need only -invoke <strong>.ENDNOTE</strong>, <em>without terminating the text -line before it with</em> <strong>\c</strong>, at the appropriate -place in running text. (Should you wish to revert to -<strong>mom</strong>'s default behaviour of placing a superscript -number in the text to identify an endnote, you can invoke -<strong>ENDNOTE_MARKER_STYLE</strong> with the argument, -<strong>NUMBER</strong>. It is not advisable to switch marker -styles within a single document, for aesthetic reasons, but there -is nothing to prevent you from doing so.) -<p> -If you want a range of line numbers (e.g. [5-11] ), -insert, directly into the first line of the range you want, the -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -<strong>\*[EN-MARK]</strong>. For the terminating line number of -the range, you need only invoke <strong>.ENDNOTE</strong>, (again, -without attaching <strong>\c</strong> to the text line before it). -<strong>Mom</strong> is smart enough to figure out that where -<strong>ENDNOTE</strong> was invoked represents the terminating -line number. -<a name="ENDNOTE_LINENUMBER_GAP"></a> -<p> -Given the impossibility of knowing, in advance, the "string length" -of all the line numbers or ranges of line numbers that will be used -in endnotes (the string length of 12 is two; the string length -of 12-15 is 5), <strong>mom</strong> cannot "hang" line numbers -and guarantee that they, and the endnote text, will align in a -visually pleasing manner. Consequently, <strong>mom</strong> sets -the entirety of line-numbered endnotes completely flush left, -<strong>including the line numbers themselves</strong>. The line -numbers (by default, enclosed in square brackets) are separated from -the beginning of each endnote by a gap, so that a line-numbered -endnote looks approximately like this: -<p> -<pre> - [1-2] Notwithstanding, Frye later asserts that Christianity - is "a ghost with the chains of a foul historical record of - cruelty clanking behind it." -</pre> - -The default gap for <strong>PRINTSTYLE TYPESET</strong> and -<strong>PRINSTYLE TYPEWRITE</strong> is 1.5 -<a href="definitions.html#TERMS_EM">ems</a>. -You can change the size of the gap with the macro, -<strong>ENDNOTE_LINENUMBER_GAP</strong>, which takes, as its single -argument, the size of the gap. The argument requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, -so, for example, to change the gap to 2 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>, -you'd do -<p> -<pre> - .ENDNOTE_LINENUMBER_GAP 2P -</pre> - -<a name="ENDNOTE_LINENUMBER_BRACKETS"></a> -By default, <strong>mom</strong> puts endnote line numbers inside -square brackets. The style of the brackets may be changed with -the macro, <strong>ENDNOTE_LINENUMBER_BRACKETS</strong>, which -takes one of three possible arguments: <strong>PARENS</strong> -("round" brackets), <strong>SQUARE</strong> (the default) or -<strong>BRACES</strong> (curly braces). If you prefer a -shortform, the arguments, <strong>(</strong>, <strong>[</strong> or -<strong>{</strong> may be used instead. -<a name="ENDNOTE_LINENUMBER_SEPARATOR"></a> -<p> -If you don't want the numbers enclosed in brackets, you may tell -<strong>mom</strong> to use a "separator" instead. A common -separator would be the colon, but it can be anything you like. The -macro to do this is <strong>ENDNOTE_LINENUMBER_SEPARATOR</strong>, -which takes, as its single argument, the separator you want. -(If the argument contains spaces, don't forget to enclose the -argument in double-quotes.) The separator can be composed of -any legal groff character, or any combination of characters. -For example, to get a colon separator after the line number in -line-numbered endnotes, you'd do -<p> -<pre> - .ENDNOTE_LINENUMBER_SEPARATOR : -</pre> - -<a name="ENDNOTE_NUMBER_CONTROL"><h3><u>*Endnote numbering style control</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -Please note that the control macros for endnote numbering affect only -the numbers that appear on the endnotes pages themselves, not the -endnote numbers that appear in the body of the document(s). -<p> -<pre> -.ENDNOTE_NUMBER_FAMILY default = prevailing document family; default is Times Roman -.ENDNOTE_NUMBER_FONT default = bold -.ENDNOTE_NUMBER_SIZE* default = 0 - -*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE) -</pre> - -<a name="ENDNOTE_NUMBER_ALIGNMENT"><h3><u>*Endnote numbering alignment</u></h3></a> -<p> -By default, <strong>mom</strong> hangs the numbers on endnotes pages, -aligned right to two placeholders, producing this: -<p> -<a name="ENDNOTE_NUMBERING_ALIGNMENT_EXAMPLE"></a> -<pre> - 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore et - dolore magna aliquyam erat, sed diam voluptua. - - 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore et - dolore magna aliquyam erat, sed diam voluptua. -</pre> - -The macros to alter this behaviour are -<br> -<ul> - <li><a href="#ENDNOTE_NUMBERS_ALIGN_RIGHT"><strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong></a> - <li><a href="#ENDNOTE_NUMBERS_ALIGN_LEFT"><strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong></a> -</ul> -<br> -<hr width="66%" align="left"> - -<!---ENDNOTE_NUMBERS_ALIGN_RIGHT---> - -<p> -<a name="ENDNOTE_NUMBERS_ALIGN_RIGHT"> - <nobr>Macro: <strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong> <number of placeholders></nobr> -</a> -<p> -<strong>ENDNOTE_NUMBERS_ALIGN_RIGHT</strong> takes one (non-optional) -argument: the number of placeholders to reserve for right alignment of -endnote numbers. -<p> -For example, if you have fewer than ten endnotes, you might want to do -<p> -<pre> - .ENDNOTE_NUMBERS_ALIGN_RIGHT 1 -</pre> - -which would ensure that the endnote numbers hang, but are all flush -with the page's left margin. If, god help you, you have over a hundred -endnotes, you'd want to do -<p> -<pre> - .ENDNOTE_NUMBERS_ALIGN_RIGHT 3 -</pre> - -to ensure that the numbers hang and are properly right-aligned. -<p> - -<hr width="66%" align="left"> - -<!---ENDNOTE_NUMBERS_ALIGN_LEFT---> - -<p> -<a name="ENDNOTE_NUMBERS_ALIGN_LEFT"> - Macro: <strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong> -</a> -<p> -If you don't want the endnote numbers to hang and right-align, invoke -<strong>ENDNOTE_NUMBERS_ALIGN_LEFT</strong>, which doesn't require any -argument. This disables hanging and right-alignment of endnote numbers, -so that the example -<a href="#ENDNOTE_NUMBERING_ALIGNMENT_EXAMPLE">above</a> -comes out like this: -<p> -<pre> - 9. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore et - dolore magna aliquyam erat, sed diam voluptua. - - 10. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, - sed diam nonumy eirmod tempor invidunt ut labore et - dolore magna aliquyam erat, sed diam voluptua. -</pre> -<hr> - -<!====================================================================> - -<a name="MARGIN_NOTES_INTRO"><h2><u>Margin notes</u></h2></a> -<ul> - <li><a href="#MARGIN_NOTES_BEHAVIOUR">Margin notes behaviour - <ul> - <li><a href="#MARGIN_NOTES_VERTICAL">Adjusting the vertical position of margin notes</a> - </ul> - <li><a href="#MN_INIT">Macro: MN_INIT</a> -- initialize margin notes - <li><a href="#MN">Tag: MN</a> -</ul> - -<p> -Margin notes are short annotations that appear in either the left -or right margin of a document. Sometimes they comment on the text. -Sometimes they assist in following the "flow" of a document by -summarizing the subject of a portion of text. Sometimes they're -comments to yourself in a draft copy. -<p> -The margin notes macros and routines in om.tmac -(<strong>mom</strong>) are "mommified" versions of the margin notes -macros and routines written by Werner Lemberg and patched by Gaius -Mulley. -<p> - -<a name="MARGIN_NOTES_BEHAVIOUR"<h3><u>Margin notes behaviour</u></h3> -<p> -First things first: before you enter your first margin note, you -must "initialize" margin notes with -<a href="#MN_INIT">MN_INIT</a>. -<strong>MN_INIT</strong> sets up the style parameters for margin -notes, including things like -<a href="definitions.html#TERMS_FONT">font</a>, -<a href="definitions.html#TERMS_FAMILY">family</a> -and -<a href="definitions.html#TERMS_LEADING">leading</a>. -<p> -After initializing margin notes, you create margin notes with the -<a href="#MN">MN</a> -macro. Based on the argument you pass <strong>MN</strong>, your -margin note will go in either the left or the right margin. -<p> -Margin notes are tricky from a typographic standpoint with respect -to vertical placement. Since the leading of margin notes may -differ from that of -<a href="definitions.html#TERMS_RUNNING">running text</a>, -it's impossible for <strong>mom</strong> to guess whether to align -the first lines of margin notes with a document -<a href="definitions.html#TERMS_BASELINE">baseline</a>, -whether to align the last lines of margin notes with a document -baseline, or whether to center them, vertically, so that neither -first nor last line aligns with anything! -<p> -Given this difficulty, <strong>mom</strong> always aligns the first -line of any margin note with a document baseline. If you want a -different behaviour, you must adjust the position(s) of margin -notes yourself, on a note by note basis. (See -<a href="#MARGIN_NOTES_VERTICAL">Adjusting the vertical position of margin notes</a>.) -<p> -Generally speaking, <strong>mom</strong> tries to place margin -notes at the point where you invoke the tag, -<a href="#MN">MN</a>. -However, in the event that a margin note runs deep, she may not -be able to place a subsequent margin note exactly where you want. -In such an instance, <strong>mom</strong> will "shift" the margin -note down on the page, placing it one (margin note) -linespace beneath the previous margin note (plus whatever vertical -space is required to get the first line to line up with a baseline -of running text). A warning will be issued, letting you know this -has happened, and where. -<p> -Sometimes, if a margin note has to be shifted down, there simply -isn't enough room to start the margin note on the page on which -<strong>MN</strong> is invoked. In that case, <strong>mom</strong> -ignores the margin note entirely and issues a warning, letting you -know what she's done, and where. -<p> -In the event that a margin note, sucessfully begun on a page, -runs past your bottom margin (or the last line before footnotes -begin), the margin note will "flow" onto the next page. If it is a -"left" margin note, it will continue in the left margin. If it is a -"right" margin note, it will continue in the right margin. -<p> -If your document is being set in two columns, <strong>mom</strong> -will sensibly and automatically set all margin notes pertaining -to the left column in the left margin, and all margin notes -pertaining to the right column in the right margin, regardless of -the "direction" argument you give the <strong>MN</strong> tag. If -you try to use <strong>MN</strong> in documents of more than two -columns, <strong>mom</strong> will ignore all margin notes, and -issue warning for each. -<p> -<h3><u><a name="MARGIN_NOTES_VERTICAL">Adjusting the vertical position of margin notes</a></u></h3> -<p> -When the -<a href="definitions.html#TERM_LEADING">leading</a> -of margin notes differs from the leading used throughout a document, -you may want to adjust the vertical position of individual margin -notes. This is most often going to be the case with margin notes -that end near the bottom of the page, where you want the last line of -the margin note to line up with the last line of text on the page. -<p> -Adjustments to the vertical position of margin notes must be done -inside the margin note (i.e. after <strong>MN</strong>), at the -top, before entering text. The commands to use are -\!<a href="typesetting.html#ALD">.ALD</a> -(to lower the margin note), and -\!<a href="typesetting.html#RLD">.RLD</a> -(to raise it). The <strong>\!</strong> <em>must</em> precede the -macros, or they won't have any effect. - -<p> -<hr width="66%" align="left"> - -<!---MN_INIT---> - -<p> -<a name="MN_INIT"> - <nobr>Macro: <strong>MN_INIT</strong> [ ragged | symmetric ] < left-width right-width gutter family+font point-size lead colour hyphenation-flags ></nobr> -</a> -<p> -Before you enter your first margin note, you must initialize -all the parameters associated with margin notes with -<strong>MN_INIT</strong>. If you forget to do so, -<strong>mom</strong> will issue a warning and abort. -<p> -The argument list is quite long; an -explanation of each argument follows. Any argument whose value you -want to be the default must be entered as "" (i.e. two -double-quotes with no space between them). Defaults for each -argument are given in the explanation below. -<p> -<strong>[ ragged | symmetric ]</strong> -<br> -If the first argument is "ragged", both left and right margin notes -will be flush left. If the first argument is "symmetric", left -margin notes will be set flush <em>right</em>, and right margin -notes will be set flush <em>left</em>. The effect is something -like this: -<p> -<pre> - A left This is a meaningless batch A right - margin note of text whose sole purpose is margin note - with just to demonstrate how the sym- with just - a few words metric argument to MN sets left a few words - in it. and right margin notes. in it. -</pre> - - -If the argument is omitted, -or given as "", both left and right margin notes will be set -justified. (Justified is usually not a good idea, since the narrow -measure of margin notes makes pleasing justification a near -impossibility.) -<p> -<strong>left-width</strong> -<br> -The width of left margin notes. A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -must be appended directly onto the argument. The default is to set -left margin notes right out to the edge of the page, which is -almost certainly not what you want, so you should give a value for -this argument if using left margin notes. -<p> -<strong>right-width</strong> -<br> -The width of right margin notes. A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -must be appended directly onto the argument. The default is to set -right margin notes right out to the edge of the page, which is -almost certainly not what you want, so you should give a value for -this argument if using right margin notes. -<p> -<strong>gutter</strong> -<br> -The -<a href="definitions.html#TERMS_GUTTER">gutter</a> -between margin notes and -<a href="definitions.html#TERMS_RUNNING">running text</a>. -A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -must be appended directly onto the argument. The gutter applies to -both left and right margin notes. The default is 1 -<a href="definitions.html#TERMS_EM">em</a>. -<p> -<strong>font</strong> -<br> -The family+font for margin notes. Yes, that's right: the family -PLUS font combo. For example, if you want Times Roman Medium, -the argument must be TR. If you want Palatino Medium Italic, the -argument must be PI. The default is the same family+font combo used -for a document's paragraph text. -<p> -<strong>lead</strong> -<br> -The -<a href="definitions.html#TERMS_LEADING">leading</a> -of margin notes. <strong>lead</strong> uses -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -as its unit of measure, so don't tack a unit of measure onto the -end of the argument. The default lead is the same leading as -is used for paragraph text (i.e. the document's base leading). -For convenience and clarity, you may also give the word, -<strong>DOC</strong>, to this argument, which indicates that the -leading should be the same as the document's base leading. -<p> -<strong>colour</strong> -<br> -The colour of margin notes. The colour must be pre-initialized -with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -The default is black. -<p> -<strong>hyphenation-flags</strong> -<br> -A number telling <strong>groff</strong> how you want margin notes -hyphenated. -<p> -<pre> - 1 = hyphenate without restrictions - 2 = do not hyphenate the last word on the page - 4 = do not hyphenate the last two characters of a word - 8 = do not hyphenate the first two characters of a word -</pre> - -The values can be added together, so, for example, if you want -neither the first two nor the last two characters of words -hyphenated, the hyphenation-flag would be 12. The default value is -14 (i.e. 2+4+8). - -<p> -<hr width="66%" align="left"> - -<!---MN_INIT---> - -<p> -<a name="MN"> - <nobr>Macro: <strong>MN</strong> LEFT|RIGHT | <anything></nobr> -</a> -<p> -Once you've initialized margin notes with -<a href="#MN_INIT">MN_INIT</a>, -you can enter margin notes any time you like with -<strong>MN</strong>. An argument of <strong>LEFT</strong> will set -a left margin note. An argument of <strong>RIGHT</strong> will set -a right margin note. -<p> -Any argument, such as <strong>OFF</strong> (or -<strong>QUIT</strong>, <strong>END</strong>, <strong>X</strong>, -etc) exits the current margin note. - -<p> -<hr> - -<!====================================================================> - -<a name="BLANK_PAGE_TITLE"><h2><u>Inserting a blank page into the document</u></h2></a> -<p> -<a name="BLANK_PAGE"> - <nobr>Macro: <strong>BLANKPAGE</strong> <# of blank pages to insert></nobr> -</a> - -<p> -This one does exactly what you'd expect -- inserts a blank page into -the document. <strong>Mom</strong> silently increments the page -number of every blank page and keeps track of -<a href="rectoverso.html#RECTO_VERSO">recto/verso</a> -stuff, but otherwise, does nothing. It's up to you, the user, to -figure out what to do with this feature. However, it's worth -noting that without it, inserting completely blank pages, to use -a vernacular Québécois phrase, "c'est pas évident" -(somewhere between "isn't easy", "isn't -obvious" and "isn't fun"). -<p> -The argument to <strong>BLANK_PAGE</strong> is the number of blank -pages to insert. The argument is not optional, hence even if you -only want one blank page, you have to tell <strong>mom</strong>: -<p> -<pre> - .BLANKPAGE 1 -</pre> - -<a name="FINIS_INTRO"><h2><u>Terminate document processing</u></h2></a> -<ul> - <li><a href="#FINIS">Tag: FINIS</a> - <li><a href="#FINIS_STRING">Changing the FINIS string</a> -</ul> - -<p> -The use of <strong>FINIS</strong> is optional. If you invoke it -(at the end of a document before -<a href="#TOC">TOC</a> -or -<a href="#ENDNOTES">ENDNOTES</a>), -<strong>mom</strong> -deposits the word END, centred after a blank line, beneath the last -line of the document. END is enclosed between -<a href="definitions.html#TERMS_EM">em-dashes</a>. -<p> -<strong>Please note</strong> that in versions of -<strong>mom</strong> prior to 1.1.9, <strong>FINIS</strong> used to -turn off -<a href="definitions.html#TERMS_FOOTER">footers</a> -(if they were on) and page numbering (if page numbers were at the -bottom of the page). Damned if I can recall why I thought anyone -would want this behaviour, but it has been removed. -<p> -If you're writing in a language other than English, you can -change what <strong>mom</strong> prints for END with -the control macro <strong>FINIS_STRING</strong>. -<p> -<hr> - -<!====================================================================> - -<a name="TOC_INTRO"><h2><u>Table of contents</u></h2></a> -<ul> - <li><a href="#TOC_BEHAVIOUR">TOC behaviour</a> - <li><a href="#TOC">Macro: TOC</a> -- tell <strong>mom</strong> to output a table of contents - <li><a href="#TOC_CONTROL">TOC control macros</a> -</ul> - -<p> -Want a table of contents for your document? Easy. Just enter -<p> -<pre> - .TOC -</pre> - -as the very last macro of your document file. <strong>Mom</strong> -will have picked up all document titles (in -<a href="docprocessing.html#COLLATE">collated</a> -documents), all heads, subheads, and paragraph heads, as well as any -endnotes pages that have been output, and assigned them the -appropriate page number (and page numbering style). Talk about a -no-brainer! - -That said, tables of contents (tocs) have even more control macros -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. <strong>Mom</strong> is all about -simplicity AND flexibility. -<p> - -<a name="TOC_BEHAVIOUR"><h3><u>TOC behaviour</u></h3></a> -<p> -When you output a toc (with -<a href="#TOC">TOC</a>), -<strong>mom</strong> finishes processing the last page of your document, -then breaks to a new page for printing the toc. -<p> -<strong>Mom</strong> follows standard typesetting conventions for -tables of contents. To this end, if -<a href="headfootpage.html#HEADERS">HEADERS</a> -are on for the document, the first page of the toc has no page -header, but does have a first page (roman numeral) number, always -"1", in the bottom margin. If -<a href="headfootpage.html#FOOTERS">FOOTERS</a> -are on for the document, the first page has neither a footer, nor a -page number in the top margin. (If you absolutely must have a page -footer on the first page of the toc, simply invoke -<a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a> -immediately before <strong>TOC</strong>.) Subsequent toc pages have -both page headers or footers and a page number. -<p> -Entries in the toc are hierarchically indented, as you would -expect. By default, each type of entry (e.g. a head or a subhead) -is set in a different font as well. If any of heads, subheads or -paragraph heads are numbered in the body of the document, they are -also numbered in the toc. Head numbering in the toc is NOT -concatenated as it is in the body of the document, which would be -visually redundant in a toc. -<p> -Tocs are never set in columns, regardless of whether the rest of -the document is. Lastly, if -<a href="rectoverso.html#RECTO_VERSO">recto/verso</a> -printing is enabled, the toc respects it. This sometimes leads to -tocs that begin with the wrong margins, but the margins can be -corrected either by outputting a -<a href="#BLANK_PAGE">BLANKPAGE</a> -or by using the toc control macro -<a href="#TOC_RV_SWITCH">TOC_RV_SWITCH</a>. -<p> -The overall toc -<a href="definitions.html#TERMS_FAMILY">family</a>, -<a href="definitions.html#TERMS_PS">point size</a> -and -<a href="definitions.html#TERMS_LEADING">lead</a> -can be altered with the toc -<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>, -as can the family, -<a href="definitions.html#TERMS_FONT">font</a>, -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. -<p> - -<!---TOC---> - -<hr width="66%" align="left"> -<p> -<a name="TOC">Macro: <strong>TOC</strong></a> - -<p> -If you want a toc, just put <strong>TOC</strong> as the last macro -in a document. <strong>Mom</strong> takes care of the rest. -<p> -<hr width="66%" align="left"> - -<a name="TOC_CONTROL"><h3><u>TOC control macros</u></h3></a> -<p> -Toc entries are not actually processed when <strong>mom</strong> -collects them, so you can put any toc control macros anywhere you -like in your document. Some may prefer to place them at the top of -the file. Others may prefer to place them just before outputting -the toc. The choice is yours. -<br> -<ol> - <li><a href="#TOC_GENERAL"><strong>General toc page style control</strong></a> - <ul> - <li><a href="#TOC_FAMILY">Base family for toc pages</a> - <li><a href="#TOC_PT_SIZE">Base point size for toc pages</a> - <li><a href="#TOC_LEAD">Leading of toc pages</a> - </ul> - <li><a href="#TOC_PAGENUMBERING"><strong>Toc page numbering</strong></a> - <ul> - <li><a href="#PAGINATE_TOC">Turn toc pagination on or off</a> - <li><a href="#TOC_PAGENUM_STYLE">Toc page numbering style</a> - </ul> - <li><a href="#TOC_HEADER"><strong>Changing the toc header (title), string and style</strong></a> - <ul> - <li><a href="#TOC_HEADER_STRING">Changing the string (title)</a> - <li><a href="#TOC_HEADER_STYLE">Changing the string (title) style</a> - </ul> - <li><a href="#TOC_STYLE"><strong>Changing the style for toc entries</strong></a> - <ul> - <li><a href="#TOC_INDENT">The toc _INDENT control macros</a> - <li><a href="#TOC_TITLE">Changing the style for toc title entries</a> - <li><a href="#TOC_HEAD">Changing the style for toc head entries</a> - <li><a href="#TOC_SUBHEAD">Changing the style for toc subhead entries</a> - <li><a href="#TOC_PARAHEAD">Changing the style for toc paragraph head entries</a> - <li><a href="#TOC_PN">Changing the style for toc page number listings</a> - </ul> - <li><a href="#TOC_ADDITIONAL"><strong>Additional toc control macros</strong></a> - <ul> - <li><a href="#TOC_TITLE_ENTRY">Change the wording of a toc title entry</a> - <li><a href="#TOC_APPENDS_AUTHOR">Append author(s) to toc title entries</a> - <li><a href="#TOC_RV_SWITCH">TOC_RV_SWITCH</a> - <li><a href="#TOC_PADDING">TOC_PADDING</a> - </ul> -</ol> -<hr> - -<a name="TOC_GENERAL"><h2><u>1. General toc page style control</u></h2> - -<a name="TOC_FAMILY"><h3><u>*Toc family</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -Set the family of toc pages with <strong>TOC_FAMILY</strong>, which -establishes the default family for every element of a toc page, -including the toc title ("Contents") and the page number -in the top or bottom margin. The default is the prevailing document -family. -<p> -All elements on a toc page also have their own _FAMILY -control macros, which override the default set by -<strong>TOC_FAMILY</strong>. -<p> - -<!---TOC_PT_SIZE---> - -<a name="TOC_PT_SIZE"><h3><u>*Toc point size</u></h3></a> -<p> -<nobr>Macro: <strong>TOC_PT_SIZE</strong> <base type size of the toc></nobr> - -<p> -Unlike most other control macros that deal with size of document -elements, <strong>TOC_PT_SIZE</strong> takes as its argument an -absolute value, relative to nothing. Therefore, the argument -represents the size of toc type in -<a href="definitions.html#TERMS_PICASPOINTS">points</a>, -unless you append an alternative -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, -<p> -<pre> - .TOC_PT_SIZE 12 -</pre> - -sets the base point size of type for the toc to 12 points, whereas -<p> -<pre> - .TOC_PT_SIZE .6i -</pre> - -sets the base point size of type for the toc to 1/6 of an inch. -<p> -The type size set with <strong>TOC_PT_SIZE</strong> forms the basis -from which the point size of other toc page elements are calculated. -<p> -The default for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -is 12.5 points (the same default size used in the body of the -document). -<p> - -<!---TOC_LEAD---> - -<a name="TOC_LEAD"><h3><u>*Toc lead</u></h3></a> -<p> -<nobr>Macro: <strong>TOC_LEAD</strong> <leading of the toc> [ ADJUST ]</nobr> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> - -<p> -Unlike most other control macros that deal with leading of document -elements, <strong>TOC_LEAD</strong> takes as its argument an -absolute value, relative to nothing. Therefore, the argument -represents the -<a href="definitions.html#TERMS_LEADING">leading</a> -of tocs in -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -unless you append an alternative -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, -<p> -<pre> - .TOC_LEAD 14 -</pre> - -sets the base leading of type on the endnotes page to 14 -points, whereas -<p> -<pre> - .TOC_LEAD .5i -</pre> - -sets the base leading of type on the endnotes page to 1/2 inch. -<p> -If you want the leading of toc pages adjusted to fill the -page, pass <strong>TOC_LEAD</strong> the optional argument -<strong>ADJUST</strong>. (See -<a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> -for an explanation of leading adjustment.) -<p> -The default for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -is the prevailing document lead (16 by default), adjusted. -<p> -<strong>NOTE:</strong> Even if you give <strong>mom</strong> a -<strong>DOC_LEAD_ADJUST OFF</strong> command, she will still, by -default, adjust toc leading. You MUST enter -<strong>TOC_LEAD <lead></strong> with no -<strong>ADJUST</strong> argument to disable this default behaviour. -<p> -<strong>ADDITIONAL NOTE:</strong> Tocs are always double-spaced in -<strong>PRINTSTYLE TYPEWRITE</strong>, regardless of whether the -body of the document is single-spaced. - -<a name="TOC_PAGENUMBERING"><h2><u>2. Toc page numbering</u></h2></a> -<p> -The page numbering of toc pages is controlled by the same macros -that control -<a href="headfootpage.html#PAGINATION">document page numbering</a>, -except -<a href="headfootpage.html#PAGENUM">PAGENUM</a> -(tocs always start on page 1). The defaults are the same as the -rest of the document. -<p> -If you wish to change some aspect of toc pagination, use the -document pagination control macros immediately prior to -<strong>.TOC</strong>. -<p> -A special macro, -<a href="#TOC_PAGENUM_STYLE">TOC_PAGENUM_STYLE</a> -controls the style of toc pages page numbers. -<p> - -<hr width="33%" align="left"> - -<!---PAGINATE_TOC---> - -<p> -<a name="PAGINATE_TOC"> - <nobr>Macro: <strong>PAGINATE_TOC</strong> <toggle></nobr> -</a> -<p> -By default, <strong>mom</strong> paginates the toc. If you'd like -her not to, do -<p> -<pre> - .PAGINATE_TOC OFF -</pre> - -<strong>NOTE:</strong> Simply invoking <strong>PAGINATION -OFF</strong> or <strong>PAGINATE OFF</strong> disables toc -pagination <em>for the first toc page only.</em> You MUST use -<strong>.PAGINATE_TOC OFF</strong> to disable toc pagination, even -if pagination is turned off elsewhere in your document. -<p> - -<hr width="33%" align="left"> -<p> - -<!---TOC_PAGENUM_STYLE---> - -<a name="TOC_PAGENUM_STYLE"> - <nobr>Macro: <strong>TOC_PAGENUM_STYLE</strong> <DIGIT | ROMAN | roman | ALPHA | alpha></nobr> -</a> -<p> -By default, <strong>mom</strong> uses roman numerals to number -toc pages. Use <strong>TOC_PAGENUM_STYLE</strong> if you'd prefer -something else. For example, to have standard digits instead of -roman numerals, do the following: -<p> -<pre> - .TOC_PAGENUM_STYLE DIGIT -</pre> - -<hr width="33%" align="left"> - -<a name="TOC_HEADER"><h2><u>3. Changing the toc header (title) string and style</u></h2></a> -<p> -The toc header string is the title that appears at to top of the -toc. By default, it's "Contents". If you'd like -something else, say, "Table of Contents", do -<p> -<a name="TOC_HEADER_STRING"></a> -<pre> - .TOC_HEADER_STRING "Table of Contents" -</pre> - -<a name="TOC_HEADER_STYLE"></a> -The style of the toc header (title) is managed by the usual control -macros (see -<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). -<p> -<pre> - .TOC_HEADER_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) - .TOC_HEADER_FONT default = bold - .TOC_HEADER_SIZE default = +4 - .TOC_HEADER_QUAD default = left -</pre> - -<a name="TOC_STYLE"><h2><u>4. Changing the style for toc entries</u></h2></a> -<p> -"Toc entries" refers to titles, heads, subheads and -paragraph heads as they appear in the toc. Their style is managed -by the usual -<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>, -starting with TOC_ -<p> - -<a name="TOC_INDENT"><h3><u>The toc _INDENT control macros</u></h3></a> -<p> -The toc control macros that end in _INDENT all take a single -argument that requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -The argument is the distance to indent the entry, always measured -from the left margin. For example, -<p> -<pre> - .TOC_HEAD_INDENT 2P -</pre> - -indents head entries 2 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a> -from the left margin. -<p> - -<a name="TOC_TITLE"><h3><u>*Changing the style for toc title entries</u></h3></a> -<p> -(See -<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). -<p> -Toc title entries are the titles of documents that have been -<a href="rectoverso.html#COLLATE">collated</a> -together. -<p> -<pre> - .TOC_TITLE_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) - .TOC_TITLE_FONT default = bold italic - .TOC_TITLE_SIZE default = +0 - .TOC_TITLE_INDENT default = 0 for TYPESET and TYPEWRITE -</pre> - -<a name="TOC_HEAD"><h3><u>*Changing the style for toc head entries</u></h3></a> -<p> -(See -<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). -<p> -Toc head entries are main heads that appear in the body of a -document. -<p> -<pre> - .TOC_HEAD_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) - .TOC_HEAD_FONT default = bold - .TOC_HEAD_SIZE default = +.5 - .TOC_HEAD_INDENT default = 18p for TYPESET; 2m for TYPEWRITE -</pre> - -<a name="TOC_SUBHEAD"><h3><u>*Changing the style for toc subhead entries</u></h3></a> -<p> -(See -<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). -<p> -Toc subhead entries are subheads that appear in the body of a -document. -<p> -<pre> - .TOC_SUBHEAD_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) - .TOC_SUBHEAD_FONT default = roman - .TOC_SUBHEAD_SIZE default = +0 - .TOC_SUBHEAD_INDENT default = 30p for TYPESET; 4m for TYPEWRITE -</pre> - -<a name="TOC_PARAHEAD"><h3><u>*Changing the style for toc paragraph head entries</u></h3></a> -<p> -(See -<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). -<p> -Toc paragraph head entries are paragraph heads that appear in the -body of a document. -<p> -<pre> - .TOC_PARAHEAD_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) - .TOC_PARAHEAD_FONT default = italic - .TOC_PARAHEAD_SIZE default = +0 - .TOC_PARAHEAD_INDENT default = 42p for TYPESET; 6m for TYPEWRITE -</pre> - -<a name="TOC_PN"><h3><u>*Changing the style for toc paragraph page number listings</u></h3></a> -<p> -(See -<a href="#CONTROL_MACRO_ARGS">arguments to the control macros</a>). -<p> -Toc paragraph head entries are paragraph heads that appear in the -body of a document. -<p> -<pre> - .TOC_PN_FAMILY default = prevailing doc family (Times Roman in TYPEWRITE) - .TOC_PN_FONT default = roman - .TOC_PN_SIZE default = +0 -</pre> - -<a name="TOC_ADDITIONAL"><h2><u>5. Additional toc macros</u></h2></a> -<p> -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 -<strong>mom</strong> append author(s) to toc title entries. -<p> - -<hr width="33%" align="left"> - -<!---TOC_RV_SWITCH---> - -<p> -<a name="TOC_RV_SWITCH"> - Macro: <strong>TOC_RV_SWITCH</strong> -</a> -<p> -<strong>TOC_RV_SWITCH</strong> doesn't take an argument. It simply -instructs <strong>mom</strong> to switch the left and right margins -of -<a href="rectoverso.html#RECTO_VERSO">recto/verso</a> -documents should the toc happen to begin on an even page when you -want an odd, or vice versa. -<p> -The same result can be accomplished by outputting a -<a href="#BLANK_PAGE">BLANKPAGE</a>. -<p> - -<hr width="33%" align="left"> - -<!---TOC_TITLE_ENTRY---> - -<p> -<a name="TOC_TITLE_ENTRY"> - <nobr>Macro: <strong>TOC_TITLE_ENTRY</strong> <"alternate wording for a title entry in the toc"></nobr> -</a> -<p> -In -<a href="rectoverso.html#COLLATE">collated</a> -documents, the title of each separate document appears in the table -of contents. It may sometimes happen that you don't want the title -as it appears in the toc to be the same as what appears in -the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>. -You might, for example, want to shorten it. Or, in the case of -chapters where the docheader contains both a chapter number and a -chapter title, like this -<p> -<pre> - Chapter 6 - Burning Bush -- Maybe God Was Right -</pre> - -you might want only the chapter title, not the chapter number, to -show up in the toc. (By default, <strong>TOC</strong> generates -both.) -<p> -If you want to change the wording of a title entry in the toc, -simply invoke <strong>TOC_TITLE_ENTRY</strong> with the desired -wording, enclosed in double-quotes. Using the example, above, -<p> -<pre> - .CHAPTER 6 - .CHAPTER_TITLE "Burning Bush -- Maybe God Was Right" - .TOC_TITLE_ENTRY "Burning Bush" - .DOCTYPE CHAPTER -</pre> - -would identify chapter 6 in the toc simply as "Burning -Bush". - -<p> - -<hr width="33%" align="left"> - -<!---TOC_APPENDS_AUTHOR---> - -<p> -<a name="TOC_APPENDS_AUTHOR"> - <nobr>Macro: <strong>TOC_APPENDS_AUTHOR</strong> <none> | <"name(s) of authors"></nobr> -</a> -<p> -In certain kinds of collated documents, different authors are -responsible for the articles or stories contained within them. In -such documents, you may wish to have the author or authors -appended to the toc's title entry for each story or article. -<p> -If you invoke <strong>TOC_APPENDS_AUTHOR</strong> with no argument, -<strong>mom</strong> appends the first argument you passed to -<a href="docprocessing.html#AUTHOR">AUTHOR</a> -to toc title entries, separated by a front-slash. -<p> -If you invoke <strong>TOC_APPENDS_AUTHOR</strong> with an argument -(surrounded by double-quotes), <strong>mom</strong> will append it -to the toc title entries instead. This is useful if you have -multiple authors you wish to identify by last name only. For -example, if three authors--Joe Blough, Jane Doe, and John -Deere--are responsible for a single article -<p> -<pre> - .TOC_APPENDS_AUTHOR "Blough et al." -</pre> - -would be a good way to identify them in the toc. -<p> - -<hr width="33%" align="left"> - -<!---TOC_PADDING---> - -<p> -<a name="TOC_PADDING"> - <nobr>Macro: <strong>TOC_PADDING</strong> <# of placeholders to allow for page number listings></nobr> -</a> -<p> -By default, <strong>mom</strong> allows room for 3 digits in the -page number listings of tocs. If you'd like some other number of -placeholders, say 2, do -<p> -<pre> - .TOC_PADDING 2 -</pre> - -<!---FINIS---> - -<hr width="66%" align="left"> -<p> -<a name="FINIS"> - Macro: <strong>FINIS</strong> -</a> - -<p> -The use of <strong>FINIS</strong> is optional, but if you use -it, it should be the last macro you invoke in a document (before -<a href="#ENDNOTES">ENDNOTES</a> -or -<a href="#TOC">TOC</a>). -See -<a href="#FINIS_INTRO">above</a> -for a description of how <strong>FINIS</strong> behaves. -<p> -<strong>NOTE:</strong> If you don't use <strong>FINIS</strong>, -and you don't want -<a href="definitions.html#TERMS_FOOTER">footers</a> -(if they're on) or a page number at the bottom of the last page of -a document, you have to turn them off manually, as the last two -lines of your document file, like this: -<p> -<pre> - .FOOTERS OFF - .PAGINATE OFF -</pre> - -<a name="FINIS_STRING"><h3><u>Changing the FINIS string</u></h3></a> - -<p> -By default, <strong>FINIS</strong> prints the word -END between -<a href="definitions.html#TERMS_EM">em-dashes</a>. -If you'd like <strong>mom</strong> to print something else -between the dashes, use the <strong>FINIS_STRING</strong> macro -(anywhere in the document prior to <strong>FINIS</strong>). -<p> -For example, if your document's in French, you'd do -<p> -<pre> - .FINIS_STRING "FIN" -</pre> - -Double-quotes must enclose the macro's argument. -<p> -<strong>NOTE:</strong> If you pass <strong>FINIS_STRING</strong> -a blank string, i.e. -<p> -<pre> - .FINIS_STRING "" -</pre> - -<strong>mom</strong> will still print the em-dashes if you -invoke <strong>FINIS</strong>. This, in effect, produces a -short, centred horizontal rule that terminates the document. -(In -<a href="docprocessing.html.#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -it's a short, dashed line composed of four hyphens.) - -<a name="FINIS_COLOR"><h3><u>Changing the FINIS colour</u></h3></a> -<p> -Invoking <strong>FINIS_COLOR</strong> with a pre-defined (or -"initalized") color changes the colour of both the FINIS -string and the em-dashes that surround it. If you use the -<a href="definitions.html#TERMS_INLINE">inline escape</a>, -<a href="color.html#COLOR_INLINE">\*[<colorname>]</a>, -in the argument passed to <strong>FINIS</strong>, only the text -will be in the new colour; the em-dashes will be in the default -document colour (usually black). - -<p> -<hr> -<a href="headfootpage.html#TOP">Next</a> -<a href="docprocessing.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/docprocessing.html b/contrib/groff/contrib/mom/momdoc/docprocessing.html deleted file mode 100644 index 6f64d68d9599..000000000000 --- a/contrib/groff/contrib/mom/momdoc/docprocessing.html +++ /dev/null @@ -1,2484 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Document Processing, Introduction and Setup</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="typemacdoc.html#TOP">Next</a> -<a href="color.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> -<a name="TOP"></a> -<a name="DOCPROCESSING"> - <h1 align="center"><u>DOCUMENT PROCESSING WITH MOM</u></h1> -</a> -<a href="#INTRO_MACROS_DOCPROCESSING">Introduction to document processing</a> -<br> -<a href="#DEFAULTS">Some document defaults</a> -<br> -<a href="#LEADING_NOTE">* IMPORTANT NOTE on leading/spacing and bottom margins *</a> -<br> -<a href="#SHIM">The SHIM macro</a> -<br> -<h3><u>Table of Contents for document processing</u></h3> -<ul> - <li><a href="#SETUP"><strong>DOCUMENT SETUP</strong></a> - <br> - <a href="#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a> - <br> - <ul> - <li><a href="#REFERENCE_MACROS"><strong>The Reference Macros</strong></a> - <ul> - <li><a href="#TITLE">TITLE</a> - <li><a href="#DOC_TITLE">DOCTITLE</a> - <li><a href="#SUBTITLE">SUBTITLE</a> - <li><a href="#AUTHOR">AUTHOR</a> - <li><a href="#CHAPTER">CHAPTER</a> - <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a> - <li><a href="#DRAFT">DRAFT</a> - <li><a href="#REVISION">REVISION</a> - <li><a href="#COPYRIGHT">COPYRIGHT</a> - <li><a href="#MISC">MISC</a> - </ul> - <li><a href="#DOCSTYLE_MACROS"><strong>The Docstyle Macros</strong></a> - <ul> - <li><a href="#DOCTYPE">DOCTYPE</a> - <li><a href="#PRINTSTYLE">PRINTSTYLE</a> - <li><a href="#COPYSTYLE">COPYSTYLE</a> - </ul> - - <li><a href="#STYLE_BEFORE_START"><strong>Changing type/style parameters prior to START</strong></a> - <ul> - <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a> - <ul> - <li><a href="#COLOR">Colour</a> - </ul> - <li><a href="#DOC_LEAD_ADJUST">Adjusting document leading to fill pages -- DOC_LEAD_ADJUST</a> - <li><a href="#DOCHEADER">Managing the document header</a> - <ul> - <li><a href="#DOCHEADER">DOCHEADER -- turning docheaders off</a> - <li><a href="#DOCHEADER_CONTROL">Docheader control</a> - </ul> - </ul> - - <li><a href="#COLUMNS_INTRO"><strong>Setting documents in columns</strong></a> - <ul> - <li><a href="#COLUMNS">COLUMNS</a> - <li><a href="#BREAKING_COLUMNS">Breaking columns manually</a> - <ul> - <li><a href="#COL_NEXT">COL_NEXT</a> - <li><a href="#COL_BREAK">COL_BREAK</a> - </ul> - - </ul> - - <li><a href="#START_MACRO"><strong>Initiate document processing</strong></a> - <ul> - <li><a href="#START">START</a> - </ul> - - <li><a href="#DOC_PARAM_MACROS"><strong>Changing document-wide typesetting parameters after START</strong></a> - <ul> - <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a> - <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a> - <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a> - <li><a href="#DOC_FAMILY">DOC_FAMILY</a> - <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a> - <li><a href="#DOC_LEAD">DOC_LEAD</a> - <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> - <li><a href="#DOC_QUAD">DOC_QUAD</a> - </ul> - <br> - <li><a href="docelement.html#DOCELEMENT"><strong>THE DOCUMENT ELEMENT MACROS (TAGS)</strong></a> - <ul> - <li><a href="docelement.html#DOCELEMENT_INTRO">Introduction to the document element tags</a> - <ul> - <li><a href="docelement.html#DOCELEMENT_CONTROL">Document element (tag) control macros</a> - <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a> - </ul> - <li><a href="docelement.html#EPIGRAPH_INTRO"><strong>Epigraphs</strong></a> - <ul> - <li><a href="docelement.html#EPIGRAPH">EPIGRAPH</a> - <li><a href="docelement.html#EPIGRAPH_CONTROL">Epigrah control</a> - </ul> - <li><a href="docelement.html#PP_INTRO"><strong>Paragraphs</strong></a> - <ul> - <li><a href="docelement.html#PP">PP</a> - <li><a href="docelement.html#PP_CONTROL">Paragraph control</a> - </ul> - <li><a href="docelement.html#HEAD_INTRO"><strong>Main heads</strong></a> - <ul> - <li><a href="docelement.html#HEAD">HEAD</a> - <li><a href="docelement.html#HEAD_CONTROL">Head control</a> - </ul> - <li><a href="docelement.html#SUBHEAD_INTRO"><strong>Subheads</strong></a> - <ul> - <li><a href="docelement.html#SUBHEAD">SUBHEAD</a> - <li><a href="docelement.html#SUBHEAD_CONTROL">Subhead control</a> - </ul> - <li><a href="docelement.html#PARAHEAD_INTRO"><strong>Paragraph heads</strong></a> - <ul> - <li><a href="docelement.html#PARAHEAD">PARAHEAD</a> - <li><a href="docelement.html#PARAHEAD_CONTROL">Parahead control</a> - </ul> - <li><a href="docelement.html#LINEBREAK_INTRO"><strong>Linebreaks (author linebreaks, also called section breaks)</strong></a> - <ul> - <li><a href="docelement.html#LINEBREAK">LINEBREAK</a> - <li><a href="docelement.html#LINEBREAK_CONTROL">Linebreak control</a> - </ul> - <li><a href="docelement.html#QUOTE_INTRO"><strong>Quotes (line for line poetic quotes)</strong></a> - <ul> - <li><a href="docelement.html#QUOTE">QUOTE</a> - <li><a href="docelement.html#QUOTE_CONTROL">Quote control</a> - </ul> - <li><a href="docelement.html#BLOCKQUOTE_INTRO"><strong>Blockquotes (cited material)</strong></a> - <ul> - <li><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a> - <li><a href="docelement.html#BLOCKQUOTE_CONTROL">Blockquote control</a> - </ul> - <li><a href="docelement.html#FOOTNOTE_INTRO"><strong>Footnotes</strong></a> - <ul> - <li><a href="docelement.html#FOOTNOTE">FOOTNOTE</a> - <li><a href="docelement.html#FOOTNOTE_CONTROL">Footnote control</a> - </ul> - <li><a href="docelement.html#ENDNOTE_INTRO"><strong>Endnotes</strong></a> - <ul> - <li><a href="docelement.html#ENDNOTE">ENDNOTE</a> - <li><a href="docelement.html#ENDNOTE_CONTROL">Endnote control</a> - </ul> - <li><a href="docelement.html#FINIS_INTRO"><strong>Document termination</strong></a> - <ul> - <li><a href="docelement.html#FINIS">FINIS</a> - <li><a href="docelement.html#FINIS_CONTROL">Finis control</a> - </ul> - </ul> - - <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>HEADERS and FOOTERS</strong></a> - <br> - <ul> - <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">Introduction to headers/footers</a> - <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">Managing headers/footers</a> - <ul> - <li><a href="headfootpage.html#HEADERS">HEADERS</a> -- on or off - <li><a href="headfootpage.html#FOOTERS">FOOTERS</a> -- on or off - <li><a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a> - </ul> - <li><a href="headfootpage.html#HEADFOOT_CONTROL">Header/footer control</a> - <ul> - <li><a href="headfootpage.html#HDRFTR_STRINGS">Header/footer strings</a> - <li><a href="headfootpage.html#HDRFTR_STYLE">Header/footer style</a> -- global and part-by-part - <li><a href="headfootpage.html#HDRFTR_VERTICAL">Header/footer placement and spacing</a> - <li><a href="headfootpage.html#HDRFTR_SEPARATOR">The header/footer separator rule</a> - </ul> - </ul> - <li><a href="headfootpage.html#PAGINATION"><strong>PAGINATION</strong></a> - <br> - <ul> - <li><a href="headfootpage.html#PAGINATE">PAGINATE</a> -- on or off - <li><a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a> -- user supplied page number - <li><a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc. - <li><a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- attach draft/revision information to page numbers - <li><a href="headfootpage.html#PAGINATE_CONTROL">Pagination control</a> - </ul> - <br> - <li><a href="rectoverso.html#RECTOVERSO"><strong>RECTO_VERSO PRINTING and COLLATING</strong></a> - <br> - <ul> - <li><a href="rectoverso.html#RECTOVERSO_INTRO">Introduction to recto/verso</a> - <ul> - <li><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a> - <li><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a> (also FOOTERS) - </ul> - <li><a href="rectoverso.html#COLLATE_INTRO">Introduction to collating</a> - <ul> - <li><a href="rectoverso.html#COLLATE">COLLATE</a> - </ul> - </ul> - - <li><a href="cover.html#TOP"><strong>CREATING A COVER PAGE</strong></a> - <br> - <li><a href="letters.html#LETTERS"><strong>WRITING LETTERS</strong></a> - <ul> - <li><a href="letters.html#LETTERS_INTRO">Introduction to writing letters</a> - <li><a href="letters.html#TUTORIAL">Tutorial on writing letters</a> - <li><a href="letters.html#LETTERS_DEFAULTS">Default style for letters</a> - <li><a href="letters.html#LETTERS_MACROS">The letter macros</a> - </ul> - </ul> -</ul> -<br> -<hr> - -<h2><a name="INTRO_MACROS_DOCPROCESSING"><u>Introduction to document processing</u></a></h2> - -As explained in -<a href="intro.html#INTRO_DOCPROCESSING">Document processing with mom</a>, -document processing uses markup tags to identify document elements -such as heads, paragraphs, and so on. The tags are, of course, macros, -but with sensible, readable names that make them easy to grasp and -easy to remember. (And don't forget: if you don't like the -"official" name of a tag -- too long, cumbersome -to type in, not "intuitive" enough -- you can change it -with the -<a href="goodies.html#ALIAS">ALIAS</a> -macro.) -<p> -In addition to the tags themselves, <strong>mom</strong> has an -extensive array of macros that control how they look and behave. -<p> -Setting up a <strong>mom</strong> doc is a simple, four-part procedure. -You begin by entering information about the document itself (title, -subtitle, author, etc.). Next, you tell <strong>mom</strong> what -kind of document you're creating (e.g. chapter, letter, abstract, -etc...) and what kind of output you want (typeset, typewritten, -draft-style, etc). Thirdly, you make as many or as few changes to -<strong>mom</strong>'s default behaviour as you wish. Lastly, you -invoke the -<a href="#START">START</a> -macro. Voilą! You're ready to write. -<p> -<hr> - - -<h2><a name="DEFAULTS"><u>Some document defaults</u></a></h2> - -As is to be expected, <strong>mom</strong> has defaults for everything. -If you want to know a particular default, read about it in the -description of the pertinent tag. -<p> -I fear the following may not be adequately covered in the -documentation. Just in case, here they are. -<p> -<ul> - <li>the paper size is 8.5x11 inches - <li>the left and right margins are 1-inch - <li>the top and bottom margins for document text are plus/minus - visually 1-inch - <li>pages are numbered; the number appears centred, at the - bottom, surrounded by hyphens ( e.g. -6- ) - <li>the first page of a document begins with a - <a href="definitions.html#TERMS_DOCHEADER">document header</a> - <li>subsequent pages have - <a href="definitions.html#TERMS_HEADER">page headers</a> - with a rule underneath -</ul> -<p> -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). -<p> -<hr> - -<a name="LEADING_NOTE"> - <h2><u>IMPORTANT NOTE on leading/spacing and bottom margins</u></h2> -</a> - -<strong>Mom</strong> takes evenly-aligned bottom margins in -<a href="definitions.html#TERMS_RUNNING">running text</a> -very seriously. Only under a very few (exceptional) circumstances -will she allow a bottom margin to "hang" (i.e. to fall -short). -<p> -In order to ensure even bottom margins, <strong>mom</strong> -uses the "base" document -<a href="definitions.html#TERMS_LEADING">leading</a> -in effect <em>at the start of running text on each page</em> (i.e. -the leading used in paragraphs) to calculate the spacing of every -document element. Prior to invoking -<a href="#START">START</a>, -this is set with the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macro</a> -<a href="typesetting.html#LEADING">LS</a>, -afterwards with the document -<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a> -<a href="#DOC_LEAD">DOC_LEAD</a>. -<p> -Because <strong>mom</strong> relies so heavily on the base document -leading, any change to the leading or spacing on a page will almost -certainly have undesirable consequences on that page's bottom margin -unless the change is fully compensated for elsewhere on the page. -<p> -In other words, if you add a few points of space somewhere on a page, -you must subtract the same number of points somewhere else on that -same page, and vice versa. -<p> -If it's a question of adding or subtracting full line spaces between -or within document elements, you can do so by using the "v" -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -with whatever spacing macro you choose -- -<a href="typesetting.html#ALD">ALD</a>, -<a href="typesetting.html#RLD">RLD</a>, -<a href="typesetting.html#SPACE">SPACE</a> --- and <strong>mom</strong> won't object. "v" means -"the current leading", so she isn't confused by it. And -since "v" accepts decimal fractions, you can add/subtract -half linespaces and quarter linespaces with "v" as well, -<em>provided you compensate for the fractional linespace somewhere -else on the page</em>. -<p> -If all this seems like too much work, <strong>mom</strong> -provides a special macro to get you out of trouble if you've played -around with leading and/or spacing. The macro is called -<strong>SHIM</strong> (like those little pieces of wood carpenters -use to get their work even, level and snug), and it's described -below. -<p> - -<!---SHIM---> - -<hr width="66%" align="left"> -<p> -<a name="SHIM"></a> -Macro: <strong>SHIM</strong> - -<p> -<strong>SHIM</strong> doesn't take any argument. Use it whenever -you've played around with the -<a href="definitions.html#TERMS_LEADING">leading</a> -or spacing on a page and you -need to get <strong>mom</strong>'s document leading back on track. -<p> -For example, say you want to insert a picture into a document with -the special groff macro, <strong>PSPIC</strong> (see the -<strong>groff_tmac</strong> man page for usage). -<p> -Pictures aren't usually conveniently sized in multiples of document -leading, which means that when you insert the picture, you disrupt -<strong>mom</strong>'s ordered placement of baselines on the page. -This will certainly result in a bottom margin that doesn't match the -bottom margins of your document's other pages. -<p> -The solution is to insert <strong>SHIM</strong> after the picture, -like this: -<p> -<pre> - <some lines of text> - .PSPIC <full path to picture> - .SHIM - <more lines of text> -</pre> -<strong>SHIM</strong> instructs <strong>mom</strong> to insert as -much or a little space after the picture as is needed to ensure that -the baseline of the next -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a> -falls where <strong>mom</strong> would have put it had you not -disrupted the normal flow of output lines with the picture. -<p> -And say, on previewing the above example, you find that the picture -doesn't centre nicely between the lines of text, you can always do -<p> -<pre> - <some lines of text> - .RLD 3p - .PSPIC <full path to picture> - .SHIM - <more lines of text> -</pre> - -to raise the picture slightly -(<strong>R</strong>everse <strong>L</strong>ea<strong>D</strong> -3 points; see -<a href="typesetting.html#RLD">RLD</a>), -and still have <strong>SHIM</strong> ensure that text underneath -falls exactly where it's supposed to. -<p> -<hr> - -<a name="SETUP"><h2><u>Document setup</u></h2></a> -<p> -<a name="DOCPROCESSING_TUT"> - <h3><u>Tutorial -- Setting up a mom document</u></h3> -</a> -There are four "parts" to setting up a <strong>mom</strong> -doc (three, actually, with one optional). Before we proceed, though, -be reassured that something as simple as -<p> -<pre> - .TITLE "By the Shores of Lake Attica" - .AUTHOR "Rosemary Winspeare" - .PRINTSTYLE TYPESET - .START -</pre> - -produces a beautifully typeset 8.5x11 document, with a -<a href="definitions.html#TERMS_DOCHEADER">docheader</a> -at the top of page 1, -<a href="definitions.html#TERMS_HEADER">page headers</a> -with the title and author on subsequent -pages, and page numbers at the bottom of each page. In the course -of the document, heads, subheads, citations, quotes, epigraphs, -and so on, all come out looking neat, trim, and professional. -<p> -For the purposes of this tutorial, we're going to set up a short -story -- <em>My Pulitzer Winner</em> by Joe Blow. Thankfully, -we don't have to look at story itself, just the setup. -Joe wants the document -<p> -<ul> - <li>to be draft 7, revision 39; - <li>to use the "default" style of document formatting: - <li>to print as draft-style output (instead of "final" copy output); - <li>to be typeset, in Helvetica, 12 on 14, - <a href="definitions.html#TERMS_RAG">rag-right</a>; - <li>to have <a href="definitions.html#TERMS_FOOTER">footers</a> - instead of - <a href="definitions.html#TERMS_HEADER">headers</a>; - <li>to use a single asterisk for - <a href="definitions.html#TERMS_LINEBREAK">author linebreaks</a>. -</ul> -<p> -Joe Blow has no taste in typography. His draft won't look pretty, -but this is, after all, a tutorial; we're after examples, not beauty. -<h3><u>Step 1</u></h3> - -The first step in setting up any document is giving <strong>mom</strong> -some reference information. The reference macros are: -<p> -<ul> - <li>TITLE - <li>DOCTITLE - <li>COVERTITLE - <li>SUBTITLE - <li>AUTHOR - <li>CHAPTER -- the chapter number - <li>DRAFT -- the draft number - <li>REVISION -- the revision number - <li>COPYRIGHT -- only used on cover pages - <li>MISC -- only used on cover pages - <li>COVER_TITLE -- only on cover pages; only if needed - <li>DOC_COVER_TITLE -- only on document cover pages; only if needed -</ul> -<p> -You can use as many or as few as you wish, although at a minimum, -you'll probably fill in <strong>TITLE</strong> (unless the document's -a letter) and <strong>AUTHOR</strong>. Order doesn't matter. -You can separate the -<a href="definitions.html#TERMS_ARGUMENTS">arguments</a> -from the macros by any number of spaces. The following are -what you'd need to start Joe Blow's story. -<p> -<pre> - .TITLE "My Pulitzer Winner" - .AUTHOR "Joe Blow" - .DRAFT 7 - .REVISION 39 -</pre> - -<h3><u>Step 2</u></h3> - -Once you've given <strong>mom</strong> the reference information she -needs, you tell her how you want your document formatted. What kind -of document is it? Should it be typeset or typewritten? Is this -a "final" copy (for the world to see) or just a draft? -<strong>Mom</strong> calls the macros that answer these questions -"the docstyle macros." They are: -<p> -<ul> - <li>DOCTYPE -- the type of document (default, chapter, user-defined, letter) - <li>PRINTSTYLE -- typeset or typewritten - <li>COPYSTYLE -- draft or final copy -</ul> -<p> -<strong>Mom</strong> has defaults for <strong>DOCTYPE</strong> -and <strong>COPYSTYLE</strong>; if they're what you want, you -don't need to include them here. However, <strong>PRINTSTYLE</strong> -has no default and MUST be present in every formatted document. -If you omit it, <strong>mom</strong> won't process the document AND -she'll complain (both to stderr and as a single printed sheet with -a warning). Moms -- they can be so annoying sometimes. <sigh> -<p> -Adding to what we already have, the next bit of setup for Joe -Blow's story looks like this: -<p> -<pre> - .TITLE "My Pulitzer Winner" - .AUTHOR "Joe Blow" - .DRAFT 7 - .REVISION 39 - \# - .DOCTYPE DEFAULT \"Superfluous; mom uses DOCTYPE DEFAULT by default - .PRINTSTYLE TYPESET - .COPYSTYLE DRAFT -</pre> - -Notice the use of the -<a href="definitions.html#TERMS_COMMENTLINES">comment line</a> -( \# ), a handy way to keep groups of macros visually separated -for easy reading in a text editor. - -<h3><u>Step 3</u></h3> - -This step -- completely optional -- is where you, the user, take -charge. <strong>Mom</strong> has defaults for <em>everything</em>, -but who's ever satisfied with defaults? Use any of the <a -href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -here to change <strong>mom</strong>'s document defaults (paper -size, margins, family, point size, line space, rag, etc), or -any of the document processing macros that set/change/control -the appearance of document elements. Think of this as the -"style-sheet " section of a document. And please note: -you MUST give <strong>mom</strong> a -<a href="#PRINTSTYLE">PRINTSTYLE</a> -directive <strong>before</strong> making any such changes. -<p> -Joe Blow wants his story printed in Helvetica, 12 on 14, rag -right, with -<a href="definitions.html#TERMS_FOOTER">page footers</a> -instead of -<a href="definitions.html#TERMS_HEADER">page headers</a> -and a single asterisk for the -<a href="definitions.html#TERMS_LINEBREAK">linebreak</a> -character. None of these requirements conforms -to <strong>mom</strong>'s defaults for the chosen -<strong>PRINTSTYLE</strong> (TYPESET), so we change them here. -The setup for Joe Blow's story now looks like this: -<p> -<pre> - .TITLE "My Pulitzer Winner" - .AUTHOR "Joe Blow" - .DRAFT 7 - .REVISION 39 - \# - .DOCTYPE DEFAULT - .PRINTSTYLE TYPESET - .COPYSTYLE DRAFT - \# - .FAMILY H - .PT_SIZE 12 - .LS 14 - .QUAD LEFT \"i.e. rag right - .FOOTERS - .LINEBREAK_CHAR * -</pre> - -<h3><u>Step 4</u></h3> -The final step in setting up a document is telling <strong>mom</strong> -to start document processing. It's a no-brainer, just the single macro -<strong>START</strong>. Other than <strong>PRINTSTYLE</strong>, it's -the only macro required for document processing (although -I can't guarantee you'll like the results of using just the two). -<p> -Here's the complete setup for <em>My Pulitzer Winner</em>: -<p> -<pre> - .TITLE "My Pulitzer Winner" - .AUTHOR "Joe Blow" - .DRAFT 7 - .REVISION 39 - \# - .DOCTYPE DEFAULT - .PRINTSTYLE TYPESET - .COPYSTYLE DRAFT - \# - .FAMILY H - .PT_SIZE 12 - .LS 14 - .QUAD LEFT \"i.e. rag right - .FOOTERS - .LINEBREAK_CHAR * - \# - .START -</pre> - -As pointed out earlier, Joe Blow is no typographer. Given that all he -needs is a printed draft of his work, a simpler setup would have been: -<p> -<pre> - .TITLE "My Pulitzer Winner" - .AUTHOR "Joe Blow" - .DRAFT 7 - .REVISION 39 - \# - .PRINTSTYLE TYPEWRITE - .COPYSTYLE DRAFT - \# - .START -</pre> - -<kbd>.PRINTSTYLE TYPEWRITE</kbd>, above, means that Joe's work -will come out "typewritten, double-spaced", making the -blue-pencilling he (or someone else) is sure to do much -easier (which is why many publishers and agents still insist on -typewritten, double-spaced copy). -<p> -When J. Blow stops re-writing and decides to print off a final, -typeset copy of his work for the world to see, he need only -make two changes to the (simplified) setup: -<p> -<pre> - .TITLE "My Pulitzer Winner" - .AUTHOR "Joe Blow" - .DRAFT 7 - .REVISION 39 - \# - .PRINTSTYLE TYPESET \"first change - .COPYSTYLE FINAL \"second change - \# - .START -</pre> - -In the above, <kbd>.DRAFT 7, .REVISION 39,</kbd> and <kbd>.COPYSTYLE -FINAL</kbd> are actually superfluous. The draft and revision numbers -aren't used when <strong>COPYSTYLE</strong> is <strong>FINAL</strong>, -and <strong>COPYSTYLE FINAL</strong> is <strong>mom</strong>'s -default unless you tell her otherwise. BUT... to judge from the -number of drafts already, J. Blow may very well decide his -"final" version still isn't up to snuff. Hence, he might -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. -<p> -<hr> - -<!========================================================================> - -<a name="REFERENCE_MACROS"> - <h2><u>The Reference Macros</u></h2> -</a> - -The reference macros give <strong>mom</strong> the information -she needs to generate -<a href="definitions.html#TERMS_DOCHEADER">docheaders</a>, -<a href="definitions.html#TERMS_HEADER">page headers</a>, -and -<a href="cover.html#COVER_TOP">covers</a>. -They must go at the top of any file that uses <strong>mom</strong>'s -document processing macros. -<p> -<a name="INDEX_REFERENCE"> - <h3><u>Reference macros list</u></h3> -</a> - -<ul> - <li><a href="#TITLE">TITLE</a> - <li><a href="#DOC_TITLE">DOCTITLE</a> - <li><a href="#SUBTITLE">SUBTITLE</a> - <li><a href="#AUTHOR">AUTHOR</a> - <li><a href="#CHAPTER">CHAPTER</a> - <li><a href="#CHAPTER_TITLE">CHAPTER_TITLE</a> - <li><a href="#DRAFT">DRAFT</a> - <li><a href="#REVISION">REVISION</a> - <li><a href="#COPYRIGHT">COPYRIGHT</a> - <li><a href="#MISC">MISC</a> - <li><a href="#COVERTITLE">COVERTITLE</a> -</ul> -<br> - -<!---TITLE---> - -<hr width="66%" align="left"> -<p> -<a name="TITLE"></a> -<nobr>Macro: <strong>TITLE</strong> "<title>"</nobr> -<br> -<em>*Argument must be enclosed in double-quotes</em> - -<p> -The title string can be caps or caps/lower-case; it's up to you. -In -<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -the title will appear in the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a> -exactly as you typed it. However, <strong>mom</strong> converts -the title to all caps in -<a href="definitions.html#TERMS_HEADER">page headers</a> -unless you turn that feature off (see -<a href="headfootpage.html#_CAPS">HEADER_<POSITION>_CAPS</a>). In -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -the title always gets converted to caps. -<p> -<strong>NOTE:</strong> If your -<a href="#DOCTYPE">DOCTYPE</a> -is <strong>CHAPTER</strong>, <strong>TITLE</strong> should be the -title of the opus, not "CHAPTER whatever". -<p> - -<!---DOCTITLE---> - -<hr width="66%" align="left"> -<p> -<a name="DOCTITLE"></a> -<nobr>Macro: <strong>DOCTITLE</strong> "<overall document title>"</nobr> -<br> -<em>*Argument must be enclosed in double-quotes</em> - -<p> -<strong>NOTE:</strong> This macro should be used only if your -<a href="#DOCTYPE">DOCTYPE</a> -is <strong>DEFAULT</strong> (which is <strong>mom</strong>'s -default). -<p> -When you're creating a single document, say, an essay or a short -story, you have no need of this macro. -<a href="#TITLE">TITLE</a> -takes care of all your title needs. -<p> -However if you're -<a href="rectoverso.html#COLLATE">collating</a> -a bunch of documents together, say, to print out a report containing -many articles with different titles, or a book of short stories, you -need <strong>DOCTITLE</strong>. -<p> -<strong>DOCTITLE</strong> tells <strong>mom</strong> the title -of the complete document (as opposed to the title of each article -or entitled section). -<p> -The doctitle string can be caps or caps/lower-case; it's up to you. -In -<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -by default, the doctitle appears in the rightmost position of -<a href="definitions.html#TERMS_HEADER">page headers</a>, -all in caps unless you turn that feature off (see -<a href="headfootpage.html#_CAPS">HEADER_<POSITION>_CAPS</a>). In -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -the doctitle always gets converted to caps. -<p> -<strong>NOTE:</strong> If your -<a href="#DOCTYPE">DOCTYPE</a> -is <strong>CHAPTER</strong>, you don't need -<strong>DOCTITLE</strong>. <strong>TITLE</strong> takes care of -everything. -<p> - -<!---SUBTITLE---> - -<hr width="66%" align="left"> -<p> -<a name="SUBTITLE"></a> -<nobr>Macro: <strong>SUBTITLE</strong> "<subtitle>"</nobr> -<br> -<em>*Argument must be enclosed in double-quotes</em> - -<p> -The subtitle string can be caps or caps/lower-case. Since a -document's subtitle appears only in the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>, -and the title is most likely in caps, I recommend caps/lower case. -<p> - -<!---AUTHOR---> - -<hr width="66%" align="left"> -<p> -<a name="AUTHOR"></a> -<nobr>Macro: <strong>AUTHOR</strong> "<author string>" [ "<author2 string>" "<author3 string>" ... ]</nobr> -<br> -<em>*Multiple arguments must all be enclosed in double-quotes</em> - -<p> -Each author string can hold as many names as you like, e.g. -<p> -<pre> - .AUTHOR "Joe Blow" - or - .AUTHOR "Joe Blow, Jane Doe" "John Hancock" -</pre> - -<strong>Mom</strong> prints each string that's enclosed in -double-quotes on a separate line in the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>, -however only the first string appears in -<a href="definitions.html#TERMS_HEADER">page headers</a>. -If you want <strong>mom</strong> to put something else in the author -part of page headers (say, just the last names of a document's two -authors), redefine the appropriate part of the header (see -<a href="headfootpage.html#HEADER_CONTROL">header/footer control</a>). -<p> -The strings can be caps or caps/lower-case. I recommend caps/lower -case. -<p> - -<!---CHAPTER---> - -<hr width="66%" align="left"> -<p> -<a name="CHAPTER"></a> -<nobr>Macro: <strong>CHAPTER</strong> <chapter number></nobr> - -<p> -The chapter number can be in any form you like -- a digit, a roman -numeral, a word. If you choose -<a href="#DOCTYPE">DOCTYPE CHAPTER</a>, -<strong>mom</strong> prints whatever argument you pass -<strong>CHAPTER</strong> beside the word "Chapter" as a -single line -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>. -She also puts the same thing in the middle of -<a href="definitions.html#TERMS_HEADER">page headers</a>. -<p> -Please note that if your argument to <strong>CHAPTER</strong> runs -to more than one word, you must enclose the argument in -double-quotes. -<p> -If you're not using <strong>DOCTYPE CHAPTER</strong>, the macro serves -no purpose and <strong>mom</strong> ignores it. -<p> -<a name="CHAPTER_STRING"><strong>CHAPTER_STRING</strong></a> -<p> -If you're not writing in English, you can ask <strong>mom</strong> -to use the word for "chapter" in your own language by -telling her what it is with the <strong>CHAPTER_STRING</strong> -macro, like this: -<p> -<pre> - .CHAPTER_STRING "Chapītre" -</pre> - -You can also use <strong>CHAPTER_STRING</strong> if you want -"CHAPTER" instead of "Chapter" in the doc- and -page-headers. -<p> - -<!---CHAPTER_TITLE---> - -<hr width="66%" align="left"> -<p> -<a name="CHAPTER_TITLE"></a> -<nobr>Macro: <strong>CHAPTER_TITLE</strong> "<chapter title>"</nobr> -<br> -<em>*Argument must be enclosed in double-quotes</em> - -<p> -If, either in addition to or instead of "Chapter #" appearing -at the top of chapters, you want your chapter to have a title, use -<strong>CHAPTER_TITLE</strong>, with your title enclosed in -double-quotes, like this: -<p> -<pre> - .CHAPTER_TITLE "The DMCA Nazis" -</pre> - -If you've used -<a href="#CHAPTER">CHAPTER</a> to give the chapter a number, -both "Chapter #" and the chapter title will appear at the -top of the chapter, like this: -<p> -<pre> - Chapter 1 - The DMCA Nazis -</pre> - -In such a case, by default, only the chapter's title will appear in the -<a href="definitions.html#TERMS_HEADER">page headers</a>, -not "Chapter #". -<p> -If you omit <strong>CHAPTER</strong> when setting up your reference -macros, only the title will appear, both at the top of page one and in -subsequent page headers. -<p> -The style of the chapter title can be altered by -<a href="docelement.html#DOCELEMENT_CONTROL">control macros</a>, -e.g. <strong>CHAPTER_TITLE_FAMILY</strong>, -<strong>CHAPTER_TITLE_FONT</strong>, etc. The default family, -font and point size are Times Roman, Bold Italic, 4 points larger -than -<a href="definitions.html#TERMS_RUNNING">running text</a>. -<p> - -<!---DRAFT---> - -<hr width="66%" align="left"> -<p> -<a name="DRAFT"></a> -<nobr>Macro: <strong>DRAFT</strong> <draft #></nobr> - -<p> -<strong>DRAFT</strong> only gets used with -<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>. -If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> (the -default), <strong>mom</strong> ignores <strong>DRAFT</strong>. -<strong>DRAFT</strong> accepts both alphabetic and numeric -arguments, hence it's possible to do either -<p> -<pre> - .DRAFT 2 - or - .DRAFT Two -</pre> - -<strong>Mom</strong> prints the argument to <strong>.DRAFT</strong> -(i.e. the draft number) beside the word "Draft" in the -middle part of -<a href="definitions.html#TERMS_HEADER">page headers</a>. -<p> -<strong>A small word of caution:</strong> If your argument to -<strong>.DRAFT</strong> is more than one word long, you must -enclose the argument in double-quotes. -<p> -You may, if you wish, invoke <strong>.DRAFT</strong> without an -argument, in which case, no draft number will be printed beside -"Draft" in headers or footers. -<p> -<a name="DRAFT_STRING"><strong>DRAFT_STRING</strong></a> -<p> -If you're not writing in English, you can ask <strong>mom</strong> -to use the word for "draft" in your own language by -telling her what it is with the <strong>DRAFT_STRING</strong> macro, -like this: -<p> -<pre> - .DRAFT_STRING "Jet" -</pre> - -Equally, <strong>DRAFT_STRING</strong> can be used to roll your own -solution to something other than the word "Draft." For -example, you might want "Trial run alpha-three" to appear -in the headers of a draft version. You'd accomplish this by doing -<p> -<pre> - .DRAFT alpha-three - .DRAFT_STRING "Trial run -</pre> - -<strong>.DRAFT</strong> without an argument, above, ensures that -only the <strong>DRAFT_STRING</strong> gets printed. -<p> -<strong>NOTE:</strong> If you define both a blank <strong>.DRAFT</strong> -and a blank <strong>.DRAFT_STRING</strong>, <strong>mom</strong> -skips the draft field in headers entirely. If this is what you -want, this is also the only way to do it. Simply leaving out -<strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> will -result in <strong>mom</strong> using her default, which is to print -"Draft 1". -<p> - -<!---REVISION---> - -<hr width="66%" align="left"> -<p> -<a name="REVISION"></a> -<nobr>Macro: <strong>REVISION</strong> <revision #></nobr> - -<p> -<strong>REVISION</strong> only gets used with -<a href="#COPYSTYLE">COPYSTYLE DRAFT</a>. -If the <strong>COPYSTYLE</strong> is <strong>FINAL</strong> -(the default), <strong>mom</strong> ignores the -<strong>REVISION</strong> macro. <strong>REVISION</strong> accepts -both alphabetic and numeric arguments, hence it's possible to do -either -<p> -<pre> - .REVISION 2 - or - .REVISION Two -</pre> - -<strong>Mom</strong> prints the revision number beside the shortform -"Rev." in the middle part of -<a href="definitions.html#TERMS_HEADER">page headers</a>. -<p> -<strong>A small word of caution:</strong> If your argument to -<strong>.REVISION</strong> is more than one word long, you must -enclose the argument in double-quotes. -<p> -You may, if you wish, invoke <strong>.REVISION</strong> without an -argument, in which case, no revision number will be printed beside -"Rev." in headers or footers. -<p> -<a name="REVISION_STRING"><strong>REVISION_STRING</strong></a> -<p> -If you're not writing in English, you can ask <strong>mom</strong> -to use the word for "revision," or a shortform -thereof, in your own language by telling her what it is with the -<strong>REVISION_STRING</strong> macro, like this: -<p> -<pre> - .REVISION_STRING "Rév." -</pre> - -Additionally, you may sometimes want to make use of -<strong>mom</strong>'s -<a href="#COPYSTYLE">COPYSTYLE DRAFT</a> -but not actually require any draft information. For example, you -might like <strong>mom</strong> to indicate only the revision number -of your document. The way to do that is to define an empty -<strong>.DRAFT</strong> and <strong>.DRAFT_STRING</strong> in -addition to <strong>.REVISION</strong>, like this: -<p> -<pre> - .DRAFT - .DRAFT_STRING - .REVISION 2 -</pre> - -<p> -Equally, if you want to roll your own solution to what revision -information appears in headers, you could do something like this: -<pre> - .DRAFT - .DRAFT_STRING - .REVISION "two-twenty-two" - .REVISION_STRING "Revision" -</pre> - -<p> -The above, naturally, has no draft information. If you want to -roll your own <strong>.DRAFT</strong> and/or -<strong>.DRAFT_STRING</strong> as well, simply supply arguments to -either or both. -<p> - -<!---COPYRIGHT---> - -<hr width="66%" align="left"> -<p> -<a name="COPYRIGHT"></a> -<nobr>Macro: <strong>COPYRIGHT</strong> "<copyright info>"</nobr> -<br> -<em>*Argument must be enclosed in double-quotes</em> - -<p> -The argument passed to <strong>COPYRIGHT</strong> is only used on -cover or doc cover pages, and then only if the argument COPYRIGHT is -passed to -<a href="cover.html#COVER">COVER</a> -or -<a href="cover.html#DOC_COVER">DOC_COVER</a>. -Do not include the copyright symbol in the argument passed to -<strong>COPYRIGHT</strong>; <strong>mom</strong> puts it in for -you. -<p> - -<!---MISC---> - -<hr width="66%" align="left"> -<p> -<a name="MISC"></a> -<nobr>Macro: <strong>MISC</strong> "<argument 1>" ["<argument 2>" "<argument 3>" ...]</nobr> -<br> -<em>*Multliple arguments must all be enclosed in double-quotes</em> - -<p> -The argument(s) passed to <strong>MISC</strong> are only used on -cover or doc cover pages, and then only if the argument MISC is -passed to -<a href="cover.html#COVER">COVER</a> -or -<a href="cover.html#DOC_COVER">DOC_COVER</a>. -<strong>MISC</strong> can contain any information you like. Each -argument appears on a separate line at the bottom of the cover or -doc cover page. -<p> -For example, if you're submitting an essay where the prof has -requested that you include the course number, his name and the -date, you could do -<p> -<pre> - .MISC "Music History 101" "Professor Hasbeen" "Dec. 24, 2006" -</pre> - -and the information would appear on the essay's cover page. -<p> - -<!---COVER_TITLE---> - -<hr width="66%" align="left"> -<p> -<a name="COVERTITLE"></a> -<nobr>Macro: <strong>COVERTITLE</strong> "<user defined cover page title>"</nobr> -<br> -<nobr>Macro: <strong>DOC_COVERTITLE</strong> "<user defined document cover page title>"</nobr> -<br> -<em>*Argument must be enclosed in double-quotes</em> - -<p> -The argument passed to <strong>COVERTITLE</strong> or -<strong>DOC_COVERTITLE</strong> is only used on cover or doc cover -pages, and then only if the argument COVERTITLE is passed to -<a href="cover.html#COVER">COVER</a> -or -<a href="cover.html#DOC_COVER">DOC_COVER</a>. -<p> -The only time you require a <strong>COVERTITLE</strong> or -<strong>DOC_COVERTITLE</strong>is when none of the required first -arguments to <strong>COVER</strong> or <strong>DOC_COVER</strong> -fits your needs for the title you want to appear on cover (or doc -cover) pages. - -<p> -<hr> -<!========================================================================> - -<a name="DOCSTYLE_MACROS"> - <h2><u>The Docstyle Macros</u></h2> -</a> - -The docstyle macros tell <strong>mom</strong> what type of document you're -writing, whether you want the output typeset or -"typewritten", and whether you want a draft copy (with -draft and revision information in the headers) or a final copy. - -<a name="INDEX_DOCSTYLE"> - <h3><u>Docstyle macros list</u></h3> -</a> - -<ul> - <li><a href="#DOCTYPE">DOCTYPE</a> - <li><a href="#PRINTSTYLE">PRINTSTYLE</a> - <ul> - <li><a href="#TYPESET_DEFAULTS">Defaults for PRINTSTYLE TYPESET</a> - <li><a href="#TYPEWRITE_DEFAULTS">Defaults for PRINTSTYLE TYPEWRITE</a> - <ul> - <li><a href="#TYPEWRITE_CONTROL">TYPEWRITE control macros</a> - </ul> - </ul> - <li><a href="#COPYSTYLE">COPYSTYLE</a> -</ul> -<br> - -<!---DOCTYPE---> - -<hr width="66%" align="left"> -<p> -<a name="DOCTYPE"></a> -<nobr>Macro: <strong>DOCTYPE</strong> DEFAULT | CHAPTER | NAMED "<name>" | LETTER</nobr> -<p> -The arguments <strong>DEFAULT, CHAPTER</strong> and -<strong>NAMED</strong> tell <strong>mom</strong> what to put -in the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a> -and -<a href="definitions.html#TERMS_HEADER">page headers</a>. -<strong>LETTER</strong> tells her that you want to write a -letter. -<p> -<strong>Mom</strong>'s default <strong>DOCTYPE</strong> is -<strong>DEFAULT</strong>. If that's what you want, you don't -have to give a <strong>DOCTYPE</strong> command. -<p> -<strong>DEFAULT</strong> prints a -<a href="definitions.html#TERMS_DOCHEADER">docheader</a> -containing the title, subtitle and author information given to the -<a href="#REFERENCE_MACROS">reference macros</a>, -and page headers with the author and title. -(See -<a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a> -for how <strong>mom</strong> outputs each part of the page header.) -<p> -<strong>CHAPTER</strong> prints "Chapter #" in place of a -<a href="definitions.html#TERMS_DOCHEADER">docheader</a> -(# is what you gave to the -<a href="#REFERENCE_MACROS">reference macro</a> -<a href="#CHAPTER">CHAPTER</a>). -If you give the chapter a title with -<a href="#CHAPTER_TITLE">CHAPTER TITLE</a>, -<strong>mom</strong> prints "Chapter #" and the title -underneath. If you omit the -<a href="#CHAPTER">CHAPTER</a> -reference macro but supply a -<a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>, -<strong>mom</strong> prints only the chapter title. <em>(*For -backward compatibility with pre-1.1.5 versions of</em> -<strong>mom</strong><em>, you can also supply a chapter title by -omitting the</em> <strong>CHAPTER</strong> <em>reference macro and -supplying a chapter title with</em> -<a href="#CHAPTER_STRING">CHAPTER_STRING</a>.) -<p> -The page headers in <strong>DOCTYPE CHAPTER</strong> contain the author, -the title of the book (which you gave with -<a href="#TITLE">TITLE</a>), -and "Chapter #" (or the chapter title). See -<a href="headfootpage.html#HEADER_STYLE">Default Specs for Headers</a> -for <strong>mom</strong>'s default type parameters for each part of -the page header. -<p> -<strong>NAMED</strong> takes an additional argument: a name -for this particular kind of document (e.g. outline, synopsis, -abstract, memorandum), enclosed in double-quotes. -<strong>NAMED</strong> is identical to <strong>DEFAULT</strong> -except that <strong>mom</strong> prints the argument to -<strong>NAMED</strong> beneath the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>, -as well as in page headers. -(See -<a href="headfootpage.html#HEADER_STYLE">Default specs for headers</a> -for how <strong>mom</strong> outputs each part of the page header.) -<p> -Additionally, if you wish the name of this particular kind of -document to be coloured, you can pass <strong>DOCTYPE NAMED</strong> -a third (optional) argument: the name of a colour pre-defined (or -"initialized") with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -For example, if you have a doctype named "Warning", and -you'd like "Warning" to be in red, assuming you've -pre-defined (or "initialized") the color, red, this is -what the <strong>DOCTYPE</strong> entry would look like: -<p> -<pre> - .DOCTYPE NAME "Warning" red -</pre> - -<p> -<strong>LETTER</strong> tells mom you're writing a letter. See -the section -<a href="letters.html#INTRO">Writing Letters</a> -for instructions on using <strong>mom</strong> to format letters. -<p> - -<!---PRINTSTYLE---> - -<hr width="66%" align="left"> -<p> -<a name="PRINTSTYLE"></a> -<nobr>Macro: <strong>PRINTSTYLE</strong> TYPESET | TYPEWRITE [ SINGLESPACE ]</nobr> -<br> -<em>*Required for document processing.</em> -<br> -<em>*Must come before any changes to default document style</em> - -<p> -<strong>PRINTSTYLE</strong> tells <strong>mom</strong> whether to typeset -a document, or to print it out "typewritten, doubled-spaced". -<p> -<strong>THIS MACRO MAY NOT BE OMITTED.</strong> In order for -document processing to take place, <strong>mom</strong> requires -a <strong>PRINTSTYLE</strong>. If you don't give one, -<strong>mom</strong> will warn you on stderr and print a single -page with a nasty message. -<p> -Furthermore, <strong>PRINTSTYLE</strong> must come before any -changes to <strong>mom</strong>'s default typestyle parameters. -(This applies primarily to, but is by no means restricted to, -<strong>PRINTSTYLE TYPESET</strong>.) <strong>PRINTSTYLE</strong> -sets up complete "templates" that include default -papersize, margins, family, fonts, point sizes, and so on. -Therefore, changes to any aspect of document style must come -afterwards. -<p> -<strong>TYPESET</strong>, as the argument implies, typesets documents -(by default in Times Roman; see -<a href="#TYPESET_DEFAULTS">TYPESET defaults</a>). -You have full access to all the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -as well as the -<a href="definitions.html#STYLE_CONTROL">style control macros</a> -of document processing. -<p> -As mentioned above, <strong>PRINTSTYLE TYPESET</strong> must come -before any changes to <strong>mom</strong>'s default typographic -settings. For example, - -<pre> - .PAPER A4 - .LS 14 - .PRINTSTYLE TYPESET -</pre> - -will not changes <strong>mom</strong>'s default paper size to A4, -nor her default document leading 14 points, whereas - -<pre> - .PRINTSTYLE TYPESET - .PAPER A4 - .LS 14 -</pre> - -will. -<p> -With <strong>TYPEWRITE</strong>, <strong>mom</strong> does her best -to reproduce the look and feel of typewritten, double-spaced copy (see -<a href="#TYPEWRITE_DEFAULTS">TYPEWRITE defaults</a>). -<a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a> -and -<a href="typesetting.html#INTRO_MACROS_TYPESETTING">typesetting macros</a> -that alter family, font, point size, and -<a href="definitions.html#TERMS_LEADING">leading</a> -are (mostly) ignored. An important exception is -<a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a> -(and, by extension, <strong>FOOTER_SIZE</strong>), which allows -you to reduce the point size of headers/footers should they become -too crowded. Most of <strong>mom</strong>'s inlines affecting the -appearance of type are also ignored (<strong>\*S</strong> is an -exception; there may be a few others). -<p> -In short, <strong>TYPEWRITE</strong> never produces effects other than -those available on a typewriter. Don't be fooled by how brainless -this sounds; <strong>mom</strong> is remarkably sophisticated when -it comes to conveying the typographic sense of a document within the -confines of <strong>TYPEWRITE</strong>. -<p> -The primary uses of <strong>TYPEWRITE</strong> are: outputting hard -copy drafts of your work (for editing), and producing documents -for submission to publishers and agents who (wisely) insist on -typewritten, double-spaced copy. To get a nicely typeset version of -work that's in the submission phase of its life (say, to show fellow -writers for critiquing), simply change <strong>TYPEWRITE</strong> -to <strong>TYPESET</strong> and print out a copy. -<p> -If, for some reason, you would prefer the output of -<strong>TYPEWRITE</strong> single-spaced, pass <strong>PRINTSTYLE -TYPEWRITE</strong> the optional argument, <strong>SINGLESPACE</strong>. -<p> -If you absolutely must have a leading other than typewriter double- -or singlespaced, the only way to get it is with the -<a href="#DOC_LEAD">DOC_LEAD</a> -macro, and then ONLY if <strong>DOC_LEAD</strong> is set -<strong>before</strong> you invoke the <strong>START</strong> -macro. -<p> -<a name="TYPESET_DEFAULTS"><h3><u>TYPESET defaults</u></h3></a> -<pre> - Family = Times Roman - Point size = 12.5 - Paragraph leading = 16 points, adjusted - Fill mode = justified - Hyphenation = enabled - max. lines = 2 - margin = 36 points - interword adjustment = 1 point - Kerning = enabled - Ligatures = enabled - Smartquotes = enabled - Word space = groff default - Sentence space = 0 -</pre> - -<a name="TYPEWRITE_DEFAULTS"><h3><u>TYPEWRITE defaults</u></h3></a> -<pre> - Family = Courier - Italics = underlined - Point size = 12 - Paragraph leading = 24 points, adjusted; 12 points for SINGLESPACE - Fill mode = left - Hyphenation = disabled - Kerning = disabled - Ligatures = disabled - Smartquotes = disabled - Word space = groff default - Sentence space = groff default - Columns = ignored -</pre> - -<a name="TYPEWRITE_CONTROL"><h3><u>PRINTSTYLE TYPEWRITE control macros</u></h3></a> -<p> -In <strong>PRINTSTYLE TYPEWRITE</strong>, <strong>mom</strong>, -by default, underlines anything that looks like italics. This -includes the -<a href="typesetting.html#SLANT_INLINE">\*[SLANT]</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a> -for pseudo-italics. -<p> -If you'd prefer that <strong>mom</strong> were -less bloody-minded about pretending to be a typewriter (i.e. -you'd like italics and pseudo-italics to come out as italics), -use the control macros <strong>.ITALIC_MEANS_ITALIC</strong> and -<strong>.SLANT_MEANS_SLANT</strong>. Neither requires an -argument. -<p> -Although it's unlikely, should you wish to reverse the sense of -these macros in the midst of a document, -<strong>.UNDERLINE_ITALIC</strong> and -<strong>.UNDERLINE_SLANT</strong> restore underlining of -italics and pseudo-italics. -<p> -<a name="UNDERLINE_QUOTES"></a> -Additionally, by default, <strong>mom</strong> underlines -<a href="definitions.html#TERMS_QUOTES">quotes</a> -(but not -<a href="definitions.html#TERMS_BLOCKQUOTES">blockquotes</a>) -in <strong>PRINTSTYLE TYPEWRITE</strong>. -If you don't like this behaviour, turn it off with -<p> -<pre> - .UNDERLINE_QUOTES OFF -</pre> - -To turn underlining of quotes back on, use -<strong>UNDERLINE_QUOTES</strong> without an argument. -<p> -While most of the -<a href="docelement.html#DOCELEMENT_CONTROL">control macros</a> -have no effect on <strong>PRINTSTYLE TYPEWRITE</strong>, there -is an important exception: -<a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a> -(and by extension, <strong>FOOTER_SIZE</strong>). This is -particularly useful for reducing the point size of -headers/footers should they become crowded (quite likely to -happen if the title of your document is long and your -<a href="#COPYSTYLE">COPYSTYLE</a> -is <strong>DRAFT</strong>). -<p> - -<!---COPYSTYLE---> - -<hr width="66%" align="left"> -<p> -<a name="COPYSTYLE"></a> -<nobr>Macro: <strong>COPYSTYLE</strong> DRAFT | FINAL</nobr> - -<p> -<strong>Mom</strong>'s default <strong>COPYSTYLE</strong> is -<strong>FINAL</strong>, so you don't have to use this macro unless -you want to. -<p> -<strong>COPYSTYLE DRAFT</strong> exhibits the following behaviour: -<br> -<ol> - <li>documents start on page 1, whether or not you - request a different starting page number with - <a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a> - <li>page numbers are set in lower case roman numerals - <li>the draft number supplied by - <a href="#DRAFT">DRAFT</a> - and a revision number, if supplied with - <a href="#REVISION">REVISION</a> - (see - <a href="#REFERENCE_MACROS">reference macros</a>), - appear in the centre part of - <a href="definitions.html#TERMS_HEADER">page headers</a> - (or footers, depending on which you've selected) along with - any other information that normally appears there. -</ol> -<p> -<strong>IMPORTANT:</strong> If you define your own centre part for page -headers with -<a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</a>, -no draft and/or revision number will appear there. If you want draft -and revision information in this circumstance, use -<a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>. -<p> -<strong>COPYSTYLE FINAL</strong> differs from <strong>DRAFT</strong> in that: -<br> -<ol> - <li>it respects the starting page number you give the document - <li>page numbers are set in normal (Arabic) digits - <li>no draft or revision number appears in the page headers -</ol> -<p> -<strong>NOTE:</strong> The centre part of page headers can get crowded, -especially with -<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a> -and -<a href="docprocessing.html#DOCTYPE">DOCTYPE NAMED</a>, -when the <strong>COPYSTYLE</strong> is <strong>DRAFT</strong>. -Three mechanisms are available to overcome this problem. One is to -reduce the overall size of headers (with -<a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a>). -Another, which only works with -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -is to reduce the size of the header's centre part only (with -<a href="headfootpage.html#_SIZE">HEADER_CENTER_SIZE</a>). -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 -<a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a>). -<p> -<hr> - -<!========================================================================> - -<a name="STYLE_BEFORE_START"><h2><u>Changing type/style parameters prior to START</u></h2></a> -<p> -In the third (optional) part of setting up a document (see -<a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>), -you can use the -<a href="typsetting.html">typesetting macros</a> -to change <strong>mom</strong>'s document-wide defaults for margins, -line length, family, base point size, -<a href="definitions.html#TERMS_LEADING">leading</a>, -and justification style. -<p> -Two additional style concerns have to be addressed here (i.e. in -macros before -<a href="#START">START</a>): -changes to the -<a href="definitions.html#TERMS_DOCHEADER">docheader</a>, -and whether you want you want the document's nominal leading -adjusted to fill pages fully to the bottom margin. -<p> -<ul> - <li><a href="#TYPE_BEFORE_START">Using typesetting macros prior to START</a> - <p> - <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> - -- adjusting linespacing for equal, accurate bottom margins - <li><a href="#DOCHEADER">DOCHEADER</a> - -- turning the docheader off - <ul> - <li><a href="#DOCHEADER_CONTROL">Docheader control</a> - </ul> -</ul> -<br> - -<hr width="66%" align="left"> -<a name="TYPE_BEFORE_START"><h2><u>Using the typesetting macros prior to START</u></h2></a> -<p> -From time to time (or maybe frequently), you'll want the overall -look of a document to differ from <strong>mom</strong>'s defaults. -Perhaps you'd like her to use a different -<a href="definitions.html#TERMS_FAMILY">family</a>, -or a different overall -<a href="definitions.html#TERMS_LEADING">leading</a>, -or have different left and/or right page margins. -<p> -To accomplish such alterations, use the appropriate -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -(listed below) <strong>after</strong> -<a href="#PRINTSTYLE">PRINTSTYLE</a> -and <strong>before</strong> -<a href="#START">START</a>. -<p> -More than one user has, quite understandably, not fully grasped -the significance of the preceding sentence. The part they've missed -is "<u>after <strong>PRINTSTYLE</strong></u>". -<p> -Changes to any aspect of the default look and/or formatting -of a <strong>mom</strong> document must come after -<strong>PRINTSTYLE</strong>. For example, it might seem natural to -set up page margins at the very top of a document with -<p> -<pre> - .L_MARGIN 1i - .R_MARGIN 1.5i -</pre> - -However, when you invoke <strong>.PRINTSTYLE</strong>, those -margins will be overridden. The correct place to set margins--and -all other changes to the look of a document--is <strong>after -PRINTSTYLE</strong>. - -<p> -<strong>NOTE:</strong> Don't use the macros listed in <a -href="#DOC_PARAM_MACROS">Changing document-wide typesetting -parameters after START</a> prior to <strong>START</strong>; they are -exclusively for use afterwards. -<p> -When used before -<strong>START</strong>, -the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -(below) have the following meanings: -<p> -<pre> - L_MARGIN Left margin of pages, including headers/footers - R_MARGIN Right margin of pages, including headers/footers - T_MARGIN The point at which running text (i.e. not - headers/footers or page numbers) starts on each page - B_MARGIN* The point at which running text (i.e. not - (see note) headers/footers or page numbers) ends on each page - - PAGE If you use PAGE, its final four arguments have the - same meaning as L_ R_ T_ and B_MARGIN (above). - - LL The line length for everything on the page; - 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 - to 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 - - QUAD/JUSTIFY Affects paragraphs only - LEFT No effect*** - RIGHT No effect*** - CENTER No effect*** - ------- - *See <a href="headfootpage.html#FOOTER_MARGIN">FOOTER MARGIN AND BOTTOM MARGIN</a> for an important warning - **See <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> -***See <a href="#LRC_NOTE">Special note</a> -</pre> - -Other macros that deal with type style, or refinements thereof -(<strong>KERN, LIGATURES, HY, WS, SS,</strong> etc.), behave normally. -It is not recommended that you set up tabs or indents prior to -<strong>START</strong>. -<p> -If you want to change any of the basic parameters (above) -<em>after</em> <strong>START</strong> and have them affect a -document globally (as if you'd entered them <em>before</em> -<strong>START</strong>), you must use the macros listed in -<a href="#DOC_PARAM_MACROS">Changing document-wide style parameters after START</a>. - -<a name="LRC_NOTE"></a> -<h3><u>Special note on .LEFT, .RIGHT and .CENTER prior to START</u></h3> -In a word, these three macros have no effect on document processing -when invoked prior to <strong>START</strong>. -<p> -All <strong>mom</strong>'s document element tags -(<strong>PP</strong>, <strong>HEAD</strong>, -<strong>BLOCKQUOTE</strong>, <strong>FOOTNOTE</strong>, etc.) -except -<a href="docelement.html#QUOTE">QUOTE</a> -set a -<a href="definitions.html#TERMS_FILLED">fill mode</a> -as soon as they're invoked. If you wish to turn fill mode off for -the duration of any tag (with -<a href="typesetting.html#LRC">.LEFT, .RIGHT or .CENTER</a>) -you must do so immediately after invoking the tag. Furthermore, -the change affects <em>only</em> the current invocation of the tag. -Subsequent invocations of the same tag for which you want the same -change require that you invoke <strong>LEFT</strong>, -<strong>RIGHT</strong> or <strong>CENTER</strong> immediately after -every invocation of the tag. -<p> - -<!---COLOR---> -<a name="COLOR"><h2><u>Colour</u></h2></a> -<br> -Although it doesn't really matter where you define/initialize -colours for use in document processing (see -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -and -<a href="color.html#XCOLOR">XCOLOR</a> -in the section -<a href="color.html#COLOR_INTRO">Coloured text</a>), -I recommend doing so before you begin document processing with -<a href="#START">START</a>. -<p> -The macro, -<a href="color.html#COLOR">COLOR</a>, -and the -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -<a href="color.html#COLOR_INLINE">\[<colorname>]</a>, -can be used at any time during document processing for occasional -colour effects. However, consistent and reliable colourizing of -various document elements (the docheader, heads, linebreaks, -footnotes, pagenumbers, and so on) must be managed through the use -of the -<a href="docelement.html#DOCELEMENT_CONTROL">document element control macros</a>. -<p> -<strong>PLEASE NOTE:</strong> If you plan to have <strong>mom</strong> -generate a -<a href="docelement.html#TOC">table of contents</a>, -do NOT embed colour -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -(<a href="color.html#COLOR_INLINE">\[<colorname>]</a>) -in the -<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a> -given to any of the -<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>, -nor in the string arguments given to -<a href="docelement.html#HEAD">.HEAD</a>, -<a href="docelement.html#SUBHEAD">.SUBHEAD</a> -or -<a href="docelement.html#PARAHEAD">.PARAHEAD</a>. -Use, rather, the -<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a> -<strong>mom</strong> provides to automatically colourize these -elements. -<br> - -<!---DOC_LEAD_ADJUST---> - -<hr width="66%" align="left"> -<a name="DOC_LEAD_ADJUST"><h3><u>Adjusting document leading to fill pages</u></h3></a> -<br> -<nobr>Macro: <strong>DOC_LEAD_ADJUST</strong> toggle</nobr> -<br> -<em>*Must come after LS or AUTOLEAD and before START</em> - -<p> -<strong>DOC_LEAD_ADJUST</strong> is a special macro to adjust -document -<a href="definitions.html#TERMS_LEADING">leading</a> -so that bottom margins fall precisely where you expect. -<p> -If you invoke <strong>DOC_LEAD_ADJUST</strong>, <strong>mom</strong> -takes the number of lines that fit on the page at your requested -leading, then incrementally adds -<a href="definitions.html#TERMS_UNITS">machine units</a> -to the leading until the maximum number of lines at the new leading -matches the bottom margin. In most instances, the difference -between the requested lead and the adjusted lead is -unnoticeable, and since in almost all cases adjusted leading is -what you want, it's <strong>mom</strong>'s default. -<p> -Should you NOT want adjusted document leading, you MUST turn it -off manually, like this: -<p> -<pre> - .DOC_LEAD_ADJUST OFF -</pre> - If you set the document leading prior to <strong>START</strong> -with -<a href="typesetting.html#LS">LS</a> -or -<a href="typesetting.html#AUTOLEAD">AUTOLEAD</a>, -<strong>DOC_LEAD_ADJUST OFF</strong> must come afterwards, like -this: -<p> -<pre> - .LS 12 - .DOC_LEAD_ADJUST OFF -</pre> - -In this scenario, the maximum number of lines that fit on a page at -a -<a href="definitions.html#TERMS_LEADING">leading</a> -of 12 -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -determine where <strong>mom</strong> ends -a page. The effect will be that last lines usually fall (slightly) -short of the "official" bottom margin. -<p> -In -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> -<strong>TYPEWRITE</strong>, the leading is always adjusted and -can't be turned off. -<p> -<strong>NOTE:</strong> <strong>DOC_LEAD_ADJUST</strong>, if -used, must be invoked after -<a href="typesetting.html#LEADING">LS</a> -or -<a href="typesetting.html#AUTOLEAD">AUTOLEAD</a> -and before -<a href="#START">START</a> -<p> -<strong>ADDITIONAL NOTE:</strong> Even if you disable -<strong>DOC_LEAD_ADJUST</strong>, <strong>mom</strong> will still -adjust the leading of endnotes pages and toc pages. See -<a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a> -and -<a href="docelement.html#TOC_LEAD">TOC_LEAD</a> -for an explanation of how to disable this default behaviour. -<p> - -<!---DOCHEADER---> - -<hr width="66%" align="left"> -<a name="DOCHEADER"><h3><u>Managing the docheader</u></h3></a> -<br> -<nobr>Macro: <strong>DOCHEADER</strong> <toggle> [ distance to advance from top of page ]</nobr> -<br> -<em>*Must come before START; distance requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -By default, <strong>mom</strong> prints a -<a href="definitions.html#TERMS_DOCHEADER">docheader</a> -on the first page of any document (see -<a href="#DOCHEADER_DESC">below</a> -for a description of the docheader). If you don't want a docheader, -turn it off with -<p> -<pre> - .DOCHEADER OFF -</pre> - -<strong>DOCHEADER</strong> is a toggle macro, so the argument doesn't -have to be <strong>OFF</strong>; it can be anything you like. -<p> -If you turn the docheader off, <strong>mom</strong>, by default, starts -the running text of your document on the same top -<a href="definitions.html#TERMS_BASELINE">baseline</a> -as all subsequent pages. If you'd like her to start at a different -vertical position, give her the distance you'd like as a second -argument. -<p> -<pre> - .DOCHEADER OFF 1.5i -</pre> - -This starts the document 1.5 inches from the top of the page PLUS -whatever spacing adjustment <strong>mom</strong> has to make in -order to ensure that the first baseline of running text falls on a -"legal" baseline (i.e. one that ensures that the bottom -margin of the first page falls where it should). The distance is -measured from the top edge of the paper to the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of the first line of type. -<p> -<strong>TIP:</strong> Since no document processing happens until -you invoke -<a href="#START">START</a> --- including anything to do with docheaders -- you can typeset -your own docheader prior to <strong>START</strong> (if you don't -like the way <strong>mom</strong> does things) and use -<strong>DOCHEADER OFF</strong> with its optional distance argument -to ensure that the body of your document starts where you want. -You can even insert a PostScript file (with <strong>.PSPIC</strong>; -see the <strong>groff_tmac</strong> man page for usage). -<p> -<a name="DOCHEADER_CONTROL"><h3><u>How to change the look of docheaders: docheader control macros</u></h3></a> - -<p> -With -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -the look of docheaders is carved in stone. -In -<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -however, you can make a lot of changes. Macros that alter docheaders -MUST come before -<a href="#START">START</a>. -<a name="DOCHEADER_DESC"></a> -<p> -A typeset docheader has the following characteristics. Note that -title, subtitle, author, and document type are what you supply -with the -<a href="#REFERENCE_MACROS">reference macros</a>. -Any you leave out will not appear; <strong>mom</strong> will -compensate: -<p> -<pre> - TITLE bold, 3.5 points larger than running text (not necessarily caps) - Subtitle medium, same size as running text - by medium italic, same size as running text - Author(s) medium italic, same size as running text - - (Document type) bold italic, underscored, 3 points larger than running text -</pre> - -If the -<a href="#DOCTYPE">DOCTYPE</a> -is CHAPTER, -<pre> - Chapter # bold, 4 points larger than running text - Chapter Title bold italic, 4 points larger than running text -</pre> - -<p> -The -<a href="definitions.html#TERMS_FAMILY">family</a> -is the prevailing family of the whole document. -<p> -<strong>NOTE:</strong> If your <strong>DOCTYPE</strong> is -<strong>CHAPTER</strong> and you have both "Chapter #" -and a "Chapter Title" (as above), you may find the -<a href="definitions.html#TERMS_LEADING">leading</a> -a bit cramped (owing to <strong>mom</strong>'s default docheader -leading). If this is the case, you can adjust the leading either -with -<a href="#ADJUST_LEADING">DOCHEADER_LEAD</a> -or by including the -<a name="definitions.html#TERMS_INLINES">inline escape</a>, -<a href="inlines.html#DOWN">\*[DOWN]</a>, -in the argument you pass to -<a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>, like this: -<p> -<pre> - .CHAPTER_TITLE "\*[DOWN 2p]Why Not Patent Calculus?" -</pre> - - -<a name="DOCHEADER_CONTROL_INDEX"><h3><u>The docheader macros to:</u></h3></a> -<ol> - <li><a href="#CHANGE_START">Change the starting position of the docheader</a> - <li><a href="#DOCHEADER_FAMILY">Change the family of the entire docheader</a> - <li><a href="#ADJUST_LEADING">Adjust the docheader leading</a> - <li><a href="#CHANGE_FAMILY">Change the family of individual docheader elements</a> - <li><a href="#CHANGE_FONT">Change the font of docheader elements</a> - <li><a href="#CHANGE_COLOR">Change the colour of the docheader</a> - <li><a href="#CHANGE_SIZE">Adjust the size of docheader elements</a> - <li><a href="#CHANGE_ATTRIBUTE">Change the attribution string ("by")</a> -</ol> -<p> -<a name="CHANGE_START"><h3><u>1. Change the starting position</u></h3></a> -<p> -By default, a docheader starts on the same -<a href="definitions.html#TERMS_BASELINE">baseline</a> -as -<a href="definitions.html#TERMS_RUNNING">running text</a>. -If you'd like it to start somewhere else, use the macro -<kbd>.DOCHEADER_ADVANCE</kbd> and give it the distance you want -(measured from the top edge of the paper to the first baseline -of the docheader), like this: -<p> -<pre> - .DOCHEADER_ADVANCE 4P -</pre> - -A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -is required. -<p> -<strong>NOTE:</strong> If -<a href="headfootpage.html#HEADERS">HEADERS</a> -are <strong>OFF</strong>, <strong>mom</strong>'s normal top -margin for -<a href="definitions.html#TERMS_RUNNING">running text</a> -(7.5 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>) -changes to 6 picas (visually approx. 1 inch). Since the -first baseline of the docheader falls on the same baseline -as the first line of running text (on pages after page 1), -you might find the docheaders a bit high when headers are off. -Use -<a href="#CHANGE_START">DOCHEADER_ADVANCE</a> -to place them where you want. -<p> - -<a name="DOCHEADER_FAMILY"><h3><u>2. Change the family of the entire docheader</u></h3></a> -<p> -By default, <strong>mom</strong> sets the docheader in the same -family used for -<a href="definitions.html#TERMS_RUNNING">running text</a>. -If you'd prefer to have your docheaders set in a different family, -invoke <strong>DOCHEADER_FAMILY</strong> with the family you want. -The argument for <strong>DOCHEADER_FAMILY</strong> is the same as -for -<a href="typesetting.html#FAMILY">FAMILY</a>. -<p> -For example, <strong>mom</strong>'s default family for running text -is Times Roman. If you'd like to keep that default, but have the -docheaders set entirely in Helvetica, -<p> -<pre> - .DOCHEADER_FAMILY H -</pre> - -is how you'd do it. -<p> -Please note that if you use <strong>DOCHEADER_FAMILY</strong>, -you can still alter the family of individual parts of the docheader -with the macros listed -<a href="#CHANGE_FAMILY">here</a>. - -<a name="ADJUST_LEADING"><h3><u>3. Adjust the leading</u></h3></a> -<p> -The -<a href="definitions.html#TERMS_LEADING">leading</a> -of docheaders is the same as running text (except when -<a href="#DOCTYPE">DOCTYPE</a> -is <strong>CHAPTER</strong> <em>and</em> both a chapter number and a -chapter title have been supplied, in which case the default is 4 points -more than running text.) -<p> -If you'd like your docheaders to have a different leading, say, 2 -points more than the lead of running text, use: -<p> -<pre> - .DOCHEADER_LEAD +2 -</pre> - -Since the leading of docheaders is calculated from the lead of running -text, a + or - sign is required before the argument (how much to add -or subtract from the lead of running text). No -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -is required; points is assumed. -<p> - -<a name="CHANGE_FAMILY"><h3><u>4. Change the family of docheader elements</u></h3></a> -<p> -The following macros let you change the -<a href="definitions.html#TERMS_FAMILY">family</a> -of each docheader element separately: -<p> -<ul> -<li><strong>TITLE_FAMILY</strong> <nobr><family></nobr> -<li><strong>CHAPTER_TITLE_FAMILY</strong> <nobr><family></nobr> -<li><strong>SUBTITLE_FAMILY</strong> <nobr><family></nobr> -<li><strong>AUTHOR_FAMILY</strong> <nobr><family></nobr> -<li><strong>DOCTYPE_FAMILY</strong> <nobr><family> (if</nobr> -<a href="#DOCTYPE">DOCTYPE</a> is NAMED) -</ul> -<p> -Simply pass the appropriate macro the family you want, just as you -would with -<a href="typesetting.html#FAMILY">FAMILY</a>. -<p> - -<a name="CHANGE_FONT"><h3><u>5. Change the font of docheader elements</u></h3></a> -<p> -The following macros let you change the -<a href="definitions.html#TERMS_FONT">font</a> -of each docheader element separately: -<p> -<ul> -<li><strong>TITLE_FONT</strong> <nobr>R | B | I | BI</nobr> -<li><strong>CHAPTER_TITLE_FONT</strong> <nobr>R | B | I | BI</nobr> -<li><strong>SUBTITLE_FONT</strong> <nobr>R | B | I | BI</nobr> -<li><strong>AUTHOR_FONT</strong> <nobr>R | B | I | BI</nobr> -<li><strong>DOCTYPE_FONT</strong> <nobr>R | B | I | BI (if</nobr> -<a href="#DOCTYPE">DOCTYPE</a> is NAMED) -</ul> -<p> -Simply pass the appropriate macro the font you want. <strong>R, -B, I</strong> and <strong>BI</strong> have the same meaning as -they do for -<a href="typesetting.html#FONT">FT</a>. -<p> - -<a name="CHANGE_COLOR"><h3><u>6. Change the colour of the docheader elements individually</u></h3></a> -<p> -The following macros let you change the color of each docheader -element separately. You must pre-define (or -"initialize") the color with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -<p> -<ul> - <li><strong>TITLE_COLOR</strong> <nobr><colorname></nobr> - <li><strong>CHAPTER_TITLE_COLOR</strong> <nobr><colorname></nobr> - <ul> - <li><strong>Note: CHAPTER_TITLE_COLOR</strong> is needed - only if you enter both a <strong>CHAPTER</strong> - reference macro AND a <strong>CHAPTER_TITLE</strong> - macro. Otherwise, the macro, - <strong>TITLE_COLOR</strong> takes care of colorizing - the chapter header. - </ul> - <li><strong>SUBTITLE_COLOR</strong> <nobr><colorname></nobr> - <li><strong>ATTRIBUTE_COLOR</strong> <nobr><colorname></nobr> - (the "by" string that precedes the author[s] name[s]) - <li><strong>AUTHOR_COLOR</strong> <nobr><colorname></nobr> - <li><strong>DOCTYPE_COLOR</strong> <nobr><colorname> (if</nobr> - <a href="#DOCTYPE">DOCTYPE</a> is NAMED) -</ul> -<p> -It is not recommended that you embed colour (with the -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -<a href="color.html#COLOR_INLINE">\*[<colorname>]</a>) -in the strings passed to -<strong>TITLE</strong>, <strong>CHAPTER_TITLE</strong>, -<strong>SUBTITLE</strong>, <strong>AUTHOR</strong> or the name you -give <strong>DOCTYPE NAMED</strong>. The strings passed to these -macros are used to generate page -<a href="definitions.html#TERMS_HEADER">headers</a> -and -<a href="definitions.html#TERMS_FOOTER">footers</a>. -An embedded colour will cause the string to be colourized any time -it appears in headers or footers. (If you want headers or footers -colourized, or parts thereof, use the header/footer control macros.) -<p> -<a name="DOCHEADER_COLOR"></a> -If you want to colourize the entire docheader, use the macro -<p> -<ul> -<li><strong>DOCHEADER_COLOR</strong> <nobr><color name>.</nobr> -</ul> - -<a name="CHANGE_SIZE"><h3><u>7. Adjust the size of docheader elements</u></h3></a> -<p> -The following macros let you adjust the point size of each docheader -element separately. -<p> -<strong>Mom</strong> calculates the point size -of docheader elements from the point size of paragraphs in running -text, so you must prepend a + or - sign to the argument. Points is -assumed as the -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, -so there's no need to append a unit to the argument. Fractional point -sizes are allowed. -<p> -<ul> -<li><strong>TITLE_SIZE</strong> <nobr><+/-points></nobr> -<br> -default = +3.5 (+4 if docheader title is "Chapter #") -<li><strong>CHAPTER_TITLE_SIZE</strong> <nobr><+/-points></nobr> -<br> -default = +4 -<li><strong>SUBTITLE_SIZE</strong> <nobr><+/-points></nobr> -<br> -default = +0 -<li><strong>AUTHOR_SIZE</strong> <nobr><+/-points></nobr> -<br> -default = +0 -<li><strong>DOCTYPE_SIZE</strong> <nobr><+/-points> (if</nobr> -<a href="#DOCTYPE">DOCTYPE</a> is NAMED) -<br> -default = +3 -</ul> -<p> -Simply pass the appropriate macro the size adjustment you want. -<p> - -<a name="CHANGE_ATTRIBUTE"><h3><u>8. Change the attribution string ("by")</u></h3></a> -<p> -If you're not writing in English, you can change what -<strong>mom</strong> prints where "by" appears in -docheaders. For example, -<p> -<pre> - .ATTRIBUTE_STRING "par" -</pre> - -changes "by" to "par". If you -don't want an attribution string at all, simply pass -<strong>ATTRIBUTE_STRING</strong> an empty argument, like this: -<p> -<pre> - .ATTRIBUTE_STRING "" -</pre> - -<strong>Mom</strong> will deposit a blank line where the -attribution string normally appears. -<p> -<strong>NOTE:</strong> The type specs for the attribution line -in docheaders are the same as for the author line. Although -it's highly unlikely you'll want the attribution line in a -different family, font, or point size, you can do so by using -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -in the argument to <strong>ATTRIBUTE_STRING</strong>. For -example, -<p> -<pre> - .ATTRIBUTE_STRING "\f[HBI]\*[SIZE -2p] by \*[SIZE +2p]\*[PREV]" -</pre> - -would set "by" in Helvetica bold italic, 2 points -smaller than normal. -<p> -<hr> - -<!---COLUMNS_INTRO---> - -<a name="COLUMNS_INTRO"><h2><u>Setting documents in columns</u></h2></a> - -<p> -Setting documents in columns is easy with <strong>mom</strong>. (Of -course she'd say that, but it's true!) All you have to do is is -say how many columns you want and how much space you want -between them (the -<a href="definitions.html#TERMS_GUTTER">gutters</a>). -That's it. <strong>Mom</strong> takes care of everything else, from -soup to nuts. -<p> -<strong>SOME WORDS OF ADVICE:</strong> -<p> -If you want your type to achieve a pleasing -<a href="definitions.html#TERMS_JUST">justification</a> -or -<a href="definitions.html#TERMS_RAG">rag</a> -in columns, reduce the point size of type (and probably the -<a href="definitions.html#TERMS_LEADING">leading</a> -as well). <strong>Mom</strong>'s default document point -size is 12.5, which works well across her default 39 -<a href="definitions.html#TERMS_PICASPOINTS">pica</a> -full page line length, but with even just two columns on a page, -the default point size is awkward to work with. -<p> -Furthermore, you'll absolutely need to reduce the indents for -<a href="docelement.html#EPIGRAPH_CONTROL">epigraphs</a>, -<a href="docelement.html#QUOTE_GENERAL">quotes</a>, -and -<a href="docelement.html#BLOCKQUOTE_GENERAL">blockquotes</a> -(and probably the -<a href="docelement.html#PARA_INDENT">paragraph first-line indent</a> -as well). -<p> - -<!---COLUMNS---> - -<hr width="66%" align="left"> -<a name="COLUMNS"><h3><u>COLUMNS</u></h3></a> -<br> -<nobr>Macro: <strong>COLUMNS</strong> <number of columns> <width of gutters></nobr> -<br> -<em>*Should be the last macro before START -<br> -The second argument requires a <a href="#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>COLUMNS</strong> takes two arguments: the number of -columns you want on document pages, and the width of the -<a href="definitions.html#TERMS_GUTTER">gutter</a> -between them. For example, to set up a page with two columns -separated by an 18 point gutter, you'd do -<p> -<pre> - .COLUMNS 2 18p -</pre> - -Nothing to it, really. However, as noted above, -<strong>COLUMNS</strong> should always be the last document -setup macro prior to -<a href="#START">START</a>. -<p> -<strong>NOTE:</strong> <strong>Mom</strong> ignores columns completely -when the -<a href="#PRINTSTYLE">PRINTSTYLE</a> -is <strong>TYPEWRITE</strong>. The notion of typewriter-style -output in columns is just too ghastly for her to bear. - -<h3><u>Using tabs when COLUMNS are enabled</u></h3> -<strong>Mom</strong>'s tabs -(both -<a href="typesetting.html#TYPESETTING_TABS">typesetting tabs</a> -and -<a href="typesetting.html#STRING_TABS">string tabs</a>) -behave as you'd expect during document processing, even when -<strong>COLUMNS</strong> are enabled. Tab structures set up -during document processing carry over from page to page and column -to column. - -<a name="BREAKING_COLUMNS"></a> -<h3><u>Breaking columns manually</u></h3> -<strong>Mom</strong> 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 -manually: <strong>COL_NEXT</strong> and <strong>COL_BREAK</strong>. - -<a name="COL_NEXT"></a> -<p> -<kbd>.COL_NEXT</kbd> breaks the line just before it, -<a href="definitions.html#TERMS_QUAD">quads</a> -it left (assuming the type is justified or quad left), and moves over -to the top of the next column. If the column happens to be the last -(rightmost) one on the page, <strong>mom</strong> starts a new page -at the "column 1" position. This is the macro to use when -you want to start a new column after the end of a paragraph. - -<a name="COL_BREAK"></a> -<p> -<kbd>.COL_BREAK</kbd> is almost the same, except that -instead of breaking and quadding the line preceding it, -she breaks and spreads it (see -<a href="typesetting.html#SPREAD">SPREAD</a>). -Use this macro whenever you need to start a new column in the middle -of a paragraph. -<p> -If you need <strong>COL_BREAK</strong> in the middle of a blockquote -or (god help us) an epigraph, you must do the following in order for -<strong>COL_BREAK</strong> to work: -<p> -<pre> - .SPREAD - \!.COL_BREAK -</pre> -<hr> - -<!========================================================================> - -<a name="START_MACRO"> -<h2><u>Start document processing</u></h2> -</a> - -In order to use <strong>mom</strong>'s document element macros -(tags), you have to tell her you want them. The macro to do this -is <strong>START</strong>. -<p> -<strong>START</strong> collects the information you gave -<strong>mom</strong> in the setup section at the top of your file (see -<a href="#DOCPROCESSING_TUT">Tutorial -- setting up a mom document</a>), -merges it with her defaults, sets up headers and page numbering, -and prepares <strong>mom</strong> to process your document using -the document element tags. No document processing takes place until -you invoke <strong>START</strong>. -<p> - -<!---START---> - -<hr width="66%" align="left"> -<p> -<a name="START"></a> -Macro: <strong>START</strong> -<br> -<em>*Required for document processing.</em> - -<p> -<strong>START</strong> takes no arguments. It simply instructs -<strong>mom</strong> to begin document processing. If you don't -want document processing (i.e. you only want the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>), -don't use <strong>START</strong>. -<p> -At a barest minimum before <strong>START</strong>, you must enter a -<a href="#PRINTSTYLE">PRINTSTYLE</a> -command. -<p> -<hr> - -<!========================================================================> - -<a name="DOC_PARAM_MACROS"> -<h2><u>Changing document-wide style parameters after START</u></h2> -</a> - -In the normal course of things, you change the basic type -parameters of a document <em>before</em> -<a href="#START">START</a>, -using -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -(<strong>L_MARGIN, FAMILY, PT_SIZE, LS,</strong> etc). After -<strong>START</strong>, you MUST use the following macros to make -global changes to the basic type parameters of a document. -<p> - -<a name="INDEX_DOC_PARAM"> - <h3><u>Macro list</u></h3> -</a> -<ul> - <li><a href="#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a> - <li><a href="#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a> - <li><a href="#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a> - <li><a href="#DOC_FAMILY">DOC_FAMILY</a> - <li><a href="#DOC_PT_SIZE">DOC_PT_SIZE</a> - <li><a href="#DOC_LEAD">DOC_LEAD</a> - <li><a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> - <li><a href="#DOC_QUAD">DOC_QUAD</a> -</ul> -<br> - -<hr width="66%" align="left"> -<p> -<a name="DOC_LEFT_MARGIN"> - <nobr>Macro: <strong>DOC_LEFT_MARGIN</strong> <left margin></nobr> -</a> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> -<p> -<ul> - <li>the argument is the same as for - <a href="typesetting.html#L_MARGIN">L_MARGIN</a> - <li>changes all left margins to the new value - <li>the line length remains the same (i.e. the right margin - shifts when you change the left margin) -</ul> -<br> - -<hr width="66%" align="left"> -<p> -<a name="DOC_RIGHT_MARGIN"> - <nobr>Macro: <strong>DOC_RIGHT_MARGIN</strong> <right margin></nobr> -</a> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> -<p> -<ul> - <li>the argument is the same as for - <a href="typesetting.html#R_MARGIN">R_MARGIN</a> - <li>changes all right margins, including - <a href="definitions.html#TERMS_DOCHEADER">docheaders</a>, - headers (or footers) and page numbering to the new value; - for changing the right margin of - <a href="definitions.html#TERMS_RUNNING">running text</a> - only, use - <a href="typesetting.html#R_MARGIN">R_MARGIN</a> - (see - <a href="typemacdoc.html#TOP">Using typesetting macros during - document processing</a>, - entry for <strong>R_MARGIN</strong>) - <li>all mom commands that include a right indent calculate - the indent from the new value -</ul> -<br> - -<hr width="66%" align="left"> -<p> -<a name="DOC_LINE_LENGTH"> - <nobr>Macro: <strong>DOC_LINE_LENGTH</strong> <length></nobr> -</a> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> -<p> -<ul> - <li>the argument is the same as for - <a href="typesetting.html#LINELENGTH">LL</a> - <li>exactly equivalent to changing the right margin with - DOC_RIGHT_MARGIN (see - <a href="#DOC_RIGHT_MARGIN">above</a>); - for changing the line length of - <a href="definitions.html#TERMS_RUNNING">running text</a> - only, use - <a href="typesetting.html#LINELENGTH">LL</a> - (see - <a href="typemacdoc.html#TOP">Using typesetting macros during - document processing</a>, - entry for <strong>LL</strong>) -</ul> -<br> - -<hr width="66%" align="left"> -<p> -<a name="DOC_FAMILY"> - <nobr>Macro: <strong>DOC_FAMILY</strong> <family></nobr> -</a> -<p> -<ul> - <li>the argument is the same as for - <a href="typesetting.html#FAMILY">FAMILY</a> - <li>globally changes the type family - <li>any page elements (e.g. - <a href="definitions.html#TERMS_HEADER">headers</a>, - page numbers, footnotes) whose families you wish to remain - at their old values must be reset with the appropriate - <a href="docelement.html#DOCELEMENT_CONTROL">control macros</a> -</ul> -<br> - -<hr width="66%" align="left"> -<p> -<a name="DOC_PT_SIZE"> - <nobr>Macro: <strong>DOC_PT_SIZE</strong> <point size></nobr> -</a> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> -<p> -<ul> - <li>the argument is the same as for - <a href="typesetting.html#PS">PT_SIZE</a>, - and refers to the point size of type in paragraphs - <li>all automatic point size changes (heads, quotes, - footnotes, headers, etc.) are affected by the new size; - anything you do not want affected must be reset to - its former value (see the Control Macros section of - the pertinent document element for instructions on - how to do this) -</ul> -<br> - -<hr width="66%" align="left"> -<p> -<a name="DOC_LEAD"> - <nobr>Macro: <strong>DOC_LEAD</strong> <points> [ ADJUST ]</nobr> -</a> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> -<p> -<ul> - <li>the argument is the same as for - <a href="typesetting.html#LS">LS</a>, - and refers to the - <a href="definitions.html#TERMS_LEAD">leading</a> - of paragraphs - <li>because paragraphs will have a new leading, the leading and - spacing of most running text is influenced by the new value - <li>epigraphs and footnotes remain unaffected; - if you wish to change their leading, use - <a href="docelement.html#EPIGRAPH_AUTOLEAD">EPIGRAPH_AUTOLEAD</a> - and - <a href="docelement.html#FOOTNOTE_AUTOLEAD">FOOTNOTE_AUTOLEAD</a>. - <li>the optional argument <strong>ADJUST</strong> performs - leading adjustment as explained in - <a href="#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> -</ul> -<p> -<strong>IMPORTANT:</strong> Do not use <strong>DOC_LEAD</strong> -in the middle of a page! It should always and only be invoked -immediately prior to a new page, like this: -<p> -<pre> - .DOC_LEAD <new value> - .NEWPAGE -</pre> - -<strong>NOTE:</strong> Even if you don't pass -<strong>DOC_LEAD</strong> the optional argument -<strong>ADJUST</strong>, <strong>mom</strong> will still adjust the -leading of endnotes pages and toc pages. See -<a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a> -and -<a href="docelement.html#TOC_LEAD">TOC_LEAD</a> -for an explanation of how to disable this default behaviour. -<p> - -<hr width="66%" align="left"> -<p> -<a name="DOC_QUAD"> - <nobr>Macro: <strong>DOC_QUAD</strong> L | R | C | J</nobr> -</a> -<p> -<ul> - <li>the arguments are the same as for - <a href="typesetting.html#QUAD">QUAD</a> - <li>affects paragraphs, epigraphs and footnotes; does not - affect blockquotes -</ul> -<br> - -<hr> -<a href="typemacdoc.html#TOP">Next</a> -<a href="color.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/goodies.html b/contrib/groff/contrib/mom/momdoc/goodies.html deleted file mode 100644 index 6b907b49bdff..000000000000 --- a/contrib/groff/contrib/mom/momdoc/goodies.html +++ /dev/null @@ -1,1057 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Goodies</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="inlines.html#TOP">Next</a> -<a href="typesetting.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> -<a name="TOP"></a> -<a name="GOODIES"> - <h1 align="center"><u>Goodies</u></h1> -</a> -<p> -<a name="INTRO_GOODIES"></a> -The macros in this section are a collection of useful (and sometimes -nearly indispensable) routines to simplify typesetting. -<p> -<a name="INDEX_GOODIES"> - <h3><u>Goodies list</u></h3> -</a> - -<ul> - <li><a href="#ALIAS">ALIAS</a> (rename macros) - <li><a href="#SILENT">SILENT</a> ("hide" input lines from output) - <li><a href="#TRAP">TRAP</a> (suspend/re-invoke traps) - <li><a href="#SMARTQUOTES">SMARTQUOTES</a> (convert typewriter doublequotes to proper doublequotes) - <li><a href="#CAPS">CAPS</a> (convert to upper case) - <li><a href="#STRING">STRING</a> (user-definable strings) - <br> - <li><strong>Underscore/underline</strong> - <ul> - <li><a href="#UNDERSCORE">UNDERSCORE</a> (single underscore) - <li><a href="#UNDERSCORE2">UNDERSCORE2</a> (double underscore) - <li><a href="#UNDERLINE">UNDERLINE</a> (underline -- Courier only!) - <li><a href="#UL">\*[UL]</a> (inline escape to underline -- Courier only!) - </ul> - <li><strong>Padding</strong> - <ul> - <li><a href="#PAD">PAD</a> (insert equalized space into lines) - <li><a href="#PAD_MARKER">PAD_MARKER</a> (change/set the marker used with <strong>PAD</strong>) - </ul> - <li><strong>Leaders</strong> - <ul> - <li><a href="#LEADER">\*[LEADER]</a> (inline escape to add leaders to a line) - <li><a href="#LEADER_CHARACTER">LEADER_CHARACTER</a> (change/set the leader character) - </ul> - <li><strong>Drop caps</strong> - <ul> - <li><a href="#DROPCAP">DROPCAP</a> (set a drop cap) - <li><strong>Support macros for DROPCAP</strong> - <ul> - <li><a href="#DROPCAP_FAMILY">DROPCAP_FAMILY</a> (change drop cap family) - <li><a href="#DROPCAP_FONT">DROPCAP_FONT</a> (change drop cap font) - <li><a href="#DROPCAP_ADJUST">DROPCAP_ADJUST</a> (alter size of drop cap) - <li><a href="#DROPCAP_COLOR">DROPCAP_COLOR</a> (change colour of drop cap) - <li><a href="#DROPCAP_GUTTER">DROPCAP_GUTTER</a> (change space between drop cap and running text) - </ul> - </ul> - <li><strong>Superscripts</strong> - <ul> - <li><a href="#SUP">\*[SUP]</a> (set superscript) - <li><a href="#CONDSUP">\*[CONDSUP]</a> (set condensed superscript) - <li><a href="#EXTSUP">\*[EXTSUP]</a> (set extended superscript) - </ul> - <li><strong>Lists</strong> - <ul> - <li><a href="docelement.html#LIST_INTRO">Introduction to lists</a> - <li><a href="docelement.html#LIST">LIST</a> - <li><a href="docelement.html#ITEM">ITEM</a> - <li><a href="docelement.html#SHIFT_LIST">SHIFT_LIST</a> - <li><a href="docelement.html#RESET_LIST">RESET_LIST</a> - <li><a href="docelement.html#PAD_LIST_DIGITS">PAD_LIST_DIGITS</a> - </ul> -</ul> - -<!---ALIAS---> - -<hr width="66%" align="left"> -<a name="ALIAS"><h3><u>Rename macros</u></h3></a> -<br> -<nobr>Macro: <strong>ALIAS</strong> <new name> <old name></nobr> - -<p> -The <strong>ALIAS</strong> macro may well be your best friend. With it, -you can change the name of a macro to anything you like -(provided the new name is not already being used by -<strong>mom</strong>; see the -<a href="reserved.html#RESERVED">list of reserved words</a>). -<p> -Groff has always been a bit intimidating for new users because -its standard macro packages use very terse macro names. -<strong>Mom</strong> doesn't like people to feel intimidated; she wants -them to feel welcome. Consequently, she tries for easy-to-grasp, -self-explanatory macro names. However, <strong>mom</strong> knows -that people have their own ways of thinking, their own preferences, -their own habits. Some of her macro names may not suit you; they -might be too long, or aren't what you automatically think of -when you want to do a particular thing, or might conflict with habits -you've developed over the years. -<p> -If you don't like one of <strong>mom</strong>'s macro names, -say, PAGEWIDTH, change it, like this: -<p> -<pre> - .ALIAS PW PAGEWIDTH - | | - new__| |__official - name name -</pre> - -The first argument to <strong>ALIAS</strong> is the new name you want -for a macro. The second is the "official" name by -which the macro is normally invoked. After <strong>ALIAS</strong>, -either can be used. -<p> -Note that in <strong>ALIAS</strong>, you do NOT include the period -(dot) that precedes the macro when it's a -<a href="definitions.html#TERMS_CONTROLLINES">control line</a>. -<p> -<strong>NOTE:</strong> If you use <strong>ALIAS</strong> a lot, -and always for the same things, consider creating an aliases -file of the form -<p> -<pre> - .ALIAS <new name> <old name> - .ALIAS <new name> <old name> - .ALIAS <new name> <old name> - ...etc -</pre> - -Put the file someplace convenient and source it at the -beginning of your documents using the groff -<a href="definitions.html#TERMS_PRIMITIVES">primitive</a> -<strong>.so</strong>. Assuming that you've created an aliases file -called mom_aliases in your home directory under a directory -called <code>Mom</code>, you'd source it by placing -<p> -<pre> - .so /home/<username>/Mom/mom_aliases -</pre> - -at the top of your documents. -<p> -If you share documents that make use of an alias file, remember that -other people don't have the file! Paste the whole thing at the top -of your documents, please. -<p> -<strong>EXPERTS:</strong> <strong>ALIAS</strong> is an alias of -<code>.als</code>. You can use either, or mix 'n' match with -impunity. -<p> - -<!---SILENT---> - -<hr width="66%" align="left"> -<a name="SILENT"><h3><u>Hide input lines from output</u></h3></a> -<br> -<nobr>Macro: <strong>SILENT</strong> toggle</nobr> -<br> -Alias: <strong>COMMENT</strong> - -<p> -Sometimes, you want to "hide" -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -from final output. This is most likely to be the case when setting -up string tabs (see the -<a href="STRING_TABS_TUT">quickie tutorial on string tabs</a> -for an example), but there are other places where you might want input -lines to be invisible as well. Any place you don't want input lines -to appear in the output, use the <strong>SILENT</strong> macro. -<p> -<strong>SILENT</strong> is a toggle. Invoking it without an argument -turns it on; any argument turns it off. E.g., -<p> -<pre> - .SILENT - A line of text - .SILENT OFF -</pre> - -The line "A line of text" will not appear in the -output copy. -<p> -<strong>SILENT</strong> is aliased as <strong>COMMENT</strong>. -If you want to insert non-printing comments into your documents, -you may prefer this. -<p> -<strong>NOTE: SILENT</strong> does not automatically break an -<a href="definitions.html#TERMS_INPUTLINE">input line</a> -(see -<a href="typesetting.html#BR">BR</a>) -when you're in one of the -<a href="definitions.html#TERMS_FILLED">fill modes</a> -(<a href="typesetting.html#JUSTIFY">JUSTIFY</a> -or -<a href="typesetting.html#QUAD">QUAD L | R | C | J</a>). -The same applies to tabs -(<a href="typesetting.html#TAB_SET">typesetting</a> -or -<a href="typesetting.html#ST">string</a>) -to which you've passed the <strong>J</strong> or <strong>QUAD</strong> -argument. You must insert <code>.BR</code> yourself, or risk a -portion of your text disappearing into a black hole. -<p> - -<!---TRAP---> - -<hr width="66%" align="left"> -<a name="TRAP"><h3><u>Suspend/re-invoke traps</u></h3></a> -<br> -<nobr>Macro: <strong>TRAP</strong> toggle</nobr> - -<p> -Traps are vertical positions on the output page at which you or -<strong>mom</strong> have instructed groff to start doing -something automatically. Commonly, this is near the bottom of -the page, where automatic behind-the-scenes processing is needed -in order for one page to finish and another to start. -<p> -Sometimes, traps get sprung when you don't want them. If this -happens, surround just the offending macros and input lines with -<p> -<pre> - .TRAP OFF - ... - .TRAP -</pre> - -<strong>TRAP</strong> is a toggle, therefore any argument -turns it off (i.e. suspends the trap), and no argument turns it -(back) on. -<p> - -<!---SMARTQUOTES---> - -<hr width="66%" align="left"> -<a name="SMARTQUOTES"><h3><u>Convert typewriter doublequotes to proper doublequotes</u></h3></a> -<br> -<nobr>Macro: <strong>SMARTQUOTES</strong> [<off>] [ ,, | >> | << ]</nobr> -<br> -or -<br> -<nobr>Macro: <strong>SMARTQUOTES</strong> DA | DE | ES | FR | IT | NL | NO | PT | SV</nobr> - -<p> -If you invoke <strong>SMARTQUOTES</strong> without an argument, -<strong>mom</strong> converts all instances of the inch-mark, -(<kbd>"</kbd> -- also called a "doublequote"), into -the appropriate instances of true Anglo-American open- and -close-doublequotes. (See -<a href="#SQ_INTERNATIONAL">Internationalization</a> -for how to get SMARTQUOTES to behave correctly for non-English -quoting styles.) -<p> -Typographically, there is a difference between the inch-mark and -doublequotes -- a BIG difference. Sadly, typewriters and computer -keyboards supply only one: the inch-mark. While using inches for -doublequotes is, and always has been, acceptable in typewriter-style -copy, it has never been, and, God willing, never will be acceptable in -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? -<p> -<a name="SQ_INTERNATIONAL"><h3>Internationalization</h3></a> -<p> -If you invoke <strong>SMARTQUOTES</strong> with one of the optional -arguments (<kbd>,,</kbd> or <kbd>>></kbd> or -<kbd><<</kbd>) you can use <kbd>"</kbd> as "cheap" -open- and close-quotes when inputting text in a language other than -English, and have <strong>mom</strong> convert them, on output, -into the chosen open- and close-quote style. -<p> -<kbd>,,</kbd> opens quotes with "lowered doublequotes" and -closes them with "raised doublequotes", as in this ascii -approximation: -<p> -<pre> - ,,Hilfe !`` -</pre> - -<kbd>>></kbd> opens quotes with guillemets pointing to the -right, and closes them with guillemets pointing to the left, as in -this ascii approximation: -<p> -<pre> - >>Zurück !<< -</pre> - -<kbd><<</kbd> opens quotes with guillemets pointing to the -left, and closes them with guillemets pointing to the right, as in -this ascii approximation: -<p> -<pre> - <<Mais monsieur! Je ne suis pas ce genre de fille!>> -</pre> - -Please note: the above arguments to <strong>SMARTQUOTES</strong> -are literal ASCII characters. <kbd>,,</kbd> is two commas, -<kbd><<</kbd> is two less-than signs and <kbd>>></kbd> -is two greater-than signs. -<p> -Alternatively, you can pass <strong>SMARTQUOTES</strong> the -two-letter, ISO 639 abbreviation for the language you're writing in, -and <strong>mom</strong> will output the correct quotes. -<p> -<pre> - .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>> -</pre> -<p> -Turn <strong>SMARTQUOTES</strong> off by passing it any argument -<em>not</em> in the argument list (e.g. <strong>OFF</strong>, -<strong>QUIT</strong>, <strong>X</strong>, etc.) -<p> -If you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -with -<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>, -<strong>SMARTQUOTES</strong> is on by default (in the Anglo-American -style); with -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -it's off by default (and should probably stay that way). -<p> -Finally, if you're fussy about the kerning of quote marks in -relation to the text they surround, or have special quoting needs, -you have to enter quote marks by hand using groff's native -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -for special characters (see man groff_char for a complete list of -special characters). Entering quote marks this way allows you to -use <strong>mom</strong>'s -<a href="inlines.html#INLINE_KERNING_MOM">inline kerning escapes</a> -to fine-tune the look of quotes. -<p> -<strong>NOTE:</strong> <strong>SMARTQUOTES</strong> does not work on -single quotes, which most people input with the apostrophe (found at -the right-hand end of the "home row" on a QWERTY keyboard). -Groff will interpret all instances of the apostrophe as an apostrophe, -making the symbol useless as an open-single-quote. For open single -quotes, input the backtick character typically found under the tilde -on most keyboards. (Pour nous autres, "backtick" veut dire -l'accent grave.) -Here's an example of correct input copy with single quotes: -<p> -<pre> - "But she said, `I don't want to!'" -</pre> - -<strong>ADDITIONAL NOTE:</strong> Whether or not you have -<strong>SMARTQUOTES</strong> turned on, get into the habit of entering -the foot- and inch-marks, when you need them, with the -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -<strong>\*[FOOT]</strong> and <strong>\*[INCH]</strong>, instead -of <kbd>'</kbd> and <kbd>"</kbd>. -<p> - -<!---CAPS---> - -<hr width="66%" align="left"> -<a name="CAPS"><h3><u>Convert to upper case</u></h3></a> -<br> -<nobr>Macro: <strong>CAPS</strong> toggle</nobr> - -<p> -<strong>CAPS</strong> converts all lower case letters to upper -case. Primarily, it's a support macro used by the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>, -but you may find it helpful on occasion. <strong>CAPS</strong> -is a toggle, therefore no argument turns it on, any argument -turns it off. -<p> -<pre> - .CAPS - All work and no play makes Jack a dull boy. - .CAPS OFF -</pre> - -produces, on output -<p> -<pre> - ALL WORK AND NO PLAY MAKES JACK A DULL BOY. -</pre> - -<!---STRING---> - -<hr width="66%" align="left"> -<a name="STRING"><h3><u>User-defined strings</u></h3></a> -<br> -<nobr>Macro: <strong>STRING</strong> <name> <what you want in the string></nobr> - -<p> -You may find sometimes that you have to type out portions of text -repeatedly. If you'd like not to wear out your fingers, you can -define a "string" that, whenever you call it by name, -outputs whatever you put into it. -<p> -For example, say you're creating a document that repeatedly uses -the phrase "the Montreal/Windsor corridor". Instead of -typing all that out every time, you could define a string, like -this: -<p> -<pre> - .STRING mw the Montreal/Windsor corridor -</pre> - -Once a string is defined, you can call it any time with the -<a href="definitions.html#INLINES">inline escape</a> -<kbd>\*[<stringname>]</kbd>. Using the example string above -<p> -<pre> - The schedule for trains along \*[mw]: -</pre> - -produces, on output -<p> -<pre> - The schedule for trains along the Montreal/Windsor corridor: -</pre> - -<strong>NOTE:</strong> Be very careful not to put any spaces at the -ends of strings you're defining, unless you want them. Everything -after the name argument you pass to <strong>STRING</strong> goes -into the string, including trailing spaces. -<p> -<strong>Experts: STRING</strong> is an alias for <strong>ds</strong>. -You can use either, or mix 'n' match with impunity. -<p> - -<!---UNDERSCORE---> - -<hr width="66%" align="left"> -<a name="UNDERSCORE"><h3><u>Single underscore</u></h3></a> -<br> -<nobr>Macro: <strong>UNDERSCORE</strong> [ <distance below baseline> ] "<string>"</nobr> -<br> -<em>*Optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -By default, <strong>UNDERSCORE</strong> places an underscore 2 points -beneath the required -<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>. -The string must be enclosed in double-quotes, like this: -<p> -<pre> - .UNDERSCORE "Unmonitored monopolies breed high prices and poor products." -</pre> - -If you wish to change the distance of the rule from the -baseline, use the optional argument <i><distance below -baseline></i> (with a unit of measure). -<p> -<pre> - .UNDERSCORE 3p "Unmonitored monopolies breed high prices and poor products." -</pre> - -The above places the underscore 3 points below the baseline. -<p> -<a name="NOTES_UNDERSCORE"></a> -<strong>NOTES:</strong> -<br> -<strong>UNDERSCORE</strong> does not work across line breaks in output -copy, which is to say that you can't underscore a multi-line passage -simply by putting the text of the whole thing in the string you pass -to <strong>UNDERSCORE</strong>. Each -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a> -or portion of an output line you want underscored must be plugged -separately into <strong>UNDERSCORE</strong>. Bear in mind, though, -that underscoring should at best be an occasional effect in typeset -copy. If you want to emphasize an entire passage, it's much, much -better to change fonts (e.g. to italic or bold). -<p> -You can easily and successfully underline entire passages in simulated -typewriter-style copy (i.e. if your font is Courier, or you're using -the document processing macro -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>), -with the -<a href="#UNDERLINE">UNDERLINE</a> -macro. <strong>UNDERLINE</strong> is designed specifically for this -purpose, but works only with the Courier font. -<p> -<strong>Mom</strong> doesn't always get the position and length -of the underscore precisely right in -<a href="definitions.html#TERMS_JUST">justified</a> -copy, although she's fine with all the other -<a href="definitions.html#TERMS_FILLED">fill modes</a>, -as well as with the no-fill modes. As of this writing, I have -no solution to the occasional problems with justified copy. -<p> -<strong>UNDERSCORE</strong> tends to confuse -<strong>gxditview</strong>, even though the output, when -printed, looks fine. Generally, I recommend using <strong>gv</strong> -to preview files anyway. See the section on -<a href="#PREVIEWING">previewing</a>. -<p> - -<!---UNDERSCORE2---> - -<hr width="66%" align="left"> -<a name="UNDERSCORE2"><h3><u>Double underscore</u></h3></a> -<br> -<nobr>Macro: <strong>UNDERSCORE2</strong> [ <distance below baseline> [ <distance between rules> ] ] "<string>"</nobr> -<br> -<em>*Optional arguments require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -By default, <strong>UNDERSCORE2</strong> places a double underscore -2 points beneath the required -<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>. -The string must be enclosed in double-quotes, like this: -<p> -<pre> - .UNDERSCORE2 "Unmonitored monopolies breed high prices and poor products." -</pre> - -The default distance between the two rules is 2 points. -<p> -If you wish to change the distance of the double underscore from -the baseline, use the optional argument <i><distance below -baseline></i> (with a unit of measure), e.g., -<p> -<pre> - .UNDERSCORE2 3p "Unmonitored monopolies breed high prices and poor products." -</pre> - -which places the double underscore 3 points below the baseline. -<p> -If you wish to change the distance between the two rules as -well, use the second optional argument <i><distance between -rules></i> (with a unit of measure). Be aware that you must -give a value for the first optional argument if you want to use -the second. -<p> -<strong>NOTE:</strong> the same restrictions and caveats apply -to <strong>UNDERSCORE2</strong> as to -<strong>UNDERSCORE</strong>. See the -<a href="#NOTES_UNDERSCORE">NOTES</a> -for <strong>UNDERSCORE</strong>. -<p> - -<!---UNDERLINE---> - -<hr width="66%" align="left"> -<a name="UNDERLINE"><h3><u>Underline text -- Courier font only!</u></h3></a> -<br> -<nobr>Macro: <strong>UNDERLINE</strong> toggle</nobr> - -<p> -If your font is Courier, or you're using the document processing macro -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>UNDERLINE</strong> allows you to underline words and -passages that, in typeset copy, would be italicized. You invoke -<strong>UNDERLINE</strong> 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. -<p> -When on, <strong>UNDERLINE</strong> underlines letters, words -and numbers, but not punctuation or spaces. This makes for more -readable copy than a solid underline. -<p> -<strong>NOTE:</strong> Underlining may also be turned on and off -<a href="definitions.html#TERMS_INLINES">inline</a> -with the escapes -<a href="#UL">\*[UL]...\*[ULX].</a> -<p> - -<!---UL---> - -<hr width="66%" align="left"> -<a name="UL"><h3><u>Inline escape for underlining -- Courier font only!</u></h3></a> -<br> -Inline: <strong>\*[UL]...\*[ULX]</strong> - -<p> -If your font is Courier, or you're using the document processing macro -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>\*[UL]...\*[ULX]</strong> underlines words and -passages that, in typeset copy, would be italicized. -<p> -<strong>\*[UL]</strong> underlines all letters, words and numbers -following it, but not punctuation or spaces. This makes for more -readable copy than a solid underline. When you no longer want -underlining, <strong>\*[ULX]</strong> turns underlining off. -<p> -The macro -<a href="#UNDERLINE">UNDERLINE</a> -and the inline escape <strong>\*[UL]</strong> are functionally -identical, hence -<p> -<pre> - .FAM C - .FT R - .PT_SIZE 12 - .LS 24 - .SS 0 - .QUAD LEFT - Which should I heed? - .UNDERLINE - Just do it - .UNDERLINE OFF - or - .UNDERLINE - just say no? - .UNDERLINE OFF -</pre> - -produces the same result as -<p> -<pre> - .FAM C - .FT R - .PT_SIZE 12 - .LS 24 - .SS 0 - .QUAD LEFT - Which should I heed? \*[UL]Just do it\*[ULX] or \*[UL]just say no?\*[ULX] -</pre> - -<!---PAD---> - -<hr width="66%" align="left"> -<a name="PAD"><h3><u>Insert space into lines</u></h3></a> -<br> -<nobr>Macro: <strong>PAD</strong> "<string with pad markers inserted>" [NOBREAK]</nobr> - -<p> -With <strong>PAD</strong>, you can insert unspecified amounts of -whitespace into a line. The optional <strong>NOBREAK</strong> -argument tells <strong>mom</strong> not to advance on the page -after the <strong>PAD</strong> macro has been invoked. -<p> -<strong>PAD</strong> calculates the difference between the length of -text on the line and the distance remaining to its end, then inserts -the difference (as whitespace) at the place(s) you specify. -<p> -Take, for example, the following relatively common typesetting -situation, found at the bottom of legal agreements: -<p> -<pre> - Date Signature | -</pre> - -The person signing the agreement is supposed to fill in the date -as well as a signature. Space needs to be left for both, but -the exact amount is neither known, nor important. All that -matters is that there be a little space after Date, and rather -more space after Signature. (In the above, | represents -the end of the line at the prevailing line length.) -<p> -The -<a href="#PADMARKER">pad marker</a> -(see below) is # (the pound or number sign on your keyboard) and -can be used multiple times in a line. With that in mind, here's how -you'd input the Date/Signature line (assuming a length of 30 picas): -<p> -<pre> - .LL 30P - .PAD "Date#Signature###" -</pre> - -When the line is output, the space remaining on the line, after -"Date" and "Signature" have been taken into -account, is split into four (because there are four # signs). -One quarter of the space is inserted between Date and Signature, -the remainder is inserted after Signature. -<a name="PAD_EXAMPLE"></a> -<p> -One rarely wants merely to insert space in a line; one usually -wants to fill it with something, hence <strong>PAD</strong> is -particularly useful in conjunction with -<a href="#STRING_TABS">string tabs</a>. -The following uses the Date/Signature example above, but adds -rules into the whitespace through the use of string tabs and -<strong>mom</strong>'s -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<a href="inlines.html#INLINE_RULE_MOM">\*[RULE]</a>. -(Instead of <strong>\*[RULE]</strong>, -groff's line drawing function, -<a href="inlines.html#INLINE_LINEDRAWING_GROFF">\l</a> -could be used.) -<p> -<pre> - .LL 30P - .PAD "Date \*[ST1]#\*[ST1X] Signature \*[ST2]###\*[ST2X]" NOBREAK - .ST 1 J - .ST 2 J - .TAB 1 - \*[RULE] - .TN - \*[RULE] - .TQ -</pre> - -If you're not a typesetter, and if you're new to groff, the -example probably looks like gibberish. My apologies. However, -remember that typesetting is a craft, and without having studied -the craft, it takes a while to grasp its concepts. -<p> -Basically, what the example does is: -<br> -<ol> - <li>Pads the Date/Signature line (using the pad marker #), - encloses the padded space with two string tabs markers, - and outputs the line. - <br> - <li>Sets the two string tabs (notice the use of - <a href="#EL">EL</a> - beforehand; you don't want <strong>mom</strong> - to advance a line at this point). - <br> - <li>Calls the first string tab and draws a rule to its full - length. - <br> - <li>Calls the second tab with - <a href="#TN">TN</a> - (which moves to tab 2 and stays on the same baseline) - then draws a rule to the full length of string tab 2. -</ol> -<br> -Often, when setting up string tabs this way, you don't want the -padded line to print immediately. To accomplish this, use -<a href="#SILENT">SILENT</a>. -See the <a href="#STRING_TABS_TUT">quickie tutorial on string tabs</a> -for an example. -<p> -<strong>NOTE:</strong> Because the pound sign (#) is used as the pad -marker, you can't use it as a literal part of the pad string. If you -need the sign to appear in the text of a padded line, change the pad -marker with <a href="#PAD_MARKER">PAD_MARKER</a>. Also, be aware -that # as a pad marker only applies within the <strong>PAD</strong> -macro; at all other times it prints literally, just as you'd expect. -<p> -Another important consideration when using <strong>PAD</strong> is that -because the string must be enclosed in double-quotes, you can't use the -double-quote (") as part of the string. The way to circumvent -this is to use the groff -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -<strong>\(lq</strong> and <strong>\(rq</strong> (leftquote and -rightquote respectively) whenever double-quotes are required in the -string passed to <strong>PAD</strong>. -<p> - -<!---PAD_MARKER---> - -<hr width="66%" align="left"> -<a name="PAD_MARKER"><h3><u>Change/set the marker used with PAD</u></h3></a> -<br> -<nobr>Macro: <strong>PAD_MARKER</strong> <character to use as the pad marker></nobr> - -<p> -If you need to change <strong>mom</strong>'s default pad marker -(#), either because you want a literal # in the padded line, -or simply because you want to use another character instead, use -<strong>PAD_MARKER</strong>, whose argument is the new pad marker -character you want. -<p> -<pre> - .PAD_MARKER @ -</pre> - -changes the pad marker to @. -<p> -Once you've changed the pad marker, the new marker remains in -effect for every instance of -<a href="#PAD">PAD</a> -until you change it again (say, back to the pound sign). -<p> - -<!---\*[LEADER]---> - -<hr width="66%" align="left"> -<a name="LEADER"><h3><u>Inline escape to add leaders to a line</u></h3></a> -<br> -Inline: <strong>\*[LEADER]</strong> - -<p> -Whenever you want to fill a line or tab with -<a href="definitions.html#TERMS_LEADER">leaders</a>, -use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<strong>\*[LEADER]</strong>. The remainder of the line or tab will be -filled with the leader character. <strong>Mom</strong>'s -default leader character is a period (dot), but you can change -it to any character you like with -<a href="#LEADER_CHARACTER">LEADER_CHARACTER</a>. -<p> -<strong>NOTE:</strong> <strong>\*[LEADER]</strong> fills lines -or tabs right to their end. You cannot insert leaders into a -line or tab and have text following the leader on the same line -or in the same tab. Should you wish to achieve such an effect -typographically, create tabs for each element of the line and -fill them appropriately with the text and leaders you need. -<a href="#STRING_TABS">String tabs</a> are perfect for this. An -example follows. -<p> -<pre> - .LL 30P - .PAD "Date\*[ST1]#\*[ST1X]Signature\*[ST2]###\*[ST2X]" - .EL - .ST 1 J - .ST 2 J - .TAB 1 - \*[LEADER] - .TN - \*[LEADER] - .TQ -</pre> - -The <strong>PAD</strong> line sets the words Date and Signature, -and marks string tabs around the pad space inserted in the line. -The string tabs are then "set", called, and filled -with leaders. The result looks like this: -<p> -<pre> - Date.............Signature..................................... -</pre> - -<!---LEADER_CHARACTER---> - -<hr width="66%" align="left"> -<a name="LEADER_CHARACTER"><h3><u>Change/set the leader character</u></h3></a> -<br> -<nobr>Macro: <strong>LEADER_CHARACTER</strong> <character></nobr> - -<p> -<strong>LEADER_CHARACTER</strong> takes one argument: a single -character you would like to be used for -<a href="definitions.html#TERMS_LEADER">leaders</a>. -(See -<a href="#LEADER">\*[LEADER]</a> for an explanation of how to -fill lines with leaders.) -<p> -For example, to change the leader character from <strong>mom</strong>'s -default (a period) to the underscore character, enter -<p> -<pre> - .LEADER_CHARACTER _ -</pre> - -<!---DROPCAP---> - -<hr width="66%" align="left"> -<a name="DROPCAP"><h3><u>Drop caps</u></h3></a> -<br> -<nobr>Macro: <strong>DROPCAP</strong> <dropcap letter> <number of lines to drop> [ COND <percentage> | EXT <percentage> ]</nobr> - -<p> -The first two arguments to <strong>DROPCAP</strong> are the letter you -want to be the -<a href="definitions.html#TERMS_DROPCAP">drop cap</a> -and the number of lines you want it to drop. By default, -<strong>mom</strong> uses the current family and font for the drop cap. -<p> -The optional argument (COND or EXT) indicates that you want the -drop cap condensed (narrower) or extended (wider). If you use -<strong>COND</strong> or <strong>EXT</strong>, you must follow the -argument with the percentage of the letter's normal width you want -it condensed or extended. No percent sign (%) is required. -<p> -<strong>Mom</strong> will do her very best to get the drop cap to -line up with the first line of text indented beside it, then set -the correct number of indented lines, and restore your left margin -when the number of drop cap lines has been reached. -<p> -Beginning a paragraph with a drop cap "T" looks -like this: -<p> -<pre> - .DROPCAP T 3 COND 90 - he thousand injuries of Fortunato I had borne as best I - could, but when he ventured upon insult, I vowed revenge. - You who so well know the nature of my soul will not suppose, - however, that I gave utterance to a threat... -</pre> - -The drop cap, slightly condensed but in the current family and font, -will be three lines tall, with whatever text fills those three -lines indented to the right of the letter. The remainder of the -paragraph's text will revert to the left margin. -<p> -<strong>NOTE:</strong> When using the -<a href="docprocessing.html#DOCPROCESSING">document processing macro</a> -<a href="#PP">PP</a>, -<strong>DROPCAP</strong> only works -<br> -<ul> - <li>with initial paragraphs (i.e. at the start of the document, - or after - <a href="#HEAD">HEAD</a>), - <li>when <strong>DROPCAP</strong> comes immediately after <strong>PP</strong>, - <li>and when the - <a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> - is TYPESET. -</ul> -<br> -If these conditions aren't met, <strong>DROPCAP</strong> is silently ignored. -<p> -<strong>WARNING:</strong> <strong>DROPCAP</strong> puts a bit of -a strain on resource-challenged systems. If you have such a -system and use drop caps extensively in a document, be prepared -for a wait while <strong>mom</strong> does her thing. - -<h3><a name="DROPCAP_SUPPORT"><u>Support macros for DROPCAP</u></a></h3> -Drop caps are the bane of most typesetters' existence. It's -very difficult to get the size of the drop cap right for the -number of drop lines, especially if the drop cap is in a -different family from the prevailing family of running text. -Not only that, but there's the gutter around the drop cap to -take into account, plus the fact that the letter may be too wide -or too narrow to look anything but odd or misplaced. -<p> -<strong>Mom</strong> solves the last of these problems with the -<strong>COND</strong> and <strong>EXT</strong> arguments. The -rest she solves with macros that change the default behaviour of -<strong>DROPCAP</strong>, namely -<p> -<a href="#DROPCAP_FAMILY">DROPCAP_FAMILY</a>, -<br> -<a href="#DROPCAP_FONT">DROPCAP_FONT</a>, -<br> -<a href="#DROPCAP_COLOR">DROPCAP_COLOR</a>, -<br> -<a href="#DROPCAP_ADJUST">DROPCAP_ADJUST</a> -<br> -and -<br> -<a href="#DROPCAP_GUTTER">DROPCAP_GUTTER</a>. -<p> -These macros must, of course, come before you invoke -<strong>DROPCAP</strong>. - -<h3><a name="DROPCAP_FAMILY"><u>DROPCAP_FAMILY</u></a></h3> - -Set the drop cap family by giving -<strong>DROPCAP_FAMILY</strong> the name of the family you want, -e.g. -<p> -<pre> - .DROPCAP_FAMILY H -</pre> - -which will set the family to Helvetica for the drop cap only. - -<h3><a name="DROPCAP_FONT"><u>DROPCAP_FONT</u></a></h3> - -Set the drop cap font by giving -<strong>DROPCAP_FONT</strong> the name of the font you want, -e.g. -<p> -<pre> - .DROPCAP_FONT I -</pre> - -which will set the font to italic for the drop cap only. - -<h3><a name="DROPCAP_ADJUST"><u>DROPCAP_ADJUST</u></a></h3> - -If the size <strong>mom</strong> calculates for the drop cap -isn't precisely what you want, you can increase or decrease it -with <strong>DROPCAP_ADJUST</strong>, like this: -e.g. -<p> -<pre> - .DROPCAP_ADJUST +1 - or - .DROPCAP_ADJUST -.75 -</pre> - -<strong>DROPCAP_ADJUST</strong> only understands -<a href="definitions.html#TERMS_PICASPOINTS">points</a>, -therefore do not append any -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -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. - - -<h3><a name="DROPCAP_COLOR"><u>DROPCAP_COLOR</u></a></h3> - -If you'd like your drop cap colourized, simply invoke -<strong>DROPCAP_COLOR</strong> with the name of a colour you've already -created ("initialized") with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. Only the drop cap will be -colourized; all other text will remain at the current colour -default (usually black). - -<h3><a name="DROPCAP_GUTTER"><u>DROPCAP_GUTTER</u></a></h3> - -By default, <strong>mom</strong> puts three points of space -between the drop cap and the text indented beside it. If you -want another value, use <strong>DROPCAP_GUTTER</strong> (with a -unit of measure), like this: -<p> -<pre> - .DROPCAP_GUTTER 6p -</pre> - -<!---\*[SUP]---> - -<hr width="66%" align="left"> -<a name="SUP"><h3><u>Superscript</u></h3></a> -<br> -Inlines: <strong>\*[SUP]...\*[SUPX]</strong> - -<p> -Superscripts are accomplished -<a href="definitions.html#TERMS_INLINES">inline</a>. -Whenever you need one, typically for numerals, all you need to -do is surround the superscript with the inlines above. -<strong>\*[SUP]</strong> begins superscripting; -<strong>\*[SUPX]</strong> turns it off. -<a name="CONDSUP"></a> -<a name="EXTSUP"></a> -<p> -If your running type is -<a href="#COND_INLINE">pseudo-condensed</a> -or -<a href="#EXT_INLINE">pseudo-extended</a> -and you want your superscripts to be equivalently pseudo-condensed or --extended, use <strong>\*[CONDSUP]...\*[CONDSUPX]</strong> or -<strong>\*[EXTSUP]...\*[EXTSUPX]</strong>. -<p> -The superscript inlines are primarily used by the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -for automatic generation of numbered footnotes. However, you may -find them useful for other purposes. -<p> -<strong>NOTE:</strong> <strong>Mom</strong> does a pretty fine job of -making superscripts look good in any font and at any size. If you're -fussy, though (and I am), about precise vertical placement, kerning, -weight, size, and so on, you may want to roll your own solution. -And sorry, there's no <strong>mom</strong> equivalent for subscripts. -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 -<strong>mom</strong> will receive eternal blessings not only in this -lifetime, but in all lifetimes to come. -<p> -<hr> -<a href="inlines.html#TOP">Next</a> -<a href="typesetting.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/headfootpage.html b/contrib/groff/contrib/mom/momdoc/headfootpage.html deleted file mode 100644 index 723b18110575..000000000000 --- a/contrib/groff/contrib/mom/momdoc/headfootpage.html +++ /dev/null @@ -1,1636 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Document processing: headers, footers and pagination</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="rectoverso.html#TOP">Next</a> -<a href="docelement.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"></a> -<a name="HEADFOOTPAGE"> - <h1 align="center"><u>PAGE HEADERS, FOOTERS, AND PAGINATION</u></h1> -</a> - -<ul> - <li><a href="#HEADFOOTPAGE_INTRO">Introduction -- VERY IMPORTANT; read me!</a> - <ul> - <li><a href="#PAGINATION_NOTE">An important note on pagination</a> - </ul> - <li><a href="#DESCRIPTION_GENERAL">General description of headers/footers</a> - <li><a href="#HEADER_STYLE">Default specs for headers/footers</a> - <li><a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a> - <li><a href="#HEADFOOT_MANAGEMENT">Managing headers/footers</a> -- see also <a href="#HEADFOOT_TOC">Control macros for headers/footers</a> - <ul> - <li><a href="#HEADERS">HEADERS</a> -- on or off - <li><a href="#FOOTERS">FOOTERS</a> -- on or off - <li><a href="#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a> - <li><a href="#USERDEF_HDRFTR">User-defined, single string recto/verso headers/footers</a> - <ul> - <li><a href="#USERDEF_HDRFTR_INTRO">Introduction</a> - <li><a href="#HDRFTR_RECTOVERSO">HEADER_RECTO, HEADER_VERSO</a> - </ul> - </ul> - <a name="HEADFOOT_TOC"></a> - <li><a href="#HEADFOOT_CONTROL">Control macros for headers/footers</a> - <ul> - <li><a href="#HDRFTR_STRINGS">Header/footer strings</a> - <ul> - <li><a href="#RESERVED_STRINGS">Using mom's "reserved" strings in header/footer definitions</a> - </ul> - <li><a href="#HDRFTR_STYLE">Header/footer style</a> - <ul> - <li><a href="#HDRFTR_STYLE_GLOBAL">Global style control</a> - <li><a href="#HDRFTR_STYLE_PART">Part-by-part style control</a> - </ul> - <li><a href="#HDRFTR_VERTICAL">Vertical placement and spacing of headers/footers</a> - <ul> - <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a> - <li><a href="#HDRFTR_GAP">HEADER_GAP</a> - </ul> - <li><a href="#HDRFTR_SEPARATOR">The header/footer separator rule</a> - <ul> - <li><a href="#HDRFTR_RULE">HEADER_RULE</a> -- on or off - <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> -- distance of rule from header/footer - <li><a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a> -- colour of the header/footer rule - </ul> - </ul> - <li><a href="#PAGINATION">Pagination</a> - <ul> - <li><a href="#INDEX_PAGINATION">Pagination control macros</a> - </ul> -</ul> - -<a name="HEADFOOTPAGE_INTRO"> - <h2><u>Introduction</u></h2> -</a> - -<a href="definitions.html#TERMS_HEADER">Headers</a> -and -<a href="definitions.html#TERMS_FOOTER">footers</a>, -as defined in the section -<a href="definitions.html#TERMS_MOM">Mom's Document Processing Terms</a>, -are those parts of a document that contain information about the document -itself which appear in the margins either above or below -<a href="definitions.html#TERMS_RUNNING">running text</a>. -They are, in all respects but two, identical. The differences are: -<p> -<ol> - <li>headers appear in the margin <em>above</em> running text while - footers appear in the margin <em>beneath</em> running text; - <li>the (optional) rule that separates headers from running - text appears <em>below</em> the header while - the (optional) rule that separates footers from running - text appears <em>above</em> the footer. -</ol> -<a name="HEADERFOOTER"></a> -<p> -Because headers and footers are virtually identical, this -documentation addresses itself only to headers. In all cases, -unless otherwise noted, descriptions of headers -describe footers as well. -<p> -Furthermore, any -<a href="definitions.html#TERMS_CONTROLMACRO">control macro</a> -that begins with <strong>HEADER_</strong> may be used to control -footers, simply by replacing <strong>HEADER_</strong> with -<strong>FOOTER_</strong>. -<p> -<strong>Author's note:</strong> Left to their own devices (i.e. if -you're happy with the way <strong>mom</strong> does things by default), -headers are something you never have to worry about. You can skip -reading this section entirely. But if you want to change them, be -advised that headers have more macros to control their appearance than -any other document element. The text of this documentation becomes -correspondingly dense at this point. -<a name="PAGINATION_NOTE"></a> -<p> -<strong>NOTE:</strong> While the single page number that -<strong>mom</strong> generates in either the top or bottom margin -above or below running text is technically a kind of header/footer, -<strong>mom</strong> and this documentation treat it as a -separate page element. -<p> - -<a name="DESCRIPTION_GENERAL"><h3><u>General description of headers/footers</u></h3></a> -<p> -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. -<p> -The left part ("header left") lines up with the document's -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. -<p> -<strong>A note to groff experts:</strong> Although -<strong>mom</strong>'s headers resemble the three-part titles generated -by <code>.tl</code>, they're in no way related to it, nor based -upon it. <code>.tl</code> is not used at all in <strong>mom</strong>. -<p> -Normally, <strong>mom</strong> fills headers with strings appropriate -to the document type selected with -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>. -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 capitalization style (caps or caps/lower-case) -for each header part individually. -<p> -By default, <strong>mom</strong> prints a horizontal rule beneath -headers to separate them visually from running text. In the case of -footers, the rule is <em>above</em> running text. You can increase -or decrease the space between the header and the rule if you like (with -<a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a>), -or remove it completely. -<p> - -<a name="HEADER_STYLE"><h3><u>Default specs for headers/footers</u></h3></a> -<p> -<strong>Mom</strong> makes small type adjustments to each part of -the header (left, centre, right) to achieve an aesthetically -pleasing result. The defaults are listed below. (The strings -<strong>mom</strong> puts by default in each part are explained in -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>.) -<p> -<strong>NOTE:</strong> Except for capitalization (all caps or -caps/lower-case), these defaults apply only to -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a>. -<p> -<pre> -TYPE SPEC HEADER LEFT HEADER CENTER HEADER RIGHT ---------- ----------- ------------- ------------ -Family document default document default document default -Font roman italic roman -Colour (black) (black) (black) -All caps no no yes -Size* -.5 (points) -.5 (points) -2 (points) - (-2 if all caps) (-2 if all caps) (-.5 if not all caps) - -*Relative to the point size of type in paragraphs -</pre> - -You can, of course, change any of the defaults using the appropriate -control macros. And should you wish to design headers from the ground -up, <strong>mom</strong> has a special macro, -<a href="#HDRFTR_PLAIN">HEADER_PLAIN</a>, -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 capitalization style of any header part. -<p> - -<a name="VERTICAL_SPACING"><h3><u>Vertical placement and spacing of headers/footers</u></h3></a> -<p> -As explained in the section on -<a href="typedocmac.html">typesetting macros in document processing</a>, -the top and bottom margins of a <strong>mom</strong> document -are the vertical start and end positions of -<a href="definitions.html#TERMS_RUNNING">running text</a>, -not the vertical positions of headers or footers, which, by definition, -appear in the margins <em>above</em> (or below) running text. -<p> -The vertical placement of headers -is controlled by the macro -<a href="#HDRFTR_MARGIN">HEADER_MARGIN</a>, -which establishes the -<a href="definitions.html">baseline</a> -position of headers relative to the <em>top</em> edge of the page. -The header rule, whose position is relative to the header itself, -is controlled by a separate macro. -<strong>FOOTER_MARGIN</strong> establishes the baseline position of -footers relative to the <em>bottom</em> edge of the page. -<p> -<a href="#HDRFTR_GAP">HEADER_GAP</a> establishes -the distance between headers and the <em>start</em> of running text (effectively -making <strong>HEADER_MARGIN + HEADER_GAP</strong> the top margin of -running text unless you give <strong>mom</strong> a literal top margin -(with -<a href="typesetting.html#T_MARGIN">T_MARGIN</a>), -in which case she ignores <strong>HEADER_GAP</strong> and starts -running text at whatever top margin you gave. -<strong>FOOTER_GAP</strong> and -<a href="typesetting.html#B_MARGIN">B_MARGIN</a> -work similarly, except they determine where running text -<em>ends</em> on the page. (See -<a href="#FOOTER_MARGIN">FOOTER MARGIN AND BOTTOM MARGIN -- VERY IMPORTANT!</a> -for a warning about possible conflicts between the footer margin -and the bottom margin.) -<p> -Confused? <strong>Mom</strong> apologizes. It's really quite -simple. By default, <strong>mom</strong> sets headers 4-1/2 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a> -down from the top of the page and starts running text 3 picas (the -<strong>HEADER_GAP</strong>) beneath that, which means the -effective top margin of running text is 7-1/2 picas (visually approx. 1 -inch). If you give <strong>mom</strong> a literal top margin (with -<a href="typesetting.html#T_MARGIN">T_MARGIN</a>), -she ignores the <strong>HEADER_GAP</strong> and starts running -text at whatever top margin you gave. -<p> -Footers are treated the same way, the only difference being the -default distances. <strong>Mom</strong> sets footers 3 picas up from -the bottom of the page, and interrupts the processing of running text 3 -picas (the <strong>FOOTER_GAP</strong>) above that (again, visually -approx. 1 inch). If you give <strong>mom</strong> a literal bottom -margin (with <a -href="typesetting.html#B_MARGIN">B_MARGIN</a>), she ignores the -<strong>FOOTER_GAP</strong> and interrupts the processing of running -text at whatever bottom margin you gave. -<p> -If <strong>mom</strong> is paginating your document (she -does, by default, at the bottom of each page), the vertical -spacing and placement of page numbers, whether at the top -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 -<a href="#PAGINATION">Pagination control</a>. -<p> -<hr> - -<!========================================================================> - -<a name="HEADFOOT_MANAGEMENT"> - <h2><u>Managing headers/footers</u></h2> -</a> - -<p> -The following are the basic macros for turning -<a href="definitions.html#TERMS_HEADER">headers</a> -or -<a href="definitions.html#TERMS_FOOTER">footers</a> -on or off. They should be invoked prior to -<a href="docprocessing.html#START">START</a>. -<p> -By default, <strong>mom</strong> prints page headers. If you turn -them off, she will begin -<a href="definitions.html#TERMS_RUNNING">running text</a> -on each page with a default top margin of 6 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a> -unless you have requested a different top margin (with -<a href="typesetting.html#T_MARGIN">T_MARGIN</a>) -prior to -<a href="docprocessing.html#START">START</a>. -<p> -Please note that headers and footers are mutually exclusive. If -headers are on, footers (but NOT bottom-of-page numbering) are -automatically turned off. Equally, if footers are on, headers -(but NOT top-of-page numbering) are automatically turned off. Thus, if -you'd prefer footers in a document, you need only invoke -<a href="#FOOTERS">FOOTERS</a>; -there's no need to turn headers off first. -<p> - -<!---HEADERS---> - -<hr width="66%" align="left"> -<p> -<a name="HEADERS"></a> -<nobr>Macro: <strong>HEADERS</strong> toggle</nobr> - -<p> -<a href="definitions.html#TERMS_HEADER">Page headers</a> -are on by default. If you don't want them, turn them off by -invoking <strong>HEADERS</strong> with any argument -(<strong>OFF, QUIT, END, X...</strong>), e.g. -<p> -<pre> - .HEADERS OFF -</pre> -<p> -<strong>NOTE:</strong> <strong>HEADERS</strong> automatically -disables -<a href="definitions.html#TERMS_FOOTER">footers</a> -(you can't have both), but not the page numbers that normally -appear at the bottom of the page. -<p> -<strong>ADDITIONAL NOTE:</strong> If <strong>HEADERS</strong> -are <strong>OFF</strong>, <strong>mom</strong>'s normal top -margin for -<a href="definitions.html#TERMS_RUNNING">running text</a> -(7.5 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>) -changes to 6 picas (visually approx. 1 inch). This does NOT apply -to the situation where footers have been explicitly turned on -(with -<a href="#FOOTERS">FOOTERS</a>). -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.) -<p> - -<!---FOOTERS---> - -<hr width="66%" align="left"> -<p> -<a name="FOOTERS"></a> -<nobr>Macro: <strong>FOOTERS</strong> toggle</nobr> - -<p> -<a href="definitions.html#TERMS_FOOTER">Page footers</a> -are off by default. If you want them instead of -<a href="definitions.html#TERMS_HEADER">headers</a> -(you can't have both), turn them on by invoking -<strong>FOOTERS</strong> without an argument, e.g. -<p> -<pre> - .FOOTERS -</pre> - -<p> -<strong>FOOTERS</strong> automatically disables headers, and -<strong>mom</strong> shifts the placement of page numbers from their -normal position at page bottom to the top of the page. -<p> -<strong>NOTE:</strong> By default, when footers are on, -<strong>mom</strong> does not print a page number on the first -page of a document, nor on first pages after -<a href="rectoverso.html#COLLATE">COLLATE</a>. -If you don't want this behaviour, you can change it with -<a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a>. -<p> - -<!---FOOTER_ON_FIRST_PAGE---> - -<hr width="66%" align="left"> -<p> -<a name="FOOTER_ON_FIRST_PAGE"></a> -<nobr>Macro: <strong>FOOTER_ON_FIRST_PAGE</strong> toggle</nobr> - -<p> -If you invoke -<a href="#FOOTERS">FOOTERS</a>, -<strong>mom</strong>, by default, does not print a footer on the -first page of the document. (The -<a href="definitions.html">docheader</a> -on page 1 makes it redundant.) However, should you wish a footer on -page 1, invoke <strong>FOOTER_ON_FIRST_PAGE</strong> without any argument. -<p> -<hr> - -<!---USERDEF_HDRFTR---> - -<a name="USERDEF_HDRFTR"> - <h2><u>User-defined, single string recto/verso headers/footers</u></h2> -</a> - -<a name="USERDEF_HDRFTR_INTRO"><h3><u>Introduction</u></h3></a> - -Sometimes, you'll find you can't get <strong>mom</strong>'s handling -of 3-part headers or footers to do exactly what you want in the -order you want. This is most likely happen when you want the -information contained in the headers/footers split over two pages, -as is often the case with recto/verso documents. -<p> -Say, for example, you want recto page headers to contain a document's -author, centred, and verso page headers to contain the document's -title, also centred, like this: -<p> -<pre> - +------------------------+ +------------------------+ - | Author | | Title | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - +------------------------+ +------------------------+ -</pre> - -With <strong>mom</strong>'s standard 3-part headers, this isn't -possible, even when -<a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a> -is enabled. <strong>RECTO_VERSO</strong> switches the left and -right parts of headers on alternate pages, but the centre -part remains unchanged. -<p> -Any time you need distinctly different headers on alternate -pages, <strong>mom</strong> 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 -<a href="#HDRFTR_RECTO">HEADER_RECTO</a> -and -<a href="#HDRFTR_VERSO">HEADER_VERSO</a>. -Both allow you to state whether the header is flush left, centred, -or flush right, and both take a single -<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a> -with which, by combining text and -<a href="definitions.html#TERMS_INLINES">inline escapes</a>, -you can make the headers come out just about any way you want. -Use of the <strong>\*[PAGE#]</strong> escape is permitted in the -string argument (see -<a href="#PAGE_NUMBER_INCL">Including the page number in header-left, -centre or -right</a>), -and as an added bonus, <strong>mom</strong> provides a special -mechanism whereby it's possible to "pad" the string as well. -<p> - -<!---HDRFTR_RECTOVERSO---> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_RECTOVERSO"></a> -<nobr>Macro: <strong>HEADER_RECTO</strong> LEFT | CENTER | RIGHT "<header recto string>"</nobr> -<br> -<nobr>Macro: <strong>HEADER_VERSO</strong> LEFT | CENTER | RIGHT "<header verso string>"</nobr> -<br> - -<p> -<strong>HEADER_RECTO</strong> and <strong>HEADER_VERSO</strong> behave -identically, hence all references to <strong>HEADER_RECTO</strong> -in this section also refer to <strong>HEADER_VERSO</strong>. -Furthermore, <strong>FOOTER_</strong> can be used instead of -<strong>HEADER_</strong> to set up recto/verso footers. -<p> -The first argument to <strong>HEADER_RECTO</strong> is the -direction in which you want the header -<a href="definitions.html#TERMS_QUAD">quadded</a>. -<strong>L, C</strong> and <strong>R</strong> may be used in -place of <strong>LEFT, CENTER</strong> and -<strong>RIGHT</strong>. The second argument is a string, -surrounded by double-quotes, containing what you want in the -header. <strong>HEADER_RECTO</strong> disables <strong>mom</strong>'s -normal 3-part headers, therefore anything you want in the -headers must be entered by hand in the string, including colours -(via the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<a href="color.html#COLOR_INLINE">\*[<colorname>]</a>). -<p> -By default, <strong>HEADER_RECTO</strong> is set at the same -size, and in the same family and font, as paragraph text. The -control macros -<a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a> -and -<a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a> -may be used to change the default family and size. Changes to -the font(s) within the string must be accomplished with the -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -<strong>\*[ROM], \*[IT], \*[BD], \*[BDI]</strong> and -<strong>\*[PREV]</strong> (see -<a href="inlines.html#INLINE_FONTS_MOM">Changing fonts</a>). -Additional refinements to the style of the header-recto string, -including horizontal spacing and/or positioning, can also be made with -inline escapes. -<p> -To include the current page number in the string, use the -<strong>\*[PAGE#]</strong> inline. -<br> - -<h3><u>*Padding the HEADER_RECTO/HEADER_VERSO string</u></h3> -You can "pad" the header-recto string, a convenience you'll -appreciate in circumstances such as the following. -<p> -<pre> - VERSO RECTO - +------------------------+ +------------------------+ - | Author Page# | | Page# Title | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - | | | | - +------------------------+ +------------------------+ -</pre> - -To pad the string argument passed to <strong>HEADER_RECTO</strong>, -begin and end the string (inside the double-quotes) with the caret -character (<kbd>^</kbd>). Enter the pound sign (<kbd>#</kbd>) at any -point in the string where you want an equalized amount of whitespace -inserted. (If you're unsure what padding is, see -<a href="goodies.html#PAD">Insert space into lines</a>.) -Note that if you're padding the string, it doesn't matter what -quad direction you give <strong>HEADER_RECTO</strong> since -padding, by its nature, justifies text to the left and right -margins. -<p> -The situation depicted above is accomplished like this: -<p> -<pre> - .HEADER_RECTO LEFT "^\*[PAGE#]#Title^" - .HEADER_VERSO LEFT "^Author#\*[PAGE#]^" -</pre> - -Note that <strong>mom</strong> does not interpret the <kbd>#</kbd> -in <strong>\*[PAGE#]</strong> as a padding marker (i.e. as a place -to insert whitespace). -<p> -Also, notice that the argument <strong>LEFT</strong> is used in both -cases. When padding a header, it doesn't matter whether you use -LEFT, CENTER or RIGHT as the argument. -<p> -Furthermore, should you need a user-defined header of -the sort provided by <strong>HEADER_RECTO</strong> and -<strong>HEADER_VERSO</strong> but aren't actually printing -recto/verso, you can use <strong>HEADER_RECTO</strong> to design the -header that appears at the top of every page. -<p> -<strong>IMPORTANT:</strong> The -<a href="goodies.html#PAD_MARKER">PAD_MARKER</a> -macro, which changes the default pad marker (<kbd>#</kbd>) used by -<a href="goodies.html#PAD">PAD</a>, -has no effect on the pad marker used in the -<strong>HEADER_RECTO</strong> string. If you absolutely must -have a literal pound sign in your <strong>HEADER_RECTO</strong> -string, use the escape sequence for the pound sign -(<kbd>\[sh]</kbd>) where you want the pound sign to go. -<p> -<hr> - -<a name="HEADFOOT_CONTROL"> - <h2><u>Control macros for headers/footers</u></h2> -</a> -Virtually every part of headers (see the paragraph on how -<a href="#HEADERFOOTER">"headers" means "footers"</a> -in the -<a href="#HEADFOOTPAGE_INTRO">introduction to headers/footers</a>) -can be designed to your own specifications. -<p> - -<a name="INDEX_REFERENCE"> - <h3><u>Header/footer control macros</u></h3> -</a> - -<ul> - <li><a href="#HDRFTR_STRINGS"><strong>STRINGS</strong></a> - <ul> - <li><a href="#HDRFTR_LEFT">HEADER_LEFT</a> - <li><a href="#HDRFTR_CENTER">HEADER_CENTER</a> - <ul> - <li><a href="#HDRFTR_CENTER_PAD">HEADER_CENTER_PAD</a> -- stick some space left of right of the centre string - </ul> - <li><a href="#HDRFTR_RIGHT">HEADER_RIGHT</a> - <li><a href="#PAGE_NUMBER_SYMBOL">Replacing header left, centre or right with the page number</a> - <li><a href="#PAGE_NUMBER_INCL">Including the page number in header left, centre or right</a> - </ul> - <li><a href="#HDRFTR_STYLE"><strong>STYLE</strong></a> - <ul> - <li><a href="#HDRFTR_STYLE_GLOBAL"><strong>Global changes</strong></a> - <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a> -- family for entire header - <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a> -- size for entire header - <li><a href="#HDRFTR_PLAIN">HEADER_PLAIN</a> -- disable default adjustments to header parts - <li><a href="#HDRFTR_COLOR">HEADER_COLOR</a> -- colourize the header - </ul> - <ul> - <li><a href="#HDRFTR_STYLE_PART"><strong>Part-by-part changes</strong></a> - <li><a href="#_FAMILY">_FAMILY</a> -- left, centre or right family - <li><a href="#_FONT">_FONT</a> -- left, centre or right font - <li><a href="#_SIZE">_SIZE</a> -- left, centre or right size - <li><a href="#_CAPS">_CAPS</a> -- left, centre or right all caps - <li><a href="#_COLOR">_COLOR</a> -- left, centre or right colour - </ul> - <li><a href="#HDRFTR_VERTICAL"><strong>VERTICAL PLACEMENT AND SPACING</strong></a> - <ul> - <li><a href="#HDRFTR_MARGIN">HEADER_MARGIN</a> - <li><a href="#HDRFTR_GAP">HEADER_GAP</a> - </ul> - <li><a href="#HDRFTR_SEPARATOR"><strong>SEPARATOR RULE</strong></a> - <ul> - <li><a href="#HDRFTR_RULE">HEADER_RULE</a> - <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> - <li><a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a> - </ul> -</ul> - -<!---HDRFTR_STRINGS---> - -<hr width="66%" align="left"> -<a name="HDRFTR_STRINGS"><h3><u>Header/footer strings</u></h3></a> -<p> -<a name="HDRFTR_LEFT"> - <nobr>Macro: <strong>HEADER_LEFT</strong> "<text of header left>" | #</nobr> -</a> -<br> -<a name="HDRFTR_CENTER"> - <nobr>Macro: <strong>HEADER_CENTER</strong> "<text of header centre>" | #</nobr> -</a> -<br> -<a name="HDRFTR_RIGHT"> - <nobr>Macro: <strong>HEADER_RIGHT</strong> "<text of header right>" | #</nobr> -</a> - -<p> -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, <strong>mom</strong>, 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 -appear header-left, change <strong>HEADER_LEFT</strong> like this: -<p> -<pre> - .HEADER_LEFT "R. Stallman, E. Raymond" -</pre> - -Because the arguments to <strong>HEADER_LEFT, _CENTER,</strong> -and <strong>_RIGHT</strong> are -<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>, -they must be enclosed in double-quotes. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change the strings in footers. - -<a name="HDRFTR_CENTER_PAD"><h3><u>*Padding the header/footer centre string</u></h3></a> -<p> -<nobr>Macro: <strong>HEADER_CENTER_PAD</strong> LEFT | RIGHT <amount of space by which to pad centre string left or right></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> -<p> -By default, <strong>mom</strong> centres the header centre string -literally on the line length in effect for page headers. In some -cases, notably when the header left or header right strings are -particularly long, the effect isn't pretty. The offendingly long -header left or right crowds, or even overprints, the header centre. -That's where <strong>HEADER_CENTER_PAD</strong> comes in. With a -bit of experimentation (yes, you have to preview the document), you -can use <strong>HEADER_CENTER_PAD</strong> to move the header -centre string left or right until it looks acceptably centred -between the two other strings. -<p> -For example, say your document is an outline for a novel called "By -the Shores of Lake Attica." You've told <strong>mom</strong> -you want -<p> - <a href="docprocessing.html#DOCTYPE">DOCTYPE</a> -<halign="center"> -<strong>NAMED</strong> "Outline" -<p> -but when you preview your work, you see that "Outline", in the -centre of the page header, is uncomfortably close to the title, -which is to the right of it. By invoking -<p> -<pre> - .HEADER_CENTER_PAD RIGHT 3P -</pre> - -you can scoot the word "Outline" over three -<a href="definitions.html#TERMS_PICASPOINTS">picas</a> -to the left (the padding's added to the right of the string) -so that your head looks nicely spaced out. Invoking -<strong>HEADER_CENTER_PAD</strong> with the <strong>LEFT</strong> -argument obviously puts the padding on the left side of the string. -<p> -Most reassuring of all is that if you use -<strong>HEADER_CENTER_PAD</strong> conjunction with -<a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a>, -<strong>mom</strong> 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. -<p> - -<hr width="66%" align="left"> -<p> -<a name="RESERVED_STRINGS"><h3><u>Using mom's "reserved" strings in header/footer definitions</u></h3></a> -<p> -As pointed out in the author's note in the introduction to -headers/footers, headers and footers are something you don't -normally have to worry much about. <strong>Mom</strong> usually -knows what to do. -<p> -However, situations do arise where you need to manipulate what goes -in the header/footer strings, setting and resetting them as you go -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 -<a href="rectoverso.html#COLLATE">collated</a> -documents, and you want the word "Endnotes" to go in the header -centre position of the endnotes, but want, say, the -<a href="docprocessing.html#TITLE">TITLE</a> -to go back into the centre position for the next output document. -<p> -In scenarios like the above, <strong>mom</strong> has a number of -"reserved" strings that you can plug into the -<strong>HEADER_LEFT, _CENTER</strong> and <strong>_RIGHT</strong> -macros. They are: -<p> -<pre> - \*[$TITLE] -- the argument passed to .TITLE - \*[$DOCTITLE] -- the argument passed to .DOCTITLE - \*[$AUTHOR_1] -- the first argument passed to .AUTHOR - \*[$CHAPTER_STRING] -- the argument passed to .CHAPTER_STRING, - if invoked, otherwise, "Chapter" - \*[$CHAPTER] -- the argument (typically a number) passed - to .CHAPTER - \*[$CHAPTER_TITLE] -- the argument passed to .CHAPTER_TITLE -</pre> - -Returning to the scenario above, first, you'd define a centre -string for the endnotes page: -<p> -<pre> - .HEADER_CENTER "Endnotes" -</pre> - -Then, you'd output the endnotes: -<p> -<pre> - .ENDNOTES -</pre> - -Then, you'd prepare <strong>mom</strong> for the next document: -<p> -<pre> - .COLLATE - .TITLE "New Doc Title" - .AUTHOR "Josephine Blough" -</pre> - -Then, you'd redefine the header centre string using the reserved -string \*[$TITLE], like this: -<p> -<pre> - .HEADER_CENTER "\*[$TITLE]" -</pre> - -And last, you'd do: -<p> -<pre> - .START -</pre> - -Voilą! Any argument you pass to <strong>TITLE</strong> from here -on in (say, for subsequent documents) is back in the header centre -position. Here's the whole routine again: -<p> -<pre> - .HEADER_CENTER "Endnotes" - .ENDNOTES - .COLLATE - .TITLE "New Doc Title" - .AUTHOR "Josephine Blough" - .HEADER_CENTER "\*[$TITLE]" - .START -</pre> - -If need be, you can concatenate the strings, as in the following -example. -<p> -<pre> - .HEADER_CENTER "\*[$CHAPTER_STRING] \*[$CHAPTER]" -</pre> - -which, assuming a <strong>.CHAPTER_STRING</strong> of -"Chapter" and a <strong>.CHAPTER</strong> of -"2", would put "Chapter 2" in the header centre -position. -<p> - -<a name="PAGE_NUMBER_SYMBOL"> - <h3><u>*Replacing header-left, -CENTER or -right with the page number</u></h3> -</a> -<p> -If you would like to have the current page number to appear -header-left, -center, or -right <em>instead</em> of a text -string, invoke the appropriate macro, above, with the single -argument <code>#</code> (the "number" or -"pound" sign). Do <strong>NOT</strong> use -double-quotes. For example, -<p> -<pre> - .HEADER_CENTER # -</pre> - -will print the current page number in the CENTER part of -headers. -<p> - -<a name="PAGE_NUMBER_INCL"> - <h3><u>*Including the page number in header-left, -CENTER or -right</u></h3> -</a> -<p> -If you would like to <em>include</em> the current page number in -the string you pass to <strong>HEADER_LEFT, _CENTER,</strong> or -<strong>_RIGHT</strong>, use the special -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<code>\*[PAGE#]</code> in the string argument. -<p> -For example, say you have a document that's ten pages long, and -you want header-right to say "page <whichever> of 10", -invoke <strong>HEADER_RIGHT</strong> as follows: -<p> -<pre> - .HEADER_RIGHT "page \*[PAGE#] of 10" -</pre> - -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. -<p> -<hr> - -<!---HDRFTR_STYLE---> - -<a name="HDRFTR_STYLE"><h3><u>Header/footer style</u></h3></a> - -<p> -<a name="HDRFTR_STYLE_GLOBAL"><strong>Global changes</strong></a> -<p> -The following macros allow you to make changes that affect all -parts of the header at once. -<p> -Please note that <strong>HEADER_FAMILY</strong> and -<strong>HEADER_FONT</strong> have no effect on -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>. -<p> -<ul> - <li><a href="#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a> - <li><a href="#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a> - <li><a href="#HDRFTR_PLAIN">HEADER_PLAIN</a> - <li><a href="#HDRFTR_COLOR">HEADER_COLOR</a> -</ul> - -<hr width="33%" align="left"> -<p> -<a name="HDRFTR_GLOBAL_FAMILY"> - <nobr>Macro: <strong>HEADER_FAMILY</strong> <family></nobr> -</a> - -<p> -By default, <strong>mom</strong> uses the default document family -for headers. If you would like her to use another -<a href="definitions.html#TERMS_FAMILY">family</a> -in headers, invoke <strong>HEADER_FAMILY</strong> with the identifier -for the family you want. The argument is the same as for the -typesetting macro -<a href="typesetting.html#FAMILY">FAMILY</a>. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change the footer family. -<p> - -<hr width="33%" align="left"> -<p> -<a name="HDRFTR_GLOBAL_SIZE"> - <nobr>Macro: <strong>HEADER_SIZE</strong> <+|-number of points></nobr> - <br> - <em>*Argument is relative to the point size of type in paragraphs</em> -</a> - -<p> -By default, <strong>mom</strong> makes small adjustments to the size -of each part of a header to achieve an aesthetically pleasing result. -If you'd like her to continue to do so, but would like the overall -appearance of headers to be a little smaller or a little larger, -invoke <strong>HEADER_SIZE</strong> with + or - the number of -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -(fractions allowed) by which you want her to in/decrease the size -of headers. For example, -<p> -<pre> - .HEADER_SIZE +.75 -</pre> - -increases the size of every part of a header by 3/4 of a point while -respecting <strong>mom</strong>'s own little size changes. -<p> -See -<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a> -for an explanation of how control macros ending in -<strong>_SIZE</strong> work. -<p> -<a name="FOOTER_GLOBAL_SIZE"></a> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change the footer size. -<p> -<strong>ADDITIONAL NOTE:</strong> Normally, macros that control headers have no -effect on -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>. -<strong>HEADER_SIZE</strong> is an exception. While all parts of a -header in <strong>PRINTSTYLE TYPEWRITE</strong> are always the same -size, you can use <strong>HEADER_SIZE</strong> with <strong>PRINTSTYLE -TYPEWRITE</strong> to reduce the header's overall point size. -You'll most likely require this when the -<a href="docprocessing.html#COPYSTYLE">COPYSTYLE</a> -is <strong>DRAFT</strong>, since portions of the header may overprint -if, say, the title of your document is very long. -<p> - -<hr width="33%" align="left"> -<p> -<a name="HDRFTR_PLAIN"> - Macro: <strong>HEADER_PLAIN</strong> -</a> - -<p> -By default, <strong>mom</strong> makes adjustments to the font, -size, and capitalization style of each part of headers to achieve -an aesthetically pleasing look. Should you wish to design your own -headers from the ground up without worrying how changes to the various -elements of header style interact with <strong>mom</strong>'s defaults, -invoke <strong>HEADER_PLAIN</strong> by itself, with no argument. -<strong>Mom</strong> will disable her default behaviour for headers, -and reset all elements of header style to the same family, font, -and point size as she uses in paragraphs. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to disable <strong>mom</strong>'s -default behaviour for the various elements of footer style. -<p> - -<hr width="33%" align="left"> -<p> -<a name="HDRFTR_COLOR"> - <nobr>Macro: <strong>HEADER_COLOR</strong> <colorname></nobr> -</a> - -<p> -If you want your headers in a colour different from the document -default (usually black), invoke <strong>HEADER_COLOR</strong> with -the name of a colour pre-defined (or "initialized") with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -<p> -<strong>HEADER_COLOR</strong> will set all the parts of the header -AND the header rule in the colour you give it as an argument. If -you wish finer control over colour in headers, you can use -<a href="#_COLOR">HEADER_<POSITION>_COLOR</a> -to colourize each part of the header separately, as well as -<a href="#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a> -to change the colour of the header rule. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to colourize footers. -<p> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_STYLE_PART"><strong>Part by part changes</strong></a> -<p> -<strong>NOTE:</strong> When using the following control macros, -replace "<POSITION>" by <strong>LEFT, CENTER,</strong> -or <strong>RIGHT</strong> as appropriate. -<p> -<ul> - <li><a href="#_FAMILY">HEADER_<POSITION>_FAMILY</a> - <li><a href="#_FONT">HEADER_<POSITION>_FONT</a> - <li><a href="#_SIZE">HEADER_<POSITION>_SIZE</a> - <li><a href="#_CAPS">HEADER_<POSITION>_CAPS</a> - <li><a href="#_COLOR">HEADER_<POSITION>_COLOR</a> -</ul> - -<hr width="33%" align="left"> -<p> -<a name="_FAMILY"> - <nobr>Macro: <strong>HEADER_<POSITION>_FAMILY</strong> <family></nobr> -</a> -<p> -Use <strong>HEADER_<POSITION>_FAMILY</strong> to change the -<a href="definitions.html#TERMS_FAMILY">family</a> -of any part of headers. See -<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a> -for an explanation of how control macros ending in -<strong>_FAMILY</strong> work. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change a footer part's family. -<p> - -<hr width="33%" align="left"> -<p> -<a name="_FONT"> - <nobr>Macro: <strong>HEADER_<POSITION>_FONT</strong> <font></nobr> -</a> -<p> -Use <strong>HEADER_<POSITION>_FONT</strong> to change the -<a href="definitions.html#TERMS_FONT">font</a> -of any part of headers. See -<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a> -for an explanation of how control macros ending in -<strong>_FONT</strong> work. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change a footer part's font. -<p> - -<hr width="33%" align="left"> -<p> -<a name="_SIZE"> - <nobr>Macro: <strong>HEADER_<POSITION>_SIZE</strong> <+|-number of points></nobr> -</a> -<p> -Use <strong>HEADER_<POSITION>_SIZE</strong> to change the size of any -part of headers (relative to the point size of type in -paragraphs). See -<a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a> -for an explanation of how control macros ending in -<strong>_SIZE</strong> work. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change a footer part's size. -<p> - -<hr width="33%" align="left"> -<p> -<a name="_CAPS"> - <nobr>Macro: <strong>HEADER_<POSITION>_CAPS</strong> toggle</nobr> -</a> -<p> -<strong>HEADER_<POSITION>_CAPS</strong> is a -<a href="definitions.html#TERMS_TOGGLE">toggle macro</a>. -If you want any part of headers to be set in all caps, -regardless of the capitalization of that part's string as given -to the -<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a> -or as defined by you with the -<a href="#HDRFTR_STRINGS">header string control macros</a>, -simply invoke this macro (using the appropriate position) with no -argument. If you wish to turn capitalization off (say, for the -header-right string that <strong>mom</strong> capitalizes by -default), invoke the argument with any argument (e.g. <strong>OFF, -QUIT, END, X...</strong>). -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change a footer part's -capitalization style. - -<p> -<hr width="33%" align="left"> -<p> -<a name="_COLOR"> - <nobr>Macro: <strong>HEADER_<POSITION>_COLOR</strong> <colorname></nobr> -</a> -<p> -<strong>HEADER_<POSITION>_COLOR</strong> allows you to set a -colour for each of the three possible parts of a page header -separately. For example, say you want the right part of the header -(by default, the document title) in red, this is how you'd get it: -<p> -<pre> - .HEADER_RIGHT_COLOR red -</pre> - -The other parts of the header will be in the default header colour -(usually black, but that can be changed with -<a href="#HDRFTR_COLOR">HEADER_COLOR</a>). -<p> -Remember that you have to define (or "initialize") a -colour with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a> -before you can use the colour. -<p> -If you create a -<a href="#USERDEF_HDRFTR">user-defined header</a> -with -<a href="#HDRFTR_RECTO">HEADER_RECTO</a> -or -<a href="#HDRFTR_VERSO">HEADER_VERSO</a>, -and you want various elements within the header to be colourized, -embed the colours in the string passed to <strong>HEADER_RECTO</strong> -or <strong>HEADER_VERSO</strong> with the -<a href="color.html#COLOR_INLINE">\*[<colorname>]</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a>. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to set the colours for the various -elements of footers. -<p> -<hr> - -<!---HDRFTR_VERTICAL---> - -<a name="HDRFTR_VERTICAL"> - <h2><u>Header/footer vertical placement and spacing</u></h2> -</a> - -<p> -See -<a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a> -for an explanation of how <strong>mom</strong> deals with -headers, footers, and top/bottom page margins. -<p> - -<!---HDRFTR_MARGIN---> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_MARGIN"></a> -<nobr>Macro: <strong>HEADER_MARGIN</strong> <distance to baseline of header></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -Use <strong>HEADER_MARGIN</strong> to set the distance from the -top edge of the page to the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of type in headers. A unit of measure is required, and decimal -fractions are allowed. -<p> -<strong>Mom</strong>'s default header margin is 4-1/2 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>, -but if you want a different margin, say, 1/2-inch, do -<p> -<pre> - .HEADER_MARGIN .5i -</pre> - -If your document uses -<a href="definitions.html#TERMS_FOOTER">footers</a>, -replace <strong>HEADER_</strong>, above, with -<strong>FOOTER_</strong>. The argument to -<strong>FOOTER_MARGIN</strong> is the distance from the bottom -edge of the page to the baseline of type in footers. -<p> -<strong>Mom</strong>'s default footer margin is 3 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>. - -<a name="FOOTER_MARGIN"></a> -<p> -<strong>FOOTER MARGIN AND BOTTOM MARGIN -- VERY IMPORTANT!</strong> -<p> -<strong>Mom</strong> requires a footer margin for proper operation, -hence she sets one, even if you don't. (As stated above, her default -footer margin is 3-picas). -<p> -If you set a bottom margin for your document (with -<a href="typesetting.html#B_MARGIN">B_MARGIN</a>, -prior to -<a href="docprocessing.html#START">START</a>) -and the margin's too close to <strong>mom</strong>'s default -footer margin (or a footer margin you set yourself -with <strong>FOOTER_MARGIN</strong>), <strong>mom</strong> will -not print your footers; additionally, she'll give you a warning -and some advice on standard error. When this happens, you must -reset either <strong>B_MARGIN</strong> or -<strong>FOOTER_MARGIN</strong> so there's an adequate amount of -space for <strong>mom</strong> to print the bottom line of running -text and the footer. -<p> -If you see the warning even when footers and/or bottom-of-page page -numbering are disabled, set a nominal footer margin of 0 prior to -<a href="docprocessing.html#START">START</a>, -as in these examples. -<p> -<strong>Example 1</strong> -<p> -<pre> - <reference macros, etc> - .PAGINATION OFF - .B_MARGIN .25i - .FOOTER_MARGIN O - .START -</pre> - -<strong>Example 2</strong> -<p> -<pre> - <reference macros, etc> - .HEADERS OFF - .PAGENUM_POS TOP RIGHT - .B_MARGIN .25i - .FOOTER_MARGIN O - .START -</pre> - -<h3>A note on header/footer margins and page numbering</h3> -<strong>Mom</strong> uses HEADER_MARGIN</strong> and -<strong>FOOTER_MARGIN</strong> to establish the baseline -position of page numbers in addition to the baseline position of -headers and footers. -<p> -By default, page numbers appear at the bottom of the page, therefore -if you want the default position (bottom), but want to change the -baseline placement, use <strong>FOOTER_MARGIN</strong>. Conversely, -if page numbers are at the top of the page, either because you turned -<a href="#FOOTERS">FOOTERS</a> -on or because you instructed <strong>mom</strong> to put them -there with -<a href="#PAGENUM_POS">PAGENUM_POS</a>, -you'd use <strong>HEADER_MARGIN</strong> to change their -baseline placement. -<p> - -<!---HDRFTR_GAP---> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_GAP"></a> -<nobr>Macro: <strong>HEADER_GAP</strong> <distance from header to start of running text></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -Use <strong>HEADER_GAP</strong> to set the distance from the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of type in headers to the start of -<a href="definitions.html#TERMS_RUNNING">running text</a>. -A unit of measure is required, and decimal fractions are allowed. -<p> -As explained in -<a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>, -<strong>HEADER_MARGIN + HEADER_GAP</strong> determine the -default vertical starting position of running text on the page -UNLESS you have given <strong>mom</strong> your own top margin -(with -<a href="typesetting.html#T_MARGIN">T_MARGIN</a>). If you give -a top margin, <strong>mom</strong> ignores -<strong>HEADER_GAP</strong>; running text starts at your stated -top margin. - -<p> -<strong>Mom</strong>'s default header gap is 3 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>, -but if you want a different gap, say, 2 centimetres, do -<p> -<pre> - .HEADER_GAP 2c -</pre> - -If your document uses -<a href="definitions.html#TERMS_FOOTER">footers</a>, -replace <strong>HEADER_</strong>, above, with -<strong>FOOTER_</strong>. The argument to -<strong>FOOTER_GAP</strong> is the distance from the -baseline of type in footers to the last baseline of running text -on the page. -<p> -As explained in -<a href="#VERTICAL_SPACING">Vertical placement and spacing of headers/footers</a>, -<strong>FOOTER_MARGIN + FOOTER_GAP</strong> determine the -default vertical end position of running text on the page -UNLESS you have given <strong>mom</strong> a bottom margin -(with -<a href="typesetting.html#B_MARGIN">B_MARGIN</a>). If you give -a bottom margin, <strong>mom</strong> ignores -<strong>FOOTER_GAP</strong>; running text ends at your stated -bottom margin. -<p> -<strong>Mom</strong>'s default footer gap is 3 -<a href="definitions.html#TERMS_PICASPOINTS">picas</a>. -<p> -<strong>NOTE:</strong> <strong>Mom</strong> uses -<strong>HEADER_GAP</strong> and -<strong>FOOTER_GAP</strong> to establish the start and end baseline -positions of running text with respect to both headers and footers -AND page numbers. If you wish to change the gap between -the last line of running text and a bottom page number, use -<strong>FOOTER_GAP</strong>. If page numbers are at the top of the -page, change the gap between the number and the first line of running -text with <strong>HEADER_GAP</strong>. -<p> -<hr> - -<!---HDRFTR_SEPARATOR---> - -<a name="HDRFTR_SEPARATOR"> - <h2><u>Header/footer separator rule</u></h2> -</a> - -<p> -The header/footer separator rule is a modest horizontal rule, -set slightly below the header (or above the footer), that runs -the length of the -<a href="definitions.html#TERMS_HEADER">header</a> -and helps separate it visually from -<a href="definitions.html#TERMS_RUNNING">running text</a>. If -you don't want the rule, you can turn it off. If you want it, -but at a different vertical position relative to the header (or -footer), you can alter its placement. -<p> -<ul> - <li><a href="#HDRFTR_RULE">HEADER_RULE</a> -- on or off - <li><a href="#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a> -- distance of rule from header -</ul> - -<!---HDRFTR_RULE---> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_RULE"></a> -<nobr>Macro: <strong>HEADER_RULE</strong> toggle</nobr> - -<p> -By default, <strong>mom</strong> prints a header separator rule -underneath headers (or above footers). If you don't want the -rule, turn it off by invoking <strong>HEADER_RULE</strong> with any -argument (<strong>OFF, QUIT, END, X...</strong>), e.g. -<p> -<pre> - .HEADER_RULE OFF -</pre> - -To turn the rule (back) on, invoke <strong>HEADER_RULE</strong> -without any argument. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to enable/disable the printing of -the footer separator rule. (Most likely, if you're using -<a href="#FOOTERS">FOOTERS</a>, you'll want it off.) -<p> - -<!---HDRFTR_RULE_GAP---> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_RULE_GAP"></a> -<nobr>Macro: <strong>HEADER_RULE_GAP</strong> distance of rule beneath header</nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>HEADER_RULE_GAP</strong> is the distance from the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of type in headers to the rule underneath. A unit of measure is -required, and decimal fractions are allowed. Please note that -<strong>HEADER_RULE_GAP</strong> has no effect on -<a href="#HEADER_GAP">HEADER_GAP</a> -(i.e. <strong>HEADER_RULE_GAP</strong> is NOT added to -<strong>HEADER_GAP</strong> when <strong>mom</strong> calculates -the space between headers and the start of -<a href="definitions.html#TERMS_RUNNING">running text</a>). -<p> -By default, the header rule gap is 4 -<a href="definitions.html#TERMS_PICASPOINTS">points</a>. -If you'd like to change it to, say, 1/4 -<a href="definitions.html#TERMS_EM">em</a>, do -<p> -<pre> - .HEADER_RULE_GAP .25m -</pre> - -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> if you're using -<a href="definitions.html#TERMS_FOOTER">footers</a> -and want to change the separator rule gap. In footers, the gap -is measured from the top of the tallest -<a href="definitions.html#TERMS_ASCENDER">ascender</a> -in the footer. -<p> -<strong>ADDITIONAL NOTE:</strong> When using -<a href="#HDRFTR_RECTOVERSO">FOOTER_RECTO</a> -and -<a href="#HDRFTR_RECTOVERSO">FOOTER_VERSO</a>, -make sure that the default size for footers -(<a href="#FOOTER_GLOBAL_SIZE">FOOTER_SIZE</a>) -is set to the largest size of type that will be used in the -footer or <strong>mom</strong> may not get the rule gap right. -Inline changes to the size of type in -<strong>FOOTER_RECTO</strong> and <strong>FOOTER_VERSO</strong> -should always be negative (smaller) than the default. -<p> - -<!---HDRFTR_RULE_COLOR---> - -<hr width="66%" align="left"> -<p> -<a name="HDRFTR_RULE_COLOR"></a> -<nobr>Macro: <strong>HEADER_RULE_COLOR</strong> <colorname></nobr> - -<p> -If you wish to change the colour of the header rule, invoke -<strong>HEADER_RULE_COLOR</strong> with the name of a colour -pre-defined (or "initialized") with -<a href="color.html#NEWCOLOR">NEWCOLOR</a> -or -<a href="color.html#XCOLOR">XCOLOR</a>. -<p> -Please note that <strong>HEADER_RULE_COLOR</strong> overrides the -colour set with -<a href="#HDRFTR_COLOR">HDRFTR_COLOR</a>, -so that it's possible to have the heads entirely in, say, blue (set -with <strong>HEADER_COLOR</strong>), and the header rule in, say, -red. -<p> -<strong>NOTE:</strong> Replace <strong>HEADER_</strong>, above, -with <strong>FOOTER_</strong> to change the colour of the footer -rule. -<p> -<hr> - -<a name="PAGINATION"> - <h2><u>Pagination</u></h2> -</a> - -<p> -By default, <strong>mom</strong> paginates documents. Page numbers -appear in the bottom margin of the page, centred between two hyphens. -As with all elements of <strong>mom</strong>'s document processing, -most aspects of pagination style can be altered to suit your taste -with control macros. -<p> - -<a name="INDEX_PAGINATION"> - <h3><u>Pagination macros list</u></h3> -</a> - -<ul> - <li><a href="#PAGINATE">PAGINATE</a> -- pagination on or off - <li><a href="#PAGENUMBER">PAGENUMBER</a> -- user-defined (starting) page number - <li><a href="#PAGENUM_STYLE">PAGENUM_STYLE</a> -- digits, roman numerals, etc - <li><a href="#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a> -- applies only when footers are enabled - <li><a href="#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a> -- attach draft/revision information to page numbers - <li><a href="#PAGINATE_CONTROL">Control macros</a> -</ul> -<p> - -<!---PAGINATE---> - -<hr width="66%" align="left"> -<p> -<a name="PAGINATE"></a> -<nobr>Macro: <strong>PAGINATE</strong> toggle</nobr> -<br> -Alias: <strong>PAGINATION</strong> - -<p> -By default, <strong>mom</strong> paginates documents (in the bottom -margin). If you'd prefer she not paginate, turn pagination off -by invoking <strong>PAGINATE</strong> with any argument (<strong>OFF, -NO, QUIT, END, X...</strong>), e.g. -<p> -<pre> - .PAGINATE NO -</pre> - -To (re)start pagination, invoke <strong>PAGINATE</strong> -without any argument. -<p> - -<!---PAGENUMBER---> - -<hr width="66%" align="left"> -<p> -<a name="PAGENUMBER"></a> -<nobr>Macro: <strong>PAGENUMBER</strong> <number></nobr> - -<p> -As is to be expected, pagination of documents begins at page 1. -If you'd prefer that <strong>mom</strong> begin with a different -number on the first page of a document, invoke -<strong>PAGENUMBER</strong> with the number you want. -<p> -<strong>PAGENUMBER</strong> need not be used only to give -<strong>mom</strong> a "first page" number. It can be used at -any time to tell <strong>mom</strong> what number you want a -page to have. Subsequent page numbers will, of course, be -incremented by 1 from that number. -<p> - -<!---PAGENUM_STYLE---> - -<hr width="66%" align="left"> -<p> -<a name="PAGENUM_STYLE"></a> -<nobr>Macro: <strong>PAGENUM_STYLE</strong> DIGIT | ROMAN | roman | ALPHA | alpha</nobr> - -<p> -<strong>PAGENUM_STYLE</strong> lets you tell -<strong>mom</strong> what kind of page numbering you want. -<p> -<table valign="baseline" summary="pagenumstyle"> -<tr><td>DIGIT<td align="center" width="15">=<td>Arabic digits (1, 2, 3...) -<tr><td>ROMAN<td align="center" width="15">=<td>upper case roman numerals (I, II, III...) -<tr><td>roman<td align="center" width="15">=<td>lower case roman numerals (i, ii, iii...) -<tr><td>ALPHA<td align="center" width="15">=<td>upper case letters (A, B, C...) -<tr><td>alpha<td align="center" width="15">=<td>lower case letters (a, b, c...)</td></tr> -</table> -<p> - -<!---PAGENUM_ON_FIRST_PAGE---> - -<hr width="66%" align="left"> -<p> -<a name="PAGENUM_ON_FIRST_PAGE"></a> -<nobr>Macro: <strong>PAGENUM_ON_FIRST_PAGE</strong> toggle</nobr> - -<p> -This macro applies only if you've enabled -<a href="#FOOTERS">FOOTERS</a>. -If <strong>FOOTERS</strong> are on, <strong>mom</strong> automatically -places page numbers at the tops of pages except on -the first page of a document (or on first pages after -<a href="rectoverso.html#COLLATE">COLLATE</a>). If you'd -like the page number to appear on "first" pages when -footers are on, invoke <strong>PAGENUM_ON_FIRST_PAGE</strong> with -no argument. Any other argument turns the feature off (<strong>OFF, -QUIT, END, X...</strong>). -<p> -As with most of the <a -href="definitions.html#TERMS_CONTROLMACRO">control macros</a>, -<strong>PAGENUM_ON_FIRST_PAGE</strong> can be invoked at any time, -meaning that if you don't want a page number on the very first -page of a document, but do want one on pages that appear after -<strong>COLLATE</strong>, omit it before the first -<a href="docprocessing.html#START">START</a> -of the document, then invoke it either just before or after your -first <strong>COLLATE</strong>. -<p> - -<!---DRAFT_WITH_PAGENUMBER---> - -<hr width="66%" align="left"> -<p> -<a name="DRAFT_WITH_PAGENUMBER"></a> -Macro: <strong>DRAFT_WITH_PAGENUMBER</strong> - -<p> -Sometimes, in -<a href="docprocessing.html#COPYSTYLE">COPYSTYLE DRAFT</a>, -the CENTER part of page headers gets overcrowded because of the draft -and revision information that go there by default. -<strong>DRAFT_WITH_PAGENUMBER</strong> is one way to -fix the problem. -<p> -Invoked without an argument, <strong>DRAFT_WITH_PAGENUMBER</strong> -removes draft/revision information from the page headers and attaches -it instead to the document's page numbering, in the form -<p> -<pre> - Draft #, Rev. # / <pagenumber> -</pre> - -See the note in -<a href="docprocessing.html#COPYSTYLE">COPYSTYLE DRAFT</a> -for other ways of dealing with crowded page headers when formatting -draft-style copy. -<p> -<hr> - -<!---PAGINATE_CONTROL---> - -<a name="PAGINATE_CONTROL"><h3><u>Pagination control macros</u></h3></a> - -<ol> - <li><a href="#PAGINATE_GENERAL">Family/font/size/colour</a> - <li><a href="#PAGENUM_POS">Page number position (vertical and horizontal)</a> - <li><a href="#PAGENUM_HYPHENS">Enclose page numbers with hyphens (on or off)</a> -</ol> -<br> -<a name="PAGINATE_GENERAL"><h3><u>1. Page number family/font/size/colour</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.PAGENUM_FAMILY default = prevailing document family; default is Times Roman -.PAGENUM_FONT default = roman -.PAGENUM_SIZE default = 0 (i.e. same size as paragraph text) -.PAGENUM_COLOR default= black -</pre> - -<a name="PAGENUM_POS"><h3><u>2. Page number position</u></h3></a> -<p> -<nobr>Macro: <strong>PAGENUM_POS</strong> TOP | BOTTOM LEFT | CENTER | RIGHT</nobr> - -<p> -Use <strong>PAGENUM_POS</strong> to change the default position of -automatic page numbering. <strong>PAGENUM_POS</strong> requires -<em>two</em> arguments: a vertical position (TOP or BOTTOM) and a -horizontal position (LEFT or CENTER or RIGHT). -<p> -For example, if you turn both -<a href="definitions.html#TERMS_HEADER">headers</a> -and -<a href="definitions.html#TERMS_FOOTER">footers</a> -off (with <code>.HEADERS OFF</code> and <code>.FOOTERS -OFF</code>) and you want <strong>mom</strong> to number your -pages at the top right position, enter -<p> -<pre> - .PAGENUM_POS TOP RIGHT -</pre> - -<a name="PAGENUM_HYPHENS"><h3><u>3. Enclose page numbers with hyphens (on or off)</u></h3></a> -<p> -By default, <strong>mom</strong> encloses page numbers between hyphens. -If you don't want this behaviour, invoke the macro -<strong>PAGENUM_HYPHENS</strong> with any argument (<strong>OFF, QUIT, END, X...</strong>), -like this: -<p> -<pre> - .PAGENUM_HYPHENS OFF -</pre> - -If, for some reason, you want to turn page number hyphens back -on, invoke the macro without an argument. -<p> - -<hr> -<a href="rectoverso.html#TOP">Next</a> -<a href="docelement.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/inlines.html b/contrib/groff/contrib/mom/momdoc/inlines.html deleted file mode 100644 index 9409aab9320d..000000000000 --- a/contrib/groff/contrib/mom/momdoc/inlines.html +++ /dev/null @@ -1,802 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Inline escapes</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="color.html#TOP">Next</a> -<a href="goodies.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> - -<a name="TOP"></a> -<h1 align="center"> - <a name="INLINE_ESCAPES"><u>Inline escapes</u></a> -</h1> -<p> -<a href="#INLINE_ESCAPES_INTRO">Introduction to inline escapes</a> -<br> -<a href="#INDEX_INLINES">Index of inline escapes</a> -<p> - -<a name="INLINE_ESCAPES_INTRO"> - <h2><u>Introduction to inline escapes</u></h2> -</a> - -<a name="INTRO_INLINE_ESCAPES"> -Inline escapes, as described in the -<a href="definitions.html#TERMS_INLINES">groff terms</a> -section of this manual, are typesetting commands that appear in -text -<a href="definitions.html#TERMS_INPUTLINE">input lines</a>, -as opposed to macros and other -<a href="definitions.html#TERMS_CONTROLLINES">control lines</a> -that must appear on lines by themselves. -<p> -Aside from altering type parameters within a line, inlines also -tell groff about special characters -- em-dashes, bullets, -<a href="definitions.html#TERMS_FIGURESPACE">figure/digit-width spaces</a>, -and so on. It is beyond the scope of this manual to provide a -complete list of groff's inline functions and special characters. -I recommend having a look at the -<a href="intro.html#CANONICAL">canonical reference materials</a> -should you need more information than is contained herein. -<p> -In groff, the escape character is the backslash ( \ ). Groff interprets -everything following the backslash as instructions, not literal text, -until the escape sequence is complete. Should you need the actual -backslash character as part of a line of text, simply enter it twice -( \\ ). Groff understands that this means "please print a backslash -character." (You can also use <strong>\e</strong> to print a literal -backslash.) -<p> -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. -<p> -<strong>Mom</strong> 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 -<a href="#INLINES_MOM">Mom's personal inlines</a>. -<p> -Despite <strong>mom</strong>'s best intentions, there are still -a number of typesetting functions that can only be accomplished -with groff's native inline escapes. I've listed the ones that -strike me as essential, but there are many others. If you want -to know what they are, please read the -<a href="intro.html#CANONICAL">canonical reference materials</a> -pertaining to groff. -<p> -<strong>HELPFUL BIT OF INFORMATION:</strong> Inline escapes can be used -in -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -that take -<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>. -<p> -<a name="INDEX_INLINES"><h3><u>Inlines index</u></h3></a> -<ul> - <li><a name="INLINES_MOM"><strong>Mom's personal inlines</strong></a> - <ul> - <li><a href="#INLINE_FONTS_MOM">Changing fonts</a> - <li><a href="#INLINE_SIZE_MOM">Changing point size</a> - <li><a href="#INLINE_KERNING_MOM">Pairwise kerning</a> - <li><a href="#INLINE_HORIZONTAL_MOM">Horizontal movement</a> - <li><a href="#INLINE_VERTICAL_MOM">Vertical movement</a> - <li><a href="#B">Terminate a line without advancing on the page</a> - <li><a href="#TB+">Call the next sequential tab without advancing on the page</a> - <li><a href="#INLINE_RULE_MOM">Full measure rules</a> - </ul> - <li><a name="INLINES_GROFF"><strong>Groff inline escapes</strong></a> - <ul> - <li><a href="#INLINE_FONTS_GROFF">Font control</a> <strong>\f</strong> - <li><a href="#INLINE_HORIZONTAL_GROFF">Inline horizontal motions</a> <strong>\h</strong> - <li><a href="#INLINE_VERTICAL_GROFF">Inline vertical motions</a> <strong>\v</strong> - <li><a href="#INLINE_STRINGWIDTH_GROFF">String width function</a> <strong>\w</strong> - <li><a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a> <strong>\l</strong> - <li><a href="#INLINE_CHARACTERS_GROFF">Special characters</a> - </ul> -</ul> -<p> -<hr> - -<!---INLINE_FONTS_MOM---> - -<h2><u>Mom's personal inlines</u></h2> - -<a name="INLINE_FONTS_MOM"><h3><u>Changing fonts</u></h3></a> - -<p> -<strong>Mom</strong> provides five escapes for changing fonts -inline: -<p> -<table valign="baseline" cellpadding="10" summary="inlinefonts"> -<tr> - <td><strong>\*[ROM]</strong></td> - <td>Change font to medium roman</td> -</tr> -<tr> - <td><strong>\*[IT]</strong></td> - <td>Change font to medium italic</td> -</tr> -<tr> - <td><strong>\*[BD]</strong></td> - <td>Change font to bold roman</td> -</tr> -<tr> - <td><strong>\*[BDI]</strong></td> - <td>Change font to bold italic</td> -</tr> -<tr> - <td><strong>\*[PREV]</strong></td> - <td>Revert to previous font</td> -</tr> -</table> -<p> -These escapes are provided for merely for convenience, legibility, -and consistency when typesetting with <strong>mom</strong>. For -more complete and flexible inline font control, please see -<a href="#INLINE_FONTS_GROFF">font control with \f</a>. - -<p> -<strong>NOTE:</strong> If you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>, -inline font changes remain in effect only for the duration of the -current document element tag. -<p> - -<!---INLINE_SIZE_MOM---> - -<hr width="66%" align="left"> -<a name="INLINE_SIZE_MOM"><h3><u>Changing point size</u></h3></a> - -<p> -<strong>Mom</strong> has two inline escapes for changing point -size: -<p> -<pre> - \*[SIZE <size>] -</pre> - -and -<p> -<pre> - \*[S<size>] -</pre> - -where "size" is the new size you want. You can use -either; they behave exactly the same way. For example, to change -the point size of type inline to 12 points, you could enter either -<p> -<pre> - \*[SIZE 12] -</pre> - -or -<p> -<pre> - \*S[12] -</pre> - -The advantage of the first form is that it's easy to remember, and -follows <strong>mom</strong>'s usual inline syntax. The advantage -of the second is that it's more concise. -<p> -Notice that in both cases, the new size does not require a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -is assumed. However, a unit of measure may be appended to the size -if that's what you wish. Fractional sizes are, of course, allowed. -<p> -The size given to <strong>\*[SIZE <size>]</strong> or -<strong>\*S[<size>]</strong> may be expressed in plus or minus -terms, which can be very useful. In the following examples, the word -"mom" will be output 2 points larger than the point size -of the rest of the line. -<p> -<pre> - While she isn't perfect, \*S[+2]mom\*S[-2] isn't half bad. - While she isn't perfect, \*[SIZE +2]mom\*[SIZE -2] isn't half bad. -</pre> - -<strong>NOTE:</strong> If you're accustomed to groff's usual way -of handling inline size requests (<kbd>\sN, \s±N, \s(NN, \s±(NN, -\s[NNN], \s±[NNN]</kbd>), feel free to continue with your old habits. -<strong>Mom</strong> doesn't care. -<p> - -<!---INLINE_KERNING_MOM---> - -<hr width="66%" align="left"> -<a name="INLINE_KERNING_MOM"><h3><u>Pairwise kerning</u></h3></a> - -<p> -Pairwise kerning means moving specific letter pairs closer -together or further apart (see -<a href="definitions.html#TERMS_KERN">Typesetting terms, kerning</a> -for more details). -<p> -<strong>Mom</strong> permits inline pairwise -kerning through the use of the inline escapes -<table valign="baseline" cellpadding="10" summary="inlinekerning"> -<tr> - <td><pre>\*[BU n]</pre></td> - <td>Closes the space between letters (<strong>B</strong>ack <strong>U</strong>nits).</td> -</tr> -<tr> - <td><pre>\*[FU n]</pre></td> - <td>Opens the space between letters (<strong>F</strong>orward <strong>U</strong>nits).</td> -</tr> -</table> -<br> -"<strong>n</strong>" is the number of -<a href="definitions.html#TERMS_KERNUNIT">kern units</a> -by which to close or open the space between letters. -<p> -For example, -<p> -<pre> - THE HUMAN COST OF COMMODIF\*[FU 1]YING FRESH W\*[BU 4]A\*[BU 5]TER -</pre> - -moves the letter Y in "COMMODIFYING" 1 kern unit away from -the letter F, and the letter A in "WATER" 4 kern units closer -to the letter W. Additionally, the letter T in "WATER" is moved 5 kern -units closer to the letter A. -<p> -For backward compatibility, the forms -<table valign="baseline" cellpadding="10" summary="inlinekerningold"> -<tr> - <td><pre>\*[BU1]...\*[BU36]</pre></td> - <td>Move back 1...36 <a href="definitions.html#TERMS_KERNUNIT">kern units</a></td> -</tr> -<tr> - <td><pre>\*[FU1]...\*[FU36]</pre></td> - <td>Move forward 1...36 <a href="definitions.html#TERMS_KERNUNIT">kern units</a></td> -</tr> -</table> -<br> -also exist (i.e. with no space before the number of kern units desired, -up to a limit of 36). -<p> -<strong>NOTE:</strong> Using <strong>BU</strong> or <strong>FU</strong> -between characters pairs that are already automatically kerned -disables the automatic kerning and uses the value you give to -<strong>BU</strong> or <strong>FU</strong> instead. -<p> - -<!---INLINE_HORIZONTAL_MOM---> - -<hr width="66%" align="left"> -<a name="INLINE_HORIZONTAL_MOM"><h3><u>Horizontal inline movement</u></h3></a> - -<p> -Sometimes, you may need to insert a specified amount amount of white -space into an -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>, -or -- occasionally -- back up to a -previous position on an -<a href="definitions.html#TERMS_INPUTLINE">output</a> -line in order to create special typographic effects. -<p> -<strong>Mom</strong>'s inline escapes for these horizontal movements are -<p> -<table align="left" valign="baseline" cellpadding="10" summary="inlinehorizontal"> -<tr> -<a name="FWD"></a> - <td><pre>\*[FWD n<unit>]</pre></td> - <td width="80%">Move forward inline the specified number of - <a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>; - decimal fractions are allowed.</td> -</tr> -<tr> -<a name="BCK"></a> - <td><pre>\*[BCK n<unit>]</pre></td> - <td width="80%">Move backward inline the specified number of - <a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>; - decimal fractions are allowed.</td> -</tr> -</table> -<p> -For example, -<p> -<pre> - 1.\*[FWD 12p]The Free Trade Play-Offs: WalMart 100, Mexico 0 -</pre> -puts 12 points of space between "1." and -"The". -<p> -<strong>NOTE:</strong> For backward compatibility, the forms -<p> -<table valign="baseline" cellpadding="10" summary="inlinehorizontalold"> -<tr> - <td><pre>\*[BP.25]...\*[BP12.75]</pre></td> - <td>Move back .25...12.75 points</td> -</tr> -<tr> - <td><pre>\*[FP.25]...\*[FP12.75]</pre></td> - <td>Move forward .25...12.75 points</td> -</tr> -</table> -<br> -also exist (i.e. with no space before the digit and points being -the unit of measure, hence no unit of measure required). Both -accept quarter points, so it's possible to do, for example, -<strong>\*[FP.5]</strong> or <strong>\*[BP1.25]</strong> up to a limit -of 12.75 points. -<p> - -<!---INLINE_VERTICAL_MOM---> - -<hr width="66%" align="left"> -<a name="INLINE_VERTICAL_MOM"><h3><u>Vertical inline movement</u></h3></a> - -<p> -If you need to move portions of type up or down on a line, -<strong>mom</strong> provides the following inline escapes: -<p> -<table width="80%" valign="baseline" cellpadding="10" summary="inlinevertical"> -<tr> -<a name="UP"></a> - <td><pre>\*[UP n<unit>]</pre></td> - <td>Move up inline the specified number of - <a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a></td> -</tr> -<tr> -<a name="DOWN"></a> - <td><pre>\*[DOWN n<unit>]</pre></td> - <td>Move down inline the specified number of - <a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a></td> -</tr> -</table> -<br> -For example, -<p> -<pre> - Tel: 905\*[UP 1p]-\*[DOWN 1p]4072 -</pre> - -moves the hyphen in the telephone number up by 1 point, then -moves back down by the same amount. -<p> -<strong>NOTE: \*[UP]</strong> and <strong>\*[DOWN]</strong> do not -work with the inline escape, -<a href="#INLINE_RULE_MOM">\*[RULE]</a>. -See -<a href="#RULE_EXCEPTION">here</a> -for details. -<p> -<strong>ADDITIONAL NOTE:</strong> For backward compatibility, the -following are also available: -<p> -<table valign="baseline" cellpadding="10" summary="inlinevertical"> -<tr> - <td><pre>\*[ALD.25]...\*[ALD12.75]</pre> - <td>Advance lead .25...12.75 points (move downward) -</tr> -<tr> - <td><pre>\*[RLD.25]...\*[RLD12.75]</pre></td> - <td>Reverse lead .5...12.75 points (move upward)</td> -</tr> -</table> -<p> -<p> -Both <strong>\*[ALD]</strong> and <strong>\*[RLD]</strong> work in -points, hence you mustn't use a unit of measure. -<p> - -<!---INLINE_B_MOM---> - -<hr width="66%" align="left"> -<a name="B"><h3><u>Terminate a line without advancing on the page</u></h3></a> - -<p> -Sometimes, you want <strong>mom</strong> to break a line but not -advance on the page. See -<a href="typesetting.html#EL_EXAMPLE">here</a> -for an example of when you might want to do this. -<p> -In versions of <strong>mom</strong> prior to 1.2-f, this was -accomplished through the use of -<a href="typesetting.html#EL">EL</a>. -As of 1.2-f, you can, if you prefer, accomplish the same thing -by using the inline escape, <strong>\*[B]</strong>. Simply -attach the escape to the end of any line. Using the example -given in the document entry for <strong>EL</strong>, you'd use -<strong>\*[B]</strong> like this: - -<p> -<pre> - .LEFT - .LS 12.5 - A line of text.\*[B] - .ALD 24p - The next line of text. -</pre> - -<strong>\*[B]</strong> works reliably regardless of the current -<a href="definitions.html#TERMS_FILLED">fill mode</a>. -<p> - -<!---INLINE_TB+_MOM---> - -<hr width="66%" align="left"> -<a name="TB+"><h3><u>Call the next sequential tab without advancing on the page</u></h3></a> - -<p> -Sometimes, you want <strong>mom</strong> to move to the next tab in -sequence (e.g. from TAB 1 to TAB 2, or TAB 8 to TAB 9) without -<strong>mom</strong> advancing on the page. (See the example in -<a href="typesetting.html#NOTE_TN">here</a> -if you're not clear how <strong>mom</strong> manages tabs and -linebreaks.) -<p> -In versions of <strong>mom</strong> prior to 1.2-f, this was -accomplished through the use of -<a href="typesetting.html#TN">TN</a>. -As of 1.2-f, you can, if you prefer, accomplish the same thing -by using the inline escape, <strong>\*[TB+]</strong>. Simply -attach the escape to the end of any line in a tab, like this: - -<p> -<pre> - .TAB 1 - Some text\*[TB+] \" This line is in tab 1 - Some more text \" This line is in tab 2, on the same baseline as tab 1 -</pre> - -<strong>\*[TB+]</strong> works reliably regardless of the current -<a href="definitions.html#TERMS_FILLED">fill mode</a>. -<p> - -<!---INLINE_RULE_MOM---> - -<hr width="66%" align="left"> -<a name="INLINE_RULE_MOM"><h3><u>Full measure rules</u></h3></a> - -<p> -I find I often need rules drawn to the full measure of the current line -or tab length. The official way to do this is <kbd>\l'\n(.lu'</kbd>, -which is annoying to type, and doesn't mean a whole heck of a lot if -you're new to groff. The inline, <strong>\*[RULE]</strong>, is a simple -replacement for <strong>\l'\n(.lu'</strong>. Use it whenever you need -a rule drawn to the full measure of the current line or tab length, for -example: -<p> -<pre> - .LL 6P - \*[RULE] -</pre> - -The above draws a rule the full measure of the 6-pica line length. -<p> -<strong>\*[RULE]</strong> should appear on a line by itself. In -<a href="definitions.html#TERMS_FILLED">fill modes</a>, -(i.e. -<a href="typesetting.html#QUAD">QUAD</a> -or -<a href="typesetting.html#JUSTIFY">JUSTIFY</a>), -it requires a -<a href="typesetting.html#BR">.BR</a> -on the line immediately before it; otherwise, the rule will be drawn -on the same baseline occupied by any type preceding it. In -<a href="definitions.html#TERMS_NOFILL">nofill modes</a> -(i.e -<a href="typesetting.html#LRC">LEFT</a>, -<a href="typesetting.html#LRC">RIGHT</a> -or -<a href="typesetting.html#LRC">CENTER</a>), -the <strong>.BR</strong> is not required. -<p> -Please note that <strong>\*[RULE]</strong> draws the rule to the -full measure, hence it <em>cannot</em> be used to fill the remainder -of a partial line with a rule in this way: -<p> -<pre> - Signature__________________________________________ -</pre> - -If you wish to accomplish this effect, you have to use -<strong>\*[RULE]</strong> in conjunction with the -<a href="goodies.html#PAD"><strong>PAD</strong></a> -macro and -<a href="typesetting.html#STRING_TABS">string tabs</a>. -(See the -<a href="goodies.html#PAD_EXAMPLE">example</a> -provided with <strong>PAD</strong>.) -<a name="RULE_EXCEPTION"></a> -<p> -Please also note that the inline escapes -<a href="#UP">\*[UP]</a> -and -<a href="#DOWN">\*[DOWN]</a> -cannot be used in conjunction with <strong>\*[RULE]</strong>. This -doesn't work: -<p> -<pre> - \*[DOWN 2p]\*[RULE]\*[UP 2p] -</pre> - -This does: -<p> -<pre> - .ALD 2p - \*[RULE] - .RLD 2p -</pre> - -See groff's -<a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a> -for more information on drawing horizontal rules. -<p> -<hr> - -<!---INLINE_FONT_GROFF---> - -<h2><u>Groff inline escapes</u></h2> - -<a name="INLINE_FONTS_GROFF"><h3><u>Font control with \f</u></h3></a> - -<p> -Groff's basic mechanism for inline font control is the escape -<strong>\f[<</strong>font><strong>]</strong>. -<p> -<table valign="baseline" cellpadding="10" summary="inlinefontsgroff"> -<tr> - <td><strong>\f[R]</strong></td> - <td>Change font to medium roman (equivalent to mom's <strong>\*[ROM]</strong>)</td> -</tr> -<tr> - <td><strong>\f[I]</strong></td> - <td>Change font to medium italic (equivalent to mom's <strong>\*[IT]</strong>)</td> -</tr> -<tr> - <td><strong>\f[B]</strong></td> - <td>Change font to bold roman (equivalent to mom's <strong>\*[BD]</strong>)</td> -</tr> -<tr> - <td><strong>\f[BI]</strong></td> - <td>Change font to bold italic (equivalent to mom's <strong>\*[BDI]</strong>)</td> -</tr> -<tr> - <td><strong>\f[P]</strong></td> - <td>Revert to previous font (equivalent to mom's <strong>\*[PREV]</strong>)</td> -</tr> -</table> -<p> -<strong>\f[<</strong>font><strong>]</strong> can be used with -any legal font style registered with groff. (See -<a href="appendices.html#STYLE_EXTENSIONS">here</a> -for a list of pre-registered font styles provided by -<strong>mom</strong>). -<p> -<strong>\f[<</strong>font><strong>]</strong> can also take a -complete legal family+font name combo. This is especially useful -should you need to change both family and font inline. For example, -if your prevailing family and font are Times Roman and you want a -few words in Courier Bold Italic, you could do this: -<p> -<pre> - .FAM T - .FT R - The command \f[CBI]ls -l\f[P] gives a "long" directory listing. -</pre> - -The Unix command "ls -l" will appear in Courier Bold Italic -in a line that is otherwise in Times Roman. -<p> - -<!---INLINE_HORIZONTAL_GROFF---> - -<hr width="66%" align="left"> -<a name="INLINE_HORIZONTAL_GROFF"><h3><u>Inline horizontal motions with \h</u></h3></a> - -<p> -Whenever you need to move forward or backward on a line, use the inline -<strong>\h'<distance>'</strong>. In order to avoid unpleasant surprises, -always append a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -to "distance". -<p> -<pre> - \h'1.25i' -</pre> - -moves you 1.25 inches to the right (forwards) of the horizontal -position on the current -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>. -<strong>\h'<distance>'</strong> is exactly equivalent to -<a href="#FWD"><strong>\*[FWD n<unit>]</strong></a>. -<p> -<pre> - \h'-1.25i' -</pre> - -moves you 1.25 inches to the left (backwards). -<strong>\h'-<distance>'</strong> is exactly equivalent to -<a href="#BCK"><strong>\*[BCK n<unit>]</strong></a>. -<p> - -<!---INLINE_VERTICAL_GROFF---> - -<hr width="66%" align="left"> -<a name="INLINE_VERTICAL_GROFF"><h3><u>Inline vertical motions with \v</u></h3></a> - -<p> -If you need to raise or lower type on a line (say, for sub- or -superscripts, or any other special effect), use -<strong>\v'<distance>'</strong>. In order to avoid unpleasant -surprises, always append a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -to "distance". -<p> -<pre> - \v'.6m' -</pre> - -moves you (approx.) 2/3 of an -<a href="definitions.html#TERMS_EM">em</a> -downward on the current -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>. -<strong>\v'<distance>'</strong> is exactly equivalent to -<a href="#DOWN"><strong>\*[DOWN n<unit>]</strong></a>. -<p> -<pre> - \v'-.6m' -</pre> - -moves you (approx.) 2/3 of an em upward. -<strong>\v'<-distance>'</strong> is exactly equivalent to <a -href="#UP"><strong>\*[UP n<unit>]</strong></a>. -<p> -<strong>IMPORTANT:</strong> The vertical motion of <strong>\v</strong> -affects ONLY type on the current -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>. -When groff breaks the output line, the effect of -<strong>\v</strong> is cancelled; the baseline of the next output line -is where it would be if you hadn't used <strong>\v</strong>. -<p> -<strong>TIP:</strong> When using <strong>\v</strong> for -occasional effects on a line, don't forget to reverse it when -you've done what you want to do. Otherwise, the remaining type -will be set too high (if you used <strong>\v</strong> with the -minus sign) or too low (if you used <strong>\v</strong> without -the minus sign). -<p> - -<!---INLINE_STRINGWIDTHL_GROFF---> - -<hr width="66%" align="left"> -<a name="INLINE_STRINGWIDTH_GROFF"><h3><u>String width function \w</u></h3></a> - -<p> -In the context of <strong>mom</strong>, the string width inline -<strong>\w'string'</strong> primarily serves to let you -establish the horizontal measure of something (e.g. indents) based -on the length of a bit of text. For example, if you want a left -indent the length of the word "Examples:" plus a -space, you can set it with the <strong>\w</strong> inline escape: -<p> -<pre> - .IL "\w'Examples: '" -</pre> - -<strong>NOTE:</strong> Whenever you pass <strong>\w'string'</strong> -to a macro that normally requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, -<em>do <strong>NOT</strong> add a unit of measure to the \w'string' -argument.</em> -<p> -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. -<p> - -<!---INLINE_LINEDRAWING_GROFF---> - -<hr width="66%" align="left"> -<a name="INLINE_LINEDRAWING_GROFF"><h3><u>Horizontal line drawing function \l</u></h3></a> - -<p> -The <strong>\l'distance'</strong> inline allows you to draw a -horizontal rule of the specified distance. You must supply a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -Therefore, to set a 3-pica rule into a line of text, you'd do -<p> -<pre> - A line of text with a superfluous \l'3P' 3-pica rule in it. -</pre> - -<strong>\l'3P'</strong> above not only draws the rule, but -advances 3 picas horizontally as well, just as you'd expect. -<p> -For an easy way of drawing rules to the full measure of the current -line or tab length, see -<a href="#INLINE_RULE_MOM">Full measure rules</a>. -<p> -The weight (thickness) of rules varies according to the point size -in effect when you invoke <strong>\l</strong>, but you can't fix -the weight with any real precision. A point size of 12 produces -a tastefully moderate rule weight of between one-half and one -point (depending on your printer), and is the point size used by -<strong>mom</strong> for all macros and routines that create rules. -<p> -<strong>NOTE:</strong> There are, in addition to <strong>\l</strong>, -a number of other line-drawing escapes, but frankly, using them for -typographically precise drawing is a bit like hammering in a nail -with a screwdriver -- doable, but not recommended. -<p> -Groff comes with a number of "preprocessors" designed -to ease creating rules, boxes, splines, and so on (tbl, pic, -and friends), but I tend not to use them. A firm believer -in the "right tool for the job," I prefer a vector -drawing program when I need to combine type with graphic elements -(say, a complex ruled form). Inserting the results into a -document is easy enough with <strong>.PSPIC</strong> (consult -the <strong>groff_tmac</strong> man page for information on this -indispensable and easy-to-use macro). -<p> - -<!---INLINE_CHARACTERS_GROFF---> - -<hr width="66%" align="left"> -<a name="INLINE_CHARACTERS_GROFF"><h3><u>Special characters and symbols</u></h3></a> - -<p> -Here follows a short list of commonly-used special characters available -via inline escapes. If you're not sure of the meaning of some of -these characters, consult the -<a href="definitions.html#TERMS">Definitions of Terms</a>. -<p> -For a complete list of special characters and glyphs (i.e. just -about anything you'd ever want to appear on the printed page, -including mathematical symbols, accented characters, unusual -ligatures and letters unique to various European languages), consult -<kbd>man groff_char</kbd>. -<p> -<pre> - CHARACTER ESCAPE SEQUENCE - --------- --------------- - - Comment line \# - Fixed-width space \<space> i.e. backslash followed by a space - Unbreakable space \~ - Digit-width (figure) space \0 - Zero-width character \& - Discretionary hyphen \% - Backslash \\ or \e - Plus/minus (arithmetic) \(+- - Subtract (arithmetic) \(mi - Multiply (arithmetic) \(mu - Divide (arithmetic) \(di - Em-dash \(em - En-dash \(en - Left double-quote \(lq - Right double-quote \(rq - Bullet \(bu - Ballot box \(sq - One-quarter \(14 - One-half \(12 - Three-quarters \(34 - Degree sign \(de - Dagger \(dg - Foot mark \(fm - Cent sign \(ct - Registered trademark \(rg - Copyright \(co - Section symbol \(se -</pre> - -<hr> -<a href="color.html#TOP">Next</a> -<a href="goodies.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/intro.html b/contrib/groff/contrib/mom/momdoc/intro.html deleted file mode 100644 index 4c6e3ebef747..000000000000 --- a/contrib/groff/contrib/mom/momdoc/intro.html +++ /dev/null @@ -1,405 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>What is mom?</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="definitions.html#TOP">Next</a> -<a href="toc.html">Back to Table of Contents</a> - -<a name="TOP"></a> -<a name="INTRO"> - <h1 align="center"><u>WHAT IS MOM?</u></h1> -</a> - -<a href="#INTRO_INTRO">Who is mom meant for?</a> -<br> -<a href="#INTRO_TYPESETTING">Typesetting with mom</a> -<br> -<a href="#INTRO_DOCPROCESSING">Document processing with mom</a> -<br> -<a href="#INTRO_PHILOSOPHY">Mom's philosophy</a> -<br> -<a href="#INTRO_DOCUMENTATION">A note on mom's documentation</a> -<br> -<a href="#CANONICAL">Canonical reference materials</a> -<br> -<a href="#MACRO_ARGS">How to read macro arguments</a> - -<h2><a name="INTRO_INTRO"><u>Who is mom meant for?</u></a></h2> - -<strong>Mom</strong> ("my own macros", "my other -macros", "maximum overdrive macros"...) is a macro set for -groff, designed to format documents for PostScript output. -She's aimed at three kinds of users: -<br> -<ol> - <li>typesetters who suspect groff might be "the right - tool for the job" but who are - frustrated/intimidated by groff's terse, geeky, - not-always-typographically-intuitive - <a href="definitions.html#TERMS_PRIMITIVES">primitives</a>; - <br> - <li>non-scientific writers (novelists, short story writers, - journalists, students) who just want their work to - look good; - <br> - <li>newbies to computer typesetting, document processing, or - groff who need a well-documented macro set to help them get - started. -</ol> -<p> -As might be inferred from the above, <strong>mom</strong> 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 -typographic refinements. The document processing macros let you focus -on a document's content and logical structure without worrying about -typesetting or page layout at all. -<p> -Because <strong>mom</strong> provides both typesetting and document -processing macros, it's safe to say she blurs the distinction between -document processing and document design. While her basic document style -comes with pretty spiffy defaults (okay--change "spiffy" -to "typographically professional"), you can easily control -how all the various document elements look: titles, page headers and -footers, page numbering, heads, subheads, footnotes and so on can be -made to come out exactly the way you want. And should you need precise -typographic control over elements in a document that fall outside the -range of <strong>mom</strong>'s document element tags, you don't have to -read up on groff -<a href="definitions.html#TERMS_PRIMITIVES">primitives</a> -in order to accomplish what you want; the typesetting macros take -care of that. -<p> - -<a name="INTRO_TYPESETTING"> - <h2><u>Typesetting with mom</u></h2> -</a> - -<strong>Mom</strong>'s typesetting macros control the basic parameters -of type: margins, line length, type family, font, point size, -linespacing, and so on. In addition, they allow you to move around -on the page horizontally and vertically, and to set up tabs, indents, -and columns. Finally, they let you adjust such typographic details as -justification style, letter spacing, word spacing, hyphenation, and -kerning. - -<p> -In terms of typographic control, these macros resemble the -commands used on dedicated typesetting computers like Compugraphics and -Linotronics. Most of them simply give access to groff's typesetting -primitives in a way that's consistent and easy to use. A few of -them (tabs and indents, for example) handle fundamental typesetting -requirements in ways radically different from groff primitives. - -<p> -With <strong>mom</strong>'s typesetting macros, you can, if you wish, -create individual output pages that you design from the ground up. -Provided you have not signalled to <strong>mom</strong> that you -want document processing (via the -<a href="docprocessing.html#START">START</a> -macro; see below), every macro is a literal command that remains in -effect until you modify it or turn it off. This means that if you -want to create flyers, surveys, tabulated forms, curricula vitae and -so on, you may do so in the good old-fashioned way: one step at a -time with complete control over every element on the page. -<p> -Years of reading various mailing lists dealing with computer -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 -month. The reason for the lengthy thread is obvious; words and -punctuation on the printed page are too variable, too fluid, to be -rendered flawlessly by any algorithm, no matter how clever. (For -whatever it's worth, a similar problem exists with engraving musical -scores by computer.) -<p> -<strong>Mom</strong> does not try to solve the problems posed -by things like hanging punctuation, left-margin adjustments for -upper case letters like T and W, and so on. She merely tries to -provide tools that allow knowledgeable typesetters to come up with -solutions to these problems in ways that are easier and more -intuitive than manipulating groff at the -<a href="definitions.html#TERMS_PRIMITIVES">primitive</a> -level. As a professional typesetter of more than two decades, and a -writer, I have encountered few situations that cannot be handled by -<strong>mom</strong>'s typesetting macros. -<p> -<strong>Author's note:</strong> One area where groff itself needs -serious rethinking is in the matter of an algorithm that takes into -account both word and letter spacing when -<a href="definitions.html#TERMS_JUST">justifying</a> -lines. At present, only word spacing is adjusted, requiring what I -consider an unnecessary amount of user intervention whenever -letter spacing is required. -<p> -<a name="INTRO_DOCPROCESSING"> - <h2><u>Document processing with mom</u></h2> -</a> - -<strong>Mom</strong>'s document processing macros let you format -documents without having to worry about the typographic details. -In this respect, <strong>mom</strong> is similar to other groff macro -packages, as well as to html and LaTeX. Where <strong>mom</strong> -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 centred, you can make the changes easily -and have them apply to the whole document. Temporary and one-off -changes are easy, too. -<p> -<strong>Mom</strong> has some nifty features other macro sets -don't provide. For example, you can switch between draft-style and -final-copy output. If you regularly make submissions to publishers -and editors who insist on "typewritten, double-spaced," there's a -special macro-- -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a> ---that changes typeset documents into ones that would make your -high-school typing teacher proud. Footnotes, endnotes, tables of -contents, multiple columns, nested lists, recto/verso printing and -user designable headers and footers are also part of the fun. -<p> -<a name="INTRO_PHILOSOPHY"> - <h2><u>Mom's philosophy</u></h2> -</a> - -Formatting documents should be easy, from soup to nuts. Writers need -to focus on what they're writing, not on how it looks. From the -moment you fire up an editor to the moment you add "FINIS" -to your opus, nothing should interfere with the flow of your words. -The commands needed to format your work should be easy to remember, -comprehensible, and stand out well from the text. There shouldn't -be too much clutter. Your documents should be as readable inside a -text editor as they are on the printed page. -<p> -Unfortunately, in computerland, "easy," -"comprehensible," and "readable" often mean -"you're stuck with what you get." No document formatting -system can give you exactly what you want all the time, every time. -Documents, it seems, always need to be tweaked, either to satisfy a -typographic whim or to clarify some aspect of their content. -<p> -Groff has traditionally solved the problem of formatting vs. tweaking -by requiring users of the common macro packages (mm, ms, me and their -offspring) to resort to groff -<a href="definitions.html#TERMS_PRIMITIVES">primitives</a> -and -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -for their special typesetting needs. Not to put too fine a point on -it, groff primitives tend toward the abstruse, and most inline escapes -are about as readable in-line as an encrypted password. This does -not make for happy-camper writers, who either find themselves stuck -with a document formatting style they don't really like, or are -forced to learn groff from the ground up--a daunting task, to say -the least. -<p> -<strong>Mom</strong> aims to make creating documents a simple matter, -but with no corresponding loss of user control. The document -processing macros provide an excellent set of defaults, but if -something is not to your liking, you can change it. And in combination -with the typesetting macros, you have all the tools you need to -massage passages and tweak pages until they look utterly professional. -<p> -One rarely hears the word "user interface" in conjunction -with document processing. Since the user formatting takes place -inside a text editor, little thought is given to the look and feel -of the formatting commands. <strong>Mom</strong> attempts to rectify -this by providing users with a consistent, readable "coding" -style. Most of the macros (especially in the document processing set) -have humanly-readable names. Not only does this speed up learning -the macros, it makes the sense of what's going on in a document, -typographically and structurally, easier to decipher. -<p> -<strong>Mom</strong> does not try to be all things to all people. -In contrast to the normal groff philosophy, she does not try to -produce output that looks good no matter where it's displayed. -She's designed for printed output, although with -<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a> -she produces acceptable terminal copy. She makes no attempt to be -compatible with older versions of troff. -<p> -One special feature in <strong>mom</strong>'s design is the attention -she pays to aligning the bottom margins of every page. Nothing screams -"shoddy" in typeset documents louder than bottom margins -that wander, or, in typesetter jargon, "hang." There are, -of course, situations where whitespace at the bottom of a page may -be desirable (for example, you wouldn't want a head to appear at the -bottom of the page without some text underneath it), but in all cases -where hanging bottom margins can be avoided, <strong>mom</strong> does -avoid them, by clever adjustments to leading ("line spacing") -and the spacing between different elements on the page. -<p> -<a name="INTRO_DOCUMENTATION"> - <h2><u>A note on mom's documentation</u></h2> -</a> - -Writing documentation is tough, no doubt about it. One is never -quite sure of the user's level of expertise. Is s/he new to the -application, new to its underlying protocols and programs, new to -the operating system, new to computers? At some point, one has to -decide who the documentation is for. Making the wrong decision can -mean the difference between a program that gets used and a program -that gets tossed. -<p> -<strong>Mom</strong>'s documentation assumes users know their way -around GNU/Linux. It further assumes they at least know what groff -is, even if they don't know much about it. Lastly, it assumes that -everyone--groff newbies and experts alike--learns faster from -a few well-placed examples than from manpage-style reference docs. -What <strong>mom</strong>'s documentation doesn't assume is that -you know everything--not about groff, not about typesetting, -not about document processing. Even experts have odd lacunae in -their knowledge base. Therefore, whenever I suspect that a term -or procedure will cause head scratching, I offer an explanation. -And when explanations aren't enough, I offer examples. -<br> - -<a name="CANONICAL"><h3><u>Canonical reference materials</u></h3></a> -<p> -The canonical reference materials for groff are -<strong>cstr54</strong> (a downloadable PostScript copy of which is -available -<a href="http://www.kohala.com/start/troff/">here</a>) -and the <strong>troff</strong> and <strong>groff_diff</strong> -manpages. Another excellent source of information (maybe the best) -is the groff <strong>info</strong> pages, available by typing -<p> -<pre> - info groff -</pre> - -at the command line (assuming you have <strong>info</strong> -installed on your system). And for inputting special characters, -see <strong>man groff_char.</strong> -<p> -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 excruciating -completeness concerning groff usage; I'm more interested in getting -<strong>mom</strong> users up and running. <em>Mea culpa.</em> -<p> -<strong>Note:</strong> <strong>Mom</strong>'s macro file -(om.tmac) is heavily commented. Each macro is preceded by a -description of its arguments, function and usage, which may -give you information in addition to what's contained in this -documentation. -<p> -<a name="MACRO_ARGS"> - <h3><u>How to read macro arguments</u></h3> -</a> - -The concise descriptions of macros in this documentation typically -look like this: -<blockquote> -Macro: <strong>NAME</strong> <nobr>arguments</nobr> -</blockquote> -<var>arguments</var> lists the macro's arguments using conventions that -should be familiar to anyone who has ever read a manpage. Briefly: -<p> -<ol> - <li>Macro arguments are separated from each other by spaces. - <li>If an argument is surrounded by chevrons - ( < > ), it's a description of the argument, - not the argument itself. - <li>If an argument begins with or is surrounded by double-quotes, the - double quotes MUST be included in the argument. - <li>If the user has a choice between several arguments, each of the - choices is separated by the pipe character ( | ), - which means "or." - <li>Arguments that are optional are surrounded by square brackets. - <li><off> in an argument list means that any argument - other than those in the argument list turns the macro off. -</ol> - -<a name="TOGGLE_MACRO"><h3><u>Toggle macros</u></h3></a> -<p> -Some macros don't require an argument. They simply start something. -When you need to turn them off, the same macro with <em>any</em> -argument will do the trick. That's right: ANY argument. This permits -choosing whatever works for you: OFF, END, QUIT, DONE, Q, X... Hell, -it could even be I_LOVE_MOM. -<p> -Since these macros toggle things on and off, the argument list -simply reads -<blockquote> -<nobr>toggle</nobr> -</blockquote> -<br> -<hr> - -<h3>Example 1: an argument requiring double-quotes</h3> -<blockquote> -Macro: <strong>TITLE</strong> <nobr>"<title of document>"</nobr> -</blockquote> -<p> -The required argument to <strong>TITLE</strong> is the title of your -document. Since it's surrounded by double-quotes, you must -include them in the argument, like this: -<p> -<pre> - .TITLE "My Pulitzer Novel" -</pre> - -<h3>Example 2: a macro with required and optional arguments</h3> -<blockquote> -Macro: <strong>TAB_SET</strong> <nobr><tab #> <indent> <length> [ L | R | C | J [ QUAD ] ]</nobr> -</blockquote> -<p> -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 -(say, 3 picas). Therefore, at a minimum, when using this macro, -you would enter: -<p> -<pre> - .TAB_SET 3 6P 3P -</pre> - -The remaining two arguments are optional. The first is a single -letter, either L, R, C or J. The second, which is itself optional -after L, R, C or J, is the word QUAD. Therefore, depending on -what additional information you wish to pass to the macro, -you could enter: -<p> -<pre> - .TAB_SET 3 6P 3P L - or - .TAB_SET 3 6P 3P L QUAD -</pre> - -<a name="TOGGLE_EXAMPLE"></a> -<h3>Example 3: a sample toggle macro:</h3> -<blockquote> -Macro: <strong>QUOTE</strong> <nobr>toggle</nobr> -</blockquote> -<p> -<strong>QUOTE</strong> begins a section of quoted text in a document -and doesn't require an argument. When the quote's finished, -you have to tell <strong>mom</strong> it's done. -<p> -<pre> - .QUOTE - So runs my dream, but what am I? - An infant crying in the night - An infant crying for the light - And with no language but a cry. - .QUOTE OFF -</pre> - -Alternatively, you could have turned the quote off with END, or -X, or something else. - -<p> -<hr> -<a href="definitions.html#TOP">Next</a> -<a href="#TOP">Top</a> -<a href="toc.html">Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/letters.html b/contrib/groff/contrib/mom/momdoc/letters.html deleted file mode 100644 index ad35a7118950..000000000000 --- a/contrib/groff/contrib/mom/momdoc/letters.html +++ /dev/null @@ -1,463 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Document Processing, Writing Letters</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="macrolist.html#TOP">Next</a> -<a href="refer.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"></a> -<a name="LETTERS"> - <h1 align="center"><u>WRITING LETTERS WITH MOM</u></h1> -</a> - -<a name="LETTERS_INTRO"> - <h2><u>Introduction</u></h2> -</a> - -<strong>Mom</strong>'s simple but effective letter-writing -macros are a subset of the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>, -designed to ease the creation of correspondence. -<p> -Because the letter macros are a subset of the document -processing macros, you can use -<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a> -to design correspondence to your own specifications. However, -<strong>mom</strong> makes no pretence of providing complete design -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. -<p> -<a name="TUTORIAL"><h2><u>Tutorial on writing letters</u></h2></a> -<p> -<strong>Mom</strong> letters begin, like all -<strong>mom</strong>-processed documents, with a -<a href="docprocessing.html#REFERENCE_MACROS">reference macro</a> -(in this case, -<a href="docprocessing.html#AUTHOR">AUTHOR</a>), -a -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a> -(<strong>LETTER</strong>, obviously), the essential -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> -macro, and -<a href="docprocessing.html#START">START</a>, -like this: -<p> -<pre> - .AUTHOR "Yannick P. Guique" - .DOCTYPE LETTER - .PRINTSTYLE TYPESET - .START -</pre> - -<strong>PRINTSTYLE</strong>, above, could also be -<strong>TYPEWRITE</strong>. <strong>Mom</strong> has no objection -to creating letters that look like they were typed on an Underwood -by a shapely secretary with 1940s gams. -<p> -After the <strong>START</strong> macro, you enter headers pertinent to -your letter: the date, the addressee (in business correspondence, -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," or "Dear -Mr. Smith:"). -<p> -The macros for entering the headers are simple (they're not even -<a href="definitions.html#TERMS_TOGGLE">toggles</a>): -<p> -<pre> - .DATE - .TO - .FROM - .GREETING -</pre> - -You may enter them in any order you like, except for -<strong>GREETING</strong>, which must come last. -<strong>Mom</strong> ignores any headers you omit and spaces the -letter's opening according to what you do include. See -<a href="#LETTERS_DEFAULTS">Default for letters</a> -to find out how <strong>mom</strong> formats the headers. -<p> -(In pre 1.1.7-a releases of <strong>mom</strong>, the order -of entry was fixed at the above. This has been changed, although -if you do follow the above order, <strong>mom</strong> will -continue to behave exactly as she did in pre 1.1.7-a.) -<p> -Once you've filled in what you need to get a letter started, simply -type the letter, introducing each and every paragraph, including -the first, with the -<a href="docelement.html#PP">PP</a> -macro. -<p> -At the end of the letter, should you wish an indented closing -("Yours truly," "Sincerely," "Hugs and -kisses"), invoke the macro <strong>CLOSING</strong> on a -line by itself and follow it with the text of the closing. -<strong>N.B.</strong> Don't put your name here; <strong>mom</strong> -supplies it automatically from <strong>AUTHOR</strong> with -enough space to leave room for your signature. - -<p> -Assuming our tutorial letter is for business correspondence, -here's what the complete letter looks like. -<p> -<pre> - .AUTHOR "Yannick P. Guique" - .DOCTYPE LETTER - .PRINTSTYLE TYPESET - .START - .DATE - August 25, 2004 - .TO - GUILLAUME BARRIČRES - Minidoux Corporation - 5000 Pannes Drive - Redmond, Virginia - .FROM - Y.P. GUIQUE - 022 Umask Road - St-Sauveur-en-dehors-de-la-mappe, Québec - .GREETING - Dear Mr. Barričres, - .PP - It has come to my attention that you have been lobbying the - US government to prohibit the use of open source software by - endeavouring to outlaw so-called "warranty free" - applications. - .PP - I feel it is my duty to inform you that the success of your - operating system with its embedded web browser relies heavily - on open source programs and protocols, most notably TCP/IP. - .PP - Therefore, in the interests of your corporation's fiscal health, - I strongly advise that you withdraw support for any US - legislation that would cripple or render illegal open source - development. - .CLOSING - Sincerely, -</pre> - -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: -<p> -<pre> - .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, -</pre> - -Notice the use of <strong>.RIGHT</strong> after -<strong>.FROM</strong> and <strong>.DATE</strong> in this example, -used to change the default quad for these macros. -<p> -<hr> - -<a name="LETTERS_DEFAULTS"> - <h2><u>Defaults for letters</u></h2> -</a> - -In letters, if the order of header macros is -<p> -<pre> - .DATE - .TO - .FROM - .GREETING -</pre> - -<strong>mom</strong> sets -<br> -<ol> - <li>the date flush right, page right, at the top of page one, -with a gap of two linespaces underneath - <li>the addressee in a block flush left, page left, with a gap of -one linespace underneath - <li>the addresser in a block flush left, page left, with a gap of -one linespace underneath - <li>the greeting flush left, with a gap of one linespace -underneath -</ol> -<p> -which is the standard for North American business correspondence. -<p> -If you switch the order of <strong>.DATE</strong>, -<strong>.TO</strong> and/or <strong>.FROM</strong>, -<strong>mom</strong> sets all the headers flush left, with a gap of -one linespace underneath each. (The default left quad of any header -can be changed by invoking the <strong>.RIGHT</strong> macro, on -a line by itself, immediately before inputting the text of the -header.) -<p> -Following the headers, <strong>mom</strong> sets -<p> -<ul> - <li>the body of the letter justified - <li>in multi-page letters: - <ul> - <li>a footer indicating there's a next page (of the form <code>.../#</code>) - <li>the page number at the top of every page after page one - </ul> - <li>the closing/signature line flush left, indented halfway across the page -</ul> -<p> -Other important style defaults are listed below, and may be changed -via the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -or the document processing -<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a> -prior to -<a href="docprocessing.html#START">START</a>. Assume that any -style parameter not listed below is the same as for -<a href="docprocessing.html#TYPESET_DEFAULTS">PRINTSTYLE TYPESET</a> -or -<a href="docprocessing.html#TYPEWRITE_DEFAULTS">PRINTSTYLE TYPEWRITE</a>. -<p> -<pre> -PARAMETER PRINTSTYLE TYPESET PRINTSTYLE TYPEWRITE ---------- ------------------ -------------------- - -Paper size 8.5 x 11 inches 8.5 x 11 inches -Left/right margins 1.25 inches 1.25 inches -Header margin 3.5 picas 3.5 picas - (for page numbers) -Header gap 3 picas 3 picas - (for page numbers) -Family Times Roman Courier -Font roman roman -Point size 12 12 -Line space 13.5 12 (i.e. singlespaced) -Paragraph indent 3 ems 3 picas -Spaced paragraphs yes no -Footers* yes yes -Footer margin 3 picas 3 picas -Footer gap 3 picas 3 picas -Page numbers top, centred top, centred - -*Footers contain a "next page" number of the form .../# -</pre> -<hr> - -<a name="LETTERS_MACROS"> - <h2><u>The letter macros</u></h2> -</a> - -All letter macros must come after -<a href="docprocessing.html#START">START</a>, -except <strong>NO_SUITE</strong>. -<p> -<ul> - <li><a href="#DATE">DATE</a> - <li><a href="#TO">TO</a> - <li><a href="#FROM">FROM</a> - <li><a href="#GREETING">GREETING</a> - <li><a href="#CLOSING">CLOSING</a> - <li><a href="#NO_SUITE">NO_SUITE</a> -- "next page" number off -</ul> -<br> - -<!---DATE---> - -<hr width="66%" align="left"> -<p> -<a name="DATE"></a> -Macro: <strong>DATE</strong> - -<p> -Invoke <strong>DATE</strong> on a line by itself, with the date -underneath, like this: -<p> -<pre> - .DATE - October 31, 2002 -</pre> - -If you wish to change the default quad direction for the date, -enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself, -immediately after <kbd>.DATE</kbd>. -<p> -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: -<p> -<pre> - .DATE - October 31, 2002 - .SPACE \" Or, more simply, .SP -</pre> - -If you wish to remove the default space, -<p> -<pre> - .SPACE -1v \" Or, more simply, .SP -1v -</pre> - -will do the trick. -<p> - -<!---TO---> - -<hr width="66%" align="left"> -<p> -<a name="TO"></a> -Macro: <strong>TO</strong> - -<p> -Invoke <strong>TO</strong> on a line by itself, with the name -and address of the addressee underneath, like this: -<p> -<pre> - .TO - JOHN SMITH - 10 Roberts Crescent - Bramladesh, Ont. -</pre> - -If you wish to change the default quad direction for the address, -enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself, -immediately after <kbd>.TO</kbd>. -<p> -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: -<p> -<pre> - .TO - JOHN SMITH - 10 Roberts Crescent - Bramladesh, Ont. - .SPACE \" Or, more simply, .SP -</pre> - -If you wish to remove the default space, -<p> -<pre> - .SPACE -1v \" Or, more simply, .SP -1v -</pre> - -will do the trick. -<p> - -<!---FROM---> - -<hr width="66%" align="left"> -<p> -<a name="FROM"></a> -Macro: <strong>FROM</strong> - -<p> -Invoke <strong>FROM</strong> on a line by itself, with the name -and address of the addresser underneath, like this: -<p> -<pre> - .FROM - JOE BLOW - 15 Brunette Road - Ste-Vieille-Andouille, Québec -</pre> - -If you wish to change the default quad direction for the address, -enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself, -immediately after <kbd>.FROM</kbd>. -<p> -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: -<p> -<pre> - .FROM - JOE BLOW - 15 Brunette Road - Ste-Vieille-Andouille, Québec - .SPACE \" Or, more simply, .SP -</pre> - -If you wish to remove the default space, -<p> -<pre> - .SPACE -1v \" Or, more simply, .SP -1v -</pre> - -will do the trick. -<p> - -<!---GREETING---> - -<hr width="66%" align="left"> -<p> -<a name="GREETING"></a> -Macro: <strong>GREETING</strong> - -<p> -Invoke <strong>GREETING</strong> on a line by itself, with the -full salutation you want for the letter, like this: -<p> -<pre> - .GREETING - Dear Mr. Smith, -</pre> - -<!---CLOSING---> - -<hr width="66%" align="left"> -<p> -<a name="CLOSING"></a> -Macro: <strong>CLOSING</strong> - -<p> -Invoke <strong>CLOSING</strong> on a line by itself after the -body of the letter, with the closing you'd like (e.g. "Yours -truly,"), like this: -<p> -<pre> - .CLOSING - Yours truly, -</pre> - -<!---NO_SUITE---> - -<hr width="66%" align="left"> -<p> -<a name="NO_SUITE"></a> -Macro: <strong>NO_SUITE</strong> - -<p> -If you don't want <strong>mom</strong> to print a "next -page" number at the bottom of multi-page letters, invoke -<code>.NO_SUITE</code>, on a line by itself, prior to -<a href="docprocessing.html#START">START</a>. - -<p> -<hr> -<a href="macrolist.html#TOP">Next</a> -<a href="refer.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/macrolist.html b/contrib/groff/contrib/mom/momdoc/macrolist.html deleted file mode 100644 index 01125f72e08d..000000000000 --- a/contrib/groff/contrib/mom/momdoc/macrolist.html +++ /dev/null @@ -1,1794 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Quick reference guide</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="appendices.html#MOREDOC">Next</a> -<a href="typemacdoc.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> - -<a name="TOP"></a> -<h1 align="center"> - <a name="QUICK">Quick reference guide</a> -</h1> - -Once you know your way around <strong>mom</strong>, you may find -this guide preferable to using the Table of Contents. It lists (I -hope) all <strong>mom</strong>'s user-space macros. The links -point to references found elsewhere in the documentation. -<p> -<strong>NOTE:</strong> This guide uses tables extensively. Better -make sure you're reading it in a browser that renders them -sensibly. -<p> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Typesetting</th> - <th>Document processing</th> -</tr> -<tr> - <td><a href="#1">Page/paper size; margins; line length</a></td> - <td><a href="#21">Reference macros</a></td> -</tr> -<tr> - <td><a href="#2">Family/font; pointsize; leading</a></td> - <td><a href="#22">Letters</a></td> -</tr> -<tr> - <td><a href="#3">Font modifications</a></td> - <td><a href="#23">Document style</a></td> -</tr> -<tr> - <td><a href="#4">Underscoring and underlining</a></td> - <td><a href="#24">Special to PRINTSTYLE TYPEWRITE</a></td> -</tr> -<tr> - <td><a href="#5">Colour</a></td> - <td><a href="#25">Begin document processing</a></td> -</tr> -<tr> - <td><a href="#6">Quad, justification and fill</a></td> - <td><a href="#26">Customizing the document header</a></td> -</tr> -<tr> - <td><a href="#7">Line termination</a></td> - <td><a href="#27">Pagination</a></td> -</tr> -<tr> - <td><a href="#8">Hyphenation</a></td> - <td><a href="#28">Recto/verso</a></td> -</tr> -<tr> - <td><a href="#9">Word and sentence spacing</a></td> - <td><a href="#29">Automatic columns</a></td> -</tr> -<tr> - <td><a href="#10">Kerning; ligatures</a></td> - <td><a href="#30">Epigraphs</a></td> -</tr> -<tr> - <td><a href="#11">Vertical movements</a></td> - <td><a href="#31">Heads</a></td> -</tr> -<tr> - <td><a href="#12">Horizontal movements</a></td> - <td><a href="#32">Subheads</a></td> -</tr> -<tr> - <td><a href="#13">Indents</a></td> - <td><a href="#33">Paragraph heads</a></td> -</tr> -<tr> - <td><a href="#14">Tabs</a></td> - <td><a href="#34">Paragraphs</a></td> -</tr> -<tr> - <td><a href="#15">Manual columns</a></td> - <td><a href="#35">Quotes</a></td> -</tr> -<tr> - <td><a href="#16">Superscripts</a></td> - <td><a href="#36">Blockquotes</a></td> -</tr> -<tr> - <td><a href="#17">Dropcaps</a></td> - <td><a href="#37">Author linebreaks</a></td> -</tr> -<tr> - <td><a href="#18">Lists</a></td> - <td><a href="#38">Footnotes</a></td> -</tr> -<tr> - <td><a href="#19">Padding lines</a></td> - <td><a href="#39">Endnotes</a></td> -</tr> -<tr> - <td><a href="#20">Miscellaneous</a></td> - <td><a href="#40">Designing endnotes pages</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#18">Lists</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#51">Margin notes</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#52">Line numbering</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#54">References</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#55">Bibliographies</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#41">Table of contents</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#42">Designing a table of contents</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#43">Finis</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#44">Headers and footers</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#45">Part-by-part control - <br>of headers</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#46">Footers</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#47">Covers and doc covers</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#48">Customizing covers - <br>and doc covers</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#49">Part-by-part control of - <br>covers and doc covers</a></td> -</tr> -<tr> - <td> </td> - <td><a href="#50">Miscellaneous</a></td> -</tr> -</table> - -<br> -<hr> -<h2 align="center"><u>Typesetting macros</u></h2> - -<a name="1"><h3 align="center">Page/paper size; margins; line length</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Page/paper size</th> - <th>Margins</th> - <th>Line length</th> -</tr> -<tr> - <td><a href="typesetting.html#PAGEWIDTH">PAGEWIDTH</a></td> - <td><a href="typesetting.html#T_MARGIN">T_MARGIN</a></td> - <td><a href="typesetting.html#LINELENGTH">LL</a></td> -</tr> -<tr> - <td><a href="typesetting.html#PAGELENGTH">PAGELENGTH</a></td> - <td><a href="typesetting.html#B_MARGIN">B_MARGIN</a></td> - <td> </td> -</tr> -<tr> - <td><a href="typesetting.html#PAPER">PAPER</a></td> - <td><a href="typesetting.html#L_MARGIN">L_MARGIN</a></td> - <td> </td> -</tr> -<tr> - <td><a href="typesetting.html#PAGE">PAGE</a></td> - <td><a href="typesetting.html#R_MARGIN">R_MARGIN</a></td> - <td> </td> -</table> - -<a name="2"><h3 align="center">Family/font; pointsize; leading</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Family/font</th> - <th>Point size</th> - <th>Leading</th> -</tr> -<tr> - <td><a href="typesetting.html#FAMILY">FAMILY</a></td> - <td><a href="typesetting.html#PS">PT_SIZE</a></td> - <td><a href="typesetting.html#LEADING">LS</a></td> -</tr> -<tr> - <td><a href="typesetting.html#FONT">FT</a></td> - <td><a href="inlines.html#INLINE_SIZE_MOM">\*[SIZE n]</a></td> - <td><a href="typesetting.html#AUTOLEAD">AUTOLEAD</a></td> -</tr> -<tr> - <td><a href="typesetting.html#FALLBACK_FONT">FALLBACK_FONT</a></td> - <td> </td> - <td> </td> -</tr> -</table> - -<a name="3"><h3 align="center">Font modifications (pseudo-italic, -bold, -condensed, -extended)</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Italicize</th> - <th>Embolden</th> - <th>Condense</th> - <th>Extend</th> -</tr> -<tr> - <td><a href="typesetting.html#SETSLANT">SETSLANT</a></td> - <td><a href="typesetting.html#SETBOLDER">SETBOLDER</a></td> - <td><a href="typesetting.html#CONDENSE">CONDENSE</a></td> - <td><a href="typesetting.html#EXTEND">EXTEND</a></td> -</tr> -<tr> - <td><a href="typesetting.html#SLANT_INLINE">\*[SLANT]</a></td> - <td><a href="typesetting.html#BOLDER_INLINE">\*[BOLDER]</a></td> - <td><a href="typesetting.html#COND_INLINE">\*[COND]</a></td> - <td><a href="typesetting.html#EXT_INLINE">\*[EXT]</a></td> -</tr> -<tr> - <td><a href="typesetting.html#SLANT_INLINE">\*[SLANTX]</a></td> - <td><a href="typesetting.html#BOLDER_INLINE">\*[BOLDERX]</a></td> - <td><a href="typesetting.html#COND_INLINE">\*[CONDX]</a></td> - <td><a href="typesetting.html#EXT_INLINE">\*[EXTX]</a></td> -</tr> -</table> - -<a name="4"><h3 align="center">Underscoring and underlining</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Underscore</th> - <th>Underline</th> -</tr> -<tr> - <td><a href="goodies.html#UNDERSCORE">UNDERSCORE</a></td> - <td><a href="goodies.html#UNDERLINE">UNDERLINE</a></td> -</tr> -<tr> - <td><a href="goodies.html#UNDERSCORE2">UNDERSCORE_2</a></td> - <td><a href="goodies.html#UL">\*[UL]...\*[ULX]</a></td> -</tr> -</table> - -<a name="5"><h3 align="center">Colour</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Define colours</th> - <th>Invoke colours</th> -</tr> -<tr> - <td><a href="color.html#NEWCOLOR">NEWCOLOR</a></td> - <td><a href="color.html#COLOR">COLOR</a></td> -</tr> -<tr> - <td><a href="color.html#XCOLOR">XCOLOR</a></td> - <td><a href="color.html#COLOR_INLINE">\*[<colorname>]</a></td> -</table> - -<a name="6"><h3 align="center">Quad, justification and fill</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Fill modes</th> - <th>No-fill modes</th> -</tr> -<tr> - <td><a href="typesetting.html#JUSTIFY">JUSTIFY</a></td> - <td><a href="typesetting.html#LRC">LEFT</a></td> -</tr> -<tr> - <td><a href="typesetting.html#QUAD">QUAD</a></td> - <td><a href="typesetting.html#LRC">CENTER</a></td> -</tr> -<tr> - <td> </td> - <td><a href="typesetting.html#LRC">RIGHT</a></td> -</tr> -</table> - -<a name="7"><h3 align="center">Line termination</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Break</th> - <th>Break (no space)</th> - <th>Break (extra space)</th> - <th>Break (force justify)</th> -</tr> -<tr align="center"> - <td><a href="typesetting.html#BR">BR</a></td> - <td><a href="typesetting.html#EL">EL</a></td> - <td><a href="typesetting.html#SPACE">SPACE</a></td> - <td><a href="typesetting.html#SPREAD">SPREAD</a></td> -</tr> -</table> - -<a name="8"><h3 align="center">Hyphenation</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Enable</th> - <th>Set parameters</th> -</tr> -<tr align="center"> - <td><a href="typesetting.html#HY">HY</a></td> - <td><a href="typesetting.html#HY_SET">HY_SET</a></td> -</tr> -</table> - -<a name="9"><h3 align="center">Word and sentence spacing</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Word space</th> - <th>Sentence space</th> -</tr> -<tr align="center"> - <td><a href="typesetting.html#WS">WS</a></td> - <td><a href="typesetting.html#SS">SS</a></td> -</tr> -</table> - -<a name="10"><h3 align="center">Character pair and full line kerning; ligatures</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Kern character pairs</th> - <th>Kern full lines</th> - <th>Ligatures</th> -</tr> -<tr> - <td><a href="typesetting.html#KERN">KERN</a></td> - <td><a href="typesetting.html#RW">RW</a></td> - <td><a href="typesetting.html#LIGATURES">LIGATURES</a></td> -</tr> -<tr> - <td><a href="inlines.html#INLINE_KERNING_MOM">\*[BU n]</a> - <td><a href="typesetting.html#EW">EW</a></td> - <td> </td> -</tr> -<tr> - <td><a href="inlines.html#INLINE_KERNING_MOM">\*[FU n]</a> - <td><a href="typesetting.html#BR_AT_LINE_KERN">BR_AT_LINE_KERN</a></td> - <td> </td> -</tr> -</table> - -<a name="11"><h3 align="center">Vertical movements</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Down</th> - <th>Up</th> -</tr> -<tr> - <td><a href="typesetting.html#ALD">ALD</a></td> - <td><a href="typesetting.html#RLD">RLD</a></td> -</tr> -<tr> - <td><a href="inlines.html#DOWN">\*[DOWN n]</a></td> - <td><a href="inlines.html#UP">\*[UP n]</a></td> -</tr> -</table> - -<a name="12"><h3 align="center">Horizontal movements</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Forward</th> - <th>Back</th> -</tr> -<tr align="center"> - <td><a href="inlines.html#FWD">\*[FWD n]</a></td> - <td><a href="inlines.html#BCK">\*[BCK n]</a></td> -</tr> -</table> - -<a name="13"><h3 align="center">Indents</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Left</th> - <th>Right</th> - <th>Both</th> - <th>Quit</th> - <th>Temp</th> - <th>Hanging</th> -</tr> -<tr> - <td><a href="typesetting.html#IL">IL</a></td> - <td><a href="typesetting.html#IR">IR</a></td> - <td><a href="typesetting.html#IB">IB</a></td> - <td align="center"><a href="typesetting.html#IQ">IQ</a></td> - <td align="center"><a href="typesetting.html#TI">TI</a></td> - <td align="center"><a href="typesetting.html#HI">HI</a></td> -</tr> -<tr> - <td><a href="typesetting.html#IQ">ILX</a></td> - <td><a href="typesetting.html#IQ">IRX</a></td> - <td><a href="typesetting.html#IQ">IBX</a></td> - <td> </td> - <td> </td> - <td> </td> -</tr> -</table> - -<a name="14"><h3 align="center">Tabs</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Setup</th> - <th>Invoking</th> - <th>Quitting</th> -</tr> -<tr> - <td><a href="typesetting.html#TAB_SET">TAB_SET</a></td> - <td align="center"><a href="typesetting.html#TAB">TAB</a></td> - <td align="center"><a href="typesetting.html#TQ">TQ</a></td> -</tr> -<tr> - <td><a href="typesetting.html#INLINE_ST">\*[STn]...\*[STnX]</a></td> - <td align="center"><a href="typesetting.html#TN">TN</a></td> - <td> </td> -</tr> -<tr> - <td><a href="typesetting.html#ST">ST</a></td> - <td> </td> - <td> </td> -</tr> -</table> - -<a name="15"><h3 align="center">Manual columns</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Initializing</th> - <th>Returning to top</th> - <th>Exiting</th> -</tr> -<tr align="center"> - <td><a href="typesetting.html#MCO">MCO</a></td> - <td><a href="typesetting.html#MCR">MCR</a></td> - <td><a href="typesetting.html#MCX">MCX</a></td> -</tr> -</table> - -<a name="16"><h3 align="center">Superscripts</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Superscript</th> - <th>Condensed superscript</th> - <th>Extended superscript</th> -</tr> -<tr> - <td><a href="goodies.html#SUP">\*[SUP]...\*[SUPX]</a></td> - <td><a href="goodies.html#SUP">\*[CONDSUP]...\*[CONDSUPX]</a></td> - <td><a href="goodies.html#SUP">\*[EXTSUP]...\*[EXTSUPX]</a></td> -</tr> -</table> - -<a name="17"><h3 align="center">Dropcaps</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Invoking</th> - <th>Dropcap control</th> -</tr> -<tr> - <td><a href="goodies.html#DROPCAP">DROPCAP</a></td> - <td><a href="goodies.html#DROPCAP_FAMILY">DROPCAP_FAMILY</a></td> -</tr> -<tr> - <td> </td> - <td><a href="goodies.html#DROPCAP_FONT">DROPCAP_FONT</a></td> -</tr> -<tr> - <td> </td> - <td><a href="goodies.html#DROPCAP_COLOR">DROPCAP_COLOR</a></td> -</tr> -<tr> - <td> </td> - <td><a href="goodies.html#DROPCAP_ADJUST">DROPCAP_ADJUST</a></td> -</tr> -<tr> - <td> </td> - <td><a href="goodies.html#DROPCAP_GUTTER">DROPCAP_GUTTER</a></td> -</tr> -</table> - -<a name="18"><h3 align="center">Lists</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Initializing</th> - <th>Setting items</th> - <th>List control</th> -</tr> -<tr> - <td align="center"><a href="docelement.html#LIST">LIST</a></td> - <td align="center"><a href="docelement.html#ITEM">ITEM</a></td> - <td><a href="docelement.html#SHIFT_LIST">SHIFT_LIST</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html##RESET_LIST">RESET_LIST</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="#PAD_LIST_DIGITS">PAD_LIST_DIGITS</a></td> -</tr> -</table> - -<a name="19"><h3 align="center">Padding lines</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr align="center"> - <th>Pad a line</th> - <th>Change the pad marker</th> -</tr> -<tr align="center"> - <td><a href="goodies.html#PAD">PAD</a></td> - <td><a href="goodies.html#PAD_MARKER">PAD_MARKER</a></td> -</tr> -</table> - -<a name="20"><h3 align="center">Miscellaneous</h3> - -<table align="center" valign="center" border=1 cellpadding="6"> -<tr align="center"> - <th>Newpage</th> - <th>All caps</th> - <th>Smartquotes</th> - <th>Rules/leaders</th> -</tr> -<tr align="center"> - <td><a href="typesetting.html#NEWPAGE">NEWPAGE</a></td> - <td><a href="goodies.html#CAPS">CAPS</a></td> - <td><a href="goodies.html#SMARTQUOTES">SMARTQUOTES</a></td> - <td align="left"><a href="inlines.html#INLINE_RULE_MOM">\*[RULE]</a></td> -</tr> -<tr align="left"> - <td> </td> - <td> </td> - <td> </td> - <td><a href="goodies.html#LEADER">\*[LEADER]</a></td> -</tr> -<tr align="left"> - <td> </td> - <td> </td> - <td> </td> - <td><a href="goodies.html#LEADER_CHARACTER">LEADER_CHARACTER</a></td> -</tr> -</table> -<br> -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Change the escape character</th> - <th>Suppress input</th> - <th>Disable traps</th> -</tr> -<tr align="center"> - <td><a href="docelement.html#QUOTE_TIP">ESC_CHAR</a></td> - <td><a href="goodies.html#SILENT">COMMENT</a></td> - <td><a href="goodies.html#TRAP">TRAP</a></td> -</tr> -<tr align="center"> - <td> </td> - <td><a href="goodies.html#SILENT">SILENT</a></td> - <td> </td> -</tr> -</tr> -</table> - -<br> -<hr> - -<h2 align="center"><u>Document processing</u></h2> - -<a name="21"><h3 align="center">Reference macros</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Titles</th> - <th>Authors</th> - <th>Draft copies</th> -</tr> -<tr> - <td><a href="docprocessing.html#TITLE">TITLE</a></td> - <td><a href="docprocessing.html#AUTHOR">AUTHOR</a></td> - <td><a href="docprocessing.html#DRAFT">DRAFT</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#SUBTITLE">SUBTITLE</a></td> - <td> </td> - <td><a href="docprocessing.html#REVISION">REVISION</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#DOCTITLE">DOCTITLE</a></td> - <td> </td> - <td><a href="docprocessing.html#DRAFT_STRING">DRAFT_STRING</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#CHAPTER">CHAPTER</a></td> - <td> </td> - <td><a href="docprocessing.html#REVISION_STRING">REVISION_STRING</a></td> -</tr> -</table> - -<a name="22"><h3 align="center">Letters</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Headers</th> - <th>Closing</th> - <th>Control</th> -</tr> -<tr> - <td><a href="letters.html#DATE">DATE</a></td> - <td><a href="letters.html#CLOSING">CLOSING</a></td> - <td><a href="letters.html#NO_SUITE">NO_SUITE</a></td> -</tr> -<tr> - <td><a href="letters.html#FROM">FROM</a></td> - <td> </td> - <td> </td> -</tr> -<tr> - <td><a href="letters.html#TO">TO</a></td> - <td> </td> - <td> </td> -</tr> -<tr> - <td><a href="letters.html#GREETING">GREETING</a></td> - <td> </td> - <td> </td> -</tr> -</table> - -<a name="23"><h3 align="center">Document style</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Basic style</th> - <th>Style control*</th> -</tr> -<tr> - <td><a href="docprocessing.html#COPYSTYLE">COPYSTYLE</a></td> - <td><a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#DOCTYPE">DOCTYPE</a></td> - <td><a href="docprocessing.html#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>**</td> - <td><a href="docprocessing.html#DOC_LINE_LENGTH">DOC_LINE_LENGTH</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#DOC_FAMILY">DOC_FAMILY</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#DOC_PT_SIZE">DOC_PT_SIZE</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#DOC_LEAD">DOC_LEAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#DOC_QUAD">DOC_QUAD</a></td> -</tr> -</table> -<p align="center"> -*See the note -<a href="docprocessing.html#DOC_PARAM_MACROS">Changing document-wide style parameters after START</a> -<br> -**Absolutely required if you wish to use the document processing macros. - -<a name="24"><h3 align="center">Special to PRINTSTYLE TYPEWRITE</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Italic/underlining</th> - <th>Quotes</th> -</tr> -<tr> - <td><a href="docprocessing.html#TYPEWRITE_CONTROL">UNDERLINE_ITALIC</a></td> - <td><a href="docprocessing.html#UNDERLINE_QUOTES">UNDERLINE_QUOTES</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#TYPEWRITE_CONTROL">ITALIC_MEANS_ITALIC</a></td> - <td> </td> -</tr> -<tr> - <td><a href="docprocessing.html#TYPEWRITE_CONTROL">UNDERLINE_SLANT</a></td> - <td> </td> -</tr> -<tr> - <td><a href="docprocessing.html#TYPEWRITE_CONTROL">SLANT_MEANS_SLANT</a></td> - <td> </td> -</tr> -</table> - -<a name="25"><h3 align="center">Begin document processing</h3></a> -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Absolutely required in order to initialize document processing</th> -</tr> -<tr> - <td align="center"><a href="docprocessing.html#START">START</a></td> -</tr> -</table> - -<a name="26"><h3 align="center">Customizing the document header</h3></a> - -<table align="center" valign="center" border=1 cellpadding="8"> -<tr> - <th>Global</th> - <th>Title</th> - <th>Subtitle</th> - <th>Chapter</th> -</tr> -<tr> - <td><a href="docprocessing.html#DOCHEADER">DOCHEADER</a></td> - <td><a href="docprocessing.html#CHANGE_FAMILY">TITLE_FAMILY</a></td> - <td><a href="docprocessing.html#CHANGE_FAMILY">SUBTITLE_FAMILY</a></td> - <td><a href="docprocessing.html#CHAPTER_STRING">CHAPTER_STRING</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#CHANGE_START">DOCHEADER_ADVANCE</a></td> - <td><a href="docprocessing.html#CHANGE_FONT">TITLE_FONT</a></td> - <td><a href="docprocessing.html#CHANGE_FONT">SUBTITLE_FONT</a></td> - <td><a href="docprocessing.html#CHANGE_FAMILY">CHAPTER_TITLE_FAMILY</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#DOCHEADER_FAMILY">DOCHEADER_FAMILY</a></td> - <td><a href="docprocessing.html#CHANGE_SIZE">TITLE_SIZE</a></td> - <td><a href="docprocessing.html#CHANGE_SIZE">SUBTITLE_SIZE</a></td> - <td><a href="docprocessing.html#CHANGE_FONT">CHAPTER_TITLE_FONT</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#DOCHEADER_COLOR">DOCHEADER_COLOR</a></td> - <td><a href="docprocessing.html#CHANGE_COLOR">TITLE_COLOR</a></td> - <td><a href="docprocessing.html#CHANGE_COLOR">SUBTITLE_COLOR</a></td> - <td><a href="docprocessing.html#CHANGE_SIZE">CHAPTER_TITLE_SIZE</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td> </td> - <td><a href="docprocessing.html#CHANGE_COLOR">CHAPTER_TITLE_COLOR</a></td> -</tr> -</table> -<br> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Attribution</th> - <th>Author</th> - <th>Document type</th> -</tr> -<tr> - <td><a href="docprocessing.html#CHANGE_ATTRIBUTE">ATTRIBUTE_STRING</a></td> - <td><a href="docprocessing.html#CHANGE_FAMILY">AUTHOR_FAMILY</a></td> - <td><a href="docprocessing.html#CHANGE_FAMILY">DOCTYPE_FAMILY</a></td> -</tr> -<tr> - <td><a href="docprocessing.html#CHANGE_COLOR">ATTRIBUTE_COLOR</a></td> - <td><a href="docprocessing.html#CHANGE_FONT">AUTHOR_FONT</a></td> - <td><a href="docprocessing.html#CHANGE_FONT">DOCTYPE_FONT</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#CHANGE_SIZE">AUTHOR_SIZE</a></td> - <td><a href="docprocessing.html#CHANGE_SIZE">DOCTYPE_SIZE</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#CHANGE_COLOR">AUTHOR_COLOR</a></td> - <td><a href="docprocessing.html#CHANGE_COLOR">DOCTYPE_COLOR</a></td> -</tr> -</table> - -<a name="27"><h3 align="center">Pagination</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Paginate</th> - <th>Style control</th> -</tr> -<tr> - <td><a href="headfootpage.html#PAGINATE">PAGINATE</a></td> - <td><a href="headfootpage.html#PAGINATE_GENERAL">PAGENUM_FAMILY</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a></td> - <td><a href="headfootpage.html#PAGINATE_GENERAL">PAGENUM_FONT</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>*</td> - <td><a href="headfootpage.html#PAGINATE_GENERAL">PAGENUM_SIZE</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#PAGENUM_ON_FIRST_PAGE">PAGENUM_ON_FIRST_PAGE</a></td> - <td><a href="headfootpage.html#PAGINATE_GENERAL">PAGENUM_COLOR</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#DRAFT_WITH_PAGENUMBER">DRAFT_WITH_PAGENUMBER</a></td> - <td><a href="headfootpage.html#PAGENUM_POS">PAGENUM_POS</a></td> -</tr> -<tr> - <td><a href="docelement.html#SUSPEND_PAGINATION">SUSPEND_PAGINATION</a></td> - <td><a href="headfootpage.html#PAGENUM_HYPHENS">PAGENUM_HYPHENS</a></td> -</tr> -<tr> - <td><a href="docelement.html#SUSPEND_PAGINATION">RESTORE_PAGINATION</a></td> - <td> </td> -</tr> -</table> -<p align="center"> -*I.e. the "format" of page numbering (digits, roman numerals, letters) - -<a name="28"><h3 align="center">Recto/verso</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Enabling</th> - <th>Controling</th> - <th>User-defined page headers/footers - <br> - for alternating pages* - </th> -</tr> -<tr> - <td><a href="rectoverso.html#RECTO_VERSO">RECTO_VERSO</a></td> - <td><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_HEADERS</a></td> - <td align="center"><a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_RECTO</a></td> -</tr> -<tr> - <td> </td> - <td><a href="rectoverso.html#SWITCH_HDRFTR">SWITCH_FOOTERS</a>*</td> - <td align="center"><a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_VERSO</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td align="center"><a href="headfootpage.html#HDRFTR_RECTOVERSO">FOOTER_RECTO</a>*</td> -</tr> -<tr> - <td> </td> - <td> </td> - <td align="center"><a href="headfootpage.html#HDRFTR_RECTOVERSO">FOOTER_VERSO</a>*</td> -</tr> -</table> -<p align="center"> -*Please note that most aspects of page header and footer control -are treated identically. In the documentation, the descriptions -of macros that control header and footer behaviour usually only -mention "HEADER" or "HEADER_". Simply apply -"FOOTER" or "FOOTER_" to the appropriate -"HEADER" or "HEADER_"macros in order to enable -their behaviour for footers. - - -<a name="29"><h3 align="center">Automatic columns</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Enabling</th> - <th>Controling</th> -</tr> -<tr> - <td><a href="docprocessing.html#COLUMNS">COLUMNS</a></td> - <td><a href="docprocessing.html#COL_NEXT">COL_NEXT</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docprocessing.html#COL_BREAK">COL_BREAK</a></td> -</tr> -</table> - -<a name="30"><h3 align="center">Epigraphs</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#EPIGRAPH">EPIGRAPH</a></td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_FAMILY</a></td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_AUTOLEAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_FONT</a></td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_QUAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_SIZE</a></td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_INDENT</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#EPIGRAPH_CONTROL">EPIGRAPH_COLOR</a></td> - <td> </td> -</tr> -</table> - -<a name="31"><h3 align="center">Heads</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td align="center"><a href="docelement.html#HEAD">HEAD</a></td> - <td><a href="docelement.html#HEAD_GENERAL">HEAD_FAMILY</a></td> - <td><a href="docelement.html#HEAD_GENERAL">HEAD_QUAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#HEAD_GENERAL">HEAD_FONT</a></td> - <td><a href="docelement.html#HEAD_CAPS">HEAD_CAPS</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#HEAD_GENERAL">HEAD_SIZE</a></td> - <td><a href="docelement.html#HEAD_UNDERLINE">HEAD_UNDERLINE</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#HEAD_GENERAL">HEAD_COLOR</a></td> - <td><a href="docelement.html#HEAD_SPACE">HEAD_SPACE</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#NUMBER_HEADS">NUMBER_HEADS</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#RESET_HEAD_NUMBER">RESET_HEAD_NUMBER</a></td> -</tr> -</table> - -<a name="32"><h3 align="center">Subheads</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#SUBHEAD">SUBHEAD</a></td> - <td><a href="docelement.html#SUBHEAD_GENERAL">SUBHEAD_FAMILY</a></td> - <td><a href="docelement.html#SUBHEAD_GENERAL">SUBHEAD_QUAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#SUBHEAD_GENERAL">SUBHEAD_FONT</a></td> - <td><a href="docelement.html#NUMBER_SUBHEADS">NUMBER_SUBHEADS</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#SUBHEAD_GENERAL">SUBHEAD_SIZE</a></td> - <td><a href="docelement.html#RESET_SUBHEAD_NUMBER">RESET_SUBHEAD_NUMBER</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#SUBHEAD_CONTROL">SUBHEAD_COLOR</a></td> -</tr> -</table> - -<a name="33"><h3 align="center">Paragraph heads</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#PARAHEAD">PARAHEAD</a></td> - <td><a href="docelement.html#PARAHEAD_GENERAL">PARAHEAD_FAMILY</a></td> - <td><a href="docelement.html#PARAHEAD_INDENT">PARAHEAD_INDENT</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#PARAHEAD_GENERAL">PARAHEAD_FONT</a></td> - <td><a href="docelement.html#NUMBER_PARAHEADS">NUMBER_PARAHEADS</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#PARAHEAD_GENERAL">PARAHEAD_SIZE</a></td> - <td><a href="docelement.html#RESET_PARAHEAD_NUMBER">RESET_PARAHEAD_NUMBER</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#PARAHEAD_GENERAL">PARAHEAD_COLOR</a></td> - <td> </td> -</tr> -</table> - -<a name="34"><h3 align="center">Paragraphs</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control*</th> - <th>Other</th> -</tr> -<tr> - <td align="center"><a href="docelement.html#PP">PP</a></td> - <td align="center"><a href="docelement.html#PP_FONT">PP_FONT</a></td> - <td><a href="docelement.html#PARA_INDENT">PARA_INDENT</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#INDENT_FIRST_PARAS">INDENT_FIRST_PARAS</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#PP_SPACE">PARA_SPACE</a></td> -</tr> -</table> -<p align="center"> -*For an in-depth explanation of how to manage the type-style of -paragraphs, much of which is normally established through the use of -typesetting macros prior to -<a href="docprocessing.html#START">START</a>, -see -<a href="docelement.html#PP_CONTROL">Paragraph control macros</a>. - -<a name="35"><h3 align="center">Quotes</a> -<br> -(line-for-line cited text, e.g. poetry or code snippets) -</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#QUOTE">QUOTE</a></td> - <td><a href="docelement.html#QUOTE_GENERAL">QUOTE_FAMILY</a></td> - <td><a href="docelement.html#QUOTE_GENERAL">QUOTE_INDENT</a>*</td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#QUOTE_GENERAL">QUOTE_FONT</a></td> - <td><a href="docelement.html#ALWAYS_FULLSPACE_QUOTES">ALWAYS_FULLSPACE_QUOTES</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#QUOTE_GENERAL">QUOTE_SIZE</a></td> - <td><a href="docelement.html#BREAK_QUOTE">BREAK_QUOTE</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#QUOTE_GENERAL">QUOTE_AUTOLEAD</a></td> - <td><a href="docprocessing.html#UNDERLINE_QUOTES">UNDERLINE_QUOTES</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#QUOTE_GENERAL">QUOTE_COLOR</a></td> - <td> </td> -</tr> -</table> -<p align="center"> -*Note that the use of QUOTE_INDENT sets the indent for both QUOTE -and BLOCKQUOTE. - -<a name="36"><h3 align="center">Blockquotes</a> -<br> -(formatted citations) -</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#BLOCKQUOTE">BLOCKQUOTE</a></td> - <td><a href="docelement.html#BLOCKQUOTE_GENERAL">BLOCKQUOTE_FAMILY</a></td> - <td><a href="docelement.html#QUOTE_GENERAL">BLOCKQUOTE_INDENT</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#BLOCKQUOTE_GENERAL">BLOCKQUOTE_FONT</a></td> - <td><a href="docelement.html#BLOCKQUOTE_GENERAL">BLOCKQUOTE_QUAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#BLOCKQUOTE_GENERAL">BLOCKQUOTE_SIZE</a></td> - <td><a href="docelement.html#BREAK_QUOTE">BREAK_BLOCKQUOTE</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#BLOCKQUOTE_GENERAL">BLOCKQUOTE_AUTOLEAD</a></td> - <td> </td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#BLOCKQUOTE_GENERAL">BLOCKQUOTE_COLOR</a></td> - <td> </td> -</tr> -</table> -<p align="center"> -*Note that the use of BLOCKQUOTE_INDENT sets the indent for both BLOCKQUOTE -and QUOTE. - -<a name="37"><h3 align="center">Author linebreaks</a> -<br> -(also called "scene" or "section" breaks) -</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#LINEBREAK">LINEBREAK</a></td> - <td><a href="docelement.html#LINEBREAK_COLOR">LINEBREAK_COLOR</a></td> - <td><a href="docelement.html#LINEBREAK_CHAR">LINEBREAK_CHAR</a></td> -</tr> -</table> - -<a name="38"><h3 align="center">Footnotes</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type-style control</th> - <th>Other</th> -</tr> -<tr> - <td><a href="docelement.html#FOOTNOTE">FOOTNOTE</a>*</td> - <td><a href="docelement.html#FOOTNOTE_GENERAL">FOOTNOTE_FAMILY</a></td> - <td><a href="docelement.html#FOOTNOTE_GENERAL">FOOTNOTE_AUTOLEAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#FOOTNOTE_GENERAL">FOOTNOTE_FONT</a></td> - <td><a href="docelement.html#FOOTNOTE_GENERAL">FOOTNOTE_QUAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#FOOTNOTE_GENERAL">FOOTNOTE_SIZE</a></td> - <td><a href="docelement.html#FOOTNOTE_MARKERS">FOOTNOTE_MARKERS</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#FOOTNOTE_GENERAL">FOOTNOTE_COLOR</a></td> - <td><a href="docelement.html#FOOTNOTE_MARKER_STYLE">FOOTNOTE_MARKER_STYLE</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#RESET_FOOTNOTE_NUMBER">RESET_FOOTNOTE_NUMBER</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#FOOTNOTE_RULE">FOOTNOTE_RULE</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#FOOTNOTE_RULE_ADJ">FOOTNOTE_RULE_ADJ</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#FOOTNOTE_RULE_LENGTH">FOOTNOTE_RULE_LENGTH</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#FOOTNOTES_RUN_ON">FOOTNOTES_RUN_ON</a></td> -</tr> -</table> -<p align="center"> -*Indenting of footnotes is handled by arguments passed to FOOTNOTE. - -<a name="39"><h3 align="center">Endnotes</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Input endnotes</th> - <th>Output endnotes pages</th> -</tr> -<tr align="center"> - <td><a href="docelement.html#ENDNOTE">ENDNOTE</a></td> - <td><a href="docelement.html#ENDNOTES">ENDNOTES</a></td> -</tr> -</table> - -<a name="40"><h3 align="center">Designing endnotes pages</a> -<br> -(if you want to change the defaults) -</h3> - -<table align="center" valign="center" border=1 cellpadding="6"> -<tr> - <th>Type-style control</th> - <th>Endnotes page - <br>title string* -</th> - <th>Document identification string**</th> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_GENERAL">ENDNOTE_FAMILY</a></td> - <td><a href="docelement.html#ENDNOTE_STRING">ENDNOTE_STRING</a></td> - <td><a href="docelement.html#ENDNOTE_TITLE">ENDNOTE_TITLE</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_GENERAL">ENDNOTE_FONT</a></td> - <td><a href="docelement.html#ENDNOTE_STRING_CONTROL">ENDNOTE_STRING_FAMILY</a></td> - <td><a href="docelement.html#ENDNOTE_TITLE_CONTROL">ENDNOTE_TITLE_FAMILY</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_LEAD">ENDNOTE_LEAD</a></td> - <td><a href="docelement.html#ENDNOTE_STRING_CONTROL">ENDNOTE_STRING_FONT</a></td> - <td><a href="docelement.html#ENDNOTE_TITLE_CONTROL">ENDNOTE_TITLE_FONT</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_PT_SIZE">ENDNOTE_PT_SIZE</a></td> - <td><a href="docelement.html#ENDNOTE_STRING_CONTROL">ENDNOTE_STRING_SIZE</a></td> - <td><a href="docelement.html#ENDNOTE_TITLE_CONTROL">ENDNOTE_TITLE_SIZE</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_GENERAL">ENDNOTE_QUAD</a></td> - <td><a href="docelement.html#ENDNOTE_STRING_CAPS">ENDNOTE_STRING_CAPS</a></td> - <td><a href="docelement.html#ENDNOTE_TITLE_CONTROL">ENDNOTE_TITLE_QUAD</a></td> -</tr> -<tr> - <td> </td> - <td><a href="docelement.html#ENDNOTE_STRING_UNDERSCORE">ENDNOTE_STRING_UNDERSCORE</a></td> - <td><a href="docelement.html#ENDNOTE_TITLE_UNDERSCORE">ENDNOTE_TITLE_UNDERSCORE</a></td> -</tr> -</table> -<p align="center"> -*By default, "Endnotes", at the top of the first page of -endnotes -<br> -**I.e. how each document in the endnotes for a collated document is -identified (by default, the strings passed to the reference -macro, .TITLE -<p> - -<table align="center" valign="center" border=1 cellpadding="6"> -<tr> - <th>Endnotes numbering</th> - <th>Paragraph control</th> - <th>Endnotes headers/footers</th> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_NUMBER_CONTROL">ENDNOTE_NUMBER_FAMILY</a></td> - <td><a href="docelement.html#ENDNOTE_PARA_INDENT">ENDNOTE_PARA_INDENT</a></td> - <td><a href="docelement.html#ENDNOTES_ALLOWS_HEADERS">ENDNOTES_ALLOWS_HEADERS</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_NUMBER_CONTROL">ENDNOTE_NUMBER_FONT</a></td> - <td><a href="docelement.html#ENDNOTE_PARA_SPACE">ENDNOTE_PARA_SPACE</a></td> - <td><a href="docelement.html#ENDNOTES_HDRFTR_CENTER">ENDNOTES_HEADER_CENTER</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_NUMBER_CONTROL">ENDNOTE_NUMBER_SIZE</a></td> - <td> </td> - <td><a href="docelement.html#ENDNOTES_HDRFTR_CENTER">ENDNOTES_FOOTER_CENTER</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_NUMBERS_ALIGN_LEFT">ENDNOTE_NUMBERS_ALIGN_LEFT</a></td> - <td> </td> - <td> </td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTE_NUMBERS_ALIGN_RIGHT">ENDNOTE_NUMBERS_ALIGN_RIGHT</a></td> - <td> </td> - <td> </td> -</tr> -</table> -<br> - -<table align="center" valign="center" border=1 cellpadding="6"> -<tr> - <th>Endnotes page numbering</th> - <th>Misc</th> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTES_FIRST_PAGENUMBER">ENDNOTES_FIRST_PAGENUMBER</a></td> - <td><a href="docelement.html#ENDNOTES_NO_COLUMNS">ENDNOTES_NO_COLUMNS</a></td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTES_PAGENUM_STYLE">ENDNOTES_PAGENUM_STYLE</a>*</td> - <td><a href="docelement.html#SINGLESPACE_ENDNOTES">SINGLESPACE_ENDNOTES</a>**</td> -</tr> -<tr> - <td><a href="docelement.html#ENDNOTES_NO_FIRST_PAGENUM">ENDNOTES_NO_FIRST_PAGENUM</a></td> - <td> </td> -</tr> -</table> -<p align="center"> -*I.e. the format of page numbering (digits, roman, letters) -<br> -**Applies to PRINTSTYLE TYPEWRITE only - -<a name="51"><h3 align="center">Margin notes</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Initialize</th> - <th>Start</th> -</tr> -<tr> - <td align="center"><a href="docelement.html#MN_INIT">MN_INIT</a></td> - <td align="center"><a href="docelement.html#MN">MN</a></td> -</tr> -</table> - -<a name="52"><h3 align="center">Line numbering</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Text</th> - <th>Quotes</th> - <th>Blockquotes</th> -</tr> -<tr> - <td align="center"><a href="docelement.html#NUMBER_LINES">NUMBER_LINES</a></td> - <td align="center"><a href="docelement.html#NUMBER_QUOTE_LINES">NUMBER_QUOTE_LINES</a></td> - <td align="center"><a href="docelement.html#NUMBER_BLOCKQUOTE_LINES">NUMBER_BLOCKQUOTE_LINES</a></td> -</tr> -</table> - -<a name="54"><h3 align="center">References</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Begin/end refs</th> - <th>Footnote refs</th> - <th>Endnote refs</th> - <th>Embedded refs</th> -</tr> -<tr> - <td align="center"><a href="refer.html#REF">REF</a></td> - <td align="center"><a href="refer.html#FOOTNOTE_REFS">FOOTNOTE_REFS</a></td> - <td align="center"><a href="refer.html#ENDNOTE_REFS">ENDNOTE_REFS</a></td> - <td align="center"><a href="refer.html#BRACKET_REFS">REF( / REF)</a></td> -</tr> -<tr> - <td align="center"> </td> - <td align="center"> </td> - <td align="center"> </td> - <td align="center"><a href="refer.html#BRACKET_REFS">REF( / REF)</a></td> -</tr> -<tr> - <td align="center"> </td> - <td align="center"> </td> - <td align="center"> </td> - <td align="center"><a href="refer.html#BRACKET_REFS">REF[ / REF]</a></td> -</tr> -<tr> - <td align="center"> </td> - <td align="center"> </td> - <td align="center"> </td> - <td align="center"><a href="refer.html#BRACKET_REFS">REF{ / REF}</a></td> -</tr> -</table> - -<a name="55"><h3 align="center">Bibliographies</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Start bibliography page</th> - <th>Bibliography type</th> -</tr> -<tr> - <td align="center"><a href="refer.html#BIBLIOGRAPHY">BIBLIOGRAPHY</a></td> - <td align="center"><a href="refer.html#BIBLIOGRAPHY_TYPE">BIBLIOGRAPHY_TYPE</a></td> -</tr> -</table> - -<a name="41"><h3 align="center">Table of contents</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Generate</th> - <th>General - <br> - type-style control - </th> - <th>TOC title string* - <br> - and style control - </th> -</tr> -<tr> - <td align="center"><a href="docelement.html#TOC">TOC</a></td> - <td align="center"><a href="docelement.html#TOC_FAMILY">TOC_FAMILY</a></td> - <td><a href="docelement.html#TOC_HEADER_STRING">TOC_HEADER_STRING</a></td> -</tr> -<tr> - <td> </td> - <td align="center"><a href="docelement.html#TOC_PT_SIZE">TOC_PT_SIZE</a></td> - <td><a href="docelement.html#TOC_HEADER_FAMILY">TOC_HEADER_FAMILY</a></td> -</tr> -<tr> - <td> </td> - <td align="center"><a href="docelement.html#TOC_LEAD">TOC_LEAD</a></td> - <td><a href="docelement.html#TOC_HEADER_FONT">TOC_HEADER_FONT</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#TOC_HEADER_SIZE">TOC_HEADER_SIZE</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td><a href="docelement.html#TOC_HEADER_QUAD">TOC_HEADER_QUAD</a></td> -</tr> -</table> -<p align="center"> -*By default, "Table of Contents" - -<a name="42"><h3 align="center">Designing a table of contents</a> -<br> -(if you want to change the defaults) -</h3> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Title entries</th> - <th>Head entries</th> - <th>Subhead entries</th> -</tr> -<tr> - <td><a href="docelement.html#TOC_TITLE_ENTRY">TOC_TITLE_ENTRY</a></td> - <td><a href="docelement.html#TOC_HEAD">TOC_HEAD_FAMILY</a></td> - <td><a href="docelement.html#TOC_SUBHEAD">TOC_SUBHEAD_FAMILY</a></td> -</tr> -<tr> - <td><a href="docelement.html#TOC_APPENDS_AUTHOR">TOC_APPENDS_AUTHOR</a></td> - <td><a href="docelement.html#TOC_HEAD">TOC_HEAD_FONT</a></td> - <td><a href="docelement.html#TOC_SUBHEAD">TOC_SUBHEAD_FONT</a></td> -</tr> -<tr> - <td><a href="docelement.html#TOC_TITLE">TOC_TITLE_FAMILY</a></td> - <td><a href="docelement.html#TOC_HEAD">TOC_HEAD_SIZE</a></td> - <td><a href="docelement.html#TOC_SUBHEAD">TOC_SUBHEAD_SIZE</a></td> -</tr> -<tr> - <td><a href="docelement.html#TOC_TITLE">TOC_TITLE_FONT</a></td> - <td><a href="docelement.html#TOC_HEAD">TOC_HEAD_INDENT</a></td> - <td><a href="docelement.html#TOC_SUBHEAD">TOC_SUBHEAD_INDENT</a></td> -</tr> -<tr> - <td><a href="docelement.html#TOC_TITLE">TOC_TITLE_SIZE</a></td> - <td> </td> - <td> </td> -</tr> -<tr> - <td><a href="docelement.html#TOC_TITLE">TOC_TITLE_INDENT</a></td> - <td> </td> - <td> </td> -</tr> -</table> -<br> - -<table align="center" valign="center" border=1 cellpadding="6"> -<tr> - <th>Parahead entries</th> - <th>Page number entries</th> - <th>Pagination</th> - <th>Misc</th> -</tr> -<tr> - <td><a href="docelement.html#TOC_PARAHEAD">TOC_PARAHEAD_FAMILY</a></td> - <td><a href="docelement.html#TOC_PN">TOC_PN_FAMILY</a></td> - <td align="center"><a href="docelement.html#PAGINATE_TOC">PAGINATE_TOC</a></td> - <td><a href="docelement.html#TOC_RV_SWITCH">TOC_RV_SWITCH</a></td> -</tr> -<tr> - <td><a href="docelement.html#TOC_PARAHEAD">TOC_PARAHEAD_FONT</a></td> - <td><a href="docelement.html#TOC_PN">TOC_PN_FONT</a></td> - <td align="center"><a href="docelement.html#TOC_PAGENUM_STYLE">TOC_PAGENUM_STYLE</a>*</td> - <td> </td> -</tr> -<tr> - <td><a href="docelement.html#TOC_PARAHEAD">TOC_PARAHEAD_SIZE</a></td> - <td><a href="docelement.html#TOC_PN">TOC_PN_SIZE</a></td> - <td> </td> - <td> </td> -</tr> -<tr> - <td><a href="docelement.html#TOC_PARAHEAD">TOC_PARAHEAD_INDENT</a></td> - <td><a href="docelement.html#TOC_PADDING">TOC_PADDING</a></td> - <td> </td> - <td> </td> -</tr> -</table> -<p align="center"> -*I.e. the format of page numbering (digits, roman, letters) - -<a name="43"><h3 align="center">Finis</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Type style control</th> -</tr> -<tr> - <td><a href="docelement.html#FINIS">FINIS</a></td> - <td><a href="docelement.html#FINIS_COLOR">FINIS_COLOR</a></td> -</tr> -<tr> - <td><a href="docelement.html#FINIS_STRING">FINIS_STRING</a></td> - <td> </td> -</tr> -</table> - -<a name="44"><h3 align="center">Headers and footers</h3></a> -<p align="center"> -<strong>Mom</strong> treats all aspects of headers and footers -identically. The only difference between the two is whether the -information they contain appears at the top of the page or at the -bottom. Consequently, in the following, substitute FOOTERS -for HEADERS, and FOOTER_ for HEADER_ if you're hunting down how to -do something with footers. -<p> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Macro</th> - <th>Placement</th> - <th>User-defined headers</th> - <th>General - <br> - type-style control - </th> -</tr> -<tr> - <td><a href="headfootpage.html#HEADERS">HEADERS</a></td> - <td><a href="headfootpage.html#HDRFTR_MARGIN">HEADER_MARGIN</a></td> - <td><a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_RECTO</a></td> - <td><a href="headfootpage.html#HDRFTR_GLOBAL_FAMILY">HEADER_FAMILY</a></td> -</tr> -<tr> - <td> </td> - <td><a href="headfootpage.html#HDRFTR_GAP">HEADER_GAP</a></td> - <td><a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_VERSO</a></td> - <td><a href="headfootpage.html#HDRFTR_GLOBAL_SIZE">HEADER_SIZE</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td> </td> - <td><a href="headfootpage.html#HDRFTR_COLOR">HEADER_COLOR</a></td> -</tr> -<tr> - <td> </td> - <td> </td> - <td> </td> - <td><a href="headfootpage.html#HDRFTR_PLAIN">HEADER_PLAIN</a></td> -</tr> -</table> - -<a name="45"><h3 align="center">Part-by-part control of headers</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Left</th> - <th>Center</th> - <th>Right</th> -</tr> -<tr> - <td><a href="headfootpage.html#HDRFTR_LEFT">HEADER_LEFT</a></td> - <td><a href="headfootpage.html#HDRFTR_CENTER">HEADER_CENTER</a></td> - <td><a href="headfootpage.html#HDRFTR_RIGHT">HEADER_RIGHT</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#_FAMILY">HEADER_LEFT_FAMILY</a></td> - <td><a href="headfootpage.html#_FAMILY">HEADER_CENTER_FAMILY</a></td> - <td><a href="headfootpage.html#_FAMILY">HEADER_RIGHT_FAMILY</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#_FONT">HEADER_LEFT_FONT</a></td> - <td><a href="headfootpage.html#_FONT">HEADER_CENTER_FONT</a></td> - <td><a href="headfootpage.html#_FONT">HEADER_RIGHT_FONT</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#_SIZE">HEADER_LEFT_SIZE</a></td> - <td><a href="headfootpage.html#_SIZE">HEADER_CENTER_SIZE</a></td> - <td><a href="headfootpage.html#_SIZE">HEADER_RIGHT_SIZE</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#_COLOR">HEADER_LEFT_COLOR</a></td> - <td><a href="headfootpage.html#_COLOR">HEADER_CENTER_COLOR</a></td> - <td><a href="headfootpage.html#_COLOR">HEADER_RIGHT_COLOR</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#_CAPS">HEADER_LEFT_CAPS</a></td> - <td><a href="headfootpage.html#_CAPS">HEADER_CENTER_CAPS</a></td> - <td><a href="headfootpage.html#_CAPS">HEADER_RIGHT_CAPS</a></td> -</tr> -<tr> - <td> </td> - <td><a href="headfootpage.html#HDRFTR_CENTER_PAD">HEADER_CENTER_PAD</a></td> - <td> </td> -</tr> -</table> -<br> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Separator rule</th> - <th>Misc</th> -</tr> -<tr> - <td><a href="headfootpage.html#HDRFTR_RULE">HEADER_RULE</a></td> - <td><a href="docprocessing.html#REVISION_STRING">REVISION_STRING</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#HDRFTR_RULE_GAP">HEADER_RULE_GAP</a></td> - <td><a href="docprocessing.html#DRAFT_STRING">DRAFT_STRING</a></td> -</tr> -<tr> - <td><a href="headfootpage.html#HDRFTR_RULE_COLOR">HEADER_RULE_COLOR</a></td> - <td> </td> -</tr> -</table> - -<a name="46"><h3 align="center">Footers</h3></a> -<p align="center"> -This is the one exception to the "HEADER also means FOOTER" -convention used throughout the documentation. - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <td><a href="headfootpage.html#FOOTER_ON_FIRST_PAGE">FOOTER_ON_FIRST_PAGE</a></td> -</tr> -</table> - -<a name="47"><h3 align="center">Covers and doc covers</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Covers</th> - <th>Doc covers</th> -</tr> -<tr align="center"> - <td><a href="cover.html#COVER">COVER</a></td> - <td><a href="cover.html#COVER">DOC_COVER</a></td> -</tr> -<tr align="center"> - <td><a href="cover.html#ON_OFF">COVERS</a></td> - <td><a href="cover.html#ON_OFF">DOC_COVERS</a></td> -</tr> -</table> - - -<a name="48"><h3 align="center">Customizing covers and doc covers</h3></a> - -<table align="center" valign="center" border=1 cellpadding="8"> -<tr> - <th>Covers</th> - <th>Doc covers</th> -</tr> -<tr> - <td><a href="docprocessing.html#COVERTITLE">COVERTITLE</a></td> - <td><a href="docprocessing.html#COVERTITLE">DOC_COVERTITLE</a></td> -</tr> -<tr> - <td><a href="cover.html#COVER_ADVANCE">COVER_ADVANCE</a></td> - <td><a href="cover.html#COVER_ADVANCE">DOC_COVER_ADVANCE</a></td> -</tr> -<tr> - <td><a href="cover.html#COVER_FAMILY">COVER_FAMILY</a></td> - <td><a href="cover.html#COVER_FAMILY">DOC_COVER_FAMILY</a></td> -</tr> -<tr> - <td><a href="cover.html#COVER_LEAD">COVER_LEAD</a></td> - <td><a href="cover.html#COVER_LEAD">DOC_COVER_LEAD</a></td> -</tr> -</table> - -<a name="49"><h3 align="center">Part-by-part control of covers and doc covers</h3></a> - -<p align="center"> -For part-by-part control of the family, font, size and color, please -see - -<table align="center" valign="center" border=1 cellpadding="8"> - <tr> - <td align="center"><a href="cover.html#COVER_CONTROL">Control macros--changing the defaults for covers and document covers</a></td> - </tr> - <tr> - <td align="center"><a href="cover.html#COVER_CONTROL_INDEX">Index of cover and doc cover control macros</a></td> - </tr> -</table> - -<a name="50"><h3 align="center">Miscellaneous</h3></a> - -<table align="center" valign="center" border=1 cellpadding="10"> -<tr> - <th>Output a blank page</th> - <th>Collate multiple - <br>documents</th> - <th>Get leading back - <br>on track</th> -</tr> -<tr align="center"> - <td><a href="docelement.html#BLANK_PAGE">BLANKPAGE</a></td> - <td><a href="rectoverso.html#COLLATE">COLLATE</a></td> - <td><a href="docprocessing.html#SHIM">SHIM</a></td> -</tr> -</table> - -<br> -<hr> - -<a href="appendices.html#MOREDOC">Next</a> -<a href="typemacdoc.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a></td> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/rectoverso.html b/contrib/groff/contrib/mom/momdoc/rectoverso.html deleted file mode 100644 index 064490379e61..000000000000 --- a/contrib/groff/contrib/mom/momdoc/rectoverso.html +++ /dev/null @@ -1,253 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Document Processing, Recto/verso printing</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="cover.html#TOP">Next</a> -<a href="headfootpage.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"></a> -<a name="INDEX_RECTOVERSO"></a> -<a name="RECTOVERSO"> - <h1 align="center"><u>RECTO/VERSO PRINTING and COLLATING</u></h1> -</a> - -<ul> - <li><a href="#RECTOVERSO_INTRO">Introduction to recto/verso</a> - <ul> - <li><a href="#RECTOVERSO_LIST">Macro list</a> - </ul> - <li><a href="#COLLATE_INTRO">Introduction to collating</a> - <ul> - <li><a href="#COLLATE">The COLLATE macro</a> - </ul> -</ul> - -<a name="RECTOVERSO_INTRO"> - <h2><u>Introduction to recto/verso</u></h2> -</a> - -Recto/verso printing allows you to set up a <strong>mom</strong> -document in such a way that it can be printed on both sides of a -printer sheet and subsequently bound. -<p> -With recto/verso, <strong>mom</strong> automatically takes control -of the following aspects of alternating page layout: -<br> -<ul> - <li>switching left and right margins (if they're not equal) - <li>switching the left and right parts of the default 3-part - <a href="definitions.html#TERMS_HEADER">headers</a> - or - <a href="definitions.html#TERMS_FOOTER">footers</a> - (see the - <a href="headfootpage.html#DESCRIPTION_GENERAL">General description of headers</a>) - <li>switching - <a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_RECTO</a> - and - <a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_VERSO</a> - if user-defined, single string recto/verso headers - or footers are used in place of the default 3-part - headers or footers - <li>switching the page number position (if page numbers are not centred) -</ul> -<p> -It is beyond the scope of this documentation to cover the different -ways in which you can make your printer print on both sides of a sheet. -A simple but effective method for those of us with "dumb" -printers is to open the document (after it's been processed into -PostScript by groff -- see -<a href="using.html#USING_INVOKING">How to invoke groff with mom</a>) -in <strong>gv</strong> (ghostview), -click the "odd pages" icon, then click "Print -Marked". After printing is complete, rearrange the sheets -appropriately, put them back in your printer, and have -<strong>gv</strong> print the "even pages". If you prefer to -work from the command line, check out the man pages for -<strong>pstops</strong> and <strong>psbook</strong>. There are other -programs out there as well to help with two-sided printing. -<p> - -<a name="RECTOVERSO_LIST"> - <h3><u>Recto/verso macros list</u></h3> -</a> - -<ul> - <li><a href="#RECTO_VERSO">RECTO_VERSO</a> - <li><a href="#SWITCH_HDRFTR">SWITCH_HEADERS (also FOOTERS)</a> -</ul> -<p> - -<hr> -<!---RECTO_VERSO---> - -<a name="RECTO_VERSO"> - <h3><u>Recto/verso printing</u></h3> -</a> -Macro: <strong>RECTO_VERSO</strong> - -<p> -If you want <strong>mom</strong> to set up alternating pages for -recto/verso printing, simply invoke <strong>RECTO_VERSO</strong> -with no argument. -<p> -<strong>NOTE:</strong> -<br> -Recto/verso always switches the left and right parts of -<a href="definitions.html#TERMS_HEADER">headers</a> -or -<a href="definitions.html#TERMS_FOOTER">footers</a> -on odd/even pages. However, it only switches the left and right -margins if the margins aren't equal. Consequently, it is your -responsibility to set the appropriate differing left and right -margins with -<a href="typesetting.html#L_MARGIN">L_MARGIN</a> -and -<a href="typesetting.html#R_MARGIN">R_MARGIN</a> -(prior to -<a href="docprocessing.html#START">START</a>) -or with -<a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a> -and -<a href="docprocessing.html#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a> -(before or after <strong>START</strong>). -<p> -Equally, recto/verso only switches the page number position if page -numbers aren't centred, which means you have to set the page -number position with -<a href="headfootpage.html#PAGENUM_POS">PAGENUM_POS</a> -(before or after <strong>START</strong>). -<p> - -<!---SWITCH_HDRFTR---> - -<hr width="66%" align="left"> -<a name="SWITCH_HDRFTR"> - <h3><u>Switch header left part/right part</u></h3> -</a> -Macro: <strong>SWITCH_HEADERS</strong> - -<p> -<strong>SWITCH_HEADERS</strong> switches the location of the -header left string (by default, the author) and the header right -string (by default, the document title). If you don't like -<strong>mom</strong>'s default placement of author and title, use -<strong>SWITCH_HEADERS</strong> to reverse it. -<p> -<strong>SWITCH_HEADERS</strong> can also be useful in conjunction -with -<a href="#RECTO_VERSO">RECTO_VERSO</a>. -The assumption of <strong>RECTO_VERSO</strong> is that the first -page of a document (recto/odd) represents the norm for header-left -and header-right, meaning that the second (and all subsequent even) -page(s) of the document exchange header-left and header-right. -<p> -If <strong>mom</strong>'s behaviour in this matter is not what -you want, simply invoke <strong>SWITCH_HEADERS</strong> on the -first page of your recto/verso document to reverse her default -treatment of header parts. The remainder of your document (with -respect to headers) will come out as you want. -<p> -<strong>NOTE:</strong> Replace <strong>_HEADERS</strong>, above, -with <strong>_FOOTERS</strong> if your document uses footers. -<p> -<hr> - -<!=====================================================================> - -<a name="COLLATE_INTRO"> - <h2><u>Introduction to collating</u></h2> -</a> - -The macro <strong>COLLATE</strong> lets you join documents together. -Primarily, it's a convenience for printing long documents that -comprise several chapters, although it could be used for any -document type (except <strong>LETTER</strong>). -<p> -Personally, I prefer to keep chapters in separate files and print -them out as needed. However, that means keeping track of the correct -starting page number for each chapter, a problem circumvented by the -use of <strong>COLLATE</strong>. -<p> -When collating chapters, you need only put <code>.COLLATE</code> -at the end of a chapter, follow it with any -<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a> -needed for the new chapter, e.g. -<a href="docprocessing.html#CHAPTER">CHAPTER</a> -or -<a href="docprocessing.html#CHAPTER_STRING">CHAPTER_STRING</a> -(have a look at the -<a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>) -make any pertinent style changes to the document (unlikely, but -possible), and re-invoke the -<a href="docprocessing.html#START">START</a> -macro. Your new chapter will begin on a fresh page and behave -as expected. -<p> -<strong>COLLATE</strong> assumes you are collating documents/files -with similar type-style parameters hence there's no need for -<strong>PRINTSTYLE</strong> to appear after <strong>COLLATE</strong>, -although if you're collating documents that were created as separate -files, chances are the <strong>PRINTSTYLE</strong>'s already there. -<p> -<a name="CAUTION"></a> -<strong><u>Two words of caution:</u></strong> -<ol> - <li>Do not collate documents of differing - <strong>PRINTSTYLES</strong> (i.e. don't try to - collate a TYPESET document and TYPEWRITE document). - <li>Use <strong>DOC_FAMILY</strong> instead of - <strong>FAMILY</strong> if, for some reason, you want - to change the family of all the document elements after - <strong>COLLATE</strong>. <strong>FAMILY</strong>, by - itself, will change the family of paragraph text only. -</ol> -<p> - -<!---COLLATE---> - -<hr width="66%" align="left"> -<a name="COLLATE"> - <h3><u>Collate document files</u></h3> -</a> - -Macro: <strong>COLLATE</strong> - -<p> -The most basic (and most likely) collating situation looks like -this: -<p> -<pre> - .COLLATE - .CHAPTER 17 - .START -</pre> - -A slightly more complex version of the same thing, for chapters -that require their own titles, looks like this: -<p> -<pre> - .COLLATE - .CHAPTER_TITLE "Geek Fatigue: Symptoms and Causes" - .START -</pre> - -<strong>NOTE:</strong> See the -<a href="#CAUTION">two words of caution</a>, -above. -<p> - -<hr> -<a href="cover.html#TOP">Next</a> -<a href="headfootpage.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/refer.html b/contrib/groff/contrib/mom/momdoc/refer.html deleted file mode 100644 index bda1e4bca48e..000000000000 --- a/contrib/groff/contrib/mom/momdoc/refer.html +++ /dev/null @@ -1,1482 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Bibliographies and References</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="letters.html#TOP">Next</a> -<a href="cover.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> - -<a name="TOP"></a> -<h1 align="center"> - <a name="REF_INTRO"><u>Bibliographies and references</u></a> -</h1> -<p> -<a href="#INTRO_REF">Introduction to bibliographies and references</a> -<br> -<a href="#TUTORIAL_REF">Tutorial</a> -<ul> - <li><a href="#DB_REF">Creating a refer database</a> - <li><a href="#RCOMMANDS_REF">Required "refer" commands</a> - <li><a href="#ACCESSING_REF">Accessing references</a> - <li><a href="#WHERE_REF">Telling mom where to put references</a> - <li><a href="#BIBLIO_REF">Creating bibliography pages</a> - <li><a href="#INVOKING_REF">Invoking groff with mom and refer</a> -</ul> -<br> -<a href="#MACROS_REF">Index of bibliography and reference macros</a> -<p> - -<a name="INTRO_REF"> - <h2><u>Introduction to bibliographies and references</u></h2> -</a> - -<strong>Mom</strong> provides the ability to automatically format -and generate bibliography pages, as well as footnote or endnote -bibliographic references, or references embedded in text. She -accomplishes this by working in conjunction with a special -<strong>groff</strong> program called "refer". -<p> -<strong>refer</strong> is a <strong>groff</strong> -"pre-processor", which is to say that it scans your files looking -for very specific commands (i.e. lines that begin with a period -[dot], just like macros and document element tags). If the -commands aren't there, <strong>refer</strong> can't do it's job, -and neither can <strong>mom</strong>. The scanning is done -<strong>before</strong> any actual <strong>mom</strong> processing -occurs. -<p> -<strong>refer</strong> is a program that's been around for a long -time. It's powerful and has many, many features. Unfortunately, -the manpage (<kbd>man refer</kbd>), while complete and accurate, is -dense and not a good introduction to <strong>refer</strong>. (It's -a classic manpage Catch-22: the information it contains is most -useful only after you already grasp it.) -<p> -In order to get <strong>mom</strong> users up and running with -<strong>refer</strong>, this section of <strong>mom</strong>'s -documentation focuses exclusively, in a recipe-like manner, on -what you need to know to use <strong>refer</strong> satisfactorily -in conjunction with <strong>mom</strong>. The information and -instructions are <strong><em><u>not</u></em></strong> to be taken as -a manual or tutorial on full <strong>refer</strong> usage. Much has -been left out, on purpose. -<p> -It is tempting to provide two levels of documentation, one for -users familiar with <strong>refer</strong> and one for newcomers -to <strong>groff</strong> and <strong>mom</strong>, but such an -approach may muddy the waters for newcomers. <strong>Mom</strong>'s -allegiance, first and foremost, is to newcomers. If you're already -a <strong>refer</strong> user, the information herein will be useful -for adapting your current <strong>refer</strong> usage to -<strong>mom</strong>'s way of doing things. If you've never used -<strong>refer</strong>, the information is essential, and, in many -cases, may be all you need. -<p> -(For the benefit of old groff-hands: <strong>refer</strong> -support in <strong>mom</strong> is heavily based on the -<strong>refer</strong> module of the ms macros. The choice -was deliberate so that those wishing to play around with -<strong>mom</strong>'s bibliography formatting style would be -tinkering with the familiar.) -<p> -<strong>refer</strong> requires first that you create a -bibliographic database. From the information contained in the -database, <strong>mom</strong> formats and generates bibliographies -and references in MLA (Modern Language Association) style. MLA -style is clean, contemporary and flexible, and is widely used in -the humanities, where the range of material that has to be -referenced can run from simple books to live interviews and film. -<p> -Once you have created your database, you instruct -<strong>refer</strong> (and <strong>mom</strong>) to access entries -in it by supplying keywords from the entries. Depending on what -you've instructed <strong>mom</strong> to do, she will put the -entries--fully and properly formatted with respect to order, punctuation -and italicization--in footnotes, endnotes, or a full bibliography. -<p> -I encourage anyone interested in what MLA style looks like--and, by -extension, how your bibliographies and references will look after -<strong>mom</strong> formats them--to check out -<p> -<pre> - http://www.aresearchguide.com/12biblio.html -</pre> - -or any other website or reference book on MLA style. -<p> -<strong>NOTE:</strong> MLA style requires that second and -subsequent lines of individual references be indented. <strong>Mom</strong> -takes care of this for you with a default indent, which -can be changed with the macro -<a href="#INDENT_REFS">INDENT_REFS</a>. - - -<a name="TUTORIAL_REF"><h2><u>Tutorial</u></h2></a> - -<ol> - <li><a href="#DB_REF">Creating a refer database</a> - <li><a href="#RCOMMANDS_REF">Required "refer" commands</a> - <li><a href="#ACCESSING_REF">Accessing references</a> - <li><a href="#WHERE_REF">Telling mom where to put references</a> - <li><a href="#BIBLIO_REF">Creating bibliography pages</a> - <li><a href="#INVOKING_REF">Invoking groff with mom and refer</a> -</ol> -<p> - -<a name="DB_REF"><h3><u>1. Creating a refer database</u></h3><a> -<p> -The first step in using <strong>refer</strong> with -<strong>mom</strong> is setting up your bibliographic database. -The database is a file containing separate entries for each -reference you want to access from your <strong>mom</strong> files. -The file is <em>not</em> a "mom" file; it is a separate database. -You may set up individual databases for individual documents, or -create a large database that contains all the references you'll -ever need. -<p> -Entries ("records") in the database file are separated from each -other by a single, blank line. The records themselves are composed -of single lines ("fields") with no blank lines between them. Each -field begins with a percent sign and a single letter (the "field -identifier") e.g. %A or %T. The letter identifies what part of a -bibliographic entry the field refers to: Author, Title, Publisher, -Date, etc. After the field identifier comes a single space, -followed by the information appropriate to field. No punctuation -should go at the ends of fields; <strong>mom</strong> adds what's -correct automatically. Do note, however, that author(s) (%A) -requires that you enter the author information exactly as you wish -it to come out (minus the period), including the comma after the -first author's last name. -<p> -Here's a sample database containing two records so you can -visualize what the above paragraph says: -<p> -<pre> -%A Schweitzer, Albert -%A C.M. Widor -%T J.S. Bach -%l Ernest Newman -%V Vol 2 -%C London -%I Adam and Charles Black -%D 1923 -%O 2 vols -%K bach vol 2 - -%A Schaffter, Peter -%T The Schumann Proof -%C Toronto -%I RendezVous Press -%D 2004 -%K schumann schaffter -</pre> - -The order in which you enter fields doesn't matter. -<strong>mom</strong> and <strong>refer</strong> will re-arrange -them in the correct order for you. -<p> -The meaning of the letters follows. There are, with -<strong>refer</strong>, quite a few--all uppercase--which have, over -time, come to be "standard". <strong>Mom</strong> respects these. -However, she adds to the list (mostly the lowercase letters). -<p> -<pre> - %A Author -- additional authors may be entered on separate %A - lines as in first entry of the sample, above; mom - and refer will figure out what to do with multiple - authors according to MLA rules - %T Title -- either the primary title (e.g. of a book), or the - title of an article (e.g. within a book or - journal or magazine) - %B Book title -- the title of a book when %T contains the title - of an article; otherwise, use %T for book - titles - %R Report number -- for technical reports - %J Journal name -- the name of a journal or magazine when %T - contains the title of an article - %E Editor -- additional editors may be entered on separate %E - lines (like authors); mom and refer will figure - out what to do with them according to MLA rules - %e Edition -- the number of name of a specific edition - (e.g. Second, 2nd, Collector's, etc.) - %V Volume -- volume number of a journal or series of books - %N Journal number -- journal or magazine number - %S Series -- series name for books or journals that are part of - a series - %C City -- the city of publication - %I Publisher -- the publisher; %I stands for "Issuer" - %D Publication date - %P Page number(s) -- enter page ranges as, e.g., 22-25 - %G Gov't. - ordering number -- for government publications - %O Other -- additional information or comments you want - to appear at the end of the reference - %K Keywords -- any words that will clear up ambiguities - resulting from database entries that - contain, say, the same author or the - same title - %d original - publication date -- if different from the date - of publication - %a additions -- for books, any additions to the original work, - such as the preface to a new edition or a new - introduction - %t reprint title -- if different from a work's original title - %l translator -- if the translator is not the editor; if more - than one translator, this field should contain - all the names, with appropriate punctuation - %r translator - and editor -- if tr. and ed. are one in the same; - %s site name -- for web sites, the site name - %c content - of site -- for web sites, the content, if unclear - (i.e. advertisement, cartoon, blog) - %o organization -- for web sites, the organization, group or - sponsor of the site - %a access date -- for a website, the date you accessed it - %u URL -- for websites, the full URL of the site -</pre> - -<a name="REF_DISC_HY"></a> -<strong>Tip:</strong> If you have hyphenation turned on in your -document (you probably do), <strong>mom</strong> will hyphenate -your references. This can be a problem because references -typically contain several proper names. Proper names shouldn't be -hyphenated. The solution is to prepend to any proper name in the -database the <strong>groff</strong> -<a href="definitions.html#TERMS_DISCRETIONARYHYPHEN">discretionary hyphen</a> -character, <strong>\%</strong>, like this: -<p> -<pre> - %A Hill, \%Reginald -</pre> - -Alternatively, you can turn hyphenation off entirely in -references with the macro, -<a href="#HYPHENATE_REFS">HYPHENATE_REFS</a> <kbd>OFF</kbd>. -<p> - -<a name="RCOMMANDS_REF"><h3><u>2. Required "refer" commands</u></h3><a> -<p> -Having set up your database, you now need to put some -<strong>refer</strong>-specific commands at the top of your -<strong>mom</strong> file. You cannot skip this step, nor can you -"source" these commands with the <strong>groff</strong> -<a href="definitions.html#TERMS_PRIMITIVES">primitive</a>, -<strong>.so</strong>. They <strong><em>must</em></strong> -appear, exactly as shown, in every file requiring bibliographic -references. -<p> -<strong>refer</strong> commands are introduced with a single -line containing <kbd>.R1</kbd>, and concluded with a single line -containing <kbd>.R2</kbd>. What you put between the <kbd>.R1</kbd> -and <kbd>.R2</kbd> lines are the commands themselves. The commands -should be entered one per line, in lowercase letters, <em><u>with -no initial period (dot)</u></em>. -<p> -Here's an example: -<p> -<pre> - .R1 - no-label-in-text - no-label-in-reference - .R2 -</pre> - -There are an awful lot of <strong>refer</strong> commands. We will -focus only on those required to get <strong>mom</strong> cooperating -with <strong>refer</strong>. If you're interested, study the -<strong>refer</strong> manpage to discover what other commands are -available and how to manipulate them. -<p> -At a minimum, all <strong>mom</strong> files accessing -a bibliographic database must contain the following -<strong>refer</strong> commands, exactly as shown: -<p> -<a name="REFER_BLOCK1"></a> -<pre> -.R1 -no-label-in-text -no-label-in-reference -join-authors ", and " ", " ", and " -database <full path to the database> -.R2 -</pre> - -The first two commands tell <strong>refer</strong> to let -<strong>mom</strong> handle everything associated with footnote -and endnote markers, both in the body of the document, and in the -footnotes/endnotes themselves. -<p> -The third command is required for <strong>mom</strong> to handle -multiple authors in proper, MLA style. -<p> -The last command, <kbd>database</kbd>, assumes you have created -your own database, and do not otherwise have a system-wide -"default" database. "...full path to the database" means the full -path <em>including</em> the database filename, e.g. -/home/user/refer/my_database. -<p> If you're already a <strong>refer</strong> user, feel free to -enter whatever <strong>refer</strong> commands are necessary to -access the database(s) you want. -<p> -With the above <strong>refer</strong> block, you can embed -references directly into the text of your document, or have them -output as footnotes or endnotes. If you want to "collect" -references for later output on a bibliography page, the block must -read: -<p> -<pre> -.R1 -no-label-in-text -no-label-in-reference -join-authors ", and " ", " ", and " -database <full path to the database> -sort -accumulate -.R2 -</pre> - -<a name="ACCESSING_REF"><h3><u>3. Accessing references</u></h3><a> -<p> -References are accessed by putting keywords, all on one line, -between the <strong>refer</strong> commands <strong>.[</strong> and -<strong>.]</strong>. Both of these commands must appear on separate -lines, by themselves, like this: -<p> -<pre> - .[ - keyword(s) - .] -</pre> - -Keywords are any word, or set of words, that identify a database -record (i.e. a reference) unambiguously. (<strong>refer</strong> -doesn't like ambiguity.) -<p> -If, for example, you want to reference a book by Ray Bradbury, -and the database contains only one book by Bradbury, a suitable -keyword would be "Bradbury". If your database contains several -books by Bradbury, say, <em>Fahrenheit 451</em> and <em>The Martian -Chronicles</em>, you could reference them with the keywords, "451" -and "Martian". If, in addition to the two books by Bradbury, you -also had one whose title was <em>The Martian Mission</em>, suitable -keywords to reference <em>The Martian Chronicles</em> might be: -<p> -<pre> - .[ or .[ or .[ - Bradbury Martian Bradbury Chronicles Martian Chronicles - .] .] .] -</pre> - -The database field identifier, %K, lets you create special keywords -for references. This can be very handy if you need both a "short" -and a "long" reference to the same work. The short reference might -be used in footnotes; the long one in a bibliography. Consider the -following: -<p> -<pre> - %A Isherwood, Christopher %A Isherwood - %T Mr. Norris Changes Trains %T Mr. Norris Changes Trains - %d 1935 %K Nor short - %t The Last of Mr. \%Norris - %a Intro. Tom Crawford - %C New York - %I New Directions - %D 1945 - %K Norris - -</pre> - -To access the shorter reference, you'd do -<p> -<pre> - .[ - Nor short - .] -</pre> - -To access the longer one, you'd do -<pre> - .[ - Norris - .] -</pre> - -<a name="WHERE_REF"><h3><u>4. Telling mom where to put references</u></h3><a> -<p> -<strong>Mom</strong> provides several mechanisms for outputting -references where you want. -<p> -<h3>Embedding references in the document body</h3> -<p> -References may be embedded in the document body, surrounded by -parentheses, square brackets, or braces. Use whichever you prefer, -following the recipes below. -<p> -<pre> - Parentheses Square brackets Braces - ----------- --------------- ------ - - .REF( .REF[ .REF{ - .[ .[ .[ - keyword(s) keyword(s) keyword(s) - .] .] .] - .REF) .REF] .REF} -</pre> - -<h3>Footnote or endnote references</h3> -<p> -Most times, you'll probably want references in either footnotes or -endnotes. <strong>Mom</strong> provides a simple mechanism whereby -you can choose which, or even switch back and forth. The primary -tag is -<a href="#REF">REF</a>, which is used like this: -<p> -<pre> - .REF - .[ - keyword(s) - .] - .REF -</pre> - -<strong>REF</strong> collects references and outputs them -where you say with the macros, -<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a> -or -<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>. -Neither -<strong>FOOTNOTE_REFS</strong> nor <strong>ENDNOTE_REFS</strong> -requires an argument. All they do is tell <strong>REF</strong>, -whenever it's invoked, where to put the references. -<p> -A recipe for footnote references looks like this: -<pre> - .FOOTNOTE_REFS - .REF - .[ - keyword(s) - .] - .REF -</pre> - -When <strong>FOOTNOTE_REFS</strong> are enabled, <strong>REF</strong> -behaves identically to -<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>, -so please read the -<a href="docelement.html#FOOTNOTE_NOTE">HYPER IMPORTANT NOTE</a> -found in the document entry for <strong>FOOTNOTE</strong>. -<p> -The reference between the first and second <strong>REF</strong> -will be treated as a footnote, as will all subsequent -<strong>REF</strong> pairs unless you invoke the macro, -<strong>ENDNOTE_REFS</strong>. -<p> -A recipe for endnote references looks like this: -<pre> - .ENDNOTE_REFS - .REF - .[ - keyword(s) - .] - .REF -</pre> - -The reference between the first and second <strong>REF</strong> -will be treated as an endnote, as will all subsequent -<strong>REF</strong> pairs unless you invoke the macro, -<strong>FOOTNOTE_REFS</strong>. -<p> -When <strong>ENDNOTE_REFS</strong> are enabled, <strong>REF</strong> -behaves identically to -<a href="docelement.html#FOOTNOTE">ENDNOTE</a>, -so please read the -<a href="docelement.html#ENDNOTE_NOTE">HYPER IMPORTANT NOTE</a> -found in the document entry for <strong>ENDNOTE</strong>. -<p> -The innate flexibility of this scheme allows you to have both -footnote references and endnote references in the same document. -This would be desirable if, say, you wanted "short" references in -footnotes, and complete references in endnotes. -<p> - -<a name="COLLECTED_REF"><h3>Collected references</h3></a> -<p> -Sometimes, you may want to put references in input text near -sections of text to which they pertain, but not actually want -them output until later (typically, on a bibliography page). -<strong>REF</strong> is used for this, too, but you have to make -sure your <strong>refer</strong> commands block is set up properly. -The recipe for this is: -<p> -<a name="REFER_BLOCK2"></a> -<pre> -.R1 -no-label-in-text -no-label-in-reference -join-authors ", and " ", " ", and " -database <full path to the database> -sort -accumulate -.R2 -</pre> - -After this set up, and provided you don't issue a -<strong>FOOTNOTE_REFS</strong> or <strong>ENDNOTE_REFS</strong> -command, all reference between <strong>REF</strong> pairs will be -collected for later output. -<p> -As a precaution, <strong>mom</strong> will issue a message the -first time you call <strong>.REF</strong> if neither -<strong>FOOTNOTE_REFS</strong> nor <strong>ENDNOTE_REFS</strong> is -in effect. If collected references are what you want, and you have -set up your <strong>.R1 - .R2</strong> block as above, you may -safely ignore the message. -<p> -<strong>LIMITATION:</strong> You cannot combine "collected" -references (plain <strong>REF</strong>) with <strong>REF</strong>s -that are instructed to go into footnotes (with -<strong>FOOTNOTE_REFS</strong>) or endnotes (with -<strong>ENDNOTE_REFS</strong>). This is a limitation imposed by -<strong>refer</strong>, not <strong>mom</strong>. - -<a name="BIBLIO_REF"><h3><u>5. Creating bibliography pages</u></h3><a> -<p> -Bibliography pages are separate pages, like endnotes, on which -complete bibliographies are output. And, like endnotes pages, just -about every element on them can be designed to your specifications -with control macros. (See -<a href="#BIBLIO_CONTROL_MACROS">Control macros for bibliographies</a>.) -A bibliography page that uses <strong>mom</strong>'s defaults -begins with the macro, -<a href="BIBLIOGRAPHY">BIBLIOGRAPHY</a>, -like this: -<p> -<pre> - .BIBLIOGRAPHY -</pre> - -<p> -Following <strong>BIBLIOGRAPHY</strong>, you have three choices of -how to proceed. -<p> -If you have elected to have references collected from within the -body of a document (see above, -<a href="#COLLECTED_REF">Collected references</a>, -for instructions), which assumes you have a <strong>refer</strong> -command block like the one -<a href="#REFER_BLOCK2">here</a> -at the top of your document, you need only do -<p> -<pre> - .BIBLIOGRAPHY - .[ - $LIST$ - .] -</pre> - -If you want to create the bibliography by hand (which may be the -case if you've used footnote and/or endnote references throughout -your document), follow this recipe, which assumes you already have a -<strong>refer</strong> block like the one -<a href="#REFER_BLOCK1">here</a> -at the top of your document: -<p> -<pre> - .BIBLIOGRAPHY - .R1 - sort - accumulate - .R2 - .[ -+ - keyword(s) | - .] | "keyword(s)" are keywords identifying the - .[ | particular bibliographic reference you want - keyword(s) | from your database. Order doesn't matter here; - .] | the refer command, sort, takes care of that. - .[ | - keyword(s) | - .] -+ - .[ - $LIST$ - .] -</pre> - -Your final choice is to output your whole database. Again, -assuming you have a <strong>refer</strong> block like the one -<a href="#REFER_BLOCK1">here</a> at the top of your file, you need -only do: -<p> -<pre> - .BIBLIOGRAPHY - .R1 - bibliography <full path to database> - .R2 -</pre> - -If you haven't put a <strong>refer</strong> block in -your file already, you can put the whole thing after -<strong>BIBLIOGRAPHY</strong>, like this: -<p> -<pre> - .BIBLIOGRAPHY - .R1 - no-label-in-text -+ - no-label-in-reference | These are actually optional - database <full path to the database> -+ - join-authors ", and " ", " ", and " - bibliography <full path to database> - .R2 -</pre> - -Whichever option you choose, <strong>mom</strong> will output a -full bibliography page, complete with a title (BIBLIOGRAPHY by -default, but that can be changed). - -<a name="INVOKING_REF"><h3><u>6. Invoking groff with mom and refer</u></h3><a> -<p> -So, now you've got a document, formatted properly to use -references processed with <strong>refer</strong>, what do you do to -output the document? -<p> -It's simple. Instead of invoking <strong>groff</strong> with just -the -mom option, as explained -<a href="using.html#USING_INVOKING">here</a>, -invoke groff with the -R option as well, like this: -<p> -<pre> - groff -R -mom filename -</pre> - -<hr width="66%"> - -<p> -<a name="MACROS_REF"><h3><u>Index of bibliography and reference macros</u></h3></a> -<ul> - <li><a href="#REF">Tag: REF</a> -- collected, footnote or endnote references tag - <li><a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a> -- REFs go to footnotes - <li><a href="#ENDNOTE_REFS">ENDNOTE_REFS</a> -- REFs go to endnotes - <li><a href="#BRACKET_REFS">REF(</a> -- references embedded in text between parentheses - <li><a href="#BRACKET_REFS">REF[</a> -- references embedded in text between square brackets - <li><a href="#BRACKET_REFS">REF{</a> -- references embedded in text between braces - <li><a href="#INDENT_REFS">INDENT_REFS</a> -- manage the 2nd line indent of references - <li><a href="#HYPHENATE_REFS">HYPHENATE_REFS</a> -- en/disable hyphenation of references - <li><a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a> -- begin a bibliography page - <li><a href="#BIBLIOGRAPHY_TYPE">BIBLIOGRAPHY_TYPE</a> -- plain, or numbered list bibliography - <li><a href="#BIBLIO_CONTROL">Bibliography page style control</a> -</ul> -<p> - -<!---REF---> - -<hr width="66%" align="left"> -<a name="REF"><h3><u>Marking off references for footnotes, endnotes, or collection</u></h3></a> -<p> - -Tag: <strong>REF</strong> -<p> -The macro, <strong>REF</strong>, tells <strong>mom</strong> that -what follows is <strong>refer</strong>-specific, a -keyword-identified reference from a -<strong>refer</strong> database. Depending on whether you've -issued a -<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a> -or -<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a> -instruction, <strong>REF</strong> also tells <strong>mom</strong> -where to place the reference. If <strong>FOOTNOTE_REFS</strong>, -the reference will be formatted and placed in a footnote. If -<strong>ENDNOTE_REFS</strong>, the reference will be collected for -output as an endnote. If you have issued neither instruction, the -reference will be collected for later output, most likely on a -<a href="#BIBLIOGRAPHY">bibliography page</a>. -<p> -Before you use <strong>REF</strong>, you must create a -<strong>refer</strong> block containing <strong>refer</strong> -commands (see -<a href="#RCOMMANDS_REF">Required refer commands</a> -in the tutorial, above). -<p> -<strong>REF</strong> usage always looks like this: -<p> -<pre> - .REF - .[ - keyword(s) - .] - .REF -</pre> - -Notice that <strong>REF</strong> "brackets" the -<strong>refer</strong> call, and never takes an argument. -<p> -What <strong>REF</strong> really is is a convenience. One could, -for example, put a reference in a footnote by doing -<p> -<pre> - .FOOTNOTE - .[ - keyword(s) - .] - .FOOTNOTE OFF -</pre> - -However, if you have a lot of references going into footnotes (or -endnotes), it's much shorter to type <kbd>.REF/.REF</kbd> than -<kbd>.FOOTNOTE/.FOOTNOTE OFF</kbd>. It also helps you -distinguish--visually, in your input file--between footnotes (or -endnotes) which are references, and footnotes (or endnotes) which -are explanatory, or expand on the text. -<p> -<strong>Additional arguments:</strong> If you're using -<strong>REF</strong> to put references in footnotes and your -footnotes need to be indented, you may (indeed, should) pass -<strong>REF</strong> the same arguments used to indent footnotes. -See -<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>. -<p> -<strong>Note:</strong> -When <strong>REF</strong> is used with -<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a>, -it behaves identically to -<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>, -so please read the -<a href="docelement.html#FOOTNOTE_NOTE">HYPER IMPORTANT NOTE</a> -found in the document entry for <strong>FOOTNOTE</strong>. -<p> -When <strong>REF</strong> is used with -<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>, -it behaves identically to -<a href="docelement.html#FOOTNOTE">ENDNOTE</a>, -so please read the -<a href="docelement.html#ENDNOTE_NOTE">HYPER IMPORTANT NOTE</a> -found in the document entry for <strong>ENDNOTE</strong>. - -<br> - -<!---FOOTNOTE_REFS---> - -<hr width="33%" align="left"> -<a name="FOOTNOTE_REFS"><h3><u>Instruct REF to put references in footnotes</u></h3></a> -<p> - -Macro: <strong>FOOTNOTE_REFS</strong> -<p> -<strong>FOOTNOTE_REFS</strong> is an instruction to -<a href="#REF">REF</a>, -saying, "put all subsequent references bracketed by the -<strong>REF</strong> macro into footnotes." You invoke it by -itself, with no argument. -<p> -When <strong>FOOTNOTE_REFS</strong> is in effect, regular -footnotes, (i.e. those introduced with <kbd>.FOOTNOTE</kbd> and -terminated with <kbd>.FOOTNOTE OFF</kbd>) continue to behave -normally. -<p> -You may switch between <strong>FOOTNOTE_REFS</strong> and -<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a> -at any time. -<p> -If you have a lot of footnote references, and are identifying -footnotes by line number rather than by markers in the text, you may -want to enable -<a href="docelement.html#FOOTNOTES_RUN_ON">FOOTNOTES_RUN_ON</a> -in conjunctions with <strong>FOOTNOTE_REFS</strong>. - -<br> - -<!---ENDNOTE_REFS---> - -<hr width="33%" align="left"> -<a name="ENDNOTE_REFS"><h3><u>Instruct REF to put references in endnotes</u></h3></a> -<p> - -Macro: <strong>ENDNOTE_REFS</strong> -<p> -<strong>ENDNOTE_REFS</strong> is an instruction to -<a href="#REF">REF</a>, -saying, "add all subsequent references bracketed by the -<strong>REF</strong> macro to endnotes." You invoke it by -itself, with no argument. -<p> -When <strong>ENDNOTE_REFS</strong> is in effect, -<strong>mom</strong> continues to format regular endnotes, (i.e. -those introduced with <kbd>.ENDNOTE</kbd> and terminated with -<kbd>.ENDNOTE OFF</kbd>) in the normal way. -<p> -You may switch between <strong>ENDNOTE_REFS</strong> and -<a href="#FOOTNOTE_REFS">FOOTNOTE_REFS</a> -at any time. - -<br> - -<!---BRACKET_REFS---> - -<hr width="33%" align="left"> -<a name="BRACKET_REFS"><h3><u>References embedded in text</u></h3></a> -<p> - -Macro pair: <strong>REF(</strong> ... <strong>REF)</strong> -<br> -Macro pair: <strong>REF[</strong> ... <strong>REF]</strong> -<br> -Macro pair: <strong>REF{</strong> ... <strong>REF}</strong> -<p> -You may sometimes want to embed references directly into the body -of your documents, typically, but not always, inside parentheses. -<strong>Mom</strong> makes this possible through the use of the -<strong>REF<bracket type></strong> macros. -<p> -All three macro pairs, above, are invoked the same way, namely by -introducing the reference with the first ("open") macro of -the <strong>REF<bracket type></strong> pair, and -terminating it with the second ("close") -<strong>REF<bracket type></strong> of the pair. For -example -<p> -<pre> - .REF( - .[ - keyword(s) - .] - .REF) -</pre> - -will embed a reference in the body of your document, surrounded by -parentheses. <strong>.REF[</strong> ... <strong>.REF]</strong> will -surround the reference with square brackets. -<strong>.REF{</strong> ... <strong>.REF}</strong> will surround it with -curly braces. -<br> - -<!---INDENT_REFS---> - -<hr width="33%" align="left"> -<a name="INDENT_REFS"><h3><u>Manage the second-line indent of references</u></h3></a> -<p> - -<nobr>Macro: <strong>INDENT_REFS</strong> FOOTNOTE | ENDNOTE | BIBLIO <indent> </nobr> -<br> -<em>*<indent> requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> -<p> -Proper MLA-style references should have their second, and subsequent -lines, if any, indented. Since <strong>mom</strong> formats -references in MLA style, she automatically indents second lines. -By default, the indent for the second line of references, -regardless of whether the references appear in footnotes, endnotes, -or bibliographies, is 1.5 -<a href="definitions.html#TERMS_EM">ems</a> -for -<a href="docprocessing.html#PRINTSTYLE">PRINSTYLE</a> -<strong>TYPESET</strong> -and 2 ems for -<a href="docprocessing.html#PRINTSTYLE">PRINSTYLE</a> -<strong>TYPEWRITE</strong>. -<p> -If you'd like to change the indent for footnotes, endnotes or -bibliographies, just invoke <strong>INDENT_REFS</strong> with a -first argument telling <strong>mom</strong> for which you want the -indent changed, and a second argument saying what you'd like the -indent to be. For example, if you want the second-line indent of -references on a bibliography page to be 3 -<a href="definitions.html#TERMS_PICAS_POINTS">picas</a>, -<p> -<pre> - .INDENT_REFS BIBLIO 3P -</pre> - -is how you'd set it up. -<p> -<strong>Tip:</strong> if you are identifying endnotes by line -number -(<a href="docelement.html#ENDNOTE_MARKER_STYLE">ENDNOTE_MARKER_STYLE</a> <strong>LINE</strong>) -and you have instructed <strong>mom</strong> to put references -bracketed by -<a href="#REF">REF</a> -into endnotes (with -<a href="#ENDNOTE_REFS">ENDNOTE_REFS</a>), -you will probably want to adjust the second-line indent for -references in endnotes, owing to the way <strong>mom</strong> -formats line-numbered endnotes. Study the output of such -documents to see whether an indent adjustment is required. -<br> - -<!---HYPHENATE_REFS---> - -<hr width="33%" align="left"> -<a name="HYPHENATE_REFS"><h3><u>Enable/disable hyphenation of references</u></h3></a> -<p> - -<nobr>Macro: <strong>HYPHENATE_REFS</strong> <toggle></nobr> -<p> -If you have hyphenation turned on for a document (see <a -href="typesetting.html#HY">HY</a>), -and in most cases you probably do, <strong>mom</strong> will -hyphenate references bracketed by the -<a href="#REF">REF</a> -macro. Since references typically contain quite a lot of proper -names, which shouldn't be hyphenated, you may want to disable -hyphenation for references. -<p> -<strong>HYPHENATE_REFS</strong> is a toggle macro; -invoking it by itself will turn automatic hyphenation of -<strong>REF</strong>-bracketed references on (the default). -Invoking it with any other argument (<strong>OFF</strong>, -<strong>NO</strong>, <strong>X</strong>, etc.) will disable -automatic hyphenation for references bracketed by -<strong>REF</strong>. -<p> -An alternative to turning reference hyphenation off is to prepend -to selected proper names in your <strong>refer</strong> database -the <strong>groff</strong> -<a href="definitions.html#TERMS_DISCRETIONARYHYPHEN">discretionary hyphen</a> -character, <strong>\%</strong>. (See -<a href="#REF_DISC_HY">here</a> -in the tutorial for an example.) -<p> -<strong>Note:</strong> references embedded in the body of a document -with -<a href="#BRACKET_REFS">REF</a><strong><bracket type></strong> -are considered part of -<a href="definitions.html#TERMS_RUNNING">running text</a>, -and are hyphenated (or not) according to whether hyphenation -is turned on or off for running text. Therefore, if you want to -disable hyphenation for such references, you must do so -temporarily, with <strong>HY</strong>, like this: -<p> -<pre> - .HY OFF - .REF( - .[ - keyword(s) - .] - .REF) - .HY -</pre> - -Alternatively, sprinkle your database fields liberally with -<strong>\%</strong>. -<br> - -<!---BIBLIOGRAPHY---> - -<hr width="33%" align="left"> -<a name="BIBLIOGRAPHY"><h3><u>Begin a bibliography page</u></h3></a> -<p> - -Macro: <strong>BIBLIOGRAPHY</strong> -<br> -<p> -If you want to append a bibliography to your document, all you need -do is invoke <strong>BIBLIOGRAPHY</strong> at the place you want -it. <strong>BIBLIOGRAPHY</strong> breaks to a new page, prints the -title (BIBLIOGRAPHY by default, but that can be changed), and awaits -<strong>refer</strong> instructions. How to create bibliographies -is covered in the tutorial section, -<a href="#BIBLIO_REF">Creating bibliography pages</a>. -<p> -See the -<a href="#BIBLIO_CONTROL">Bibliography page style control macros</a> -for macros to tweak, design and control the appearance of -bibliography pages. -<br> - -<!---BIBLIOGRAPHY_TYPE---> - -<hr width="33%" align="left"> -<a name="BIBLIOGRAPHY_TYPE"><h3><u>Plain, or numbered list bibliography</u></h3></a> -<p> - -<nobr>Macro: <strong>BIBLIOGRAPHY_TYPE</strong> PLAIN | LIST [ <list separator> ] [ <list prefix> ]</nobr> -<p> -<strong>Mom</strong> offers two styles of bibliography output: plain, -or numbered list style. With <strong>PLAIN</strong>, bibliography -entries are output with no enumerators. With <strong>LIST</strong>, -each entry is numbered. -<p> -Entering <kbd>.BIBLIOGRPHY_TYPE PLAIN</kbd> gives you a plain -bibliography. -<p> -Entering <kbd>.BIBLIOGRAPHY_TYPE LIST</kbd> gives you an enumerated -bibliography. The two optional arguments, -<strong><list separator></strong> and -<strong><list prefix></strong> have the same meaning as -the equivalent arguments to -<a href="docelement.html#LIST">LIST</a> -(i.e. <strong><separator></strong> and <strong><prefix></strong>). -<p> -You may enter <strong>BIBLIOGRAPHY_TYPE</strong> either before or -after <strong>BIBLIOGRAPHY</strong>. It must, however, always come -before the <strong>refer</strong> command to output bibliographies. -(See the tutorial section, -<a href="#BIBLIO_REF">Creating bibliography pages</a>, -for instructions on how to output bibliographies.) -<p> -<strong>Mom</strong>'s default <strong>BIBLIOGRAPHY_TYPE</strong> -is <strong>LIST</strong>, with a period (dot) as the separator, and -no prefix. - -<br> - -<!---BIBLIO_CONTROL---> - -<hr width="66%" align="left"> -<a name="BIBLIO_CONTROL"><h3><u>Bibliography page style control</u></h3></a> - -<p> -<strong>Mom</strong> processes bibliography pages in a manner very -similar to the way she processes endnotes pages. The bibliography -page control macros, therefore, behave in the same way as their -endnotes pages equivalents. -<br> -<ol> - <li><a href="#BIBLIO_GENERAL"><strong>General bibliography page style control</strong></a> - <ul> - <li><a href="#BIBLIO_STYLE">Base family/font/quad for bibliographies</a> - <li><a href="#BIBLIO_PT_SIZE">Base point size for bibliographies</a> - <li><a href="#BIBLIO_LEAD">Leading of bibliographies</a> - <li><a href="#SINGLESPACE_BIBLIO">Singlespace bibliographies (for TYPEWRITE only)</a> - <li><a href="#BIBLIO_NO_COLUMNS">Turning off column mode during bibliography output</a> - <li>Pagination of bibliographies: - <ul> - <li><a href="#BIBLIO_PAGENUM_STYLE">Bibliography pages page numbering style</a> - <li><a href="#BIBLIO_FIRST_PAGENUMBER">Setting the first page number of bibliography pages</a> - <li><a href="#BIBLIO_NO_FIRST_PAGENUM">Omitting a page number on the first page of bibliographies</a> - </ul> - <li><a href="#SUSPEND_PAGINATION">Suspending pagination of bibliographies</a> - </ul> - <li><a href="#BIBLIO_HEADER_CONTROL"><strong>Bibliography pages header/footer control</strong></a> - <ul> - <li><a href="#BIBLIO_MODIFY_HDRFTR">Modifying what goes in the bibliography pages header/footer</a> - <li><a href="#BIBLIO_HDRFTR_CENTER">Enabling a header/footer centre when doctype is CHAPTER</a> - <li><a href="#BIBLIO_ALLOWS_HEADERS">Allow headers on bibliography pages</a> - </ul> - <li><a href="#BIBLIO_MAIN_TITLE"><strong>Bibliography page head (i.e. the title at the top) control</strong></a> - <ul> - <li><a href="#BIBLIO_STRING">Creating/modifying the bibliography page head</a> - <li><a href="#BIBLIO_STRING_CONTROL">Bibliography page head control</a> - <li><a href="#BIBLIO_STRING_UNDERSCORE">Bibliography page head underscoring</a> - <li><a href="#BIBLIO_STRING_CAPS">Bibliography page head capitalization</a> - </ul> - </ul> -</ol> -<hr> - -<a name="BIBLIO_GENERAL"><h2><u>1. General bibliography page style control</u></h2> - -<a name="BIBLIO_STYLE"><h3><u>*Bibliography family/font/quad</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.BIBLIOGRAPHY_FAMILY default = prevailing document family; default is Times Roman -.BIBLIOGRAPHY_FONT default = roman -.BIBLIOGRAPHY_QUAD* default = justified - -*Note: BIBLIOGRAPHY_QUAD must be set to either L or J -</pre> - -<!---BIBLIO_PT_SIZE---> - -<a name="BIBLIO_PT_SIZE"><h3><u>*Bibliography point size</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_PT_SIZE</strong> <base type size of bibliography></nobr> - -<p> -Unlike most other control macros that deal with size of document -elements, <strong>BIBLIOGRAPHY_PT_SIZE</strong> takes as its argument an -absolute value, relative to nothing. Therefore, the argument represents -the size of bibliography type in -<a href="definitions.html#TERMS_PICASPOINTS">points</a>, -unless you append an alternative -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, -<p> -<pre> - .BIBLIOGRAPHY_PT_SIZE 12 -</pre> - -sets the base point size of type on the bibliography page to 12 -points, whereas -<p> -<pre> - .BIBLIOGRAPHY_PT_SIZE .6i -</pre> - -sets the base point size of type on the bibliography page to 1/6 of an -inch. -<p> -The type size set with <strong>BIBLIOGRAPHY_PT_SIZE</strong> is the size of -type used for the text of the bibliographies, and forms the basis from which -the point size of other bibliography page elements is calculated. -<p> -The default for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -is 12.5 points (the same default size used in the body of the document). -<p> - -<!---BIBLIO_LEAD---> - -<a name="BIBLIO_LEAD"><h3><u>*Bibliography lead</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_LEAD</strong> <base leading of bibliographies> [ ADJUST ]</nobr> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>; points is assumed</em> - -<p> -Unlike most other control macros that deal with leading of document -elements, <strong>BIBLIOGRAPHY_LEAD</strong> takes as its argument an -absolute value, relative to nothing. Therefore, the argument represents -the -<a href="definitions.html#TERMS_LEADING">leading</a> -of endnotes in -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -unless you append an alternative -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. -For example, -<p> -<pre> - .BIBLIOGRAPHY_LEAD 14 -</pre> - -sets the base leading of type on the bibliography page to 14 -points, whereas -<p> -<pre> - .BIBLIOGRAPHY_LEAD .5i -</pre> - -sets the base leading of type on the bibliography page to 1/2 inch. -<p> -If you want the leading of bibliographies adjusted to fill the page, -pass <strong>BIBLIOGRAPHY_LEAD</strong> the optional argument -<strong>ADJUST</strong>. (See -<a href="docprocessing.html#DOC_LEAD_ADJUST">DOC_LEAD_ADJUST</a> -for an explanation of leading adjustment.) -<p> -The default for -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPESET</a> -is 14 points, adjusted. -<p> -<strong>NOTE:</strong> Even if you give <strong>mom</strong> a -<strong>DOC_LEAD_ADJUST OFF</strong> command, she will still, by -default, adjust bibliography leading. You MUST enter -<strong>BIBLIOGRAPHY_LEAD <lead></strong> with no -<strong>ADJUST</strong> argument to disable this default behaviour. -<p> - -<!---SINGLESPACE_BIBLIO---> - -<a name="SINGLESPACE_BIBLIO"><h3><u>*Singlespace bibliographies (TYPEWRITE only)</u></h3></a> -<p> -<nobr>Macro: <strong>SINGLESPACE_BIBLIOGRAPHY</strong> <toggle></nobr> - -<p> -If your -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> -is <strong>TYPEWRITE</strong> and you use TYPEWRITE's default -double-spacing, bibliographies are double-spaced. If your document -is single-spaced, bibliographies are single-spaced. -<p> -If, for some reason, you'd prefer that bibliographies be single-spaced -in an otherwise double-spaced document (including double-spaced -<a href="rectoverso.html#COLLATE">collated</a> -documents), invoke <strong>SINGLESPACE_BIBLIOGRAPHY</strong> with -with no argument. -<p> - -<!---BIBLIO_SPACING---> - -<a name="BIBLIO_SPACING"><h3><u>*Adjusting the space between bibliography entries</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_SPACING</strong> <amount of space> </nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -By default, <strong>mom</strong> inserts 1 linespaces between -bibliography entries on bibliography pages. If you'd prefer she -add a different amount of space, instruct her to do so with the -macro, <strong>BIBLIOGRAPHY_SPACING</strong>. Say, for example, -you'd prefer only 1/2 linespace. That would be done with -<p> -<pre> - .BIBLIOGRAPHY_SPACING .5v -</pre> - -As with endnotes pages, owing to the space inserted between bibliography -entries, bibliography pages may have hanging bottom margins. -Unlike endnotes pages, <strong>mom</strong> is sad to report that -there's nothing you can do about this, except a) pray things work -out, or b) set your <strong>BIBLIOGRAPHY_SPACING</strong> to zero. - -<!---BIBLIO_NO_COLUMNS---> - -<a name="BIBLIO_NO_COLUMNS"><h3><u>*Turning off column mode during bibliography output</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_NO_COLUMNS</strong> <toggle></nobr> - -<p> -By default, if your document is -<a href="columns.html#COLUMNS">set in columns</a>, -<strong>mom</strong> sets the bibliographies in columns, too. However, -if your document is set in columns and you'd like the bibliographies not -to be, just invoke <strong>BIBLIOGRAPHY_NO_COLUMNS</strong> with no -argument. The bibliography pages will be set to the full page measure -of your document. -<p> -If you output bibliographies at the end of each document in a -<a href="rectoverso.html#COLLATE">collated</a> -document set in columns, column mode will automatically -be reinstated for each document, even with -<strong>BIBLIOGRAPHY_NO_COLUMNS</strong> turned on. -<p> - -<!---BIBLIO_PAGENUM_STYLE---> - -<a name="BIBLIO_PAGENUM_STYLE"><h3><u>*Bibliography-page page numbering style</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_PAGENUM_STYLE</strong> DIGIT | ROMAN | roman | ALPHA | alpha</nobr> - -<p> -Use this macro to set the page numbering style of bibliography pages. -The arguments are identical to those for -<a href="headfootpage.html#PAGENUM_STYLE">PAGENUM_STYLE</a>. -The default is <strong>digit</strong>. You may want to change it -to, say, <strong>alpha</strong>, which you would do with -<p> -<pre> - .BIBLIOGRAPHY_PAGENUM_STYLE alpha -</pre> - -<!---BIBLIO_FIRST_PAGENUMBER---> - -<a name="BIBLIO_FIRST_PAGENUMBER"><h3><u>*Setting the first page number of bibliography pages</u></h3></a> -<p> -<nobr>Macro: <strong>BIBILOGRAPHY_FIRST_PAGENUMBER</strong> <page # that appears on page 1 of bibliographies></nobr> - -<p> -Use this macro with caution. If all bibliographies for several -<a href="rectoverso.html#COLLATE">collated</a> -documents are to be output at once, i.e. not at the end of each -separate doc, <strong>BIBLIOGRAPHY_FIRST_PAGENUMBER</strong> tells -<strong>mom</strong> what page number to put on the first page of -the bibliography. -<p> -If you set <strong>BIBLIOGRAPHY_FIRST_PAGENUMBER</strong> in collated -documents where the bibliographies are output after each separate doc, -you have to reset every separate document's first page number after -<a href="rectoverso.html#COLLATE">COLLATE</a> -and before -<a href="docprocessing.html#START">START</a>. -<p> - -<!---BIBLIO_NO_FIRST_PAGENUN---> - -<a name="BIBLIO_NO_FIRST_PAGENUM"><h3><u>*Omitting a page number on the first page of bibliographies</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_NO_FIRST_PAGENUM</strong> <toggle></nobr> - -<p> -This macro is for use only if <strong>FOOTERS</strong> are on. It -tells -<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a> -not to print a page number on the first bibliography page. -<strong>Mom</strong>'s default is to print the page number. -<p> - -<!---SUSPEND_PAGINATION---> - -<a name="SUSPEND_PAGINATION"><h3><u>*Suspending pagination of bibliography pages</u></h3></a> -<p> -Macro: <strong>SUSPEND_PAGINATION</strong> -<br> -Macro: <strong>RESTORE_PAGINATION</strong> - -<p> -<strong>SUSPEND_PAGINATION</strong> doesn't take an argument. -Invoked immediately prior to -<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a>, -it turns off pagination for the duration of the bibliography. -<strong>Mom</strong> continues, however to increment page numbers -silently. -<p> -To restore normal document pagination after bibliographies, invoke -<strong>RESTORE_PAGINATION</strong> (again, with no argument) -immediately after you've finished with your bibliography. - -<a name="BIBLIO_HEADER_CONTROL"><h2><u>2. Bibliography page header/footer control</u></h2></a> -<p> -<a name="BIBLIO_MODIFY_HDRFTR"></a> -If you wish to modify what appears in the header/footer that appears -on bibliography pages, make the changes before you invoke -<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a>, -not afterwards. -<p> -Except in the case of -<a href="docprocessing.html#DOCTYPE">DOCTYPE CHAPTER</a>, -<strong>mom</strong> prints the same header or footer used throughout -the document on bibliography pages. Chapters get treated differently -in that, by default, <strong>mom</strong> does not print the -header/footer centre string (normally the chapter number or chapter -title.) In most cases, this is what you want. However, should you -<em>not</em> want <strong>mom</strong> to remove the centre string from -the bibliography pages headers/footers, invoke -<a href="#BIBLIOGRAPHY_HDRFTR_CENTER">BIBLIOGRAPHY_HEADER_CENTER</a> -with no argument. -<p> -An important change you may want to make is to put the word -"Bibliography" in the header/footer centre position. -To do so, do -<p> -<pre> - .HEADER_CENTER "Bibliography" - or - .FOOTER_CENTER "Bibliography" -</pre> - -prior to invoking <strong>.BIBLIOGRAPHY</strong>. If your -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a> -is <kbd>CHAPTER</kbd>, you must also invoke -<a href="#BIBLIOGRAPHY_HDRFTR_CENTER">BIBLIOGRAPHY_HEADER_CENTER</a> -for the <strong>HEADER_CENTER</strong> to appear. -<p> - -<a name="BIBLIO_HDRFTR_CENTER"><h3><u>*Bibliography page header/footer centre string</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_HEADER_CENTER</strong> toggle</nobr> - -<p> -If your -<a href="docprocessing.html#DOCTYPE">DOCTYPE</a> -is <kbd>CHAPTER</kbd> and you want <strong>mom</strong> to include -a centre string in the headers/footers that appear on bibliography pages, -invoke <strong>BIBLIOGRAPHY_HEADER_CENTER</strong> (or -<strong>BIBLIOGRAPHY_FOOTER_CENTER</strong>) with no argument. -<strong>Mom</strong>'s default is NOT to print the centre string. -<p> -If, for some reason, having enabled the header/footer centre string -on bibliography pages, you wish to disable it, invoke the same macro -with any argument (<strong>OFF, QUIT, Q, X</strong>...). -<p> - -<a name="BIBLIO_ALLOWS_HEADERS"><h3><u>*Allow headers on bibliography pages</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_ALLOWS_HEADERS</strong> <none> | ALL</nobr> - -<p> -By default, if <strong>HEADERS</strong> are on, <strong>mom</strong> -prints page headers on all bibliography pages except the first. If you -don't want her to print headers on bibliography pages, do -<p> -<pre> - .BIBLIOGRAPHY_ALLOWS_HEADERS OFF -</pre> - -If you want headers on every page <em>including the first</em>, do -<p> -<pre> - .BIBLIOGRAPHY_ALLOWS_HEADERS ALL -</pre> - -<strong>NOTE:</strong> If <strong>FOOTERS</strong> are on, -<strong>mom</strong> prints footers on every bibliography page. This is -a style convention. In <strong>mom</strong>, there is no such beast -as <strong>BIBLIOGRAPHY_ALLOWS_FOOTERS OFF</strong>. -<p> - -<a name="BIBLIO_MAIN_TITLE"><h2><u>3. Bibliography page first page head (title) control</u></h2> - -<!---BIBLIO_STRING---> - -<a name="BIBLIO_STRING"><h3><u>*Bibliography pages first page head (title) string</u></h3></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_STRING</strong> "<head to print at the top of bibliography pages>"</nobr> - -<p> -By default, <strong>mom</strong> prints the word "BIBLIOGRAPHY" -as a head at the top of the first page of a bibliography. If you want her -to print something else, invoke <strong>BIBLIOGRAPHY_STRING</strong> with -the bibliography page head you want, surrounded by double-quotes. If -you don't want a head at the top of the first bibliography page, invoke -<strong>BIBLIOGRAPHY_STRING</strong> with a blank argument (either two -double-quotes side by side -- <kbd>""</kbd> -- or no argument -at all). -<p> - -<!---BIBLIO_STRING_CONTROL---> - -<a name="BIBLIO_STRING_CONTROL"><h3><u>*Bibliography page first page head (title) control</u></h3></a> -<p> -See -<a href="#CONTROL_MACRO_ARGS">Arguments to the control macros</a>. -<p> -<pre> -.BIBLIOGRAPHY_STRING_FAMILY default = prevailing document family; default is Times Roman -.BIBLIOGRAPHY_STRING_FONT default = bold -.BIBLIOGRAPHY_STRING_SIZE* default = +1 -.BIBLIOGRAPHY_STRING_QUAD default = centred - -*Relative to the size of the bibliography text (set with BIBLIOGRAPHY_PT_SIZE) -</pre> - -<!---BIBLIO_STRING_UNDERSCORE---> - -<a name="BIBLIO_STRING_UNDERSCORE"><h3><u>*Bibliography-page head (title) underscoring</h3></u></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_STRING_UNDERSCORE</strong> toggle | 2</nobr> - -<p> -Invoked by itself, <strong>BIBLIOGRAPHY_STRING_UNDERSCORE</strong> will -underscore the bibliography page head. Invoked with the argument 2 -(i.e. the digit 2), <strong>BIBLIOGRAPHY_STRING_UNDERSCORE</strong> will -double-underscore the head. Invoked with any other argument, the macro -disables underscoring of the head. -<p> -<strong>Mom</strong>'s default is to double-underscore the -head, therefore if you want no underscoring, you must insert -<kbd>.BIBLIOGRAPHY_STRING_UNDERSCORE OFF</kbd> (or <kbd>QUIT, X, NO, -NONE,</kbd> etc.) into your document prior to outputting a -bibliography with -<a href="#BIBLIOGRAPHY">BIBLIOGRAPHY</a>. - -<!---BIBLIO_STRING_CAPS---> - -<a name="BIBLIO_STRING_CAPS"><h3><u>*Bibliography-page head (title) automatic capitalization</h3></u></a> -<p> -<nobr>Macro: <strong>BIBLIOGRAPHY_STRING_CAPS</strong> toggle</nobr> - -<p> -Invoked by itself, <strong>BIBLIOGRAPHY_STRING_CAPS</strong> will -automatically capitalize the bibliography page head. Invoked with any -other argument, the macro disables automatic capitalization of the -head. -<p> -If you're generating a table of contents, you may want the -bibliography page head string in caps, but the toc entry in caps/lower -case. If the argument to -<a href="#BIBLIOGRAPHY_STRING">BIBLIOGRAPHY_STRING</a> -is in caps/lower case and <strong>BIBLIOGRAPHY_STRING_CAPS</strong> is -on, this is exactly what will happen. -<p> -<strong>Mom</strong>'s default is to capitalize the bibliography-page -head string. -<p> - -<br> - -<hr> -<a href="letter.html#TOP">Next</a> -<a href="cover.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/reserved.html b/contrib/groff/contrib/mom/momdoc/reserved.html deleted file mode 100644 index ab8eeb193396..000000000000 --- a/contrib/groff/contrib/mom/momdoc/reserved.html +++ /dev/null @@ -1,2200 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- List of reserved words</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="appendices.html#TOP">Prev</a> <a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"></a> -<a name="RESERVED"> -<h1 align="center"><u>LIST OF RESERVED WORDS</u></h1> -</a> -<p> The following is a list of "reserved" words used by -<strong>mom</strong>. Before changing the name of any macro or -document element tag with -<a href="goodies.html#ALIAS">ALIAS</a>, -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. -<p> -Anyone interested in playing around inside <strong>mom</strong>'s macro -file (om.tmac) will find this list useful as well since it lists all -(I hope) the macros, strings, diversions and number registers -<strong>mom</strong> uses, along with brief descriptions of their -functions. -<p> -<pre> -TYPESETTING -=========== - -+++MACROS+++ - -Page layout ------------ -PAGELENGTH Page width -PAGE Page width/length; left, right, top, bottom margins -PAGEWIDTH Page width -PAPER Letter, legal, or A4 - -B_MARGIN Space to leave at page bottom -L_MARGIN Page offset -R_MARGIN Line length as a function of - pagewidth minus pageoffset minus rightmargin -T_MARGIN Advance lead from page top - -Page control ------------- -DO_B_MARGIN Margin at bottom of page; trap-invoked -DO_T_MARGIN Margin at top of page; trap-invoked - -Style ------ -COLOR Change color of text to predefined value -CONDENSE Set percentage of pseudo-condense (alias of - CONDENSE_OR_EXTEND) -EXTEND Set percentage of pseudo-extend (alias of - CONDENSE_OR_EXTEND) -FAMILY Family -FT Font -FALLBACK_FONT Font to use whenever FAMILY or FT errors occur -LL Line length -LS Leading (.vs) -NEWCOLOR Define a text color -PT_SIZE Point size -SETBOLDER Set degree of emboldening (pseudo-bold) in units -SETSLANT Set degree of pseudo-italic -XCOLOR Initialize a color from rgb.txt - -Autolead --------- -AUTOLEAD Always lead n points more than .PT_SIZE - -Flush ------ -JUSTIFY Justified text -QUAD Filled text, left, right, or centre - -Quad ----- -CENTER Non-filled text, centre -LEFT Non-filled text, left -RIGHT Non-filled text, right - -Hyphenation ------------ -HY Turn hyphenation on/off, or set LINES, MARGIN, SPACE -HY_SET Set LINES, MARGIN, SPACE in a single command - -Advanced style --------------- -KERN Turn automatic kerning on or off -LIGATURES Turn ligatures on or off -SS Sentence space control -WS Word space control - -Line breaks ------------ -BR Alias of br -EL Breaks line but doesn't advance -SPACE Alias of sp -SPREAD Alias of brp - -Ald/rld -------- -ALD Advance lead -RLD Reverse lead - -Indents -------- -HI Indent hang -IB Indent both -IBX Indent both off -IL Indent left -ILX Indent left off -IQ Indents off -IR Indent right -IRX Indent right off -IX Indents off -- deprecated -TI Indent temporary - -Tabs ----- -ST String tab -TAB_SET Tab Set -TN Tab Next -TQ Tab Quit - -MCO Turn on multi-column mode -MCR Return to top of column -MCX Turn off multi-column mode - -Underscore ----------- -UNDERSCORE Underscores words or phrases -UNDERSCORE2 Double underscores words or phrases - -Underline ---------- -UNDERLINE Underlines whole passages (Courier only) - -Smart Quotes ------------- -SMARTQUOTES Turns smart quotes on or off - -Misc + Support --------------- -BR_AT_LINE_KERN Deposit a break before RW and WE -CAPS Convert u/lc to UC -COMMENT Don't print lines till COMMENT OFF (alias of SILENT) -DROPCAP_ADJUST Points (poss. fractional) to add/subtract - from drop caps -DROPCAP Create drop cap -DROPCAP_FAMILY Drop cap family -DROPCAP_FONT Drop cap font -DROPCAP_GUTTER Drop cap gutter -DROPCAP_OFF Support only; restores .in if there was one -ESC_CHAR Alias for .ec -EW Extra white -- loosen overall line kern - (character spacing) -LEADER_CHARACTER Sets leader character -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 overall line kern - (character spacing) -SILENT Don't print lines till SILENT OFF -SIZESPECS Get cap-height, x-height and descender depth for - current point size -TRAP Turn traps off or on - -+++DIVERSIONS+++ - -NO_FLASH Diverts output of SILENT or COMMENT so they don't print -NULL Diverts SIZESPECS in PRINT_HDRFTR so it doesn't screw up - FOOTER and FOOTNOTE processing when FOOTERS are on -PAD_STRING Diverts $PAD_STRING for processing -TYPESIZE Diverts SIZESPECS routine so it doesn't print - -+++NUMBER REGISTERS+++ - -#ABORT_FT_ERRORS Abort on FT errors? (toggle) -#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 -#AUTOLEAD_FACTOR Using FACTOR arg to AUTOLEAD? (toggle) -#AUTO_LEAD Using autolead? (toggle) -#AUTO_LEAD_VALUE Auto leading value -#BL_INDENT Value of left indent when IB -#B_MARGIN Bottom margin -#BOLDER_UNITS # of units to embolden type -#BR_INDENT Value of right indent when IB -c column mark -#CONDENSE Are we in pseudo-condense mode? (toggle) -#CONDENSE_WAS_ON For restoring \*[COND] in DROPCAP -#COND_WIDTH Width of pseudo-condensed type - (pointsize x $COND_PERCENT) -#CURRENT_L_LENGTH Current line length at first invocation of LIST; - like #ORIG_L_LENGTH -#CURRENT_TAB Current tab number -#DC_GUT Width of dropcap gutter -#DEGREES # of degrees slant for pseudo-italic -#ENUMERATOR<n> Number register enumerator for depth <n> in lists -#EXT_WIDTH Width of pseudo-extended type - (pointsize x $EXT_PERCENT) -#EXTEND Are we in pseudo-extend mode? (toggle) -#EXTEND_WAS_ON For restoring \*[EXT] in DROPCAP -#FILL_MODE Are we in fill mode (i.e. \n(.u=1)? (toggle) -#H_INDENT Value of left indent when IH -#HL_INDENT Value of the hang when IH -#HYPHENATE Hyphenation on? (toggle) -#HY_SET Did we manually set hyphenation parameters? - (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<#>_OFFSET -#INDENT_ACTIVE Indicates whether an indent is active (toggle) -#INDENT_BOTH_ACTIVE Toggle -#INDENT_LEFT_ACTIVE Toggle -#INDENT_RIGHT_ACTIVE Toggle -#INDENT_STYLE_BOTH Indicates IB when #INDENT_ACTIVE=1 (toggle) -#INDENT_STYLE_HANG Indicates IH when #INDENT_ACTIVE=1 (toggle) -#INDENT_STYLE_LEFT Indicates IL when #INDENT_ACTIVE=1 (toggle) -#INDENT_STYLE_RIGHT Indicates IR when #INDENT_ACTIVE=1 (toggle) -#INDENT_STYLE_TEMP Indicates IT when #INDENT_ACTIVE=1 (toggle) -#IX_WARN Toggles to 1 the first time IX is user-invoked -#JUSTIFY In EW/RW, when BR_AT_LINE_KERN, whether to - break or break-spread preceding line (toggle) -#KERN Kern on? (toggle) -#LAST_TAB Last tab number set in multi-columns -#LEAD Leading (alias) -#LIGATURES Ligatures on? (toggle) -#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; - if .po used, \n(.o returns page offset -#LOOP #LOOP=1 if a while loop executes; otherwise 0. -#NEXT_DEPTH_BACK Next list level back in lists -#NEXT_TAB Current tab number + 1 (used in TN) -#NEXT_TAB Next tab in an n+1 sequence -#OLD_LEAD Lead in effect prior to changing it with .vs - in .LS -#OPEN_CLOSE Manipulates character " to print `` or '' -#ORIGINAL_L_LENGTH Used in LIST for IB processing; holds \n(.l -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? (toggle) -#PAD_SPACE Size of padding space -#PAGE_LENGTH Page length (alias) -#PAGE_WIDTH Page width -#PP_ACTIVE Are we in the context of a para? (toggle) -#PRINT_FOOTER_ON_PAGE_1 (toggle) -#PSEUDO_FILL Signals that LEFT, RIGHT or CENTER is - in effect (toggled off, i.e. to 0, when - QUAD <arg> or JUSTIFY is called) -#PT_SIZE Point size (fractional) in units (alias) -#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 - (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 -#RESTORE_LN_NUMBER Start linenumbering again with stored - #NEXT_LN? (toggle) -#RESTORE_PT_SIZE Stores current point size (in units) prior - 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 -#RLD RLD value -#SILENT Is silent on? (toggle) -#SIZE_FOR_PAD Used to ensure that the size in effect prior - to PAD is restored at the start of every - iteration of $PAD_STRING -#SLANT_ON Is SLANT on? (toggle) -#SMART_QUOTES Smartquotes on? (toggle) -#SPACE_TO_END Whitespace at end of string passed to PAD -#ST<#>_LENGTH Length of ST<#>; calculated during ST <#> -#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 -#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 -#T_INDENT Value of temporary indent -#T_MARGIN Top margin -#TAB_ACTIVE Are we in a tab? (toggle) -#TAB_NUMBER Tab number -#TAB_OFFSET Tab indent -#TOP Set to 1 in T_MARGIN, DO_T_MARGIN and ALD; tells - the first LS or AUTOLEAD on a page to maintain - the baseline position prior to the LS call -#TOP_BASELINE_ADJ Amount by which to adjust the baseline position - of the first line on the page if an LS or AUTOLEAD - request differs from the lead current at the end of - the previous page -#TOTAL_LISTS Total number of lists in a nest -#USER_SET_L_LENGTH Did user invoke LL? (toggle) -#USER_SET_TITLE_ITEM Did user invoke TOC_TITLE_ENTRY? -u Horiz position of start of underscore - -+++STRINGS+++ - -$COND_PERCENT Percentage by which to pseudo-condense type -$COLOR_SCHEME Color scheme used in NEWCOLOR -$CURRENT_QUAD Restores current quad value in RULE -$CURRENT_TAB Current tab number -$DC_ADJUST +|- # of points to subtract from dropcap -$DC_FAM Drop cap family -$DC_FT Drop cap font -$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 - to PAD is restored at the start of every - iteration of $PAD_STRING -$FONT Font -$FONT_FOR_PAD Used to ensure that the font in effect prior - to PAD is restored at the start of every - iteration of $PAD_STRING -$PAD_MARKER Character to mark off padding in PAD -$PAD_STRING Arg passed to PAD -$QUAD_VALUE Quad value (left, right, centre, justify) -$QUOTE0 Open quotation marks -$QUOTE1 Close quotation marks -$RESTORE_COND Restores the pseudo-condense value in effect - prior to DROPCAP -$RESTORE_EXT Restores the pseudo-extend value in effect - prior to DROPCAP -$RESTORE_FAM Used to restore the family in effect - prior to DROPCAP -$RESTORE_FT Used to restore the font/fontstyle in effect - prior to DROPCAP -$RESTORE_PT_SIZE Used to restore the point size of normal - running text after a dropcap -$RESTORE_QUAD_VALUE Quad value for use in restoring L, R, C, J - (after tabs) -$SAVED_STYLE Current style, if there is one (used in FAMILY) -$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 <#> -$TAB_NUMBER Argument passed to TAB macro to call TAB# macro - created in TAB_SET -$WS_CONSTANT 12; used to hold groff default wordspace -$WS Holds WS value; concatenation of WS_CONSTANT and - WS_VAR -$WS_VAR + or - value to add to $WS_CONSTANT -BLACK Pre-defined black color -black Pre-defined black color -WHITE Pre-defined white color -white Pre-defined white color - -+++ALIASES+++ - -ALIAS als -ALIASN aln -BR br -CENTRE CENTER -COLOUR COLOR -COMMENT SILENT -CONDENSE CONDENSE_OR_EXTEND -EXTEND CONDENSE_OR_EXTEND -FAM FAMILY -FT FONT -HYPHENATE HY -HYPHENATION HY -LIG LIGATURES -LL LINE_LENGTH -MAC de -NEW_PAGE bp -NEWCOLOUR NEWCOLOR -NEWPAGE NEW_PAGE -PAGELENGTH PAGE_LENGTH -PAGE_LENGTH pl -PAGEWIDTH PAGE_WIDTH -SPREAD brp -SP sp -STRING ds -TABSET TAB_SET -TB TAB -TI IT -UNDERSCORE_2 UNDERSCORE2 -XCOLOUR XCOLOR - -+++ALIASES FOR NUMBER REGISTERS+++ - -#DIVER_DEPTH dn -- diversion depth -#DIVER_WIDTH dl -- diversion width -#INDENT .i -- value of current indent -#LEAD .v -- line space (.vs, not .ls) -#L_LENGTH .l -- line length -#NUM_ARGS .$ -- number of arguments passed to a macro -#PAGE_LENGTH .p -- page length -#PT_SIZE .ps -- current point size (fractional) in units -#TRAP_DISTANCE .t -- distance to next trap - -+++INLINE ESCAPES+++ - -BCK Inline backward horizontal movement -BOLDER Pseudo-bold on -BOLDERX Pseudo-bold off -BP Back points (horizontal movement) -BU Back units (inline pairwise kerning) -COND_FOR_SUP Pseudo-condense string for use with superscripts - (called with CONDSUP) -COND_FOR_SUP Pseudo-extend string for use with superscripts (called - with EXTSUP) -COND Pseudo-condense type -CONDX Pseudo-condense off -CONDSUP Pseudo-condensed superscript (using value set with - CONDENSE) -CONDSUPX Pseudo-condensed superscript off -DOWN Inline downward vertical movement -EXT Pseudo-extend type -EXTX Pseudo-extend off -EXTSUP Pseudo-extended superscript -EXTSUPX Pseudo-extended superscript off -FP Forward points (horizontal movement) -FU Forward units (inline pairwise kerning) -FWD Inline forward horizontal movement -LEADER Deposit leader to end of current LL or TAB -RULE Draw a rule to the full measure of the current line or - tab length -SLANT Slant (pseudo-italic on -SLANTX Slant off -ST<#> String tab end marker -ST<#> String tab start marker -SUP Superscript -SUPX Superscript off -UP Inline upward vertical movement - -+++SPECIAL CHARACTERS+++ - -FEET The foot character \(fm -INCH The inch character \(fm\(fm - ------------------------------------------------------------------------- - -DOCUMENT PROCESSING -=================== - -+++MACROS+++ - -Document info -------------- -AUTHOR Author -CHAPTER Chapter number -CHAPTER_TITLE Chapter title -COPYRIGHT Copyright info (covers only) -DOCTITLE Overall doc title (for collated docs) -DRAFT Draft number -MISC Misc info (covers only) -REVISION Revision number -SUBTITLE Doc subtitle -TITLE Doc title - -Covers ------- -COVER What goes on cover -COVERS Whether covers get printed (toggle) -COVER_ADVANCE Set vertical start position of cover material -COVER_LEAD Overall leading of covers -COVERTITLE User-defined cover title string -DOC_COVER What goes on doc cover -DOC_COVERS Whether doc covers get printed -DOC_COVER_ADVANCE Set vertical start position of doc cover material -DOC_COVER_LEAD Overall leading of doc covers -DOC_COVERTITLE User-defined doc cover title string - -Document style --------------- -COPYSTYLE Output style (DRAFT or FINAL) -DEFAULTS In START, sets defaults -DOCTYPE Kind of doc (DEFAULT, CHAPTER, NAMED, LETTER) -PAGENUMBER Page number that appears on 1st page of doc -PAPER Paper size (LETTER, LEGAL, A4) -PRINTSTYLE Print style (TYPEWRITE or TYPESET) -NUMBER_LINES Number output lines in the left margin - -Document tags and macros ------------------------- -ADD_SPACE Special macro to add space to the top of a pages after - page 1; must be preceded by NEWPAGE -BIBLIOGRAPHY Begin a bibliography page -BIBLIOGRAPHY_TYPE LIST or PLAIN -BLOCKQUOTE Block-indented, quoted text -COL_BREAK Breaks and spreads line before invocation; moves to - next column on page or 1st col of next page. An alias - of COL_NEXT. -COL_NEXT Moves to next column on page or 1st col of next page -ENDNOTE Endnote -ENDNOTE_REFS Send REFs to endnotes -ENDNOTES Output endnotes -EPIGRAPH Epigraph before 1st para -FINIS Prints --END-- -FOOTNOTE Collects footnotes in text for printing at bottom of page -FOOTNOTE_REFS Send REFs to footnotes -HEAD Section title (main heads) -HYPHENATE_REFS Turn on/off hyphenation of REF references -ITEM Begin a list item -LINEBREAK Break between narrative sections -LIST Initialize a list -MN Margin note -MN_INIT Initialize parameters for margin notes -NUMBER_LINES Number text lines -NUMBER_BLOCKQUOTE_LINES Number blockquote lines -NUMBER_QUOTE_LINES Number quote lines -PAD_LIST_DIGITS Leave space for two-numeral digit enumerators - in a list -PARAHEAD Paragraph head -PP Paragraph -QUOTE Poetic or line for line quotes -REF Wrapper around FOOTNOTE or ENDNOTE, depending - on FOOTNOTE_REFS or ENDNOTE_REFS -REF( Begin embedded reference, parens -REF) End embedded reference, parens -REF[ Begin embedded reference, square brackets -REF] End embedded reference, square brackets -REF{ Begin embedded reference, braces -REF} End embedded reference, braces -REF_INDENT Amount of 2nd line indent of references for - footnote, endnote or bibliography refs -RESET_LIST Reset digit or alpha list enumerator -SHIFT_LIST Move a list over to the right -START Sets doc defaults and prints info collected - with doc info macros -SUBHEAD Subheads - -Headers/footers ---------------- -BREAK_QUOTE Manually break a footnoted quote that crosses - a page/column -DO_FOOTER Prints footer (after footnote processing, if any) -FOOTER_ON_FIRST_PAGE Print footer on first page? (toggle) -FOOTER Trap-invoked footer macro -HEADER Trap-invoked header macro -PAGINATE Turns page numbering on or off (doc default=on) -PAGINATE_TOC Turns pagination of toc on or off (default=on) -RECTO_VERSO Enables switch HEADER_LEFT and HEADER_RIGHT on - alternate pages - -Alter doc "look" and/or change defaults ---------------------------------------- -***General*** - -ALWAYS_FULLSPACE_QUOTES Fullspace quotes instead of default - 1/2 spacing them. -ATTRIBUTE_STRING What to print before author (default is "by") -CHAPTER_STRING What to print whenever the word "chapter" - is required -COLUMNS Print in columns -DOC_FAMILY Overall doc family -DOCHEADER Print doc header? -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 -DOC_LEAD_ADJUST Adjust #DOC_LEAD to fill page to #B_MARGIN -DOC_LEAD Overall doc leading -DOC_LEFT_MARGIN Doc left margin -DOC_LINE_LENGTH Doc line length -DOC_PT_SIZE Overall doc point size -DOC_RIGHT_MARGIN Doc right margin -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 -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 centre) -REVISION_STRING What to print whenever the word "revision" - is required - -***Covers*** - -COVER_ADVANCE Vertical place on page to start outputting - cover material -COVER_LEAD Lead in/decrease for cover pages -DOC_COVER_ADVANCE Vertical place on page to start outputting - doc cover material -DOC_COVER_LEAD Lead in/decrease for doc cover pages - -***Epigraphs and finis*** - -EPIGRAPH_AUTOLEAD Autolead value for epigraphs -EPIGRAPH_INDENT Value by which to multiply PP_INDENT for - block epigraphs -FINIS_STRING What to print when FINIS is invoked - -***Footnotes*** - -FOOTNOTE_AUTOLEAD Autolead to use in footnotes -FOOTNOTE_LINENUMBER_BRACKETS Brackets for footnote linenumbers -FOOTNOTE_LINENUMBER_SEPARATOR Separator for footnote linenumbers -FOOTNOTE_MARKERS Turns footnote markers on or off -FOOTNOTE_MARKER_STYLE STAR or NUMBER; default=STAR -FOOTNOTE_RULE_ADJ # of points to raise footnote rule from its - baseline -FOOTNOTE_RULE_LENGTH Length of footnote separator rule -FOOTNOTE_RULE Turns printing of fn separator rule on or off; - default is on -FOOTNOTE_SPACING Post footnote item spacing -FOOTNOTES_RUN_ON Run footnotes on (line numbering mode only) -RESET_FOOTNOTE_NUMBER Reset fn# to 1, or, if arg PAGE, reset - automatically to 1 on every page -RUNON_WARNING Utility macro; warns if FOOTNOTES_RUN_ON - was called when fn marker style is STAR or NUMBER - -***Endnotes*** - -ENDNOTE_LEAD Leading for endnotes page -ENDNOTE_LINENUMBER_BRACKETS Brackets around line numbers identifying - endnotes and text -ENDNOTE_LINENUMBER_GAP Amount of space to leave between line -ENDNOTE_LINENUMBER_SEPARATOR Separator between line numbers identifying - endnotes and the endnote item text - endnotes and text -ENDNOTE_MARKER_STYLE NUMBER or LINE -ENDNOTE_NUMBERS_ALIGN_RIGHT Hang endnote numbers and align right -ENDNOTE_NUMBERS_ALIGN_LEFT Don't hang endnote numbers and align left -ENDNOTE_PARA_INDENT First line indent of paras in multi-para - endnotes -ENDNOTE_PARA_SPACE Whether to space paras in multi-para endnotes -ENDNOTE_PT_SIZE Base point size for endnotes page -ENDNOTE_STRING Endnotes page head -ENDNOTE_STRING_CAPS Capitalize the endnotes string -ENDNOTE_STRING_UNDERSCORE Underscoring of endnotes page head -ENDNOTE_TITLE Endnotes identifying title -ENDNOTE_TITLE_SPACE Distance from top of page to endnotest title -ENDNOTE_TITLE_UNDERSCORE Underscoring of endnotes identifying title -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 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. -ENDNOTES_PAGENUM_STYLE Set numbering style for endnotes pages page - numbers -SINGLESPACE_ENDNOTES Single space TYPEWRITE endnotes - -***Bibliographies*** - -BIBLIOGRAPHY_ALLOWS_HEADERS Allow headers on bib pages -BIBLIOGRAPHY_FIRST_PAGENUMBER Starting page number for bibliographies -BIBLIOGRAPHY_HDRFTR_CENTER Header/footer center string for bib pages -BIBLIOGRAPHY_LEAD Base lead of bib pages -BIBLIOGRAPHY_NO_COLUMNS De-columnize bibliographies -BIBLIOGRAPHY_NO_FIRST_PAGENUM Don't print a page number on the first - page of bibliographies -BIBLIOGRAPHY_PAGENUM_STYLE Format for bib pages page numbering -BIBLIOGRAPHY_PT_SIZE Base point size for bib pages -BIBLIOGRAPHY_SPACING Post bib entry space -BIBLIOGRAPHY_STRING String for bib title -BIBLIOGRAPHY_STRING_CAPS Capitalize bib title string -BIBLIOGRAPHY_STRING_UNDERSCORE Underscore bib title string -SINGLESPACE_BIBLIOGRAPHY Singlespace bibs if PRINTSTYLE TYPEWRITE - -***Headers and footers*** - -FOOTER_COLOR Footer color -FOOTER_GAP Distance between running text and footer -FOOTER_MARGIN Distance from footer to bottom of page -FOOTERS Turns footers on or off -HDRFTR_CENTER String to go in centre part of header/footer; - default doctype -HDRFTR_CENTER_CAPS Centre part of header/footer in caps? (toggle) -HDRFTR_CENTER_PAD Pad hdrftr CENTER left or right by specified - amount -HDRFTR_GAP Distance from header/footer to running text -HDRFTR_LEFT_CAPS Left part of header/footer in caps? (toggle) -HDRFTR_LEFT String to go in left part of header/footer; - default is AUTHOR_1 -HDRFTR_LEFT The header/footer left string -HDRFTR_MARGIN Distance from top of page to header -HDRFTR_PLAIN Header/footer fam/ft/ps all same as running - text -HDRFTR_RECTO User-defined, single string recto - header/footer -HDRFTR_RIGHT_CAPS Right part of header/footer in caps? (toggle) -HDRFTR_RIGHT The header/footer right string -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 - When invoked internally, prints the rule. -HDRFTR_VERSO User-defined, single string verso - header/footer -HEADERS Turns headers on or off -SWITCH_HDRFTR Switch HDRFTR_LEFT and HDRFTR_RIGHT - -***Page numbering*** - -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/centred -PAGENUM_SIZE How much to in/decrease point size of page - numbers* -PAGENUM_STYLE Page # in roman, Arabic, or alphabetic -RESTORE_PAGINATION Restore pagination after outputting non- - paginated endnotes. -SUSPEND_PAGINATION Suspend pagination prior to outputting - endnotes - -***Heads*** - -HEADER_GAP Space between header and running text -HEADER_MARGIN Space from top of page to header -HEAD_CAPS Print section titles in caps? (toggle) -HEAD_SPACE Give HEADs 2 line-spaces before. If OFF, - only 1. Default is on. -HEAD_UNDERLINE Underline section titles? (toggle) -NUMBER_HEADS Print head numbers -RESET_HEAD_NUMBER Reset head number - -***Subheads*** - -NUMBER_SUBHEADS Print subhead numbers -RESET_SUBHEAD_NUMBER Reset subhead number - -***Para heads*** - -NUMBER_PARAHEADS Print parahead numbers -PARAHEAD_INDENT How much to indent paraheads -RESET_PARAHEAD_NUMBER Reset parahead number - -***Paragraphs*** - -INDENT_FIRST_PARAS Indent 1st paras? (doc default=not indented) -PARA_INDENT Size of para indent -PARA_SPACE Put a line space before paras -PP_FONT Overall doc font - -***Quotes*** - -Q_FITS Utility macro for DO_QUOTE -Q_NOFIT Utility macro for DO_QUOTE -QUOTE_AUTOLEAD Leading of (block)quotes - -***Line/section breaks*** - -LINEBREAK_CHAR Linebreak character, iterations and positioning - -***Printstyle TYPEWRITE*** - -ITALIC_MEANS_ITALIC For TYPEWRITE; render .FT I in italic. -SLANT_MEANS_SLANT In TYPEWRITE, render \*[SLANT] as slant -UNDERLINE_ITALIC In TYPEWRITE, render .FT I as underlined -UNDERLINE_QUOTES In TYPEWRITE, underline quotes? (toggle) -UNDERLINE_SLANT In TYPEWRITE, render \*[SLANT] as underlined - -***Table of contents*** - -TOC_APPENDS_AUTHORS Appends author(s) to toc doc title entries -TOC_LEAD Leading of toc pages -TOC_PADDING Number of placeholders for toc entries page - numbers -TOC_HEAD_INDENT Indent of toc head entries -TOC_HEADER_STRING TOC header string (default=Contents) -TOC_PAGENUM_STYLE Page numbering style (hdrftr nums) of - toc pages -TOC_RV_SWITCH Switch L/R margins of toc pages -TOC_PARAHEAD_INDENT Indent of toc parahead entries -TOC_SUBHEAD_INDENT Indent of toc subhead entries -TOC_TITLE_ENTRY User supplied toc doc title entry -TOC_TITLE_INDENT Indent of toc doc title entries - -***Aliases for headers and footers*** -HEADER_SIZE HDRFTR_SIZE -HEADER_RIGHT_PS HDRFTR_RIGHT_SIZE -HEADER_RIGHT_SIZE HDRFTR_RIGHT_SIZE -HEADER_RIGHT_FAM HDRFTR_RIGHT_FAMILY -HEADER_RIGHT_FAMILY HDRFTR_RIGHT_FAMILY -HEADER_RIGHT_FONT HDRFTR_RIGHT_FONT -HEADER_RIGHT_FT HDRFTR_RIGHT_FONT -HEADER_LEFT_PS HDRFTR_LEFT_SIZE -HEADER_LEFT_SIZE HDRFTR_LEFT_SIZE -HEADER_LEFT_FAM HDRFTR_LEFT_FAMILY -HEADER_LEFT_FAMILY HDRFTR_LEFT_FAMILY -HEADER_LEFT_FONT HDRFTR_LEFT_FONT -HEADER_LEFT_FT HDRFTR_LEFT_FONT -HEADER_CENTRE_PS HDRFTR_CENTER_SIZE -HEADER_CENTRE_SIZE HDRFTR_CENTER_SIZE -HEADER_FAM HDRFTR_FAMILY -HEADER_FAMILY HDRFTR_FAMILY -HEADER_CENTRE_FAM HDRFTR_CENTER_FAMILY -HEADER_CENTRE_FAMILY HDRFTR_CENTER_FAMILY -HEADER_CENTRE_FONT HDRFTR_CENTER_FONT -HEADER_CENTRE_FT HDRFTR_CENTER_FONT -HEADER_CENTER_PS HDRFTR_CENTER_SIZE -HEADER_CENTER_SIZE HDRFTR_CENTER_SIZE -HEADER_CENTER_FAM HDRFTR_CENTER_FAMILY -HEADER_CENTER_FAMILY HDRFTR_CENTER_FAMILY -HEADER_CENTER_FONT HDRFTR_CENTER_FONT -HEADER_CENTER_FT HDRFTR_CENTER_FONT -FOOTER_SIZE HDRFTR_SIZE -FOOTER_RIGHT_PS HDRFTR_RIGHT_SIZE -FOOTER_RIGHT_SIZE HDRFTR_RIGHT_SIZE -FOOTER_RIGHT_FAM HDRFTR_RIGHT_FAMILY -FOOTER_RIGHT_FAMILY HDRFTR_RIGHT_FAMILY -FOOTER_RIGHT_FONT HDRFTR_RIGHT_FONT -FOOTER_RIGHT_FT HDRFTR_RIGHT_FONT -FOOTER_LEFT_PS HDRFTR_LEFT_SIZE -FOOTER_LEFT_SIZE HDRFTR_LEFT_SIZE -FOOTER_LEFT_FAM HDRFTR_LEFT_FAMILY -FOOTER_LEFT_FAMILY HDRFTR_LEFT_FAMILY -FOOTER_LEFT_FONT HDRFTR_LEFT_FONT -FOOTER_LEFT_FT HDRFTR_LEFT_FONT -FOOTER_CENTRE_PS HDRFTR_CENTER_SIZE -FOOTER_CENTRE_SIZE HDRFTR_CENTER_SIZE -FOOTER_FAM HDRFTR_FAMILY -FOOTER_FAMILY HDRFTR_FAMILY -FOOTER_CENTRE_FAM HDRFTR_CENTER_FAMILY -FOOTER_CENTRE_FAMILY HDRFTR_CENTER_FAMILY -FOOTER_CENTRE_FT HDRFTR_CENTER_FONT -FOOTER_CENTER_PS HDRFTR_CENTER_SIZE -FOOTER_CENTER_SIZE HDRFTR_CENTER_SIZE -FOOTER_CENTER_FAM HDRFTR_CENTER_FAMILY -FOOTER_CENTER_FAMILY HDRFTR_CENTER_FAMILY -FOOTER_CENTER_FONT HDRFTR_CENTER_FONT -FOOTER_CENTER_FT HDRFTR_CENTER_FONT - - *relative to #DOC_PT_SIZE - **relative to overall ps of headers as set by HEADER_SIZE - ***relative to overall ps of endnotes pages -****relative to overall ps of toc pages - -+++LETTER MACROS+++ - -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 - -+++SUPPORT+++ - -CHECK_INDENT Applies indents to doc elements inside ev's - (head, subhead, etc) -CLEANUP_DEFAULTS Removes selected rregisters and strings - from DEFAULTS after START -DO_COVER Formats and outputs covers -DO_DOC_COVER Formats and outputs doc covers -D0_QUOTE Outputs quotes with space adjustments before - and after -DIVER_FN_1_PRE -+ -DIVER_FN_2_PRE | Manage footnotes called inside diversions - | QUOTE, BLOCKQUOTE and EPIGRAPH -DIVER_FN_2_POST -+ -DIVERT_FN_LEFTOVER Diverts excess fn stored in FN_OVERFLOW into - FOOTNOTE -DIVERT_FN_OVERFLOW Diverts excess fn stored in FN_OVERFLOW when - FN_DEFER into FOOTNOTE -DO_EPIGRAPH Outputs epigraphs with space adjustments before - and after -FN_OVERFLOW_TRAP Fixed at B_MARGIN; if footnotes run longer than - B_MARGIN, diverts excess into FN_OVERFLOW -GET_ROMAN_INDENT Figures out amount of space to reserve - for roman numerals in lists -HDRFTR_RULE Prints rule under header or over footer -MN_OVERFLOW_TRAP Trap-invoked macro to collect margin note - overflows -PRINT_FOOTNOTE_RULE An alias of PRINT_FOOTNOTE; prints footnote - separator rule -PRINT_HDRFTR Prints header/footer (trap invoked) -PRINT_PAGE_NUMBER Invoked in HEADER or FOOTER -PRINT_USERDEF_HDRFTR Prints user defined, single string recto/verso - header/footer -PROCESS_SHIM Calculates #SHIM when \n(.d is lower on the - page than #T_MARGIN -PROCESS_FN_IN_DIVER Processes footnotes gathered in a diversion (called - at page/column breaks) -REMOVE_INDENT Removes indents set with CHECK_INDENT -Q_FITS Handles spacing of quotes when quote fits on the page -Q_NOFIT Handles spacing of quotes when quote does not fit on - the page -QUIT_LISTS Exit lists cleanly and completely -SET_LIST_INDENT Restore indent of a prev. level of list -SHIM Advance to next "legal" baseline -TERMINATE .em that ensures deferred footnotes get output - on final pages -TRAPS Sets hdrftr traps; optionally adjusts #DOC_LEAD - to fill page to #B_MARGIN -TYPEWRITER Sets family (C), font (R) and point size (12) - for PRINTSTYLE TYPEWRITE -VFP_CHECK Trap-sprung macro 1 legal baseline higher than - where FOOTER will be sprung; checks whether - there is, in fact, just enough room for - another line of running text to be added to - the page without jamming footnotes too close - to running text. - -+++DIVERSIONS+++ - -B_QUOTE Block (indented) quote text -CLOSING Closing (i.e. Yours truly,) -EPI_TEXT Epigraph text -END_NOTES Endnotes text -FN_IN_DIVER Footnotes gathered from inside a diversion -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 -RUNON_FOOTNOTES Special diversion for run-on footnotes -RUNON_FN_IN_DIVER Special diversion for run-on footnotes inside - (block)quotes -TOC_ENTRIES TOC entries - -+++NUMBER REGISTERS+++ - -#1ST_FN_VP_ADJ An adjustment factor that ensures VFP - doesn't fall below what should be the - correct last printed line of running - text -#ADD_BREAK Instructs FOOTNOTEs and ENDNOTEs to add - a break afer processing a footnote if - we're not in fill mode -#ADJ_BIB_LEAD Adjust BIB_LEAD? (toggle) -#ADJ_DOC_LEAD Adjust DOC_LEAD? (toggle) -#ADJ_TOC_LEAD Adjust TOC_LEAD? (toggle) -#ARG_NUM Keeps track of number of args passed to a - macro -#ARGS_TO_LIST Was LIST passed some args? (toggle) -#AUTHOR_[n] Strings passed to AUTHOR -#AUTHOR_LINES # of lines of authors in doc header; odd=0 - even=1 -#AUTHOR_NUM Keeps track of user-defined string - AUTHOR_<#> in AUTHOR -#AUTHORS Equals final value of AUTHOR_NUM; - used for authors in doc header -#BASELINE_MARK In PP, the vertical position on the page - (when paragraph spacing is on) after a - quote or blockquote has been output and - the post-quote space has been added. -#BMARG Position of unvarying bottom margin - during doc processing; required for - collecting footnotes inside diversions -#BIB_ALLOWS_HEADERS Put headers on bib pages? (toggle) -#BIB_ALLOWS_HEADERS_ALL Put headers on all bib pages? (toggle) -#BIB_FIRST_PAGE Tells PRINT_PAGE_NUMBER about bibliography - first page number -#BIB_FIRST_PN Starting pagenumber for bibliographies -#BIB_HDRFTR_CENTER Put a center string in bib page headers? - (toggle) -#BIB_LEAD Bibliography lead, expressed in points -#BIB_LIST Output bibs in list style? (toggle) -#BIB_NO_COLS De-columnize bibliographies? (toggle) -#BIB_NO_FIRST_PN Put a page number on the first page of - bibliographies? (toggle) -#BIB_SINGLESPACE Single-space TYPEWRITE bibliographies? (toggle) -#BIB_SPACE Post item space for bibliography pages -#BIB_STRING_CAPS Capitalize bib title? (toggle) -#BIB_STRING_UNDERSCORE Underscore bib title? 0=no; 1=yes; 2=double -#BIB_PS Base point size for bibliography pages expressed - in points -#BIBLIOGRAPHY Are we doing a bib page? (toggle) -#BQ_AUTOLEAD Register created by BLOCKQUOTE_AUTOLEAD -#BQ_LEAD Leading of blockquotes -#BQUOTE_COLOR Colored blockquotes? (toggle) -#BQUOTE_LN Number blockquotes? (toggle) -#BROKEN_QUOTE Did we invoke BREAK_QUOTE? (toggle) -#CAP_HEIGHT_ADJUST Tallest cap height of strings LEFT, CENTER, - and RIGHT in footers; used to place rule - over footer -#CAPS_WAS_ON In HDRFTR, to re-enable running text CAPS - (toggle) -#CENTER_CAP_HEIGHT Cap height of CENTER string in - headers/footers -#CHAPTER_TITLE_COLOR Colored chapter title? (toggle) -#CLOSING Is there a closing (for letters)? 1=yes -#COL_L_LENGTH Line length of columns -#COL_NEXT Was COL_NEXT invoked? (toggle; used in - FOOTER) -#COL_NUM Incrementing counter of num of columns; - for use with #COL_<#>_L_MARGIN -#COL_TOTAL #COL_L_LENGTH + #GUTTER; used to calculate - #COL_<#>_L_MARGIN -#COLLATED_DOC If 1, instructs TOC that this is a collated - doc -#COLUMNS Are columns turned on? (toggle) -#COLUMNS_WERE_ON Stores columnar state prior to outputting - endnotes in no-columns mode -#COPY_STYLE 1=draft, 2=final -#COUNTERS_RESET Tells FOOTNOTE if fn counters have - been reset because of footnotes gathered - inside a diversion -#COVER_COLOR Colored cover? (toggle) -#COVER_START_POS Vertical starting pos of cover material -#COVER_TITLE_COLOR Colored cover title? (toggle) -#COVER_SUBTITLE_COLOR Colored cover subtitle? (toggle) -#COVER_ATTRIBUTE_COLOR Colored cover attribution string? (toggle) -#COVER_AUTHOR_COLOR Colored cover author(s)? (toggle) -#COVER_DOCTYPE_COLOR Colored cover doctype? (toggle) -#COVER_COPYRIGHT_COLOR Colored cover copyright line? (toggle) -#COVER_MISC_COLOR Colored cover misc line? (toggle) -#CURRENT_V_POS \n(.d ; used in SHIM -#COVERS Print covers? (toggle) -#DATE_FIRST Was .DATE invoked as first letter - header after .START? (toggle) -dc "mark" register for document columns -#DIVER_FN Register that tells FOOTNOTE whether to - "move" or "defer" a footnote collected - inside a diversion -#DEFER_BIB_SPACING Tells DEFAULTS to do BIBLIOGRAPHY_SPACING - if it was called before START -#DEFER_PAGINATION Tells COLLATE to restore pagination (from - RESTORE_PAGINATION -#DELAY_SHIM Instructs DO_QUOTE to delay SHIM when quote - falls at the top of a page -#DEPTH_1 Doc header depth with lead adjustment - (#DOCHEADER_LINES * #DOCHEADER_LEAD) -#DEPTH_2 Doc header depth without lead adjustment - (#DOCHEADER_LINES * #DOC_LEAD) -#DEPTH_TO_B_MARGIN Page length minus #B_MARGIN -#DIVERSIONS_HY_MARGIN A reasonable value for .hym applied to - QUOTE, BLOCKQUOTE and EPIGRAPH to - avoid excessive hyphenation if these are - set quad left -#DIVERTED Set to 1 in DIVERT_FN_OVERFLOW; reset - subsequently in FOOTNOTES when called by - PROCESS_FN_LEFTOVER to 2 or 3 for use by - FOOTER to decide whether to in/decrease - #FN_DEPTH when outputting footnotes -#DOCHEADER_ADVANCE Distance from top-of-page to baseline of - docheader -#DOCHEADER_COLOR Colored docheader? (toggle) -#DOCHEADER_LEAD Lead of doc header - (#DOC_LEAD + #DOCHEADER_LEAD_ADJ) -#DOCHEADER_SPACE_ADJ Lead difference between #DEPTH_1 and - #DEPTH_2 -#DOC_COVER_START_POS Vertical starting pos of doc cover material -#DOC_COVERS Print doc covers? (toggle) -#DOC_COVER_COLOR Colored cover? (toggle) -#DOC_COVER_START_POS Vertical starting pos of cover material -#DOC_COVER_TITLE_COLOR Colored doc cover title? (toggle) -#DOC_COVER_SUBTITLE_COLOR Colored doc cover subtitle? (toggle) -#DOC_COVER_ATTRIBUTE_COLOR Colored doc cover attribution string? (toggle) -#DOC_COVER_AUTHOR_COLOR Colored doc cover author(s)? (toggle) -#DOC_COVER_DOCTYPE_COLOR Colored doc cover doctype? (toggle) -#DOC_COVER_COPYRIGHT_COLOR Colored doc cover copyright line? (toggle) -#DOC_COVER_MISC_COLOR Colored doc cover misc line? (toggle) -#DOC_HEADER Whether to print a doc header (toggle) -#DOC_LEAD_ADJ Incrementing value (in units) added to - #DOC_LEAD to fill page to #B_MARGIN -#DOC_LEAD Leading used in body -#DOC_L_LENGTH Global L_LENGTH -#DOC_L_MARGIN Global L_MARGIN -#DOC_LR_MARGIN_TMP In HEADER, if RECTO_VERSO=1, temporarily - holds DOC_L_MARGIN during page margin switch -#DOC_PT_SIZE Point size used for body text -#DOC_R_MARGIN Global R_MARGIN -#DOCS Always 1 after START -#DOC_TYPE 1=default, 2=chapter, 3=named, 4=letter -#DOING_COVER Tells PRINT_AUTHORS that it's printing - the authors for a cover or doc cover -#DONE_ONCE Keeps track of how many times footnotes - have been collected inside the same diversion -#DONT_RULE_ME Rule this (apparent) first footnote? (toggle) -#DIVER_LN_OFF Turn linenumbering off in (block)quotes? - (toggle) -#DRAFT_WITH_PAGENUM Are we attaching draft/revision info to page - number? (toggle) -#EM_ADJUST Amount to raise \(em at END -#EN_ALLOWS_HEADERS Put page headers on endnotes pages? (toggle) -#EN_ALLOWS_HEADERS_ALL Put page headers on all endnotes pages? - (toggle) -#EN_BQ_AUTOLEAD Register created by EN_BLOCKQUOTE_AUTOLEAD -#EN_BQ_LEAD Leading of blockquotes on endnotes pages -#EN_FIGURE_SPACE Width of \0, for use with formatting endnotes -#EN_FIRST_PAGE Tells PRINT_PAGE_NUMBER about endnotes - first page number -#EN_FIRST_PN Page number that appears on page 1 of - endnotes pages. -#EN_HDRFTR_CENTER Should we print centre string of - headers/footers on endnotes pages? (toggle) -#EN_LEAD Lead of endnotes -#EN_LN_BRACKETS Are we using brackets for line-numbered - endnotes (toggle) -#EN_LN_SEP Are we using a separator for line-numbered - endnotes (toggle) -#EN_MARK \n(ln when \*[EN-MARK] is called -#EN_MARK_2 \n(ln when ENDNOTE is called -#EN_MARKER_STYLE 1=NUMBER; 2=LINE -#EN_NO_COLS Do not set endnotes in columns? (toggle) -#EN_NO_FIRST_PN Put pagenumber on 1st page of endnotes? - (toggle) -#EN_NUMBERS_ALIGN_RIGHT Hang and align endnote numbers right? - (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_NUMBER_L_LENGTH Line length for endnote numbers when they're - right aligned -#EN_PP_INDENT First line indent of paras in multi-para - endnotes -#EN_PP_SPACE Space multi-paras in endnotes? (toggle) -#EN_PS ps of endnotes -#EN_Q_AUTOLEAD Register created by EN_QUOTE_AUTOLEAD -#EN_Q_LEAD Leading of quotes on endnotes pages -#EN_REF Put REFs in endnotes? (toggle) -#EN_SINGLESPACE Single space endnotes pages? (toggle) -#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? - (toggle) -#EN_TEXT_INDENT Page offset for text of endnotes when - numbers right align -#END_QUOTE For PP=0 indenting; did we just end a quote? - (toggle) -#ENDNOTE Are we in an endnote? (toggle) -#ENDNOTE_REFS Are REFs going to endnotes? (toggle) -#ENDNOTES Are we in an endnote (for FOOTERs; toggle) -#EPI_ACTIVE Are we in an epigraph? (toggle) -#EPI_COLOR Colored epigraphs? (toggle) -#EPI_DEPTH Depth of epigraph from first baseline to - last -#EPI_FITS Does epigraph fit on page/column? (toggle) -#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 Number of lines in the epigraph -#EPI_LINES_TO_END Number of epigraph lines remaining after - footer trap is sprung -#EPI_LINES_TO_TRAP Number of epigraph lines till footer trap is - sprung -#EPI_L_LENGTH Epigraph line length -#EPI_OFFSET Left margin of epigraphs -#EPI_OFFSET_VALUE Epigraph indent as a function of page offset -#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) -#FINIS_COLOR Colored FINIS? (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 Which fn marker to print; also to - tell mom to reserve space for and print - the rule above footnotes -#FN_COUNT_AT_FOOTER The FN_COUNT after FOOTNOTES has been - output in FOOTER -#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 -#FN_DEPTH Depth of footnote diversion(s) -#FN_FOR_EPI Signals to epigraph that a footnote is being - processed -#FN_GAP When there are footnotes on a page, the - difference between where FOOTER will be - sprung and the next legal baseline. - Used in VFP_CHECK. -#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_LN_BRACKETS Are footnote linenumber brackets being used? - (toggle) -#FN_LN_SEP Is a footnote linenumber separator being used? - (toggle) -#FN_MARK \n(ln when \*[FN-MARK] is called -#FN_MARK_2 \n(nl when FOOTNOTE is called -#FN_MARKERS Print footnote markers? (toggle) -#FN_MARKER_STYLE 1=STAR; 2=NUMBER -#FN_NUMBER The footnote number attached to running text - (and fns) when numbers instead of - star/dagger is being used for footnootes - numbers -#FN_OVERFLOW_TRAP_POS The register that sets the position of - trap FN_OVERFLOW_TRAP. -#FN_R_INDENT Right indent of INDENT RIGHT in footnotes -#FN_REF Put REFs in footnotes? (toggle) -#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_SPACE Post footnote space -#FN_WAS_DEFERED Tells HEADER about a deferred footnote -#FOOTER_DIFF In TRAPS, the difference between the - original #B_MARGIN and #VISUAL_B_MARGIN -#FOOTER_GAP Amount of space between end of text and - page # -#FOOTER_MARGIN Amount of space between page # and bottom - of page -#FOOTER_POS Position of footer trap (required for - collecting footnotes inside a diversion) -#FOOTERS_ON Are we using footers? (toggle) -#FOOTERS_WERE_ON Were footers on? - used in FINIS and BLANKPAGE - (toggle) -#FOOTNOTE_COLOR Colored footnotes? (toggle) -#FROM_DIVERT_FN Signals to FOOTNOTE, when run from - within DIVERT_FN_LEFTOVER, to set #SPACE_REMAINING - to the total area allowable for running text -#FROM_FOOTER In col to col footnote processing, tells - FOOTNOTE that FOOTNOTES was output from - FOOTER. -#FROM_HEADER In col to col footnote processing, tells - FOOTNOTE that FOOTNOTES was output from - HEADER. -#FULLSPACE_QUOTES Should we fullspace quotes? (toggle) -#GET_DEPTH Signals to FOOTNOTE that it should - measure the depth of current footnotes - plus the most recently added one, except - where the footnote is to be deferred to - the next page or column -#GUTTER Width of gutter between columns -#HDRFTR_CENTER_CAPS CENTER part of header/footer in caps? - (toggle; default=off) -#HDRFTR_COLOR Colored headers/footers? (toggle) -#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 -#HDRFTR_LEFT_CAPS Left part of header/footer in caps? - (toggle; default=off) -#HDRFTR_RIGHT_CAPS Right part of header/footer in caps? - (toggle; default=on) -#HDRFTR_RULE_COLOR Colored header/footer rule? (toggle) -#HDRFTR_RULE_GAP Space between header/footer and - header/footer rule -#HDRFTR_RULE Print head/footer rule? (toggle) -#HDRFTR_TMP_CAPS_SWITCH Temporarily holds HDRFTR_LEFT_CAPS value if - #SWITCH_HDRFTR=1 -#HEAD 1=main/section head 2=subhead -#HEAD_CAPS Print section titles in caps? (toggle) -#HEAD_COLOR Colored heads? (toggle) -#HEADER_GAP Distance from header to running text -#HEADER_MARGIN Distance from top of page to header -#HEADERS_ON Headers on? (toggle) -#HEADER_STATE Saves header state in COLLATE for use in - START after COLLATE -#HEADERS_WERE_ON Were headers on? - used in BLANKPAGE (toggle) -#HEAD_NUM Head number -#HEAD_SPACE 2 line spaces before heads? - (toggle; 1=yes, 0=no) -#HORIZ_MARK Horizontal -#HOW_MANY Number of blank pages to output -#IGNORE Should we ignore this macro? Set to 1 in - TYPEWRITE. -#IN_BIB_LIST Tells ITEM we're doing a bibliography in - list style -#INDENT_FIRST_PARAS Indent first paras? (toggle) -#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 -#L_LENGTH_FOR_EPI Stores line length at top of doc for use - with EPIGRAPH when columns are on -#L_MARGIN_DIFF Difference between DOC_L_MARGIN and - L_MARGIN -#LEFT_CAP_HEIGHT Cap height of left string in headers/footers -#LEGAL_BASELINE Calculates vert. position of next legal - baseline in SHIM -#LETTER_STYLE 1=BUSINESS 2=PERSONAL -#LINEBREAK Did we have a linebreak? (toggle) -#LINEBREAK_COLOR Colored linebreak? (toggle) -#LINENUMBERS Holds various states of line-numbering when - line numbering is enabled -#LINES_PER_PAGE # of lines (at DOC_LEAD) that fit on - page after #B_MARGIN is set -#LN Are line numbers on? (toggle) -#MISC_<n> Used to print "next" misc lines in DO_COVER -#MISC_NUM Number of MISC lines -#MISCS =#MISC_NUM in DO_COVER -#MN_OVERFLOW_LEFT If 1, left margin note text overflows -#MN_OVERFLOW_RIGHT If 1, right margin note text overflows -#n%_AT_PAGENUM_SET Page # from n% when PAGENUMBER invoked -#NEEDS_SPACE Instruct FOOTNOTE, when called by - PROCESS_FN_IN_DIVER, that if the footnote - had to be deferred, the VFP must be - raised by 1v (set in DIVER_FN_2_PRE) -#NEXT_AUTHOR Supplies correct digit to AUTHOR_<#> - when printing authors in doc header -#NEXT_LN Next linenumber when \n(ln has to be stored - because linenumbering suspended -#NEXT_MISC Incrementing counter for misc lines in - DO_COVER -#NO_BACK_UP Instructs FN_OVERFLOW_TRAP not to - subtract 1 line of footnote lead from - FN_OVERFLOW in a PREV_FN_DEFERRED - situation. -#NO_SPACE When para spacing is active, instructs - PP not to add space after a quote or blockquote. -#NO_TRAP_RESET Should we reset page traps? (toggle) -#NUM_AUTHORS # of authors mod 2 to test if odd or even - # of authors -#NUM_MISCS Number of args passed to MISC -#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 deferred until OK_PROCESS_LEAD=1 -#ORIGINAL_B_MARGIN The value for #B_MARGIN as set by the - macro B_MARGIN -#ORIGINAL_DOC_LEAD The lead for PRINT_STYLE 1 as set in - PRINTSTYLE; required so that PRINT_STYLE 1 - footnotes have an unadjusted lead of - 12 points -#OVERFLOW Signals to FOOTNOTE that some of the - footnote text won't fit on the page -#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_COLOR Colored pagenumbers? (toggle) -#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_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_NUMS Print page numbers? (toggle) -#PAGE_NUM_V_POS 1=top 2=bottom; default=2 -#PAGE_TOP \n(nl after HEADER completes itself -#PH_COLOR Colored paraheads? (toggle) -#PH_NUM Parahead number -#PAGE_POS Exact position on page during a diversion - (required for collecting footnotes inside - a diversion) -#PAGINATE_TOC Is toc pagination on? (toggle) -#PAGINATE_WAS_ON Keeps track of pagination state while - outputting blank pages -#PAGINATION_STATE Saves pagination state in COLLATE for use in - START after a COLLATE -#PAGINATION_WAS_ON Was pagination on? - used in FINIS (toggle) -#PP 0 at first para; auto-increments -#PP_AT_PAGE_BREAK # of last (incl. partial) para on page -#PP_INDENT How much to indent paras -#PP_SPACE Put space before paras? (toggle) -#PP_SPACE_SUSPEND Suspend para spacing for blockquotes and - epigraphs -#PP_STYLE_PREV In footnotes, stores PP style in effect - prior to invoking FOOTNOTE -#PP_STYLE Regular para=1; quote or epi para=2 -#PRINT_PAGENUM_ON_PAGE_1 Should we print the page number on first - page of doc when footers are on? (toggle) -#PRINT_STYLE Typewrite=1, typeset=2 -#PT_SIZE_IN_UNITS Stored value of \n[.ps] from last time - PT_SIZE was called -#Q_AUTOLEAD Register created by QUOTE_AUTOLEAD -#Q_DEPTH Depth of quote -#Q_FITS Does this quote fit on one page/column? - (toggle) -#Q_LEAD Leading of quotes -#Q_LEAD_DIFF Difference between leading of running text - and the leading used in quotes/blockquotes -#Q_LEAD_REAL Leading of quotes and blockquotes saved at the - ends of their respective diversions -#Q_L_LENGTH Line length of quotes -#Q_OFFSET Page offset for quotes -#Q_OFFSET_VALUE Factor by which to multiply PP_INDENT to - offset quotes -#Q_PARTIAL_DEPTH The amount of a quote/blockquote that fits at - the bottom of a page when a quote/blockquote - spans pages -#Q_PP In PP, stores para # in QUOTE. Removed in - ENDQUOTE. -#Q_SPACE_ADJ The flexible amount of whitespace to add before - and after a quote/blockquote -#Q_TOP Vertical place on page that a quote starts -#QUOTE 1=PQUOTE, 2=BQUOTE -#QUOTE_COLOR Color quotes (poetic)? (toggle) -#QUOTE_LN Linenumber quotes? (toggle) -#RECTO_VERSO Switch HEADER_LEFT and HEADER_RIGHT on - alternate pages? (toggle); default=0 -#REF_HYPHENATE Hyphenate REFs? (toggle) -#REF_WARNING Have we issued a ref warning? (toggle) -#REPEAT Number of times to repeat linebreak - character -#RESERVED_SPACE Just enough room to put 1 more line of - footnotes on the page -#RESET_EN_PP Holds value of register #EN_PP_INDENT -#RESET_FN_COUNTERS 1 = "moved" footnote collected in a diversion - 2 = "deferred" fn collected in a diversion -#RESET_FN_NUMBER Should fn# start at 1 on every page? - (toggle) -#RESET_L_LENGTH Stores current line length when necessary -#RESET_PARA_SPACE Holds current value of toggle register - #PP_SPACE -#RESET_PP_INDENT Stores value of PP_INDENT when necessary -#RESET_QUOTE_SPACING Stores value of toggle register - #FULLSPACE_QUOTES (used in endnotes) -#RESTORE_DOC_LEAD Holds value of current doc lead (used in - endnotes) -#RESTORE_HY Restore hyphenation after .][? (toggle) -#RESTORE_OFFSET Page offset at moment footer trap is sprung; - not currently used -#RESTORE_TOC_PN_PADDING Saves #TOC_PN_PADDING in TOC prior to - processing $FIRST_DOC_TITLE -#RIGHT_CAP_HEIGHT Cap height of right string in - headers/footers -#RULED Tells FOOTNOTE if a rule (or space has been - put above the first footnote on the page -#RUNON_FN_IN_DIVER If #LN=1, if we're in a (block)quote, instructs - FOOTNOTE to unformat diversion RUNON_FN_IN_DIVER -#RUNON_FOOTNOTES If #LN=1, instructs FOOTNOTE to unformat - diversion RUNON_FOOTNOTES -#RUN_ON Are we using run-on footnotes? (toggle) -#SAVED_DIVER_FN_COUNT In the case of a footnote inside a - diversion that should be treated as a - "normal" footnote, FOOTNOTE needs to - distinguish between a "normal" deferred - footnote (always the 1st footnote on the - page) and one that only looks as if - it should be deferred, when, in fact, - it's an overflow; this register lets - FOOTNOTE know whether the diversion - footnote is, in fact, the first on the - page. -#SAVED_FN_COUNT #FN_COUNT+1 prior to +#FN_COUNT; used - in FOOTNOTES while gathering fns inside - diversions -#SAVED_FN_COUNT_FOR_COLS #FN_COUNT_FOR_COLS+1 prior to - +#FN_COUNT_FOR_COLS; used in FOOTNOTES - while gathering fns inside diversions -#SAVED_FN_DEPTH_1 Footnote depth prior to adding footnote - diversion depth to FN_DEPTH; used when - footnote text will overflow -#SAVED_FN_DEPTH_2 Footnote depth after to adding footnote - diversion depth to FN_DEPTH; used when - footnote text will overflow -#SAVED_FOOTER_POS Position of FOOTER in DO_QUOTE (hack) -#SAVED_LEAD In FOOTER and DO_FOOTER, stores the - lead in effect prior to outputting - FOOTNOTES or performing either - PROCESS_FN_LEFTOVER or - PROCESS_FN_IN_DIVERSION; both the - diversion FOOTNOTES and the two macros - have, for PRINT_STYLE 2, an AUTOLEAD - call, which requires that an LS be - performed with the #SAVED_LEAD in - order to remove register #AUTO_LEAD or - #AUTO_LEAD_FACTOR. -#SEP_TYPE Set to 1 if LIST separator is ( or [ or { -#SH_LEAD_ADJUST #DOC_LEAD/8 (TYPESET) or /2 (TYPEWRITE) - (used for subhead spacing) -#SH_NUM Subhead number -#SHIM Amount of lead required to advance to - next legal baseline -#SILENT_BQUOTE_LN "Silently" linenumber blockquotes? (toggle) -#SILENT_QUOTE_LN "Silently" linenumber quotes? (toggle) -#SINGLE_SPACE Is TYPEWRITE in single space mode? (toggle) -#SKIP_FOOTER If 1, instructs DO_FOOTER to do nothing - if B_MARGIN falls below FOOTER_MARGIN -#SLANT_MEANS_SLANT For TYPEWRITE. 1=yes; 0=no -#SLANT_WAS_ON Keeps track of SLANT when it needs to go off - for a while -#SPACE_REMAINING Space remaining to footer trap; used to - decide whether or not to defer a footnote -#SR_ADJ_FACTOR An adjustment factor that compensates - for the fact that #SPACE_REMAINING - sometimes reports a fractionally larger - space than is actually available for - footnote text. -#START If 1, signals completion of START -#START_FOR_FOOTERS Toggle set in START; signals to - PRINT_HDRFTR that START has been invoked, - allowing PRINT_HDRFTR to decide whether or - not to print a footer on page 1 -#START_FOR_MNinit If 1, defer processing MN_INIT until #START -#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) -#T_MARGIN_LEAD_ADJ \n(.v-12000; ensures critically accurate - placement of first lines on pages when - doc processing is not being used and - a T_MARGIN has been set -#TAB_OFFSET# "#" at the end is from $CURRENT_TAB -#TERMINATE Has TERMINATE been called? (toggle) -#TOC_AUTHORS Whether to append author(s) to toc doc - title entries (toggle) -#TOC_ENTRY_PN Current page number when a toc entry is - collected -#TOC_FIRST_PAGE If 1, tells PRINT_PAGE_NUMBER that this - is the first page of the toc -#TOC_LEAD Leading of toc pages -#TOC_PN_PADDING Max. # of placeholders for toc entries - page numbers -#TOC_PS Point size of toc pages -#TOC_RV_SWITCH Switch L/R margins of toc pages -#TOC_HEAD_INDENT Indent of toc head entries -#TOC_HEAD_SIZE_CHANGE ps in/decrease of toc head entries**** -#TOC_PH_INDENT Indent of toc parahead entries -#TOC_PH_SIZE_CHANGE ps in/decrease of toc parahead entries**** -#TOC_SH_INDENT Indent of toc subhead entries -#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 -#UNDERLINE_WAS_ON In HEADER to re-enable running text - 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); - used in COPYSTYLE -#USER_DEF_HEADER_LEFT User defined CENTER title? (1=yes); - used in COPYSTYLE -#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 - footnotes -#VISUAL_B_MARGIN Set in TRAPS, what \n(nl would report - on the last line of running text before - FOOTER is sprung. -#VFP_DIFF #FN_DEPTH minus #SAVED_FN_DEPTH; the - number of footnote lines that will fit - on the page when there will be over, and - therefore the amount by which to raise - the VFP for footnotes with overflow after - the 1st footnote. -y Vertical position stored with mk in hdrftrs. - -+++STRINGS+++ - -$1ST_LETTER First letter of first arg to LIST -$ADJUST_BIB_LEAD 2nd arg to BIBLIOGRAPHY_LEAD; if not blank - adjust bib leading -$ATTRIBUTE_STRING "by" line in doc header -$AUTHOR_1...9 Document author(s) -$AUTHOR_FAM Family to use for author in doc header -$AUTHOR_FT Font to use for author in doc header -$AUTHOR_SIZE_CHANGE ps in/decrease of author in doc header* -$AUTHOR_PT_SIZE Absolute ps of authors -$BIB_FAM Bibliography page family -$BIB_FT Bibliography page font -$BIB_LEAD Base leading for bibliographies -$BIB_LIST_SEPARATOR Separator between enumerator and text - when outputting bibliographies in LIST style -$BIB_LIST_PREFIX Prefix before enumerator when outputting - bibliographies in LIST style -$BIB_PN_STYLE Format of bibliography page numbers -$BIB_SPACE Post entry space for bibliographies -$BIB_STRING Bibliography title string -$BIB_STRING_FAM Bib title family -$BIB_STRING_FT Bib title font -$BIB_STRING_QUAD Bib title quad -$BIB_STRING_SIZE_CHANGE Bib title size (+ or -) -$BQ_LN_GUTTER Gutter between line numbers and bquotes in - bquotes -$BQUOTE_COLOR Blockquote color -$BQUOTE_FAM Family to use for blockquotes -$BQUOTE_FT Font to use for blockquotes -$BQUOTE_QUAD Quad value for blockquotes -$BQUOTE_SIZE_CHANGE ps in/decrease of blockquotes* -$CENTER_TITLE What to put in the middle of header - title -$CHAPTER The chapter number -$CHAPTER_STRING What to print whenever the word - "chapter" is required -$CHAPTER_TITLE Chapter title (if there is one) -$CHAPTER_TITLE_FAM Family of chapter title -$CHAPTER_TITLE_FT Font of chapter title -$CHAPTER_TITLE_SIZE_CHANGE ps in/decrease of chapter title* -$CHAPTER_TITLE_PT_SIZE Absolute ps of chapter title -$CHAPTER_TITLE_COLOR Color of chapter title -$COPYRIGHT_FAM Copyright line family -$COPYRIGHT_FT Copyright line font -$COPYRIGHT_SIZE_CHANGE Copyright line size* -$COPYRIGHT_COLOR Copyright line color -$COPYRIGHT_QUAD Copyright line quad direction -$COPY_STYLE DRAFT or FINAL -$COVER_FAM Overall cover family -$COVER_COLOR Overall cover color -$COVER_TITLE User-defined cover title string -$COVER_TITLE_FAM Cover title family -$COVER_TITLE_FT Cover title font -$COVER_TITLE_SIZE_CHANGE Cover title size* -$COVER_TITLE_COLOR Cover title color -$COVER_SUBTITLE_FAM Cover subtitle family -$COVER_SUBTITLE_FT Cover subtitle font -$COVER_SUBTITLE_SIZE_CHANGE Cover subtitle size* -$COVER_SUBTITLE_COLOR Cover subtitle color -$COVER_ATTRIBUTE_COLOR Cover attribution string color -$COVER_AUTHOR_FAM Cover author(s) family -$COVER_AUTHOR_FT Cover author(s) font -$COVER_AUTHOR_SIZE_CHANGE Cover author(s) size* -$COVER_AUTHOR_COLOR Cover author(s) color -$COVER_DOCTYPE_FAM Cover doctype family -$COVER_DOCTYPE_FT Cover doctype font -$COVER_DOCTYPE_SIZE_CHANGE Cover doctype size* -$COVER_DOCTYPE_COLOR Cover doctype color -$COVER_COPYRIGHT_FAM Cover copyright family -$COVER_COPYRIGHT_FT Cover copyright font -$COVER_COPYRIGHT_SIZE_CHANGE Cover copyright size* -$COVER_COPYRIGHT_COLOR Cover copyright color -$COVER_MISC_FAM Cover misc family -$COVER_MISC_FT Cover misc font -$COVER_MISC_SIZE_CHANGE Cover misc size* -$COVER_MISC_COLOR Cover misc color -$CURRENT_EV \n[.ev] at REF_BRACKETS_START -$DOC_COVER_FAM Overall doc cover family -$DOC_COVER_COLOR Overall doc cover color -$DOC_COVER_TITLE User-defined doc cover title string -$DOC_COVER_TITLE_FAM Doc cover title family -$DOC_COVER_TITLE_FT Doc cover title font -$DOC_COVER_TITLE_SIZE_CHANGE Doc cover title size* -$DOC_COVER_TITLE_COLOR Doc cover title color -$DOC_COVER_SUBTITLE_FAM Doc cover subtitle family -$DOC_COVER_SUBTITLE_FT Doc cover subtitle font -$DOC_COVER_SUBTITLE_SIZE_CHANGE Doc cover subtitle size* -$DOC_COVER_SUBTITLE_COLOR Doc cover subtitle color -$DOC_COVER_ATTRIBUTE_COLOR Doc cover attribution string color -$DOC_COVER_AUTHOR_FAM Doc cover author(s) family -$DOC_COVER_AUTHOR_FT Doc cover author(s) font -$DOC_COVER_AUTHOR_SIZE_CHANGE Doc cover author(s) size* -$DOC_COVER_AUTHOR_COLOR Doc cover author(s) color -$DOC_COVER_DOCTYPE_FAM Doc cover doctype family -$DOC_COVER_DOCTYPE_FT Doc cover doctype font -$DOC_COVER_DOCTYPE_SIZE_CHANGE Doc cover doctype size* -$DOC_COVER_DOCTYPE_COLOR Doc cover doctype color -$DOC_COVER_COPYRIGHT_FAM Doc cover copyright family -$DOC_COVER_COPYRIGHT_FT Doc cover copyright font -$DOC_COVER_COPYRIGHT_SIZE_CHANGE Doc cover copyright size* -$DOC_COVER_COPYRIGHT_COLOR Doc cover copyright color -$DOC_COVER_MISC_FAM Doc cover misc family -$DOC_COVER_MISC_FT Doc cover misc font -$DOC_COVER_MISC_SIZE_CHANGE Doc cover misc size* -$DOC_COVER_MISC_COLOR Doc cover misc color -$DOC_FAM Predominant font family used in the - document -$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) -$DOC_TYPE Document type (default, chapter, named, - letter) -$DOCHEADER_COLOR Color of docheader -$DOCHEADER_FAM Family used for all parts of the docheader -$DOCHEADER_LEAD_ADJ +|- value applied to #DOC_LEAD to - in/decrease leading of doc header -$DOCTYPE_FAM Family to use for DOCTYPE string in - doc header -$DOCTYPE_FT Font to use for DOCTYPE string in - doc header -$DOCTYPE_SIZE_CHANGE ps in/decrease of DOCTYPE string in - doc header* -$DOCTYPE_PT_SIZE Absolute ps of DOCTYPE -$DRAFT The draft number (string valued) -$DRAFT_STRING What to print whenever the word "draft" - is required -EN_MARK Inline, gets #EN_MARK (\(ln) -$EN_CLOSE_BRACKET Close bracket for line-number enumerated - endnotes -$EN_FAMILY Family for endnotes -$EN_FT Font for endnotes -$EN_LINENUMBER String to print for line-number enumerators - in line-numbered endnotes -$EN_LN_FAM Family for line-numbers in line-number - identified endnotes -$EN_LN_FT Font for line-numbers in line-number - identified endnotes -$EN_LN_GAP Gap to leave in initial endnote lines - between line-number identifies and text -$EN_OPEN_BRACKET Open bracket for line-number enumerated - endnotes -$EN_LN_SIZE_CHANGE Size change (+ or -) for line-numbers in - line-number identified endnotes -$EN_PN_STYLE Pagenumbering style for endnotes pages -$EN_QUAD Quad for endnotes -$EN_STRING Endnotes page head -$EN_STRING_FAM Endnotes page head family -$EN_STRING_FT Endnotes page head font -$EN_STRING_QUAD Endnotes page head quad direction -$EN_STRING_SIZE_CHANGE Endnotes page head size*** -$EN_TITLE Endnote document identifier -$EN_TITLE_FAM Endnote document identifier family -$EN_TITLE_FT Endnote document identifier font -$EN_TITLE_QUAD Endnote document identifier quad - direction -$EN_TITLE_SIZE_CHANGE Endnote document identifier size*** -$EN_NUMBER_FAM Endnote numbering family -$EN_NUMBER_FT Endnote numbering font -$EN_NUMBER_SIZE_CHANGE Endnote numbering size*** -$EPI_AUTOLEAD Autolead value (decimals ok) of - epigraphs -$EPI_COLOR Color of epigraphs -$EPI_FAM Family to use in epigraphs -$EPI_FT Font to use in epigraphs -$EPI_QUAD Quad in block-style epigraphs - (justified or left) -$EPI_SIZE_CHANGE ps in/decrease of epigraphs* -$EVAL_BIB_SPACE Temporary string to find out if the - arg to BIBLIOGRAPHY_SPACING ended in "v" -$FINIS_COLOR Color of FINIS string -$FINIS_STRING What to print when FINIS macro is - invoked -$FIRST_DOC_TITLE 1st doc's title captured in COLLATE -FN_MARK Inline, gets #FN_MARK (\n(ln) -$FN_CLOSE_BRACKET Close bracket for line-number identified - footnotes -$FN_FAM Family used in footnotes -$FN_FT Font used in footnotes -$FN_LINENUMBER String to print before footnotes when - line-numbering enabled for footnotes -$FN_LN_SEP Separator after line-number identified - footnotes -$FN_OPEN_BRACKET Open bracket for line-number identified - footnotes -$FN_QUAD Quad used in footnotes -$FN_SIZE_CHANGE ps in/decrease of footnotes* -$FOOTNOTE_COLOR Footnote color -$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 centre part of headers -$HDRFTR_CENTER_NEW HDRFTR_CENTER after the start of TOC; - defined in HDRFTR_CENTER if - HDRFTR_CENTER is called as - FOOTER_CENTER -$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 centre title in - headers** -$HDRFTR_COLOR Color of headers/footers -$HDRFTR_FAM Family to use in headers -$HDRFTR_LEFT_FAM Family of left part of headers -$HDRFTR_LEFT_FT Font of left part of headers -$HDRFTR_LEFT_SIZE_CHANGE ps in/decrease of author in headers** -$HDRFTR_LEFT What to put in left part of headers; - default author -$HDRFTR_RIGHT_FAM Family of right part of headers -$HDRFTR_RIGHT_FT Font of right part of headers -$HDRFTR_RIGHT_SIZE_CHANGE ps in/decrease of right part of - headers** -$HDRFTR_RIGHT What to put in right part of headers; - default title -$HDRFTR_SIZE_CHANGE ps in/decrease of headers* -$HDRFTR_TMP_SIZE_CHANGE_SWITCH Temporarily holds - HDRFTR_LEFT_SIZE_CHANGE if - #SWITCH_HDRFTRS=1 -$HDRFTR_TMP_SWITCH Temporarily holds HDRFTR_LEFT if - #SWITCH_HDRFTRS=1 -$HEAD_COLOR Head color -$HEAD_FAM Family to use for section titles -$HEAD_FT Font to use for 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 - linebreak character -$LAST_CHAR Temporary string used to discover whether - user has remembered to put a digit after - ROMAN or roman in arg to LIST -$LINEBREAK_COLOR Linebreak color -$LIST_ARG_1 The first arg to LIST (minus digits if - ROMAN or roman -$LN_GUTTER Gutter to leave between line numbers - and text -$LN_INC 2nd arg to NUMBER_LINES as a string -$LN_NUM 1st arg to NUMBER_LINES as a string -$MISC_COLOR Misc line color -$MISC_QUAD Misc line quad -PAGE# For use in hdrftr strings where page # - is needed; \*[PAGE] -$PAGENUM_COLOR Page number color -$PAGENUM_STYLE String passed to PAGENUM_STYLE -$PAGE_NUM_FAM Family of page numbers -$PAGE_NUM_FT Font of page numbers -$PAGE_NUM_SIZE_CHANGE ps in/decrease of page numbers -$PAPER Paper size (LETTER, A4, LEGAL); - default=LETTER -$PH_COLOR Parahead color -$PP_FT Font used in paragraphs -$ROMAN_WIDTH The digit(s) appended to ROMAN or - roman LIST args -$Q_LN_GUTTER Gutter between linenumbers and quotes - in quotes -$QUOTE_COLOR Quote (poetic) color -$QUOTE_FAM Family to use for pquotes -$QUOTE_FT Font to use for pquotes -$QUOTE_SIZE_CHANGE ps in/decrease of pquotes* -$REF_BIB_INDENT 2nd line indent value for references in - bibliographies -$REF_EN_INDENT 2nd line indent value for references in - endnotes -$REF_FN_INDENT 2nd line indent value for references in - footnotes -$RESTORE_SS_VAR Saves \*[$SS_VAR] for use with ref*build -#REVISION The revision number (string valued) -$REVISION_STRING What to print whenever the word - "revision" is required -$SH_FAM Family to use in subheads -$SH_FT Font to use in subheads -$SH_SIZE_CHANGE ps in/decrease of subheads* -$SH_COLOR Subhead color -$SUBTITLE Document subtitle -$SUBTITLE_FAM Family to use for subtitle in doc - header -$SUBTITLE_FT Font to use for subtitle in doc header -$SUBTITLE_SIZE_CHANGE ps in/decrease of subtitle* -$SUBTITLE_PT_SIZE Absolute ps of subtitle -$SUITE The #SUITE number register -$TITLE Document title -$TITLE_FAM Family to use for title in doc header -$TITLE_FT Font to use for title in doc header -$TITLE_PT_SIZE Absolute point size of title in docheader -$TITLE_SIZE_CHANGE ps in/decrease of title in doc header* -$TOC_AUTHORS What to print after toc doc title entry - if #TOC_AUTHORS=1 -$TOC_FAM Family to use on toc pages -$TOC_HEAD_FAM Family of toc head entries -$TOC_HEAD_FT Font of toc head entries -$TOC_HEAD_ITEM A head as collected for TOC_ENTRIES -$TOC_HEADER_FAM Family to use for "Contents" -$TOC_HEADER_FT Font to use for "Contents" -$TOC_HEADER_QUAD Quad direction of "Contents" -$TOC_HEADER_SIZE ps in/decrease of "Contents"**** -$TOC_HEADER_STRING Header string of first toc page -$TOC_PN Sets up toc leaders + entry pn - (typeset) -$TOC_PN_FAM Family for toc entries page numbers -$TOC_PN_FT Font for toc entries page numbers -$TOC_PN_SIZE_CHANGE ps in/decrease of toc entries page - numbers -$TOC_PN_STYLE Page-numbering style of toc pages -$TOC_PN_TYPEWRITE Sets up toc leaders + entry pn - (typewrite) -$TOC_PH_FAM Family of toc parahead entries -$TOC_PH_FT Font of toc parahead entries -$TOC_PARAHEAD_ITEM A parahead collected for TOC_ENTRIES -$TOC_SH_FAM Family of toc subhead entries -$TOC_SH_FT Font of toc subhead entries -$TOC_SH_ITEM A subhead collected for TOC_ENTRIES -$TOC_TITLE_FAM Family of toc doc title entries -$TOC_TITLE_FT Font of toc doc title entries -$USER_SET_TITLE_ITEM User defined toc doc title entry as - set by TOC_TITLE_ENTRY -$UR_PAGINATION_STYLE Pagination style prior to endnotes -$USERDEF_HDRFTR_RECTO User defined header/footer recto string -$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 overall ps of toc pages - -+++PREPROCESSOR KEYWORDS+++ - -(eqn) -EQ -EN - -(grn) -GS -GE -GF - -(pic) -PS -PE - -(refer) -R1 -R2 -[ -] - -(tbl) -TS -TE -TH - -(grap) -G1 -G2 - -(ideal) -IS -IE - -(chem) -cstart -cend - -+++ALIASES+++ - -Please note: - -Prior to version 1.1.9, all macros that included the word COLOR had -aliases that used COLOUR instead. This convenience has now been -removed, in an effort to reduce the size of the om.tmac file. - -Furthermore, if you want the convenience, you'll have to edit the -om.tmac file. Simply aliasing, say, HEAD_COLOR as HEAD_COLOUR will -not work, owing to significant changes in the handling of -docelement control macros that end in _COLOR. - -+++The following are for convenience, and header/footer management+++ - -BREAK_BLOCKQUOTE BREAK_QUOTE -BREAK_CITATION BREAK_QUOTE -BREAK_CITE BREAK_QUOTE -CITATION BLOCKQUOTE -CITE BLOCKQUOTE -COL_BREAK COL_NEXT -DOC_FAM DOC_FAMILY -DOC_LLENGTH DOC_LINE_LENGTH -DOC_L_LENGTH DOC_LINE_LENGTH -DOC_L_MARGIN DOC_LEFT_MARGIN -DOC_LMARGIN DOC_LEFT_MARGIN -DOC_LS DOC_LEAD -DOC_PS DOC_PT_SIZE -DOC_R_MARGIN DOC_RIGHT_MARGIN -DOC_RMARGIN DOC_RIGHT_MARGIN -FOOTER_CENTER_CAPS HDRFTR_CENTER_CAPS -FOOTER_CENTER HDRFTR_CENTER -FOOTER_CENTRE_CAPS HDRFTR_CENTER_CAPS -FOOTER_CENTRE HDRFTR_CENTER -FOOTER_LEFT_CAPS HDRFTR_LEFT_CAPS -FOOTER_LEFT HDRFTR_LEFT -FOOTER_PLAIN HDRFTR_PLAIN -FOOTER_RECTO HDRFTR_RECTO -FOOTER_RIGHT_CAPS HDRFTR_RIGHT_CAPS -FOOTER_RIGHT HDRFTR_RIGHT -FOOTER_RULE_GAP HDRFTR_RULE_GAP -FOOTER_RULE HDRFTR_RULE -FOOTER_VERSO HDRFTR_VERSO -HDRFTR_RULE_INTERNAL HDRFTR_RULE -HEADER_CENTER_CAPS HDRFTR_CENTER_CAPS -HEADER_CENTER HDRFTR_CENTER -HEADER_CENTRE_CAPS HDRFTR_CENTER_CAPS -HEADER_CENTRE HDRFTR_CENTER -HEADER_LEFT_CAPS HDRFTR_LEFT_CAPS -HEADER_LEFT HDRFTR_LEFT -HEADER_PLAIN HDRFTR_PLAIN -HEADER_RECTO HDRFTR_RECTO -HEADER_RIGHT_CAPS HDRFTR_RIGHT_CAPS -HEADER_RIGHT HDRFTR_RIGHT -HEADER_RULE_GAP HDRFTR_RULE_GAP -HEADER_RULE HDRFTR_RULE -HEADER_VERSO HDRFTR_VERSO -PAGENUM PAGENUMBER -PAGINATION PAGINATE -PP_FT PP_FONT -PRINT_FOOTNOTE_RULE FOOTNOTE_RULE -SWITCH_FOOTERS SWITCH_HDRFTR -SWITCH_HEADERS SWITCH_HDRFTR -TOC_LS TOC_LEAD -TOC_PS TOC_PT_SIZE - -+++The following are used for docelement type-style control+++ - -AUTHOR_FAMILY _FAMILY -AUTHOR_FONT _FONT -AUTHOR_SIZE _SIZE -BIBLIOGRAPHY_FAMILY _FAMILY -BIBLIOGRAPHY_FONT _FONT -BIBLIOGRAPHY_FOOTER_CENTER BIBLIOGRAPHY_HDRFTR_CENTER -BIBLIOGRAPHY_FOOTER_CENTRE BIBLIOGRAPHY_HDRFTR_CENTRE -BIBLIOGRAPHY_HEADER_CENTER BIBLIOGRAPHY_HDRFTR_CENTER -BIBLIOGRAPHY_HEADER_CENTRE BIBLIOGRAPHY_HDRFTR_CENTRE -BIBLIOGRAPHY_QUAD _QUAD -BIBLIOGRAPHY_STRING_FAMILY _FAMILY -BIBLIOGRAPHY_STRING_FONT _FONT -BIBLIOGRAPHY_STRING_QUAD _QUAD -BIBLIOGRAPHY_STRING_SIZE _SIZE -BLOCKQUOTE_AUTOLEAD Q_AUTOLEAD -BLOCKQUOTE_AUTOLEAD QUOTE_AUTOLEAD -BLOCKQUOTE_COLOR _COLOR -BLOCKQUOTE_FAMILY _FAMILY -BLOCKQUOTE_FONT _FONT -BLOCKQUOTE_QUAD _QUAD -BLOCKQUOTE_SIZE _SIZE -CHAPTER_TITLE_COLOR _COLOR -CHAPTER_TITLE_FAMILY _FAMILY -CHAPTER_TITLE_FONT _FONT -CHAPTER_TITLE_SIZE _SIZE -COVER_ATTRIBUTE_COLOR _COLOR -COVER_AUTHOR_COLOR _COLOR -COVER_AUTHOR_FAMILY _FAMILY -COVER_AUTHOR_FONT _FONT -COVER_AUTHOR_SIZE _SIZE -COVER_COLOR _COLOR -COVER_COPYRIGHT_COLOR _COLOR -COVER_COPYRIGHT_FAMILY _FAMILY -COVER_COPYRIGHT_FONT _FONT -COVER_COPYRIGHT_QUAD _QUAD -COVER_COPYRIGHT_SIZE _SIZE -COVER_DOCTYPE_COLOR _COLOR -COVER_DOCTYPE_FAMILY _FAMILY -COVER_DOCTYPE_FONT _FONT -COVER_DOCTYPE_SIZE _SIZE -COVER_FAMILY _FAMILY -COVER_MISC_COLOR _COLOR -COVER_MISC_QUAD _QUAD -COVER_SUBTITLE_COLOR _COLOR -COVER_SUBTITLE_FAMILY _FAMILY -COVER_SUBTITLE_FONT _FONT -COVER_SUBTITLE_SIZE _SIZE -COVER_TITLE_COLOR _COLOR -COVER_TITLE_FAMILY _FAMILY -COVER_TITLE_FONT _FONT -COVER_TITLE_SIZE _SIZE -DOC_COVER_ATTRIBUTE_COLOR _COLOR -DOC_COVER_AUTHOR_COLOR _COLOR -DOC_COVER_AUTHOR_FAMILY _FAMILY -DOC_COVER_AUTHOR_FONT _FONT -DOC_COVER_AUTHOR_SIZE _SIZE -DOC_COVER_COLOR _COLOR -DOC_COVER_COPYRIGHT_COLOR _COLOR -DOC_COVER_COPYRIGHT_FAMILY _FAMILY -DOC_COVER_COPYRIGHT_FONT _FONT -DOC_COVER_COPYRIGHT_QUAD _QUAD -DOC_COVER_COPYRIGHT_SIZE _SIZE -DOC_COVER_DOCTYPE_COLOR _COLOR -DOC_COVER_DOCTYPE_FAMILY _FAMILY -DOC_COVER_DOCTYPE_FONT _FONT -DOC_COVER_DOCTYPE_SIZE _SIZE -DOC_COVER_FAMILY _FAMILY -DOC_COVER_MISC_COLOR _COLOR -DOC_COVER_MISC_QUAD _QUAD -DOC_COVER_SUBTITLE_COLOR _COLOR -DOC_COVER_SUBTITLE_FAMILY _FAMILY -DOC_COVER_SUBTITLE_FONT _FONT -DOC_COVER_SUBTITLE_SIZE _SIZE -DOC_COVER_TITLE_COLOR _COLOR -DOC_COVER_TITLE_FAMILY _FAMILY -DOC_COVER_TITLE_FONT _FONT -DOC_COVER_TITLE_SIZE _SIZE -DOCHEADER_COLOR _COLOR -DOCHEADER_FAMILY _FAMILY -DOC_QUAD _QUAD -DOCTYPE_FAMILY _FAMILY -DOCTYPE_FONT _FONT -DOCTYPE_SIZE _SIZE -ENDNOTE_BLOCKQUOTE_AUTOLEAD Q_AUTOLEAD -ENDNOTE_BLOCKQUOTE_AUTOLEAD QUOTE_AUTOLEAD -ENDNOTE_FAMILY _FAMILY -ENDNOTE_FONT _FONT -ENDNOTE_LINENUMBER_FAMILY _FAMILY -ENDNOTE_LINENUMBER_FONT _FONT -ENDNOTE_LINENUMBER_SIZE _SIZE -ENDNOTE_NUMBER_FAMILY _FAMILY -ENDNOTE_NUMBER_FONT _FONT -ENDNOTE_NUMBER_SIZE _SIZE -ENDNOTE_QUAD _QUAD -ENDNOTE_QUOTE_AUTLOEAD Q_AUTOLEAD -ENDNOTE_QUOTE_AUTOLEAD QUOTE_AUTOLEAD -ENDNOTE_STRING_FAMILY _FAMILY -ENDNOTE_STRING_FONT _FONT -ENDNOTE_STRING_QUAD _QUAD -ENDNOTE_STRING_SIZE _SIZE -ENDNOTE_TITLE_FAMILY _FAMILY -ENDNOTE_TITLE_FONT _FONT -ENDNOTE_TITLE_QUAD _QUAD -ENDNOTE_TITLE_SIZE _SIZE -EPIGRAPH_COLOR _COLOR -EPIGRAPH_FAMILY _FAMILY -EPIGRAPH_FONT _FONT -EPIGRAPH_QUAD _QUAD -EPIGRAPH_SIZE _SIZE -FINIS_COLOR _COLOR -FOOTNOTE_COLOR _COLOR -FOOTNOTE_FAMILY _FAMILY -FOOTNOTE_FONT _FONT -FOOTNOTE_QUAD _QUAD -FOOTNOTE_SIZE _SIZE -HDRFTR_CENTER_FAMILY _FAMILY -HDRFTR_CENTER_FONT _FONT -HDRFTR_CENTER_SIZE _SIZE -HDRFTR_COLOR _COLOR -HDRFTR_FAMILY _FAMILY -HDRFTR_LEFT_FAMILY _FAMILY -HDRFTR_LEFT_FONT _FONT -HDRFTR_LEFT_SIZE _SIZE -HDRFTR_RIGHT_FAMILY _FAMILY -HDRFTR_RIGHT_FONT _FONT -HDRFTR_RIGHT_SIZE _SIZE -HDRFTR_RULE_COLOR _COLOR -HDRFTR_SIZE _SIZE -HEAD_COLOR _COLOR -HEAD_FAMILY _FAMILY -HEAD_FONT _FONT -HEAD_QUAD _QUAD -HEAD_SIZE _SIZE -LINEBREAK_COLOR _COLOR -MISC_COLOR _COLOR -MISC_QUAD _QUAD -PAGENUM_COLOR _COLOR -PAGENUM_FAMILY _FAMILY -PAGENUM_FONT _FONT -PARAHEAD_COLOR _COLOR -PARAHEAD_FAMILY _FAMILY -PARAHEAD_FONT _FONT -PARAHEAD_SIZE _SIZE -QUOTE_COLOR _COLOR -QUOTE_FAMILY _FAMILY -QUOTE_FONT _FONT -QUOTE_INDENT _INDENT -QUOTE_SIZE _SIZE -REF_INDENT INDENT_REFS -REF) REF_BRACKETS_END -REF] REF_BRACKETS_END -REF} REF_BRACKETS_END -REF( REF_BRACKETS_START -REF[ REF_BRACKETS_START -REF{ REF_BRACKETS_START -SUBHEAD_COLOR _COLOR -SUBHEAD_FAMILY _FAMILY -SUBHEAD_FONT _FONT -SUBHEAD_SIZE _SIZE -SUBTITLE_COLOR _COLOR -SUBTITLE_FAMILY _FAMILY -SUBTITLE_FONT _FONT -SUBTITLE_SIZE _SIZE -TITLE_COLOR _COLOR -TITLE_FAMILY _FAMILY -TITLE_FONT _FONT -TITLE_SIZE _SIZE -TOC_FAM _FAMILY -TOC_FAMILY _FAMILY -TOC_HEADER_FAMILY _FAMILY -TOC_HEADER_FONT _FONT -TOC_HEADER_QUAD _QUAD -TOC_HEADER_SIZE _SIZE -TOC_HEAD_FAMILY _FAMILY -TOC_HEAD_FONT _FONT -TOC_HEAD_SIZE _SIZE -TOC_PARAHEAD_FAMILY _FAMILY -TOC_PARAHEAD_FONT _FONT -TOC_PARAHEAD_SIZE _SIZE -TOC_PN_FAMILY _FAMILY -TOC_PN_FONT _FONT -TOC_PN_SIZE _SIZE -TOC_PT_SIZE _SIZE -TOC_SUBHEAD_FAMILY _FAMILY -TOC_SUBHEAD_FONT _FONT -TOC_SUBHEAD_SIZE _SIZE -TOC_TITLE_FAMILY _FAMILY -TOC_TITLE_FONT _FONT -TOC_TITLE_SIZE _SIZE -</pre> - -<hr> -<a href="appendices.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/toc.html b/contrib/groff/contrib/mom/momdoc/toc.html deleted file mode 100644 index 515740449cfc..000000000000 --- a/contrib/groff/contrib/mom/momdoc/toc.html +++ /dev/null @@ -1,329 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom, version 1.3-a -- Table of Contents</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<h1 align="center"><u>Table of Contents for mom, version 1.3-a</u></h1> - -The table of contents has grown quite large. If you've been using -<strong>mom</strong> for a while, you might prefer the -<a href="macrolist.html#TOP"><strong>Quick Reference Guide</strong></a>. -<p> -If you're new to <strong>mom</strong>, click on any link in the -<a href="#QUICK_TOC"><strong>Quick Table of Contents</strong></a> -to go to the -appropriate section of the <strong>Full Table of Contents</strong>. -<p> -Or click -<a href="#TOC_PROP">here</a> -to go directly to the <strong>Full Table of Contents</strong>. -<p> -<hr> - -<a name="QUICK_TOC"><h2>Quick Table of Contents</h2></a> -<a href="#INTRO"><strong>INTRODUCTORY STUFF</strong></a> -<ul> - <li><a href="#WHAT">What is mom?</a> - <li><a href="#DEFS">Definitions of terms used in this manual</a> - <li><a href="#USING">Using mom</a> -</ul> -<a href="#TYPESET"><strong>TYPESETTING WITH MOM</strong></a> -<ul> - <li><a href="#TYPE_INTRO">Intro to typesetting macros</a> - <li><a href="#PAGE">Page setup</a> - <li><a href="#PARAM">Basic typesetting parameters</a> - <li><a href="#JUST">Justifying, quadding, etc.</a> - <li><a href="#REFINE">Refinements</a> - <li><a href="#MOD">Modifying type</a> - <li><a href="#VERT">Vertical movements</a> - <li><a href="#TAB">Tabs</a> - <li><a href="#COL">Multiple columns</a> - <li><a href="#IND">Indents</a> - <li><a href="#GOODIES">Goodies</a> - <li><a href="#ESCAPES">Inline escapes</a> - <li><a href="#COLOR">Coloured text</a> -</ul> -<p> -<a href="#DOCPROC"><strong>DOCUMENT PROCESSING WITH MOM</strong></a> -<ul> - <li><a href="#DOCPROC_INTRO">Introduction to document processing</a> - <li><a href="#PRELIM">Preliminary document setup</a> - <li><a href="#TAGS">The document element tags</a> -- heads, subheads, footnotes, etc. - <li><a href="#HDRFTR">Headers and footers</a> - <li><a href="#PAGINATE">Pagination</a> - <li><a href="#RV">Recto/verso printing and collating</a> - <li><a href="#COVER">Cover pages</a> - <li><a href="#REF">Bibliographies and references</a> - <li><a href="#LETTER">Writing letters</a> - <li><a href="#TYPEMACDOC">Using typesetting macros during document processing</a> - <li><a href="#QUICK">Quick reference guide to mom</a> - <li><a href="#APP">Appendices</a> -</ul> -<br> -<hr> -<a name="TOC_PROP"></a> -<h2>Full Table of Contents</h2> -<a name="INTRO"></a> -<a name="WHAT"></a> - <li><a href="intro.html#INTRO"><strong>1. WHAT IS MOM?</strong></a> - <ul> - <li><a href="intro.html#INTRO_INTRO">1.1 Who is mom meant for?</a> - <li><a href="intro.html#INTRO_TYPESETTING">1.2 Typesetting with mom</a> - <li><a href="intro.html#INTRO_DOCPROCESSING">1.3 Document processing with mom</a> - <li><a href="intro.html#INTRO_PHILOSOPHY">1.4 Mom's philosophy</a> - <li><a href="intro.html#INTRO_DOCUMENTATION">1.5 A note on mom's documentation</a> - <ul> - <li><a href="intro.html#MACRO_ARGS">1.5.1 How to read macro arguments</a> - <li><a href="intro.html#TOGGLE_MACRO">1.5.2 "Toggle" macros</a> - </ul> - </ul> -<a name="DEFS"></a> - <li><a href="definitions.html#TERMS"><strong>2. DEFINITIONS OF TERMS USED IN THIS MANUAL</strong></a> - <ul> - <li><a href="definitions.html#TERMS_TYPESETTING">2.1 Typesetting terms</a> - <li><a href="definitions.html#TERMS_GROFF">2.2 Groff terms</a> - <li><a href="definitions.html#TERMS_MOM">2.3 Mom's document processing terms</a> - </ul> -<a name="USING"></a> - <li><a href="using.html#USING"><strong>3. USING MOM</strong></a> - <ul> - <li><a href="using.html#USING_INTRO">3.1 Introduction</a> - <li><a href="using.html#USING_MACROS">3.2 How to input mom's macros</a> - <li><a href="using.html#USING_INVOKING">3.3 Printing -- invoking groff with mom</a> - <li><a href="using.html#USING_PREVIEWING">3.4 How to preview documents</a> - </ul> -<a name="TYPESET"></a> - <li><a href="typesetting.html#MACROS_TYPESETTING"><strong>4. THE TYPESETTING MACROS</strong></a> - <ul> -<a name="TYPE_INTRO"></a> - <li><a href="typesetting.html#INTRO_MACROS_TYPESETTING">4.1 Introduction to the typesetting macros</a> - <br> -<a name="PAGE"></a> - <li><a href="typesetting.html#PAGE_MARGINS"><strong>4.2 Page Setup</strong></a> -- paper size and page margins - <ul> - <li><a href="typesetting.html#INDEX_SETUP">4.2.1 Macro list</a> - </ul> -<a name="PARAM"></a> - <li><a href="typesetting.html#BASIC_PARAMS"><strong>4.3 Basic Parameters</strong></a> -- family, font, fallback font, point size, line space, line length, autolead - <ul> - <li><a href="typesetting.html#INDEX_BASIC">4.3.1 Macro list</a> - </ul> -<a name="JUST"></a> - <li><a href="typesetting.html#JUST_QUAD_FILL"><strong>4.4 Justifying, Quadding, Filling and Breaking Lines</strong></a> - <ul> - <li><a href="typesetting.html#INDEX_JUST">4.4.1 Macro list</a> - </ul> -<a name="REFINE"></a> - <li><a href="typesetting.html#REFINEMENTS"><strong>4.5 Refinements</strong></a> -- word space, sentence space, letter spacing (track kerning), hyphenation, kerning, ligatures - <ul> - <li><a href="typesetting.html#INDEX_REFINEMENTS">4.5.1 Macro list</a> - </ul> -<a name="MOD"></a> - <li><a href="typesetting.html#MODIFICATIONS"><strong>4.6 Modifying Type</strong></a> -- pseudo-italic, -bold, -condensed, and -extended - <ul> - <li><a href="typesetting.html#INDEX_MODIFICATIONS">4.6.1 Macro list</a> - </ul> -<a name="VERT"></a> - <li><a href="typesetting.html#ALDRLD"><strong>4.7 Vertical Movements</strong></a> -- moving up and down on the page - <ul> - <li><a href="typesetting.html#INDEX_ALDRLD">4.7.1 Macro list</a> - </ul> -<a name="TAB"></a> - <li><a href="typesetting.html#TABS"><strong>4.8 Tabs</strong></a> - <ul> - <li><a href="typesetting.html#TYPESETTING_TABS">4.8.1 Typesetting tabs</a> - <ul> - <li><a href="typesetting.html#TYPESETTING_TABS_TUT">4.8.1.1 Quickie tutorial</a> - </ul> - <li><a href="typesetting.html#STRING_TABS">4.8.2 String tabs (autotabs)</a> - <ul> - <li><a href="typesetting.html#STRING_TABS_TUT">4.8.2.1 Quickie tutorial</a> - </ul> - <li><a href="typesetting.html#INDEX_TABS">4.8.3 Macro list</a> - </ul> -<a name="COL"></a> - <li><a href="typesetting.html#MULTI_COLUMNS"><strong>4.9 Multi-columns</strong></a> - <ul> - <li><a href="typesetting.html#INDEX_MULTI_COLUMNS">4.9.1 Macro list</a> - </ul> -<a name="IND"></a> - <li><a href="typesetting.html#INDENTS"><strong>4.10 Indents</strong></a> - <ul> - <li><a href="typesetting.html#INDENTS_TUT">4.10.1 A brief explanation of how mom handles indents</a> - <li><a href="typesetting.html#INDEX_INDENTS">4.10.2 Macro list</a> - </ul> -<a name="GOODIES"></a> - <li><a href="goodies.html#GOODIES"><strong>4.11 Goodies</strong></a> -- aliases, - transparent lines, smartquotes, caps, - underscoring/underlining, padding lines, leaders, drop - caps, superscripts, (nested) lists, user-definable strings - <ul> - <li><a href="goodies.html#INDEX_GOODIES">4.11.1 Macro list</a> - </ul> -<a name="ESCAPES"></a> - <li><a href="inlines.html#INLINE_ESCAPES"><strong>4.12 Inline Escapes</strong></a> - <ul> - <li><a href="inlines.html#INTRO_INLINE_ESCAPES">4.12.1 Introduction to inline escapes</a> - <li><a href="inlines.html#INLINES_MOM">4.12.2 Mom's personal inlines</a> - <li><a href="inlines.html#INLINES_GROFF">4.12.3 Groff inlines</a> - <li><a href="inlines.html#INLINE_CHARACTERS_GROFF">4.12.3.1 Inlines for special characters and symbols</a> - </ul> -<a name="COLOR"></a> - <li><a href="color.html#TOP"><strong>4.13 Coloured text</strong></a> - <ul> - <li><a href="color.html#INTRO_COLOR">4.13.1 Introduction to coloured text</a> - <li><a href="color.html#MACROS_COLOR">4.13.2 Macro list</a> - </ul> - </ul> -<a name="DOCPROC"></a> -<a name="DOCPROC_INTRO"></a> - <li><a href="docprocessing.html#DOCPROCESSING"><strong>5. DOCUMENT PROCESSING WITH MOM</strong></a> - <ul> - <li><a href="docprocessing.html#INTRO_MACROS_DOCPROCESSING">5.1 Introduction to document processing</a> - <li><a href="docprocessing.html#DEFAULTS">5.2 Some document defaults</a> - <ul> - <li><a href="docprocessing.html#LEADING_NOTE">IMPORTANT NOTE on leading/spacing and bottom margins</a> - <li><a href="docprocessing.html#SHIM">The SHIM macro</a> -- to get document leading back on track - </ul> -<a name="PRELIM"></a> - <li><a href="docprocessing.html#SETUP"><strong>5.3 PRELIMINARY DOCUMENT SETUP</strong></a> - <ul> - <li><a href="docprocessing.html#DOCPROCESSING_TUT">5.3.1 Tutorial</a> -- setting up a mom document - <br> - <li><a href="docprocessing.html#REFERENCE_MACROS"><strong>5.3.2 The Reference Macros</strong></a> - <ul> - <li><a href="docprocessing.html#TITLE">5.3.2.1 TITLE</a> - <li><a href="docprocessing.html#DOC_TITLE">5.3.2.2 DOCTITLE</a> - <li><a href="docprocessing.html#SUBTITLE">5.3.2.3 SUBTITLE</a> - <li><a href="docprocessing.html#AUTHOR">5.3.2.4 AUTHOR</a> - <li><a href="docprocessing.html#CHAPTER">5.3.2.5 CHAPTER</a> - <li><a href="docprocessing.html#CHAPTER_TITLE">5.3.2.6 CHAPTER_TITLE</a> - <li><a href="docprocessing.html#DRAFT">5.3.2.7 DRAFT</a> - <li><a href="docprocessing.html#REVISION">5.3.2.8 REVISION</a> - <li><a href="docprocessing.html#COPYRIGHT">5.3.2.9 COPYRIGHT</a> - <li><a href="docprocessing.html#MISC">5.3.2.10 MISC</a> - <li><a href="docprocessing.html#COVERTITLE">5.3.2.11 COVER_TITLE</a> - <li><a href="docprocessing.html#COVERTITLE">5.3.2.12 DOC_COVER_TITLE</a> - </ul> - <li><a href="docprocessing.html#DOCSTYLE_MACROS"><strong>5.3.3 The Docstyle Macros</strong></a> - <ul> - <li><a href="docprocessing.html#DOCTYPE">5.3.3.1 DOCTYPE</a> -- kind of document - <li><a href="docprocessing.html#PRINTSTYLE">5.3.3.2 PRINTSTYLE</a> -- typeset or typewrite - <li><a href="docprocessing.html#COPYSTYLE">5.3.3.3 COPYSTYLE</a> -- draft or final - </ul> - <li><a href="docprocessing.html#STYLE_BEFORE_START"><strong>5.3.4 Changing Type and Style Parameters <em>before</em> START</strong></a> - <ul> - <li><a href="docprocessing.html#TYPE_BEFORE_START">5.3.4.1 Typesetting macros before START</a> -- usage - <ul> - <li><a href="docprocessing.html#COLOR">Colour</a> - </ul> - <li><a href="docprocessing.html#DOC_LEAD_ADJUST">5.3.4.2 DOC_LEAD_ADJUST</a> -- adjusting the document - <a href="definitions.html#TERMS_LEADING">leading</a> (line spacing) to fill pages - <li><a href="docprocessing.html#DOCHEADER">5.3.4.3 DOCHEADER</a> -- managing the - <a href="definitions.html#TERMS_DOCHEADER">document header</a> - - <li><a href="docprocessing.html#COLUMNS_INTRO">5.3.4.4 COLUMNS</a> -- setting documents in columns - </ul> - <li><a href="docprocessing.html#START_MACRO"><strong>5.3.5 ***START***</strong></a> -- the macro to initiate document processing - <br> - <li><a href="docprocessing.html#DOC_PARAM_MACROS"><strong>5.3.6 Changing Document-wide Style Parameters <em>after</em> START</strong></a> - <ul> - <li><a href="docprocessing.html#INDEX_DOC_PARAM">5.3.6.1 Macro list</a> - </ul> -<a name="TYPEMACDOC"></a> - <li><a href="typemacdoc.html#TYPESETTING"><strong>5.3.7 Using typesetting macros during document processing</strong></A> - </ul> -<a name="TAGS"></a> - <li><a href="docelement.html#DOCELEMENT"><strong>5.4 THE DOCUMENT ELEMENT TAGS</strong></a> - <ul> - <li><a href="docelement.html#DOCELEMENT_INTRO">5.4.1 Introduction to the document element tags</a> - <ul> - <li><a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a> -- changing style defaults for document element tags - <li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a> - </ul> - <li><a href="docelement.html#EPIGRAPH_INTRO">5.4.2 Epigraphs</a> - <li><a href="docelement.html#PP_INTRO">5.4.3 Paragraphs</a> - <li><a href="docelement.html#HEAD_INTRO">5.4.4 Main heads</a> - <li><a href="docelement.html#SUBHEAD_INTRO">5.4.5 Subheads</a> - <li><a href="docelement.html#PARAHEAD_INTRO">5.4.6 Paragraph heads</a> - <li><a href="docelement.html#LINEBREAK_INTRO">5.4.7 Linebreaks</a> -- author linebreaks (section breaks) - <li><a href="docelement.html#QUOTE_INTRO">5.4.8 Quotes</a> -- line for line poetic quotes or unformatted, verbatim text (e.g. code snippets) - <li><a href="docelement.html#BLOCKQUOTE_INTRO">5.4.9 Blockquotes</a> -- cited material - <li><a href="docelement.html#LIST_INTRO">5.4.10 Lists</a> -- (nested) lists - <li><a href="docelement.html#NUMBER_LINES_INTRO">5.4.11 Line numbering</a> - <li><a href="docelement.html#FOOTNOTE_INTRO">5.4.12 Footnotes</a> - <li><a href="docelement.html#ENDNOTE_INTRO">5.4.13 Endnotes</a> - <li><a href="docelement.html#MARGIN_NOTES_INTRO">5.4.14 Margin notes</a> - <li><a href="docelement.html#BLANK_PAGE_TITLE">5.4.15 Blank pages</a> - <li><a href="docelement.html#TOC_INTRO">5.4.16 Table of contents</a> - <li><a href="docelement.html#FINIS_INTRO">5.4.17 Document termination</a> -- FINIS - </ul> -<a name="HDRFTR"></a> - <li><a href="headfootpage.html#HEADFOOTPAGE"><strong>5.5 DOCUMENT HEADERS AND FOOTERS</strong></a> - <ul> - <li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">5.5.1 Introduction</a> - <li><a href="headfootpage.html#DESCRIPTION_GENERAL">5.5.2 General description of headers/footers</a> - <li><a href="headfootpage.html#HEADER_STYLE">5.5.3 Default specs for headers/footers</a> - <li><a href="headfootpage.html#VERTICAL_SPACING">5.5.4 Vertical placement and spacing of headers/footers</a> - <li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">5.5.5 Managing headers/footers</a> - <ul> - <li><a href="headfootpage.html#USERDEF_HDRFTR">5.5.5.1 User-defined, single string recto/verso headers/footers</a> - </ul> - <li><a href="headfootpage.html#HEADFOOT_CONTROL">5.5.6 Control macros for headers/footers</a> - </ul> -<a name="PAGINATE"></a> - <li><a href="headfootpage.html#PAGINATION"><strong>5.6 PAGINATION</strong></a> - <ul> - <li><a href="headfootpage.html#PAGINATION">Introduction</a> - <li><a href="headfootpage.html#INDEX_PAGINATION">Pagination macros list</a> - </ul> -<a name="RV"></a> - <li><a href="rectoverso.html#RECTOVERSO"><strong>5.7 RECTO/VERSO PRINTING AND COLLATING</strong></a> - <ul> - <li><a href="rectoverso.html#RECTOVERSO_INTRO">5.7.1 Introduction to recto/verso</a> - <ul> - <li><a href="rectoverso.html#RECTOVERSO_LIST">5.7.1.1 Macro list</a> - </ul> - <li><a href="rectoverso.html#COLLATE_INTRO">5.7.2 Introduction to collating</a> - <ul> - <li><a href="rectoverso.html#COLLATE">5.7.2.1 The COLLATE macro</a> - </ul> - </ul> -<a name="COVER"></a> - <li><a href="cover.html#COVER_TOP"><strong>5.8 CREATING COVER PAGES</strong></a> - <br> -<a name="REF"></a> - <li><a href="refer.html#REF_TOP"><strong>5.9 BIBLIOGRAPHIES AND REFERENCES</strong></a> - <br> -<a name="LETTER"></a> - <li><a href="letters.html#LETTERS"><strong>5.10 WRITING LETTERS</strong></a> - <ul> - <li><a href="letters.html#LETTERS_INTRO">5.10.1 Introduction to writing letters</a> - <li><a href="letters.html#TUTORIAL">5.10.2 Tutorial on writing letters</a> - <li><a href="letters.html#LETTERS_DEFAULTS">5.10.3 Default style for letters</a> - <li><a href="letters.html#LETTERS_MACROS">5.10.4 The letter macros</a> - </ul> - </ul> -<a name="QUICK"></a> -<li><a href="macrolist.html#QUICK"><strong>6. QUICK REFERENCE GUIDE TO MOM</strong></a> -<p> -<a name="APP"></a> -<li><a href="appendices.html#APPENDICES"><strong>7. APPENDICES</strong></a> - <ul> - <li><a href="appendices.html#MOREDOC">7.1 Further notes on this documentation</a> - <li><a href="appendices.html#FONTS">7.2 Adding PostScript fonts to groff</a> - <ul> - <li><a href="appendices.html#HOWTO">7.2.1 How to create a PostScript font for use with groff</a> - </ul> - <li><a href="appendices.html#CODENOTES">7.2 Some reflections on mom</a> - <li><a href="reserved.html#RESERVED">7.3 List of reserved words</a> - <li><a href="appendices.html#CONTACT">7.4 Contact the author</a> - </ul> -</ul> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/typemacdoc.html b/contrib/groff/contrib/mom/momdoc/typemacdoc.html deleted file mode 100644 index bedd031905bc..000000000000 --- a/contrib/groff/contrib/mom/momdoc/typemacdoc.html +++ /dev/null @@ -1,235 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Typesetting macros in document processing</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="docelement.html#TOP">Next</a> -<a href="docprocessing.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> - -<a name="TOP"></a> -<a name="TYPESETTING"> - <h1 align="center"><u>USING TYPESETTING MACROS DURING DOCUMENT PROCESSING</u></h1> -</a> - -During document processing, most of the -<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a> -affect type in the document globally. For example, if you turn kerning -off, pairwise kerning is disabled not only in paragraphs, but -also in headers, footers, quotes, and so on. -<p> -Typesetting macros that alter margins and line lengths affect -<a href="definitions.html#TERMS_RUNNING">running text</a> -globally (or at least try to), but leave headers/footers and footnotes -alone. (To indent footnotes, see the full explanation of the -<a href="docelement.html#FOOTNOTE">FOOTNOTE</a> -macro.) -<p> -<strong>Mom</strong>'s tabs -(both -<a href="typesetting.html#TYPESETTING_TABS">typesetting tabs</a> -and -<a href="typesetting.html#STRING_TABS">string tabs</a>) -behave as expected in running text during document processing. Tab -structures that do not exceed the line length of running text are -preserved sensibly from page to page, and, if -<a href="docprocessing.html#COLUMNS">COLUMNS</a> -are enabled, from column to column. -<p> -Some typesetting macros, however, when used during document -processing, behave in special ways. These are the macros that deal -with the basic parameters of type style: horizontal and vertical -margins, line length, -<a href="definitions.html#TERMS_FAMILY">family</a>, -<a href="definitions.html#TERMS_FONT">font</a>, -<a href="definitions.html#TERMS_PS">point size</a>, -<a href="definitions.html#TERMS_LEADING">leading</a>, -and -<a href="definitions.html#TERMS_QUAD">quad</a>. - -<p> -<strong>Mom</strong> assumes that any changes to these parameters -stem from a temporary need to set type in a style different from that -provided by <strong>mom</strong>'s -<a href="docelement.html#INDEX_DOCELEMENT">document element tags</a>. -In other words, you need to do a bit of creative typesetting in the -middle of a document. -<p> -The following lists those typesetting macros whose behaviour during -document processing requires some explanation. -(Please refer to -<a href="#TB_MARGINS">Top and bottom margins in document processing</a> -for information on how <strong>mom</strong> interprets -<a href="typesetting.html#T_MARGIN">T_MARGIN</a> -and -<a href="typesetting.html#B_MARGIN">B_MARGIN</a> -in document processing. Additionally, see -<a href="#ADD_SPACE">ADD_SPACE</a> -if you encounter the problem of trying to get <strong>mom</strong> -to put space at the tops of pages after the first.) - -<pre> -MACRO EFFECT DURING DOCUMENT PROCESSING ------ --------------------------------- - -L_MARGIN *The left margin of all running text - assumes the new value. - - *The line length remains unaltered. - - *The header and footer left margin - remain at the current document default. - - (You won't use this often by itself. Most - likely, you'll use it in combination with - R_MARGIN or LL.) - -R_MARGIN *The right margin of all running text - assumes the new value. In other words, - the line length is altered. - - *The header and footer right margin - remain at the current document default. - -LL *The line length of all running text - is set to the new value. - - *The header and footer line length remain - at the current document default. - -FAMILY *Changes family for the duration of the - current tag only. As soon as another document - element tag is invoked, the family reverts to - the current default for the new tag. - -FT *Changes font for the duration of the - current tag only. As soon as another document - element tag is entered, the font reverts - to the current default for the new tag. - - N.B. -- \*[SLANT] and \*[BOLDER] affect - paragraph text, and remain in effect for all - paragraphs until turned off. If you want to - use them in a macro that takes a string - argument, include the escape in the string. - \*[COND] and \*[EXT] behave similarly. - -PT_SIZE *Changes point size for the duration of the - current tag only. As soon as another document - element tag is entered, the point size reverts - to the current document default for the new - tag. - -LS *Changes line space for the duration of the - current tag only. As soon as another document - element tag is entered, the line space reverts to - the current document default for the new - tag. - - Using LS to temporarily change leading within a - document will almost certainly result in a bottom - margin that doesn't align with the bottom margin - of subsequent pages. You'll need to use the SHIM - macro to get mom back on track when you're ready - to return to the document's default leading. - -QUAD *Changes quad for the duration of the - current tag only. As soon as another document - element tag is entered, the quad reverts to - the current document default for the new - tag. - - N.B. -- Line-for-line quadding macros - (LEFT, CENTER, RIGHT) are also temporary, - overridden by the QUAD value of any subsequent - document element tag. -</pre> -<hr> - -<!=====================================================================> - -<a name="TB_MARGINS"> - <h2><u>Top and bottom margins in document processing</u></h2> -</a> - -Normally, <strong>mom</strong> establishes the top and bottom margins -of -<a href="definitions.html#TERMS_RUNNING">running text</a> -in documents from the values of <strong>HEADER_MARGIN + -HEADER_GAP</strong> and <strong>FOOTER_MARGIN + FOOTER_GAP</strong> -respectively. However, if you invoke -<a href="typesetting.html#T_MARGIN">T_MARGIN</a> -or -<a href="typesetting.html#B_MARGIN">B_MARGIN</a> -either before or after -<a href="docelement.html#START">START</a>, -they set the top and bottom margins of running text irrespective -of <strong>HEADER_GAP</strong> and <strong>FOOTER_GAP</strong>. -<p> -Put another way, in document processing, <strong>T_MARGIN</strong> -and <strong>B_MARGIN</strong> set the top and bottom margins of -running text, but have no effect on the placement of -<a href="definitions.html#TERMS_HEADER">headers</a>, -<a href="definitions.html#TERMS_FOOTER">footers</a>, -or page numbers. - -<a name="ADD_SPACE"> - <h2><u>ADD_SPACE</u></h2> -</a> - -<p> -Occasionally, you may want to insert space before the start of -<a href="definitions.html#TERMS_RUNNING">running text</a> -on pages after the first. -<p> -You might have tried using -<a href="typesetting.html#ALD">ALD</a> -or -<a href="typesetting.html#SPACE">SPACE</a> -and found it did nothing. This is because <strong>mom</strong> -normally inhibits any extra space before the start of running text -on pages after the first. -<p> -If you need the space, you must use the macro, -<strong>ADD_SPACE</strong>, in conjuction with -<a href="typesetting.html#NEWPAGE">NEWPAGE</a>. -<strong>ADD_SPACE</strong> takes as its single argument the -distance you want <strong>mom</strong> to advance from the normal -baseline position at the top of the page. A -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> -is required. - -<p> -For example, say you wanted to insert 2 inches of space before the -start of running text on a page other than the first. You'd -accomplish it with - -<p> -<pre> - .NEWPAGE - .ADD_SPACE 2i -</pre> - -which would terminate your current page, break to a new page, -print the header (assuming headers are on) and insert 2 inches of -space before the start of running text. -<p> -Since adding space in this way is almost sure to disrupt -<strong>mom</strong>'s ability to guarantee perfectly flush bottom -margins, I highly recommend using the -<a href="docprocessing.html#SHIM">SHIM</a> -macro immediately after <strong>ADD_SPACE</strong>. -<p> -<hr> -<a href="docelement.html#TOP">Next</a> -<a href="docprocessing.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/typesetting.html b/contrib/groff/contrib/mom/momdoc/typesetting.html deleted file mode 100644 index a161c5b4c341..000000000000 --- a/contrib/groff/contrib/mom/momdoc/typesetting.html +++ /dev/null @@ -1,4189 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Mom -- Typesetting Macros</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="goodies.html#TOP">Next</a> -<a href="definitions.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> -<a name="TOP"></a> -<a name="MACROS_TYPESETTING"> - <h1 align="center"><u>THE TYPESETTING MACROS</u></h1> -</a> - -<a href="#INTRO_MACROS_TYPESETTING">Introduction to the typesetting macros</a> -<br> -<ul> - <li><strong>PAGE SETUP</strong> - <ul> - <li><a href="#INTRO_SETUP">Introduction to Page Setup</a> - <li><a href="#INDEX_SETUP">List of macros</a> - </ul> - <li><strong>BASIC TYPESETTING PARAMETERS</strong> - <ul> - <li><a href="#INTRO_BASIC_PARAMS">Introduction to Basic Parameters</a> - <li><a href="#INDEX_BASIC">List of macros</a> - </ul> - <li><strong>JUSTIFYING, QUADDING, FILLING, BREAKING and JOINING LINES</strong> - <ul> - <li><a href="#INTRO_JUST_QUAD_FILL">Introduction to justify, quad, fill, break</a> - <li><a href="#INDEX_JUST">List of macros</a> - </ul> - <li><strong>TYPOGRAPHIC REFINEMENTS</strong> - <ul> - <li><a href="#INTRO_REFINEMENTS">Introduction to typographic refinements</a> - <li><a href="#INDEX_REFINEMENTS">List of macros</a> - </ul> - <li><strong>TYPE MODIFICATIONS -- pseudo italic, bold, condense, extend</strong> - <ul> - <li><a href="#INTRO_MODIFICATIONS">Introduction to type modifications</a> - <li><a href="#INDEX_MODIFICATIONS">List of macros</a> - </ul> - <li><strong>VERTICAL MOVEMENTS</strong> - <ul> - <li><a href="#INTRO_ALDRLD">Introduction to vertical movements</a> - <li><a href="#INDEX_ALDRLD">List of macros</a> - </ul> - <li><strong>TABS</strong> - <ul> - <li><a href="#INTRO_TABS">Introduction to tabs</a> - <li><a href="#TYPESETTING_TABS">Typesetting tabs</a> - <ul> - <li><a href="#TYPESETTING_TABS_TUT">Quickie tutorial</a> - </ul> - <li><a href="#STRING_TABS">String tabs</a> - <ul> - <li><a href="#STRING_TABS_TUT">Quickie tutorial</a> - </ul> - <li><a href="#INDEX_TABS">List of macros</a> - </ul> - <li><strong>MULTI-COLUMNS</strong> - <ul> - <li><a href="#INTRO_MULTI_COLUMNS">Introduction to multi-columns</a> - <li><a href="#INDEX_MULTI_COLUMNS">List of macros</a> - </ul> - <li><strong>INDENTS</strong> - <ul> - <li><a href="#INTRO_INDENTS">Introduction to indents</a> - <li><a href="#INDEX_INDENTS">List of macros</a> - </ul> - <li><strong>GOODIES</strong> - <ul> - <li><a href="goodies.html#GOODIES">Introduction to goodies</a> - <li><a href="goodies.html#INDEX_GOODIES">List of macros</a> - </ul> - <li><strong>INLINE ESCAPES</strong> - <ul> - <li><a href="inlines.html#INLINE_ESCAPES_INTRO">Introduction to inline escapes</a> - <li><a href="inlines.html#INDEX_INLINES">List of inline escapes</a> - </ul> -</ul> -<p> -<hr> - -<h2><a name="INTRO_MACROS_TYPESETTING"><u>Introduction to the typesetting macros</u></a></h2> - -<strong>Mom</strong>'s typesetting macros provide access to -groff's typesetting capabilities. Aside from controlling basic -type parameters (family, font, line length, point size, leading), -<strong>mom</strong>'s macros fine-tune wordspacing, letterspacing, -kerning, hyphenation, and so on. In addition, <strong>mom</strong> -has true typesetting tabs, string tabs, multiple indent styles, -line padding, and a batch of other goodies. -<p> -In some cases, <strong>mom</strong>'s typesetting macros merely imitate -groff primitives. In others, they approach typesetting concerns in -conceptually new ways (for groff, at least). This should present no -problem for newcomers to groff who are learning <strong>mom</strong>. -Old groff hands should be careful. Just because it looks like a -duck and walks like a duck does not, in this instance, mean that it -is a duck. When using <strong>mom</strong>, stay away from groff -primitives if <strong>mom</strong> provides a macro that accomplishes -the same thing. -<p> -<strong>Mom</strong>'s typesetting macros can be used as a standalone -package, independent of the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -With them, you can typeset on-the-fly. Book covers, your best -friend's résumé, a poster for a lost dog--none of these requires -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. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_SETUP"></a> - -<a name="PAGE_MARGINS"> - <h2><u>Page setup: paper size and page margins</u></h2> -</a> - -The page setup macros establish the physical dimensions of your -page and the margins you want it to have. <strong>Groff</strong> -has defaults for these, but I recommend setting them at the top -of your files anyway unless you're using <strong>mom</strong>'s -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -and are content with her defaults. -<p> -The -<a href="#PAPER">PAPER</a> -macro provides a shortcut for setting the page to the correct dimensions -for a number of well-known, established paper sizes. The -<a href="#PAGE">PAGE</a> -macro provides a convenient way of setting the page dimensions and -some or all of the page margins with a single macro. -<p> - -<a name="INDEX_SETUP"> - <h3><u>Page setup macros list</u></h3> -</a> - -<ul> - <li><a href="#PAGEWIDTH">PAGEWIDTH</a> (page width) - <li><a href="#PAGELENGTH">PAGELENGTH</a> (page length) - <li><a href="#PAPER">PAPER</a> (common paper sizes) - <li><a href="#L_MARGIN">L_MARGIN</a> (left margin) - <li><a href="#R_MARGIN">R_MARGIN</a> (right margin) - <li><a href="#T_MARGIN">T_MARGIN</a> (top margin) - <li><a href="#B_MARGIN">B_MARGIN</a> (bottom margin) - <li><a href="#PAGE">PAGE</a> (page dimensions and margins all in one fell swoop) - <li><a href="#NEWPAGE">NEWPAGE</a> (start a new page) -</ul> -<p> - -<!---PAGEWIDTH---> - -<hr width="66%" align="left"> - <a name="PAGEWIDTH"><h3><u>Page width</u></h3></a> -<br> -<nobr>Macro: <strong>PAGEWIDTH</strong> <width of printer sheet></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -The argument to <strong>PAGEWIDTH</strong> is the width of your -printer sheet. <strong>PAGEWIDTH</strong> requires a unit of measure. -Decimal fractions are allowed. Hence, to tell <strong>mom</strong> -the width of your printer sheet is 8-1/2 inches, you enter -<p> -<pre> - .PAGEWIDTH 8.5i -</pre> - -<!---PAGELENGTH---> - -<hr width="66%" align="left"> - <a name="PAGELENGTH"><h3><u>Page length</u></h3></a> -<br> -<nobr>Macro: <strong>PAGELENGTH</strong> <length of printer sheet></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>PAGELENGTH</strong> tells <strong>mom</strong> how long your -printer sheet is. It works just like -<strong>PAGEWIDTH</strong>. Therefore, to tell -<strong>mom</strong> your printer sheet is 11 inches long, you -enter -<p> -<pre> - .PAGELENGTH 11i -</pre> - -<!---PAPER---> - -<hr width="66%" align="left"> - <a name="PAPER"><h3><u>Paper</u></h3></a> -<br> -<nobr>Macro: <strong>PAPER</strong> <paper type></nobr> - -<p> -<strong>PAPER</strong> provides a convenient way to set the page -dimensions for some common printer sheet sizes. <nobr><paper -type> can be one of:</nobr> -<p> -<pre> - LETTER - LEGAL - STATEMENT - TABLOID - LEDGER - FOLIO - QUARTO - 10x14 - EXECUTIVE - A3 - A4 - A5 - B4 - B5 -</pre> - -Say, for example, you have A4-sized sheets in your printer. -It's shorter (and easier) to enter -<p> -<pre> - .PAPER A4 -</pre> - -than to remember the correct dimensions and enter -<p> -<pre> - .PAGEWIDTH 595p - .PAGELENGTH 842p -</pre> - -<!---L_MARGIN---> - -<hr width="66%" align="left"> - <a name="L_MARGIN"><h3><u>Left margin</u></h3></a> -<br> -<nobr>Macro: <strong>L_MARGIN</strong> <left margin></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>L_MARGIN</strong> establishes the distance from the left edge -of the printer sheet at which you want your type to start. It may -be used any time, and remains in effect until you enter a new value. -<p> -<a href="#IL">Left indents</a> -and -<a href="#TABS">tabs</a> -are calculated from the value you pass to <strong>L_MARGIN</strong>, -hence it's always a good idea to invoke it before starting any serious -typesetting. A unit of measure is required. Decimal fractions are -allowed. Therefore, to set the left margin at 3 picas (1/2 inch), -you'd enter either -<p> -<pre> - .L_MARGIN 3P - or - .L_MARGIN .5i -</pre> - -If you use the macros -<a href="#PAGE">PAGE</a>, -<a href="#PAGEWIDTH">PAGEWIDTH</a> -or -<a href="#PAPER">PAPER</a> -without invoking <strong>L_MARGIN</strong> (either before -or afterwards), <strong>mom</strong> automatically sets -</strong>L_MARGIN</strong> to 1 inch. -<p> -<strong>NOTE:</strong> L_MARGIN behaves in a special way when you're -using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -See -<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document Processing</a> -for an explanation. -<p> - -<!---R_MARGIN---> - -<hr width="66%" align="left"> - <a name="R_MARGIN"><h3><u>Right margin</u></h3></a> -<br> -<nobr>Macro: <strong>R_MARGIN</strong> <right margin></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>R_MARGIN</strong> establishes the amount of space you -want between the end of typeset lines and the right hand edge -of the printer sheet. In other words, it sets the line length. -<strong>R_MARGIN</strong> requires a unit of measure. Decimal -fractions are allowed. -<p> -The <a href="#LINELENGTH">line length macro</a> (<strong>LL</strong>) can -be used in place of <strong>R_MARGIN</strong>. In either case, the -last one invoked sets the line length. The choice of which to use is -up to you. In some instances, you may find it easier to think of a -section of type as having a right margin. In others, giving a line -length may make more sense. -<p> -For example, if you're setting a page of type you know should have -6-pica margins left and right, it makes sense to enter a left and -right margin, like this: -<p> -<pre> - .L_MARGIN 6P - .R_MARGIN 6P -</pre> - -That way, you don't have to worry about calculating the line -length. On the other hand, if you know the line length for a -patch of type should be 17 picas and 3 points, entering the line -length with <strong>LL</strong> is much easier than calculating the -right margin. -<p> -<pre> - .LL 17P+3p -</pre> - -If you use the macros -<a href="#PAGE">PAGE</a>, -<a href="#PAGEWIDTH">PAGEWIDTH</a> -or -<a href="#PAPER">PAPER</a> -without invoking <strong>R_MARGIN</strong> afterwards, -<strong>mom</strong> automatically sets <strong>R_MARGIN</strong> -to 1 inch. If you set a line length after these macros (with -<a href="#LINELENGTH">LL</a>), -the line length calculated by <strong>R_MARGIN</strong> is, of course, -overridden. -<p> -<strong>IMPORTANT: R_MARGIN</strong>, if used, MUST come after -<a href="#PAPER">PAPER</a>, -<a href="#PAGEWIDTH">PAGEWIDTH</a>, -<a href="#L_MARGIN">L_MARGIN</a> -and/or -<a href="#PAGE">PAGE</a> -(if a right margin isn't given to <strong>PAGE</strong>). -The reason is that <strong>R_MARGIN</strong> calculates line -length from the overall page dimensions and the left margin. -Obviously, it can't make the calculation if it doesn't know the page -width and the left margin. -<p> -<strong>NOTE: R_MARGIN</strong> behaves in a special way -when you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -See -<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document Processing</a> -for an explanation. -<p> - -<!---T_MARGIN---> - -<hr width="66%" align="left"> - <a name="T_MARGIN"><h3><u>Top margin</u></h3></a> -<br> -<nobr>Macro: <strong>T_MARGIN</strong> <top margin></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>T_MARGIN</strong> 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 centimetres, you'd enter -<p> -<pre> - .T_MARGIN 2.5c -</pre> - -<strong>T_MARGIN</strong> calculates the vertical position of the -first line of type on a page by treating the top edge of the printer -sheet as a <a href="definitions.html#TERMS_BASELINE">baseline</a>. Therefore, -<p> -<pre> - .T_MARGIN 1.5i -</pre> - -puts the baseline of the first line of type 1-1/2 inches beneath -the top of the page. -<p> -<strong>IMPORTANT:</strong> <strong>T_MARGIN</strong> does two -things: it establishes the top margin for pages that come after -it AND it moves to that position on the current page. Therefore, -<strong>T_MARGIN</strong> should only be used at the top of a file -(prior to entering text) or after -<a href="#NEWPAGE">NEWPAGE</a>, -like this: -<p> -<pre> - .NEWPAGE - .T_MARGIN 6P - <text> -</pre> - -<strong>NOTE:</strong> <strong>T_MARGIN</strong> means something -slightly different when you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -See -<a href="typemacdoc.html#TB_MARGINS">Top and bottom margins in document processing</a> -for an explanation. -<p> - -<!---B_MARGIN---> - -<hr width="66%" align="left"> - <a name="B_MARGIN"><h3><u>Bottom margin</u></h3></a> -<br> -<nobr>Macro: <strong>B_MARGIN</strong> <bottom margin></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>B_MARGIN</strong> sets a nominal position at the bottom -of the page beyond which you don't want your type to go. When the -bottom margin is reached, <strong>mom</strong> starts a new page. -<strong>B_MARGIN</strong> requires a unit of measure. Decimal -fractions are allowed. To set a nominal bottom margin of 3/4 inch, -enter -<p> -<pre> - .B_MARGIN .75i -</pre> - -Obviously, if you haven't spaced the type on your pages so that -the last lines fall perfectly at the bottom margin, the margin will -vary from page to page. Usually, but not always, the last line of -type that fits on a page <em>before</em> the bottom margin causes -<strong>mom</strong> to start a new page. -<p> -Occasionally, owing to a peculiarity in <strong>groff</strong>, -an extra line will fall below the nominal bottom margin. If you're -using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>, -this is unlikely to happen; the document processing macros are very -hard-nosed about aligning bottom margins. -<p> -<strong>NOTE:</strong> The meaning of <strong>B_MARGIN</strong> is -slightly different when you're using the document processing macros. -See -<a href="typemacdoc.html#TB_MARGINS">Top and bottom margins in document processing</a> -for an explanation. -<p> - -<!---PAGE---> - -<hr width="66%" align="left"> - <a name="PAGE"><h3><u>Page</u></h3></a> -<br> -Macro: <strong>PAGE</strong> -<nobr><width> [ <length> [ <lm> [ <rm> [ <tm> [ <bm> ] ] ] ] ]</nobr> -<br> -<em>*All arguments require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>PAGE</strong> lets you establish paper dimensions and page -margins with a single macro. The only required argument is page width. -The rest are optional, <strong>but they must appear in order and you can't -skip over any.</strong> <nobr><lm>, <rm>, <tm></nobr> -and <nobr><bm> refer to the left, right, top and bottom</nobr> -margins respectively. -<p> -Assuming your page dimensions are 11 inches by 17 inches, and that's -all you want to set, enter -<p> -<pre> - .PAGE 11i 17i -</pre> - -If you want to set the left margin as well, say, at 1 inch, -<strong>PAGE</strong> would look like this: -<p> -<pre> - .PAGE 11i 17i 1i -</pre> - -Now suppose you also want to set the top margin, say, at 1-1/2 -inches. <nobr><tm> comes after <nobr><rm></nobr></nobr> -in the optional arguments, but you can't skip over any arguments, -therefore to set the top margin, you must also give a right margin. -The <strong>PAGE</strong> macro would look like this: -<p> -<pre> - .PAGE 11i 17i 1i 1i 1.5i - | | - required right___| |___top margin - margin -</pre> - -Clearly, <strong>PAGE</strong> is best used when you want a convenient -way to tell <strong>mom</strong> just the dimensions of your printer -sheet (width and length), or when you want to tell her everything -about the page (dimensions and all the margins), for example -<p> -<pre> - .PAGE 8.5i 11i 45p 45p 45p 45p -</pre> - -This sets up an 8-1/2 by 11 inch page with margins of 45 points -(5/8-inch) all around. -<p> -<strong>NOTE:</strong> Only use <strong>PAGE</strong> at the -start of a document, before entering any text. And remember, -when you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>, -top margin and bottom margin mean something slightly different than -when you're using just the typesetting macros (see -<a href="typemacdoc.html#TB_MARGINS">Top and bottom margins in document processing</a>). -<p> -Additionally, if you invoke <strong>PAGE</strong> with a top margin -argument, any macros you invoke after <strong>PAGE</strong> will -almost certainly move the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of the first line of text down by one linespace. To compensate, do -<p> -<pre> - .RLD 1v -</pre> - -immediately before entering any text, or, if it's feasible, make -<strong>PAGE</strong> the last macro you invoke prior to entering text. -<p> - -<!---NEWPAGE---> - -<hr width="66%" align="left"> -<a name="NEWPAGE"><h3><u>Start a new page</u></h3></a> -<br> -Macro: <strong>NEWPAGE</strong> - -<p> -Whenever you want to start a new page, use <strong>NEWPAGE</strong>, by -itself with no argument. <strong>Mom</strong> will finish up -processing the current page and move you to the top of a new one -(subject to the top margin set with -<a href="#T_MARGIN">T_MARGIN</a>. -<p> -<strong>Experts:</strong> Prior to version 1.1.9, -<strong>NEWPAGE</strong> was simply an alias of -<strong>.bp</strong>. As of 1.1.9, <strong>NEWPAGE</strong>, -is its own <strong>mom</strong> macro. While the new macro -should be backwardly compatible with documents created using -pre-1.1.9 <strong>mom</strong>s, I suggest that from this version -onward, if you were in the habit of using <strong>.bp</strong> -whenever you wanted to break to a new page, you now begin to use -<strong>NEWPAGE</strong> instead. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_BASIC_PARAMS"></a> - -<a name="BASIC_PARAMS"> - <h2><u>Basic Typesetting Parameters</u></h2> -</a> - -Basic parameter macros deal with the fundamental requirements -for setting type: family, font, point size, leading and line length. -<p> -If you're using the typesetting macros only, the arguments passed -to the basic parameter macros remain in effect until you change them. -The document processing macros handle things differently. See -<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document Processing</a> -for an explanation. -<p> - -<a name="INDEX_BASIC"><h3><u>Basic parameter macros list</u></h3></a> -<ul> - <li><a href="#FAMILY">FAMILY</a> (type family) - <li><a href="#FONT">FONT</a> (font) - <li><a href="#FALLBACK_FONT">FALLBACK_FONT</a> (for invalid fonts) - <li><a href="#PS">PT_SIZE</a> (point size of type) - <li><a href="#LEADING">LS</a> (line spacing/leading) - <li><a href="#AUTOLEAD">AUTOLEAD</a> (automatic line spacing) - <li><a href="#LINELENGTH">LL</a> (line length) -</ul> - -<!---FAMILY---> - -<hr width="66%" align="left"> -<a name="FAMILY"><h3><u>Type family</u></h3></a> -<br> -<nobr>Macro: <strong>FAMILY</strong> <family></nobr> -<br> -Alias: <strong>FAM</strong> - -<p> -<strong>FAMILY</strong> takes one argument: the name of the -<a href="definitions.html#TERMS_FAMILY">family</a> -you want. Groff comes with a number of PostScript families, each -identified by a 1-, 2- or 3-letter mnemonic. The standard families -are: -<table valign="baseline" summary="family"> -<tr><td width="15"><td><strong>A</strong><td>Avant Garde -<tr><td><td><strong>BM</strong> <td>Bookman -<tr><td><td><strong>H</strong><td>Helvetica -<tr><td><td><strong>HN</strong><td>Helvetica Narrow -<tr><td><td><strong>N</strong><td>New Century Schoolbook -<tr><td><td><strong>P</strong><td>Palatino -<tr><td><td><strong>T</strong><td>Times Roman</td></tr> -<tr><td><td><strong>ZCM</strong><td>Zapf Chancery</td></tr> -</table> -<p> -The argument you pass to <strong>FAMILY</strong> is the identifier at -left, above. For example, if you want Helvetica, enter -<p> -<pre> - .FAMILY H -</pre> - -<strong>NOTE:</strong> The -<a href="#FONT">font macro</a> -(<strong>FT</strong>) lets you specify both the type family -and the desired font with a single macro. While this saves a few -keystrokes, I recommend using <strong>FAMILY</strong> for family, -and <strong>FT</strong> for font, except where doing so is genuinely -inconvenient. <strong>ZCM</strong>, for example, only exists in one -style: Italic (<strong>I</strong>). Therefore, <kbd>.FT ZCMI</kbd> -makes more sense than setting the family to "ZCM", then -setting the font to "I". -<p> -<a name="FAM_ADD_NOTE"></a> -<strong>ADDITIONAL NOTE:</strong> As of <strong>mom, version -1.1.9-a</strong>, if you are running a version of groff lower -than 1.19.2, you <em>MUST</em> follow all <strong>FAMILY</strong> -requests with a <strong>FT</strong> request, otherwise -<strong>mom</strong> will set all type up to the next -<strong>FT</strong> request in the -<a href="#FALLBACK_FONT">fallback font</a>. -<p> -If you are running a version of groff greater than or equal -to 1.19.2, when you invoke the <strong>FAMILY</strong> macro, -<strong>mom</strong> "remembers" the font style (Roman, -Italic, etc) currently in use (if the font style exists in the new -family) and will continue to use the same font style in the new -family. For example: -<p> -<pre> - .FAMILY BM \" Bookman family - .FT I \" Medium Italic - <some text> \" Bookman Medium Italic - .FAMILY H \" Helvetica family - <more text> \" Helvetica Medium Italic -</pre> - -However, if the font style does not exist in the new family, -<strong>mom</strong> will set all subsequent type in the -<a href="#FALLBACK_FONT">fallback font</a> -(by default, Courier Medium Roman) until she encounters a -<a href="#FONT">.FT</a> -request that's valid for the family. For example, assuming -you don't have the font "Medium Condensed Roman" -(<strong>mom</strong> extension "<strong>CD</strong>") -in the Helvetica family: -<p> -<pre> - .FAMILY UN \" Univers family - .FT CD \" Medium Condensed - <some text> \" Univers Medium Condensed - .FAMILY H \" Helvetica family - <more text> \" Courier Medium Roman! -</pre> - -In the above example, you must follow <kbd>.FAMILY H</kbd> with a -<strong>FT</strong> request that's valid for Helvetica. -<p> -<strong>Experts:</strong> -<br> -If you add other PostScript families to groff's /font/devps directory, -I recommend following the groff standard for naming families and fonts. -For example, if you add the Garamond family, name the font files -<p> -<pre> - GARAMONDR - GARAMONDI - GARAMONDB - GARAMONDBI -</pre> - -GARAMOND then becomes a legal family name you can pass to -<strong>FAMILY</strong>. (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. -<p> -Please see the Appendices, -<a href="appendices.html#FONTS">Adding PostScript fonts to groff</a>, -for information on adding fonts and families to groff, as well as -to see a list of the extensions <strong>mom</strong> provides to -groff's basic <strong>R, I, B, BI</strong> styles. -<p> - -<!---FT---> - -<hr width="66%" align="left"> -<a name="FONT"><h3><u>Font</u></h3></a> -<br> -<nobr>Macro: <strong>FT</strong> R | I | B | BI | <any other valid font style></nobr> - -<p> -By default, groff permits <strong>FT</strong> to take one of four -possible arguments specifying the desired font: -<table valign="baseline" summary="font"> -<tr><td width="15"><td><strong>R</strong><td> = <td>(Medium) Roman -<tr><td><td><strong>I</strong><td> = <td>(Medium) Italic -<tr><td><td><strong>B</strong><td> = <td>Bold (Roman) -<tr><td><td><strong>BI</strong><td> = <td>Bold Italic</td></tr> -</table> -<p> -For example, if your -<a href="definitions.html#TERMS_FAMILY">family</a> -is Helvetica, entering -<p> -<pre> - .FT B -</pre> - -will give you the Helvetica bold -<a href="definitions.html#TERMS_FONT">font</a>. -If your family were Palatino, you'd get the Palatino bold font. -<p> -(As of <strong>mom, version 1.1.9-a,</strong> the range of arguments -that can be passed to <strong>FT</strong> has been considerably -extended, allowing access to a greater variety of font -<a href="definitions.html#TERMS_WEIGHT">weights</a> -and -<a href="definitions.html#TERMS_SHAPE">shapes</a>. -Please see the -<a href="#FONT_NOTE">NOTE</a>, -below.) -<p> -How <strong>mom</strong> reacts to an invalid argument to -<strong>FT</strong> depends on which version of groff you're using. -If your groff version is greater than or equal to 1.19.2, -<strong>mom</strong> will issue a warning and, depending on how -you've set up the -<a href="#FALLBACK_FONT">fallback font</a>, -either continue processing using the fallback font, or abort -(allowing you to correct the problem). If your groff version is less -than 1.19.2, <strong>mom</strong> will silently continue processing, -using either the fallback font or the font that was in effect prior -to the invalid <strong>FT</strong> call. -<p> -<strong>FT</strong> will also accept, as an argument, a full -family+font name. For example, -<p> -<pre> - .FT HB -</pre> - -will set subsequent type in Helvetica Bold. However, I strongly -recommend keeping family and font separate except where doing so is -genuinely inconvenient. -<p> -For inline control of fonts, see -<a href="inlines.html#INLINE_FONTS_MOM">Inline Escapes, font control</a>. -<p> -<a name="FONT_NOTE"></a> -<strong>NOTE: mom, versions 1.1.9-a</strong> and higher, -considerably extends the range of arguments you can pass to -<strong>FT</strong>, making it more convenient to add and access -fonts of differing -<a href="definitions.html#TERMS_WEIGHT">weights</a> -and -<a href="definitions.html#TERMS_SHAPE">shapes</a> -within the same family. Have a look -<a href="appendices.html#STYLE_EXTENSIONS">here</a> -for a list of the weight/style arguments <strong>mom</strong> -allows. -<p> -Be aware, though, that you must have the fonts, correctly -installed and named, in order to use the arguments. (See -<a href="appendices.html#HOWTO">How to create a PostScript font for use with groff</a> -for how to add fonts to groff.) Please also read the -<a href="#FAM_ADD_NOTE">ADDITIONAL NOTE</a> -found in the description of the <strong>FAMILY</strong> macro. -<p> - -<!---FALLBACK_FONT---> - -<hr width="66%" align="left"> -<a name="FALLBACK_FONT"><h3><u>Fallback font</u></h3></a> -<br> -<nobr>Macro: <strong>FALLBACK_FONT</strong> <fallback font> [ ABORT | WARN ] | ABORT | WARN</nobr> - -<p> -In the event that you pass an invalid argument to -<a href="#FONT">.FAMILY</a> -(i.e. a non-existent family), <strong>mom</strong>, by default, uses -the fallback font, Courier Medium Roman (CR), in order to continue -processing your file. -<p> -If you'd prefer another fallback font, pass -<strong>FALLBACK_FONT</strong> the <strong>full family+font name -of the font you'd like</strong>. For example, if you'd rather the -fallback font were Times Roman Medium Roman, - -<pre> - .FALLBACK_FONT TR -</pre> -<p> -would do the trick. -<p> -Additionally, if your version of groff accepts accepts "if -F" and "if S" (see -<a href="#FAM_ADD_NOTE">above</a>), -<strong>mom</strong> issues a warning whenever a -<strong>font style</strong> set with -<a href="#FONT">.FT</a> -does not exist, either because you haven't registered the style -(see -<a href="appendices.html#REGISTER_STYLE">here</a> -for instructions on registering styles), or because the font style -does not exist in the current family set with -<a href="#FAMILY">.FAMILY</a>. -By default, <strong>mom</strong> then aborts, which allows you to -correct the problem. -<p> -If you'd prefer that <strong>mom</strong> not abort on non-existent -fonts, but rather continue processing using a fallback font, -you can pass <strong>FALLBACK_FONT</strong> the argument -<strong>WARN</strong>, either by itself, or in conjunction with your -chosen fallback font. -<p> -<strong>Some examples of invoking FALLBACK_FONT:</strong> -<br> -<ul> - <li><kbd>.FALLBACK_FONT WARN</kbd> - <br> - <strong>mom</strong> will issue a warning whenever you try - to access a non-existent font but will continue processing - your file with the default fallback font, Courier Medium Roman. - <li><kbd>.FALLBACK_FONT TR WARN</kbd> - <br> - <strong>mom</strong> will issue a warning whenever you try - to access a non-existent font but will continue processing - your file with a fallback font of Times Roman Medium Roman; - additionally, "TR" will be the fallback font whenever - you try to access a <strong>family</strong> that does not exist. - <li><kbd>.FALLBACK_FONT TR ABORT</kbd> - <br> - <strong>mom</strong> will abort whenever you try to access a - non-existent font, and will use the fallback font - "TR" whenever you try to access a <strong>family</strong> - that does not exist. -</ul> -<p> -If, for some reason, you want to revert to ABORT, just enter -<kbd>.FALLBACK_FONT ABORT</kbd> and <strong>mom</strong> will once -again abort on font errors. -<p> - -<!---PT_SIZE---> - -<hr width="66%" align="left"> -<a name="PS"><h3><u>Point size of type</u></h3></a> -<br> -<nobr>Macro: <strong>PT_SIZE</strong> <size of type in points></nobr> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>PT_SIZE</strong> (Point Size) takes one argument: the size of type -in points. Unlike most other macros that establish the size or measure -of something, <strong>PT_SIZE</strong> does not require that you supply a -unit of measure since it's a near universal convention that type size -is measured in points. Therefore, to change the type size to, say, -11 points, enter -<p> -<pre> - .PT_SIZE 11 -</pre> - -Point sizes may be fractional (e.g. 10.25 or 12.5). -<p> -You can prepend a plus or a minus sign to the argument to -<strong>PT_SIZE</strong>, in which case the point size will be changed by + -or - the original value. For example, if the point size is 12, -and you want 14, you can do -<p> -<pre> - .PT_SIZE +2 -</pre> - -then later reset it to 12 with -<p> -<pre> - .PT_SIZE -2 -</pre> - -The size of type can also be changed inline. See -<a href="inlines.html#INLINE_SIZE_MOM">Inline Escapes, changing point size</a>. -<p> -<strong>NOTE:</strong> It is unfortunate that the <kbd>pic</kbd> -pre-processor uses <strong>PS</strong>, and thus -<strong>mom</strong>'s macro for setting point sizes can't use it. -However, if you aren't using <kbd>pic</kbd>, you might want to -alias <strong>PT_SIZE</strong> as <strong>PS</strong>, since -there'd be no conflict. -<p> -<pre> - .ALIAS PS PT_SIZE -</pre> - -would allow you to set point sizes with <kbd>.PS</kbd>. -<p> - -<!---LS---> - -<hr width="66%" align="left"> -<a name="LEADING"><h3><u>Line spacing/leading</u></h3></a> -<br> -<nobr>Macro: <strong>LS</strong> <distance between lines></nobr> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>LS</strong> (Line Space) takes one argument: the distance you want, typically -in points, from baseline to baseline of type. The argument may -be fractional (e.g. 12.25 or 14.5). Like <strong>PT_SIZE</strong>, -<strong>LS</strong> does not require a unit of measure, since -<a href="definitions.html#TERMS_LEADING">leading</a> -is most often given in points. Therefore, to set the linespace to -14 points, you would enter -<p> -<pre> - .LS 14 -</pre> - -However, if you wish, you may specify a unit of measure by appending -it directly to the argument passed to <strong>LS</strong>. For example, -if you want a linespace of 1/4 of an inch, enter -<p> -<pre> - .LS .25i -</pre> - -You can prepend a plus or a minus sign to the argument to -<strong>LS</strong>, in which case the line spacing will be changed -by + or - the original value. For example, if the line spacing is -14 points, and you want 17 points, you can do -<p> -<pre> - .LS +3 -</pre> - -then later reset it to 14 points with -<p> -<pre> - .LS -3 -</pre> - -<strong>Experts:</strong> -<br> -<strong>LS</strong> should not be confused with the groff primitive -<strong>ls</strong>. <strong>LS</strong> acts like <strong>vs</strong>. -<strong>mom</strong> does not provide a macro analogous to -<strong>ls</strong>. -<p> - -<!---AUTOLEAD---> - -<hr width="66%" align="left"> -<a name="AUTOLEAD"><h3><u>Automatic line spacing</u></h3></a> -<br> -<nobr>Macro: <strong>AUTOLEAD</strong> <amount of automatic leading> [FACTOR]</nobr> -<br> -<em>*Does not require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -Without the <strong>FACTOR</strong> argument, <strong>AUTOLEAD</strong> -calculates the linespace for you by adding its argument to the -current point size of type. All subsequent <strong>PT_SIZE</strong> -requests automatically update the linespacing by the autolead amount. -<p> -Used in this way, <strong>AUTOLEAD</strong> does not require a unit -of measure; points is assumed. However, you may use an alternate -unit of measure by appending it to the argument. The argument may -be a decimal fraction (e.g. .5 or 2.75). -<p> -As an example, if your current point size of type is 12, entering -<p> -<pre> - .AUTOLEAD 2 -</pre> - -changes the linespace to 14 points, regardless any linespacing -already in effect. From here on, every change to the size of type -(with <strong>PT_SIZE</strong>, not -<a href="definitions.html#TERMS_INLINES">inline</a>) -changes the linespace as well. If you decrease the type size to 9 -points, the leading decreases to 11 points. If you increase the type -size to 16 points, the leading increases to 18 points. -<p> -Automatic updating of the linespacing continues until you enter a -"manual" line space value with <strong>LS</strong>. -<p> -If you give <strong>AUTOLEAD</strong> the optional -<strong>FACTOR</strong> argument, <strong>AUTOLEAD</strong> -calculates the line space as a factor of the -<a href="definitions.html#TERMS_NUMERICARGUMENT">numeric argument</a> -you gave <strong>AUTOLEAD</strong>. For example, if your point -size is 12, -<p> -<pre> - .AUTOLEAD 1.125 FACTOR -</pre> -sets the leading at 13.5 points. If you change the point size -to 14, the leading automatically changes to 15.75 (14 x 1.125). -<p> -<strong>NOTE:</strong> There's no need to prepend a plus sign (+) -to <strong>AUTOLEAD</strong>'s argument, although you may do so if you -wish. -<p> - -<!---LL---> - -<hr width="66%" align="left"> -<a name="LINELENGTH"><h3><u>Line length</u></h3></a> -<br> -<nobr>Macro: <strong>LL</strong> <line length></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>LL</strong> (Line Length) takes one argument: the distance from the -left margin of the page to the maximum allowable point on the -right at which groff should place type. The line length, in -other words, as the macro suggests. -<p> -<strong>LL</strong> requires a unit of measure. Therefore, to set the line -length to 39 picas, you would enter -<p> -<pre> - .LL 39P -</pre> - -As with other macros that require a unit of measure, the argument to -<strong>LL</strong> may be fractional. For example, -<p> -<pre> - .LL 4.5i -</pre> - -sets the line length to 4-1/2 inches. - -<p> -Additionally, you may express a new line length relative to the -current line length by prepending a plus or minus sign to the -argument. Thus, if you wanted to increase the line length by 3 -<a href="definitions.html#TERMS_PICASPOINTS">points</a>, you could -do -<p> -<pre> - .LL +3p -</pre> - -This is especially handy when you want to "hang" -punctuation outside the right margin since you can pass groff's -<a href="inlines.html#INLINE_STRINGWIDTH_GROFF"><strong>\w</strong></a> -escape as the argument to <strong>LL</strong>, like this: -<p> -<pre> - .LL +\w'.'u -</pre> - -The above example increases the current line length by the width of -a period. Notice that you must append the -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, -<strong>u</strong>, to the escape since .LL requires a unit of -measure. - -<p> -<strong>NOTE:</strong> The <a href="#R_MARGIN">right margin -macro</a> (<strong>R_MARGIN</strong>) can also be used to set line -length. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_JUST_QUAD_FILL"></a> - -<a name="JUST_QUAD_FILL"> - <h2><u>Justifying, quadding, filling and breaking lines</u></h2> -</a> - -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 -(centred). -<p> -These macros also determine whether or not -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -are joined and -<a href="definitions.html#TERMS_FILLED">filled</a> -during output. -<p> -Additionally, macros that deal with how to break -<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a> -are covered in this section, as is the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -for joining input lines. -<p> -You may encounter some words here that are unfamiliar. Refer to -<a href="definitions.html#TERMS_TYPESETTING">Typesetting terms</a> -and -<a href="definitions.html#TERMS_GROFF">Groff terms</a> -for an explanation. - -<a name="INDEX_JUST"><h3><u>Justification, quad, fill, and break macro list</u></h3></a> -<p> -<ul> - <li><strong>Fill modes</strong> - <ul> - <li><a href="#JUSTIFY">JUSTIFY</a> (set lines justified) - <li><a href="#QUAD">QUAD</a> (set filled lines flush left, right or centred) - </ul> - <li><strong>Nofill modes</strong> - <ul> - <li><a href="#LRC">LEFT</a> (set non-filled lines flush left) - <li><a href="#LRC">RIGHT</a> (set non-filled lines flush right) - <li><a href="#LRC">CENTER</a> (set non-filled lines centred) - </ul> - <li><strong>Breaking lines</strong> - <ul> - <li><a href="#BR">BR</a> (manually break an output line) - <li><a href="#EL">EL</a> (break a line without advancing to the next output line) - <li><a href="#SPACE">SPACE</a> (break a line and add space before the next output line) - <li><a href="#SPREAD">SPREAD</a> (break and force-justify an output line) - </ul> - <li><strong>Joining input lines in - <a href="definitions.html#TERMS_NOFILL">nofill mode</a></strong> - <ul> - <li><a href="#JOIN">\c</a> inline escape - </ul> -</ul> - -<!---JUSTIFY---> - -<hr width="66%" align="left"> -<a name="JUSTIFY"><h3><u>Justify lines</u></h3></a> -<br> -Macro: <strong>JUSTIFY</strong> -<br> -<a href="definitions.html#TERMS_FILLED"><em>Fill mode</em></a> - -<p> -<strong>JUSTIFY</strong> doesn't take an argument. -<a href="definitions.html#TERMS_INPUTLINE">Input lines</a> -after <strong>JUSTIFY</strong> are -<a href="definitions.html#TERMS_FILLED">filled</a> and -<a href="definitions.html#TERMS_JUST">justified</a> -upon output. -<p> -To break lines and prevent them from being filled and justified, -use the -<a href="#BR">BR</a> macro. -<p> - -<!---QUAD---> - -<hr width="66%" align="left"> -<a name="QUAD"><h3><u>Quad lines left, right, or centre</u></h3></a> -<br> -<nobr>Macro: <strong>QUAD</strong> L | LEFT | R | RIGHT | C | CENTER | J | JUSTIFY</nobr> -<br> -Alias: <strong>FILL</strong> -<br> -<a href="definitions.html#TERMS_FILLED"><em>Fill mode</em></a> - -<p> -<strong>QUAD</strong> takes one argument: the direction in which lines -should be -<a href="definitions.html#TERMS_QUAD">quadded</a>. -<a href="definitions.html#TERMS_INPUTLINE">Input lines</a> -after <strong>QUAD</strong> are -<a href="definitions.html#TERMS_FILLED">filled</a> -upon output. -<p> -If <strong>L</strong> or <strong>LEFT</strong>, type is set flush -along the left margin. -<p> -If <strong>R</strong> or <strong>RIGHT</strong>, type is -set flush along the right margin. -<p> -If <strong>C</strong> or <strong>CENTER</strong> type is set centred -on the current line length. -<p> -<strong>J</strong> and <strong>JUSTIFY</strong> justify text, -and are included as a convenience only. Obviously, if text is -justified, it isn't quadded. <strong>QUAD J</strong> and -<strong>QUAD JUSTIFY</strong> have exactly the same effect as <a -href="#JUSTIFY">JUSTIFY</a>. -<p> -To break lines and prevent them from being filled, use the -<a href="#BR">BR</a> macro. -<p> - -<!---LEFT, RIGHT, CENTER---> - -<hr width="66%" align="left"> -<a name="LRC"><h3><u>Set non-filled lines flush left, right, or centred</u></h3></a> -<br> -Macro: <strong>LEFT</strong> - Macro: <strong>RIGHT</strong> - Macro: <strong>CENTER</strong> - (alias <strong>CENTRE</strong>) -<br> -<a href="definitions.html#TERMS_NOFILL"><em>Nofill mode</em></a> - -<p> -<strong>LEFT</strong>, <strong>RIGHT</strong> and -<strong>CENTER</strong> let you enter text on a line for line basis -without having to use the -<a href="#BR">BR</a> macro after each line. -Consider the following: -<p> -<pre> - .QUAD LEFT - So runs my dream, but what am I? - .BR - An infant crying in the night - .BR - An infant crying for the light - .BR - And with no language but a cry. - .BR -</pre> - -Because text after <strong>QUAD</strong> is -<a href="definitions.html#TERMS_FILLED">filled</a>, you have to use the -<a href="#BR">BR</a> -macro to prevent the lines from running together. Not only is this -annoying to type, it's awkward to read in a text editor. Much better -to do -<p> -<pre> - .LEFT - So runs my dream, but what am I? - An infant crying in the night - An infant crying for the light - And with no language but a cry. -</pre> - -<strong>IMPORTANT:</strong> Because <strong>LEFT</strong>, -<strong>RIGHT</strong> and <strong>CENTER</strong> are nofill -modes, groff does not always respect the current line length. -<a href="definitions.html#TERMS_INPUTLINE">Input lines</a> -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. -<p> - -<!---BR---> - -<hr width="66%" align="left"> -<a name="BR"><h3><u>Manually break lines</u></h3></a> -<br> -Macro: <strong>BR</strong> - -<p> -When using <strong>JUSTIFY</strong> or <strong>QUAD</strong>, -<strong>BR</strong> tells <strong>mom</strong> about partial lines -that you want broken (as opposed to -<a href="definitions.html#TERMS_FILLED">filled</a>). -Any partial -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a> -that immediately precedes <strong>BR</strong> will be -<a href="definitions.html#TERMS_QUAD">quadded</a> -in the direction of the current quad, or set flush left if text is -<a href="definitions.html#TERMS_JUST">justified</a>. - -<p> -Most of the time, you won't need the <strong>BR</strong> macro. -In fill modes, <strong>mom</strong> tries to be sensible about -where breaks are needed. If the nature of a macro is such that under -most circumstances you'd expect a break, <strong>mom</strong> puts -it in herself. Equally, in macros where a break isn't normally -desirable, no break occurs. This means text files don't get cluttered -with annoying <strong>BR</strong>'s. -<p> -<strong>NOTE:</strong> Lines of text in -<a href="definitions.html#TERMS_NOFILL">nofill mode</a> -never require a <strong>BR</strong>. Furthermore, in nofill mode, -ALL macros cause a break. If a break is not desired, use the -<a href="#JOIN">\c</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a>. - -<p> -<strong>Experts: BR</strong> is an alias for <strong>br</strong>. -You can use either, or mix 'n' match with impunity. -<p> - -<!---EL---> - -<hr width="66%" align="left"> -<a name="EL"><h3><u>Manually break a line without advancing on the page</u></h3></a> -<br> -Macro: <strong>EL</strong> -<br> -<em>*In nofill modes (LEFT, RIGHT, CENTER), you must terminate the -line input preceding EL with the </em><kbd>\c</kbd><em> inline -escape. See -<a href="#EL_NOTES">NOTES</a>, -below. -<br> -*If you find remembering whether to put in the <kbd>\c</kbd> -bothersome, you may prefer to use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -alternative to -<kbd>.EL</kbd>, -<a href="inlines.html#B">\*[B]</a>, -which works consistently regardless of the fill mode. -<br> -*EL does not work after the PAD macro. -See -<a href="goodies.html#PAD">PAD</a> -for the way around this</em>. -<p> -The mnemonic "EL" is borrowed from old Compugraphic typesetting -systems, where it stood for "End Line." Conceptually, -<strong>EL</strong> is equivalent to the notion of a carriage return -with no linefeed. - -<p> -<em>Note to groff jocks:</em> <strong>EL</strong> is -unrelated to groff's <strong>.el</strong>. If you find the -similarity confusing, you may want to alias <strong>EL</strong> as -something else (but don't use <strong>EOL</strong>; it's already -taken.) - -<p> -<strong>EL</strong>'s function is simple: it breaks a line without -advancing on the page. -<a name="EL_EXAMPLE">As</a> -an example of where you might use it, -imagine that you're working from marked-up copy. The markup -indicates 24 points of space between two given lines, but the -prevailing line spacing is 12.5 points. You may find it more -convenient to break the first line with <strong>EL</strong> and -instruct <strong>mom</strong> to advance 24 points to the next line -instead of calculating the lead that needs to be added to 12.5 to -get 24. To demonstrate: -<p> -<pre> - .LEFT - .LS 12.5 - A line of text.\c - .EL - .ALD 24p - The next line of text. -</pre> - -may be more intuitive than -<p> -<pre> - .LEFT - .LS 12.5 - A line of text. - .ALD 11.5p - The next line of text. -</pre> - -The first example has the further advantage that should you wish -to change the prevailing line space but keep the 24 points lead, -you don't have to recalculate the extra space. -<p> -"ALD" in the above examples stands for "<strong>A</strong>dvance -<strong>L</strong>ea<strong>D</strong>" (another mnemonic borrowed -from Compugraphic), which is covered in the section -<a href="#ALDRLD">Vertical movement</a>. -<p> -<a name="EL_NOTES"><strong>NOTES:</strong></a> -<p> -In versions of mom prior to 1.1.9, <strong>EL</strong> did not -always work as advertised on the last -<a name="TERMS_OUTPUTLINE">output line</a> -of pages that contained a footer trap (e.g. one set with -<a href="#B_MARGIN">B_MARGIN</a> -or in documents formatted using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>). -<p> -<strong>EL</strong> has been re-written so that this should no longer be the -case. However, in order for it to work in the -<a href="definitions.html#TERMS_NOFILL">nofill</a> -modes -(<a href="#LRC">LEFT</a>, -<a href="#LRC">RIGHT</a> -or -<a href="#LRC">CENTER</a>), -you must always "join" <strong>.EL</strong> to the line -before it using the -<a href="#JOIN">\c</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -like this: -<p> -<pre> - .LEFT - A line I don't want to advance\c - .EL -</pre> - -Conversely, in -<a href="definitions.html#TERMS_FILLED">fill modes</a> -(<a href="#QUAD">QUAD LEFT</a>, -<a href="#QUAD">QUAD RIGHT</a>, -<a href="#QUAD">QUAD CENTER</a> -or -<a href="#JUSTIFY">JUSTIFY</a>), -the <strong>\c</strong> must not be used. -<p> -If <strong>EL</strong> is used after most macros or groff -<a href="definitions.html#TERMS_PRIMITIVES">primitives</a> -(see the exception, below), you don't have to worry about this, -regardless of the fill mode. Just type <kbd>.EL</kbd> -<br> - -<!---SP---> - -<hr width="66%" align="left"> -<a name="SPACE"><h3><u>Break lines and add space between</u></h3></a> -<br> -<nobr>Macro: <strong>SPACE</strong> <space to add between lines></nobr> -<br> -Alias: <strong>SP</strong> - -<p> -<strong>SPACE</strong> breaks a line, just like -<strong>BR</strong>, then adds space after the line. With no -argument, it adds an extra line space of a value equal to the -current -<a href="definitions.html#TERMS_LEADING">leading</a>. -If you pass it a numeric argument without supplying a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>, -it advances that number of extra line spaces. For example: -<p> -<pre> - .SPACE -</pre> - -breaks the line then adds an extra linespace, whereas -<p> -<pre> - .SPACE 2 -</pre> - -breaks the line and adds two extra linespaces. - -<p> -If you supply a unit of measure, <strong>SPACE</strong> breaks the -line then advances one linespace (at the current -<a href="definitions.html#TERMS_LEADING">leading</a>) -PLUS the specified amount of extra space given to -<strong>SPACE</strong>, -as in -<p> -<pre> - .SPACE 6p -</pre> - -which breaks the line and advances one full linespace plus six -points. - -<p> -<strong>SUGGESTION: SPACE</strong> and -<a href="#ALD">ALD</a> -can be used interchangeably (<code>.SPACE 6p</code> and -<code>.ALD 6p</code> are equivalent). However, -<strong>ALD</strong> without an argument does nothing, whereas -<strong>SPACE</strong> without an argument adds an extra line -space. I recommend using <strong>SPACE</strong> when you -want an extra line space (or multiple thereof), and -<strong>ALD</strong> whenever you want some other value of space -after a line. - -<p> -<strong>Experts: SPACE</strong> is an alias of <strong>sp</strong>. -You can use either, or mix 'n' match with impunity. -<p> - -<!---SPREAD---> - -<hr width="66%" align="left"> -<a name="SPREAD"><h3><u>Break and force justify (spread) lines</u></h3></a> -<br> -Macro: <strong>SPREAD</strong> - -<p> -Sometimes, you need to break a line of -<a href="definitions.html#TERMS_JUST">justified</a> -text and have it come out fully justified, not -<a href="definitions.html#TERMS_QUAD">quadded</a> -left the way it would be with the <strong>BR</strong> macro. -An example of where you'd do this would be when you want to prevent a -word at the end of a line from being hyphenated (say, a proper name). -<strong>SPREAD</strong> is the macro that lets you break the line -and have it came out fully justified. - -<p> -<strong>Experts: SPREAD</strong> is an alias for <strong>brp</strong>. -You can use either, or mix 'n' match with impunity. -<p> - -<!---JOIN---> - -<hr width="66%" align="left"> -<a name="JOIN"><h3><u>Join input lines</u></h3></a> -<br> -Inline: <strong>\c</strong> - -<p> -Sometimes, especially when in one of the -<a href="definitions.html#TERMS_NOFILL">nofill modes</a>, -a macro will cause a break where you don't want one. In order -to prevent this from happening (in other words, to join -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -together, forming one -<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>), -use the groff -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<strong>\c</strong> at the end of each input line to -be joined to another, like this: -<p> -<pre> - .LEFT - .FAMILY T - .FT R - Some lines of text to be \c - .FAMILY H - .FT B - joined \c - .FAMILY T - .FT R - together. -</pre> - -Upon output, the lines will be joined together to read -<p> -<pre> - Some lines of text to be joined together. -</pre> - -with the word "joined" in Helvetica bold. Note the -space before <strong>\c</strong>. Without it, the last three -words of the output line would read -<p> -<pre> - bejoinedtogether -</pre> - -Please also note that had the example been in one of the -<a href="definitions.html#TERMS_FILLED">fill modes</a>, -there'd have been no need for the <strong>\c</strong>. -<p> -<strong>Addendum:</strong> The example, above, is designed to -demonstrate the use of <strong>\c</strong>. However, an easier and -more intuitive way to accomplish the family/font change in the -example would be with the groff -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -<a href="inlines.html#INLINE_FONTS_GROFF">\f</a>. -<p> -<pre> - Some lines of text to be \f[HB]joined\*[PREV] together. -</pre> -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_REFINEMENTS"></a> - -<a name="REFINEMENTS"> - <h2><u>Typographic refinements</u></h2> -</a> - -The macros in this section help you tweak groff's behaviour, -ensuring that your documents look typographically professional. -<br> - -<a name="INDEX_REFINEMENTS"> - <h3><u>Typographic refinements macro list</u></h3> -</a> -<ul> - <li><strong>Word and sentence spacing</strong> - <ul> - <li><a href="#WS">WS</a> (word spacing) - <li><a href="#SS">SS</a> (sentence space) - </ul> - <li><strong>Letter spacing (track kerning)</strong> - <ul> - <li><a href="#RW">RW</a> (reduce whitespace) - <li><a href="#EW">EW</a> (expand whitespace) - <li><a href="#BR_AT_LINE_KERN">BR_AT_LINE_KERN</a> - </ul> - <li><strong>Hyphenation</strong> - <ul> - <li><a href="#HY">HY</a> (turn auto hyphenation on/off, or set specific hyphenation parameters) - <li><a href="#HY_SET">HY_SET</a> (set all hyphenation parameters) - </ul> - <li><strong>Automatic kerning and ligatures</strong> - <ul> - <li><a href="#KERN">KERN</a> (turn automatic pairwise kerning on or off) - <li><a href="#LIGATURES">LIGATURES</a> (turn automatic generation of ligatures on or off) - </ul> -</ul> - -<!---WS---> - -<hr width="66%" align="left"> -<a name="WS"><h3><u>Word spacing</u></h3></a> -<br> -<nobr>Macro: <strong>WS</strong> <+|-wordspace> | DEFAULT</nobr> - -<p> -<strong>WS</strong> (Word Space) increases or decreases the amount -of space between words. In -<a href="definitions.html#TERMS_NOFILL">nofill modes</a>, -or if -<a href="#QUAD">QUAD</a> -is in effect, the space between words is fixed. Therefore, if you -change the word spacing with <strong>WS</strong>, the change applies -uniformly to the space between every word on every line. However, -when text is -<a href="definitions.html#TERMS_JUST">justified</a>, -the space between words varies from line to line (in order to justify -the text). Consequently, the change you make with <strong>WS</strong> -represents the minimum (and ideal) space groff will try to put between -words before deciding whether to hyphenate a final word or to stretch -the word spacing. - -<p> -Word space is relative to type size. Knowing how it's calculated is -unimportant. What matters is having a sense of how the value passed -to <strong>WS</strong> affects the look of your type. Generally, -in/decreasing the word space by a value of 1 or 2 produces a difference -that in many cases is scarcely visible; in/decreasing by a value of 5 -or so produces a subtle but noticeable difference; and in/decreasing -by a value greater than 10 is always apparent. You should preview -your work to assess the effect of <strong>WS</strong>. - -<p> -<a name="WS_USAGE"><strong>WS</strong></a> -takes as its argument a whole number preceded by a plus or minus sign. -Therefore, to decrease the word space slightly, you might enter -<p> -<pre> - .WS -4 -</pre> - -To increase it by a noticeable amount, you might enter -<p> -<pre> - .WS +12 -</pre> - -You can reset the word spacing to its previous value by switching -the plus or minus sign, like this: -<p> -<pre> - .WS +4 - A line of text - .WS -4 -</pre> - -The <code>.WS -4</code> undoes the effect of <code>.WS -+4</code>. You can also reset <strong>WS</strong> to -its groff default by entering -<p> -<pre> - .WS DEFAULT -</pre> - -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. -<p> - -<!---SS---> - -<hr width="66%" align="left"> -<a name="SS"><h3><u>Sentence space</u></h3></a> -<br> -<nobr>Macro: <strong>SS</strong> <+sentence space> | 0 | DEFAULT</nobr> - -<p> -<strong>SS</strong> (Sentence Space) tells groff how to treat double -spaces it encounters between sentences in -<a href="definitions.html#TERMS_INPUTLINE">input lines</a>. -If you use <strong>SS</strong>, input sentences with two spaces -after them AND input sentences that fall at the end of input lines -all receive a normal word space plus an additional amount of space -whose size is determined by the + value passed as an argument to -<strong>SS</strong>. Thus, -<p> -<pre> - .SS +2 -</pre> - -means that input sentences with two spaces after them receive a normal -word space PLUS the +2 value passed to <strong>SS</strong>. -<p> -Like -<strong>WS</strong>, increasing the sentence space by a value of -1 or 2 produces a difference that in many cases is scarcely visible; -increasing by a value of 5 or so produces a subtle but noticeable -difference (i.e. the space between double-spaced input sentences will -be slightly but visibly greater than the space between words); and -increasing by a value greater than 10 is always apparent. You should -preview your work to assess the effect of <strong>SS</strong>. -<p> -There's an additional argument you can pass <strong>SS</strong>: -the number zero (without the + sign). It's the argument you'll -use most often. Typeset copy should never have two spaces between -sentences, and the "zero" argument tells groff to give the extra -spaces no space at all (effectively removing them). Therefore, -if you double-space your sentences (as you should when writing in a -text editor), get in the habit of putting -<p> -<pre> - .SS 0 -</pre> - -at the top of your files. - -<p> -If you do use <strong>SS</strong> for something other than ensuring -that you don't get unwanted sentence spaces in output copy, you -can set or reset the sentence space to the groff default (the same -width as a word space, i.e. double-spaced input sentences will appear -double-spaced on output as well) with -<p> -<pre> - .SS DEFAULT -</pre> - -If you're using the -<a href="docprocessing.html">document processing macros</a> -and your -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a> -is <strong>TYPEWRITE</strong>, <code>.SS DEFAULT</code> is the default, -because you <em>do</em> want double spaces between sentences in copy -that imitates the look of a typewritten document. -<p> -<strong>IMPORTANT: SS</strong> with an argument other than -"0" should only be used if you're of the old (and wise) -school of typists that puts two spaces between sentences. If you -ignore this advice and use <strong>SS</strong> when you habitually -put only one space between sentences, you risk producing output where -the space between sentences is not equal. -<p> - -<!---HY---> - -<hr width="66%" align="left"> -<a name="HY"><h3><u>Automatic hyphenation control</u></h3></a> -<br> -<nobr>Macro: <strong>HY</strong> toggle</nobr> -<br> -<nobr>Macro: <strong>HY</strong> LINES <max. number of consecutive hyphenated lines></nobr> -<br> -<nobr>Macro: <strong>HY</strong> MARGIN <size of hyphenation margin></nobr> -<br> -<nobr>Macro: <strong>HY</strong> SPACE <extra interword spacing to prevent hyphenation></nobr> -<br> -<nobr>Macro: <strong>HY</strong> DEFAULT</nobr> -<br> -Aliases: <strong>HYPHENATE, HYPHENATION</strong> - -<p> -<strong>HY</strong>, as you can see, can be invoked with a number of -arguments. In all cases, the aliases <strong>HYPHENATE</strong> -or <strong>HYPHENATION</strong> can be used in place of -<strong>HY</strong>. To aid in understanding the various arguments -you can pass to <strong>HY</strong>, I've broken them down into -separate sections. - -<h3><u>1. HY</u></h3> -<strong>HY</strong> by itself (i.e. with no argument) simply turns -automatic hyphenation on. Any argument other than <strong>LINES, -MARGIN, SPACE</strong> or <strong>DEFAULT</strong>, turns automatic -hyphenation off. For example, as explained in -<a href="intro.html#MACRO_ARGS">How to read macro arguments</a>, -you could turn <strong>HY</strong> off by entering -<p> -<pre> - .HY OFF - or - .HY X - or - .HY END -</pre> - -<strong>HY</strong> observes the following default hyphenation rules: -<br> -<ol> - <li>Last lines (i.e. ones that will spring a trap--typically - the last line on a page) will not be hyphenated. - <li>The first and last two characters of a word are never - split off. -</ol> - -<h3><u>2. HY LINES</u></h3> -<strong>HY LINES</strong> 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 -<p> -<pre> - .HY LINES 2 -</pre> - -By default, when you turn automatic hyphenation on, there is no -limit to the number of consecutive hyphenated lines. - -<p> -<strong>NOTE:</strong> -<a href="definitions.html#TERMS_DISCRETIONARYHYPHEN">Discretionary hyphens</a> -count when groff is figuring out how many lines to hyphenate; -explicit hyphens do not. - -<h3><u>3. HY MARGIN</u></h3> -<strong>HY MARGIN</strong> 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 -the next word). <strong>HY MARGIN</strong> only applies if you're -using -<a href="#QUAD">QUAD</a>, and is really only useful if you're -using <strong>QUAD LEFT</strong>. - -<p> -As an example, if you don't want groff to hyphenate words when there's -only 18 points of space left at the end of a left-quadded line, -you'd enter -<p> -<pre> - .HY MARGIN 18p -</pre> - -<strong>NOTE:</strong> The numeric argument after <strong>HY -MARGIN</strong> requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. - -<h3><u>4. HY SPACE</u></h3> -<strong>HY SPACE</strong> sets an amount of extra interword -space that groff will <em>try</em> to put between words on a -line in order to PREVENT hyphenation. <strong>HY SPACE</strong> -applies only to -<a href="definitions.html#TERMS_JUST">justified lines</a>. Generally speaking, -you'll want this value to be quite small, since too big a value -will result in lines with gaping holes between the words. A reasonable -value might be half a point, or one point, which you'd set with -<p> -<pre> - .HY SPACE .5p - or - .HY SPACE 1p -</pre> - -<strong>NOTE:</strong> The numeric argument after <strong>HY -SPACE</strong> requires a -<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>. - -<h3><u>5. HY DEFAULT</u></h3> -<strong>HY DEFAULT</strong> resets automatic hyphenation to its -default behaviour, cancelling any changes made with <strong>LINES, -MARGIN,</strong> and/or <strong>SPACE</strong>. - -<h3><u>A note on hyphenation in general</u></h3> -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 -the number of parameters you can set with <strong>HY</strong>. - -<p> -Furthermore, hyphenation in -<a href="definitions.html#TERMS_RAG">rag</a> -copy requires a great deal of attention. At best, it should be -avoided completely by individually adjusting the number of words -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 <strong>HY MARGIN</strong> -a bit if your copy looks hyphen-heavy. -<p> - -<!---HY_SET---> - -<hr width="66%" align="left"> -<a name="HY_SET"><h3><u>Set hyphenation parameters all at once</u></h3></a> -<br> -<nobr>Macro: <strong>HY_SET</strong> <lines> [ <margin> [ <space> ] ]</nobr> -<br> -Alias: <strong>HYSET</strong> - -<p> -<strong>HY_SET</strong> lets you set the parameters for hyphenation -with a single macro. <lines>, <margin> and <space> -correspond to the numeric values required by -<strong>LINES</strong>, <strong>MARGIN</strong> and -<strong>SPACE</strong> as described -<a href="#HY">above</a>. - -<p> -To set just the maximum number of consecutive hyphenated lines, -you'd enter -<p> -<pre> - .HY_SET 2 -</pre> - -If you wanted the same number of maximum consecutive hyphenated lines -and a hyphenation margin for use with -<a href="definitions.html#TERMS_RAG">rag</a> -copy, -<p> -<pre> - .HY_SET 2 36p -</pre> - -would set the hyphenation margin to 36 points. - -<p> -If you wanted the same number of maximum consecutive hyphenated -lines and a hyphenation space of 2 points for use with -<a href="definitions.html#TERMS_JUST">justified</a> -copy, -<p> -<pre> - .HYSET 2 0 2p -</pre> - -is how you'd do it. -<p> - -<!---RW---> - -<hr width="66%" align="left"> -<a name="RW"><h3><u>Reduce whitespace</u></h3></a> -<br> -<nobr>Macro: <strong>RW</strong> <amount of whitespace reduction between letters></nobr> -<br> - -<p> -<strong>RW</strong> (Reduce Whitespace) and its corresponding macro, -<strong>EW</strong> (Expand Whitespace), allow you to tighten -(or loosen) -<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a> -by uniformly reducing or expanding the space between characters. -This is particularly useful when you want to squeeze or stretch -lines on a narrow measure. - -<p> -The value passed to <strong>RW</strong> may be a whole number or a -decimal fraction. Since a value of 1 produces a noticeable reduction -in the space between letters at text sizes, you'll most likely use -small decimal values when tightening lines. For example, -<p> -<pre> - .RW .1 - or - .RW .2 -</pre> - -may be just enough to squeeze an extra character or two on a -line without the change in letter spacing being obvious. I -highly recommend previewing your work to assess the effect of -<strong>RW</strong>. - -<p> -<p> -<strong>IMPORTANT:</strong> In versions prior to 1.1.9-a, -<strong>RW</strong> affected all -<a href="definitions.html#TERMS_FONT">fonts</a> -in the -<a href="definitions.html#TERMS_FAMILY">family</a> -current at the time it was invoked. As of 1.1.9-a, this behaviour -has been changed. <strong>RW</strong> affects only the font -current at the time it's invoked, and remains in effect for that -font every time the font is called, hence must be reset to zero to -cancel its effect (<code>.RW 0</code>) on that font. -<p> -<strong>NOTE:</strong> By default, <strong>RW</strong> does not deposit a -<a href="#BR">break</a> -(<strong>BR</strong>) when it's invoked if you're in one of the -<a href="definitions.html#TERMS_FILL">fill</a> -modes (i.e. -<a href="#QUAD">QUAD</a> -<strong>L, R, C, J</strong> or -<a href="#JUSTIFY">JUSTIFY</a>). -If you want -<strong>RW</strong> to break at the ends of the previous -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -while you're in a fill mode, tell <strong>mom</strong> -that's what you want by invoking the -<a href="#BR_AT_LINE_KERN">BR_AT_LINE_KERN</a> -toggle macro. -<p> - -<!---EW---> - -<hr width="66%" align="left"> -<a name="EW"><h3><u>Expand whitespace</u></h3></a> -<br> -<nobr>Macro: <strong>EW</strong> <amount of whitespace expansion between letters></nobr> -<br> - -<p> -<strong>EW</strong> (Expand Whitespace) expands the amount of -whitespace between letters, effectively "loosening" lines -of type. - -<p> -The value passed to <strong>EW</strong> may be a whole number or a -decimal fraction. Since a value of 1 produces a noticeable -expansion in the space between letters at text sizes, you'll most likely use -small decimal values when loosening lines. For example, -<p> -<pre> - .EW .1 - or - .EW .2 -</pre> - -may be just enough to open up a line without the change in letter -spacing being obvious. I highly recommend previewing your work to -assess the effect of <strong>EW</strong>. -<p> -<strong>IMPORTANT:</strong> In versions prior to 1.1.9-a, -<strong>EW</strong> affected all -<a href="definitions.html#TERMS_FONT">fonts</a> -in the -<a href="definitions.html#TERMS_FAMILY">family</a> -current at the time it was invoked. As of 1.1.9-a, this behaviour -has been changed. <strong>EW</strong> affects only the font -current at the time it's invoked, and remains in effect for that -font every time the font is called, hence must be reset to zero to -cancel its effect (<code>.EW 0</code>) on that font. -<p> -<strong>NOTE:</strong> By default, <strong>EW</strong> does not deposit a -<a href="#BR">break</a> -(<strong>BR</strong>) when it's invoked if you're in one of the -<a href="definitions.html#TERMS_FILL">fill</a> -modes (i.e. -<a href="#QUAD">QUAD</a> -<strong>L, R, C, J</strong> or -<a href="#JUSTIFY">JUSTIFY</a>). -If you want -<strong>EW</strong> to break at the ends of the previous -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -while you're in a fill mode, tell <strong>mom</strong> -that's what you want by invoking the -<a href="#BR_AT_LINE_KERN">BR_AT_LINE_KERN</a> -toggle macro. -<p> - -<!---BR_AT_LINE_KERN---> - -<hr width="66%" align="left"> -<a name="BR_AT_LINE_KERN"><h3><u>Break before line kerning</u></h3></a> -<br> -<nobr>Macro: <strong>BR_AT_LINE_KERN</strong> toggle</nobr> -<br> - -<p> -By default, in -<a href="definitions.html#TERMS_FILLED">fill</a> -modes (i.e. -<a href="#QUAD">QUAD</a> -<strong>L, R, C, J</strong> or -<a href="#JUSTIFY">JUSTIFY</a>) -<strong>mom</strong> does not break -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -when you invoke <strong>RW</strong> or <strong>EW</strong>. -If you'd like her to break input lines prior to <strong>RW</strong> -or <strong>EW</strong>, invoke <strong>BR_AT_INPUT_LINE</strong> -without any argument. To disable the breaks, invoke -<strong>BR_AT_INPUT_LINE</strong> with any argument (<strong>OFF, -QUIT, Q, X</strong>...), like this -<p> -<pre> - .BR_AT_LINE_KERN OFF - or - .BR_AT_LINE_KERN X -</pre> - -In <strong>QUAD L, R</strong> or <strong>C</strong>, -<strong>mom</strong> simply breaks the line. In <strong>QUAD J</strong> -(or <strong>JUSTIFY</strong>, which is the same thing), she breaks -and -<a href="definitions.html#TERMS_FORCE">force justifies</a> -the line prior to <strong>EW</strong> or <strong>RW</strong>. -<br> - -<!---KERN---> - -<hr width="66%" align="left"> -<a name="KERN"><h3><u>Automatic kerning</u></h3></a> -<br> -<nobr>Macro: <strong>KERN</strong> toggle</nobr> -<br> - -<p> -By itself (i.e. with no argument), <strong>KERN</strong> turns -automatic pairwise -<a href="definitions.html#TERMS_KERN">kerning</a> -on. With any argument (e.g. OFF, Q, X), pairwise kerning is turned -off. -<p> -Kerning of individual character pairs can be controlled with the -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -<strong>\*[BU <n>]</strong> and <strong>\*[FU <n>]</strong>. See -<a href="inlines.html#INLINE_KERNING_MOM">Inline Escapes, kerning</a>. -<p> - -<!---LIGATURES---> - -<hr width="66%" align="left"> -<a name="LIGATURES"><h3><u>Automatic ligature generation</u></h3></a> -<br> -<nobr>Macro: <strong>LIGATURES</strong> toggle</nobr> -<br> -Alias: <strong>LIG</strong> - -<p> -Provided your current font has -<a href="definitions.html#TERMS_LIGATURES">ligatures</a>, -<strong>LIGATURES</strong>, by itself, turns on automatic -generation of ligatures. When automatic ligature generation is -on, simply typing the letters of a ligature combination will -produce the correct ligature upon output. For example, if you -type the word "finally", the fi combination will be -output as an fi ligature. Generally speaking, ligatures are A -Good Thing, hence <strong>mom</strong> has them on by default. -<p> -<strong>LIGATURES</strong> with any argument turns automatic -ligature generation off. -<p> -<strong>NOTE:</strong> Not all fonts support ligatures. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_MODIFICATIONS"></a> - -<a name="MODIFICATIONS"> - <h2><u>Type modifications: pseudo-italic, -bold, -condensed, -extended</u></h2> -</a> - -It sometimes happens that a PostScript -<a href="definitions.html#TERMS_FAMILY">family</a> -doesn't contain all the fonts you need. You might, for example, -be missing an italic font, or a bold font. Or you might not be able -to get your hands on a condensed family. That's where these macros -and inline escapes come in. With them, you can fake the fonts -you're missing. A word of caution, though: "faked" -fonts are just that--faked. You should only use them as a -last resort, and then only sparingly. A word or two or a line -or two in a faked font will pass unnoticed; large patches of -type in a faked font look typographically cheap. -<br> - -<a name="INDEX_MODIFICATIONS"> - <h3><u>Type modifications macro list</u></h3> -</a> - -<ul> - <li><strong>Pseudo italic</strong> - <ul> - <li><a href="#SETSLANT">SETSLANT</a> -- degree of pseudo-italicizing - <li><a href="#SLANT_INLINE">\*[SLANT]</a> -- inline escape for pseudo-italicizing type - </ul> - <li><strong>Pseudo bold</strong> - <ul> - <li><a href="#SETBOLDER">SETBOLDER</a> -- amount of emboldening - <li><a href="#BOLDER_INLINE">\*[BOLDER]</a> -- inline escape for emboldening type - </ul> - <li><strong>Pseudo condensed</strong> - <ul> - <li><a href="#CONDENSE">CONDENSE</a> -- percentage for pseudo-condensed type - <li><a href="#COND_INLINE">\*[COND]</a> -- inline escape for pseudo-condensed type - </ul> - <li><strong>Pseudo extended</strong> - <ul> - <li><a href="#EXTEND">EXTEND</a> -- percentage for pseudo-extended type - <li><a href="#EXT_INLINE">\*[EXT]</a> -- inline escape for pseudo-extending - </ul> -</ul> - -<!---SETSLANT---> - -<hr width="66%" align="left"> -<a name="SETSLANT"><h3><u>Set degree of slant for pseudo-italicizing</u></h3></a> -<br> -<nobr>Macro: <strong>SETSLANT</strong> <degrees to slant type> | RESET</nobr> - -<p> -Pseudo-italicizing of type is accomplished by slanting a roman font -a certain number of degrees to the right. <strong>SETSLANT</strong> -lets you fix the number of degrees. <strong>Mom</strong>'s -default is 15, which produces an acceptable approximation of an -italic font. If you want another value -- say, 13 degrees -- -you'd set it by entering -<p> -<pre> - .SETSLANT 13 -</pre> - -If you change the degree of slant and later want to set it back -to the <strong>mom</strong> default, do -<p> -<pre> - .SETSLANT RESET -</pre> - -<strong>NOTE:</strong> By itself, <strong>SETSLANT</strong> -will not start pseudo-italicizing type; it merely tells -<strong>mom</strong> what degree of slant you want. To start -pseudo-italicizing, use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<strong>\*[SLANT]</strong>. -<p> - -<!---\*[SLANT]---> - -<hr width="66%" align="left"> -<a name="SLANT_INLINE"><h3><u>Pseudo italic on/off</u></h3></a> -<br> -Inline: <strong>\*[SLANT] -- turn pseudo-italic on</strong> -<br> -Inline: <strong>\*[SLANTX] -- turn pseudo-italic off</strong> - -<p> -<strong>\*[SLANT]</strong> begins pseudo-italicizing type. -<strong>\*[SLANTX]</strong> turns the feature off. Both are -<a href="definitions.html#TERMS_INLINES">inline escapes</a>, -therefore they should not appear as separate lines, but rather -be embedded in text lines, like this: -<p> -<pre> - Not \*[SLANT]everything\*[SLANTX] is as it seems. -</pre> - -Alternatively, if you wanted the whole line pseudo-italicized, -you'd do -<p> -<pre> - \*[SLANT]Not everything is as it seems.\*[SLANTX] -</pre> - -Once <strong>\*[SLANT]</strong> is invoked, it remains in effect -until turned off. - -<p> -<strong>NOTE:</strong> If you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -with -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>mom</strong> underlines pseudo-italics by default. To -change this behaviour, use the special macro -<a href="docprocessing.html#SLANT_MEANS_SLANT">SLANT_MEANS_SLANT</a>. -<p> - -<!---SETBOLDER---> - -<hr width="66%" align="left"> -<a name="SETBOLDER"><h3><u>Set amount of emboldening</u></h3></a> -<br> -<nobr>Macro: <strong>SETBOLDER</strong> <amount of emboldening, in machine units> | RESET</nobr> - -<p> -Emboldening of type is accomplished by printing characters -twice; the second printing is slightly offset from the first, -effectively "thickening" the character. -<strong>SETBOLDER</strong> lets you set the number of -<a href="definitions.html#TERMS_UNITS">machine units</a> -for the offset. <strong>Mom</strong>'s default is 700 units, which -produces an acceptable approximation of a bold font. If you want -another value -- say, 500 units -- you'd set it by entering -<p> -<pre> - .SETBOLDER 500 -</pre> - -If you change the emboldening offset and later want to set it back -to the <strong>mom</strong> default, do -<p> -<pre> - .SETBOLDER RESET -</pre> - -<strong>NOTE:</strong> By itself, <strong>SETBOLDER</strong> -will not start emboldening type; it merely tells -<strong>mom</strong> what you want the emboldening offset to be. -To start emboldening, use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<strong>\*[BOLDER]</strong>. -<p> - -<!---\*[BOLDER]---> - -<hr width="66%" align="left"> -<a name="BOLDER_INLINE"><h3><u>Emboldening on/off</u></h3></a> -<br> -Inline: <strong>\*[BOLDER] -- turn emboldening on</strong> -<br> -Inline: <strong>\*[BOLDERX] -- turn emboldening off</strong> - -<p> -<strong>\*[BOLDER]</strong> begins emboldening type. -<strong>\*[BOLDERX]</strong> turns the feature off. Both are -<a href="definitions.html#TERMS_INLINES">inline escapes</a>, -therefore they should not appear as separate lines, but rather -be embedded in text lines, like this: -<p> -<pre> - Not \*[BOLDER]everything\*[BOLDERX] is as it seems. -</pre> - -Alternatively, if you wanted the whole line emboldened, -you'd do -<p> -<pre> - \*[BOLDER]Not everything is as it seems.\*[BOLDERX] -</pre> - -Once <strong>\*[BOLDER]</strong> is invoked, it remains in effect -until turned off. - -<p> -<strong>NOTE:</strong> If you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -with -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>mom</strong> ignores <strong>\*[BOLDER]</strong> -requests. -<p> - -<!---CONDENSE---> - -<hr width="66%" align="left"> -<a name="CONDENSE"><h3><u>Set percentage for pseudo-condensed type</u></h3></a> -<br> -<nobr>Macro: <strong>CONDENSE</strong> <pseudo-condense percentage></nobr> - -<p> -Pseudo-condensing of type is accomplished by reducing the width of -characters at a given point size without reducing their height, -effectively narrowing them so they look like condensed type. -<strong>CONDENSE</strong> tells <strong>mom</strong> what -percentage of the normal character width you want the characters -to be condensed. -<p> -<strong>Mom</strong> has no default value for -<strong>CONDENSE</strong>, therefore you must set it before using the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<a href="#COND_INLINE">\*[COND]</a>. -80 percent of the normal character width is a good value, and -you'd set it like this: -<p> -<pre> - .CONDENSE 80 -</pre> - -<strong>NOTE:</strong> By itself, <strong>CONDENSE</strong> -will not start pseudo-condensing type; it merely tells -<strong>mom</strong> what percentage of the normal character -width you want characters to be condensed. -To start pseudo-condensing, use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<strong>\*[COND]</strong>. -<p> -<strong>Additional note:</strong> Make sure that pseudo-condensing -is off (with -<a href="#COND_INLINE">\*[CONDX]</a>) -before before making any changes to the pseudo-condense percentage -with <strong>CONDENSE</strong>. -<p> - -<!---\*[COND]---> - -<hr width="66%" align="left"> -<a name="COND_INLINE"><h3><u>Pseudo-condensing on/off</u></h3></a> -<br> -Inline: <strong>\*[COND] -- turn pseudo-condensing on</strong> -<br> -Inline: <strong>\*[CONDX] -- turn pseudo-condensing off</strong> - -<p> -<strong>\*[COND]</strong> begins pseudo-condensing type. -<strong>\*[CONDX]</strong> turns the feature off. Both are -<a href="definitions.html#TERMS_INLINES">inline escapes</a>, -therefore they should not appear as separate lines, but rather -be embedded in text lines, like this: -<p> -<pre> - \*[COND]Not everything is as it seems.\*[CONDX] -</pre> - -<strong>\*[COND]</strong> remains in effect until you turn it -off with <strong>\*[CONDX]</strong>. - -<p> -<strong>IMPORTANT:</strong> You MUST turn <strong>\*[COND]</strong> -off before making any changes to the point size of your type, either -via the -<a href="#PS">PT_SIZE</a> -macro or with the <strong>\s</strong> inline escape. If you wish -the new point size to be pseudo-condensed, simply reinvoke -<strong>\*[COND]</strong> afterwards. Equally, -<strong>\*[COND]</strong> must be turned off before changing the -condense percentage with <a href="#CONDENSE">CONDENSE</a>. - -<p> -<strong>NOTE:</strong> If you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -with -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>mom</strong> ignores <strong>\*[COND]</strong> -requests. -<p> - -<!---EXTEND---> - -<hr width="66%" align="left"> -<a name="EXTEND"><h3><u>Set percentage for pseudo-extended type</u></h3></a> -<br> -<nobr>Macro: <strong>EXTEND</strong> <pseudo-extend percentage></nobr> - -<p> -Pseudo-extending of type is accomplished by increasing the width of -characters at a given point size without increasing their height, -effectively widening them so they look like extended type. -<strong>EXTEND</strong> tells <strong>mom</strong> what -percentage of the normal character width you want the characters -to be extended. -<p> -<strong>Mom</strong> has no default value for -<strong>EXTEND</strong>, therefore you must set it before using the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<a href="#EXT_INLINE">\*[EXT]</a>. -120% of the normal character width is a good value, and -you'd set it like this: -<p> -<pre> - .EXTEND 120 -</pre> - -<strong>NOTE:</strong> By itself, <strong>EXTEND</strong> -will not start pseudo-extending type; it merely tells -<strong>mom</strong> what percentage of the normal character -width you want characters to be extended. -To start pseudo-extending, use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -<strong>\*[EXT]</strong>. - -<p> -<strong>Additional note:</strong> Make sure that -pseudo-extending is off (with -<a href="#EXT_INLINE">\*[EXTX]</a>) -before before making any changes to the pseudo-extend percentage -with <strong>EXTEND</strong>. -<p> - -<!---\*[EXT]---> - -<hr width="66%" align="left"> -<a name="EXT_INLINE"><h3><u>Pseudo-extending on/off</u></h3></a> -<br> -Inline: <strong>\*[EXT] -- turn pseudo-extending on</strong> -<br> -Inline: <strong>\*[EXTX] -- turn pseudo-extending off</strong> - -<p> -<strong>\*[EXT]</strong> begins pseudo-extending type. -<strong>\*[EXTX]</strong> turns the feature off. Both are -<a href="definitions.html#TERMS_INLINES">inline escapes</a>, -therefore they should not appear as separate lines, but rather -be embedded in text lines, like this: -<p> -<pre> - \*[EXT]Not everything is as it seems.\*[EXTX] -</pre> - -<strong>\*[EXT]</strong> remains in effect until you turn it -off with <strong>\*[EXTX]</strong>. - -<p> -<strong>IMPORTANT:</strong> You MUST turn <strong>\*[EXT]</strong> -off before making any changes to the point size of your type, either -via the -<a href="#PS">PT_SIZE</a> -macro or with the <strong>\s</strong> inline escape. If you wish -the new point size to be pseudo-extended, simply reinvoke -<strong>\*[EXT]</strong> afterwards. Equally, -<strong>\*[EXT]</strong> must be turned off before changing the -extend percentage with <a href="#EXTEND">EXTEND</a>. - -<p> -<strong>NOTE:</strong> If you're using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a> -with -<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>, -<strong>mom</strong> ignores <strong>\*[EXT]</strong> -requests. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_ALDRLD"></a> - -<a name="ALDRLD"> - <h2><u>Vertical movement</u></h2> -</a> - -The two macros in this section allow you to move down or up on the page -relative to the current -<a href="definitions.html#TERMS_BASELINE">baseline</a>. - -<a name="INDEX_ALDRLD"> - <h3><u>Vertical movement macro list</u></h3> -</a> -<ul> - <li><a href="#ALD">ALD</a> -- Advance Lead - <li><a href="#RLD">RLD</a> -- Reverse Lead -</ul> - -<!---ALD---> - -<hr width="66%" align="left"> - <a name="ALD"><h3><u>Advance Lead (move downward)</u></h3></a> -<br> -<nobr>Macro: <strong>ALD</strong> <distance to move downward></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>ALD</strong> takes one argument: the distance to move downward -on the page relative to the current vertical position. -<p> -Used by itself, or preceded by -<a href="#BR">BR</a>, -<strong>ALD</strong> will advance by one line space plus the -distance you specify. Preceded by -<a href="#EL">EL</a>, -it will advance by exactly the distance you specify. -<p> -<strong>ALD</strong> requires a unit of measure. Decimal fractions -are allowed, and values may be combined. Therefore, to move down -on the page by 1/4 of an inch, you could enter either -<p> -<pre> - .ALD .25i - or - .ALD 1P+6p -</pre> - -As the mnemonic (<strong>A</strong>dvance -<strong>L</strong>ea<strong>D</strong>) suggests, you'll most often -use <strong>ALD</strong> with -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -of lead. - -<p> -<strong>NOTE:</strong> if you want to use <strong>ALD</strong> -at the top of a page (i.e. to advance to the starting position -of type on a page), combine the value you want with -1v (minus -one line space), like this: -<p> -<pre> - .ALD 1i-1v -</pre> - -At the top of a page, this will advance one inch from the -top edge of the paper. Without the -1v, the same command would -advance one inch from the top of the page plus the distance of -one line space. -<p> -<strong>Important:</strong> Do NOT use <strong>ALD</strong> in this -way if you have set a top margin with -<a href="#T_MARGIN">T_MARGIN</a> -or -<a href="#PAGE">PAGE</a>. -<p> - -<!---RLD---> - -<hr width="66%" align="left"> - <a name="RLD"><h3><u>Reverse Lead (move upward)</u></h3></a> -<br> -<nobr>Macro: <strong>RLD</strong> <distance to move upward></nobr> -<br> -<em>*Requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>RLD</strong> takes one argument: the distance to move -upward on the page relative to the current vertical position. -<p> -Used by itself, or preceded by -<a href="#BR">BR</a>, -<strong>RLD</strong> will advance by one line space, then -reverse by the distance you specify. Preceded by -<a href="#EL">EL</a>, -it will reverse by exactly the distance you specify. -<p> -<strong>RLD</strong> requires a unit of measure. Decimal fractions -are allowed, and values may be combined. Therefore, to move up -on the page by 1/4 of an inch, you could enter either -<p> -<pre> - .RLD .25i - or - .RLD 1P+6p -</pre> - -As the mnemonic (<strong>R</strong>dvance -<strong>L</strong>ea<strong>D</strong>) suggests, you'll most often -use <strong>RLD</strong> with -<a href="definitions.html#TERMS_PICASPOINTS">points</a> -of lead. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_TABS"></a> - -<a name="TABS"> - <h2><u>Tabs</u></h2> -</a> - -<strong>Mom</strong> provides two different kinds of tab setup: -typesetting tabs and string tabs. Neither one has anything to -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 -<strong>mom</strong> handles tabs. -<p> -<strong>NOTE:</strong> see the section -<a href="typemacdoc.html#TYPESETTING">Using typesetting macros during document processing</a> -for re-assuring information on the use of tabs during -<a href="docprocessing.html#DOCPROCESSING">document processing</a>. -<p> - -<a name="TYPESETTING_TABS"><h3><u>Typesetting tabs</u></h3></a> -<p> -Typesetting tabs are defined by both an indent from the left margin and -a line length. This is quite different from typewriter-style tab stops -(the groff norm) that only define the left indent. In conjunction -with the -<a href="#MULTI_COLUMNS">multi-column macros</a>, -typesetting tabs significantly facilitate -tabular and columnar work. -<p> -Typesetting tabs are created with the -<a href="#TAB_SET">TAB_SET</a> -macro. <strong>TAB_SET</strong> identifies the tab (by number), -establishes its left indent and line length, and optionally sets -a quad direction and fill mode. After tabs have been created with -<strong>TAB_SET</strong>, they can be called at any time with the -<a href="#TAB">TAB</a> -macro. -<p> - -<a name="TYPESETTING_TABS_TUT"><h3><u>Quickie tutorial on typesetting tabs</u></h3></a> -<p> -Say you want to set up three tabs to produce an employee evaluation -that looks something like this: -<p> -<a name="TYPSETTING_TABS_SAMPLE"></a> -<pre> - CRITERION EVALUATION COMMENTS - - Service Good Many clients specifically request - support from Joe by name. - - Punctuality Satisfactory Tends to arrive after 8:00am, but - often works through lunch hour. - - Team spirit Needs work Persistently gives higher priority - to helping clients than respecting - organizational hierarchy. -</pre> - -You want the first tab ("CRITERION") -<br> -<ul> - <li>to begin at the left margin of the page (i.e. no indent) - <li>to have a line length of 5 picas - <li>to be set flush left -</ul> -<br> -Tabs must be numbered, and each has to be set up with a separate -<a href="#TAB_SET">TAB_SET</a> -line. Therefore, to set up tab 1, you enter -<p> -<pre> - .TAB_SET 1 0 5P L - | | | | - tab #__| | | |__direction - | | - indent__| |__length -</pre> - -You want the second tab ("EVALUATION") -<br> -<ul> - <li>to begin 8 picas from the left margin - <li>to have a length of 9 picas - <li>to be set centred. -</ul> -<br> -You set it up like this: -<p> -<pre> - .TAB_SET 2 8P 9P C - | | | | - tab #__| | | |__direction - | | - indent__| |__length -</pre> - -You want the third tab ("COMMENTS") -<br> -<ul> - <li>to begin 19 picas from the left margin - <li>to have a length of 17 picas - <li>to be set flush left, <a href="definitions.html#TERMS_FILLED">filled</a> -</ul> -<br> -The setup looks like this: -<p> -<pre> - .TAB_SET 3 19P 17P L QUAD - | | | | | - | | | | |__fill output lines - | | | | - tab #__| | | |__direction - | | - indent__| |__length -</pre> - -Once the tabs are set up, you can call them in one of two ways: -<br> -<ul> - <li><a href="#TAB">TAB</a> (with the tab - number as an argument) breaks the current line, - advances one linespace, and calls the tab. - <li><a href="#TN">TN</a> (Tab Next) keeps - you on the current line and moves over to the next - tab in sequence (i.e. from 1 to 2, 2 to 3, etc.). -</ul> -<br> -To exit from tabs and restore your original left margin, line length, -quad direction and fill mode, use -<a href="#TQ">TQ</a> -(Tab Quit). -<p> -Here's how the input for our sample employee evaluation looks -(with some introductory parameters): -<p> -<pre> - .PAGE 8.5i 11i 1i 1i 1i - .FAMILY T - .FT R - .PT_SIZE 14 - .LS 16 - .QUAD LEFT - .KERN - .HY OFF - .SS 0 - .TAB_SET 1 0 5P L - .TAB_SET 2 8P 9P C - .TAB_SET 3 19P 17P L QUAD - .TAB 1 - CRITERION - .TN - EVALUATION - .TN - COMMENTS - .SP - .TAB 1 - Service - .TN - Good - .TN - Many clients specifically request support from Joe by name. - .SP - .TAB 1 - Punctuality - .TN - Satisfactory - .TN - Tends to arrive after 8:00am, but often works through lunch hour. - .SP - .TAB 1 - Team spirit - .TN - Needs work - .TN - Persistently gives higher priority to helping clients - than respecting organizational hierarchy. - .TQ -</pre> - -Try setting this up and previewing it with -<p> -<pre> - groff -mom -X <filename> -</pre> - -Notice how <kbd>.TN</kbd> simply moves over to the next tab, -while the combination <kbd>.SP/.TAB 1</kbd> breaks the -line, advances by one extra linespace, and calls the first tab. -<p> -Notice, too, how the <kbd>QUAD</kbd> argument passed to -tab 3 means you don't have to worry about the length of -<a href="definitions.html#TERMS_INPUTLINE">input lines</a>; -<strong>mom</strong> -<a href="definitions.html#TERMS_FILLED">fills</a> -the tab and sets the type flush left. -<p> -<a name="STRING_TABS"><h3><u>String tabs (autotabs)</u></h3></a> -<p> -String tabs let you mark off tab positions with -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -embedded in -<a href="definitions.html#TERMS_INPUTLINE">input lines</a>. -Left indents and line lengths are calculated from the beginning and -end positions of the marks. This is especially useful when tab -indents and lengths need to be determined from the text that goes in -each tab. -<p> -Setting up string tabs is a two-step procedure. First, you enter an -input line in which you mark off where you want tabs to begin and end. -(This is often best done in conjunction with the -<a href="goodies.html#SILENT">SILENT</a> -macro.) -<p> -Next, you invoke the -<a href="#ST">ST</a> -macro for every string tab you defined, and optionally pass quad and -fill information to it. That done, string tabs are called with -the -<a href="#TAB">TAB</a> -macro, just like typesetting tabs. -<p> -In combination with the -<a href="goodies.html#PAD">PAD</a> -macro and the groff inline escape -<a href="inlines.html#INLINE_HORIZONTAL_GROFF">\h</a> -(move horizontally across the page) or <strong>mom</strong>'s -<a href="inlines.html#INLINE_HORIZONTAL_MOM">\*[FWD <distance>]</a> -(move forward) inline, string tabs provide -tremendous flexibility in setting up complex tab structures. -<p> -<a name="STRING_TABS_TUT"><h3><u>Quickie tutorial on string tabs</u></h3></a> -<p> -Say you want to set up tabs for the -<a href="#TYPSETTING_TABS_SAMPLE">employee evaluation form</a> -used as an example in the -<a href="#TYPESETTING_TABS_TUT">typesetting tabs tutorial</a>. -This time, though, you want to play around with the point size of -type, so you can't know exactly how long the tabs will be or where -they should start. All you know is -<br> -<ul> - <li>CRITERION is the longest line in tab 1 - <li>EVALUATION is the longest line in tab 2 - <li>tab 3 should extend to the current right margin - <li>you want a 1 pica gutter between each tab -</ul> -<br> -This is an ideal job for string tabs. -<p> -The first thing you need for string tabs is an -<a href="definitions.html#TERMS_INPUTLINE">input line</a> -with tab positions marked on it. Tabs are marked with the -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -<a href="#ST_INLINE">\*[ST<n>]</a> -and -<a href="#ST_INLINE">\*[ST<n>X]</a>, -where <strong><n></strong> -is the number you want the tab to have. (In this example, we -enclose the input line with the -<a href="goodies.html#SILENT">SILENT</a> -macro so the line doesn't print. We also use the -<a href="goodies.html#PAD">PAD</a> -macro to permit defining tab 3 as simply "the amount of -space remaining on the input line.") -<p> -The setup looks like this: -<p> -<pre> - .SILENT - .PAD "\*[ST1]CRITERION\*[ST1X]\*[FWD 12p]\*[ST2]EVALUATION\*[ST2X]\*[FWD 12p]\*[ST3]#\*[ST3X]" - .SILENT OFF -</pre> - -The long line after <kbd>.PAD</kbd> looks scary, but it isn't. -Here's what it means when broken down into its component parts: -<br> -<ul> - <li>The longest line in tab 1 is "CRITERION", so we - enclose CRITERION with begin/end markers for string tab 1: - <p> - <kbd>\*[ST1]CRITERION\*[ST1X]</kbd> - <br> - <li>We want a 1 pica (12 points) gutter between tab 1 and 2, - so we insert 12 points of space with \*[FWD 12p] - (<strong>F</strong>or<strong>W</strong>ar<strong>D</strong> 12 points): - <p> - <kbd>\*[FWD 12p]</kbd> - <br> - <li>The longest line in tab 2 is "EVALUATION", so - we enclose EVALUATION with begin/end markers for string - tab 2: - <p> - <kbd>\*[ST2]EVALUATION\*[ST2X]</kbd> - <br> - <li>We want 1 pica (12 points) between tab 2 and 3, so we - insert 12 points of space with another \*[FWD 12p]: - <p> - <kbd>\*[FWD 12p]</kbd> - <br> - <li>We want tab 3 to be as long as whatever space remains on - the current line length, so we enclose the - <a href="goodies.html#PAD_MARKER">pad marker</a> - (#) with begin/end markers for string tab 3: - <p> - <kbd>\*[ST3]#\*[ST3X]</kbd> - <br> -</ul> -<br> -The tabs are now defined, but they require -<a href="definitions.html#TERMS_QUAD">quad direction</a> -and -<a href="definitions.html#TERMS_FILLED">fill</a> -information. For each string tab defined above, enter a -separate -<a href="#ST">ST</a> -line, like this: -<p> -<pre> - .ST 1 L - .ST 2 L - .ST 3 L QUAD - | | | - | | |__fill output lines - | | - tab__| |__direction - number -</pre> - -From here on in, you call the tabs with -<a href="#TAB">TAB</a> -and -<a href="#TN">TN</a> -just like typesetting tabs (see -<a href="#TYPESETTING_TABS_TUT">typesetting tabs tutorial</a>). -<p> -Here's the complete setup and entry for the sample employee -evaluation form utilizing string tabs. -<p> -<pre> - .PAGE 8.5i 11i 1i 1i 1i - .FAMILY T - .FT R - .PT_SIZE 14 - .LS 16 - .QUAD LEFT - .KERN - .HY OFF - .SS 0 - .SILENT - .PAD "\*[ST1]CRITERION\*[ST1X]\*[FWD 12p]\*[ST2]EVALUATION\*[ST2X]\*[FWD 12p]\*[ST3]#\*[ST3X]" - .SILENT OFF - .ST 1 L - .ST 2 L - .ST 3 L QUAD - .TAB 1 - CRITERION - .TN - EVALUATION - .TN - COMMENTS - .SP - .TAB 1 - Service - .TN - Good - .TN - Many clients specifically request support from Joe by name. - .SP - .TAB 1 - Punctuality - .TN - Satisfactory - .TN - Tends to arrive after 8:00am, but often works through lunch hour. - .SP - .TAB 1 - Team spirit - .TN - Needs work - .TN - Persistently gives higher priority to helping clients - than respecting organizational hierarchy. - .TQ -</pre> - -Try setting this up and previewing it with -<p> -<pre> - groff -mom -X <filename> -</pre> - -Now, change the point size of the above sample to 12 and preview -it again. You'll see that the tab structure remains identical (tab -1=CRITERION, tab 2=EVALUATION, tab 3=space remaining, and the gutter -between tabs is still 1 pica), while the position and length -of the tabs have altered because of the new point size. -<p> -Now try increasing the gutters to 2 picas (<kbd>\*[FWD 24p]</kbd> or -<kbd>\*[FWD 2P]</kbd> instead of <kbd>\*[FWD 12p]</kbd>). Preview the -file again, and notice how the tab structure remains the same, but -the gutters are wider. -<p> - -<a name="INDEX_TABS"> - <h3><u>Tabs macro list</u></h3> -</a> - -<ul> - <li><a href="#TAB_SET">TAB_SET</a> (create typesetting tabs) - <li><a href="#INLINE_ST">\*[ST]...\*[STX]</a> (inline escapes for marking String Tabs) - <li><a href="#ST">ST</a> (set String Tabs) - <li><a href="#TAB">TAB</a> (call tabs) - <li><a href="#TN">TN</a> (Tab Next; call next tab in a sequence) - <li><a href="#TQ">TQ</a> (Tab Quit) -</ul> - -<!---TAB_SET---> - -<hr width="66%" align="left"> - <a name="TAB_SET"><h3><u>Set up typesetting tabs</u></h3></a> -<br> -<nobr>Macro: <strong>TAB_SET</strong> <tab number> <indent> <length> L | R | C | J [ QUAD ]</nobr> -<br> -<em>*<indent> and <length> require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>TAB_SET</strong> creates typesetting tabs that later can be -called with -<a href="#TAB">TAB</a>. -Typesetting tabs are numbered, and defined by an indent, a length, -and a "direction", hence <strong>TAB_SET</strong> has -four required arguments: -<br> -<ul> - <li>a tab number - <li>an indent (measured from the left margin of the page, - or, if you're already in a tab, from the left margin of the tab) - <li>a length - <li>a direction -</ul> -<br> -To set up a centred tab 6 picas long and 9 points from the left -margin, you'd enter -<p> -<pre> - .TAB_SET 1 9p 6P C -</pre> - -The tab number in the above ("1") is simply an -identifier. It could have been 4, or 17, or 296. There's no -need to set up tabs in numerical sequence. -<p> -By default, tabs are in -<a href="definitions.html#TERMS_NOFILL">nofill</a> -mode, meaning you can enter text in tabs on a line-for-line basis -without having to use the -<a href="#BR">BR</a> -macro. If you want a tab to be -<a href="definitions.html#TERMS_FILLED">filled</a>, -pass the optional argument <strong>QUAD</strong>, which will -make the tab behave as if you'd entered <kbd>.QUAD L | R | -C</kbd>. -<p> -For -<a href="definitions.html#TERMS_JUST">justified</a> -tabs, simply pass the argument <strong>J</strong> (without the -<strong>QUAD</strong> argument), like this: -<p> -<pre> - .TAB 1 9p 6P J -</pre> - -Once tabs are set, they can be called at any time with the -<a href="#TAB">TAB #</a> -macro, where "#" is the number of the desired tab. -<p> -You can set up any number of typesetting tabs. However, be -aware that -<a href="#STRING_TABS">string tabs</a> -are also called with <strong>TAB #</strong>, so be careful that you -don't set up a typesetting tab numbered, say, 4, when you already -have a string tab numbered 4. Every tab, typesetting or string, -must have a unique numeric identifier. -<p> -<strong>NOTE:</strong> If you use <strong>TAB_SET</strong> while -you're currently inside a tab, the indent argument is the distance from -the tab's left margin, not the left margin of the page. Therefore, -you should exit tabs (with -<a href="#TQ">TQ</a>) -before creating new tabs (unless, of course, you want to set -up a tab structure within the confines of an existing tab). -<p> -<strong>IMPORTANT:</strong> Turn all indents off (see -<a href="#INDENTS">Indents</a>) -before setting up tabs with <strong>TAB_SET</strong>, or -<strong>mom</strong> may get confused. -<p> - -<!---INLINE_ST---> - -<hr width="66%" align="left"> - <a name="INLINE_ST"><h3><u>Mark positions of string tabs</u></h3></a> -<br> -Inlines: <strong>\*[ST<number>]...\*[ST<number>X]</strong> -<br> -<em>*<a href="definitions.html#TERMS_QUAD">Quad</a> -direction must be LEFT or JUSTIFY (see -<a href="#QUAD">QUAD</a> -and -<a href="#JUSTIFY">JUSTIFY</a>) -or the -<a name="definitions.html#TERMS_NOFILL">no-fill mode</a> -set to -<a href="#LRC">LEFT</a>. -Please see -<a href="#IMPORTANT">IMPORTANT</a>, -below.</em> -<p> -String tabs need to be marked off with -<a href="definitions.html#TERMS_INLINES">inline escapes</a> -before being set up with the -<a href="#ST">ST</a> -macro. Any input line may contain string tab markers. -<i><number></i>, above, means the numeric identifier of -the tab. The following shows a sample input line with string -tab markers. -<p> -<pre> - \*[ST1]Now is the time\*[ST1X] for all \*[ST2]good men\*ST2X] to come to the aid of the party. -</pre> - -String tab 1 begins at the start of the line and ends after the word -"time". String tab 2 starts at "good" and ends -after "men". Inline escapes (e.g. font or point size -changes, or horizontal movements, including -<a href="goodies.html#PAD">padding</a>) -are taken into account when <strong>mom</strong> determines the -position and length of string tabs. -<p> -Up to nineteen string tabs may be marked (not necessarily all on -the same line, of course), and they must be numbered between 1 -and 19. -<p> -Once string tabs have been marked in input lines, they have to -be "set" with -<a href="#ST">ST</a>, -after which they may be called, by number, with -<a href="#TAB">TAB</a>. -<p> -<strong>NOTE:</strong> Lines with string tabs marked off in them -are normal input lines, i.e. they get printed, just like any -input line. If you want to set up string tabs without the line -printing, use the -<a href="#SILENT">SILENT</a> -macro. -<p> -<a name="IMPORTANT"><strong>IMPORTANT:</strong></a> -Owing to the way groff processes -<a href="definitions.html#TERMS_INPUTLINE">input lines</a> -and turns them into -<a href="definitions.html#TERMS_OUTPUTLINE">output lines</a>, -it is not possible for <strong>mom</strong> to "guess" the -correct starting position of string tabs marked off in lines that -are centered or set flush right. -<p> -Equally, she cannot guess the starting position if a line is fully -justified and broken with -<a href="#SPREAD">SPREAD</a>. -<p> -In other words, in order to use string tabs, -<a href="#LRC">LEFT</a> -must be active, or, if -<a href="#QUAD">QUAD LEFT</a> -or -<a href="#JUSTIFY">JUSTIFY</a> -are active, the line on which the string tabs are marked must be -broken "manually" with -<a href="#BR">BR</a> -(but not -<a href="#SPREAD">SPREAD</a>). -<p> -To circumvent this behaviour, I recommend using the -<a href="goodies.html#PAD">PAD</a> -to set up string tabs in centered or flush right lines. Say, for -example, you want to use a string tab to underscore the text of a -centered line with a rule. Rather than this, -<p> -<pre> - .CENTER - \*[ST1]A line of text\*[ST1X]\c - .EL - .ST 1 - .TAB 1 - .PT_SIZE 24 - .ALD 3p - \*[RULE] - .RLD 3p - .TQ -</pre> - -you should do: -<p> -<pre> - .QUAD CENTER - .PAD "#\*[ST1]A line of text\*[ST1X]#" - .EL - .ST 1 - .TAB 1 - .PT_SIZE 24 - .ALD 3p - \*[RULE] \" Note that you can't use \*[UP ] or \*[DOWN] with \*[RULE] - .RLD 3p - .TQ -</pre> - -<p> - -<!---ST---> - -<hr width="66%" align="left"> - <a name="ST"><h3><u>Set string tabs</u></h3></a> -<br> -<nobr>Macro: <strong>ST</strong> <tab number> L | R | C | J [ QUAD ]</nobr> - -<p> -After string tabs have been marked off on an input line (see -<a href="#INLINE_ST">\*[ST]...\*[STX]</a>), -you need to "set" them by giving them a direction -and, optionally, the <strong>QUAD</strong> argument. In this -respect, <strong>ST</strong> is like -<a href="#TAB_SET">TAB_SET</a> -except that you don't have to give <strong>ST</strong> an indent -or a line length (that's already taken care of, inline, by -<kbd>\*[ST]...\*[STX]</kbd>). If you want string tab 1 to be -left, enter -<p> -<pre> - .ST 1 L -</pre> - -If you want it to be left and -<a href="definitions.html#TERMS_FILLED">filled</a>, enter -<p> -<pre> - .ST 1 L QUAD -</pre> - -If you want it to be justified, enter -<p> -<pre> - .ST 1 J -</pre> - -See the -<a href="#STRING_TABS_TUT">Quickie tutorial on string tabs</a> -for a full explanation of setting up string tabs. -<p> - -<!---TAB---> - -<hr width="66%" align="left"> -<a name="TAB"><h3><u>Call tabs</u></h3></a> -<br> -<nobr>Macro: <strong>TAB</strong> <tab number></nobr> -<br> -Alias: <strong>TB</strong> -<p> -After tabs have been defined (either with -<a href="#TAB_SET">TAB_SET</a> -or -<a href="#ST">ST</a>), -<strong>TAB</strong> moves to whatever tab number you pass it as -an argument. For example, -<p> -<pre> - .TAB 3 -</pre> - -moves you to tab 3. -<p> -<a name="NOTE_TN"></a> -<strong>NOTE:</strong> <strong>TAB</strong> breaks the line preceding -it and advances 1 linespace. Hence, -<p> -<pre> - .TAB 1 - A line of text in tab 1. - .TAB 2 - A line of text in tab 2. -</pre> - -produces, on output -<p> -<pre> - A line of text in tab 1. - A line of text in tab 2. -</pre> - -If you want the tabs to line up, use -<a href="#TN">TN</a> -(Tab Next), like this: -<p> -<pre> - .TAB 1 - A line of text in tab 1. - .TN - A line of text in tab 2. -</pre> - -which produces -<p> -<pre> - A line of text in tab 1. A line of text in tab 2. -</pre> - -If the text in your tabs runs to several lines, and you want the -first lines of each tab to align, you must use the -<a href="#MULTI_COLUMNS">multi-column</a> macros. -<p> -<strong>ADDITIONAL NOTE:</strong> Any indents in effect prior to -calling a tab are automatically turned off by <strong>TAB</strong>. -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. -<p> - -<!---TN---> - -<hr width="66%" align="left"> -<a name="TN"><h3><u>Tab Next</u></h3></a> -<br> -Macro: <strong>TN</strong> -<br> -<em>*In tabs that aren't given the QUAD argument when they're set up -with -<a href="#TAB_SET">TAB_SET</a> -or -<a href="#ST">ST</a>, you must terminate the line preceding -<kbd>TN</kbd> with the \c inline escape. See the -<a href="#TN_NOTE">ADDITIONAL NOTE</a>, -<br> -*If you find remembering whether to put in the <kbd>\c</kbd> -bothersome, you may prefer to use the -<a href="definitions.html#TERMS_INLINES">inline escape</a> -alternative to -<kbd>.TN</kbd>, -<a href="inlines.html#TB+">\*[TB+]</a>, -which works consistently regardless of the fill mode.</em> - -<p> -<strong>TN</strong> moves over to the next tab in numeric -sequence (tab n+1) without advancing on the page. See the -<a href="#NOTE_TN">NOTE</a> -in the description of the <strong>TAB</strong> macro for an -example of how <strong>TN</strong> works. -<p> -<strong>NOTE:</strong> You <em>must</em> put text in the -<a href="definitions.html#TERMS_INPUTLINE">input line</a> -immediately after <strong>TN</strong>. "Stacking" of -<strong>TN</strong>'s is not allowed. In other words, you cannot -do -<p> -<pre> - .TAB 1 - Some text - .TN - Some more text - .TN - .TN - Yet more text -</pre> - -The above example, assuming tabs numbered from 1 to 4, should be entered -<p> -<pre> - .TAB 1 - Some text - .TN - Some more text - .TAB 4 - Yet more text -</pre> -<p> -<a name="TN_NOTE"><strong>ADDITIONAL NOTE:</strong></a> -In versions of mom prior to 1.1.9, <strong>TN</strong> did not -always work as advertised on the last -<a name="TERMS_OUTPUTLINE">output line</a> -of pages that contained a footer trap (e.g. one set with -<a href="#B_MARGIN">B_MARGIN</a> -or in documents formatted using the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>). -<p> -<strong>TN</strong> has been re-written so that this should no longer be the -case. However, in order for it to work in tabs that have not been -given a <kbd>QUAD</kbd> argument (see -<a href="#TAB_SET">TAB_SET</a> -and -<a href="#ST">ST</a>) -you must always "join" <strong>.TN</strong> to the line -before it using the -<a href="#JOIN">\c</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a>, -as in the following example: -<p> -<pre> - .TAB_SET 1 0 1P L - .TAB_SET 2 1P 20P L - .TAB 1 - 1.\c - .TN - The first rule of survival is "make and keep good friends." -</pre> - -When output, the example will look like this: -<p> -<pre> - 1. The first rule of survival is "make and keep good friends." -</pre> - -Conversely, if you did give a <kbd>QUAD</kbd> argument -to <strong>TAB_SET</strong> or <strong>ST</strong>, the -<strong>\c</strong> must not be used. -<p> - -<!---TQ---> - -<hr width="66%" align="left"> -<a name="TQ"><h3><u>Tab Quit</u></h3></a> -<br> -Macro: <strong>TQ</strong> -<br> - -<p> -<strong>TQ</strong> takes you out of whatever tab you were in, -advances 1 linespace, and restores the left margin, line length, -quad direction and -<a href="definitions.html#TERMS_FILLED">fill mode</a> -that were in effect prior to invoking any tabs. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_MULTI_COLUMNS"></a> - -<a name="MULTI_COLUMNS"> - <h2><u>Multi-Columns</u></h2> -</a> - -Tabs are not by nature columnar, which is to say that if the text -inside a tab runs to several lines, calling another tab does not -automatically move to the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of the first line in the previous tab. To demonstrate: -<p> -<pre> - .TAB 1 - Carrots - Potatoes - Broccoli - .TAB 2 - $1.99/5 lbs - $0.25/lb - $0.99/bunch -</pre> - -produces, on output -<p> -<pre> - Carrots - Potatoes - Broccoli - $1.99/5 lbs - $0.25/lb - $0.99/bunch -</pre> - -The multi-column macros allow you to set tabs in columnar -fashion, rather than line by line. When you invoke multi-column -mode (with -<a href="#MCO">MCO</a>), -<strong>mom</strong> saves the position of the current baseline. -<a href="#MCR">MCR</a> -(Multi-column return) at any point while multi-columns are on -returns you to the saved position. Exiting multi-columns -(<a href="#MCX">MCX</a>) -quits the current tab (if you're in one) and moves you to the -bottom of the longest column. (Note that you do not have to use -multi-columns in conjunction with tabs.) -<p> -Using our example above, but setting it in multi-column mode, -<p> -<pre> - .MCO - .TAB 1 - Carrots - Potatoes - Broccoli - .MCR - .TAB 2 - $1.99/5 lbs - $0.25/lb - $0.99/bunch - .MCX -</pre> - -produces -<p> -<pre> - Carrots $1.99/5 lbs - Potatoes $0.25/lb - Broccoli $0.99/bunch -</pre> - -<strong>NOTE:</strong> Do not confuse <strong>MCO</strong> with -the -<a href="docprocessing.html#COLUMNS">COLUMNS</a> -macro in the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -<p> -<a name="INDEX_MULTI_COLUMNS"> - <h3><u>Columns macro list</u></h3> -</a> -<ul> - <li><a href="#MCO">MCO (begin multi-column setting)</a> - <li><a href="#MCR">MCR (return to top of column)</a> - <li><a href="#MCX">MCX (exit multi-columns)</a> -</ul> - -<!---MCO---> - -<hr width="66%" align="left"> -<a name="MCO"><h3><u>Begin multi-column setting</u></h3></a> -<br> -Macro: <strong>MCO</strong> -<br> - -<p> -<strong>MCO</strong> -(<strong>M</strong>ulti-<strong>C</strong>olumn <strong>O</strong>n) -is the macro you use to begin multi-column setting. It marks -the current -<a href="definitions.html#TERMS_BASELINE">baseline</a> -as the top of your columns, for use later with -<a href="#MCR">MCR</a>. See the -<a href="#MULTI_COLUMNS">introduction to columns</a> -for an explanation of multi-columns and some sample -input. -<p> -<strong>NOTE:</strong> Do not confuse <strong>MCO</strong> with -the -<a href="docprocessing.html#COLUMNS">COLUMNS</a> -macro in the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -<p> - -<!---MCR---> - -<hr width="66%" align="left"> -<a name="MCR"><h3><u>Return to top of column</u></h3></a> -<br> -Macro: <strong>MCR</strong> -<br> - -<p> -Once you've turned multi-columns on (with -<a href="#MCO">MCO</a>), -<strong>MCR</strong>, at any time, returns you to the top of -your columns. -<p> - -<!---MCX---> - -<hr width="66%" align="left"> -<a name="MCX"><h3><u>Exit multi-columns</u></h3></a> -<br> -<nobr>Macro: <strong>MCX</strong> [ <distance to advance below longest column> ]</nobr> -<br> -<em>*Optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>MCX</strong> takes you out of any tab you were in (by silently -invoking -<a href="#TQ">TQ</a>) and advances to the bottom of the longest -column. -<p> -Without an argument, <strong>MCX</strong> advances 1 linespace -below the longest column. Linespace, in this instance, is the -<a href="definitions.html#TERMS_LEADING">leading</a> -in effect <em>at the moment <strong>MCX</strong> is -invoked.</em> -<p> -If you pass the <nobr><distance> argument to</nobr> -<strong>MCX</strong>, it advances 1 linespace below the longest -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 <strong>MCX</strong> would -normally place you, you'd enter -<p> -<pre> - .MCX 6p -</pre> - -<strong>NOTE:</strong> If you wish to advance a precise distance -below the -<a href="definitions.html#TERMS_BASELINE">baseline</a> -of the longest column, use <strong>MCX</strong> with an -argument of 0 (zero; no unit of measure required) in conjunction -with the -<a href="#ALD">ALD</a> -macro, like this: -<p> -<pre> - .MCX 0 - .ALD 24p -</pre> - -The above advances to precisely 24 points below the baseline -of the longest column. -<p> -<hr> - -<!====================================================================> - -<a name="INTRO_INDENTS"></a> - -<a name="INDENTS"> - <h2><u>Indents</u></h2> -</a> - -With <strong>mom</strong>'s indents, you can indent from the left, -the right, or both margins. In addition, <strong>mom</strong> -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). -<p> -<a name="INDENTS_TUT"><h3><u>A brief explanation of how mom handles indents</u></h3></a> -<p> -<strong>Mom</strong> provides five kinds of indents: left, right, -both, temporary, and hanging. Each is invoked by its own name: -<br> -<ul> - <li><strong>IL</strong> = <strong>I</strong>ndent <strong>L</strong>eft - <li><strong>IR</strong> = <strong>I</strong>ndent <strong>R</strong>ight - <li><strong>IB</strong> = <strong>I</strong>ndent <strong>B</strong>oth - <li><strong>HI</strong> = <strong>H</strong>anging <strong>I</strong>ndent - <li><strong>TI</strong> = <strong>T</strong>emporary <strong>I</strong>ndent -</ul> -<br> -In addition, there are four macros to control exiting from -indents: -<br> -<ul> - <li><strong>IQ</strong> = quit all active indents - <li><strong>ILX</strong> = exit indent style left - <li><strong>IRX</strong> = exit indent style right - <li><strong>IBX</strong> = exit indent style both -</ul> -<br> -This section deals exclusively with <strong>IL, IR</strong> and -<strong>IB</strong>. For an explanation -of hanging and temporary indents -- how they work and how to use -them -- see -<a href="#HI">Hanging indents</a> -and -<a href="#TI">Temporary indents</a>. -<p> -The first time you invoke any of <strong>mom</strong>'s indents, -you must supply a measure. For example, -<p> -<pre> - .IL 2P -</pre> - -indents text 2 picas from the left margin (or current tab -indent). -<p> -When you want to exit the above indent, use either -<p> -<pre> - .IQ - or - .ILX -</pre> - -The next time you want the same indent, invoke it without the -argument, like this: -<p> -<pre> - .IL -</pre> - -As you can see, once you've supplied a measure to an indent macro -<strong>mom</strong> stores the value, obviating the need to repeat -it on subsequent invocations. And <strong>mom</strong> doesn't just -store the measure -- she hangs on to it tenaciously. Arguments passed -to <strong>IL, IR</strong> and <strong>IB</strong> are additive. -Consider the following: -<p> -<pre> - .LL 20P - .IR 2P \"Indent right by 2 picas - A first block of text... - ... - ... - .IQ \"Turn indent off - A second block of text... - ... - ... - .IR 2P \"Indent right by an additional 2 picas (i.e. 4 picas) - A third block of text... - ... - ... -</pre> - -The first block of text is right indented by 2 picas (i.e. the line -length is shortened by 2 picas to 18 picas). The second block of -text, after <strong>IQ</strong>, is, as you'd expect, set to the full -measure. The third block of text -- the one to pay attention to -- -is not right indented by 2 picas, but rather by 4 picas. -<strong>Mom</strong> adds the value of arguments to <strong>IL, -IR</strong> and <strong>IB</strong> to whatever value is already -in effect. -<p> -If you wanted the third block of text in the example above to -be right indented by just 2 picas (the original measure given to -<strong>IR</strong>), you would enter <kbd>.IR</kbd> without an -argument. -<p> -Because indent arguments are additive, putting a minus sign in front -of the argument can be used to subtract from the current value. -In the following example, the first line is indented 18 points, the -second is indented 36 points (18+18), and the third is again indented -18 points (36-18). -<p> -<pre> - .IL 18p \"Indent left by 18 points = 18 points - Now is the time - .IL 18p \"Indent left by 18 points more = 36 points - for all good men to come - .IL -18p \"Indent left by 18 points less = 18 points - to the aid of the party. -</pre> - -Sometimes, you may want to clear out the stored indent values -- let -<strong>mom</strong> start indenting with a clean slate, as it were. -Giving the optional argument <kbd>CLEAR</kbd> to any of the -"indent quit" macros resets them to zero. -<br> -<ul> - <li><strong>IQ CLEAR</strong> = quit and clear all indents - <li><strong>ILX CLEAR</strong> = quit and clear indent style left - <li><strong>IRX CLEAR</strong> = quit and clear indent style right - <li><strong>IBX CLEAR</strong> = quit and clear indent style both -</ul> -<br> -Indent styles may be combined and manipulated separately. You could, -for example, have a left indent of 4 picas and a right indent of 6 -picas and control each separately, as in the following example. -<p> -<pre> - .IL 4P \"Indent left 4 picas - .IR 6P \"Indent right 6 picas - Some text - .IRX \"Turn off the right indent only - More text \"Text is still indented 4 picas left -</pre> - -If, at <kbd>.IRX</kbd>, you wanted the text afterwards to have no -indents (either left or right), you would enter <kbd>.IQ</kbd>, -which exits all indent styles at once. -<p> -<strong>A word of advice:</strong> Indents are best used only when -you have a compelling reason not to change the current left margin or -line length. In many instances where indents might seem expedient, -it's better to use tabs, or actually change the left margin or the -line length. <strong>Mom</strong>'s indenting macros are flexible -and powerful, but easy to get tangled up in. Personally, I don't -use them much, except for cutarounds and multi-level lists ą la html, -at which they excel. -<p> -<strong>NOTE:</strong> see the section -<a href="typemacdoc.html#TYPESETTING">Typesetting Macros in Document Processing</a> -for information and advice on using indents with the -<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>. -<p> -<a name="INDEX_INDENTS"><h3><u>Indents macro list</u></h3> -<ul> - <li><a href="#IL">IL</a> (Indent left) - <li><a href="#IR">IR</a> (Indent right) - <li><a href="#IB">IB</a> (Indent both) - <li><a href="#TI">TI</a> (Temporary indent, left) - <li><a href="#HI">HI</a> (Hanging Indent) - <ul> - <li><a href="#NUM_LISTS">A recipe for numbered lists</a> - </ul> - <li><a href="#IQ">IQ</a> (Quit indents, all) - <li><a href="#IQ">ILX</a> (Exit indent style left) - <li><a href="#IQ">IRX</a> (Exit indent style right) - <li><a href="#IQ">IBX</a> (Exit indent style both) -</ul> - -<!---IL---> - -<hr width="66%" align="left"> -<a name="IL"><h3><u>Indent left</u></h3></a> -<br> -<nobr>Macro: <strong>IL</strong> [ <measure> ]</nobr> -<br> -<em>*The optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>IL</strong> indents text from the left margin of the page, -or if you're in a tab, from the left edge of the tab. Once -<strong>IL</strong> is on, the left indent is applied uniformly to -every subsequent line of text, even if you change the line length. -<p> -The first time you invoke <strong>IL</strong>, you must give it a -measure. Subsequent invocations with a measure add to the previous -measure. A minus sign may be prepended to the argument to subtract -from the current measure. The -<a href="inlines.html#INLINE_STRINGWIDTH_GROFF">\w</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a> -may be used to specify a text-dependent measure, in which case -no unit of measure is required. For example, -<p> -<pre> - .IL \w'margarine' -</pre> - -indents text by the width of the word "margarine". -<p> -With no argument, <strong>IL</strong> indents by its last -active value. See the -<a href="#INDENTS_TUT">brief explanation of how mom handles indents</a> -for more details. -<p> -<strong>NOTE:</strong> Calling a tab (with -<a href="#TAB">TAB</a>) -automatically cancels any active indents. -<p> -<strong>ADDITIONAL NOTE:</strong> Invoking <strong>IL</strong> -automatically turns off <strong>IB</strong>. -<p> - -<!---IR---> - -<hr width="66%" align="left"> -<a name="IR"><h3><u>Indent right</u></h3></a> -<br> -<nobr>Macro: <strong>IR</strong> [ <measure> ]</nobr> -<br> -<em>*The optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>IR</strong> indents text from the right margin of the -page, or if you're in a tab, from the end of the tab. -<p> -The first time you invoke <strong>IR</strong>, you must give it a -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 -<a href="inlines.html#INLINE_STRINGWIDTH_GROFF">\w</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a> -may be used to specify a text-dependent measure, in which case -no unit of measure is required. For example, -<p> -<pre> - .IR \w'jello' -</pre> - -indents text by the width of the word "jello". -<p> -With no argument, <strong>IR</strong> indents by its last -active value. See the -<a href="#INDENTS_TUT">brief explanation of how mom handles indents</a> -for more details. -<p> -<strong>NOTE:</strong> Calling a tab (with -<a href="#TAB">TAB</a>) -automatically cancels any active indents. -<p> -<strong>ADDITIONAL NOTE:</strong> Invoking <strong>IR</strong> -automatically turns off <strong>IB</strong>. -<p> - -<!---IB---> - -<hr width="66%" align="left"> -<a name="IB"><h3><u>Indent both</u></h3></a> -<br> -<nobr>Macro: <strong>IB</strong> [ <left measure> <right measure> ]</nobr> -<br> -<em>*The optional arguments require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -<strong>IB</strong> allows you to set or invoke a left and a right -indent at the same time. -<p> -At its first invocation, you must supply a measure for both indents; -at subsequent invocations when you wish to supply a measure, both must -be given again. As with <strong>IL</strong> and <strong>IR</strong>, -the measures are added to the values previously passed to the macro. -Hence, if you wish to change just one of the values, you must -give an argument of zero to the other. -<p> -<strong>A word of advice:</strong> If you need to manipulate left and -right indents separately, use a combination of <strong>IL</strong> -and <strong>IR</strong> instead of <strong>IB</strong>. You'll -save yourself a lot of grief. -<p> -A minus sign may be prepended to the arguments to subtract from their -current values. The -<a href="inlines.html#INLINE_STRINGWIDTH_GROFF">\w</a> -<a href="definitions.html#TERMS_INLINES">inline escape</a> -may be used to specify text-dependent measures, in which case -no unit of measure is required. For example, -<p> -<pre> - .IB \w'margarine' \w'jello' -</pre> - -left indents text by the width of the word "margarine" -and right indents by the width of "jello". -<p> -Like <strong>IL</strong> and <strong>IR</strong>, <strong>IB</strong> -with no argument indents by its last active values. See the -<a href="#INDENTS_TUT">brief explanation of how mom handles indents</a> -for more details. -<p> -<strong>NOTE:</strong> Calling a tab (with -<a href="#TAB">TAB</a>) -automatically cancels any active indents. -<p> -<strong>ADDITIONAL NOTE:</strong> Invoking <strong>IB</strong> -automatically turns off <strong>IL</strong> and -<strong>IR</strong>. -<p> - -<!---TI---> - -<hr width="66%" align="left"> -<a name="TI"><h3><u>Temporary (left) indent</u></h3></a> -<br> -<nobr>Macro: <strong>TI</strong> [ <measure> ]</nobr> -<br> -<em>*The optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -A temporary indent is one that applies only to the first line of -text that comes after it. Its chief use is indenting the first -line of paragraphs. (<strong>Mom</strong>'s -<a href="docprocessing.html#PP">PP</a> -macro, for example, uses a temporary indent.) -<p> -The first time you invoke <strong>TI</strong>, you must give it -a measure. If you want to indent the first line of a -paragraph by, say, 2 -<a href="definitions.html#TERMS_EM">ems</a>, -do -<p> -<pre> - .TI 2m -</pre> - -Subsequent invocations of <strong>TI</strong> do not require you -to supply a measure; <strong>mom</strong> keeps track of the -last measure you gave it. -<p> -Because temporary indents are temporary, there's no need to turn -them off. -<p> -<strong>IMPORTANT:</strong> Unlike <strong>IL, IR</strong> and -<strong>IB</strong>, measures given to <strong>TI</strong> -are NOT additive. In the following example, the second <kbd>.TI -2P</kbd> is exactly 2 picas. -<p> -<pre> - .TI 1P - The beginning of a paragraph... - .TI 2P - The beginning of another paragraph... -</pre> - -<!---HI---> - -<hr width="66%" align="left"> -<a name="HI"><h3><u>Hanging indent</u></h3></a> -<br> -<nobr>Macro: <strong>HI</strong> [ <measure> ]</nobr> -<br> -<em>*The optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em> - -<p> -A hanging indent looks like this: -<p> -<pre> - The thousand injuries of Fortunato I had borne as best I - could, but when he ventured upon insult, I vowed - revenge. You who so well know the nature of my soul - will not suppose, however, that I gave utterance to a - threat, at length I would be avenged... -</pre> - -The first line of text "hangs" outside the left -margin. -<p> -In order to use hanging indents, you must first have a left indent -active (set with either -<a href="#IL">IL</a> -or -<a href="#IB">IB</a>). -<strong>Mom</strong> will not hang text outside the left margin set with -<a href="#L_MARGIN">L_MARGIN</a> -or outside the left margin of a tab. -<p> -The first time you invoke <strong>HI</strong>, you must give it -a measure. If you want the first line of a paragraph to hang by, -say, 1 pica, do -<p> -<pre> - .IL 1P - .HI 1P -</pre> - -Subsequent invocations of <strong>HI</strong> do not require you -to supply a measure; <strong>mom</strong> keeps track of the -last measure you gave it. -<p> -Generally speaking, you should invoke <strong>HI</strong> immediately -prior to the line you want hung (i.e. without any intervening -<a href="definitions.html#TERMS_CONTROLLINES">control lines</a>). -And because hanging indents affect only one line, there's no need to turn -them off. -<p> -<a name="NUM_LISTS"><h3><u>A recipe for numbered lists</u></h3></a> -<p> -<strong>PLEASE NOTE: mom</strong> now has macros for setting lists (see -<a href="docelement.html#LIST_INTRO">Nested lists</a>), -making this recipe superfluous. It remains here in the hope that -it will clarify the use of hanging indents generally, if no longer -specifically. -<p> -Consider the following example: -<p> -<pre> - .PAGE 8.5i 11i 1i 1i 1i 1i - .FAMILY T - .FT R - .PT_SIZE 12 - .LS 14 - .JUSTIFY - .KERN - .SS 0 - .IL \w'\0\0.' \"Indent left by 2 figure spaces and a period - .HI \w'\0\0.' \"Hang first line of text back by 2 figure spaces and a period - 1.\0The most important point to be considered is whether the - answer to the meaning of life, the universe, and everything - really is 42. We have no-one's word on the subject except - Mr. Adams'. - .HI - 2.\0If the answer to the meaning of life, the universe, - and everything is indeed 42, what impact does this have on - the politics of representation? 42 is, after all not a - prime number. Are we to infer that prime numbers don't - deserve equal rights and equal access in the universe? - .HI - 3.\0If 42 is deemed non-exclusionary, how do we present it - as the answer and, at the same time, forestall debate on its - exclusionary implications? -</pre> - -First, we invoke a left indent with a measure equal to the width -of 2 -<a href="definitions.html#TERMS_FIGURESPACE">figures spaces</a> -plus a period (using the -<a href="inlines.html#INLINE_STRINGWIDTH_GROFF">\w</a> -inline escape). At this point, the left indent is active; text -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"). -Because we begin the first line with a number, a period, and a -figure space, the actual text ("The most important point...") -starts at exactly the same spot as the indented lines that -follow. -<p> -Notice that subsequent invocations of <strong>HI</strong> without a -measure produce exactly the same effect. -<p> -Paste the example above into a file and preview it with <kbd>groff -mom -X -<filename></kbd> to see hanging indents in action. -<p> -<strong>IMPORTANT:</strong> Unlike <strong>IL, IR</strong> and -<strong>IB</strong>, measures given to <strong>HI</strong> -are NOT additive. Each time you pass a measure to -<strong>HI</strong>, the measure is treated literally. -<p> - -<!---IX---> - -<hr width="66%" align="left"> -<a name="IQ"><h3><u>Quitting indents</u></h3></a> -<br> -<nobr>Macro: <strong>IQ</strong> [ CLEAR ] (quit any/all indents -- see <strong>*IMPORTANT NOTE</strong>)</nobr> -<br> -<nobr>Macro: <strong>ILX</strong> [ CLEAR ] (exit <strong>I</strong>ndent <strong>L</strong>eft)</nobr> -<br> -<nobr>Macro: <strong>IRX</strong> [ CLEAR ] (exit <strong>I</strong>ndent <strong>R</strong>ight)</nobr> -<br> -<nobr>Macro: <strong>IBX</strong> [ CLEAR ] (exit <strong>I</strong>ndent <strong>B</strong>oth)</nobr> - -<p> -<strong>*IMPORTANT NOTE:</strong> -<br> - <em>Formerly, the macro for quitting all indents was</em> -<strong>.IX</strong><em>. This usage is now deprecated, in favour -of</em> <strong>.IQ</strong><em>.</em> <strong>.IX</strong> <em>will -continue to behave as before, but</em> <strong>mom</strong> <em>will -issue a warning to stderr indicating that you should update your -documents. -<br> - As a consequence of this change,</em> -<strong>ILX, IRX</strong> <em>and</em> <strong>IBX</strong> <em>may -now also be invoked as</em> <strong>ILQ, IRQ</strong> <em>and</em> -<strong>IBQ</strong><em>. Both forms are acceptable.</em> -<p> -Without an argument, the macros to quit indents merely restore your -original margins and line length. The measures stored in the -indent macros themselves are saved so you can call them again without -having to supply a measure. -<p> -If you pass these macros the optional argument <strong>CLEAR</strong>, -they not only restore your original left margin and line length, -but also clear any values associated with a particular indent style. -The next time you need an indent of the same style, you have to supply -a measure again. -<p> -<strong>IQ CLEAR</strong>, as you'd suspect, quits and clears -the values for all indent styles at once. - -<p> -<hr> -<a href="goodies.html#TOP">Next</a> -<a href="definitions.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> - -</body> -</html> diff --git a/contrib/groff/contrib/mom/momdoc/using.html b/contrib/groff/contrib/mom/momdoc/using.html deleted file mode 100644 index 1265eec8cd97..000000000000 --- a/contrib/groff/contrib/mom/momdoc/using.html +++ /dev/null @@ -1,230 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> -<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> -<title>Using mom</title> -</head> -<body bgcolor="#dfdfdf"> - -<!====================================================================> - -<a href="typesetting.html#TOP">Next</a> -<a href="definitions.html#TOP">Prev</a> -<a href="toc.html">Back to Table of Contents</a> -<p> -<a name="TOP"></a> -<a name="USING"> - <h1 align="center"><u>USING MOM</u></h1> -</a> - -<a href="#USING_INTRO">Introduction</a> -<br> -<a href="#USING_MACROS">Inputting macros</a> -<br> -<a href="#USING_INVOKING">Invoking groff</a> -<br> -<a href="#USING_PREVIEWING">Previewing documents</a> -<p> -<hr> -<h2><a name="USING_INTRO"><u>Introduction</u></a></h2> - -As explained in the section -<a href="intro.html#INTRO">What is mom?</a>, -<strong>mom</strong> can be used in two ways: for straight typesetting -or for document processing. The difference between the two is -that in straight typesetting, every macro is a literal -typesetting instruction that determines precisely how text -following it will look. Document processing, on the other hand, -uses markup "tags" (e.g. <kbd>.PP</kbd> for -paragraphs, <kbd>.HEAD</kbd> for heads, <kbd>.FOOTNOTE</kbd> -for footnotes, etc.) that make a lot of typesetting decisions -automatically. -<p> -You tell <strong>mom</strong> that you want to use the document -processing macros with the -<a href="docprocessing.html#START">START</a> -macro, explained below. After <strong>START</strong>, -<strong>mom</strong> determines the appearance of text following -the markup tags automatically, although you, the user, can easily -change how <strong>mom</strong> interprets the tags. This gives you -nearly complete control over document design. 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. -<p> -<a name="USING_MACROS"> - <h2><u>How to input mom's macros</u></h2> -</a> - -Regardless of which way you use <strong>mom</strong>, the -following apply. -<br> -<ol> - <li>You need a good text editor for inputting - <strong>mom</strong> files. - <p> - I cannot recommend highly enough that you use an - editor that lets you write syntax highlighting - rules for <strong>mom</strong>'s macros and - <a href="definitions.html#TERMS_INLINES">inline escapes</a>. - I use the vi clone called elvis, and find it a pure - joy in this regard. Simply colourizing macros and - inlines to half-intensity can be enough to make text stand - out clearly from formatting commands. - <li>All <strong>mom</strong>'s macros begin with a period - (dot) and must be entered in upper case (capital) - letters. - <li>Macro - <a href="definitions.html#TERMS_ARGUMENTS">arguments</a> - are separated from the macro itself by spaces. Multiple - arguments to the same macro are separated from each - other by spaces. Any number of spaces may be used. All - arguments to a macro must appear on the same line as the - macro. - <li>Any argument (except a - <a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>) - that is not a digit must be entered in upper case - (capital) letters. - <li>Any argument that requires a plus or minus sign must - have the plus or minus sign prepended to the argument - with no intervening space (e.g. +2, -4). - <li>Any argument that requires a - <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a> - must have the unit appended directly to the argument, - with no intervening space (e.g. 4P, .5i, 2v). - <li><a href="definitions.html#TERMS_STRINGARGUMENT">String arguments</a>, - in the sense that the term is used in this manual, must - be surrounded by double-quotes ("text of - string"). Multiple string arguments are separated - from each other by spaces (each argument surrounded by - double-quotes, of course). - <li>If a string argument, as entered in your text editor, - becomes uncomfortably long (i.e. runs longer than the - visible portion of your screen or window), you may break - it into two or more lines by placing the backslash - character (<kbd>\</kbd>) at the ends of lines to break - them up, like this: - <p> - <pre> - .SUBTITLE "An In-Depth Consideration of the \ - Implications of Forty-Two as the Meaning of Life, \ - The Universe, and Everything" - </pre> -</ol> - -It's important that formatted documents be easy to read/interpret -when you're looking at them in a text editor. One way to achieve -this is to group macros that serve a similar purpose together, and -separate them from other groups of macros with a blank comment line. -In groff, that's done with <kbd>\#</kbd> on a line by itself. -Consider the following, which is a template for starting the -chapter of a book. -<p> -<pre> - .TITLE "My Pulitzer Novel" - .AUTHOR "Joe Blow" - .CHAPTER 1 - \# - .DOCTYPE CHAPTER - .PRINTSTYLE TYPESET - \# - .FAM P - .PT_SIZE 10 - .LS 12 - \# - .START -</pre> - -<a name="USING_INVOKING"> - <h2><u>Printing -- invoking groff with mom</u></h2> -</a> - -After you've finished your document, naturally you will want to -print it. This involves invoking groff from the command line. -In all likelihood, you already know how to do this, but in case -you don't, here are two common ways to do it. -<p> -<pre> - groff -mom -l <filename> - groff -mom <filename> | lpr -</pre> - -In the first, the <strong>-l</strong> option to groff tells -groff to send the output to your printer. In the second, you're -doing the same thing, except you're telling groff to pipe the -output to your printer. Basically, they're the same thing. The -only advantage to the second is that your system may be set up -to use something other than <strong>lpr</strong> as your print -command, in which case, you can replace <strong>lpr</strong> -with whatever is appropriate to your box. -<p> -Sadly, it is well beyond the scope of this manual to tell you -how to set up a printing system. See the README file for -minimum requirements to run groff with <strong>mom</strong>. -<p> -<strong>NOTE FOR ADVANCED USERS:</strong> I've sporadically had groff -choke on perfectly innocent sourced files within <strong>mom</strong> -documents. You'll know you have this problem when groff complains that -it can't find the sourced file even when you can plainly see that the -file exists, and that you've given <code>.so</code> the right path and -name. Should this happen, pass groff the <code>-U</code> (unsafe mode) -option along with the other options you require. Theoretically, you -only need <code>-U</code> with <code>.open, .opena, .pso, .sy,</code> -and <code>.pi</code>, however reality seems, at times, to dictate -otherwise. -<p> -<a name="USING_PREVIEWING"> - <h2><u>How to preview documents</u></h2> -</a> - -Other than printing out hard copy, there are two well-established -methods for previewing your work. Both assume you have a working -X server. -<p> -Groff itself comes with a quick and dirty previewer called -gxditview. Invoke it with -<p> -<pre> - groff -X -mom filename -</pre> - -It's not particularly pretty, doesn't have many navigation -options, requires a lot of work if you want to use other than -the "standard" groff PostScript fonts, and occasionally -has difficulty accurately reproducing some of -<strong>mom</strong>'s macro effects -(<a href="goodies.html#SMARTQUOTES">smartquotes</a> -and -<a href="goodies.html#LEADER">leaders</a> -come to mind). What it does have going for it is that it's fast and -doesn't gobble up system resources. -<p> -A surer way to preview documents is with <strong>gv</strong> -(ghostview). This involves processing documents with groff, -and directing the output to a PostScript file, like this, -<p> -<pre> - groff -mom filename > filename.ps -</pre> -then opening .ps file in <strong>gv</strong>. -<p> -While that may sound like a lot of work, I've set up my editor -(elvis) to do it for me. Whenever I'm working on a document that -needs previewing/checking, I fire up <strong>gv</strong> with the -"Watch File" option turned on. To look at the file, I -tell elvis to process it (with groff) and send it to a temporary -file (<kbd>groff -mom filename > filename.ps</kbd>), then open -the file inside <strong>gv</strong>. Ever after, when I want to -look at any changes I make, I simply tell elvis to work his magic -again. The Watch File option in <strong>gv</strong> registers that -the file has changed, and automatically loads the new version. -Voilą! --instant previewing. - -<p> -<hr> -<a href="typesetting.html#TOP">Next</a> -<a href="definitions.html#TOP">Prev</a> -<a href="#TOP">Top</a> -<a href="toc.html">Back to Table of Contents</a> -</body> -</html> |