1 .TH GROFF_MOM @MAN7EXT@ "@MDATE@" "groff @VERSION@"
3 groff_mom \- groff \(lqmom\(rq macros; \(lqmom\(rq is a \(lqroff\(rq \
4 language, part of \(lqgroff\(rq
7 .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
8 .do nr groff_mom_C \n[.C]
12 .\" ====================================================================
14 .\" ====================================================================
16 .\" Copyright (C) 2002-2018 Free Software Foundation, Inc.
18 .\" This file is part of mom, which is part of groff, the GNU roff
19 .\" type-setting system.
21 .\" This program is free software: you can redistribute it and/or modify
22 .\" it under the terms of the GNU General Public License as published by
23 .\" the Free Software Foundation, either version 3 of the License, or
24 .\" (at your option) any later version.
26 .\" This program is distributed in the hope that it will be useful, but
27 .\" WITHOUT ANY WARRANTY; without even the implied warranty of
28 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29 .\" General Public License for more details.
31 .\" You should have received a copy of the GNU General Public License
32 .\" along with this program. If not, see
33 .\" <http://www.gnu.org/licenses/>.
36 .\" ====================================================================
38 .\" ====================================================================
40 .ds Ellipsis \&.\|.\|.\&\"
45 .\" ====================================================================
46 .\" .FONT (<font name> <text> [<font name> <text> ...])
48 .\" Print in different fonts: R, I, B, CR, CI, CB
51 . if (\\n[.$] = 0) \{\
56 . while (\\n[.$] >= 2) \{\
57 . as result \,\f[\\$1]\\$2
58 . if !"\\$1"P" .as result \f[P]\""
61 . if (\\n[.$] = 1) .as result \,\f[\\$1]
68 .\" ====================================================================
70 .\" ====================================================================
97 .\" ====================================================================
99 .\" ====================================================================
104 designed primarily to format documents for
113 provides two categories of macros: macros for typesetting, and
114 macros for document processing.
116 The typesetting macros provide access to groff's typesetting
117 capabilities in ways that are simpler to master than groff's
120 The document processing macros provide highly customizable markup
121 tags that allow the user to design and output professional-looking
122 documents with a minimum of typesetting intervention.
127 .BR pdfmom (@MAN1EXT@)
134 The documents include a
136 outline that appears in the \[oq]Contents\[cq] panel of document
137 viewers, and may contain clickable internal and external links.
149 is used to generate the output.
151 When given, the output is still
153 but processing is passed over to
161 features are available when
163 is given; its primary use is to allow processing of files with
181 comes with her own very complete documentation in
197 .\" ====================================================================
199 .\" ====================================================================
202 .I @MACRODIR@/\:om.tmac
203 \[en] the main macro file
205 .I @MACRODIR@/\:mom.tmac
206 \[en] a wrapper file that calls om.tmac directly.
209 .I @HTMLDOCDIR@/\:mom/\:toc.html
210 \[en] entry point to the HTML documentation
213 .I @PDFDOCDIR@/\:mom\-pdf.pdf
214 \[en] the PDF manual,
215 .I Producing PDFs with groff and mom
218 .IR @EXAMPLEDIR@/\:mom/\: * .mom
219 \[en] example files using mom
222 .\" ====================================================================
223 .SH DOCUMENTATION IN ALPHABETICAL ORDER
224 .\" ====================================================================
227 This part of the man page contains information just as in groff(7),
230 .I mom escape sequences
231 in alphabetical order.
238 .I mom escape sequences
239 is very well documented in
242 .I @HTMLDOCDIR@/\:mom/\:toc.html
243 \[en] entry point to the HTML documentation
247 That document is quite good for beginners, but other users should be
248 happy to have some documentation in reference style.
252 So we restrict this part to the alphabetical order of macros and
255 But, so far, we took all documentation details from the
257 file, just in a more useful alphabetical order.
260 So this part of the man page is nothing new, but only a logical
264 .\" ====================================================================
265 .SH "QUICK REFERENCE"
266 .\" ====================================================================
268 .\" ====================================================================
269 .SS "Quick Reference of Inline Escape Sequences in alphabetical Order"
270 .\" ====================================================================
273 .FONT B \[rs]*[ I <colorname> B ]
274 begin using an initialized colour inline
278 .FONT B \[rs]*[BCK I " n" B ]
279 move backwards in a line
284 invoke pseudo bold inline (related to macro
290 off pseudo bold inline (related to macro
295 .FONT B \[rs]*[BU I " n" B ]
296 move characters pairs closer together inline (related to macro
302 invoke pseudo condensing inline (related to macro
308 off pseudo condensing inline (related to macro
313 .FONT B \[rs]*[CONDSUP] R \*[Ellipsis] B \[rs]*[CONDSUPX]
314 pseudo-condensed superscript
318 .FONT B \[rs]*[DOWN I " n" B ]
319 temporarily move downwards in a line
324 mark initial line of a range of line numbers (for use with line
330 invoke pseudo extending inline (related to macro
336 off pseudo condensing inline (related to macro
341 .FONT B \[rs]*[EXTSUP] R \*[Ellipsis] B \[rs]*[EXTSUPX]
342 pseudo extended superscript
346 .FONT B \[rs]*[FU I " n" B ]
347 move characters pairs further apart inline (related to macro
352 .FONT B \[rs]*[FWD I " n" B ]
353 move forward in a line
358 insert leaders at the end of a line
363 draw a full measure rule
367 .FONT B \[rs]*[SIZE I " n" B ]
368 change the point size inline (related to macro
374 invoke pseudo italic inline (related to macro
380 off pseudo italic inline (related to macro
385 .FONT B \[rs]*[ST I <n> B ] R \*[Ellipsis] B \[rs]*[ST I <n> B X]
386 string tabs (mark tab positions inline)
390 .FONT B \[rs]*[SUP] R \*[Ellipsis] B \[rs]*[SUPX]
402 .FONT B \[rs]*[UL] R \*[Ellipsis] B \[rs]*[ULX]
403 invoke underlining inline (fixed width fonts only)
407 .FONT B \[rs]*[UP I " n" B ]
408 temporarily move upwards in a line
411 .\" ====================================================================
412 .SS "Quick Reference of Macros in alphabetical Order"
413 .\" ====================================================================
417 set the linespacing relative to the point size
427 break a justified line
432 set line-by-line quad centre
437 set the amount to pseudo condense
442 break a line without advancing on the page
447 set the amount to pseudo extend
452 establish a fallback font (for missing fonts)
462 .BI ".FAMILY " <family>
469 set the font style (roman, italic, etc.)
473 .BI ".HI [" " <measure> " ]
479 automatic hyphenation on/off
484 set automatic hyphenation parameters
488 .BI ".IB [" " <left measure> <right measure> " ]
498 .BI ".IL [" " <measure> " ]
513 .BI ".IR [" " <measure> " ]
524 justify text to both margins
529 automatic character pair kerning on/off
534 set a left margin (page offset)
539 set line-by-line quad left
549 set a linespacing (leading)
554 set explicit page dimensions and margins
559 set a custom page width
564 set a custom page length
568 .BI .PAPER " <paper_type>"
569 set common paper sizes (letter, A4, etc)
579 "justify" text left, centre, or right
589 set line-by-line quad right
594 set the amount of emboldening
599 set the degree of slant
609 set the sentence space size
618 .BI ".TI [" " <measure> " ]
619 temporary left indent
624 set the minimum word space size
627 .\" ====================================================================
628 .SH "DOCUMENTATION OF DETAILS"
629 .\" ====================================================================
631 .\" ====================================================================
632 .SS "Details of Inline Escape Sequences in alphabetical Order"
633 .\" ====================================================================
636 .FONT B \[rs]*[ I <colorname> B ]
637 begin using an initialized colour inline
641 .FONT B \[rs]*[BCK I " n" B ]
645 .\" ======================================================================
647 .\" ======================================================================
658 begins emboldening type.
661 turns the feature off.
663 Both are inline escapes, therefore they should not appear as separate
664 lines, but rather be embedded in text lines, like this:
667 .FONT R "Not " B \[rs]*[BOLDER] R everything B \[rs]*[BOLDERX] R " is as it seems."
672 Alternatively, if you wanted the whole line emboldened, you should do
675 .FONT B \[rs]*[BOLDER] R "Not everything is as it seems." B \[rs]*[BOLDERX]
681 is invoked, it remains in effect until turned off.
684 Note: If you're using the document processing macros with
685 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
694 .\" ======================================================================
696 .\" ======================================================================
698 .FONT B \[rs]*[BU I " n" B ]
699 move characters pairs closer together inline (related to macro
703 .\" ======================================================================
705 .\" ======================================================================
710 Pseudo-condensing on/off
716 begins pseudo-condensing type.
719 turns the feature off.
721 Both are inline escapes, therefore they should not appear as separate
722 lines, but rather be embedded in text lines, like this:
725 .FONT B \[rs]*[COND] I "Not everything is as it seems." B \[rs]*[CONDX]
729 remains in effect until you turn it off with
730 .BR \%\[rs]*[CONDX] .
733 IMPORTANT: You must turn
735 off before making any changes to the point size of your type, either
742 If you wish the new point size to be pseudo-condensed, simply reinvoke
748 must be turned off before changing the condense percentage with
752 Note: If you're using the document processing macros with
753 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
762 .\" ======================================================================
764 .\" ======================================================================
766 .FONT B \[rs]*[CONDSUP] R \*[Ellipsis] B \[rs]*[CONDSUPX]
767 pseudo-condensed superscript
770 .\" ======================================================================
772 .\" ======================================================================
774 .FONT B \[rs]*[DOWN I " n" B ]
775 temporarily move downwards in a line
778 .\" ======================================================================
780 .\" ======================================================================
783 mark initial line of a range of line numbers (for use with line
787 .\" ======================================================================
789 .\" ======================================================================
794 Pseudo-extending on/off
800 begins pseudo-extending type.
803 turns the feature off.
805 Both are inline escapes, therefore they should not appear as separate
806 lines, but rather be embedded in text lines, like this:
809 .FONT B \[rs]*[EXT] I "Not everything is as it seems." B \[rs]*[EXTX]
813 remains in effect until you turn it off with
817 IMPORTANT: You must turn
819 off before making any changes to the point size of your type, either
826 If you wish the new point size to be
827 .IR \%pseudo-extended ,
834 must be turned off before changing the extend percentage with
838 Note: If you are using the document processing macros with
839 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
848 .\" ======================================================================
850 .\" ======================================================================
852 .FONT B \[rs]*[EXTSUP] R \*[Ellipsis] B \[rs]*[EXTSUPX]
853 pseudo extended superscript
856 .\" ======================================================================
858 .\" ======================================================================
860 .FONT B \[rs]*[FU I " n" B ]
861 move characters pairs further apart inline (related to macro
865 .\" ======================================================================
867 .\" ======================================================================
869 .FONT B \[rs]*[FWD I " n" B ]
870 move forward in a line
873 .\" ======================================================================
875 .\" ======================================================================
878 insert leaders at the end of a line
881 .\" ======================================================================
883 .\" ======================================================================
886 draw a full measure rule
889 .\" ======================================================================
891 .\" ======================================================================
893 .FONT B \[rs]*[SIZE I " n" B ]
894 change the point size inline (related to macro
898 .\" ======================================================================
900 .\" ======================================================================
912 .I pseudo-italicizing
916 turns the feature off.
921 therefore they should not appear as separate lines, but rather be
922 embedded in text lines, like this:
925 .FONT R "Not " B \[rs]*[SLANT] R everything B \[rs]*[SLANTX] R " is as it seems."
930 Alternatively, if you wanted the whole line
931 .IR pseudo-italicized ,
935 .FONT B \[rs]*[SLANT] R "Not everything is as it seems." B \[rs]*[SLANTX]
942 is invoked, it remains in effect until turned off.
945 Note: If you're using the document processing macros with
946 .BR "\%.PRINTSTYLE \%TYPEWRITE" ,
948 underlines pseudo-italics by default.
950 To change this behaviour, use the special macro
951 .BR .SLANT_MEANS_SLANT .
956 .\" ======================================================================
958 .\" ======================================================================
960 .FONT B \[rs]*[ST I <number> B ] R \*[Ellipsis] B \[rs]*[ST I <number> B X]
961 Mark positions of string tabs
979 in order for these inlines to function properly.
986 String tabs need to be marked off with inline escapes before being set
991 Any input line may contain string tab markers.
994 above, means the numeric identifier of the tab.
997 The following shows a sample input line with string tab markers.
1000 .FONT B \[rs]*[ST1] R "Now is the time" B \[rs]*[ST1X] R " for all " B \[rs]*[ST2] R "good men" B \[rs]*ST2X] R " to come to the aid of the party."
1007 begins at the start of the line and ends after the word
1023 or horizontal movements, including padding) are taken into account
1035 Up to nineteen string tabs may be marked (not necessarily all on the
1036 same line, of course), and they must be numbered between 1 and 19.
1039 Once string tabs have been marked in input lines, they have to be
1043 after which they may be called, by number, with
1047 Note: Lines with string tabs marked off in them are normal input
1048 lines, i.e.\& they get printed, just like any input line.
1050 If you want to set up string tabs without the line printing, use the
1058 processes input lines and turns them into output lines, it is not
1063 the correct starting position of string tabs marked off in lines that
1064 are centered or set flush right.
1067 Equally, she cannot guess the starting position if a line is fully
1068 justified and broken with
1072 In other words, in order to use string tabs,
1074 must be active, or, if
1078 are active, the line on which the
1080 are marked must be broken
1088 To circumvent this behaviour, I recommend using the
1090 to set up string tabs in centered or flush right lines.
1092 Say, for example, you want to use a
1096 the text of a centered line with a rule.
1102 .B \[rs]*[ST1]A line of text\[rs]*[ST1X]\[rs]c
1117 .B .PAD """#\[rs]*[ST1]A line of text\[rs]*[ST1X]#"""
1123 .B \[rs]*[RULE] \[rs]" Note that you can't use \[rs]*[UP] or \[rs]*[DOWN] with \[rs]*[RULE]\""
1132 .\" ======================================================================
1134 .\" ======================================================================
1136 .FONT B \[rs]*[SUP] R \*[Ellipsis] B \[rs]*[SUPX]
1140 .\" ======================================================================
1142 .\" ======================================================================
1150 .\" ======================================================================
1152 .\" ======================================================================
1154 .FONT B \[rs]*[UL] R \*[Ellipsis] B \[rs]*[ULX]
1155 invoke underlining inline (fixed width fonts only)
1158 .\" ======================================================================
1160 .\" ======================================================================
1162 .FONT B \[rs]*[UP I " n" B ]
1163 temporarily move upwards in a line
1166 .\" ====================================================================
1167 .SS "Details of Macros in alphabetical Order"
1168 .\" ====================================================================
1170 .\" ======================================================================
1172 .\" ======================================================================
1175 set the linespacing relative to the point size
1178 .\" ======================================================================
1180 .\" ======================================================================
1182 .BI .B_MARGIN " <bottom margin>"
1188 Requires a unit of measure
1192 sets a nominal position at the bottom of the page beyond which you
1193 don't want your type to go.
1195 When the bottom margin is reached,
1199 .B .B_MARGIN requires a unit of measure.
1201 Decimal fractions are allowed.
1203 To set a nominal bottom margin of 3/4 inch, enter
1206 .B \&.B_MARGIN \&.75i
1211 Obviously, if you haven't spaced the type on your pages so that the
1212 last lines fall perfectly at the bottom margin, the margin will vary
1215 Usually, but not always, the last line of type that fits on a page
1216 before the bottom margin causes mom to start a new page.
1219 Occasionally, owing to a peculiarity in
1221 an extra line will fall below the nominal bottom margin.
1223 If you're using the document processing macros, this is unlikely to
1224 happen; the document processing macros are very hard-nosed about
1225 aligning bottom margins.
1228 Note: The meaning of
1230 is slightly different when you're using the document processing
1236 .\" ======================================================================
1238 .\" ======================================================================
1240 .BI \%.FALLBACK_FONT " <fallback font> " "[ ABORT | WARN ]"
1246 In the event that you pass an invalid argument to
1248 (i.e.\& a non-existent
1251 by default, uses the
1252 .IR "fallback font" ,
1253 .B Courier Medium Roman
1255 in order to continue processing your file.
1258 If you'd prefer another
1259 .IR "fallback font" ,
1268 For example, if you'd rather the
1271 .BR "Times Roman Medium Roman" ,
1274 .B .FALLBACK_FONT TR
1281 issues a warning whenever a
1285 does not exist, either because you haven't registered the style
1288 does not exist in the current
1295 then aborts, which allows you to correct the problem.
1298 If you'd prefer that
1300 not abort on non-existent
1302 but rather continue processing using a
1303 .IR "fallback font" ,
1308 either by itself, or in conjunction with your chosen
1309 .IB "fallback font" .
1312 Some examples of invoking
1313 .BR \%.FALLBACK_FONT :
1316 .B .FALLBACK_FONT WARN
1318 will issue a warning whenever you try to access a non-existent
1320 but will continue processing your file with the default
1321 .IR "fallback font" ,
1322 .BR "Courier Medium Roman" .
1326 .B .FALLBACK_FONT TR WARN
1328 will issue a warning whenever you try to access a non-existent
1330 but will continue processing your file with a
1333 .BR "Times Roman Medium Roman" ;
1338 whenever you try to access a
1340 that does not exist.
1343 .B .FALLBACK_FONT TR ABORT
1345 will abort whenever you try to access a non-existent
1350 whenever you try to access a
1352 that does not exist.
1354 If, for some reason, you want to revert to
1357 .B \%".FALLBACK_FONT ABORT"
1360 will once again abort on
1366 .\" ======================================================================
1368 .\" ======================================================================
1370 .BI .FAM " <family>"
1371 Type Family, alias of \fB.FAMILY\fR
1374 .\" ======================================================================
1376 .\" ======================================================================
1378 .BI .FAMILY " <family>"
1379 Type Family, alias \fB.FAM\fR
1385 takes one argument: the name of the
1390 comes with a small set of basic families, each identified by a 1-,
1391 2- or 3-letter mnemonic.
1393 The standard families are:
1396 .B "A = Avant Garde"
1399 .B "HN = Helvetica Narrow"
1400 .B "N = New Century Schoolbook"
1402 .B "T = Times Roman"
1403 .B "ZCM = Zapf Chancery"
1408 The argument you pass to
1410 is the identifier at left, above.
1412 For example, if you want
1422 Note: The font macro
1424 lets you specify both the type
1426 and the desired font with a single macro.
1428 While this saves a few
1429 keystrokes, I recommend using
1435 except where doing so is genuinely inconvenient.
1439 only exists in one style:
1450 makes more sense than setting the
1460 Additional note: If you are running a version of groff lower than
1461 1.19.2, you must follow all
1467 will set all type up to the next
1469 request in the fallback font.
1472 If you are running a version of groff greater than or equal to 1.19.2,
1481 etc) currently in use (if the font style exists in the new
1483 and will continue to use the same font style in the new family.
1487 .BI ".FAMILY BM " "\[rs]"" Bookman family"
1488 .BI ".FT I " "\[rs]"" Medium Italic"
1489 .I <some text> \[rs]" Bookman Medium Italic
1490 .BI ".FAMILY H " "\[rs]"" Helvetica family"
1491 .I <more text> \[rs]" Helvetica Medium Italic
1496 However, if the font style does not exist in the new family,
1498 will set all subsequent type in the fallback font (by default,
1501 until she encounters a
1503 request that's valid for the
1507 For example, assuming you don't have the font
1508 .B Medium Condensed Roman
1517 .BI ".FAMILY UN " "\[rs]"" Univers family"
1518 .BI ".FT CD " "\[rs]"" Medium Condensed"
1519 .I <some text> \[rs]" Univers Medium Condensed
1520 .BI ".FAMILY H " "\[rs]"" Helvetica family"
1521 .I <more text> \[rs]" Courier Medium Roman!
1526 In the above example, you must follow
1530 request that's valid for
1534 Please see the Appendices,
1537 for information on adding fonts and families to groff, as well as to
1538 see a list of the extensions
1550 Suggestion: When adding
1553 I recommend following the established standard for the naming families
1556 For example, if you add the
1558 family, name the font files
1568 .B GARAMOND then becomes a valid
1573 (You could, of course, shorten
1597 .\" ======================================================================
1599 .\" ======================================================================
1601 .BI ".FONT R | B | BI | " "<any other valid font style>"
1606 .\" ======================================================================
1608 .\" ======================================================================
1610 .BI ".FT R | B | BI | " "<any other valid font style>"
1620 to take one of four possible arguments specifying the desired font:
1623 .B R = (Medium) Roman
1624 .B I = (Medium) Italic
1631 For example, if your
1655 considerably extends the range of arguments you can pass to
1657 making it more convenient to add and access fonts of differing weights
1658 and shapes within the same family.
1661 Have a look here for a list of the weight/style arguments
1665 Be aware, though, that you must have the fonts, correctly installed
1666 and named, in order to use the arguments.
1669 .I Adding fonts to groff
1670 for instructions and information.)
1672 Please also read the
1674 found in the description of the
1681 reacts to an invalid argument to
1683 depends on which version of groff you're using.
1687 is greater than or equal to 1.19.2,
1689 will issue a warning and, depending on how you've set up the fallback
1690 font, either continue processing using the fallback font, or abort
1691 (allowing you to correct the problem). If your
1693 is less than 1.19.2,
1695 will silently continue processing, using either the fallback font or
1696 the font that was in effect prior to the invalid
1702 will also accept, as an argument, a full
1715 will set subsequent type in
1720 However, I strongly recommend keeping
1724 separate except where doing so is genuinely inconvenient.
1727 For inline control of
1737 .\" ======================================================================
1739 .\" ======================================================================
1741 .BI "\%.HI [" " <measure> " ]
1742 Hanging indent \[em] the optional argument requires a unit of measure.
1747 A hanging indent looks like this:
1750 \fB The thousand injuries of Fortunato I had borne as best I
1751 could, but when he ventured upon insult, I vowed
1752 revenge. You who so well know the nature of my soul
1753 will not suppose, however, that I gave utterance to a
1754 threat, at length I would be avenged\*[Ellipsis]
1758 The first line of text
1765 .IR "hanging indents" ,
1766 you must first have a
1768 active (set with either
1774 will not hang text outside the
1784 The first time you invoke
1789 If you want the first line of a paragraph to
1801 Subsequent invocations of
1803 do not require you to supply a
1806 keeps track of the last measure you gave it.
1809 Generally speaking, you should invoke
1811 immediately prior to the line you want hung (i.e.\& without any
1812 intervening control lines).
1816 affect only one line, there's no need to turn them off.
1829 Each time you pass a measure to
1831 the measure is treated literally.
1835 A numbered list using
1841 has macros for setting lists.
1843 This recipe exists to demonstrate the use of
1848 .B ".PAGE 8.5i 11i 1i 1i 1i 1i"
1856 .B ".IL \[rs]w'\[rs]0\[rs]0.'"
1857 .B ".HI \[rs]w'\[rs]0\[rs]0.'"
1858 \fB1.\[rs]0The most important point to be considered is whether the
1859 answer to the meaning of Life, the Universe, and Everything
1860 really is 42. We have no-one's word on the subject except
1863 2.\[rs]0If the answer to the meaning of Life, the Universe,
1864 and Everything is indeed 42, what impact does this have on
1865 the politics of representation? 42 is, after all not a
1866 prime number. Are we to infer that prime numbers don't
1867 deserve equal rights and equal access in the universe?
1869 3.\[rs]0If 42 is deemed non-exclusionary, how do we present it
1870 as the answer and, at the same time, forestall debate on its
1871 exclusionary implications?
1876 First, we invoke a left indent with a measure equal to the width of 2
1877 figures spaces plus a period (using the \[rs]w inline escape).
1879 At this point, the left indent is active; text afterwards would
1880 normally be indented.
1882 However, we invoke a hanging indent of exactly the same width, which
1883 hangs the first line (and first line only!\&) to the left of the indent
1884 by the same distance (in this case, that means \[lq]out to the left
1887 Because we begin the first line with a number, a period, and a figure
1888 space, the actual text
1889 .RI ( "The most important point\*[Ellipsis]" )
1890 starts at exactly the same spot as the indented lines that follow.
1893 Notice that subsequent invocations of
1900 Paste the example above into a file and preview it with
1903 .B pdfmom filename.mom | ps2pdf \- filename.pdf
1906 to see hanging indents in action.
1911 .\" ======================================================================
1912 .\" IB - INDENT BOTH
1913 .\" ======================================================================
1915 .BI "\%.IB [" " <left measure> <right measure> " ]
1916 Indent both \[em] the optional argument requires a unit of measure
1922 allows you to set or invoke a left and a right indent at the same time.
1925 At its first invocation, you must supply a measure for both indents;
1926 at subsequent invocations when you wish to supply a measure, both must
1933 the measures are added to the values previously passed to the
1936 Hence, if you wish to change just one of the values, you must give an
1937 argument of zero to the other.
1940 .I A word of advice:
1941 If you need to manipulate left and right indents separately, use a
1949 You'll save yourself a lot of grief.
1954 may be prepended to the arguments to subtract from their current
1957 The \[rs]w inline escape may be used to specify text-dependent
1958 measures, in which case no unit of measure is required.
1963 .B .IB \[rs]w\[aq]margarine\[aq] \[rs]w\[aq]jello\[aq]
1966 left indents text by the width of the word
1968 and right indents by the width of
1977 with no argument indents by its last active values.
1979 See the brief explanation of how mom handles indents for more details.
1987 automatically cancels any active indents.
1993 automatically turns off
2001 .\" ======================================================================
2002 .\" IL - INDENT LEFT
2003 .\" ======================================================================
2005 .BI "\%.IL [" " <measure> " ]
2006 Indent left \[em] the optional argument requires a unit of measure
2012 indents text from the left margin of the page, or if you're in a
2014 from the left edge of the
2021 is applied uniformly to every subsequent line of text, even if you
2022 change the line length.
2025 The first time you invoke
2027 you must give it a measure.
2029 Subsequent invocations with a measure add to the previous measure.
2031 A minus sign may be prepended to the argument to subtract from the
2036 inline escape may be used to specify a text-dependent measure, in
2037 which case no unit of measure is required.
2042 .B .IL \[rs]w'margarine'
2045 indents text by the width of the word
2051 indents by its last active value.
2053 See the brief explanation of how
2055 handles indents for more details.
2063 automatically cancels any active indents.
2069 automatically turns off
2075 .\" ======================================================================
2076 .\" IQ - quit any/all indents
2077 .\" ======================================================================
2079 .BI "\%.IQ [" " <measure> " ]
2080 IQ \[em] quit any/all indents
2086 The original macro for quitting all indents was
2089 This usage has been deprecated in favour of
2093 will continue to behave as before, but
2095 will issue a warning to
2097 indicating that you should update your documents.
2100 As a consequence of this change,
2105 may now also be invoked as
2111 Both forms are acceptable.
2114 Without an argument, the macros to quit indents merely restore your
2115 original margins and line length.
2117 The measures stored in the indent macros themselves are saved so you
2118 can call them again without having to supply a measure.
2121 If you pass these macros the optional argument
2123 they not only restore your original left margin and line length, but
2124 also clear any values associated with a particular indent style.
2126 The next time you need an indent of the same style, you have to supply
2131 as you'd suspect, quits and clears the values for all indent
2137 .\" ======================================================================
2138 .\" IR - INDENT RIGHT
2139 .\" ======================================================================
2141 .BI "\%.IR [" " <measure> " ]
2142 Indent right \[em] the optional argument requires a unit of measure
2148 indents text from the
2150 of the page, or if you're in a
2156 The first time you invoke
2158 you must give it a measure.
2160 Subsequent invocations with a measure add to the previous indent
2165 may be prepended to the argument to subtract from the current indent
2168 The \[rs]w inline escape may be used to specify a text-dependent
2169 measure, in which case no
2176 .B .IR \[rs]w'jello'
2179 indents text by the width of the word
2185 indents by its last active value.
2187 See the brief explanation of how
2189 handles indents for more details.
2197 automatically cancels any active indents.
2203 automatically turns off
2209 .\" ======================================================================
2211 .\" ======================================================================
2213 .BI .L_MARGIN " <left margin>"
2219 L_MARGIN establishes the distance from the left edge of the printer
2220 sheet at which you want your type to start.
2222 It may be used any time, and remains in effect until you enter a new value.
2225 Left indents and tabs are calculated from the value you pass to
2227 hence it's always a good idea to invoke it before starting any serious
2230 A unit of measure is required.
2232 Decimal fractions are allowed.
2234 Therefore, to set the left margin at 3 picas (1/2 inch), you'd enter either
2248 If you use the macros
2255 (either before or afterwards),
2265 behaves in a special way when you're using the document processing
2271 .\" ======================================================================
2272 .\" MCO - BEGIN MULTI-COLUMN SETTING
2273 .\" ======================================================================
2276 Begin multi-column setting.
2281 .RI ( "Multi-Column On" )
2285 .IR "multi-column setting" .
2287 It marks the current baseline as the top of your columns, for use
2291 See the introduction to columns for an explanation of
2293 and some sample input.
2301 macro in the document processing macros.
2306 .\" ======================================================================
2307 .\" MCR - RETURN TO TOP OF COLUMN
2308 .\" ======================================================================
2316 at any time, returns you to the
2317 .IR "top of your columns".
2320 .\" ======================================================================
2321 .\" MCX - EXIT MULTI-COLUMNS
2322 .\" ======================================================================
2324 .BI "\%.MCX [ " "<distance to advance below longest column>" " ]"
2325 Optional argument requires a unit of measure.
2331 takes you out of any
2333 you were in (by silently invoking
2335 and advances to the bottom of the longest column.
2338 Without an argument,
2342 below the longest column.
2345 Linespace, in this instance, is the leading in effect at the moment
2356 below the longest column (see above)
2358 the distance specified by the argument.
2360 The argument requires a unit of measure; therefore, to advance an
2361 extra 6 points below where
2363 would normally place you, you'd enter
2372 If you wish to advance a precise distance below the baseline of the
2379 required) in conjunction with the
2389 The above advances to precisely
2391 below the baseline of the longest column.
2396 .\" ======================================================================
2397 .\" Start a new Page
2398 .\" ======================================================================
2405 Whenever you want to start a new page, use
2407 by itself with no argument.
2410 will finish up processing the current page and move you to the top of
2411 a new one (subject to the top margin set with
2417 .\" ======================================================================
2419 .\" ======================================================================
2421 .BI ".PAGE " <width> " [ " <length> " [ " <lm> " [ " <rm> " [ " \
2422 <tm> " [ " <bm> " ] ] ] ] ]"
2427 All arguments require a unit of measure
2431 If you're using the document processing macros,
2436 Otherwise, it should go at the top of a document, prior to any text.
2438 And remember, when you're using the document processing macros, top
2439 margin and bottom margin mean something slightly different than when
2440 you're using just the typesetting macros (see Top and bottom margins
2441 in document processing).
2445 lets you establish paper dimensions and page margins with a single
2448 The only required argument is page width.
2451 optional, but they must appear in order and you can't skip over
2459 refer to the left, right, top and bottom margins respectively.
2462 Assuming your page dimensions are 11 inches by 17 inches, and that's
2463 all you want to set, enter
2470 If you want to set the left margin as well, say, at 1 inch,
2472 would look like this:
2480 Now suppose you also want to set the top margin, say, at 1\(en1/2 inches.
2485 in the optional arguments, but you can't skip over any arguments,
2486 therefore to set the top margin, you must also give a right margin.
2490 macro would look like this:
2493 \f[CB].PAGE 11i 17i 1i 1i 1.5i
2495 required right---+ +---top margin
2503 is best used when you want a convenient way to tell
2505 just the dimensions of your printer sheet (width and length), or when
2506 you want to tell her everything about the page (dimensions and all the
2507 margins), for example
2510 .B .PAGE 8.5i 11i 45p 45p 45p 45p
2514 This sets up an 8\(12 by 11 inch page with margins of 45 points
2515 (5/8-inch) all around.
2518 Additionally, if you invoke
2520 with a top margin argument, any macros you invoke after
2522 will almost certainly move the baseline of the first line of text down
2531 immediately before entering any text, or, if it's feasible, make
2533 the last macro you invoke prior to entering text.
2538 on page dimensions and papersize for information on ensuring groff
2541 dimensions and margins.
2546 .\" ======================================================================
2548 .\" ======================================================================
2550 .BI .PAGELENGTH " <length of printer sheet>"
2553 how long your printer sheet is.
2563 your printer sheet is 11 inches long, you enter
2570 Please read the important note on page dimensions and papersize for
2571 information on ensuring groff respects your
2577 .\" ======================================================================
2579 .\" ======================================================================
2581 .BI .PAGEWIDTH " <width of printer sheet>"
2588 is the width of your printer sheet.
2592 requires a unit of measure.
2594 Decimal fractions are allowed.
2598 that the width of your printer sheet is 8\(12 inches, you enter
2606 Please read the Important note on page dimensions and papersize for
2607 information on ensuring groff respects your
2613 .\" ======================================================================
2615 .\" ======================================================================
2617 .BI .PAPER " <paper type>"
2618 provides a convenient way to set the page dimensions for some common
2619 printer sheet sizes.
2644 .\" ======================================================================
2645 .\" PT_SIZE - POINT SIZE OF TYPE
2646 .\" ======================================================================
2648 .BI .PT_SIZE " <size of type in points>"
2649 Point size of type, does not require a
2650 .IR "unit of measure" .
2656 .RI ( "Point Size" )
2657 takes one argument: the
2662 Unlike most other macros that establish the
2668 does not require that you supply a
2670 since it's a near universal convention that
2675 Therefore, to change the
2721 then later reset it to
2732 can also be changed inline.
2736 It is unfortunate that the
2738 preprocessor has already taken the name, PS, and thus
2744 However, if you aren't using
2746 you might want to alias
2750 since there'd be no conflict.
2755 .B .ALIAS PS PT_SIZE
2758 would allow you to set
2766 .\" ======================================================================
2768 .\" ======================================================================
2770 .BI .R_MARGIN " <right margin>"
2776 Requires a unit of measure.
2781 if used, must come after
2787 (if a right margin isn't given to PAGE).
2791 calculates line length from the overall page dimensions and the left margin.
2794 Obviously, it can't make the calculation if it doesn't know the page
2795 width and the left margin.
2799 establishes the amount of space you want between the end of typeset
2800 lines and the right hand edge of the printer sheet.
2802 In other words, it sets the line length.
2804 requires a unit of measure.
2806 Decimal fractions are allowed.
2809 The line length macro (LL) can be used in place of
2812 In either case, the last one invoked sets the line length.
2814 The choice of which to use is up to you.
2816 In some instances, you may find it easier to think of a section of
2817 type as having a right margin.
2819 In others, giving a line length may make more sense.
2822 For example, if you're setting a page of type you know should have
2823 6-pica margins left and right, it makes sense to enter a left and
2824 right margin, like this:
2833 That way, you don't have to worry about calculating the line
2836 On the other hand, if you know the line length for a patch of type
2837 should be 17 picas and 3 points, entering the line length with LL is
2838 much easier than calculating the right margin, e.g.\&
2846 If you use the macros
2860 If you set a line length after these macros (with
2862 the line length calculated by
2864 is, of course, overridden.
2869 behaves in a special way when you're using the document processing
2875 .\" ======================================================================
2876 .\" ST - Set String Tabs
2877 .\" ======================================================================
2879 .FONT B .ST I " <tab number> " B "L | R | C | J [ QUAD ]"
2885 have been marked off on an input line (see
2886 .BR \[rs]*[ST]\*[Ellipsis]\[rs]*[STX] ),
2889 them by giving them a direction and, optionally, the
2898 except that you don't have to give
2900 an indent or a line length (that's already taken care of, inline,
2902 .BR \[rs]*[ST]\*[Ellipsis]\[rs]*[STX] ).
2916 If you want it to be
2927 If you want it to be justified, enter
2937 .\" ======================================================================
2939 .\" ======================================================================
2941 .BI \%.TAB " <tab number>"
2944 have been defined (either with
2951 you pass it as an argument.
2968 breaks the line preceding it and advances 1 linespace.
2974 .B A line of text in tab 1.
2976 .B A line of text in tab 2.
2982 .B "A line of text in tab 1."
2983 .B " A line of text in tab 2."
2988 If you want the tabs to line up, use
2991 or, more conveniently, the inline escape \[rs]*[TB+]:
2995 A line of text in tab 1.\[rs]*[TB+]
2996 A line of text in tab 2.
3002 .B "A line of text in tab 1. A line of text in tab 2."
3007 If the text in your tabs runs to several lines, and you want the first
3008 lines of each tab to align, you must use the multi-column macros.
3012 Any indents in effect prior to calling a tab are automatically turned
3016 If you were happily zipping down the page with a left indent of
3018 turned on, and you call a
3020 whose indent from the left margin is
3022 your new distance from the
3027 I 6 picas plus the 2 pica
3032 are not by nature columnar, which is to say that if the text inside a
3034 runs to several lines, calling another
3036 does not automatically move to the baseline of the first line in the
3037 .IR "previous tab" .
3066 .\" ======================================================================
3067 .\" TB - Call Tabs Alias
3068 .\" ======================================================================
3070 .BI .TB " <tab number>"
3075 .\" ======================================================================
3076 .\" TI - TEMPORARY (LEFT) INDENT
3077 .\" ======================================================================
3079 .BI "\%.TI [" " <measure> " ]
3080 Temporary left indent \[em] the optional argument requires a
3086 A temporary indent is one that applies only to the first line of text
3087 that comes after it.
3089 Its chief use is indenting the first line of paragraphs.
3092 macro, for example, uses a
3093 .IR "temporary indent" .)
3096 The first time you invoke
3098 you must give it a measure.
3102 the first line of a paragraph by, say, 2 ems, do
3110 Subsequent invocations of
3112 do not require you to supply a measure;
3114 keeps track of the last measure you gave it.
3118 .I temporary indents
3119 are temporary, there's no need to turn them off.
3132 In the following example, the second
3139 .B The beginning of a paragraph\*[Ellipsis]
3141 .B The beginning of another paragraph\*[Ellipsis]
3149 .\" ======================================================================
3151 .\" ======================================================================
3167 without advancing on the page.
3171 in the description of the
3173 macro for an example of how
3180 that aren't given the
3182 argument when they're set up with
3186 you must terminate the line preceding
3192 Conversely, if you did give a
3199 .B \[rs]c must not be used.
3202 If you find remembering whether to put in the
3204 bothersome, you may prefer to use the inline escape alternative
3208 which works consistently regardless of the fill mode.
3212 You must put text in the input line immediately after
3219 In other words, you cannot do
3225 Some more text\[rs]c
3232 The above example, assuming
3244 Some more text\[rs]c
3252 \[rs]& is a zero-width, non-printing character that
3254 recognizes as valid input, hence meets the requirement for input text
3261 .\" ======================================================================
3263 .\" ======================================================================
3267 takes you out of whatever
3269 you were in, advances
3277 that were in effect prior to invoking any
3281 .\" ======================================================================
3283 .\" ======================================================================
3285 .BI .T_MARGIN " <top margin>"
3291 Requires a unit of measure
3295 establishes the distance from the top of the printer sheet at which
3296 you want your type to start.
3298 It requires a unit of measure, and decimal fractions are allowed.
3300 To set a top margin of 2\(12 centimetres, you'd enter
3308 calculates the vertical position of the first line of type on a page
3309 by treating the top edge of the printer sheet as a baseline.
3316 puts the baseline of the first line of type 1\(12 inches beneath the
3322 means something slightly different when you're using the document
3325 See Top and bottom margins in document processing for an explanation.
3330 does two things: it establishes the top margin for pages that come
3331 after it and it moves to that position on the current page.
3335 should only be used at the top of a file (prior to entering text) or
3336 after NEWPAGE, like this:
3348 .\" ====================================================================
3350 .\" ====================================================================
3353 .MT peter@\:schaffter.ca
3357 PDF support was provided by
3358 .MT deri@\:chuzzlewit.demon.co.uk
3362 The alphabetical documentation of macros and escape sequences in this
3363 man page were written by the
3368 .\" ====================================================================
3370 .\" ====================================================================
3372 .BR groff (@MAN1EXT@),
3373 .BR groff_mom (@MAN7EXT@),
3376 .I \%@HTMLDOCDIR@/\:mom/\:toc.html
3377 \[en] entry point to the HTML documentation
3380 .UR http://\:www.schaffter.ca/\:mom/\:momdoc/\:toc.html
3382 \[en] HTML documentation online
3385 .UR http://\:www.schaffter.ca/\:mom/
3387 \[en] the mom macros homepage
3390 .\" Restore compatibility mode (for, e.g., Solaris 10/11).
3394 .\" ====================================================================
3396 .\" ====================================================================
3398 .\" Local Variables:
3401 .\" vim: set filetype=groff: